Dayz Explorer  1.24.157551 (v105080)
Dayz Code Explorer by Zeroy
coolantsteam.c
Go to the documentation of this file.
2 {
3  override void SetParticleStateLight()
4  {
5  SetParticleState( ParticleList.HATCHBACK_COOLANT_OVERHEATING );
6  UpdateParticle();
7  }
8 
9  override void SetParticleStateHeavy()
10  {
11  SetParticleState( ParticleList.HATCHBACK_COOLANT_OVERHEATED );
12  UpdateParticle();
13  }
14 
15  void UpdateParticle()
16  {
17  Car parent = Car.Cast( GetAttachmentParent() );
18  Particle p = GetParticle();
19 
20  if (parent && p)
21  {
22  float speed = parent.GetSpeedometerAbsolute();
23 
24  float lifetime_scale = (100 - speed) / 100;
25  if (lifetime_scale < 0.1)
26  lifetime_scale = 0.1;
27 
28  float birthrate_scale = 1 + (speed * 0.02 );
29 
30  float speed_scale = 1 + (speed * 0.2 );
31  if (speed_scale > 10)
32  speed_scale = 10;
33 
34  float size_scale = 1 + (speed * 0.05 );
35 
36  if (size_scale > 2.5)
37  size_scale = 2.5;
38 
39  float gravity_add = speed * 0.005 ;
40 
41  p.ScaleParticleParamFromOriginal( EmitorParam.LIFETIME, lifetime_scale );
42  p.ScaleParticleParamFromOriginal( EmitorParam.LIFETIME_RND, lifetime_scale );
43  p.ScaleParticleParamFromOriginal( EmitorParam.BIRTH_RATE, birthrate_scale );
44  p.ScaleParticleParamFromOriginal( EmitorParam.BIRTH_RATE_RND, birthrate_scale );
45  p.ScaleParticleParamFromOriginal( EmitorParam.VELOCITY, speed_scale );
46  p.ScaleParticleParamFromOriginal( EmitorParam.VELOCITY_RND, speed_scale );
47  p.ScaleParticleParamFromOriginal( EmitorParam.SIZE, size_scale );
48  p.SetParticleParam ( EmitorParam.GRAVITY_SCALE, gravity_add );
49  }
50  }
51 }
EffCoolantSteam
Definition: coolantsteam.c:1
EffVehicleSmoke
Definition: vehiclesmoke.c:1
Particle
Legacy way of using particles in the game.
Definition: particle.c:6
EmitorParam
EmitorParam
Definition: envisual.c:113
ParticleList
Definition: particlelist.c:11
GetParticle
proto native ParticleSource GetParticle(int index)
Manually get the particle at index.
GetAttachmentParent
Object GetAttachmentParent()
Get the parent set by SetAttachmentParent.
Definition: effect.c:572