1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859 |
- //checks for critical blood level and kills the character if bellow
- class BleedingCheckMdfr: ModifierBase
- {
- protected const float BLOOD_DECREMENT_PER_SEC = -10;
- PluginAdminLog m_AdminLog;
-
- override void Init()
- {
- m_TrackActivatedTime = false;
- m_AnalyticsStatsEnabled = true;
- m_ID = eModifiers.MDF_BLEEDING;
- m_TickIntervalInactive = DEFAULT_TICK_TIME_INACTIVE;
- m_TickIntervalActive = DEFAULT_TICK_TIME_ACTIVE;
-
- if( GetGame().IsServer() )
- {
- m_AdminLog = PluginAdminLog.Cast( GetPlugin(PluginAdminLog) );
- }
-
- DisableDeactivateCheck();
- }
- override bool ActivateCondition(PlayerBase player)
- {
- float blood = player.GetHealth("","Blood");
-
- if( blood < PlayerConstants.BLOOD_THRESHOLD_FATAL )
- {
- return true;
- }
- return false;
-
- }
- override void OnActivate(PlayerBase player)
- {
- player.SetHealth("","",-1000);
-
- if ( m_AdminLog )
- {
- m_AdminLog.BleedingOut( player );
- }
- }
- override void OnDeactivate(PlayerBase player)
- {
-
- }
- override bool DeactivateCondition(PlayerBase player)
- {
- return false;
- }
- override void OnTick(PlayerBase player, float deltaT)
- {
-
- }
- };
|