Dayz Explorer 1.28.160049
Loading...
Searching...
No Matches
actionrepairboatchassis.c
Go to the documentation of this file.
2{
4 {
6 m_CommandUID = DayZPlayerConstants.CMD_ACTIONFB_INTERACT;
7 m_StanceMask = DayZPlayerConstants.STANCEMASK_ERECT;
8 m_FullBody = true;
9 m_LockTargetOnUse = false;
10 m_Text = "#repair";
11 }
12
13 override bool ActionCondition(PlayerBase player, ActionTarget target, ItemBase item)
14 {
15 if (player.GetBrokenLegs() == eBrokenLegs.BROKEN_LEGS)
16 return false;
17
18 BoatScript boat = BoatScript.Cast(target.GetObject());
19 if (!boat)
20 return false;
21
22 if (GetGame().IsDedicatedServer())
23 return true;
24
25 string damageZone = "";
26 array<string> selections = new array<string>();
27 boat.GetActionComponentNameList(target.GetComponentIndex(), selections);
28
29 foreach (string selection : selections)
30 {
31 if (boat && DamageSystem.GetDamageZoneFromComponentName(boat, selection, damageZone))
32 {
33 if (damageZone == "Engine")
34 continue;
35
36 int zoneHP = boat.GetHealthLevel(damageZone);
37 if (zoneHP > GameConstants.STATE_WORN && zoneHP < GameConstants.STATE_RUINED)
38 {
39 m_CurrentDamageZone = damageZone;
40 return true;
41 }
42 }
43 }
44
45 return false;
46 }
47}
int m_StanceMask
Definition actionbase.c:33
string m_Text
Definition actionbase.c:58
bool m_LockTargetOnUse
Definition actionbase.c:60
bool m_FullBody
Definition actionbase.c:61
Result for an object found in CGame.IsBoxCollidingGeometryProxy.
DayZPlayerConstants
defined in C++
Definition dayzplayer.c:602
eBrokenLegs
Definition ebrokenlegs.c:2
proto native CGame GetGame()