DayZ 1.27
DayZ Explorer by KGB
 
Загрузка...
Поиск...
Не найдено
DisinfectMdfr.c
См. документацию.
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
Определения EAgents.c:3
int m_ID
ID of effect, given by SEffectManager when registered (automatically done when playing through it)
Определения Effect.c:49
bool m_TrackActivatedTime
overall time this modifier was active
Определения ModifierBase.c:14
float GetAttachedTime()
Определения ModifierBase.c:150
void DisableActivateCheck()
Определения ModifierBase.c:81
float m_TickIntervalActive
Определения ModifierBase.c:18
float m_TickIntervalInactive
Определения ModifierBase.c:17
bool m_IsPersistent
should this modifier track overall time it was active ?
Определения ModifierBase.c:15
const int DEFAULT_TICK_TIME_INACTIVE
Определения ModifiersManager.c:29
enum eModifierSyncIDs DEFAULT_TICK_TIME_ACTIVE
PluginBase GetPlugin(typename plugin_type)
Определения PluginManager.c:316
void OnActivate()
Определения Trap_LandMine.c:67
override void OnReconnect(PlayerBase player)
Определения DisinfectMdfr.c:23
override bool DeactivateCondition(PlayerBase player)
Определения DisinfectMdfr.c:56
override void OnActivate(PlayerBase player)
Определения DisinfectMdfr.c:39
override bool ActivateCondition(PlayerBase player)
Определения DisinfectMdfr.c:18
const int LIFETIME
Определения DisinfectMdfr.c:3
float m_WoundAgentInvasibility
Определения DisinfectMdfr.c:6
override void OnDeactivate(PlayerBase player)
Определения DisinfectMdfr.c:45
override string GetDebugText()
Определения DisinfectMdfr.c:28
override void OnTick(PlayerBase player, float deltaT)
Определения DisinfectMdfr.c:70
override void Init()
Определения DisinfectMdfr.c:7
override string GetDebugTextSimple()
Определения DisinfectMdfr.c:33
PluginTransmissionAgents m_PluginTransmissionAgents
Определения DisinfectMdfr.c:5
Определения DisinfectMdfr.c:2
Определения BreathVapourMdfr.c:4
Определения PlayerBaseClient.c:2
eModifiers
Определения eModifiers.c:2
static proto string ToString(void var, bool type=false, bool name=false, bool quotes=true)
Return string representation of variable.