diff options
Diffstat (limited to 'src/server/scripts/EasternKingdoms/Stratholme')
| -rw-r--r-- | src/server/scripts/EasternKingdoms/Stratholme/stratholme.cpp | 24 |
1 files changed, 14 insertions, 10 deletions
diff --git a/src/server/scripts/EasternKingdoms/Stratholme/stratholme.cpp b/src/server/scripts/EasternKingdoms/Stratholme/stratholme.cpp index 7208bbbee03..f12a9c33ea9 100644 --- a/src/server/scripts/EasternKingdoms/Stratholme/stratholme.cpp +++ b/src/server/scripts/EasternKingdoms/Stratholme/stratholme.cpp @@ -151,14 +151,15 @@ public: void SpellHit(Unit* caster, const SpellInfo* spell) { - if (caster->GetTypeId() == TYPEID_PLAYER) - { - if (!Tagged && spell->Id == SPELL_EGAN_BLASTER && CAST_PLR(caster)->GetQuestStatus(QUEST_RESTLESS_SOUL) == QUEST_STATUS_INCOMPLETE) - { - Tagged = true; - Tagger = caster->GetGUID(); - } - } + if (Tagged || spell->Id != SPELL_EGAN_BLASTER) + return; + + Player* player = caster->ToPlayer(); + if (!player || player->GetQuestStatus(QUEST_RESTLESS_SOUL) != QUEST_STATUS_INCOMPLETE) + return; + + Tagged = true; + Tagger = caster->GetGUID(); } void JustSummoned(Creature* summoned) @@ -180,10 +181,13 @@ public: { if (Unit* temp = Unit::GetUnit(*me, Tagger)) { - CAST_PLR(temp)->KilledMonsterCredit(ENTRY_RESTLESS, me->GetGUID()); + if (Player* player = temp->ToPlayer()) + player->KilledMonsterCredit(ENTRY_RESTLESS, me->GetGUID()); me->Kill(me); } - } else Die_Timer -= diff; + } + else + Die_Timer -= diff; } } }; |
