2244 {
2246 return;
2247
2248 if (!IsMagazine() && other_item)
2249 {
2251 if (quantity_used != 0)
2252 {
2253 float hp1 = GetHealth01("","");
2254 float hp2 = other_item.GetHealth01("","");
2255 float hpResult = ((hp1*
GetQuantity()) + (hp2*quantity_used));
2256 hpResult = hpResult / (
GetQuantity() + quantity_used);
2257
2258 hpResult *= GetMaxHealth();
2260 SetHealth("", "Health", hpResult);
2261
2263 other_item.AddQuantity(-quantity_used);
2264 }
2265 }
2267 }
void OnCombine(ItemBase other_item)
override float GetQuantity()
float ComputeQuantityUsedEx(ItemBase other_item, bool use_stack_max=true)
override bool CanBeCombined(EntityAI other_item, bool reservation_check=true, bool stack_max_limit=false)
bool AddQuantity(float value, bool destroy_config=true, bool destroy_forced=false)
add item quantity[related to varQuantity... config entry], destroy_config = true > if the quantity re...
static proto float Round(float f)
Returns mathematical round of value.