diff --git a/server/gameserver/creature.cc b/server/gameserver/creature.cc index 5c72ea19..3625519c 100644 --- a/server/gameserver/creature.cc +++ b/server/gameserver/creature.cc @@ -3224,8 +3224,8 @@ float Creature::GetSpeed() if (ruduce > 0.00001f) { ruduce = 1.0f - ruduce; } - addition += GetAbility()->GetAttrAddition(kXHAT_Speed); - ruduce = std::max(ruduce, GetAbility()->GetAttrRuduce(kXHAT_Speed)); + addition += GetAbility()->GetAttrAddition(kNHAT_vSpeed); + ruduce = std::max(ruduce, GetAbility()->GetAttrRuduce(kNHAT_vSpeed)); float rate = addition - ruduce; finaly_speed *= 1.0f + rate; #ifdef MYDEBUG diff --git a/server/gameserver/mt/Buff.cc b/server/gameserver/mt/Buff.cc index 95afa29e..8c3f9280 100644 --- a/server/gameserver/mt/Buff.cc +++ b/server/gameserver/mt/Buff.cc @@ -395,18 +395,21 @@ namespace mt } break; case kBET_ModifyBaseAttr: - { - AddCheckAttrBuff(_int_buff_param1, this); - } - break; case kBET_ModifyGrowAttr: - { - AddCheckAttrBuff(_int_buff_param1, this); - } - break; case kBET_DirectSetAttr: { AddCheckAttrBuff(_int_buff_param1, this); + switch (_int_buff_param1) { + case kXHAT_Speed: + { + _int_buff_param1 = kNHAT_vSpeed; + } + break; + default: + { + } + break; + } } break; default: