Dayz Explorer 1.28.160049
Loading...
Searching...
No Matches
actionextinguishfireplacebyliquid.c
Go to the documentation of this file.
2{
3 private const float TIME_TO_REPEAT = 0.5;
4 private const float WETNESS_GAIN_MULTIPLIER = 1.0;
5
6 override void CreateActionComponent()
7 {
8 m_ActionData.m_ActionComponent = new CAContinuousQuantityExtinguish(UAQuantityConsumed.FIREPLACE_LIQUID, TIME_TO_REPEAT, WETNESS_GAIN_MULTIPLIER);
9 CAContinuousQuantityExtinguish.Cast(m_ActionData.m_ActionComponent).MultiplyQuantityUsed(m_ActionData.m_MainItem.GetLiquidThroughputCoef());
10 }
11}
12
14{
16 {
18 m_CommandUID = DayZPlayerConstants.CMD_ACTIONFB_EMPTY_VESSEL;
19 m_SpecialtyWeight = UASoftSkillsWeight.ROUGH_MEDIUM;
20 m_FullBody = true;
21
22 m_Text = "#extinguish";
23 }
24
26 {
27 m_ConditionItem = new CCINotRuinedAndEmpty();
28 m_ConditionTarget = new CCTObject(UAMaxDistances.SMALL);
29 }
30
31 override bool ActionCondition(PlayerBase player, ActionTarget target, ItemBase item)
32 {
33 Object targetObject = target.GetObject();
34
35 if (targetObject.IsFireplace())
36 {
37 FireplaceBase fireplace = FireplaceBase.Cast(targetObject);
38
39 if (fireplace.CanExtinguishFire() && !item.IsDamageDestroyed() && (item.GetLiquidType() & (GROUP_LIQUID_BLOOD | LIQUID_WATER | LIQUID_BEER)))
40 {
41 return !item.GetIsFrozen();
42 }
43 }
44
45 return false;
46 }
47
48 override void OnStartAnimationLoop(ActionData action_data)
49 {
50 super.OnStartAnimationLoop(action_data);
51
52 FireplaceBase fireplace = FireplaceBase.Cast(action_data.m_Target.GetObject());
53 fireplace.SetExtinguishingState();
54 }
55
56 override void OnEndServer(ActionData action_data)
57 {
58 super.OnEndServer(action_data);
59
60 FireplaceBase fireplace = FireplaceBase.Cast(action_data.m_Target.GetObject());
61 fireplace.RefreshFireState();
62 }
63}
override void OnStartAnimationLoop(ActionData action_data)
int m_CommandUID
Definition actionbase.c:31
ActionExtinguishFireplaceByLiquidCB ActionContinuousBaseCB ActionExtinguishFireplaceByLiquid()
#define LIQUID_BEER
#define LIQUID_WATER
ActionData m_ActionData
void CreateConditionComponents()
Definition actionbase.c:230
override void OnEndServer(ActionData action_data)
override bool ActionCondition(PlayerBase player, ActionTarget target, ItemBase item)
override bool CanExtinguishFire()
DayZPlayerConstants
defined in C++
Definition dayzplayer.c:602
const int GROUP_LIQUID_BLOOD
Definition constants.c:560