DayZ Scripts
v1.21.156300 ยท Jun 20, 2023
 
Loading...
Searching...
No Matches
DisinfectMdfr.c
Go to the documentation of this file.
2{
3 const int LIFETIME = 100;
4 //const int EFFECT_TIME = 100;
5 PluginTransmissionAgents m_PluginTransmissionAgents = PluginTransmissionAgents.Cast(GetPlugin(PluginTransmissionAgents));
7 override void Init()
8 {
10 m_IsPersistent = true;
11 m_ID = eModifiers.MDF_DISINFECTION;
14 //m_WoundAgentInvasibility = m_PluginTransmissionAgents.GetAgentInvasibility(eAgents.WOUND_AGENT);
16 }
17
18 override bool ActivateCondition(PlayerBase player)
19 {
20 return false;
21 }
22
23 override void OnReconnect(PlayerBase player)
24 {
25 OnActivate( player );
26 }
27
28 override string GetDebugText()
29 {
30 return ( LIFETIME - GetAttachedTime() ).ToString();
31 }
32
33 override string GetDebugTextSimple()
34 {
35 return ( LIFETIME - GetAttachedTime() ).ToString();
36 }
37
38
39 override void OnActivate(PlayerBase player)
40 {
41 player.IncreaseHealingsCount();
42
43 }
44
45 override void OnDeactivate(PlayerBase player)
46 {
47 player.DecreaseHealingsCount();
48
49 if(player.GetModifiersManager().IsModifierActive(eModifiers.MDF_WOUND_INFECTION1))
50 {
51 player.m_AgentPool.AddAgent(eAgents.WOUND_AGENT, -10000);
52 }
53
54 }
55
56 override bool DeactivateCondition(PlayerBase player)
57 {
58 float attached_time = GetAttachedTime();
59
60 if ( attached_time >= LIFETIME )
61 {
62 return true;
63 }
64 else
65 {
66 return false;
67 }
68 }
69
70 override void OnTick(PlayerBase player, float deltaT)
71 {
72 if(player.GetModifiersManager().IsModifierActive(eModifiers.MDF_WOUND_INFECTION2))
73 {
74 player.m_AgentPool.AddAgent(eAgents.WOUND_AGENT, -m_PluginTransmissionAgents.GetAgentInvasibility(eAgents.WOUND_AGENT) * deltaT);
75 }
76 else
77 {
78 player.m_AgentPool.AddAgent(eAgents.WOUND_AGENT, -m_PluginTransmissionAgents.GetAgentInvasibility(eAgents.WOUND_AGENT) * 2 * deltaT);
79 }
80 }
81};
eAgents
Definition EAgents.c:3
protected int m_ID
ID of effect, given by SEffectManager when registered (automatically done when playing through it)
Definition Effect.c:49
bool m_TrackActivatedTime
float GetAttachedTime()
void DisableActivateCheck()
float m_TickIntervalActive
float m_TickIntervalInactive
bool m_IsPersistent
const int DEFAULT_TICK_TIME_INACTIVE
const int DEFAULT_TICK_TIME_ACTIVE
PluginBase GetPlugin(typename plugin_type)
override bool DeactivateCondition(PlayerBase player)
override void OnReconnect(PlayerBase player)
override void OnActivate(PlayerBase player)
override string GetDebugText()
override string GetDebugTextSimple()
override void OnTick(PlayerBase player, float deltaT)
const int LIFETIME
override void Init()
float m_WoundAgentInvasibility
override bool ActivateCondition(PlayerBase player)
override void OnDeactivate(PlayerBase player)
PluginTransmissionAgents m_PluginTransmissionAgents
eModifiers
Definition eModifiers.c:2
static proto string ToString(void var, bool type=false, bool name=false, bool quotes=true)
Return string representation of variable.
class HumanMovementState OnActivate()
HumanCommandScript fully scriptable command.
Definition human.c:1169