Dayz Explorer 1.28.160049
Loading...
Searching...
No Matches
hunger.c
Go to the documentation of this file.
2{
3 protected float m_EnergyDelta;
4 protected float m_LastEnergyLevel;
5 ref HumanMovementState m_MovementState = new HumanMovementState();
6
15
16 override bool ActivateCondition(PlayerBase player)
17 {
18 return true;
19 }
20
21 override bool DeactivateCondition(PlayerBase player)
22 {
23 return false;
24 }
25
26 override void OnReconnect(PlayerBase player)
27 {
28
29 }
30
31 override void OnTick(PlayerBase player, float deltaT)
32 {
33 player.GetMovementState(m_MovementState);
34 float energy = player.GetStatEnergy().Get();
35 float metabolic_speed = MiscGameplayFunctions.GetEnergyMetabolicSpeed(m_MovementState.m_iMovement);
36
37 float modifier = energy/PlayerConstants.SL_ENERGY_MAX + PlayerConstants.CONSUMPTION_MULTIPLIER_BASE;
38 metabolic_speed *= modifier; //non linear shaping for consumption curve (comment out to have it linear)
39
40 player.GetStatEnergy().Add( -metabolic_speed * deltaT );
41 if ( energy <= PlayerConstants.LOW_ENERGY_THRESHOLD )
42 {
43 player.SetMixedSoundState( eMixedSoundStates.HUNGRY );
44 if ((player.GetStomach().GetDigestingType() & PlayerStomach.DIGESTING_ENERGY) == 0)
45 player.AddHealth("GlobalHealth", "Health", -PlayerConstants.LOW_ENERGY_DAMAGE_PER_SEC * deltaT );
46 }
47 else
48 {
49 player.UnsetMixedSoundState( eMixedSoundStates.HUNGRY );
50 }
51 }
52};
override void OnReconnect(PlayerBase player)
Definition hunger.c:26
override void Init()
Definition hunger.c:7
override void OnTick(PlayerBase player, float deltaT)
Definition hunger.c:31
float m_EnergyDelta
Definition hunger.c:3
float m_LastEnergyLevel
Definition hunger.c:4
override bool ActivateCondition(PlayerBase player)
Definition hunger.c:16
ref HumanMovementState m_MovementState
Definition hunger.c:5
override bool DeactivateCondition(PlayerBase player)
Definition hunger.c:21
int m_ID
ID of effect, given by SEffectManager when registered (automatically done when playing through it)
Definition effect.c:51
eMixedSoundStates
bits
eModifiers
Definition emodifiers.c:2
bool m_TrackActivatedTime
overall time this modifier was active
void DisableDeactivateCheck()
float m_TickIntervalActive
float m_TickIntervalInactive
const int DEFAULT_TICK_TIME_INACTIVE
void PlayerStomach(PlayerBase player)