Core/Totem: Immune to all positive spells. (#25326)

* Core/Totem: Immune to all positive spells.

* Fix tabs

* Avoid using magic numbers

* Remove whitespace

Co-authored-by: Moki <moki.play@mail.ru>
This commit is contained in:
Houston
2020-09-02 17:41:34 +03:00
committed by GitHub
parent 470f45db7a
commit 8d0f52247f
2 changed files with 11 additions and 3 deletions

View File

@@ -157,9 +157,13 @@ void Totem::UnSummon(uint32 msTime)
bool Totem::IsImmunedToSpellEffect(SpellInfo const* spellInfo, uint32 index, WorldObject const* caster) const
{
/// @todo possibly all negative auras immune?
if (GetEntry() == 5925)
return false;
// immune to all positive spells, except of stoneclaw totem absorb and sentry totem bind sight
// totems positive spells have unit_caster target
if (spellInfo->Effects[index].Effect != SPELL_EFFECT_DUMMY &&
spellInfo->Effects[index].Effect != SPELL_EFFECT_SCRIPT_EFFECT &&
spellInfo->IsPositive() && spellInfo->Effects[index].TargetA.GetTarget() != TARGET_UNIT_CASTER &&
spellInfo->Effects[index].TargetA.GetCheckType() != TARGET_CHECK_ENTRY && spellInfo->Id != SENTRY_STONECLAW_SPELLID && spellInfo->Id != SENTRY_BIND_SIGHT_SPELLID)
return true;
switch (spellInfo->Effects[index].ApplyAuraName)
{

View File

@@ -31,6 +31,10 @@ enum TotemType
#define SENTRY_TOTEM_ENTRY 3968
// Totems spells
#define SENTRY_STONECLAW_SPELLID 55277
#define SENTRY_BIND_SIGHT_SPELLID 6277
class TC_GAME_API Totem : public Minion
{
public: