mirror of
https://github.com/EQEmu/Server.git
synced 2026-05-19 13:28:25 +00:00
[Spells] Implemented SPA 463 SE_SHIELD_TARGET (#4224)
SPA 463 SE_SHIELD_TARGET Live description: "Shields your target, taking a percentage of their damage". Only example spell on live is an NPC who uses it during a raid event "Laurion's Song" expansion. SPA 54492 'Guardian Stance' Described as 100% Melee Shielding Example of mechanic. Base value = 70. Caster puts buff on target. Each melee hit Buff Target takes 70% less damage, Buff Caster receives 30% of the melee damage. Added mechanic to cause buff to fade if target or caster are separated by a distance greater than the casting range of the spell. This allows similar mechanics to the /shield ability, without a range removal mechanic it would be too easy to abuse if put on a player spell. *can not confirm live does this currently Can not be cast on self.
This commit is contained in:
@@ -863,6 +863,14 @@ bool Mob::DoCastingChecksOnTarget(bool check_on_casting, int32 spell_id, Mob *sp
|
||||
}
|
||||
}
|
||||
}
|
||||
/*
|
||||
Cannot cast shield target on self
|
||||
*/
|
||||
if (this == spell_target && IsEffectInSpell(spell_id, SE_Shield_Target)) {
|
||||
LogSpells("You cannot shield yourself");
|
||||
Message(Chat::SpellFailure, "You cannot shield yourself.");
|
||||
return false;
|
||||
}
|
||||
/*
|
||||
Cannot cast life tap on self
|
||||
*/
|
||||
|
||||
Reference in New Issue
Block a user