From abf374d3cfc81d168479dbc25a039083750f06a3 Mon Sep 17 00:00:00 2001 From: aozhiwei Date: Mon, 22 Apr 2024 20:40:33 +0800 Subject: [PATCH] 1 --- server/gameserver/attrdefine.h | 25 ++++++++++++------------- server/gameserver/creature.cc | 5 +++-- 2 files changed, 15 insertions(+), 15 deletions(-) diff --git a/server/gameserver/attrdefine.h b/server/gameserver/attrdefine.h index de69647e..c322469c 100644 --- a/server/gameserver/attrdefine.h +++ b/server/gameserver/attrdefine.h @@ -38,19 +38,18 @@ A8_DECLARE_ENUM(HumanAttrType_e, kHAT_pCritRateIn = 34, kHAT_vCriPro = 35, kHAT_vCriBon = 36, - kHAT_vSpeed = 37, - kHAT_vSpeedRateIn = 38, - kHAT_vHaste = 39, - kHAT_vDrain = 40, - kHAT_vTenacity = 41, - kHAT_vDamageTakenRateIn = 42, - kHAT_vDamageDealtRateIn = 43, - kHAT_vNormalDamageTakenRateIn = 44, - kHAT_vNormalDamageDealtRateIn = 45, - kHAT_vSkillDamageTakenRateIn = 46, - kHAT_vSkillDamageDealtRateIn = 47, - kHAT_vHealthGainRateIn = 48, - kHAT_vHealDealtRateIn = 49, + kHAT_vSpeedRateIn = 37, + kHAT_vHaste = 38, + kHAT_vDrain = 39, + kHAT_vTenacity = 40, + kHAT_vDamageTakenRateIn = 41, + kHAT_vDamageDealtRateIn = 42, + kHAT_vNormalDamageTakenRateIn = 43, + kHAT_vNormalDamageDealtRateIn = 44, + kHAT_vSkillDamageTakenRateIn = 45, + kHAT_vSkillDamageDealtRateIn = 46, + kHAT_vHealthGainRateIn = 47, + kHAT_vHealDealtRateIn = 48, kHAT_Hold = 55, kHAT_End diff --git a/server/gameserver/creature.cc b/server/gameserver/creature.cc index 28a6f91a..2140c387 100644 --- a/server/gameserver/creature.cc +++ b/server/gameserver/creature.cc @@ -3339,6 +3339,7 @@ float Creature::GetSafeAreaRaidus() float Creature::GetSpeed() { float speed = InternalGetSpeed(); + speed = speed * (1.0f + GetAbility()->GetAttr(kHAT_vSpeedRateIn)); return speed; } @@ -3418,8 +3419,8 @@ float Creature::InternalGetSpeed() if (ruduce > 0.00001f) { ruduce = 1.0f - ruduce; } - addition += GetAbility()->GetAttrAddition(kHAT_vSpeed); - ruduce = std::max(ruduce, GetAbility()->GetAttrRuduce(kHAT_vSpeed)); + addition += GetAbility()->GetAttrAddition(kHAT_vSpeedRateIn); + ruduce = std::max(ruduce, GetAbility()->GetAttrRuduce(kHAT_vSpeedRateIn)); float rate = addition - ruduce; finaly_speed *= 1.0f + rate; #ifdef MYDEBUG