DayZ Scripts
v1.21.156300 ยท Jun 20, 2023
 
Loading...
Searching...
No Matches
ActionWaterPlant.c
Go to the documentation of this file.
2{
3 private const float QUANTITY_USED_PER_SEC = 150;
4
5 override void CreateActionComponent()
6 {
8 }
9};
10
12{
14 {
16 m_CommandUID = DayZPlayerConstants.CMD_ACTIONFB_EMPTY_VESSEL;
17 m_FullBody = true;
19 m_Text = "#water_plant";
20 m_LockTargetOnUse = false;
21 }
22
24 {
27 }
28
29 override bool ActionCondition( PlayerBase player, ActionTarget target, ItemBase item )
30 {
31 Object targetObject = target.GetObject();
32
33 if ( targetObject != NULL && targetObject.IsInherited(PlantBase) && item != NULL && !item.IsDamageDestroyed() )
34 {
35 PlantBase plant = PlantBase.Cast( targetObject );
36
37 if ( plant.NeedsWater() && item.GetQuantity() > 0 )
38 {
39 return true;
40 }
41 }
42
43 return false;
44 }
45
46 override void OnFinishProgressServer( ActionData action_data )
47 {
48 Object targetObject = action_data.m_Target.GetObject();
49
50 if ( targetObject != NULL && targetObject.IsInherited(PlantBase) )
51 {
52 PlantBase plant = PlantBase.Cast( targetObject );
53 Param1<float> nacdata = Param1<float>.Cast( action_data.m_ActionComponent.GetACData() );
54 float water = nacdata.param1;
55 Slot slot = plant.GetSlot();
56 water = action_data.m_Player.GetSoftSkillsManager().AddSpecialtyBonus( water, this.GetSpecialtyWeight() );
57 slot.GiveWater( water );
58 action_data.m_Player.GetSoftSkillsManager().AddSpecialty( m_SpecialtyWeight );
59 }
60 }
61
62 override void OnFinishProgressClient( ActionData action_data )
63 {
64 Object targetObject = action_data.m_Target.GetObject();
65
66 if ( targetObject != NULL && targetObject.IsInherited(PlantBase) )
67 {
68 PlantBase plant = PlantBase.Cast( targetObject );
69 Param1<float> nacdata = Param1<float>.Cast( action_data.m_ActionComponent.GetACData() );
70 float water = nacdata.param1;
71 Slot slot = plant.GetSlot();
72 water = action_data.m_Player.GetSoftSkillsManager().AddSpecialtyBonus( water, this.GetSpecialtyWeight() );
73 slot.GiveWater( water );
74 action_data.m_Player.GetSoftSkillsManager().AddSpecialty( m_SpecialtyWeight );
75 }
76 }
77};
float GetSpecialtyWeight()
protected float m_SpecialtyWeight
Definition ActionBase.c:68
protected bool m_LockTargetOnUse
Definition ActionBase.c:51
ref CCIBase m_ConditionItem
Definition ActionBase.c:55
ref CCTBase m_ConditionTarget
Definition ActionBase.c:56
protected string m_Text
Definition ActionBase.c:49
protected bool m_FullBody
Definition ActionBase.c:52
class ActionTargets ActionTarget
protected ActionData m_ActionData
PlayerBase m_Player
Definition ActionBase.c:33
ref CABase m_ActionComponent
Definition ActionBase.c:30
ref ActionTarget m_Target
Definition ActionBase.c:32
private const float QUANTITY_USED_PER_SEC
override void CreateActionComponent()
override void OnFinishProgressServer(ActionData action_data)
override void CreateConditionComponents()
override bool ActionCondition(PlayerBase player, ActionTarget target, ItemBase item)
override void OnFinishProgressClient(ActionData action_data)
Param GetACData()
Definition CABase.c:48
const float DEFAULT
DayZPlayerConstants
defined in C++
Definition dayzplayer.c:602