From f107f9f8eb4098b0d481dfafdef5429df943308c Mon Sep 17 00:00:00 2001 From: Rat Date: Tue, 26 Jan 2010 11:06:46 +0100 Subject: *finalized basic hard-lootmode defines -DB devs should stick with lootmode 2,4,8,16 for hardmode loots (use as bitmask) -and lootmode 1 as default --HG-- branch : trunk --- src/game/Creature.h | 4 ++-- src/game/GameObject.h | 4 ++-- src/game/LootMgr.cpp | 2 +- src/game/LootMgr.h | 2 +- src/game/SharedDefines.h | 11 +++++++++-- src/scripts/northrend/obsidian_sanctum/boss_sartharion.cpp | 12 ++++++------ 6 files changed, 21 insertions(+), 14 deletions(-) (limited to 'src') diff --git a/src/game/Creature.h b/src/game/Creature.h index ad8dfc2b01c..58974fe0c83 100644 --- a/src/game/Creature.h +++ b/src/game/Creature.h @@ -551,7 +551,7 @@ class TRINITY_DLL_SPEC Creature : public Unit, public GridObject 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 ResetLootMode() { m_LootMode = LOOT_MODE_DEFAULT; } SpellEntry const *reachWithSpellAttack(Unit *pVictim); SpellEntry const *reachWithSpellCure(Unit *pVictim); @@ -709,7 +709,7 @@ class TRINITY_DLL_SPEC Creature : public Unit, public GridObject CreatureInfo const* m_creatureInfo; // in difficulty mode > 0 can different from ObjMgr::GetCreatureTemplate(GetEntry()) CreatureData const* m_creatureData; - uint16 m_LootMode; // bitmask, default DEFAULT_LOOT_MODE, determines what loot will be lootable + uint16 m_LootMode; // bitmask, default LOOT_MODE_DEFAULT, determines what loot will be lootable private: //WaypointMovementGenerator vars diff --git a/src/game/GameObject.h b/src/game/GameObject.h index dd0b3508b36..104263154db 100644 --- a/src/game/GameObject.h +++ b/src/game/GameObject.h @@ -687,7 +687,7 @@ class TRINITY_DLL_SPEC GameObject : public WorldObject, public GridObject -// default loot mode for creatures and gameobjects -#define DEFAULT_LOOT_MODE 1 +// loot modes for creatures and gameobjects, bitmask! +enum LootModes +{ + LOOT_MODE_DEFAULT = 1, + LOOT_MODE_HARD_MODE_1 = 2, + LOOT_MODE_HARD_MODE_2 = 4, + LOOT_MODE_HARD_MODE_3 = 8, + LOOT_MODE_HARD_MODE_4 = 16 +}; enum Gender { diff --git a/src/scripts/northrend/obsidian_sanctum/boss_sartharion.cpp b/src/scripts/northrend/obsidian_sanctum/boss_sartharion.cpp index 13d7502606f..01c13b84f83 100644 --- a/src/scripts/northrend/obsidian_sanctum/boss_sartharion.cpp +++ b/src/scripts/northrend/obsidian_sanctum/boss_sartharion.cpp @@ -274,12 +274,12 @@ struct TRINITY_DLL_DECL boss_sartharionAI : public ScriptedAI // AddDrakeLootMode() should only ever be called from FetchDragons(), which is called from Aggro() void AddDrakeLootMode() { - if (m_creature->HasLootMode(4)) // Has two Drake loot modes - m_creature->AddLootMode(8); // Add 3rd Drake loot mode - else if (m_creature->HasLootMode(2)) // Has one Drake loot mode - m_creature->AddLootMode(4); // Add 2nd Drake loot mode - else // Has no Drake loot modes - m_creature->AddLootMode(2); // Add 1st Drake loot mode + if (m_creature->HasLootMode(LOOT_MODE_HARD_MODE_2)) // Has two Drake loot modes + m_creature->AddLootMode(LOOT_MODE_HARD_MODE_3); // Add 3rd Drake loot mode + else if (m_creature->HasLootMode(LOOT_MODE_HARD_MODE_1)) // Has one Drake loot mode + m_creature->AddLootMode(LOOT_MODE_HARD_MODE_2); // Add 2nd Drake loot mode + else // Has no Drake loot modes + m_creature->AddLootMode(LOOT_MODE_HARD_MODE_1); // Add 1st Drake loot mode } void FetchDragons() -- cgit v1.2.3