mirror of
https://github.com/EQEmu/Server.git
synced 2026-04-04 01:52:26 +00:00
Fix NPC/Pet haste caps
This commit is contained in:
parent
bc348dadad
commit
7d12382333
19
zone/mob.cpp
19
zone/mob.cpp
@ -3397,13 +3397,18 @@ int Mob::GetHaste()
|
|||||||
else // 1-25
|
else // 1-25
|
||||||
h += itembonuses.haste > 10 ? 10 : itembonuses.haste;
|
h += itembonuses.haste > 10 ? 10 : itembonuses.haste;
|
||||||
|
|
||||||
// 60+ 100, 51-59 85, 1-50 level+25
|
// mobs are different!
|
||||||
if (level > 59) // 60+
|
Mob *owner = nullptr;
|
||||||
cap = RuleI(Character, HasteCap);
|
if (IsPet())
|
||||||
else if (level > 50) // 51-59
|
owner = GetOwner();
|
||||||
cap = 85;
|
else if (IsNPC() && CastToNPC()->GetSwarmTarget())
|
||||||
else // 1-50
|
owner = entity_list.GetMobID(CastToNPC()->GetSwarmOwner());
|
||||||
cap = level + 25;
|
if (owner) {
|
||||||
|
cap = 110;
|
||||||
|
cap += std::max(0, owner->GetLevel() - 39) + std::max(0, owner->GetLevel() - 60);
|
||||||
|
} else {
|
||||||
|
cap = 250;
|
||||||
|
}
|
||||||
|
|
||||||
if(h > cap)
|
if(h > cap)
|
||||||
h = cap;
|
h = cap;
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user