1218 {
1219 if (aurEff->GetTotalTicks() > 0 && aurEff->GetTickNumber() ==
uint32(aurEff->GetTotalTicks()) - 1)
1220 {
1223 if (!target || !caster || !caster->
IsCreature())
1224 return;
1225
1227 {
1228 if (
Unit* caster2 = aur->GetCaster())
1229 {
1230 if (caster2->IsCreature())
1231 {
1232 caster2->ToCreature()->DespawnOrUnsummon();
1233 }
1234 }
1236 return;
1237 }
1239 {
1242 {
1245 }
1246 }
1248 {
1250 {
1253 }
1254 }
1255 }
1256 }
std::uint32_t uint32
Definition Define.h:107
@ TEMPSUMMON_TIMED_OR_CORPSE_DESPAWN
Definition Object.h:50
@ TEMPSUMMON_CORPSE_TIMED_DESPAWN
Definition Object.h:54
@ SPELL_FLASH_FREEZE_TRAPPED_PLAYER
Definition boss_hodir.cpp:42
@ SPELL_FLASH_FREEZE_INSTAKILL
Definition boss_hodir.cpp:41
@ SPELL_FLASH_FREEZE_TRAPPED_NPC
Definition boss_hodir.cpp:43
@ NPC_FLASH_FREEZE_NPC
Definition boss_hodir.cpp:109
@ NPC_FLASH_FREEZE_PLR
Definition boss_hodir.cpp:108
Unit * GetCaster() const
Definition SpellScript.cpp:1035
Unit * GetTarget() const
Definition SpellScript.cpp:1180
Definition SpellAuras.h:87
virtual void JustSummoned(Creature *)
Definition CreatureAI.h:149
CreatureAI * AI() const
Definition Creature.h:143
bool IsPlayer() const
Definition Object.h:201
bool IsCreature() const
Definition Object.h:205
Creature * ToCreature()
Definition Object.h:206
virtual void SetData(uint32, uint32)
Definition UnitAI.h:219
Aura * GetAura(uint32 spellId, ObjectGuid casterGUID=ObjectGuid::Empty, ObjectGuid itemCasterGUID=ObjectGuid::Empty, uint8 reqEffMask=0) const
Definition Unit.cpp:5842
SpellCastResult CastSpell(SpellCastTargets const &targets, SpellInfo const *spellInfo, CustomSpellValues const *value, TriggerCastFlags triggerFlags=TRIGGERED_NONE, Item *castItem=nullptr, AuraEffect const *triggeredByAura=nullptr, ObjectGuid originalCaster=ObjectGuid::Empty)
Definition Unit.cpp:1350
TempSummon * SummonCreature(uint32 id, const Position &pos, TempSummonType spwtype=TEMPSUMMON_MANUAL_DESPAWN, uint32 despwtime=0, uint32 vehId=0, SummonPropertiesEntry const *properties=nullptr, bool visibleBySummonerOnly=false) const
Definition Object.cpp:2394
float GetPositionZ() const
Definition Position.h:123
float GetPositionX() const
Definition Position.h:121
float GetPositionY() const
Definition Position.h:122