This commit is contained in:
aozhiwei 2022-10-25 18:28:23 +08:00
parent a38c7b3fa6
commit d619f8308a

View File

@ -1038,8 +1038,12 @@ void Creature::ProcSkillPhase(MetaData::SkillPhase* phase)
int buff_id1 = phase->param3_ints.size() > 0 ? phase->param3_ints[0] : 0;
int buff_id2 = phase->param3_ints.size() > 1 ? phase->param3_ints[1] : 0;
int buff_id3 = phase->param3_ints.size() > 2 ? phase->param3_ints[2] : 0;
MetaData::Skill* skill_meta = CurrentSkill()->meta;
TryAddBuff(this, buff_id1);
int land_effect_buff_uniid = TryAddBuff(this, buff_id3);
int land_effect_buff_uniid = TryAddBuffAndSetTime
(this,
buff_id3,
skill_meta->number_meta->float_time * 1000);
#ifdef DEBUG
a8::XPrintf("old_pos:%f,%f\n", {GetPos().x, GetPos().y});
#endif
@ -1055,7 +1059,6 @@ void Creature::ProcSkillPhase(MetaData::SkillPhase* phase)
#ifdef DEBUG
a8::XPrintf("new_pos:%f,%f", {GetPos().x, GetPos().y});
#endif
MetaData::Skill* skill_meta = CurrentSkill()->meta;
CurrentSkill()->AddMinorMode
(
SMT_BLINK,
@ -1084,23 +1087,6 @@ void Creature::ProcSkillPhase(MetaData::SkillPhase* phase)
skill_meta);
}
);
room->xtimer.AddDeadLineTimerAndAttach
(
#if 1
skill_meta->number_meta->float_time * 1000,
#else
phase->param2.GetInt() * 1000,
#endif
a8::XParams()
.SetSender(this)
.SetParam1(land_effect_buff_uniid),
[] (const a8::XParams& param)
{
Creature* c = (Creature*)param.sender.GetUserData();
int land_effect_buff_uniid = param.param1;
c->RemoveBuffByUniId(land_effect_buff_uniid);
},
&xtimer_attacher.timer_list_);
}
SetMoveDir(old_dir);
}