12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788 |
- class CharcoalMdfr: ModifierBase
- {
- float m_Killrate;
- const int CHARCOAL_LIFETIME = 300;
- const int CHARCOAL_EFFECT_TIME = 100;
-
- override void Init()
- {
- m_TrackActivatedTime = true;
- m_AnalyticsStatsEnabled = true;
- m_IsPersistent = true;
- m_ID = eModifiers.MDF_CHARCOAL;
- m_TickIntervalInactive = DEFAULT_TICK_TIME_INACTIVE;
- m_TickIntervalActive = 3;
- m_Killrate = 2.85; // # of killed agents per sec
- DisableActivateCheck();
- }
- override bool ActivateCondition(PlayerBase player)
- {
- return false;
- }
-
- override void OnReconnect(PlayerBase player)
- {
- OnActivate( player );
- }
-
- /*
- override string GetDebugText()
- {
-
- string text;
- float time_till_effective = CHARCOAL_LIFETIME - CHARCOAL_EFFECT_TIME - GetAttachedTime();
-
- text = "time till effective: " + time_till_effective.ToString() + "\n";
-
- if(time_till_effective > 0)
- text += "killing agents:" + "NO";
- else
- text += "killing agents:" + "YES";
-
-
- return text;
-
- }
- */
-
- override string GetDebugTextSimple()
- {
- return ( (int)(CHARCOAL_LIFETIME - GetAttachedTime()) ).ToString() + " | " + (((int)(CHARCOAL_LIFETIME - CHARCOAL_EFFECT_TIME - GetAttachedTime())) * -1).ToString();
- }
-
- override void OnActivate(PlayerBase player)
- {
- player.IncreaseHealingsCount();
- }
-
- override void OnDeactivate(PlayerBase player)
- {
- player.DecreaseHealingsCount();
- }
-
- override bool DeactivateCondition(PlayerBase player)
- {
- float attached_time = GetAttachedTime();
-
- if ( attached_time >= CHARCOAL_LIFETIME )
- {
- return true;
- }
- else
- {
- return false;
- }
- }
- override void OnTick(PlayerBase player, float deltaT)
- {
- if ( GetAttachedTime() > ( CHARCOAL_LIFETIME - CHARCOAL_EFFECT_TIME ) )
- {
- player.m_AgentPool.AddAgent(eAgents.SALMONELLA, -m_Killrate * deltaT);
- }
- }
- };
|