void CUIGameCTA::BuyMenuItemInserter(PIItem const & item) { VERIFY(m_pCurBuyMenu); if (!item) return; if (item->IsInvalid() || smart_cast<CWeaponKnife*>(&item->object()) ) return; CArtefact* pArtefact = smart_cast<CArtefact*>(item); if (pArtefact) return; if (!pSettings->line_exist(m_costSection, item->object().cNameSect())) return; if (!item->CanTrade()) return; u8 addons = 0; CWeapon* pWeapon = smart_cast<CWeapon*>(item); if (pWeapon) addons = pWeapon->GetAddonsState(); CWeaponAmmo* pAmmo = smart_cast<CWeaponAmmo*>(item); if (pAmmo && (pAmmo->m_boxCurr != pAmmo->m_boxSize)) return; m_pCurBuyMenu->ItemToSlot(item->object().cNameSect(), addons); }