172{
174 {
175 super.Init();
176 m_DecraftResult = "LongWoodenStick";
177 m_ParticleLocalPos =
Vector(0, 1.2, 0);
178 }
179
181 {
183
186 }
187
189 {
190 return false;
191 }
192
194 {
195 super.OnWorkStart();
197 }
198
200 {
201 result.SetHealth(result.GetHealthLevelValue(2,""));
203 }
204
206 {
207 if (
GetGame().IsServer() && !IsIgnited() &&
GetEnergy() < 1 && !IsSetForDeletion())
208 return true;
209 else
210 return false;
211 }
212
213
215 {
216 super.EEHitBy(damageResult, damageType, source,
component, dmgZone, ammo, modelPos, speedCoef);
217
218 GetCompEM().SetEnergy0To1(GetHealth01("",""));
219 }
220
221
223 {
225 {
226 float currentHealth01 = GetHealth01();
227 float currentEnergy01 = GetCompEM().GetEnergy0To1();
228
229
230 SetHealth01(
"",
"",
Math.
Min(currentHealth01,currentEnergy01));
231
232 GetCompEM().SetEnergy0To1(GetHealth01());
233 }
234 }
235
237 {
239
240 if (!m_FireParticle)
241 {
243 }
244 m_FireParticle.ScaleParticleParamFromOriginal(
EmitorParam.VELOCITY, 1.0);
245 m_FireParticle.ScaleParticleParamFromOriginal(
EmitorParam.VELOCITY_RND, 1.0);
246 if (m_FireParticle)
247 {
248 float scale =
Math.
Max(normalizedQuant * 2.4, 0.4);
249
250 m_FireParticle.ScaleParticleParamFromOriginal(
EmitorParam.SIZE, scale);
251 }
252 }
253
254
256 {
257 float max_energy = GetCompEM().GetEnergyMaxPristine();
259 SetHealth01("","", health01);
260 GetCompEM().SetEnergy( time );
261 }
262
263 override void GetDebugActions(out TSelectableActionInfoArrayEx outputList)
264 {
270
271 super.GetDebugActions(outputList);
272 }
273
275 {
276 if (super.OnAction(action_id, player, ctx))
277 return true;
279 {
280 if (action_id ==
EActions.BROOM_BURN_VERY_SHORT)
281 {
284 }
285 else if (action_id ==
EActions.BROOM_BURN_SHORT)
286 {
289 }
290 else if (action_id ==
EActions.BROOM_BURN_MEDIUM)
291 {
294 }
295 else if (action_id ==
EActions.BROOM_BURN_LONG)
296 {
299 }
300 }
301 return false;
302 }
303
304}
305
307{
309 {
310 return "DZ\\gear\\tools\\data\\broom_emissive.rvmat";
311 }
312
314 {
315 return "DZ\\gear\\tools\\data\\broom_burn.rvmat";
316 }
317}
Param4< int, int, string, int > TSelectableActionInfoWithColor
void AddAction(typename actionName)
override void UpdateParticle()
override void CalculateQuantity()
override void GetDebugActions(out TSelectableActionInfoArrayEx outputList)
override bool CanReceiveUpgrade()
override void SetActions()
override void OnWorkStart()
override bool OnAction(int action_id, Man player, ParamsReadContext ctx)
override bool CanTransformIntoStick()
override void Init()
Launched from 'DayZGame.DeferredInit' to make earlier access, use, and updates impossible (downside o...
override void EEHitBy(TotalDamageResult damageResult, int damageType, EntityAI source, int component, string dmgZone, string ammo, vector modelPos, float speedCoef)
void DebugSetHealthAndEnergy(float time)
override void ApplyResultModifications(ItemBase result)
override void OnIgnitedThis(EntityAI fire_source)
Executed on Server when some item ignited this one.
class BoxCollidingParams component
ComponentInfo for BoxCollidingResult.
override float GetQuantity()
override int GetQuantityMax()
void ParticleManager(ParticleManagerSettings settings)
Constructor (ctor)
override void SetActions()
string GetBurningMaterial()
string GetBurntMaterial()
override bool SetQuantity(float value, bool destroy_config=true, bool destroy_forced=false, bool allow_client=false, bool clamp_to_stack_max=true)
static const int BROOM_TORCH_T1
Serializer ParamsReadContext
proto native CGame GetGame()
proto native vector Vector(float x, float y, float z)
Vector constructor from components.
static proto float Max(float x, float y)
Returns bigger of two given values.
static proto float Min(float x, float y)
Returns smaller of two given values.
static proto float InverseLerp(float a, float b, float value)
Calculates the linear value that produces the interpolant value within the range [a,...
const int SAT_DEBUG_ACTION