aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/game/Map.cpp1
-rw-r--r--src/game/Player.cpp5
2 files changed, 4 insertions, 2 deletions
diff --git a/src/game/Map.cpp b/src/game/Map.cpp
index 132a61a4f8d..65e45ba62b8 100644
--- a/src/game/Map.cpp
+++ b/src/game/Map.cpp
@@ -1107,6 +1107,7 @@ void Map::RemoveAllPlayers()
{
if(HavePlayers())
{
+ // this is happening for bg
sLog.outError("Map::UnloadAll: there are still players in the instance at unload, should not happen!");
for(MapRefManager::iterator itr = m_mapRefManager.begin(); itr != m_mapRefManager.end(); ++itr)
diff --git a/src/game/Player.cpp b/src/game/Player.cpp
index 333b5c426d9..1fc04b4051f 100644
--- a/src/game/Player.cpp
+++ b/src/game/Player.cpp
@@ -7818,8 +7818,9 @@ void Player::SendLoot(uint64 guid, LootType loot_type)
bones->lootForBody = true;
uint32 pLevel = bones->loot.gold;
bones->loot.clear();
- if(GetBattleGround()->GetTypeID() == BATTLEGROUND_AV)
- loot->FillLoot(1, LootTemplates_Creature, this, true);
+ if(BattleGround *bg = GetBattleGround())
+ if(bg->GetTypeID() == BATTLEGROUND_AV)
+ loot->FillLoot(1, LootTemplates_Creature, this, true);
// It may need a better formula
// Now it works like this: lvl10: ~6copper, lvl70: ~9silver
bones->loot.gold = (uint32)( urand(50, 150) * 0.016f * pow( ((float)pLevel)/5.76f, 2.5f) * sWorld.getRate(RATE_DROP_MONEY) );