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

◆ ActionCondition()

override bool ActionCondition ( PlayerBase player,
ActionTarget target,
ItemBase item )

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

22 {
23 if (player.GetBrokenLegs() == eBrokenLegs.BROKEN_LEGS)
24 return false;
25
26 Blowtorch bt = Blowtorch.Cast(item);
27 if (!bt.HasEnoughEnergyForRepair(UATimeSpent.BASEBUILDING_REPAIR_MEDIUM))
28 return false;
29
30 BoatScript boat = BoatScript.Cast(target.GetObject());
31 if (!boat || boat.EngineIsOn())
32 return false;
33
34 if (GetGame().IsDedicatedServer())
35 return true;
36
37 string damageZone = "";
38 array<string> selections = new array<string>();
39 boat.GetActionComponentNameList(target.GetComponentIndex(), selections, LOD.NAME_VIEW);
40
41 foreach (string selection : selections)
42 {
43 if (boat && DamageSystem.GetDamageZoneFromComponentName(boat, selection, damageZone))
44 {
45 if (damageZone == "Engine")
46 {
47 int zoneHP = boat.GetHealthLevel(damageZone);
48 if (zoneHP > GameConstants.STATE_WORN && zoneHP < GameConstants.STATE_RUINED)
49 {
50 m_CurrentDamageZone = damageZone;
51 return true;
52 }
53 }
54 }
55 }
56
57 return false;
58 }
eBrokenLegs
Определения EBrokenLegs.c:2
Определения BoatScript.c:31
Определения constants.c:659
static const string NAME_VIEW
Определения gameplay.c:207
LOD class.
Определения gameplay.c:204
const float BASEBUILDING_REPAIR_MEDIUM
Определения ActionConstants.c:68
Определения ActionConstants.c:28
Result for an object found in CGame.IsBoxCollidingGeometryProxy.
proto native CGame GetGame()
const int STATE_RUINED
Определения constants.c:846
const int STATE_WORN
Определения constants.c:849

Перекрестные ссылки ActionTarget, UATimeSpent::BASEBUILDING_REPAIR_MEDIUM, GetGame(), LOD::NAME_VIEW, GameConstants::STATE_RUINED и GameConstants::STATE_WORN.