From ff0b3136ee28798845e76692ac70c97404f5f379 Mon Sep 17 00:00:00 2001 From: aozhiwei Date: Tue, 17 Aug 2021 03:11:07 +0000 Subject: [PATCH] 1 --- server/gameserver/creature.cc | 24 +++++++++++------------- server/gameserver/metamgr.cc | 2 +- 2 files changed, 12 insertions(+), 14 deletions(-) diff --git a/server/gameserver/creature.cc b/server/gameserver/creature.cc index 21a1286..89bd1b7 100644 --- a/server/gameserver/creature.cc +++ b/server/gameserver/creature.cc @@ -781,6 +781,16 @@ bool Creature::CanUseSkill(int skill_id) if (!skill) { return false; } + if (room->GetGasData().gas_mode == GasInactive && + !MetaMgr::Instance()->prebattle_can_use_skill) { + return false; + } + if (HasBuffEffect(kBET_Vertigo) || + HasBuffEffect(kBET_Jump) || + HasBuffEffect(kBET_Fly) || + HasBuffEffect(kBET_Sprint)) { + return false; + } if (skill->force_use_times > 0) { --skill->force_use_times; return true; @@ -803,19 +813,9 @@ void Creature::DoSkill(int skill_id, float skill_distance, const a8::Vec2& target_pos) { - if (room->GetGasData().gas_mode == GasInactive && - !MetaMgr::Instance()->prebattle_can_use_skill) { - return; - } - if (HasBuffEffect(kBET_Vertigo) || - HasBuffEffect(kBET_Jump) || - HasBuffEffect(kBET_Fly) || - HasBuffEffect(kBET_Sprint)) { - return; - } - DoSkillPreProc(skill_id, target_id, target_pos); Skill* skill = GetSkill(skill_id); if (skill && CanUseSkill(skill_id)) { + DoSkillPreProc(skill_id, target_id, target_pos); ResetSkill(); skill_target_id_ = target_id; skill_target_pos_ = target_pos; @@ -875,8 +875,6 @@ void Creature::DoSkill(int skill_id, ptr.Attach(this); room->frame_event.AddPlaySkill(ptr, skill_id); } - } else { - DoSkillPostProc(false, skill_id, target_id, target_pos); } } diff --git a/server/gameserver/metamgr.cc b/server/gameserver/metamgr.cc index aaecf9e..da52b05 100644 --- a/server/gameserver/metamgr.cc +++ b/server/gameserver/metamgr.cc @@ -250,7 +250,7 @@ public: METAMGR_READ(incubator_rand_length, 10); METAMGR_READ(incubator_canset_distance, 520); - METAMGR_READ(prebattle_can_use_skill, 0); + METAMGR_READ(prebattle_can_use_skill, 1); METAMGR_READ(refresh_view_time, 4); {