Dayz Build 1.29.163047, Scripts Rev. 123548
Dayz Code Explorer by Zeroy
Loading...
Searching...
No Matches
vomitstate.c
Go to the documentation of this file.
2{
3 static const float STAMINA_DEPLETION_MULTIPLIER = 1.3;
4 static const float STAMINA_RECOVERY_MULTIPLIER = 0.5;
5
6 //just for the Symptom parameters set-up and gets called even if the Symptom doesn't execute, don't put any gameplay code in here
7 const int BLOOD_LOSS = 250;
8 const int STOMACH_CONTENT_PERCENTAGE_DEFAULT = 5; //per second
9
10 private float m_VomitContentPercentage = -1; //considered unspecified at -1
11
12 override void OnInit()
13 {
15 m_Priority = 100;
16 m_ID = SymptomIDs.SYMPTOM_VOMIT;
18 m_SyncToClient = false;
19 m_Duration = 5;
20 m_MaxCount = 1;
22 }
23
25 {
26 return m_Player.GetModifiersManager().IsModifierActive(eModifiers.MDF_CONTAMINATION2) || m_Player.GetModifiersManager().IsModifierActive(eModifiers.MDF_CONTAMINATION3);
27 }
28
29 override void SetParam(Param p)
30 {
31 Param1<float> p1 = Param1<float>.Cast(p);
32 if ( p1 )
33 {
34 m_VomitContentPercentage = p1.param1;
35 }
36 }
37
38 override void OnAnimationStart()
39 {
40 if (m_Player)
41 {
42 m_Player.GetStatToxicity().Set(0);
43 if (m_Player.m_PlayerStomach)
44 {
45 if (m_VomitContentPercentage < 0) //unspecified, calculate from duration
46 {
48 m_Player.m_PlayerStomach.ReduceContents(contentLoss);
49 }
50 else
51 m_Player.m_PlayerStomach.ReduceContents(m_VomitContentPercentage);
52 }
53
55 m_Player.AddHealth("","Blood", -BLOOD_LOSS);
56 }
57 }
58
59 override void OnAnimationFinish()
60 {
62 m_Player.GetStaminaHandler().DepleteStaminaEx(EStaminaModifiers.OVERALL_DRAIN);
63
65 {
66 PluginLifespan module_lifespan = PluginLifespan.Cast( GetPlugin( PluginLifespan ) );
67 module_lifespan.UpdateBloodyHandsVisibilityEx( m_Player, eBloodyHandsTypes.JUST_BLOOD );
68 }
69 }
70
71 override bool CanActivate()
72 {
73 return ( m_Manager.GetCurrentCommandID() == DayZPlayerConstants.COMMANDID_MOVE || m_Manager.GetCurrentCommandID() == DayZPlayerConstants.COMMANDID_ACTION );
74 }
75
77 override void OnGetActivatedServer(PlayerBase player)
78 {
79 PlayAnimationFB(DayZPlayerConstants.CMD_ACTIONFB_VOMIT,DayZPlayerConstants.STANCEMASK_CROUCH, GetDuration() );
80 }
81
83 {
84 return new SmptAnimMetaFB();
85 }
86
87 override bool IsSyncToRemotes()
88 {
89 return true;
90 }
91}
Base Param Class with no parameters.
Definition param.c:12
bool m_SyncToClient
Definition statebase.c:21
void PlayAnimationFB(int animation, int stance_mask, float running_time=-1)
Definition statebase.c:245
int m_Priority
Definition statebase.c:4
int m_SymptomType
Definition statebase.c:18
void SymptomBase()
Definition statebase.c:30
PlayerBase m_Player
Definition statebase.c:8
int m_MaxCount
Definition statebase.c:24
SymptomManager m_Manager
Definition statebase.c:20
float GetDuration()
Definition statebase.c:85
bool m_DestroyOnAnimFinish
Definition statebase.c:16
float m_Duration
Definition statebase.c:22
override void OnInit()
Definition vomitstate.c:12
override void OnAnimationStart()
Definition vomitstate.c:38
override void OnGetActivatedServer(PlayerBase player)
gets called once on an Symptom which is being activated
Definition vomitstate.c:77
const int STOMACH_CONTENT_PERCENTAGE_DEFAULT
Definition vomitstate.c:8
const int BLOOD_LOSS
Definition vomitstate.c:7
bool IsContaminationActive()
Definition vomitstate.c:24
static const float STAMINA_DEPLETION_MULTIPLIER
Definition vomitstate.c:3
float m_VomitContentPercentage
Definition vomitstate.c:10
override SmptAnimMetaBase SpawnAnimMetaObject()
Definition vomitstate.c:82
override bool IsSyncToRemotes()
Definition vomitstate.c:87
override bool CanActivate()
Definition vomitstate.c:71
override void OnAnimationFinish()
Definition vomitstate.c:59
override void SetParam(Param p)
Definition vomitstate.c:29
static const float STAMINA_RECOVERY_MULTIPLIER
Definition vomitstate.c:4
DayZPlayerConstants
defined in C++
Definition dayzplayer.c:602
eModifiers
Definition emodifiers.c:2
EStaminaModifiers
void PluginLifespan()
eBloodyHandsTypes
PluginBase GetPlugin(typename plugin_type)
SymptomTypes