* 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)
- SPELL_AURA_MOD_TOTAL_THREAT should be temporary and not added/subtracted from total, only computed
- Cleanup of reference related code
- Kill getLast() and reverse iterator obsevers, LinkedList iterator can't be used as a standard reverse_iterator (ie with operator++). They weren't used anyways
(cherry picked from commit 3b6fd226be)
# Conflicts:
# src/server/game/Combat/ThreatManager.cpp
# src/server/game/Loot/LootMgr.h
* 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)
"Round Robin and the old "Group Loot" option were removed in 7.0.3, since they were almost entirely unused. Loot options are now: Group Loot, Master Loot (if in a guild party), Personal Loot, and Free For All"
* Fixed Item::SetModifier to broadcast value updates
* Generate base item upgrade when looting
* Generate base item upgrade when loading from db and db2 data changed