From 31646952f45851a5061e2a0c608867ad5a6de21c Mon Sep 17 00:00:00 2001 From: aozhiwei Date: Tue, 20 Jul 2021 06:02:29 +0000 Subject: [PATCH] =?UTF-8?q?=E5=87=BB=E9=80=80ok?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- server/gameserver/buff.cc | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/server/gameserver/buff.cc b/server/gameserver/buff.cc index 5ca2c5aa..acbdf113 100644 --- a/server/gameserver/buff.cc +++ b/server/gameserver/buff.cc @@ -80,7 +80,7 @@ void Buff::ProcBatchAddBuff() std::shared_ptr old_context_ability = owner->context_ability; a8::Vec2 old_context_dir = owner->context_dir; a8::Vec2 old_context_pos = owner->context_pos; - owner->context_dir = owner->GetAttackDir()(); + owner->context_dir = owner->GetAttackDir(); owner->context_pos = owner->GetPos(); for (auto& tuple : meta->batch_add_list) { @@ -570,7 +570,17 @@ void Buff::ProcAutoShot() void Buff::ProcBeatBack() { - + if (caster_.Get()) { + if (std::abs(caster_.Get()->context_dir.x) > FLT_EPSILON || + std::abs(caster_.Get()->context_dir.x) > FLT_EPSILON) { + if (std::abs(meta->int_param1) > 0) { + a8::Vec2 old_move_dir = owner->GetMoveDir(); + owner->SetMoveDir(caster_.Get()->context_dir); + owner->_UpdateMove(meta->param1); + owner->SetMoveDir(old_move_dir); + } + } + } } void Buff::ProcDisperse()