189{
191 {
192 super.Init();
193 m_DecraftResult = "LongWoodenStick";
194 m_ParticleLocalPos =
Vector(0, 1.2, 0);
195 }
196
198 {
200
203 }
204
206 {
207 return false;
208 }
209
211 {
212 super.OnWorkStart();
214 }
215
217 {
218 result.SetHealth(result.GetHealthLevelValue(2,""));
220 }
221
223 {
224 if (
GetGame().IsServer() && !IsIgnited() &&
GetEnergy() < 1 && !IsSetForDeletion())
225 return true;
226 else
227 return false;
228 }
229
230
232 {
233 super.EEHitBy(damageResult, damageType, source,
component, dmgZone, ammo, modelPos, speedCoef);
234
235 GetCompEM().SetEnergy0To1(GetHealth01("",""));
236 }
237
238
240 {
242 {
243 float currentHealth01 = GetHealth01();
244 float currentEnergy01 = GetCompEM().GetEnergy0To1();
245
246
247 SetHealth01(
"",
"",
Math.
Min(currentHealth01,currentEnergy01));
248
249 GetCompEM().SetEnergy0To1(GetHealth01());
250 }
251 }
252
254 {
256
257 if (!m_FireParticle)
258 {
260 }
261 m_FireParticle.ScaleParticleParamFromOriginal(
EmitorParam.VELOCITY, 1.0);
262 m_FireParticle.ScaleParticleParamFromOriginal(
EmitorParam.VELOCITY_RND, 1.0);
263 if (m_FireParticle)
264 {
265 float scale =
Math.
Max(normalizedQuant * 2.4, 0.4);
266
267 m_FireParticle.ScaleParticleParamFromOriginal(
EmitorParam.SIZE, scale);
268 }
269 }
270
271
273 {
274 float max_energy = GetCompEM().GetEnergyMaxPristine();
276 SetHealth01("","", health01);
277 GetCompEM().SetEnergy( time );
278 }
279
280 override void GetDebugActions(out TSelectableActionInfoArrayEx outputList)
281 {
287
288 super.GetDebugActions(outputList);
289 }
290
292 {
293 if (super.OnAction(action_id, player, ctx))
294 return true;
296 {
297 if (action_id ==
EActions.BROOM_BURN_VERY_SHORT)
298 {
301 }
302 else if (action_id ==
EActions.BROOM_BURN_SHORT)
303 {
306 }
307 else if (action_id ==
EActions.BROOM_BURN_MEDIUM)
308 {
311 }
312 else if (action_id ==
EActions.BROOM_BURN_LONG)
313 {
316 }
317 }
318 return false;
319 }
320
321}
322
324{
326 {
327 return "DZ\\gear\\tools\\data\\broom_emissive.rvmat";
328 }
329
331 {
332 return "DZ\\gear\\tools\\data\\broom_burn.rvmat";
333 }
334}
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