From 66adaf5825b78c97974ce6534a2e00945d807377 Mon Sep 17 00:00:00 2001 From: click Date: Wed, 21 Jul 2010 15:49:47 +0200 Subject: 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 --- src/server/game/Entities/Pet/Pet.cpp | 6 ++++++ 1 file changed, 6 insertions(+) (limited to 'src') 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; -- cgit v1.2.3