diff --git a/Tactical/Handle Items.cpp b/Tactical/Handle Items.cpp index 7d9858d2f..2526509f0 100644 --- a/Tactical/Handle Items.cpp +++ b/Tactical/Handle Items.cpp @@ -9667,7 +9667,8 @@ void ReadEquipmentTable( SOLDIERTYPE* pSoldier, std::string name ) ammoitem = (*pObj)[i]->data.gun.usGunAmmoItem; for ( std::vector::iterator it = vec.begin( ); it != vec.end( ); ++it ) { - if ( (*it).slot == slot && (*it).item == pObj->usItem ) + // use the ammotype of the node, provided it exists and fits the gun or a wildcard + if ( (*it).slot == slot && (*it).ammoitem != NOTHING && ( (*it).item == pObj->usItem || (*it).item == NOTHING ) ) { ammoitem = (*it).ammoitem; break;