160{
162 {
163 super.Init();
164 m_DecraftResult = "LongWoodenStick";
165 m_ParticleLocalPos =
Vector(0, 1.2, 0);
166 }
167
169 {
171
174 }
175
177 {
178 return false;
179 }
180
182 {
183 super.OnWorkStart();
185 }
186
188 {
189 result.SetHealth(result.GetHealthLevelValue(2,""));
191 }
192
194 {
195 if (
GetGame().IsServer() && !IsIgnited() &&
GetEnergy() < 1 && !IsSetForDeletion())
196 return true;
197 else
198 return false;
199 }
200
201
203 {
204 super.EEHitBy(damageResult, damageType, source,
component, dmgZone, ammo, modelPos, speedCoef);
205
206 GetCompEM().SetEnergy0To1(GetHealth01("",""));
207 }
208
209
211 {
213 {
214 float currentHealth01 = GetHealth01();
215 float currentEnergy01 = GetCompEM().GetEnergy0To1();
216
217
218 SetHealth01(
"",
"",
Math.
Min(currentHealth01,currentEnergy01));
219
220 GetCompEM().SetEnergy0To1(GetHealth01());
221 }
222 }
223
225 {
227
228 if (!m_FireParticle)
229 {
231 }
232 m_FireParticle.ScaleParticleParamFromOriginal(
EmitorParam.VELOCITY, 1.0);
233 m_FireParticle.ScaleParticleParamFromOriginal(
EmitorParam.VELOCITY_RND, 1.0);
234 if (m_FireParticle)
235 {
236 float scale =
Math.
Max(normalizedQuant * 2.4, 0.4);
237
238 m_FireParticle.ScaleParticleParamFromOriginal(
EmitorParam.SIZE, scale);
239 }
240 }
241
242
244 {
245 float max_energy = GetCompEM().GetEnergyMaxPristine();
247 SetHealth01("","", health01);
248 GetCompEM().SetEnergy( time );
249 }
250
251 override void GetDebugActions(out TSelectableActionInfoArrayEx outputList)
252 {
258
259 super.GetDebugActions(outputList);
260 }
261
263 {
264 if (super.OnAction(action_id, player, ctx))
265 return true;
267 {
268 if (action_id ==
EActions.BROOM_BURN_VERY_SHORT)
269 {
272 }
273 else if (action_id ==
EActions.BROOM_BURN_SHORT)
274 {
277 }
278 else if (action_id ==
EActions.BROOM_BURN_MEDIUM)
279 {
282 }
283 else if (action_id ==
EActions.BROOM_BURN_LONG)
284 {
287 }
288 }
289 return false;
290 }
291
292}
293
295{
297 {
298 return "DZ\\gear\\tools\\data\\broom_emissive.rvmat";
299 }
300
302 {
303 return "DZ\\gear\\tools\\data\\broom_burn.rvmat";
304 }
305}
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