DayZ 1.27
DayZ Explorer by KGB
 
Загрузка...
Поиск...
Не найдено
Drowning.c
См. документацию.
2{
3 static const float STAMINA_RECOVERY_MULTIPLIER = 0;
4
5 const int TICK_FREQUENCY = 1;
6
7 override void Init()
8 {
10 m_ID = eModifiers.MDF_DROWNING;
13 m_SyncID = eModifierSyncIDs.MODIFIER_SYNC_DROWNING;
14 }
15
17 {
18 return player.GetDrowningWaterLevelCheck();
19 }
20
21 override bool ActivateCondition(PlayerBase player)
22 {
23 return CheckIsDrowning(player);
24 }
25
26 override bool DeactivateCondition(PlayerBase player)
27 {
28 return !CheckIsDrowning(player);
29 }
30
31 override void OnTick(PlayerBase player, float deltaT)
32 {
33 if (player.GetStaminaHandler().GetStamina() <= 0)
34 {
35 player.AddHealth("","",deltaT * -CfgGameplayHandler.GetHealthDepletionSpeed());
36 player.AddHealth("","Shock",deltaT * -CfgGameplayHandler.GetShockDepletionSpeed());
37 player.RequestSoundEventEx(EPlayerSoundEventID.DROWNING_PAIN, false, EPlayerSoundEventParam.HIGHEST_PRIORITY);
38 }
39 }
40
41 override void OnReconnect(PlayerBase player)
42 {
43 OnActivate(player);
44 }
45
46 override void OnActivate(PlayerBase player)
47 {
48 player.SetDrowning(true);
49 player.GetStaminaHandler().ActivateRecoveryModifier(EStaminaMultiplierTypes.DROWNING);
50 player.RequestSoundEventEx(EPlayerSoundEventID.DROWNING_BREATH, false, EPlayerSoundEventParam.HIGHEST_PRIORITY);
52 }
53
54
55 void PlayDrowningSound(int index)
56 {
57 if (m_Player.m_IsDrowning)//check if we are still drowning after the delay
58 {
59 if (index == 0)
60 {
61 m_Player.RequestSoundEventEx(EPlayerSoundEventID.EXHAUSTED_BREATH, false, EPlayerSoundEventParam.HIGHEST_PRIORITY);
62 }
63 else if (index == 1)
64 {
65 m_Player.RequestSoundEventEx(EPlayerSoundEventID.DROWNING_BREATH, false, EPlayerSoundEventParam.HIGHEST_PRIORITY);
66 }
67 }
68 }
69
70 override void OnDeactivate(PlayerBase player)
71 {
72 player.SetDrowning(false);
73 player.GetStaminaHandler().DeactivateRecoveryModifier(EStaminaMultiplierTypes.DROWNING);
74 }
75};
int m_ID
ID of effect, given by SEffectManager when registered (automatically done when playing through it)
Определения Effect.c:49
DayZPlayer m_Player
Определения Hand_Events.c:42
bool m_TrackActivatedTime
overall time this modifier was active
Определения ModifierBase.c:14
eModifierSyncIDs m_SyncID
Определения ModifierBase.c:28
float m_TickIntervalActive
Определения ModifierBase.c:18
float m_TickIntervalInactive
Определения ModifierBase.c:17
eModifierSyncIDs
Определения ModifiersManager.c:3
const int DEFAULT_TICK_TIME_INACTIVE
Определения ModifiersManager.c:29
EPlayerSoundEventID
Определения PlayerSoundEventHandler.c:3
EStaminaMultiplierTypes
Определения StaminaHandler.c:2
void OnActivate()
Определения Trap_LandMine.c:67
override ScriptCallQueue GetCallQueue(int call_category)
Определения DayZGame.c:1187
static float GetShockDepletionSpeed()
Определения CfgGameplayHandler.c:433
static float GetHealthDepletionSpeed()
Определения CfgGameplayHandler.c:428
override void Init()
Определения Drowning.c:7
void PlayDrowningSound(int index)
Определения Drowning.c:55
static const float STAMINA_RECOVERY_MULTIPLIER
Определения Drowning.c:3
override bool DeactivateCondition(PlayerBase player)
Определения Drowning.c:26
bool CheckIsDrowning(PlayerBase player)
Определения Drowning.c:16
override void OnReconnect(PlayerBase player)
Определения Drowning.c:41
override void OnTick(PlayerBase player, float deltaT)
Определения Drowning.c:31
override bool ActivateCondition(PlayerBase player)
Определения Drowning.c:21
const int TICK_FREQUENCY
Определения Drowning.c:5
override void OnDeactivate(PlayerBase player)
Определения Drowning.c:70
override void OnActivate(PlayerBase player)
Определения Drowning.c:46
Определения Drowning.c:2
Определения BreathVapourMdfr.c:4
Определения PlayerBaseClient.c:2
proto void CallLater(func fn, int delay=0, bool repeat=false, void param1=NULL, void param2=NULL, void param3=NULL, void param4=NULL, void param5=NULL, void param6=NULL, void param7=NULL, void param8=NULL, void param9=NULL)
adds call into the queue with given parameters and arguments (arguments are held in memory until the ...
eModifiers
Определения eModifiers.c:2
proto native CGame GetGame()
const int CALL_CATEGORY_SYSTEM
Определения tools.c:8