From ddd37b719fe0964b6ea08a3e5e285f50ad2125bb Mon Sep 17 00:00:00 2001 From: click Date: Fri, 17 Dec 2010 19:25:48 +0300 Subject: [PATCH] [10885] Hunter pet can't have < owner-5 level Signed-off-by: VladimirMangos Also make tame time check call safe. --- src/game/Pet.cpp | 4 +++- src/game/Unit.cpp | 3 ++- src/shared/revision_nr.h | 2 +- 3 files changed, 6 insertions(+), 3 deletions(-) diff --git a/src/game/Pet.cpp b/src/game/Pet.cpp index d1ded96d8..47d30fcd8 100644 --- a/src/game/Pet.cpp +++ b/src/game/Pet.cpp @@ -2022,8 +2022,10 @@ void Pet::SynchronizeLevelWithOwner() break; // can't be greater owner level case HUNTER_PET: - if(getLevel() > owner->getLevel()) + if (getLevel() > owner->getLevel()) GivePetLevel(owner->getLevel()); + else if (getLevel() + 5 < owner->getLevel()) + GivePetLevel(owner->getLevel() - 5); break; default: break; diff --git a/src/game/Unit.cpp b/src/game/Unit.cpp index e4c8e1e1a..b3fe8696d 100644 --- a/src/game/Unit.cpp +++ b/src/game/Unit.cpp @@ -10418,7 +10418,8 @@ Pet* Unit::CreateTamedPetFrom(Creature* creatureTarget,uint32 spell_id) if(IsFFAPvP()) pet->SetFFAPvP(true); - uint32 level = (creatureTarget->getLevel() < (getLevel() - 5)) ? (getLevel() - 5) : creatureTarget->getLevel(); + // level of hunter pet can't be less owner level at 5 levels + uint32 level = creatureTarget->getLevel() + 5 < getLevel() ? (getLevel() - 5) : creatureTarget->getLevel(); if(!pet->InitStatsForLevel(level)) { diff --git a/src/shared/revision_nr.h b/src/shared/revision_nr.h index 4f8ca6cfb..8fdfa7416 100644 --- a/src/shared/revision_nr.h +++ b/src/shared/revision_nr.h @@ -1,4 +1,4 @@ #ifndef __REVISION_NR_H__ #define __REVISION_NR_H__ - #define REVISION_NR "10884" + #define REVISION_NR "10885" #endif // __REVISION_NR_H__