*Implement new LootMode system, and add some basic support in boss_sartharion.cpp. Requires database support.

--HG--
branch : trunk
This commit is contained in:
maximius
2009-10-28 16:31:19 -07:00
parent d5b8ad0080
commit f4d76b8216
10 changed files with 90 additions and 29 deletions
+9
View File
@@ -672,6 +672,13 @@ class TRINITY_DLL_SPEC GameObject : public WorldObject
LootState getLootState() const { return m_lootState; }
void SetLootState(LootState s) { m_lootState = s; }
uint16 GetLootMode() { return m_LootMode; }
bool HasLootMode(uint16 lootMode) { return m_LootMode & lootMode; }
void SetLootMode(uint16 lootMode) { m_LootMode = lootMode; }
void AddLootMode(uint16 lootMode) { m_LootMode |= lootMode; }
void RemoveLootMode(uint16 lootMode) { m_LootMode &= ~lootMode; }
void ResetLootMode() { m_LootMode = DEFAULT_LOOT_MODE; }
void AddToSkillupList(uint32 PlayerGuidLow) { m_SkillupList.push_back(PlayerGuidLow); }
bool IsInSkillupList(uint32 PlayerGuidLow) const
{
@@ -738,6 +745,8 @@ class TRINITY_DLL_SPEC GameObject : public WorldObject
GameObjectValue * const m_goValue;
uint64 m_rotation;
uint16 m_LootMode; // bitmask, default DEFAULT_LOOT_MODE, determines what loot will be lootable
private:
void SwitchDoorOrButton(bool activate, bool alternative = false);