222{
224 {
225 super.Init();
226 m_DecraftResult = "LongWoodenStick";
227 m_ParticleLocalPos =
Vector(0, 1.2, 0);
228 }
229
231 {
233
236 }
237
239 {
240 return false;
241 }
242
244 {
245 super.OnWorkStart();
247 }
248
250 {
251 result.SetHealth(result.GetHealthLevelValue(2,""));
253 }
254
256 {
257 if (
GetGame().IsServer() && !IsIgnited() &&
GetEnergy() < 1 && !IsSetForDeletion())
258 return true;
259 else
260 return false;
261 }
262
263
265 {
266 super.EEHitBy(damageResult, damageType, source,
component, dmgZone, ammo, modelPos, speedCoef);
267
268 GetCompEM().SetEnergy0To1(GetHealth01("",""));
269 }
270
271
273 {
275 {
276 float currentHealth01 = GetHealth01();
277 float currentEnergy01 = GetCompEM().GetEnergy0To1();
278
279
280 SetHealth01(
"",
"",
Math.
Min(currentHealth01,currentEnergy01));
281
282 GetCompEM().SetEnergy0To1(GetHealth01());
283 }
284 }
285
287 {
289
290 if (!m_FireParticle)
291 {
293 }
294 m_FireParticle.ScaleParticleParamFromOriginal(
EmitorParam.VELOCITY, 1.0);
295 m_FireParticle.ScaleParticleParamFromOriginal(
EmitorParam.VELOCITY_RND, 1.0);
296 if (m_FireParticle)
297 {
298 float scale =
Math.
Max(normalizedQuant * 2.4, 0.4);
299
300 m_FireParticle.ScaleParticleParamFromOriginal(
EmitorParam.SIZE, scale);
301 }
302 }
303
304
306 {
307 float max_energy = GetCompEM().GetEnergyMaxPristine();
309 SetHealth01("","", health01);
310 GetCompEM().SetEnergy( time );
311 }
312
313 override void GetDebugActions(out TSelectableActionInfoArrayEx outputList)
314 {
320
321 super.GetDebugActions(outputList);
322 }
323
325 {
326 if (super.OnAction(action_id, player, ctx))
327 return true;
329 {
330 if (action_id ==
EActions.BROOM_BURN_VERY_SHORT)
331 {
334 }
335 else if (action_id ==
EActions.BROOM_BURN_SHORT)
336 {
339 }
340 else if (action_id ==
EActions.BROOM_BURN_MEDIUM)
341 {
344 }
345 else if (action_id ==
EActions.BROOM_BURN_LONG)
346 {
349 }
350 }
351 return false;
352 }
353
354}
355
357{
359 {
360 return "DZ\\gear\\tools\\data\\broom_emissive.rvmat";
361 }
362
364 {
365 return "DZ\\gear\\tools\\data\\broom_burn.rvmat";
366 }
367}
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