diff options
author | joschiwald <joschiwald.trinity@gmail.com> | 2018-01-27 21:47:37 +0100 |
---|---|---|
committer | joschiwald <joschiwald.trinity@gmail.com> | 2018-01-27 23:02:46 +0100 |
commit | 6226189a1687e1a2b4fb5a490031c22b5f334dc6 (patch) | |
tree | d48fbc4a586203c0c4ae3721697d3428773e9e00 /src/server/game/Events/GameEventMgr.cpp | |
parent | f963b8a225a70e7007536d5d4787483a2cade978 (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.cpp | 22 |
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; + } } } } |