From 7c51eeabc4c789712e8e6a85a5ea04cb8567a26e Mon Sep 17 00:00:00 2001 From: aozhiwei Date: Thu, 29 Sep 2022 15:26:33 +0800 Subject: [PATCH] 1 --- server/gameserver/bullet.cc | 11 ++++++++--- server/gameserver/bullet.h | 1 + 2 files changed, 9 insertions(+), 3 deletions(-) diff --git a/server/gameserver/bullet.cc b/server/gameserver/bullet.cc index f2fa4273..5cb28cf5 100644 --- a/server/gameserver/bullet.cc +++ b/server/gameserver/bullet.cc @@ -36,7 +36,7 @@ void Bullet::Initialize() ability_ = sender.Get()->GetAbility(); is_curr_weapon = sender.Get()->GetCurrWeapon()->meta == gun_meta; create_frameno_ = room->GetFrameNo(); - if (gun_meta->i->equip_subtype() == GUN_SUB_EQUIP_TYPE_FLY_HOOk) { + if (IsFlyHook()) { int buff_uniid = sender.Get()->TryAddBuff(sender.Get(), kVertigoBuffId); if (buff_uniid) { Buff* buff = sender.Get()->GetBuffByUniId(buff_uniid); @@ -75,7 +75,7 @@ void Bullet::OnHit(std::set& objects) sender.Get()->context_dir = dir; sender.Get()->context_pos = GetPos(); - if (gun_meta->i->equip_subtype() == GUN_SUB_EQUIP_TYPE_FLY_HOOk) { + if (IsFlyHook()) { if (sender.Get() && !sender.Get()->dead) { for (auto& target : objects) { ProcFlyHook(target); @@ -606,7 +606,7 @@ void Bullet::Check(float distance) } } if (need_remove) { - if (gun_meta->i->equip_subtype() == GUN_SUB_EQUIP_TYPE_FLY_HOOk) { + if (IsFlyHook()) { if (!hited) { sender.Get()->IncDisableMoveTimes(); sender.Get()->IncDisableAttackDirTimes(); @@ -855,3 +855,8 @@ void Bullet::TriggerHitBuff(Entity* e) } } } + +bool Bullet::IsFlyHook() +{ + return gun_meta->i->equip_subtype() == GUN_SUB_EQUIP_TYPE_FLY_HOOk; +} diff --git a/server/gameserver/bullet.h b/server/gameserver/bullet.h index 6565d2d5..98f0fb04 100644 --- a/server/gameserver/bullet.h +++ b/server/gameserver/bullet.h @@ -48,6 +48,7 @@ class Bullet : public MoveableEntity void ForceRemove(); void OnHit(std::set& objects); void TriggerHitBuff(Entity* e); + bool IsFlyHook(); protected: Bullet();