This commit is contained in:
aozhiwei 2023-02-28 19:32:33 +08:00
parent c5d37f6d18
commit 3d7c285c44
4 changed files with 12 additions and 8 deletions

View File

@ -45,6 +45,7 @@
#include "buff/use_skill.h" #include "buff/use_skill.h"
#include "buff/invincible.h" #include "buff/invincible.h"
#include "buff/modify_attr.h" #include "buff/modify_attr.h"
#include "buff/vertigo.h"
#include "mt/Buff.h" #include "mt/Buff.h"
@ -133,6 +134,8 @@ Buff* BuffFactory::MakeBuff(const mt::Buff* buff_meta)
return new InvincibleBuff(); return new InvincibleBuff();
case kBET_ModifyAttr: case kBET_ModifyAttr:
return new ModifyBuff(); return new ModifyBuff();
case kBET_Vertigo:
return new VertigoBuff();
default: default:
return new Buff(); return new Buff();
} }

View File

@ -205,6 +205,7 @@ int Creature::AddBuff(Creature* caster,
} }
if (buff->meta->lock_move()) { if (buff->meta->lock_move()) {
IncDisableMoveTimes(); IncDisableMoveTimes();
GetMovement()->ClearPath();
} }
if (buff->meta->lock_dir()) { if (buff->meta->lock_dir()) {
IncDisableAttackDirTimes(); IncDisableAttackDirTimes();

View File

@ -476,7 +476,7 @@ float Human::GetSpeed()
{ {
Buff* buff = GetBuffByEffectId(kBET_HoldShield); Buff* buff = GetBuffByEffectId(kBET_HoldShield);
if (buff) { if (buff) {
return buff->meta->_buff_param1; return buff->meta->_buff_param3;
} }
} }
{ {

View File

@ -110,16 +110,16 @@ void Movement::CalcTargetPos(float distance)
point.tar_pos.GetZ() < 0) { point.tar_pos.GetZ() < 0) {
abort(); abort();
} }
#ifdef DEBUG1 #ifdef DEBUG
if (owner_->IsPlayer()) { if (owner_->IsPlayer()) {
a8::XPrintf("CalcTargetPos src_pos:%f,%f,%f tar_pos:%f,%f,%f is_hit:%d start:%f,%f,%f end:%f,%f,%f distance:%f src_distance:%f\n", a8::XPrintf("CalcTargetPos src_pos:%f,%f,%f tar_pos:%f,%f,%f is_hit:%d start:%f,%f,%f end:%f,%f,%f distance:%f src_distance:%f\n",
{ {
point.src_pos.x, point.src_pos.GetX(),
point.src_pos.y, point.src_pos.GetY(),
point.src_pos.z, point.src_pos.GetZ(),
point.tar_pos.x, point.tar_pos.GetX(),
point.tar_pos.y, point.tar_pos.GetY(),
point.tar_pos.z, point.tar_pos.GetZ(),
hit_result ? 1 : 0, hit_result ? 1 : 0,
start.x, start.x,