DayZ 1.29
DayZ Explorer by KGB
 
Загрузка...
Поиск...
Не найдено

◆ CanBeCombined()

override bool InventoryItem::CanBeCombined ( EntityAI other_item,
bool reservation_check = true,
bool stack_max_limit = false )
inlineprotected

См. определение в файле ItemBase.c строка 2202

2203 {
2204 //TODO: delete check zero quantity check after fix double posts hands fsm events
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 //can_this_be_combined = ConfigGetBool("canBeSplit");
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 //TODO: delete check zero quantity check after fix double posts hands fsm events
2236 if (GetQuantity() >= GetQuantityMax() && other_item.GetQuantity() > 0 )
2237 return false;
2238
2239 if (stack_max_limit && (GetQuantity() + other_item.GetQuantity() > GetQuantityMax()))
2240 return false;
2241 }
2242
2243 PlayerBase player = null;
2244 if (CastTo(player, GetHierarchyRootPlayer())) //false when attached to player's attachment slot
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;
2257 string slotName;
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()
Определения ItemBase.c:3508
override int GetQuantityMax()
Определения ItemBase.c:3459
bool can_this_be_combined
Определения ItemBase.c:74
bool IsFullQuantity()
Определения ItemBase.c:3513

Перекрестные ссылки can_this_be_combined, GetQuantity(), GetQuantityMax(), GetQuantityMax(), GetType(), IsFullQuantity(), slotName и GameConstants::STATE_RUINED.