166{
168 {
169 super.Init();
170 m_DecraftResult = "LongWoodenStick";
171 m_ParticleLocalPos =
Vector(0, 1.2, 0);
172 }
173
175 {
177
180 }
181
183 {
184 return false;
185 }
186
188 {
189 super.OnWorkStart();
191 }
192
194 {
195 result.SetHealth(result.GetHealthLevelValue(2,""));
197 }
198
200 {
201 if (
GetGame().IsServer() && !IsIgnited() &&
GetEnergy() < 1 && !IsSetForDeletion())
202 return true;
203 else
204 return false;
205 }
206
207
209 {
210 super.EEHitBy(damageResult, damageType, source,
component, dmgZone, ammo, modelPos, speedCoef);
211
212 GetCompEM().SetEnergy0To1(GetHealth01("",""));
213 }
214
215
217 {
219 {
220 float currentHealth01 = GetHealth01();
221 float currentEnergy01 = GetCompEM().GetEnergy0To1();
222
223
224 SetHealth01(
"",
"",
Math.
Min(currentHealth01,currentEnergy01));
225
226 GetCompEM().SetEnergy0To1(GetHealth01());
227 }
228 }
229
231 {
233
234 if (!m_FireParticle)
235 {
237 }
238 m_FireParticle.ScaleParticleParamFromOriginal(
EmitorParam.VELOCITY, 1.0);
239 m_FireParticle.ScaleParticleParamFromOriginal(
EmitorParam.VELOCITY_RND, 1.0);
240 if (m_FireParticle)
241 {
242 float scale =
Math.
Max(normalizedQuant * 2.4, 0.4);
243
244 m_FireParticle.ScaleParticleParamFromOriginal(
EmitorParam.SIZE, scale);
245 }
246 }
247
248
250 {
251 float max_energy = GetCompEM().GetEnergyMaxPristine();
253 SetHealth01("","", health01);
254 GetCompEM().SetEnergy( time );
255 }
256
257 override void GetDebugActions(out TSelectableActionInfoArrayEx outputList)
258 {
264
265 super.GetDebugActions(outputList);
266 }
267
269 {
270 if (super.OnAction(action_id, player, ctx))
271 return true;
273 {
274 if (action_id ==
EActions.BROOM_BURN_VERY_SHORT)
275 {
278 }
279 else if (action_id ==
EActions.BROOM_BURN_SHORT)
280 {
283 }
284 else if (action_id ==
EActions.BROOM_BURN_MEDIUM)
285 {
288 }
289 else if (action_id ==
EActions.BROOM_BURN_LONG)
290 {
293 }
294 }
295 return false;
296 }
297
298}
299
301{
303 {
304 return "DZ\\gear\\tools\\data\\broom_emissive.rvmat";
305 }
306
308 {
309 return "DZ\\gear\\tools\\data\\broom_burn.rvmat";
310 }
311}
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