areadamageloopeddeferred_novehicle.c 527 B

12345678910111213141516
  1. //! A particular version of the deferred loop used to not damage players inside vehicles
  2. class AreaDamageLoopedDeferred_NoVehicle: AreaDamageLoopedDeferred
  3. {
  4. override bool OnEvaluateDamageEx( TriggerInsider insider, float deltaTime )
  5. {
  6. // For case where player is inside vehicle
  7. if ( insider.GetObject().IsMan() )
  8. {
  9. PlayerBase playerInsider = PlayerBase.Cast( insider.GetObject() );
  10. if ( playerInsider.GetCommand_Vehicle() )
  11. return false;
  12. }
  13. return super.OnEvaluateDamageEx( insider, deltaTime );
  14. }
  15. }