Dayz 1.25
Dayz Code Explorer by KGB
Загрузка...
Поиск...
Не найдено
Класс ActionSawPlanks
+ Граф наследования:ActionSawPlanks:

Закрытые члены

void ActionSawPlanks ()
 
override void CreateConditionComponents ()
 
override bool ActionCondition (PlayerBase player, ActionTarget target, ItemBase item)
 
override void OnFinishProgressServer (ActionData action_data)
 
- Закрытые члены унаследованные от ActionContinuousBase
void OnStartAnimationLoopServer (ActionData action_data)
 
void OnStartAnimationLoopClient (ActionData action_data)
 
void OnEndAnimationLoopServer (ActionData action_data)
 
void OnEndAnimationLoopClient (ActionData action_data)
 
void OnFinishProgressServer (ActionData action_data)
 
void OnFinishProgressClient (ActionData action_data)
 

Закрытые данные

ItemBase m_Planks
 
ref InventoryLocation m_PlanksLocation = new InventoryLocation
 

Закрытые статические данные

static const int DECREASE_HEALTH_OF_TOOL_DEFAULT = 10
 
static const int YIELD = 3
 

Подробное описание

Конструктор(ы)

◆ ActionSawPlanks()

void ActionSawPlanks ( )
inlineprivate
46 {
48 m_CommandUID = DayZPlayerConstants.CMD_ACTIONFB_DISASSEMBLE;
49 m_FullBody = true;
50 m_StanceMask = DayZPlayerConstants.STANCEMASK_ERECT;
52 m_Text = "#saw_planks";
53 m_LockTargetOnUse = false;
54 }
bool m_FullBody
Definition ActionBase.c:52
string m_Text
Definition ActionBase.c:49
bool m_LockTargetOnUse
Definition ActionBase.c:51
float m_SpecialtyWeight
Definition ActionBase.c:68
int m_StanceMask
Definition ActionBase.c:53
Definition ActionSawPlanks.c:2
int m_CommandUID
Definition AnimatedActionBase.c:135
m_CallbackClass
Definition AnimatedActionBase.c:137
Definition ActionConstants.c:119
const float ROUGH_MEDIUM
Definition ActionConstants.c:121
DayZPlayerConstants
defined in C++
Definition dayzplayer.c:602

Перекрестные ссылки AnimatedActionBase::m_CallbackClass, AnimatedActionBase::m_CommandUID, m_FullBody, m_LockTargetOnUse, m_SpecialtyWeight, m_StanceMask, m_Text и UASoftSkillsWeight::ROUGH_MEDIUM.

Методы

◆ ActionCondition()

override bool ActionCondition ( PlayerBase player,
ActionTarget target,
ItemBase item )
inlineprivate
63 {
64 Object target_O = target.GetObject();
65
66 if ( item && target_O.IsInherited(PileOfWoodenPlanks))
67 {
68 string item_type = item.GetType();
69
70 switch(item_type)
71 {
72 case "Chainsaw":
73 if ( item.HasEnergyManager() && item.GetCompEM().CanWork() )
74 {
75 return true;
76 }
77 else
78 {
79 return false;
80 }
81 break;
82 }
83
84 return true;
85 }
86
87 return false;
88 }
Definition ObjectTyped.c:2
Definition EntityAI.c:95

◆ CreateConditionComponents()

override void CreateConditionComponents ( )
inlineprivate
57 {
60 }
ref CCIBase m_ConditionItem
Definition ActionBase.c:55
ref CCTBase m_ConditionTarget
Definition ActionBase.c:56
Definition CCINonRuined.c:2
Definition CCTNonRuined.c:2
Definition ActionConstants.c:105
const float DEFAULT
Definition ActionConstants.c:107

Перекрестные ссылки UAMaxDistances::DEFAULT, m_ConditionItem и m_ConditionTarget.

◆ OnFinishProgressServer()

override void OnFinishProgressServer ( ActionData action_data)
inlineprivate
91 {
92 PileOfWoodenPlanks item_POWP = PileOfWoodenPlanks.Cast( action_data.m_Target.GetObject() );
93 item_POWP.RemovePlanks(YIELD);
94
95 vector pos = action_data.m_Player.GetPosition();
96
98 if (m_Planks)
99 m_Planks.GetInventory().GetCurrentInventoryLocation(currentLoc);
100
101 if (!m_Planks || !currentLoc.CompareLocationOnly(m_PlanksLocation))
102 {
103 m_Planks = ItemBase.Cast( GetGame().CreateObjectEx("WoodenPlank", pos, ECE_PLACE_ON_SURFACE) );
104 m_Planks.SetQuantity(YIELD);
105
106 m_Planks.GetInventory().GetCurrentInventoryLocation(currentLoc);
108 }
109 else if ((m_Planks.GetQuantity() + YIELD) >= m_Planks.GetQuantityMax())
110 {
111 int remnant = m_Planks.GetQuantity() + YIELD - m_Planks.GetQuantityMax();
112 m_Planks.SetQuantity(m_Planks.GetQuantityMax());
113 if (remnant > 0)
114 {
115 m_Planks = ItemBase.Cast( GetGame().CreateObjectEx("WoodenPlank", pos, ECE_PLACE_ON_SURFACE) );
116 m_Planks.SetQuantity(remnant);
117
118 m_Planks.GetInventory().GetCurrentInventoryLocation(currentLoc);
120 }
121 }
122 else
123 {
124 m_Planks.AddQuantity(YIELD);
125 }
126
127 ItemBase item = action_data.m_MainItem;
128
129 string item_type = item.GetType();
130
131 item.DecreaseHealth( "", "", action_data.m_Player.GetSoftSkillsManager().AddSpecialtyBonus( UADamageApplied.SAW_PLANKS, GetSpecialtyWeight() ));
132 /*switch(item_type)
133 {
134 case "WoodAxe":
135 item.DecreaseHealth( "", "", action_data.m_Player.GetSoftSkillsManager().AddSpecialtyBonus( DECREASE_HEALTH_OF_TOOL_AXE, GetSpecialtyWeight() ));
136 break;
137
138 case "FirefighterAxe":
139 item.DecreaseHealth( "", "", action_data.m_Player.GetSoftSkillsManager().AddSpecialtyBonus( DECREASE_HEALTH_OF_TOOL_AXE, GetSpecialtyWeight() ));
140 break;
141
142 case "FirefighterAxe_Black":
143 item.DecreaseHealth( "", "", action_data.m_Player.GetSoftSkillsManager().AddSpecialtyBonus( DECREASE_HEALTH_OF_TOOL_AXE, GetSpecialtyWeight() ));
144 break;
145
146 case "FirefighterAxe_Green":
147 item.DecreaseHealth( "", "", action_data.m_Player.GetSoftSkillsManager().AddSpecialtyBonus( DECREASE_HEALTH_OF_TOOL_AXE, GetSpecialtyWeight() ));
148 break;
149
150 case "Hatchet":
151 item.DecreaseHealth( "", "", action_data.m_Player.GetSoftSkillsManager().AddSpecialtyBonus( DECREASE_HEALTH_OF_TOOL_AXE, GetSpecialtyWeight() ));
152 break;
153
154 case "Chainsaw":
155 if ( item.HasEnergyManager() )
156 {
157 item.GetCompEM().ConsumeEnergy(DECREASE_FUEL_OF_CHAINSAW);
158 }
159 break;
160
161 default: // Hacksaw and other
162 item.DecreaseHealth( "", "", action_data.m_Player.GetSoftSkillsManager().AddSpecialtyBonus( UADamageApplied.SAW_PLANKS, GetSpecialtyWeight() ));
163 break;
164 }*/
165
166 action_data.m_Player.GetSoftSkillsManager().AddSpecialty( m_SpecialtyWeight );
167 }
float GetSpecialtyWeight()
Definition ActionBase.c:1044
const int ECE_PLACE_ON_SURFACE
Definition CentralEconomy.c:37
static const int YIELD
Definition ActionSawPlanks.c:41
ref InventoryLocation m_PlanksLocation
Definition ActionSawPlanks.c:43
ItemBase m_Planks
Definition ActionSawPlanks.c:42
InventoryLocation.
Definition InventoryLocation.c:28
Definition InventoryItem.c:731
Definition ActionConstants.c:131
const float SAW_PLANKS
Definition ActionConstants.c:138
Definition EnConvert.c:106
proto native CGame GetGame()

Перекрестные ссылки ECE_PLACE_ON_SURFACE, GetGame(), GetSpecialtyWeight(), m_Planks, m_PlanksLocation, m_SpecialtyWeight, UADamageApplied::SAW_PLANKS и YIELD.

Поля

◆ DECREASE_HEALTH_OF_TOOL_DEFAULT

const int DECREASE_HEALTH_OF_TOOL_DEFAULT = 10
staticprivate

◆ m_Planks

ItemBase m_Planks
private

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

◆ m_PlanksLocation

ref InventoryLocation m_PlanksLocation = new InventoryLocation
private

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

◆ YIELD

const int YIELD = 3
staticprivate

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


Объявления и описания членов класса находятся в файле: