Dayz Explorer 1.28.160049
Loading...
Searching...
No Matches
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() );
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}
Particle GetParticle()
Gets the main particle which this Effect is managing.
Legacy way of using particles in the game.
Definition particle.c:7
Object GetAttachmentParent()
Get the parent set by SetAttachmentParent.
Definition effect.c:599
EmitorParam
Definition envisual.c:114