From d065bbf410429371bbd4b3f60cfac02fec28a473 Mon Sep 17 00:00:00 2001 From: Machiavelli Date: Wed, 10 Jun 2009 00:41:29 +0200 Subject: * When checking if players are eligible for reward after killing a creature, check for minimum of 50% of 'cur_health' prior to combat rather than max health. Fixes Murmur loot issue. --HG-- branch : trunk --- src/game/Creature.cpp | 1 + src/game/Creature.h | 5 +++-- 2 files changed, 4 insertions(+), 2 deletions(-) (limited to 'src') diff --git a/src/game/Creature.cpp b/src/game/Creature.cpp index 7f249b36fbd..b3e735aa2de 100644 --- a/src/game/Creature.cpp +++ b/src/game/Creature.cpp @@ -154,6 +154,7 @@ m_creatureInfo(NULL), m_reactState(REACT_AGGRESSIVE), m_formation(NULL), m_summo m_unit_movement_flags = MOVEMENTFLAG_WALK_MODE; DisableReputationGain = false; ResetDamageByPlayers(); + m_MinPlayerDamageReq = (uint32)(m_creature->GetHealth / m_creature->GetMaxHealth * 50); } Creature::~Creature() diff --git a/src/game/Creature.h b/src/game/Creature.h index 6c966f50aea..13e6479cf0d 100644 --- a/src/game/Creature.h +++ b/src/game/Creature.h @@ -722,10 +722,11 @@ class TRINITY_DLL_SPEC Creature : public Unit void SetDisableReputationGain(bool disable) { DisableReputationGain = disable; } bool IsReputationGainDisabled() { return DisableReputationGain; } - bool IsDamageEnoughForLootingAndReward() { return m_unDamageByPlayers >= (uint32)(GetMaxHealth() / 2); } + bool IsDamageEnoughForLootingAndReward() { return m_unDamageByPlayers >= m_MinPlayerDamageReq; } void AddDamageByPlayers(uint32 unDamage) { m_unDamageByPlayers += unDamage; } void ResetDamageByPlayers() { m_unDamageByPlayers = 0; } - + uint32 m_MinPlayerDamageReq; + void SetOriginalEntry(uint32 entry) { m_originalEntry = entry; } protected: -- cgit v1.2.3