mirror of
https://github.com/TrinityCore/TrinityCore.git
synced 2026-01-31 06:07:37 +01:00
Scripts/Spells: fix Seaforium Blast script crash
Closes #21663
(cherry picked from commit 6eb122792c)
This commit is contained in:
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user