DayZ Scripts
v1.21.156300 ยท Jun 20, 2023
 
Loading...
Searching...
No Matches
CAContinuousQuantityExtinguish.c
Go to the documentation of this file.
2{
3 private float m_WetnessGainMultiplier = 1.0;
4
5 void CAContinuousQuantityExtinguish( float quantity_used_per_second, float time_to_repeat, float wetness_gain_multiplier )
6 {
7 m_QuantityUsedPerSecond = quantity_used_per_second;
8 m_DefaultTimeToRepeat = time_to_repeat;
9 m_WetnessGainMultiplier = wetness_gain_multiplier;
10 }
11
12 override void CalcAndSetQuantity( ActionData action_data )
13 {
14 if ( GetGame().IsServer() )
15 {
16 if ( m_SpentUnits )
17 {
20 }
21
22 Object targetObject = action_data.m_Target.GetObject();
23 if ( targetObject )
24 {
25 FireplaceBase fireplace_target = FireplaceBase.Cast( targetObject );
26
27 //add wetness to fireplace targets, set fire state to extinguishing
28 float wetness_inc = ( m_SpentQuantity / 1000 ) * m_WetnessGainMultiplier;
29 fireplace_target.AddWetnessToFireplace( wetness_inc );
30 fireplace_target.SetExtinguishingState();
31
32 //subtract quantity from water source
33 action_data.m_MainItem.AddQuantity( -m_SpentQuantity );
34 }
35 }
36 }
37
38 override int Interrupt( ActionData action_data )
39 {
40 if ( GetGame().IsServer() )
41 {
42 action_data.m_Player.GetSoftSkillsManager().AddSpecialty( UASoftSkillsWeight.ROUGH_MEDIUM );
43 }
44
45 return super.Interrupt( action_data );
46 }
47
48 void MultiplyQuantityUsed(float coef)
49 {
51 }
52}
ItemBase m_MainItem
Definition ActionBase.c:28
PlayerBase m_Player
Definition ActionBase.c:33
ref ActionTarget m_Target
Definition ActionBase.c:32
void SetACData(Param units)
Definition CABase.c:40
override int Interrupt(ActionData action_data)
void CAContinuousQuantityExtinguish(float quantity_used_per_second, float time_to_repeat, float wetness_gain_multiplier)
override void CalcAndSetQuantity(ActionData action_data)
protected ref Param1< float > m_SpentUnits
proto native CGame GetGame()