diff --git a/server/gameserver/pbutils.cc b/server/gameserver/pbutils.cc index 9e4c91d7..3ed8be8d 100644 --- a/server/gameserver/pbutils.cc +++ b/server/gameserver/pbutils.cc @@ -1161,6 +1161,23 @@ void Human::ProcThrowDmg(int throw_uniid) } }, &room->xtimer_attacher_); + { + std::shared_ptr old_context_ability = context_ability; + glm::vec3 old_context_dir = context_dir; + Position old_context_pos = context_pos; + context_dir = bomb_dir; + context_pos.FromGlmVec3(target_pos); + context_ability = nullptr; + const mt::Buff * buff_meta = mt::Buff::GetById(equip_meta->buffid()); + if (buff_meta) { + AddBuff(this, + buff_meta + ); + } + context_dir = old_context_dir; + context_pos = old_context_pos; + context_ability = old_context_ability; + } }; auto proc_molotor_cocktail_func = [this, equip_meta, context, bomb_pos, bomb_dir, target_pos] ()