fix(Core): fix chests not despawning when opened in group (2) (#5387)

* fix(Core): fix chests not despawning when opened in group

* fix(Core): fix crashes in pr #5371

* Replaced nullptr checks

* Used if with initializer instead of separate scope
This commit is contained in:
Axel Cocat
2021-05-01 07:03:59 +02:00
committed by GitHub
parent 414296af06
commit f70ed8b8ca
3 changed files with 13 additions and 0 deletions

View File

@@ -1493,6 +1493,16 @@ void Group::CountTheRoll(Rolls::iterator rollI, Map* allowedMap)
item->is_blocked = false;
}
if (Loot* loot = roll->getLoot(); loot && loot->isLooted() && loot->sourceGameObject)
{
const GameObjectTemplate* goInfo = loot->sourceGameObject->GetGOInfo();
if (goInfo && goInfo->type == GAMEOBJECT_TYPE_CHEST)
{
// Deactivate chest if the last item was rolled in group
loot->sourceGameObject->SetLootState(GO_JUST_DEACTIVATED);
}
}
RollId.erase(rollI);
delete roll;
}