2138 {
2139
2140 if (!other_item ||
GetType() != other_item.GetType() || (
IsFullQuantity() && other_item.GetQuantity() > 0) || other_item ==
this)
2141 return false;
2142
2144 return false;
2145
2146
2148 return false;
2149
2150
2151 Magazine mag = Magazine.Cast(this);
2152 if (mag)
2153 {
2154 if (mag.GetAmmoCount() >= mag.GetAmmoMax())
2155 return false;
2156
2157 if (stack_max_limit)
2158 {
2159 Magazine other_mag = Magazine.Cast(other_item);
2160 if (other_item)
2161 {
2162 if (mag.GetAmmoCount() + other_mag.GetAmmoCount() > mag.GetAmmoMax())
2163 return false;
2164 }
2165
2166 }
2167 }
2168 else
2169 {
2170
2172 return false;
2173
2175 return false;
2176 }
2177
2179 if (CastTo(player, GetHierarchyRootPlayer()))
2180 {
2181 if (player.GetInventory().HasAttachment(this))
2182 return false;
2183
2184 if (player.IsItemsToDelete())
2185 return false;
2186 }
2187
2188 if (reservation_check && (GetInventory().HasInventoryReservation(this, null) || other_item.GetInventory().HasInventoryReservation(other_item, null)))
2189 return false;
2190
2191 int slotID;
2193 if (GetInventory().GetCurrentAttachmentSlotInfo(slotID,
slotName) && GetHierarchyParent().GetInventory().GetSlotLock(slotID))
2194 return false;
2195
2196 return true;
2197 }
eBleedingSourceType GetType()
PlayerSpawnPreset slotName
override float GetQuantity()
bool can_this_be_combined
override int GetQuantityMax()