aboutsummaryrefslogtreecommitdiff
path: root/src/server/game/Entities
diff options
context:
space:
mode:
authorShauren <shauren.trinity@gmail.com>2013-02-13 20:24:23 +0100
committerShauren <shauren.trinity@gmail.com>2013-02-13 20:24:23 +0100
commitca280dbe051f2d9c43bbda128a6aa6bc19d8149f (patch)
treeafe94cf06814420b2752e516e19891a6259ddc76 /src/server/game/Entities
parentd926ad63c037457198cec8a28a86863643d92dc6 (diff)
Core/Loot: Only 3 items of the same entry can drop on 25 man raid difficulties and 1 everywhere else (non-raid or 10 man)
Diffstat (limited to 'src/server/game/Entities')
-rw-r--r--src/server/game/Entities/Creature/Creature.cpp4
-rw-r--r--src/server/game/Entities/GameObject/GameObject.cpp4
2 files changed, 8 insertions, 0 deletions
diff --git a/src/server/game/Entities/Creature/Creature.cpp b/src/server/game/Entities/Creature/Creature.cpp
index 93d4796f21a..220bc4378ae 100644
--- a/src/server/game/Entities/Creature/Creature.cpp
+++ b/src/server/game/Entities/Creature/Creature.cpp
@@ -289,6 +289,10 @@ bool Creature::InitEntry(uint32 Entry, uint32 /*team*/, const CreatureData* data
--diff;
}
+ // Initialize loot duplicate count depending on raid difficulty
+ if (GetMap()->IsRaid() && GetMap()->GetSpawnMode() & RAID_DIFFICULTY_MASK_25MAN)
+ loot.maxDuplicates = 3;
+
SetEntry(Entry); // normal entry always
m_creatureInfo = cinfo; // map mode related always
diff --git a/src/server/game/Entities/GameObject/GameObject.cpp b/src/server/game/Entities/GameObject/GameObject.cpp
index bf0fbb4199d..61e7943453e 100644
--- a/src/server/game/Entities/GameObject/GameObject.cpp
+++ b/src/server/game/Entities/GameObject/GameObject.cpp
@@ -258,6 +258,10 @@ bool GameObject::Create(uint32 guidlow, uint32 name_id, Map* map, uint32 phaseMa
LastUsedScriptID = GetGOInfo()->ScriptId;
AIM_Initialize();
+ // Initialize loot duplicate count depending on raid difficulty
+ if (map->IsRaid() && map->GetSpawnMode() & RAID_DIFFICULTY_MASK_25MAN)
+ loot.maxDuplicates = 3;
+
return true;
}