1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556 |
- class Hit_Wood : EffBulletImpactBase
- {
- void Hit_Wood()
- {
- SetEnterParticle(ParticleList.IMPACT_WOOD_ENTER);
- SetExitParticle(ParticleList.IMPACT_WOOD_EXIT);
- SetRicochetParticle(ParticleList.IMPACT_WOOD_RICOCHET);
- }
-
- override void OnEnterCalculations( Particle p )
- {
- // All values represent scale
- float velocity_min = MIN_SCALING_PARAM + (m_StoppingForce * m_EnterSplashCoef);
- float velocity_max = MIN_SCALING_PARAM + (m_StoppingForce * m_EnterSplashCoef);
- float size = MIN_SCALING_PARAM + ( m_StoppingForce * m_EnterSplashCoef)*0.5;
- float birth_rate = MIN_SCALING_PARAM + (m_StoppingForce * m_EnterSplashCoef)*0.5;
-
- if (velocity_min < MIN_SCALING_PARAM)
- velocity_min = MIN_SCALING_PARAM;
-
- if (size < MIN_SCALING_PARAM)
- size = MIN_SCALING_PARAM;
-
- if (birth_rate < MIN_SCALING_PARAM)
- birth_rate = MIN_SCALING_PARAM;
-
-
-
- p.ScaleParticleParam(EmitorParam.VELOCITY, velocity_min);
- p.ScaleParticleParam(EmitorParam.VELOCITY_RND, velocity_max);
- p.ScaleParticleParam(EmitorParam.SIZE, size);
- p.ScaleParticleParam(EmitorParam.BIRTH_RATE, birth_rate);
- }
-
- override void OnExitCalculations(Particle p, float outSpeedf)
- {
- float velocity_min = 1 + (outSpeedf * m_ExitSplashCoef);
- float velocity_max = 1 + (outSpeedf * m_ExitSplashCoef);
- float size = 1 + ( outSpeedf * m_ExitSplashCoef)*0.5;
- float birth_rate = 1 + (outSpeedf * m_ExitSplashCoef)*0.5;
-
- if (velocity_min < MIN_SCALING_PARAM)
- velocity_min = MIN_SCALING_PARAM;
-
- if (size < MIN_SCALING_PARAM)
- size = MIN_SCALING_PARAM;
-
- if (birth_rate < MIN_SCALING_PARAM)
- birth_rate = MIN_SCALING_PARAM;
-
- p.ScaleParticleParam(EmitorParam.VELOCITY, velocity_min);
- p.ScaleParticleParam(EmitorParam.VELOCITY_RND, velocity_max);
- p.ScaleParticleParam(EmitorParam.SIZE, size);
- p.ScaleParticleParam(EmitorParam.BIRTH_RATE, birth_rate);
- }
- }
|