aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorlinencloth <none@none>2010-09-14 00:09:58 +0200
committerlinencloth <none@none>2010-09-14 00:09:58 +0200
commit5bd9afb9fae241a72a69547d23525a31cfb914e0 (patch)
tree619ee86d9c15740f933c5f0a3c3f7ca47d8d04a2
parenta6efc4dad5d9d48b518c9b61704362cc03050f43 (diff)
Core: Prevent critters from rewarding XP.
Also avoid unnecessary XP rate calculations. --HG-- branch : trunk
-rw-r--r--src/server/game/Miscellaneous/Formulas.h6
1 files changed, 4 insertions, 2 deletions
diff --git a/src/server/game/Miscellaneous/Formulas.h b/src/server/game/Miscellaneous/Formulas.h
index 76f3c4e4d6a..3a88334c110 100644
--- a/src/server/game/Miscellaneous/Formulas.h
+++ b/src/server/game/Miscellaneous/Formulas.h
@@ -166,7 +166,8 @@ namespace Trinity
if (u->GetTypeId() == TYPEID_UNIT &&
(((Creature*)u)->isTotem() || ((Creature*)u)->isPet() ||
- (((Creature*)u)->GetCreatureInfo()->flags_extra & CREATURE_FLAG_EXTRA_NO_XP_AT_KILL)))
+ (((Creature*)u)->GetCreatureInfo()->flags_extra & CREATURE_FLAG_EXTRA_NO_XP_AT_KILL) ||
+ ((Creature*)u)->GetCreatureInfo()->type == CREATURE_TYPE_CRITTER))
gain = 0;
else
{
@@ -180,9 +181,10 @@ namespace Trinity
else
gain *= 2;
}
+
+ gain = uint32(gain * sWorld.getRate(RATE_XP_KILL));
}
- gain = uint32(gain * sWorld.getRate(RATE_XP_KILL));
sScriptMgr.OnGainCalculation(gain, pl, u);
return gain;
}