aboutsummaryrefslogtreecommitdiff
path: root/src/server/game/Events/GameEventMgr.cpp
diff options
context:
space:
mode:
authorjoschiwald <joschiwald.trinity@gmail.com>2018-01-27 21:47:37 +0100
committerjoschiwald <joschiwald.trinity@gmail.com>2018-01-27 23:02:46 +0100
commit6226189a1687e1a2b4fb5a490031c22b5f334dc6 (patch)
treed48fbc4a586203c0c4ae3721697d3428773e9e00 /src/server/game/Events/GameEventMgr.cpp
parentf963b8a225a70e7007536d5d4787483a2cade978 (diff)
Core/Entities: Created factory methods to create new areatriggers, creatures and gameobjects
Diffstat (limited to 'src/server/game/Events/GameEventMgr.cpp')
-rw-r--r--src/server/game/Events/GameEventMgr.cpp22
1 files changed, 8 insertions, 14 deletions
diff --git a/src/server/game/Events/GameEventMgr.cpp b/src/server/game/Events/GameEventMgr.cpp
index 916001a3e20..27d03e7c002 100644
--- a/src/server/game/Events/GameEventMgr.cpp
+++ b/src/server/game/Events/GameEventMgr.cpp
@@ -1217,12 +1217,7 @@ void GameEventMgr::GameEventSpawn(int16 event_id)
Map* map = sMapMgr->CreateBaseMap(data->mapid);
// We use spawn coords to spawn
if (!map->Instanceable() && map->IsGridLoaded(data->posX, data->posY))
- {
- Creature* creature = new Creature();
- //TC_LOG_DEBUG("misc", "Spawning creature %u", *itr);
- if (!creature->LoadCreatureFromDB(*itr, map))
- delete creature;
- }
+ Creature::CreateCreatureFromDB(*itr, map);
}
}
@@ -1245,15 +1240,14 @@ void GameEventMgr::GameEventSpawn(int16 event_id)
// We use current coords to unspawn, not spawn coords since creature can have changed grid
if (!map->Instanceable() && map->IsGridLoaded(data->posX, data->posY))
{
- GameObject* pGameobject = new GameObject;
- //TC_LOG_DEBUG("misc", "Spawning gameobject %u", *itr);
- /// @todo find out when it is add to map
- if (!pGameobject->LoadGameObjectFromDB(*itr, map, false))
- delete pGameobject;
- else
+ if (GameObject* go = GameObject::CreateGameObjectFromDB(*itr, map, false))
{
- if (pGameobject->isSpawnedByDefault())
- map->AddToMap(pGameobject);
+ /// @todo find out when it is add to map
+ if (go->isSpawnedByDefault())
+ {
+ if (!map->AddToMap(go))
+ delete go;
+ }
}
}
}