diff options
author | click <none@none> | 2010-07-21 15:49:47 +0200 |
---|---|---|
committer | click <none@none> | 2010-07-21 15:49:47 +0200 |
commit | 66adaf5825b78c97974ce6534a2e00945d807377 (patch) | |
tree | 3ed00ff68899671201c95906e8624f5644384a4d | |
parent | 04fd9ac4ce0d474c764b194fb0057dc149803810 (diff) |
Fix: Make stabled pets follow official regulations for levelling when taken out of stabled mode:
If the pet is more than five levels below the hunter, then as soon as it's removed from the stable it will level up to be exactly five levels below the hunter.
--HG--
branch : trunk
-rw-r--r-- | src/server/game/Entities/Pet/Pet.cpp | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/src/server/game/Entities/Pet/Pet.cpp b/src/server/game/Entities/Pet/Pet.cpp index 7e122adc8c1..9a8a5f58e40 100644 --- a/src/server/game/Entities/Pet/Pet.cpp +++ b/src/server/game/Entities/Pet/Pet.cpp @@ -2002,6 +2002,12 @@ void Pet::SynchronizeLevelWithOwner() SetUInt32Value(UNIT_FIELD_PETNEXTLEVELEXP, objmgr.GetXPForLevel(owner->getLevel())/5); SetUInt32Value(UNIT_FIELD_PETEXPERIENCE, GetUInt32Value(UNIT_FIELD_PETNEXTLEVELEXP)-1); } + if (getLevel() < owner->getLevel()-5) + { + GivePetLevel(owner->getLevel()-5); + SetUInt32Value(UNIT_FIELD_PETNEXTLEVELEXP, objmgr.GetXPForLevel(owner->getLevel()-5)/5); + SetUInt32Value(UNIT_FIELD_PETEXPERIENCE, GetUInt32Value(UNIT_FIELD_PETNEXTLEVELEXP)-1); + } break; default: break; |