* Fixed corpse looting in wintergrasp
Added corpse loot for wintergrasp quests and To the Looter Go the Spoils (1166) achievement
Don't generate money for loot if no loot mode is available
Simplified few things
(cherrypicked from 2412886ef6)
* When iterating groups we have to either do it not in multithreaded context (map updates) or start with checking maps (they are guaranteed to change in single thread update).
* Properly clear ComboPoint references on player remove
* remove some possible references item may have when it is deleted during save.
* Also clear all hostile references when unit is removed from map.
(cherrypicked from 86da1a19bb)
* Core/Loot: Fix master looting of conditional items
follow_loot_rules was a flag intended to force certain quest items to be
master looted. It should not be used for the
NonQuestNonFFAConditionalLoot.
The flag was originally introduced in 869ea349
"Core/Loot: fix the way quest items are handled. so far ive only found 3
quest items that should be able to be masterlooted. added a new flag to
item_template.flagsCustom to allow for making a quest item always follow
loot rules. a bonus may be the fix of the handlelootmasteropcode crash!"
* Core/Loot: Rename QuestItem to NotNormalItem
QuestItem struct was being used for quest items, ffa items, and
conditional items. Renaming it to avoid confusion when working with ffa
and conditional items
* Core/Loot: Use existing AddAllowedLooter rather than reaching into allowedGUIDs directly
* Core/Loot: Rename NotNormalItem to NotNormalLootItem
(cherry picked from commit f5d3343f27)
# Conflicts:
# src/server/game/Entities/Item/Item.cpp
# src/server/game/Loot/LootMgr.cpp
# src/server/game/Loot/LootMgr.h
Turns out epic and legendary items are excluded from this limitation (or it could be just instanced content that is immune to this). Other qualities are affected as normal. Sorry for the mishap.
(cherry picked from commit fffeae0da2)
Core/Loot: revert unique item check introduced in ea69115.
Proven to be wrong in its current form. Will reintroduce later either in the same method or via db conditions.
(cherry picked from commit 41445e0d3e)
* Mostly aimed at removing Log/DatabaseEnv includes from other headers
* Fix most packet headers including other packet headers - moved common structures such as ItemInstance to their own files
* Moved SAI function definitions to source files (massive or requiring many different dependencies)