class TremorMdfr: ModifierBase { private const float TREMOR_DECREMENT_PER_SEC = 0.008; override void Init() { m_TrackActivatedTime = false; m_ID = eModifiers.MDF_TREMOR; m_TickIntervalInactive = DEFAULT_TICK_TIME_INACTIVE; m_TickIntervalActive = DEFAULT_TICK_TIME_ACTIVE; } override bool ActivateCondition(PlayerBase player) { if ( player.GetStatTremor().Get() > player.GetStatTremor().GetMin() ) { return true; } else { return false; } } override bool DeactivateCondition(PlayerBase player) { if ( player.GetStatTremor().Get() == player.GetStatTremor().GetMin() ) { return true; } else { return false; } } override void OnTick(PlayerBase player, float deltaT) { player.GetStatTremor().Add( (TREMOR_DECREMENT_PER_SEC*deltaT) ); //Mirek: SetShakeBodyFactor is removed now, because it worked only on legacy animation system //player.SetShakeBodyFactor(player.GetStatTremor().Get()); //_person SetBodyShaking tremor; ASK GAMEPLAY PROGRAMMERS TO EXPOSE THIS ENGINE FUNCTION IN ENSCRIPT //PrintString( "Tremor:" + ToString(tremor) ); } };