exhaustsmoke.c 814 B

12345678910111213141516171819202122232425262728
  1. class EffExhaustSmoke : EffVehicleSmoke
  2. {
  3. override void SetParticleStateLight()
  4. {
  5. SetParticleState( ParticleList.HATCHBACK_EXHAUST_SMOKE );
  6. Car parent = Car.Cast( GetAttachmentParent() );
  7. Particle p = GetParticle();
  8. if ( parent && p )
  9. {
  10. float speed = parent.GetSpeedometerAbsolute();
  11. float lifetime_scale;
  12. if (speed < 100)
  13. lifetime_scale = (100 - speed) / 100;
  14. else
  15. lifetime_scale = 0.1;
  16. float birthrate_scale = 1 + (speed * 0.1 );
  17. p.ScaleParticleParamFromOriginal( EmitorParam.LIFETIME, lifetime_scale );
  18. p.ScaleParticleParamFromOriginal( EmitorParam.LIFETIME_RND, lifetime_scale );
  19. p.ScaleParticleParamFromOriginal( EmitorParam.BIRTH_RATE, birthrate_scale );
  20. p.ScaleParticleParamFromOriginal( EmitorParam.BIRTH_RATE_RND, birthrate_scale );
  21. }
  22. }
  23. }