diff options
| author | megamage <none@none.none> | 2011-11-28 14:05:25 -0500 |
|---|---|---|
| committer | megamage <none@none.none> | 2011-11-28 14:05:25 -0500 |
| commit | 529af3cd092972c2d5204308a5ba573bad8e0b1f (patch) | |
| tree | dc416a7353c359677807d8871c585ff2627ffccd /src/server/scripts/OutdoorPvP | |
| parent | cde7ea260eae5c7676411c848131f91e5648ec28 (diff) | |
Delete obj if it is not successfully added to grid. More to fix.
Diffstat (limited to 'src/server/scripts/OutdoorPvP')
| -rwxr-xr-x | src/server/scripts/OutdoorPvP/OutdoorPvPSI.cpp | 27 |
1 files changed, 18 insertions, 9 deletions
diff --git a/src/server/scripts/OutdoorPvP/OutdoorPvPSI.cpp b/src/server/scripts/OutdoorPvP/OutdoorPvPSI.cpp index 23477741ba1..bcdcc69181a 100755 --- a/src/server/scripts/OutdoorPvP/OutdoorPvPSI.cpp +++ b/src/server/scripts/OutdoorPvP/OutdoorPvPSI.cpp @@ -166,11 +166,15 @@ bool OutdoorPvPSI::HandleDropFlag(Player* player, uint32 spellId) if (!go->Create(sObjectMgr->GenerateLowGuid(HIGHGUID_GAMEOBJECT), SI_SILITHYST_MOUND, map, player->GetPhaseMask(), player->GetPositionX(), player->GetPositionY(), player->GetPositionZ(), player->GetOrientation(), 0, 0, 0, 0, 100, GO_STATE_READY)) { delete go; + return true; } - else + + go->SetRespawnTime(0); + + if (!map->AddToMap(go)) { - go->SetRespawnTime(0); - map->AddToMap(go); + delete go; + return true; } } } @@ -189,17 +193,22 @@ bool OutdoorPvPSI::HandleDropFlag(Player* player, uint32 spellId) Map* map = player->GetMap(); if (!map) { - delete go; - return true; - } + delete go; + return true; + } + if (!go->Create(sObjectMgr->GenerateLowGuid(HIGHGUID_GAMEOBJECT), SI_SILITHYST_MOUND, map, player->GetPhaseMask(), player->GetPositionX(), player->GetPositionY(), player->GetPositionZ(), player->GetOrientation(), 0, 0, 0, 0, 100, GO_STATE_READY)) { delete go; + return true; } - else + + go->SetRespawnTime(0); + + if (!map->AddToMap(go)) { - go->SetRespawnTime(0); - map->AddToMap(go); + delete go; + return true; } } } |
