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

◆ AdjustVehicleHealthServer()

void ActionRepairVehiclePartBase::AdjustVehicleHealthServer ( ActionData action_data)
inlineprotected

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

36 {
37 Object tgObject = action_data.m_Target.GetObject();
38
39 string damageZone = RepairVehiclePartActionData.Cast(action_data).m_DamageZone;
40 if (!GetGame().IsMultiplayer())
41 damageZone = m_CurrentDamageZone;
42
43 if (tgObject && damageZone != "")
44 {
45 Transport vehicle = Transport.Cast(tgObject);
46 if (vehicle)
47 {
48 int newDmgLevel = Math.Clamp(vehicle.GetHealthLevel(damageZone) - 1, GameConstants.STATE_WORN, GameConstants.STATE_RUINED);
49 float zoneMax = vehicle.GetMaxHealth(damageZone, "");
50 float randomValue = Math.RandomFloatInclusive(zoneMax * 0.05, zoneMax * 0.15);
51
52 switch (newDmgLevel)
53 {
54 case GameConstants.STATE_BADLY_DAMAGED:
55 vehicle.SetHealth(damageZone, "", (zoneMax * GameConstants.DAMAGE_RUINED_VALUE) + randomValue);
56 break;
57 case GameConstants.STATE_DAMAGED:
58 vehicle.SetHealth(damageZone, "", (zoneMax * GameConstants.DAMAGE_BADLY_DAMAGED_VALUE) + randomValue);
59 break;
60 case GameConstants.STATE_WORN:
61 vehicle.SetHealth(damageZone, "", (zoneMax * GameConstants.DAMAGE_DAMAGED_VALUE) + randomValue);
62 break;
63 }
64 }
65 }
66 }
class LOD Object
proto native CGame GetGame()

Перекрестные ссылки ActionData, Math::Clamp(), GameConstants::DAMAGE_BADLY_DAMAGED_VALUE, GameConstants::DAMAGE_DAMAGED_VALUE, GameConstants::DAMAGE_RUINED_VALUE, GetGame(), m_CurrentDamageZone, Math::RandomFloatInclusive(), GameConstants::STATE_BADLY_DAMAGED, GameConstants::STATE_DAMAGED, GameConstants::STATE_RUINED и GameConstants::STATE_WORN.

Используется в OnFinishProgressServer().