战斗前开启技能使用

This commit is contained in:
aozhiwei 2021-08-16 09:08:54 +00:00
parent d64d12e503
commit c1b4cc293f
5 changed files with 11 additions and 9 deletions

View File

@ -803,7 +803,12 @@ void Creature::DoSkill(int skill_id,
float skill_distance, float skill_distance,
const a8::Vec2& target_pos) const a8::Vec2& target_pos)
{ {
if (HasBuffEffect(kBET_Jump) || 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_Fly) ||
HasBuffEffect(kBET_Sprint)) { HasBuffEffect(kBET_Sprint)) {
return; return;

View File

@ -250,6 +250,8 @@ public:
METAMGR_READ(incubator_rand_length, 10); METAMGR_READ(incubator_rand_length, 10);
METAMGR_READ(incubator_canset_distance, 520); METAMGR_READ(incubator_canset_distance, 520);
METAMGR_READ(prebattle_can_use_skill, 0);
METAMGR_READ(refresh_view_time, 4); METAMGR_READ(refresh_view_time, 4);
{ {
METAMGR_READ_STR(level0room_spec_things, ""); METAMGR_READ_STR(level0room_spec_things, "");

View File

@ -178,6 +178,8 @@ class MetaMgr : public a8::Singleton<MetaMgr>
int prebattle_box_id_chiji = 0; int prebattle_box_id_chiji = 0;
int prebattle_box_id_zb = 0; int prebattle_box_id_zb = 0;
int prebattle_can_use_skill = 0;
private: private:
MetaDataLoader* loader_ = nullptr; MetaDataLoader* loader_ = nullptr;

View File

@ -440,13 +440,6 @@ void Player::UpdateSwitchSeat()
void Player::UpdateUseSkill() void Player::UpdateUseSkill()
{ {
if (HasBuffEffect(kBET_Vertigo)) {
return;
}
if (room->GetGasData().gas_mode == GasInactive ||
room->GetGasData().gas_mode == GasJump) {
return;
}
DoSkill(use_skill_id, skill_target_id, skill_dir, skill_distance, a8::Vec2()); DoSkill(use_skill_id, skill_target_id, skill_dir, skill_distance, a8::Vec2());
use_skill = false; use_skill = false;
} }

View File

@ -2416,7 +2416,7 @@ ObstacleData* Room::GetPermanentObstacleData(int obstacle_uniid)
long long Room::GetGasInactiveTime() long long Room::GetGasInactiveTime()
{ {
#ifdef DEBUG #ifdef DEBUG
return 10; return f8::IsOnlineEnv() ? 10 : 30;
#endif #endif
if (room_mode_ == kZombieMode) { if (room_mode_ == kZombieMode) {
#if DEBUG #if DEBUG