diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/bindings/scripts/scripts/zone/magisters_terrace/boss_priestess_delrissa.cpp | 3 | ||||
-rw-r--r-- | src/game/Object.cpp | 11 | ||||
-rw-r--r-- | src/game/Object.h | 1 |
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); |