aboutsummaryrefslogtreecommitdiff
path: root/src/server/game/Spells/SpellEffects.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/server/game/Spells/SpellEffects.cpp')
-rwxr-xr-xsrc/server/game/Spells/SpellEffects.cpp26
1 files changed, 13 insertions, 13 deletions
diff --git a/src/server/game/Spells/SpellEffects.cpp b/src/server/game/Spells/SpellEffects.cpp
index 59dac535bae..52fe71f6c8a 100755
--- a/src/server/game/Spells/SpellEffects.cpp
+++ b/src/server/game/Spells/SpellEffects.cpp
@@ -4480,18 +4480,16 @@ void Spell::EffectScriptEffect(SpellEffIndex effIndex)
}
// Plant Warmaul Ogre Banner
case 32307:
- {
- Player* p_caster = dynamic_cast<Player*>(m_caster);
- if (!p_caster)
- break;
- p_caster->RewardPlayerAndGroupAtEvent(18388, unitTarget);
- Creature* cTarget = dynamic_cast<Creature*>(unitTarget);
- if (!cTarget)
- break;
- cTarget->setDeathState(CORPSE);
- cTarget->RemoveCorpse();
+ if (Player* caster = m_caster->ToPlayer()))
+ {
+ caster->RewardPlayerAndGroupAtEvent(18388, unitTarget);
+ if (Creature* target = unitTarget->ToCreature())
+ {
+ target->setDeathState(CORPSE);
+ target->RemoveCorpse();
+ }
+ }
break;
- }
case 48025: // Headless Horseman's Mount
{
if (!unitTarget || unitTarget->GetTypeId() != TYPEID_PLAYER)
@@ -5076,8 +5074,10 @@ void Spell::EffectScriptEffect(SpellEffIndex effIndex)
{
if (Vehicle* seat = m_caster->GetVehicleKit())
{
- if (Creature* oldContainer = dynamic_cast<Creature*>(seat->GetPassenger(1)))
- oldContainer->DisappearAndDie();
+ if (Unit* passenger = seat->GetPassenger(1))
+ if (Creature* oldContainer = passenger->ToCreature())
+ oldContainer->DisappearAndDie();
+
// TODO: a hack, range = 11, should after some time cast, otherwise too far
m_caster->CastSpell(seat->GetBase(), 62496, true);
unitTarget->EnterVehicle(m_caster, 1);