-
Notifications
You must be signed in to change notification settings - Fork 470
[Feature] Implemented /shield ability and related affects #1494
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merged
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Akkadius
reviewed
Aug 10, 2021
Akkadius
reviewed
Aug 10, 2021
Akkadius
reviewed
Aug 10, 2021
Akkadius
reviewed
Aug 10, 2021
Akkadius
reviewed
Aug 10, 2021
Akkadius
reviewed
Aug 10, 2021
Akkadius
reviewed
Aug 10, 2021
Left a few comments; there's merge conflicts as well. You're just pumping these out like the good ol days! <3 |
Akkadius
reviewed
Aug 13, 2021
We chatted async in DM's on some pointer feedback; will loop back after iteration |
This reverts commit 27e11e7.
Catch and fix situations where shield target doesn't have shielder variable cleared. Can occur if shielder . uses ability when target is not in combat then zones.
Shield now uses a common pathway through ShieldAbility, added parameters to perl function
Akkadius
reviewed
Aug 16, 2021
Akkadius
reviewed
Aug 16, 2021
Akkadius
reviewed
Aug 16, 2021
Akkadius
reviewed
Aug 16, 2021
Took care of a bunch of syntax and typo things |
Akkadius
approved these changes
Aug 16, 2021
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
8/10/21
Better late than never!
Implemented the /shield ability.
/shield command mechanics
Warriors get this skill at level 30
Used by typing /shield while targeting a player
While active for the duration of 12 seconds baseline. The 'shield target' will take 50 pct less damage and the 'shielder' will be hit with the damage taken by the 'shield target' after all applicable mitigation is calculated. The damage on the 'shielder' will be reduced by 25 percent, this reduction can be increased to 50 pct if equipping a shield. You receive a 1% increase in mitigation for every 2 AC on the shield. Shielder must stay with in a close distance (15 units) to your 'shield target'. If either move out of range, shield ends, no message given (how live does it). Both duration and shield range can be modified by AA. Recast is 3 minutes.
Example: Wizard is being hit by npc who normally is hitting for 100 max hit. Warrior shields Wizard. NPC now hits Wizard for 100 damage, since shielded, the Wizard takes 50 damage and the Warrior takes 75 damage (without a shield equipped)
Perl quest function added that can be used to allow this ability to be used on any player/npc with maximum flexibility.
Perl_croak(aTHX_ "Usage: Mob::ShieldAbility(THIS, uint32 target_id, [int32 max_shielder_distance = 15], [int32 shield_duration = 12000], [int32 shield_target_mitigation= 50], [int32 shielder_mitigation = 50], [bool use_aa = false], bool [can_shield_npc = true]");
Implemented SE_ExtendedShielding 230
extends the range of your /shield ability by an amount of distance, base: distance units, limit: none, max: none
Implemented SE_ShieldDuration 255
extends the duration of your /shield ability, base: seconds, limit: none, max: none
Implemented SE_PetShield 210
allows pet to 'shield' owner for 50 pct of damage taken for a duration
base: Time multiplier 1=12 seconds, 2=24 ect),
limit: mitigation on pet owner override (not on live) - Added to allow for more flexibility, if set to zero will get default behavior
max: mitigation on pet override (not on live) - Added to allow for more flexibility, if set to zero will get default behavior
Mages have this his AA in our database named 'Shared Health'. It will now be functional.