Dayz Explorer 1.29.162510
Loading...
Searching...
No Matches
agentbase.c
Go to the documentation of this file.
1class AgentBase : MessageReceiverBase
2{
3 float m_Type = 0;
4 float m_Invasibility;
5 float m_TransferabilityIn;
6 float m_TransferabilityOut;
7 float m_Digestibility = 0.1;
8 int m_MaxCount = 1;
9 int m_AutoinfectCount = 1;
10 float m_AutoinfectProbability = CalculateAutoinfectProbability(0); // [0..1], 0 = zero chance, 1 = 100% chance of getting this agent once per hour
11 float m_TransferabilityAirOut;
12 float m_AntibioticsResistance = 1;
13
15
17 float m_DieOffSpeed = 1;
18
19 void AgentBase()
20 {
22 Init();
23 }
24
25 protected void InitDefaults()
26 {
27 m_DrugResistances.Insert(EMedicalDrugsType.CHELATION, 1.0);
28 m_DrugResistances.Insert(EMedicalDrugsType.ANTIBIOTICS, 1.0);
29 }
30
31 void Init();
32
34 {
35 return m_Type;
36 }
37
39 {
40 return GetDieOffSpeed();
41 }
42
44 {
45 return GetPotency();
46 }
47
49 {
50 return GetInvasibility();
51 }
52
54 {
55 return GetDigestibility();
56 }
57
59 {
60 return m_Potency;
61 }
62
64 {
65 return m_DieOffSpeed;
66 }
67
69 {
70 return m_AntibioticsResistance;
71 }
76
78 {
79 return m_DrugResistances.Get(drugType);
80 }
81
83 {
84 return m_Invasibility;
85 }
86
89 {
90 return true;
91 }
92
94 {
95 return m_Digestibility;
96 }
97
98 float CalculateAutoinfectProbability(float userprob)
99 {
100 return ( 1 - Math.Pow( 1 - userprob, ( 1 / 1200 ) ) );
101 }
102
103 bool AutoinfectCheck(float deltaT, PlayerBase player)
104 {
105 if (m_AutoinfectProbability == 0.0)
106 return false;
107
108 float diceThrow = Math.RandomFloat01();
109
110 if (diceThrow < m_AutoinfectProbability)
111 return CanAutoinfectPlayer(player);
112
113 return false;
114 }
115
117 {
118 return false;
119 }
120
122 {
123 return m_TransferabilityIn;
124 }
125
127 {
128 return m_TransferabilityOut;
129 }
130
132 {
133 return m_TransferabilityAirOut;
134 }
135
137 {
138 return m_MaxCount;
139 }
140
142 {
143 return m_AutoinfectCount;
144 }
145
146 string GetName()
147 {
148 return ClassName();
149 }
150
151
154
157 {
158 return true;
159 }
160}
EStatLevels GetPotencyEx(PlayerBase player)
Definition agentbase.c:43
float GetDieOffSpeedEx(PlayerBase player)
Definition agentbase.c:38
int GetAgentType()
Definition agentbase.c:33
float GetInvasibility()
Definition agentbase.c:82
float CalculateAutoinfectProbability(float userprob)
Definition agentbase.c:98
EStatLevels GetPotency()
Definition agentbase.c:58
void AgentBase()
how fast the agent dies off when not potent enough to grow(per sec)
Definition agentbase.c:19
float GetDigestibilityEx(PlayerBase player)
Definition agentbase.c:53
float GetTransferabilityOut()
Definition agentbase.c:126
float GetTransferabilityAirOut()
Definition agentbase.c:131
void InitDefaults()
Definition agentbase.c:25
float m_DieOffSpeed
grow when player's immune system is at this level or lower
Definition agentbase.c:17
bool CanAutoinfectPlayer(PlayerBase player)
Definition agentbase.c:116
int GetMaxCount()
Definition agentbase.c:136
EStatLevels m_Potency
Definition agentbase.c:16
float GetInvasibilityEx(PlayerBase player)
Definition agentbase.c:48
bool GrowDuringMedicalDrugsAttack(EMedicalDrugsType drugType, PlayerBase player)
should this agent grow based on invasibility even during usage of specific medical drugs attack
Definition agentbase.c:88
float GetAntiboticsResistance()
Definition agentbase.c:68
void Init()
float GetDrugResistance(EMedicalDrugsType drugType, PlayerBase player)
Definition agentbase.c:77
ref map< EMedicalDrugsType, float > m_DrugResistances
[0..1], 0 means antibiotics have full effect, 1 means no effect - deprecated, use the m_DrugResistanc...
Definition agentbase.c:14
float GetAntibioticsResistanceEx(PlayerBase player)
Definition agentbase.c:72
float GetTransferabilityIn()
Definition agentbase.c:121
float GetDigestibility()
Definition agentbase.c:93
string GetName()
Definition agentbase.c:146
bool AutoinfectCheck(float deltaT, PlayerBase player)
Definition agentbase.c:103
float GetDieOffSpeed()
Definition agentbase.c:63
bool GrowDuringAntibioticsAttack(PlayerBase player)
should this agent grow based on invasibility even during antibiotics attack
Definition agentbase.c:156
int GetAutoinfectCount()
Definition agentbase.c:141
Definition enmath.c:7
EMedicalDrugsType
EStatLevels
Definition estatlevels.c:2