DayZ 1.27
DayZ Explorer by KGB
 
Загрузка...
Поиск...
Не найдено
VomitState.c
См. документацию.
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().DepleteStamina(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}
EStaminaModifiers
Определения EStaminaModifiers.c:2
void PluginLifespan()
Определения PluginLifespan.c:45
eBloodyHandsTypes
Определения PluginLifespan.c:9
PluginBase GetPlugin(typename plugin_type)
Определения PluginManager.c:316
SymptomTypes
Определения StateManager.c:32
Base Param Class with no parameters. Used as general purpose parameter overloaded with Param1 to Para...
Определения param.c:12
Определения PlayerBaseClient.c:2
Определения SmptAnimMeta.c:83
float GetDuration()
Определения StateBase.c:85
bool m_SyncToClient
Определения StateBase.c:21
int m_Priority
Определения StateBase.c:4
float m_Duration
Определения StateBase.c:22
bool m_DestroyOnAnimFinish
Определения StateBase.c:16
int m_ID
Определения StateBase.c:13
int m_SymptomType
Определения StateBase.c:18
SymptomManager m_Manager
Определения StateBase.c:20
void SymptomBase()
Определения StateBase.c:30
void PlayAnimationFB(int animation, int stance_mask, float running_time=-1)
Определения StateBase.c:245
int m_MaxCount
Определения StateBase.c:24
PlayerBase m_Player
Определения StateBase.c:8
override bool CanActivate()
Определения VomitState.c:71
static const float STAMINA_RECOVERY_MULTIPLIER
Определения VomitState.c:4
override void OnInit()
Определения VomitState.c:12
bool IsContaminationActive()
Определения VomitState.c:24
override bool IsSyncToRemotes()
Определения VomitState.c:87
override void SetParam(Param p)
Определения VomitState.c:29
float m_VomitContentPercentage
Определения VomitState.c:10
const int STOMACH_CONTENT_PERCENTAGE_DEFAULT
Определения VomitState.c:8
override void OnAnimationFinish()
Определения VomitState.c:59
const int BLOOD_LOSS
Определения VomitState.c:7
override SmptAnimMetaBase SpawnAnimMetaObject()
Определения VomitState.c:82
static const float STAMINA_DEPLETION_MULTIPLIER
Определения VomitState.c:3
override void OnAnimationStart()
Определения VomitState.c:38
override void OnGetActivatedServer(PlayerBase player)
gets called once on an Symptom which is being activated
Определения VomitState.c:77
Определения VomitState.c:2
DayZPlayerConstants
defined in C++
Определения dayzplayer.c:602
eModifiers
Определения eModifiers.c:2