diff --git a/server/gameserver/human.cc b/server/gameserver/human.cc index fc8d8a4f..2a2846d9 100644 --- a/server/gameserver/human.cc +++ b/server/gameserver/human.cc @@ -3371,3 +3371,13 @@ void Human::CalcAssists(Human* target) }); } } + +void Human::ProcThrowDmg(int throw_uniid) +{ + auto itr = pending_throw_bomb.find(throw_uniid); + if (itr == pending_throw_bomb.end()) { + return; + } + auto context = *itr; + pending_throw_bomb.erase(throw_uniid); +} diff --git a/server/gameserver/human.h b/server/gameserver/human.h index c19738aa..ced55303 100644 --- a/server/gameserver/human.h +++ b/server/gameserver/human.h @@ -393,6 +393,7 @@ class Human : public Creature int GetTeamMode(); void NotifyTeamMarkTargetPos(); void CalcAssists(Human* target); + void ProcThrowDmg(int throw_uniid); protected: void ProcLootWeapon(AddItemDTO& dto); diff --git a/server/gameserver/player.cc b/server/gameserver/player.cc index 372f4bb6..6cb6ab87 100644 --- a/server/gameserver/player.cc +++ b/server/gameserver/player.cc @@ -1339,7 +1339,7 @@ void Player::_CMRequestBulletDmg(f8::MsgHdr& hdr, const cs::CMRequestBulletDmg& void Player::_CMRequestThrowDmg(f8::MsgHdr& hdr, const cs::CMRequestThrowDmg& msg) { - + ProcThrowDmg(msg.throw_uniid()); } void Player::_CMStowShield(f8::MsgHdr& hdr, const cs::CMStowShield& msg)