This commit is contained in:
aozhiwei 2024-04-18 11:43:38 +08:00
parent 4cb1ac466a
commit c5d61bbea8

View File

@ -1764,35 +1764,35 @@ void Creature::CheckSpecObject(int new_poly_flags)
} }
} }
} }
if ((1 << i) == SAMPLE_POLYFLAGS_MAGMA) { }//endif
if (a8::HasBitFlag(poly_ext_flags_, i)) { if ((1 << i) == SAMPLE_POLYFLAGS_MAGMA) {
ClearBuffById(kInMagmaBuffId); if (a8::HasBitFlag(poly_ext_flags_, i)) {
} else { ClearBuffById(kInMagmaBuffId);
int buff_uniid = TryAddBuffAndSetTime(this, kInMagmaBuffId, 9999999); } else {
Buff* buff = GetBuffByUniId(buff_uniid); int buff_uniid = TryAddBuffAndSetTime(this, kInMagmaBuffId, 9999999);
if (buff) { Buff* buff = GetBuffByUniId(buff_uniid);
int dur_time = 1000; if (buff) {
room->xtimer.SetIntervalEx int dur_time = 1000;
( room->xtimer.SetIntervalEx
dur_time / FRAME_RATE_MS, (
[this] (int event, const a8::Args* args) dur_time / FRAME_RATE_MS,
{ [this] (int event, const a8::Args* args)
if (a8::TIMER_EXEC_EVENT == event) { {
if (!dead) { if (a8::TIMER_EXEC_EVENT == event) {
float dmg = GetMaxHP() * mt::Param::s().magma_dec_hp_rate; if (!dead) {
float dmg_out = 0.0f; float dmg = GetMaxHP() * mt::Param::s().magma_dec_hp_rate;
DecHP(dmg, VP_Magma, float dmg_out = 0.0f;
TEXT("battle_server_killer_magma", "magma"), VW_Magma, DecHP(dmg, VP_Magma,
VP_Magma, TEXT("battle_server_killer_magma", "magma"), VW_Magma,
TEXT("battle_server_killer_magma", "magma"), VP_Magma,
dmg_out, TEXT("battle_server_killer_magma", "magma"),
0, dmg_out,
0); 0,
} 0);
} }
}, }
&buff->xtimer_attacher); },
} &buff->xtimer_attacher);
} }
} }
} }