DayZ 1.24
Loading...
Searching...
No Matches
ContaminatedArea_Dynamic Class Reference
Inheritance diagram for ContaminatedArea_Dynamic:
[legend]
Collaboration diagram for ContaminatedArea_Dynamic:
[legend]

Protected Member Functions

void ContaminatedArea_Dynamic ()
 
override void EEOnCECreate ()
 
float GetRemainingTime ()
 
float GetStartDecayLifetime ()
 
float GetFinishDecayLifetime ()
 
override void Tick ()
 
void SetDecayState (int newState)
 
override void EEInit ()
 
override void InitZone ()
 
override void InitZoneServer ()
 
void SpawnItems ()
 
override void InitZoneClient ()
 
override void OnParticleAllocation (ParticleManager pm, array< ParticleSource > particles)
 
override void CreateTrigger (vector pos, int radius)
 
void PlayFX ()
 
void PlayExplosionLight ()
 
void PlayFlareVFX ()
 
override void EEDelete (EntityAI parent)
 
override void OnVariablesSynchronized ()
 

Protected Attributes

ref Timer m_StartupTimer
 
ref Timer m_FXTimer
 
FlareLight m_FlareLight
 
ShellLight m_ShellLight
 
vector m_OffsetPos
 
int m_DecayState = eAreaDecayStage.INIT
 
const int AIRBORNE_EXPLOSION_DELAY = 20
 
const int AREA_SETUP_DELAY = 10
 
const float AIRBORNE_FX_OFFSET = 50
 
const float ARTILLERY_SHELL_SPEED = 100
 
const float DECAY_START_PART_SIZE = 32
 
const int DECAY_START_PART_BIRTH_RATE = 1
 
const float DECAY_END_PART_SIZE = 17
 
const int DECAY_END_PART_BIRTH_RATE = 1
 
const float START_DECAY_LIFETIME = 900
 
const float FINISH_DECAY_LIFETIME = 300
 
const ref array< stringSPAWN_ITEM_TYPE = {"Grenade_ChemGas"}
 
const ref array< intSPAWN_ITEM_COUNT = {Math.RandomIntInclusive(2, 5)}
 
const ref array< floatSPAWN_ITEM_RAD_MIN = {5}
 
const ref array< floatSPAWN_ITEM_RAD_MAX = {15}
 

Detailed Description

Definition at line 31 of file ContaminatedArea_Dynamic.c.

Constructor & Destructor Documentation

◆ ContaminatedArea_Dynamic()

void ContaminatedArea_Dynamic::ContaminatedArea_Dynamic ( )
inlineprotected

Definition at line 61 of file ContaminatedArea_Dynamic.c.

62 {
63 RegisterNetSyncVariableInt("m_DecayState");
64 }

Member Function Documentation

◆ CreateTrigger()

override void ContaminatedArea_Dynamic::CreateTrigger ( vector pos,
int radius )
inlineprotected

Definition at line 289 of file ContaminatedArea_Dynamic.c.

290 {
291 super.CreateTrigger(pos, radius);
292
293 // This handles the specific case of dynamic triggers as some additionnal parameters are present
295 if (dynaTrigger)
296 {
298 dynaTrigger.SetAreaState(m_DecayState);
299 }
300 }
void ContaminatedTrigger_Dynamic()
EffectTrigger m_Trigger
Definition EffectArea.c:70
int m_PPERequesterIdx
Definition EffectArea.c:65
int m_TinyParticleID
Definition EffectArea.c:63
int m_AroundParticleID
Definition EffectArea.c:62

References ContaminatedTrigger_Dynamic(), EffectArea::m_AroundParticleID, m_DecayState, EffectArea::m_PPERequesterIdx, EffectArea::m_TinyParticleID, and EffectArea::m_Trigger.

◆ EEDelete()

override void ContaminatedArea_Dynamic::EEDelete ( EntityAI parent)
inlineprotected

Definition at line 341 of file ContaminatedArea_Dynamic.c.

342 {
343 super.EEDelete(parent);
344 }

◆ EEInit()

override void ContaminatedArea_Dynamic::EEInit ( )
inlineprotected

Definition at line 170 of file ContaminatedArea_Dynamic.c.

171 {
172 // We make sure we have the particle array
173 if (!m_ToxicClouds)
175
176 // We set the values for dynamic area as these are not set through JSON and are standardized
177 m_Name = "Default Dynamic";
178 m_Radius = 120;
180 m_NegativeHeight = 10;
181 m_InnerRings = 1;
182 m_InnerSpacing = 40;
183 m_OuterSpacing = 30;
185 m_Type = eZoneType.DYNAMIC;
186 m_TriggerType = "ContaminatedTrigger_Dynamic";
187
188 SetSynchDirty();
189
190#ifdef DEVELOPER
191 // Debugs when placing entity by hand using internal tools
192 /*if ( GetGame().IsServer() && !GetGame().IsMultiplayer() )
193 {
194 Debug.Log("YOU CAN IGNORE THE FOLLOWING DUMP");
195 InitZone();
196 Debug.Log("YOU CAN USE FOLLOWING DATA PROPERLY");
197 }*/
198#endif
199
202
203 // If a player arrives slightly later during the creation process we check if playing the flare FX is relevant
204 if (m_DecayState == eAreaDecayStage.INIT)
205 PlayFlareVFX();
206
207 if (m_DecayState == eAreaDecayStage.LIVE)
208 InitZone(); // If it has already been created, we simply do the normal setup, no cool effects, force the LIVE state
209 else if (GetGame().IsClient() && m_DecayState > eAreaDecayStage.LIVE)
210 InitZoneClient(); // Same as before but without state forcing
211
212 super.EEInit();
213 }
eZoneType
Definition EffectArea.c:3
class JsonUndergroundAreaTriggerData GetPosition
string m_Name
Definition EffectArea.c:39
ref array< Particle > m_ToxicClouds
Definition EffectArea.c:72
float m_NegativeHeight
Definition EffectArea.c:46
float m_PositiveHeight
Definition EffectArea.c:45
string m_TriggerType
Definition EffectArea.c:69
int m_InnerRings
Definition EffectArea.c:50
float m_Radius
Definition EffectArea.c:44
int m_OuterRingOffset
Definition EffectArea.c:54
int m_InnerSpacing
Definition EffectArea.c:51
int m_OuterSpacing
Definition EffectArea.c:55
proto native CGame GetGame()

References AIRBORNE_FX_OFFSET, GetGame(), GetPosition, InitZone(), InitZoneClient(), m_DecayState, EffectArea::m_InnerRings, EffectArea::m_InnerSpacing, EffectArea::m_Name, EffectArea::m_NegativeHeight, m_OffsetPos, EffectArea::m_OuterRingOffset, EffectArea::m_OuterSpacing, EffectArea::m_PositiveHeight, EffectArea::m_Radius, EffectArea::m_ToxicClouds, EffectArea::m_TriggerType, EffectArea::m_Type, and PlayFlareVFX().

◆ EEOnCECreate()

override void ContaminatedArea_Dynamic::EEOnCECreate ( )
inlineprotected

Definition at line 66 of file ContaminatedArea_Dynamic.c.

67 {
68 // We get the PPE index for future usage and synchronization ( we must do it here for dynamic as it is not read through file )
69 if (GetGame().IsServer())
71
72 SetSynchDirty();
73
74 // If this is the first initialization, we delay it in order to play cool effects
75 if (m_DecayState == eAreaDecayStage.INIT)
76 {
80
81 // play artillery sound, sent to be played for everyone on server
82 array<vector> artilleryPoints = GetGame().GetMission().GetWorldData().GetArtyFiringPos();
84 int dist = 0;
85 int temp;
86 int index = 0;
87 for (int i = 0; i < artilleryPoints.Count(); i++)
88 {
90 if (temp < dist || dist == 0)
91 {
92 dist = temp;
93 index = i;
94 }
95 }
96
98
99 // We calculate the delay depending on distance from firing position to simulate shell travel time
102 delay += AIRBORNE_EXPLOSION_DELAY; // We add the base, minimum time ( no area can start before this delay )
103
104 Param3<vector, vector, float> pos; // The value to be sent through RPC
105 array<ref Param> params; // The RPC params
106
107 // We prepare to send the message
110
111 // We send the message with this set of coords
112 params.Insert(pos);
113 GetGame().RPC(null, ERPCs.RPC_SOUND_ARTILLERY_SINGLE, params, true);
114
116 m_FXTimer.Run(delay, this, "PlayFX");
117
118 delay += AREA_SETUP_DELAY; // We have an additional delay between shell detonation and finalization of area creation
119 // setup zone
121 m_StartupTimer.Run(delay, this, "InitZone");
122 }
123 }
ERPCs
Definition ERPCs.c:2
int GetRequesterIndex(string type)
Definition EffectArea.c:375
string m_PPERequesterType
Definition EffectArea.c:64
static proto native float DistanceSq(vector v1, vector v2)
Returns the square distance between tips of two 3D vectors.
static proto native float Distance(vector v1, vector v2)
Returns the distance between tips of two 3D vectors.
const int CALL_CATEGORY_GAMEPLAY
Definition tools.c:10

References AIRBORNE_EXPLOSION_DELAY, AIRBORNE_FX_OFFSET, AREA_SETUP_DELAY, ARTILLERY_SHELL_SPEED, CALL_CATEGORY_GAMEPLAY, vector::Distance(), vector::DistanceSq(), GetGame(), GetPosition, EffectArea::GetRequesterIndex(), m_DecayState, m_FXTimer, m_OffsetPos, EffectArea::m_PPERequesterIdx, EffectArea::m_PPERequesterType, and m_StartupTimer.

◆ GetFinishDecayLifetime()

float ContaminatedArea_Dynamic::GetFinishDecayLifetime ( )
inlineprotected

Definition at line 135 of file ContaminatedArea_Dynamic.c.

136 {
138 }

References FINISH_DECAY_LIFETIME.

Referenced by Tick().

◆ GetRemainingTime()

float ContaminatedArea_Dynamic::GetRemainingTime ( )
inlineprotected

Definition at line 125 of file ContaminatedArea_Dynamic.c.

126 {
127 return GetLifetime();
128 }

Referenced by Tick().

◆ GetStartDecayLifetime()

float ContaminatedArea_Dynamic::GetStartDecayLifetime ( )
inlineprotected

Definition at line 130 of file ContaminatedArea_Dynamic.c.

131 {
133 }

References START_DECAY_LIFETIME.

Referenced by Tick().

◆ InitZone()

override void ContaminatedArea_Dynamic::InitZone ( )
inlineprotected

Definition at line 216 of file ContaminatedArea_Dynamic.c.

217 {
219 SetSynchDirty();
220
221 super.InitZone();
222 }

References m_DecayState.

Referenced by EEInit().

◆ InitZoneClient()

override void ContaminatedArea_Dynamic::InitZoneClient ( )
inlineprotected

Definition at line 256 of file ContaminatedArea_Dynamic.c.

257 {
258 super.InitZoneClient();
259
260 if (!m_ToxicClouds)
262
263 // We spawn VFX on client
265 }
bool m_OuterRingToggle
Definition EffectArea.c:53
int m_ParticleID
Definition EffectArea.c:61
void PlaceParticles(vector pos, float radius, int nbRings, int innerSpacing, bool outerToggle, int outerSpacing, int outerOffset, int partId)
Definition EffectArea.c:218

References EffectArea::m_InnerRings, EffectArea::m_InnerSpacing, EffectArea::m_OuterRingOffset, EffectArea::m_OuterRingToggle, EffectArea::m_OuterSpacing, EffectArea::m_ParticleID, EffectArea::m_Radius, EffectArea::m_ToxicClouds, and EffectArea::PlaceParticles().

Referenced by EEInit(), and OnVariablesSynchronized().

◆ InitZoneServer()

override void ContaminatedArea_Dynamic::InitZoneServer ( )
inlineprotected

Definition at line 224 of file ContaminatedArea_Dynamic.c.

225 {
226 super.InitZoneServer();
227
228 SpawnItems();
229 // We create the trigger on server
230 if (m_TriggerType != "")
232 }
void CreateTrigger()
Definition TrapBase.c:468
vector m_Position
Definition EffectArea.c:41

References CreateTrigger(), EffectArea::m_Position, EffectArea::m_Radius, EffectArea::m_TriggerType, and SpawnItems().

◆ OnParticleAllocation()

override void ContaminatedArea_Dynamic::OnParticleAllocation ( ParticleManager pm,
array< ParticleSource > particles )
inlineprotected

Definition at line 267 of file ContaminatedArea_Dynamic.c.

268 {
269 super.OnParticleAllocation(pm, particles);
270
271 if (m_DecayState > eAreaDecayStage.LIVE)
272 {
273 foreach (ParticleSource p : particles)
274 {
275 if (m_DecayState == eAreaDecayStage.DECAY_END)
276 {
277 p.SetParameter(0, EmitorParam.BIRTH_RATE, DECAY_END_PART_BIRTH_RATE);
278 p.SetParameter(0, EmitorParam.SIZE, DECAY_END_PART_SIZE);
279 }
280 else
281 {
282 p.SetParameter(0, EmitorParam.BIRTH_RATE, DECAY_START_PART_BIRTH_RATE);
283 p.SetParameter(0, EmitorParam.SIZE, DECAY_START_PART_SIZE);
284 }
285 }
286 }
287 }
Entity which has the particle instance as an ObjectComponent.
EmitorParam
Definition EnVisual.c:114

References DECAY_END_PART_BIRTH_RATE, DECAY_END_PART_SIZE, DECAY_START_PART_BIRTH_RATE, DECAY_START_PART_SIZE, and m_DecayState.

◆ OnVariablesSynchronized()

override void ContaminatedArea_Dynamic::OnVariablesSynchronized ( )
inlineprotected

Definition at line 346 of file ContaminatedArea_Dynamic.c.

347 {
348 super.OnVariablesSynchronized();
349
350 if (!m_ToxicClouds)
352
353 switch (m_DecayState)
354 {
355 case eAreaDecayStage.START:
357 break;
358 case eAreaDecayStage.LIVE:
360
361 break;
362 case eAreaDecayStage.DECAY_START:
363 {
364 // We go through all the particles bound to this area and update relevant parameters
365 //Debug.Log("We start decay");
366 foreach (Particle p : m_ToxicClouds)
367 {
368 p.SetParameter(0, EmitorParam.BIRTH_RATE, DECAY_START_PART_BIRTH_RATE);
369 p.SetParameter(0, EmitorParam.SIZE, DECAY_START_PART_SIZE);
370 }
371
372 break;
373 }
374 case eAreaDecayStage.DECAY_END:
375 {
376 // We go through all the particles bound to this area and update relevant parameters
377 //Debug.Log("We finish decay");
378 foreach (Particle prt : m_ToxicClouds)
379 {
380 prt.SetParameter(0, EmitorParam.BIRTH_RATE, DECAY_END_PART_BIRTH_RATE);
381 prt.SetParameter(0, EmitorParam.SIZE, DECAY_END_PART_SIZE);
382 }
383
384 break;
385 }
386 default:
387 break;
388 }
389 }
Legacy way of using particles in the game.
Definition Particle.c:7

References DECAY_END_PART_BIRTH_RATE, DECAY_END_PART_SIZE, DECAY_START_PART_BIRTH_RATE, DECAY_START_PART_SIZE, InitZoneClient(), m_DecayState, EffectArea::m_ToxicClouds, and PlayExplosionLight().

◆ PlayExplosionLight()

void ContaminatedArea_Dynamic::PlayExplosionLight ( )
inlineprotected

◆ PlayFlareVFX()

void ContaminatedArea_Dynamic::PlayFlareVFX ( )
inlineprotected

Definition at line 329 of file ContaminatedArea_Dynamic.c.

330 {
331 if (GetGame().IsClient() || (GetGame().IsServer() && !GetGame().IsMultiplayer()))
332 {
333 // We spawn locally the dummy object which will be used to move and manage the particle
334 DynamicArea_Flare dummy = DynamicArea_Flare.Cast(GetGame().CreateObjectEx("DynamicArea_Flare", m_OffsetPos, ECE_SETUP | ECE_LOCAL));
335
336 // We add some light to reinforce the effect
337 m_FlareLight = FlareLightContamination.Cast(ScriptedLightBase.CreateLight(FlareLightContamination, m_OffsetPos));
338 }
339 }
const int ECE_LOCAL
const int ECE_SETUP

References ECE_LOCAL, ECE_SETUP, GetGame(), m_FlareLight, and m_OffsetPos.

Referenced by EEInit().

◆ PlayFX()

void ContaminatedArea_Dynamic::PlayFX ( )
inlineprotected

Definition at line 302 of file ContaminatedArea_Dynamic.c.

303 {
304 if (GetGame().IsServer())
305 {
306 Param1<vector> pos; // The value to be sent through RPC
307 array<ref Param> params; // The RPC params
308
309 // We prepare to send the message
310 pos = new Param1<vector>(vector.Zero);
312
313 // We send the message with this set of coords
314 pos.param1 = m_OffsetPos;
315 params.Insert(pos);
316 GetGame().RPC(null, ERPCs.RPC_SOUND_CONTAMINATION, params, true);
317
318 // We go to the next stage
320 SetSynchDirty();
321 }
322 }
static const vector Zero
Definition EnConvert.c:110

References GetGame(), m_DecayState, m_OffsetPos, and vector::Zero.

◆ SetDecayState()

void ContaminatedArea_Dynamic::SetDecayState ( int newState)
inlineprotected

Definition at line 156 of file ContaminatedArea_Dynamic.c.

157 {
158 if (m_DecayState != newState)
159 {
161
162 // We update the trigger state values as we also want to update player bound effects
163 if (m_Trigger)
165
166 SetSynchDirty();
167 }
168 }

References ContaminatedTrigger_Dynamic(), m_DecayState, and EffectArea::m_Trigger.

Referenced by Tick().

◆ SpawnItems()

void ContaminatedArea_Dynamic::SpawnItems ( )
inlineprotected

Definition at line 234 of file ContaminatedArea_Dynamic.c.

235 {
236 //Print("---------============ Spawning items at pos:"+m_Position);
237 foreach (int j, string type: SPAWN_ITEM_TYPE)
238 {
239 //Print("----------------------------------");
240 for (int i = 0; i < SPAWN_ITEM_COUNT[j]; i++)
241 {
246 vector mat[4];
248 mat[3] = spawnPos;
249 il.SetGround(NULL, mat);
250 //Print("Spawning item:"+ type + " at position:" + il.GetPos());
251 GetGame().CreateObjectEx(type, il.GetPos(), ECE_PLACE_ON_SURFACE);
252 }
253 }
254 }
const int ECE_PLACE_ON_SURFACE
const ref array< float > SPAWN_ITEM_RAD_MAX
const ref array< string > SPAWN_ITEM_TYPE
const ref array< int > SPAWN_ITEM_COUNT
const ref array< float > SPAWN_ITEM_RAD_MIN
InventoryLocation.
Definition EnMath.c:7
static vector RandomDir2D()
Returns randomly generated XZ unit vector with the Y(up) axis set to 0.
Definition EnConvert.c:260
static void MatrixIdentity4(out vector mat[4])
Creates identity matrix.
Definition EnMath3D.c:233
static float RandomFloatInclusive(float min, float max)
Returns a random float number between and min [inclusive] and max [inclusive].
Definition EnMath.c:106

References ECE_PLACE_ON_SURFACE, GetGame(), EffectArea::m_Position, Math3D::MatrixIdentity4(), vector::RandomDir2D(), Math::RandomFloatInclusive(), SPAWN_ITEM_COUNT, SPAWN_ITEM_RAD_MAX, SPAWN_ITEM_RAD_MIN, and SPAWN_ITEM_TYPE.

Referenced by InitZoneServer().

◆ Tick()

override void ContaminatedArea_Dynamic::Tick ( )
inlineprotected

Definition at line 140 of file ContaminatedArea_Dynamic.c.

141 {
143 {
144 // The second state of decay, further reduction of particle density and size
146 }
148 {
149 // The first state of decay, slight reduction in particle density and size
150 SetDecayState(eAreaDecayStage.DECAY_START);
151 }
152
153 }

References GetFinishDecayLifetime(), GetRemainingTime(), GetStartDecayLifetime(), and SetDecayState().

Member Data Documentation

◆ AIRBORNE_EXPLOSION_DELAY

const int ContaminatedArea_Dynamic::AIRBORNE_EXPLOSION_DELAY = 20
protected

Definition at line 41 of file ContaminatedArea_Dynamic.c.

Referenced by EEOnCECreate().

◆ AIRBORNE_FX_OFFSET

const float ContaminatedArea_Dynamic::AIRBORNE_FX_OFFSET = 50
protected

Definition at line 43 of file ContaminatedArea_Dynamic.c.

Referenced by EEInit(), and EEOnCECreate().

◆ AREA_SETUP_DELAY

const int ContaminatedArea_Dynamic::AREA_SETUP_DELAY = 10
protected

Definition at line 42 of file ContaminatedArea_Dynamic.c.

Referenced by EEOnCECreate().

◆ ARTILLERY_SHELL_SPEED

const float ContaminatedArea_Dynamic::ARTILLERY_SHELL_SPEED = 100
protected

Definition at line 44 of file ContaminatedArea_Dynamic.c.

Referenced by EEOnCECreate().

◆ DECAY_END_PART_BIRTH_RATE

const int ContaminatedArea_Dynamic::DECAY_END_PART_BIRTH_RATE = 1
protected

Definition at line 50 of file ContaminatedArea_Dynamic.c.

Referenced by OnParticleAllocation(), and OnVariablesSynchronized().

◆ DECAY_END_PART_SIZE

const float ContaminatedArea_Dynamic::DECAY_END_PART_SIZE = 17
protected

Definition at line 49 of file ContaminatedArea_Dynamic.c.

Referenced by OnParticleAllocation(), and OnVariablesSynchronized().

◆ DECAY_START_PART_BIRTH_RATE

const int ContaminatedArea_Dynamic::DECAY_START_PART_BIRTH_RATE = 1
protected

Definition at line 48 of file ContaminatedArea_Dynamic.c.

Referenced by OnParticleAllocation(), and OnVariablesSynchronized().

◆ DECAY_START_PART_SIZE

const float ContaminatedArea_Dynamic::DECAY_START_PART_SIZE = 32
protected

Definition at line 47 of file ContaminatedArea_Dynamic.c.

Referenced by OnParticleAllocation(), and OnVariablesSynchronized().

◆ FINISH_DECAY_LIFETIME

const float ContaminatedArea_Dynamic::FINISH_DECAY_LIFETIME = 300
protected

Definition at line 52 of file ContaminatedArea_Dynamic.c.

Referenced by GetFinishDecayLifetime().

◆ m_DecayState

int ContaminatedArea_Dynamic::m_DecayState = eAreaDecayStage.INIT
protected

◆ m_FlareLight

FlareLight ContaminatedArea_Dynamic::m_FlareLight
protected

Definition at line 35 of file ContaminatedArea_Dynamic.c.

Referenced by PlayFlareVFX().

◆ m_FXTimer

ref Timer ContaminatedArea_Dynamic::m_FXTimer
protected

Definition at line 34 of file ContaminatedArea_Dynamic.c.

Referenced by EEOnCECreate().

◆ m_OffsetPos

vector ContaminatedArea_Dynamic::m_OffsetPos
protected

◆ m_ShellLight

ShellLight ContaminatedArea_Dynamic::m_ShellLight
protected

Definition at line 36 of file ContaminatedArea_Dynamic.c.

Referenced by PlayExplosionLight().

◆ m_StartupTimer

ref Timer ContaminatedArea_Dynamic::m_StartupTimer
protected

Definition at line 33 of file ContaminatedArea_Dynamic.c.

Referenced by EEOnCECreate().

◆ SPAWN_ITEM_COUNT

const ref array<int> ContaminatedArea_Dynamic::SPAWN_ITEM_COUNT = {Math.RandomIntInclusive(2, 5)}
protected

Definition at line 56 of file ContaminatedArea_Dynamic.c.

56{Math.RandomIntInclusive(2, 5)}; //how many of each type
static int RandomIntInclusive(int min, int max)
Returns a random int number between and min [inclusive] and max [inclusive].
Definition EnMath.c:54

Referenced by SpawnItems().

◆ SPAWN_ITEM_RAD_MAX

const ref array<float> ContaminatedArea_Dynamic::SPAWN_ITEM_RAD_MAX = {15}
protected

Definition at line 58 of file ContaminatedArea_Dynamic.c.

58{15};//max distance the item will be spawned from the area position(epicenter)

Referenced by SpawnItems().

◆ SPAWN_ITEM_RAD_MIN

const ref array<float> ContaminatedArea_Dynamic::SPAWN_ITEM_RAD_MIN = {5}
protected

Definition at line 57 of file ContaminatedArea_Dynamic.c.

57{5};//min distance the item will be spawned from the area position(epicenter)

Referenced by SpawnItems().

◆ SPAWN_ITEM_TYPE

const ref array<string> ContaminatedArea_Dynamic::SPAWN_ITEM_TYPE = {"Grenade_ChemGas"}
protected

Definition at line 55 of file ContaminatedArea_Dynamic.c.

55{"Grenade_ChemGas"};//item classnames

Referenced by SpawnItems().

◆ START_DECAY_LIFETIME

const float ContaminatedArea_Dynamic::START_DECAY_LIFETIME = 900
protected

Definition at line 51 of file ContaminatedArea_Dynamic.c.

Referenced by GetStartDecayLifetime().


The documentation for this class was generated from the following file: