DayZ 1.27
DayZ Explorer by KGB
 
Загрузка...
Поиск...
Не найдено
ActionRepairCarEngine.c
См. документацию.
3
5{
6 typename m_LastValidType; // deprecated
8
10 {
11 m_CallbackClass = ActionRepairCarEngineCB;
12 m_SpecialtyWeight = UASoftSkillsWeight.PRECISE_LOW;
13 m_CommandUID = DayZPlayerConstants.CMD_ACTIONFB_INTERACT;
14 m_StanceMask = DayZPlayerConstants.STANCEMASK_ERECT;
15 m_FullBody = true;
16 m_LockTargetOnUse = false;
17 m_Text = "#repair";
18 }
19
20 override bool ActionCondition(PlayerBase player, ActionTarget target, ItemBase item)
21 {
22 if (player.GetBrokenLegs() == eBrokenLegs.BROKEN_LEGS)
23 return false;
24
25 CarScript car = CarScript.Cast(target.GetObject());
26 if (!car || car.EngineIsOn())
27 return false;
28
29 if (GetGame().IsDedicatedServer())
30 return true;
31
32 if (m_LastValidType != target.Type() || m_LastValidComponentIndex != target.GetComponentIndex() || m_CurrentDamageZone == "")
33 {
34 string damageZone = "";
35 array<string> selections = new array<string>();
36 car.GetActionComponentNameList(target.GetComponentIndex(), selections, LOD.NAME_VIEW);
37
38 foreach (string selection : selections)
39 {
40 if (car && DamageSystem.GetDamageZoneFromComponentName(car, selection, damageZone))
41 {
42 if (damageZone == "Engine")
43 {
44 int zoneHP = car.GetHealthLevel(damageZone);
45 if (zoneHP > GameConstants.STATE_WORN && zoneHP < GameConstants.STATE_RUINED)
46 {
47 m_CurrentDamageZone = damageZone;
48 m_LastValidComponentIndex = target.GetComponentIndex();
49
50 return true;
51 }
52 }
53 }
54 }
55 }
56
57 return false;
58 }
59
60 override void AdjustVehicleHealthServer(ActionData action_data)
61 {
62 super.AdjustVehicleHealthServer(action_data);
63
64 MiscGameplayFunctions.DealAbsoluteDmg(action_data.m_MainItem, UADamageApplied.BUILD);
65 }
66}
67
68// deprecated
71
72class RepairCarEngineActionData : RepairVehiclePartActionData
73{}
int m_CommandUID
Определения ActionBase.c:31
int m_StanceMask
Определения ActionBase.c:33
ActionBase ActionData
Определения ActionBase.c:30
int m_LastValidComponentIndex
Определения ActionRepairCarEngine.c:7
ActionRepairCarEngineCB m_LastValidType
void ActionRepairCarEngine()
Определения ActionRepairCarEngine.c:9
class ActionTargets ActionTarget
eBrokenLegs
Определения EBrokenLegs.c:2
void AdjustVehicleHealthServer(ActionData action_data)
Определения ActionRepairVehiclePartBase.c:35
override bool ActionCondition(PlayerBase player, ActionTarget target, ItemBase item)
Определения AnimatedActionBase.c:240
Определения CivilianSedan.c:2
Определения constants.c:659
Определения InventoryItem.c:731
static const string NAME_VIEW
Определения gameplay.c:207
LOD class.
Определения gameplay.c:204
Определения PlayerBaseClient.c:2
const float BUILD
Определения ActionConstants.c:148
Result for an object found in CGame.IsBoxCollidingGeometryProxy.
DayZPlayerConstants
defined in C++
Определения dayzplayer.c:602
proto native CGame GetGame()
const int STATE_RUINED
Определения constants.c:846
const int STATE_WORN
Определения constants.c:849