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

◆ CanBeCombined()

override bool CanBeCombined ( EntityAI other_item,
bool reservation_check = true,
bool stack_max_limit = false )
protected

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

2138 {
2139 //TODO: delete check zero quantity check after fix double posts hands fsm events
2140 if (!other_item || GetType() != other_item.GetType() || (IsFullQuantity() && other_item.GetQuantity() > 0) || other_item == this)
2141 return false;
2142
2143 if (GetHealthLevel() == GameConstants.STATE_RUINED || other_item.GetHealthLevel() == GameConstants.STATE_RUINED)
2144 return false;
2145
2146 //can_this_be_combined = ConfigGetBool("canBeSplit");
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 //TODO: delete check zero quantity check after fix double posts hands fsm events
2171 if (GetQuantity() >= GetQuantityMax() && other_item.GetQuantity() > 0 )
2172 return false;
2173
2174 if (stack_max_limit && (GetQuantity() + other_item.GetQuantity() > GetQuantityMax()))
2175 return false;
2176 }
2177
2178 PlayerBase player = null;
2179 if (CastTo(player, GetHierarchyRootPlayer())) //false when attached to player's attachment slot
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;
2192 string slotName;
2193 if (GetInventory().GetCurrentAttachmentSlotInfo(slotID,slotName) && GetHierarchyParent().GetInventory().GetSlotLock(slotID))
2194 return false;
2195
2196 return true;
2197 }
eBleedingSourceType GetType()
PlayerSpawnPreset slotName
bool IsFullQuantity()
Определения ItemBase.c:3491
override float GetQuantity()
Определения ItemBase.c:3486
bool can_this_be_combined
Определения ItemBase.c:62
override int GetQuantityMax()
Определения ItemBase.c:3435
Определения PlayerBaseClient.c:2
const int STATE_RUINED
Определения 3_Game/DayZ/constants.c:909

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