diff options
Diffstat (limited to 'src/game/TemporarySummon.cpp')
-rw-r--r-- | src/game/TemporarySummon.cpp | 26 |
1 files changed, 13 insertions, 13 deletions
diff --git a/src/game/TemporarySummon.cpp b/src/game/TemporarySummon.cpp index acf0dbc78ba..c87ad91ff90 100644 --- a/src/game/TemporarySummon.cpp +++ b/src/game/TemporarySummon.cpp @@ -176,10 +176,22 @@ void TempSummon::InitSummon(uint32 duration) if(m_type == TEMPSUMMON_MANUAL_DESPAWN) m_type = (duration == 0) ? TEMPSUMMON_DEAD_DESPAWN : TEMPSUMMON_TIMED_DESPAWN; + Unit* owner = GetSummoner(); + if(owner) + { + if(owner->GetTypeId()==TYPEID_UNIT && ((Creature*)owner)->IsAIEnabled) + ((Creature*)owner)->AI()->JustSummoned(this); + + if(GetCreatureInfo()->flags_extra & CREATURE_FLAG_EXTRA_TRIGGER && m_spells[0]) + { + setFaction(owner->getFaction()); + CastSpell(this, m_spells[0], false, 0, 0, m_summonerGUID); + } + } + if(!m_Properties) return; - Unit* owner = GetSummoner(); if(uint32 slot = m_Properties->Slot) { if(owner) @@ -194,18 +206,6 @@ void TempSummon::InitSummon(uint32 duration) } } - if(owner) - { - if(owner->GetTypeId()==TYPEID_UNIT && ((Creature*)owner)->IsAIEnabled) - ((Creature*)owner)->AI()->JustSummoned(this); - - if(GetCreatureInfo()->flags_extra & CREATURE_FLAG_EXTRA_TRIGGER && m_spells[0]) - { - setFaction(owner->getFaction()); - CastSpell(this, m_spells[0], false, 0, 0, m_summonerGUID); - } - } - if(m_Properties->Faction) setFaction(m_Properties->Faction); } |