Dayz
Build 1.29.163047, Scripts Rev. 123548
Dayz Code Explorer by Zeroy
Toggle main menu visibility
Loading...
Searching...
No Matches
hunger.c
Go to the documentation of this file.
1
class
HungerMdfr
:
ModifierBase
2
{
3
protected
float
m_EnergyDelta
;
4
protected
float
m_LastEnergyLevel
;
5
ref
HumanMovementState
m_MovementState
=
new
HumanMovementState
();
6
7
override
void
Init
()
8
{
9
m_TrackActivatedTime
=
false
;
10
m_ID
=
eModifiers
.MDF_HUNGER;
11
m_TickIntervalInactive
=
DEFAULT_TICK_TIME_INACTIVE
;
12
m_TickIntervalActive
= 1;
13
DisableDeactivateCheck
();
14
}
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
};
HumanMovementState
Definition
human.c:1154
HungerMdfr
Definition
hunger.c:2
HungerMdfr::DeactivateCondition
override bool DeactivateCondition(PlayerBase player)
Definition
hunger.c:21
HungerMdfr::OnReconnect
override void OnReconnect(PlayerBase player)
Definition
hunger.c:26
HungerMdfr::m_LastEnergyLevel
float m_LastEnergyLevel
Definition
hunger.c:4
HungerMdfr::OnTick
override void OnTick(PlayerBase player, float deltaT)
Definition
hunger.c:31
HungerMdfr::Init
override void Init()
Definition
hunger.c:7
HungerMdfr::m_EnergyDelta
float m_EnergyDelta
Definition
hunger.c:3
HungerMdfr::ActivateCondition
override bool ActivateCondition(PlayerBase player)
Definition
hunger.c:16
HungerMdfr::m_MovementState
ref HumanMovementState m_MovementState
Definition
hunger.c:5
ModifierBase
Definition
breathvapourmdfr.c:4
PlayerBase
Definition
playerbaseclient.c:2
PlayerConstants
Definition
playerconstants.c:2
PlayerConstants::LOW_ENERGY_THRESHOLD
static const float LOW_ENERGY_THRESHOLD
Definition
playerconstants.c:72
PlayerConstants::SL_ENERGY_MAX
static const float SL_ENERGY_MAX
Definition
playerconstants.c:44
PlayerConstants::LOW_ENERGY_DAMAGE_PER_SEC
static const float LOW_ENERGY_DAMAGE_PER_SEC
Definition
playerconstants.c:142
PlayerConstants::CONSUMPTION_MULTIPLIER_BASE
static const float CONSUMPTION_MULTIPLIER_BASE
Definition
playerconstants.c:62
m_ID
int m_ID
ID of effect, given by SEffectManager when registered (automatically done when playing through it).
Definition
effect.c:51
eMixedSoundStates
eMixedSoundStates
bits
Definition
emixedsoundstates.c:3
eModifiers
eModifiers
Definition
emodifiers.c:2
m_TrackActivatedTime
bool m_TrackActivatedTime
overall time this modifier was active
Definition
modifierbase.c:14
DisableDeactivateCheck
void DisableDeactivateCheck()
Definition
modifierbase.c:86
m_TickIntervalActive
float m_TickIntervalActive
Definition
modifierbase.c:18
m_TickIntervalInactive
float m_TickIntervalInactive
Definition
modifierbase.c:17
DEFAULT_TICK_TIME_INACTIVE
const int DEFAULT_TICK_TIME_INACTIVE
Definition
modifiersmanager.c:29
PlayerStomach
void PlayerStomach(PlayerBase player)
Definition
playerstomach.c:142
Games
Dayz
scripts
4_world
classes
playermodifiers
modifiers
hunger.c
Generated by
1.17.0