diff --git a/server/gameserver/compose.cc b/server/gameserver/compose.cc index 5618607a..674528f7 100644 --- a/server/gameserver/compose.cc +++ b/server/gameserver/compose.cc @@ -68,3 +68,9 @@ void Compose::TakeOnWeapon(Weapon* weapon) } } } + +void Compose::Reset() +{ + Clear(); + num_ = 0; +} diff --git a/server/gameserver/compose.h b/server/gameserver/compose.h index f90f8bb2..1c80450b 100644 --- a/server/gameserver/compose.h +++ b/server/gameserver/compose.h @@ -14,6 +14,7 @@ class Compose void IncNum(); bool CanAdd(); int GetNum() { return num_; } + void Reset(); private: diff --git a/server/gameserver/human.cc b/server/gameserver/human.cc index 5aa70c70..59074696 100644 --- a/server/gameserver/human.cc +++ b/server/gameserver/human.cc @@ -2647,6 +2647,7 @@ void Human::ProcLootWeaponNew(AddItemDTO& dto) } else { int old_weapon_idx = GetCurrWeapon()->weapon_idx; DropWeapon(GetCurrWeapon()->weapon_idx, 1); + GetCompose()->Reset(); Weapon* weapon = &weapons[old_weapon_idx]; weapon->weapon_id = dto.item_id; weapon->meta = dto.item_meta;