Closed xPaw closed 11 years ago
Can you provide a way to reproduce this issue (nice clear steps please) so I can confirm any fixes we make.
It is hard to reproduce without any addon like AmxModX, would require an aim map with armoury_entity on the ground, and a player_weaponstrip entity somewhere in map then you could notice that if you touch the strip entity while carrying a primary weapon, you can't pickup anymore a armoury_entity (works fine with weaponbox entities).
This is about a CBasePlayer private data (BOOL i think, amxx scripter call it m_fHasPrimary) that is checked when a player touch an armoury_entity so in CArmoury::ArmouryTouch, and if that armoury is not an item or a nade. That private data is set to FALSE in CBasePlayer::DropPlayerItem and in CBasePlayer::DropShield, i don't think anywhere else, so when CBasePlayer::RemoveAllItems is called, CBasePlayerItem::Drop is called for each weapon player is carrying and that private data is not set to 0.
If i find a map that allows to reproduce the bug, will tell you for sure.
How will we notice if it got fixed?
You follow the link to https://github.com/ValveSoftware/halflife/issues/1 :)
In CBasePlayer::RemoveAllItems, it should set m_fHasPrimary to false. Without changing this, player won't be able to pickup primary weapons from armoury_entity entity, weaponbox remains working.