aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorariel- <ariel-@users.noreply.github.com>2018-03-18 16:08:36 -0300
committerShauren <shauren.trinity@gmail.com>2021-09-19 22:20:30 +0200
commit6d3a11e1d1f849d1594a76f184ec2af6eb601fef (patch)
treecf8529fe607d702e4fa6984d1c8ad23268428c0e /src
parentc8d7289245c0d60f25f355452574c1258baa7380 (diff)
Scripts/Spells: fix Seaforium Blast script crash
Closes #21663 (cherry picked from commit 6eb122792cb1446a35752c6f62dd0febb6387671)
Diffstat (limited to 'src')
-rw-r--r--src/server/scripts/Spells/spell_generic.cpp8
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