1
This commit is contained in:
parent
4a25186c2f
commit
ff0b3136ee
@ -781,6 +781,16 @@ bool Creature::CanUseSkill(int skill_id)
|
|||||||
if (!skill) {
|
if (!skill) {
|
||||||
return false;
|
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) {
|
if (skill->force_use_times > 0) {
|
||||||
--skill->force_use_times;
|
--skill->force_use_times;
|
||||||
return true;
|
return true;
|
||||||
@ -803,19 +813,9 @@ void Creature::DoSkill(int skill_id,
|
|||||||
float skill_distance,
|
float skill_distance,
|
||||||
const a8::Vec2& target_pos)
|
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);
|
Skill* skill = GetSkill(skill_id);
|
||||||
if (skill && CanUseSkill(skill_id)) {
|
if (skill && CanUseSkill(skill_id)) {
|
||||||
|
DoSkillPreProc(skill_id, target_id, target_pos);
|
||||||
ResetSkill();
|
ResetSkill();
|
||||||
skill_target_id_ = target_id;
|
skill_target_id_ = target_id;
|
||||||
skill_target_pos_ = target_pos;
|
skill_target_pos_ = target_pos;
|
||||||
@ -875,8 +875,6 @@ void Creature::DoSkill(int skill_id,
|
|||||||
ptr.Attach(this);
|
ptr.Attach(this);
|
||||||
room->frame_event.AddPlaySkill(ptr, skill_id);
|
room->frame_event.AddPlaySkill(ptr, skill_id);
|
||||||
}
|
}
|
||||||
} else {
|
|
||||||
DoSkillPostProc(false, skill_id, target_id, target_pos);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -250,7 +250,7 @@ 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(prebattle_can_use_skill, 1);
|
||||||
|
|
||||||
METAMGR_READ(refresh_view_time, 4);
|
METAMGR_READ(refresh_view_time, 4);
|
||||||
{
|
{
|
||||||
|
Loading…
x
Reference in New Issue
Block a user