areadamageloopeddeferred.c 526 B

12345678910111213141516171819
  1. //! Deferred version of AreaDamageLooped
  2. class AreaDamageLoopedDeferred : AreaDamageLooped
  3. {
  4. //! Time the damage should be deferred in seconds
  5. protected float m_DeferDuration = 1.0;
  6. override void SetDeferDuration(float time)
  7. {
  8. m_DeferDuration = time;
  9. }
  10. override protected float CalculateDamageScale(TriggerInsider insider, float deltaTime)
  11. {
  12. if ( m_DeferDuration > 0 && (insider.lastUpdated - insider.timeEntered) >= m_DeferDuration )
  13. return super.CalculateDamageScale(insider, deltaTime);
  14. return 0;
  15. }
  16. }