37 Object tgObject = action_data.m_Target.GetObject();
39 string damageZone = RepairVehiclePartActionData.Cast(action_data).m_DamageZone;
43 if (tgObject && damageZone !=
"")
49 float zoneMax = vehicle.GetMaxHealth(damageZone,
"");
50 float randomValue =
Math.RandomFloatInclusive(zoneMax * 0.05, zoneMax * 0.15);
55 vehicle.SetHealth(damageZone,
"", (zoneMax *
GameConstants.DAMAGE_RUINED_VALUE) + randomValue);
58 vehicle.SetHealth(damageZone,
"", (zoneMax *
GameConstants.DAMAGE_BADLY_DAMAGED_VALUE) + randomValue);
61 vehicle.SetHealth(damageZone,
"", (zoneMax *
GameConstants.DAMAGE_DAMAGED_VALUE) + randomValue);
70 if (action_data.m_MainItem.HasQuantity())
72 if (action_data.m_MainItem.GetQuantity() > 1)
74 int qnt = action_data.m_MainItem.GetQuantity() - action_data.m_MainItem.GetQuantityMax() * 0.25;
75 action_data.m_MainItem.SetQuantity(qnt);
79 action_data.m_MainItem.Delete();
92 super.WriteToContext(ctx, action_data);
93 RepairVehiclePartActionData repairActionData;
98 ctx.Write(repairActionData.m_DamageZone);