2203 {
2204
2205 if (!other_item ||
GetType() != other_item.GetType() || (
IsFullQuantity() && other_item.GetQuantity() > 0) || other_item ==
this)
2206 return false;
2207
2208 if (GetHealthLevel() == GameConstants.STATE_RUINED || other_item.GetHealthLevel() == GameConstants.STATE_RUINED)
2209 return false;
2210
2211
2213 return false;
2214
2215
2216 Magazine mag = Magazine.Cast(this);
2217 if (mag)
2218 {
2219 if (mag.GetAmmoCount() >= mag.GetAmmoMax())
2220 return false;
2221
2222 if (stack_max_limit)
2223 {
2224 Magazine other_mag = Magazine.Cast(other_item);
2225 if (other_item)
2226 {
2227 if (mag.GetAmmoCount() + other_mag.GetAmmoCount() > mag.GetAmmoMax())
2228 return false;
2229 }
2230
2231 }
2232 }
2233 else
2234 {
2235
2237 return false;
2238
2240 return false;
2241 }
2242
2243 PlayerBase player = null;
2244 if (CastTo(player, GetHierarchyRootPlayer()))
2245 {
2246 if (player.GetInventory().HasAttachment(this))
2247 return false;
2248
2249 if (player.IsItemsToDelete())
2250 return false;
2251 }
2252
2253 if (reservation_check && (GetInventory().HasInventoryReservation(this, null) || other_item.GetInventory().HasInventoryReservation(other_item, null)))
2254 return false;
2255
2256 int slotID;
2258 if (GetInventory().GetCurrentAttachmentSlotInfo(slotID,
slotName) && GetHierarchyParent().GetInventory().GetSlotLock(slotID))
2259 return false;
2260
2261 return true;
2262 }
eBleedingSourceType GetType()
PlayerSpawnPreset slotName
override float GetQuantity()
override int GetQuantityMax()
bool can_this_be_combined