tremor.c 1.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546
  1. class TremorMdfr: ModifierBase
  2. {
  3. private const float TREMOR_DECREMENT_PER_SEC = 0.008;
  4. override void Init()
  5. {
  6. m_TrackActivatedTime = false;
  7. m_ID = eModifiers.MDF_TREMOR;
  8. m_TickIntervalInactive = DEFAULT_TICK_TIME_INACTIVE;
  9. m_TickIntervalActive = DEFAULT_TICK_TIME_ACTIVE;
  10. }
  11. override bool ActivateCondition(PlayerBase player)
  12. {
  13. if ( player.GetStatTremor().Get() > player.GetStatTremor().GetMin() )
  14. {
  15. return true;
  16. }
  17. else
  18. {
  19. return false;
  20. }
  21. }
  22. override bool DeactivateCondition(PlayerBase player)
  23. {
  24. if ( player.GetStatTremor().Get() == player.GetStatTremor().GetMin() )
  25. {
  26. return true;
  27. }
  28. else
  29. {
  30. return false;
  31. }
  32. }
  33. override void OnTick(PlayerBase player, float deltaT)
  34. {
  35. player.GetStatTremor().Add( (TREMOR_DECREMENT_PER_SEC*deltaT) );
  36. //Mirek: SetShakeBodyFactor is removed now, because it worked only on legacy animation system
  37. //player.SetShakeBodyFactor(player.GetStatTremor().Get());
  38. //_person SetBodyShaking tremor; ASK GAMEPLAY PROGRAMMERS TO EXPOSE THIS ENGINE FUNCTION IN ENSCRIPT
  39. //PrintString( "Tremor:" + ToString(tremor) );
  40. }
  41. };