12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061 |
- class HemolyticReactionMdfr: ModifierBase
- {
- private float m_RunningTime;
-
- override void Init()
- {
- m_TrackActivatedTime = true;
- m_AnalyticsStatsEnabled = true;
- m_ID = eModifiers.MDF_HEMOLYTIC_REACTION;
- m_TickIntervalInactive = DEFAULT_TICK_TIME_INACTIVE;
- m_TickIntervalActive = DEFAULT_TICK_TIME_ACTIVE;
- m_IsPersistent = true;
- m_RunningTime = CalculateRunTime();
-
- DisableActivateCheck();
- }
- override bool ActivateCondition(PlayerBase player)
- {
- return false;
- }
- override void OnActivate(PlayerBase player)
- {
- player.IncreaseDiseaseCount();
- }
- override void OnDeactivate(PlayerBase player)
- {
- player.DecreaseDiseaseCount();
- }
- override void OnReconnect(PlayerBase player)
- {
- OnActivate(player);
- }
- override bool DeactivateCondition(PlayerBase player)
- {
- float attached_time = GetAttachedTime();
-
- if(attached_time > m_RunningTime )
- {
- return true;
- }
- else
- {
- return false;
- }
- }
- override void OnTick(PlayerBase player, float deltaT)
- {
- player.AddHealth("","Blood",-PlayerConstants.HEMOLYTIC_BLOOD_DRAIN_PER_SEC * deltaT);
- }
-
- float CalculateRunTime()
- {
- float time = PlayerConstants.HEMOLYTIC_BLOODLOSS_AMOUNT / PlayerConstants.SALINE_BLOOD_REGEN_PER_SEC;
- return time;
- }
- };
|