DayZ 1.30
DayZ Explorer by KGB
 
Загрузка...
Поиск...
Не найдено
ActionRepairMotorbikeEngine.c
См. документацию.
2{
4
6 {
8 m_CommandUID = DayZPlayerConstants.CMD_ACTIONFB_INTERACT;
9 m_StanceMask = DayZPlayerConstants.STANCEMASK_ERECT;
10 m_FullBody = true;
11 m_LockTargetOnUse = false;
12 m_Text = "#repair";
13 }
14
16 {
17 return false;
18 }
19
20 override bool ActionCondition(PlayerBase player, ActionTarget target, ItemBase item)
21 {
22 MotorbikeScript motorbike = MotorbikeScript.Cast(target.GetObject());
23 if (!motorbike || motorbike.EngineIsOn())
24 return false;
25
26 if (g_Game.IsDedicatedServer())
27 return true;
28
29 if (m_LastValidComponentIndex != target.GetComponentIndex() || m_CurrentDamageZone == "Engine")
30 {
31 array<string> selections = new array<string>();
32 motorbike.GetActionComponentNameList(target.GetComponentIndex(), selections, LOD.NAME_VIEW);
33
34 foreach (string selection : selections)
35 {
36 string damageZone = "";
37 if (motorbike && DamageSystem.GetDamageZoneFromComponentName(motorbike, selection, damageZone))
38 {
39 int zoneHP = motorbike.GetHealthLevel(damageZone);
40 if (zoneHP > GameConstants.STATE_WORN && zoneHP < GameConstants.STATE_RUINED)
41 {
42 m_CurrentDamageZone = damageZone;
43 m_LastValidComponentIndex = target.GetComponentIndex();
44
45 return true;
46 }
47 }
48 }
49 }
50
51 return false;
52 }
53
54 override void AdjustVehicleHealthServer(ActionData action_data)
55 {
56 super.AdjustVehicleHealthServer(action_data);
57
58 MiscGameplayFunctions.DealAbsoluteDmg(action_data.m_MainItem, UADamageApplied.BUILD);
59 }
60}
bool m_FullBody
Определения ActionBase.c:60
string m_Text
Определения ActionBase.c:57
bool m_LockTargetOnUse
Определения ActionBase.c:59
int m_StanceMask
Определения ActionBase.c:61
void ActionTarget(Object object, Object parent, int componentIndex, vector cursorHitPos, float utility, string surfaceName="")
Определения ActionTargets.c:125
DayZGame g_Game
Определения DayZGame.c:4074
void MotorbikeScript()
Определения MotorbikeScript.c:105
ItemBase m_MainItem
Определения ActionBase.c:35
Определения ActionBase.c:22
override bool CanBeUsedWithBrokenLegs()
Определения ActionRepairMotorbikeEngine.c:15
override void AdjustVehicleHealthServer(ActionData action_data)
Определения ActionRepairMotorbikeEngine.c:54
override bool ActionCondition(PlayerBase player, ActionTarget target, ItemBase item)
Определения ActionRepairMotorbikeEngine.c:20
int m_CommandUID
Определения AnimatedActionBase.c:147
static const string NAME_VIEW
Определения gameplay.c:207
LOD class.
Определения gameplay.c:204
Определения PlayerBaseClient.c:2
const float BUILD
Определения ActionConstants.c:151
Result for an object found in CGame.IsBoxCollidingGeometryProxy.
DayZPlayerConstants
defined in C++
Определения dayzplayer.c:602
const int STATE_RUINED
Определения 3_Game/DayZ/constants.c:909
const int STATE_WORN
Определения 3_Game/DayZ/constants.c:912