diff options
Diffstat (limited to 'src/server')
| -rw-r--r-- | src/server/scripts/Spells/spell_generic.cpp | 8 | 
1 files changed, 3 insertions, 5 deletions
| diff --git a/src/server/scripts/Spells/spell_generic.cpp b/src/server/scripts/Spells/spell_generic.cpp index 9971cc20d4c..ec5fd6c378b 100644 --- a/src/server/scripts/Spells/spell_generic.cpp +++ b/src/server/scripts/Spells/spell_generic.cpp @@ -2802,17 +2802,15 @@ class spell_gen_seaforium_blast : public SpellScript      bool Load() override      { -        // OriginalCaster is always available in Spell::prepare -        return GetOriginalCaster()->GetTypeId() == TYPEID_PLAYER; +        return GetGObjCaster()->GetOwnerGUID().IsPlayer();      }      void AchievementCredit(SpellEffIndex /*effIndex*/)      { -        // but in effect handling OriginalCaster can become nullptr -        if (Unit* originalCaster = GetOriginalCaster()) +        if (Unit* owner = GetGObjCaster()->GetOwner())              if (GameObject* go = GetHitGObj())                  if (go->GetGOInfo()->type == GAMEOBJECT_TYPE_DESTRUCTIBLE_BUILDING) -                    originalCaster->CastSpell(originalCaster, SPELL_PLANT_CHARGES_CREDIT_ACHIEVEMENT, true); +                    owner->CastSpell(nullptr, SPELL_PLANT_CHARGES_CREDIT_ACHIEVEMENT, true);      }      void Register() override | 
