aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/bindings/scripts/scripts/zone/azuremyst_isle/azuremyst_isle.cpp2
-rw-r--r--src/bindings/scripts/scripts/zone/caverns_of_time/hyjal/hyjalAI.cpp4
-rw-r--r--src/bindings/scripts/scripts/zone/coilfang_resevoir/serpent_shrine/boss_leotheras_the_blind.cpp5
-rw-r--r--src/bindings/scripts/scripts/zone/sunwell_plateau/boss_kiljaeden.cpp4
-rw-r--r--src/bindings/scripts/scripts/zone/vault_of_archavon/boss_emalon.cpp8
-rw-r--r--src/game/Creature.h6
6 files changed, 16 insertions, 13 deletions
diff --git a/src/bindings/scripts/scripts/zone/azuremyst_isle/azuremyst_isle.cpp b/src/bindings/scripts/scripts/zone/azuremyst_isle/azuremyst_isle.cpp
index f023b443e00..ae17df0d0c2 100644
--- a/src/bindings/scripts/scripts/zone/azuremyst_isle/azuremyst_isle.cpp
+++ b/src/bindings/scripts/scripts/zone/azuremyst_isle/azuremyst_isle.cpp
@@ -517,7 +517,7 @@ struct TRINITY_DLL_DECL npc_geezleAI : public ScriptedAI
{
//TODO: Found how to despawn and respawn
if(despawn)
- (*itr)->RemoveFromWorld();
+ (*itr)->Delete();
else
(*itr)->Respawn();
}
diff --git a/src/bindings/scripts/scripts/zone/caverns_of_time/hyjal/hyjalAI.cpp b/src/bindings/scripts/scripts/zone/caverns_of_time/hyjal/hyjalAI.cpp
index c323dd55010..e130030f5a8 100644
--- a/src/bindings/scripts/scripts/zone/caverns_of_time/hyjal/hyjalAI.cpp
+++ b/src/bindings/scripts/scripts/zone/caverns_of_time/hyjal/hyjalAI.cpp
@@ -730,7 +730,7 @@ void hyjalAI::DeSpawnVeins()
for (uint8 i = 0; i<7; i++)
{
if (GameObject* gem = pInstance->instance->GetGameObject(pInstance->GetData64(ai->VeinGUID[i])))
- gem->RemoveFromWorld();
+ gem->Delete();
}
}else if (Faction)
{
@@ -741,7 +741,7 @@ void hyjalAI::DeSpawnVeins()
for (uint8 i = 7; i<14; i++)
{
if(GameObject* gem = pInstance->instance->GetGameObject(pInstance->GetData64(ai->VeinGUID[i])))
- gem->RemoveFromWorld();
+ gem->Delete();
}
}
}
diff --git a/src/bindings/scripts/scripts/zone/coilfang_resevoir/serpent_shrine/boss_leotheras_the_blind.cpp b/src/bindings/scripts/scripts/zone/coilfang_resevoir/serpent_shrine/boss_leotheras_the_blind.cpp
index 582129fe3c2..1765599d666 100644
--- a/src/bindings/scripts/scripts/zone/coilfang_resevoir/serpent_shrine/boss_leotheras_the_blind.cpp
+++ b/src/bindings/scripts/scripts/zone/coilfang_resevoir/serpent_shrine/boss_leotheras_the_blind.cpp
@@ -209,9 +209,8 @@ struct TRINITY_DLL_DECL boss_leotheras_the_blindAI : public ScriptedAI
{
for(uint8 i = 0; i < 3; i++)
{
- Creature *add = Unit::GetCreature(*m_creature,SpellBinderGUID[i]);
- if (add)
- add->RemoveFromWorld();
+ if(Creature *add = Unit::GetCreature(*m_creature,SpellBinderGUID[i]))
+ add->DisappearAndDie();
float nx = x;
float ny = y;
diff --git a/src/bindings/scripts/scripts/zone/sunwell_plateau/boss_kiljaeden.cpp b/src/bindings/scripts/scripts/zone/sunwell_plateau/boss_kiljaeden.cpp
index 360ae55bd5e..a3c663d663f 100644
--- a/src/bindings/scripts/scripts/zone/sunwell_plateau/boss_kiljaeden.cpp
+++ b/src/bindings/scripts/scripts/zone/sunwell_plateau/boss_kiljaeden.cpp
@@ -282,7 +282,7 @@ bool GOHello_go_orb_of_the_blue_flight(Player *plr, GameObject* go)
if(Dyn){
Dyn->GetPosition(dx,dy,dz);
if(x == dx && dy == y && dz == z){
- Dyn->RemoveFromWorld();
+ Dyn->Delete();
break;
}
}
@@ -369,7 +369,7 @@ struct TRINITY_DLL_DECL boss_kalecgos_kjAI : public ScriptedAI
if(Dyn){
Dyn->GetPosition(dx,dy,dz);
if(x == dx && dy == y && dz == z){
- Dyn->RemoveFromWorld();
+ Dyn->Delete();
break;
}
}
diff --git a/src/bindings/scripts/scripts/zone/vault_of_archavon/boss_emalon.cpp b/src/bindings/scripts/scripts/zone/vault_of_archavon/boss_emalon.cpp
index 2cbe082c358..1a6de139bf3 100644
--- a/src/bindings/scripts/scripts/zone/vault_of_archavon/boss_emalon.cpp
+++ b/src/bindings/scripts/scripts/zone/vault_of_archavon/boss_emalon.cpp
@@ -64,9 +64,8 @@ struct TRINITY_DLL_DECL boss_emalonAI : public ScriptedAI
{
for(std::list<uint64>::const_iterator itr = MinionList.begin(); itr != MinionList.end(); itr++)
{
- Unit *Minion = Unit::GetUnit(*m_creature, (*itr));
- if(Minion)
- Minion->RemoveFromWorld();
+ if(Creature *Minion = Unit::GetCreature(*m_creature, (*itr)))
+ Minion->DisappearAndDie();
}
}
@@ -220,8 +219,7 @@ struct TRINITY_DLL_DECL mob_tempest_minionAI : public ScriptedAI
void JustDied(Unit* Killer)
{
- m_creature->RemoveCorpse();
- m_creature->RemoveFromWorld();
+ m_creature->DisappearAndDie();
if(Emalon)
{
boss_emalonAI::SummonMinion(Emalon, Emalon->GetPositionX(), Emalon->GetPositionY(), Emalon->GetPositionZ(), Emalon->GetOrientation());
diff --git a/src/game/Creature.h b/src/game/Creature.h
index 2c882cad949..61202b4769b 100644
--- a/src/game/Creature.h
+++ b/src/game/Creature.h
@@ -490,6 +490,12 @@ class TRINITY_DLL_SPEC Creature : public Unit
void AddToWorld();
void RemoveFromWorld();
+ void DisappearAndDie()
+ {
+ SetVisibility(VISIBILITY_OFF);
+ setDeathState(JUST_DIED);
+ }
+
bool Create(uint32 guidlow, Map *map, uint32 phaseMask, uint32 Entry, uint32 team, float x, float y, float z, float ang, const CreatureData *data = NULL);
bool LoadCreaturesAddon(bool reload = false);
void SelectLevel(const CreatureInfo *cinfo);