1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768 |
- class SalineMdfr: ModifierBase
- {
- float m_RegenTime;
- override void Init()
- {
- m_TrackActivatedTime = true;
- m_IsPersistent = true;
- m_ID = eModifiers.MDF_SALINE;
- m_TickIntervalInactive = DEFAULT_TICK_TIME_INACTIVE;
- m_TickIntervalActive = DEFAULT_TICK_TIME_ACTIVE;
- m_RegenTime = CalculateRegenTime();
- DisableActivateCheck();
- }
- override bool ActivateCondition(PlayerBase player)
- {
- return false;
- }
- override bool DeactivateCondition(PlayerBase player)
- {
- float attached_time = GetAttachedTime();
- if ( attached_time > m_RegenTime )
- {
- return true;
- }
- else
- {
- return false;
- }
- }
- override void OnReconnect(PlayerBase player)
- {
- OnActivate(player);
- }
-
- override void OnActivate(PlayerBase player)
- {
- player.IncreaseHealingsCount();
- /*
- if( player.GetNotifiersManager() )
- player.GetNotifiersManager().ActivateByType(eNotifiers.NTF_PILLS);
- */
- }
-
- override void OnDeactivate(PlayerBase player)
- {
- player.DecreaseHealingsCount();
- /*
- if( player.GetNotifiersManager() )
- player.GetNotifiersManager().DeactivateByType(eNotifiers.NTF_PILLS);
- */
- }
- override void OnTick(PlayerBase player, float deltaT)
- {
- player.AddHealth("", "Blood", PlayerConstants.SALINE_BLOOD_REGEN_PER_SEC * deltaT);
- player.GetStatWater().Add( PlayerConstants.SALINE_WATER_REGEN_PER_SEC * deltaT );
- }
-
- float CalculateRegenTime()
- {
- float regen_time = PlayerConstants.SALINE_LIQUID_AMOUNT / PlayerConstants.SALINE_BLOOD_REGEN_PER_SEC;
- return regen_time;
- }
- };
|