diff --git a/server/gameserver/molotor_cocktail_mitask.cc b/server/gameserver/molotor_cocktail_mitask.cc index 3d65a2e..e255c88 100644 --- a/server/gameserver/molotor_cocktail_mitask.cc +++ b/server/gameserver/molotor_cocktail_mitask.cc @@ -64,14 +64,14 @@ void MolotorCocktailMiTask::Check() } } ); - a8::Vec2 old_buff_vec2_param1 = sender.Get()->buff_vec2_param1; - sender.Get()->buff_vec2_param1 = sender.Get()->GetPos(); for (Creature* target : objects) { if (!target->GetBuffById(meta->i->buffid())) { + a8::Vec2 old_buff_vec2_param1 = target->buff_vec2_param1; + target->buff_vec2_param1 = target->GetPos(); target->MustBeAddBuff(sender.Get(), meta->i->buffid()); + target->buff_vec2_param1 = old_buff_vec2_param1; } } - sender.Get()->buff_vec2_param1 = old_buff_vec2_param1; } } diff --git a/server/gameserver/posiongas_mitask.cc b/server/gameserver/posiongas_mitask.cc index 9a4efc3..6a349b1 100644 --- a/server/gameserver/posiongas_mitask.cc +++ b/server/gameserver/posiongas_mitask.cc @@ -64,14 +64,14 @@ void PosionGasMiTask::Check() } } ); - a8::Vec2 old_buff_vec2_param1 = sender.Get()->buff_vec2_param1; - sender.Get()->buff_vec2_param1 = sender.Get()->GetPos(); for (Creature* target : objects) { if (!target->GetBuffById(meta->i->buffid())) { + a8::Vec2 old_buff_vec2_param1 = target->buff_vec2_param1; + target->buff_vec2_param1 = target->GetPos(); target->MustBeAddBuff(sender.Get(), meta->i->buffid()); + target->buff_vec2_param1 = old_buff_vec2_param1; } } - sender.Get()->buff_vec2_param1 = old_buff_vec2_param1; } }