aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/bindings/scripts/scripts/zone/magisters_terrace/boss_priestess_delrissa.cpp3
-rw-r--r--src/game/Object.cpp11
-rw-r--r--src/game/Object.h1
3 files changed, 10 insertions, 5 deletions
diff --git a/src/bindings/scripts/scripts/zone/magisters_terrace/boss_priestess_delrissa.cpp b/src/bindings/scripts/scripts/zone/magisters_terrace/boss_priestess_delrissa.cpp
index 7b5e17ab991..fa96e43f015 100644
--- a/src/bindings/scripts/scripts/zone/magisters_terrace/boss_priestess_delrissa.cpp
+++ b/src/bindings/scripts/scripts/zone/magisters_terrace/boss_priestess_delrissa.cpp
@@ -97,9 +97,8 @@ struct TRINITY_DLL_DECL boss_priestess_delrissaAI : public ScriptedAI
boss_priestess_delrissaAI(Creature* c) : ScriptedAI(c)
{
pInstance = ((ScriptedInstance*)c->GetInstanceData());
- Adds.clear();
- Reset();
SummonAdds();
+ Reset();
Heroic = c->GetMap()->IsHeroic();
}
diff --git a/src/game/Object.cpp b/src/game/Object.cpp
index d84e2b7c07e..eeedcc05188 100644
--- a/src/game/Object.cpp
+++ b/src/game/Object.cpp
@@ -1623,6 +1623,11 @@ Map* WorldObject::GetMap() const
return MapManager::Instance().GetMap(GetMapId(), this);
}
+Map* WorldObject::FindMap() const
+{
+ return MapManager::Instance().FindMap(GetMapId(), GetInstanceId());
+}
+
Map const* WorldObject::GetBaseMap() const
{
return MapManager::Instance().GetBaseMap(GetMapId());
@@ -1694,13 +1699,14 @@ TempSummon *Map::SummonCreature(uint32 entry, float x, float y, float z, float a
TempSummon* WorldObject::SummonCreature(uint32 entry, float x, float y, float z, float ang, TempSummonType spwtype, uint32 duration)
{
- if(!IsInWorld())
+ Map *map = FindMap();
+ if(!map)
return NULL;
if (x == 0.0f && y == 0.0f && z == 0.0f)
GetClosePoint(x, y, z, GetObjectSize());
- TempSummon *pCreature = GetMap()->SummonCreature(entry, x, y, z, ang, NULL, duration, GetTypeId() == TYPEID_UNIT ? (Unit*)this : NULL);
+ TempSummon *pCreature = map->SummonCreature(entry, x, y, z, ang, NULL, duration, GetTypeId() == TYPEID_UNIT ? (Unit*)this : NULL);
if(!pCreature)
return NULL;
@@ -1817,7 +1823,6 @@ Pet* Player::SummonPet(uint32 entry, float x, float y, float z, float ang, PetTy
pet->GetCharmInfo()->SetPetNumber(pet_number, false);
pet->AIM_Initialize();
-
map->Add((Creature*)pet);
pet->setPowerType(POWER_MANA);
diff --git a/src/game/Object.h b/src/game/Object.h
index f40b05f351b..808de3f26d5 100644
--- a/src/game/Object.h
+++ b/src/game/Object.h
@@ -506,6 +506,7 @@ class TRINITY_DLL_SPEC WorldObject : public Object
void SendPlaySound(uint32 Sound, bool OnlySelf);
Map * GetMap() const;
+ Map * FindMap() const;
Map const* GetBaseMap() const;
TempSummon* SummonCreature(uint32 id, float x, float y, float z, float ang,TempSummonType spwtype,uint32 despwtime);
Vehicle* SummonVehicle(uint32 entry, float x, float y, float z, float ang);