1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950 |
- class HeavyMetalAgent : AgentBase
- {
- override void Init()
- {
- m_Type = eAgents.HEAVYMETAL;
- m_TransferabilityIn = 0.5;
- m_TransferabilityOut = 0;
- m_AntibioticsResistance = 1;
- m_MaxCount = 600;
- m_Potency = EStatLevels.MEDIUM;
- }
-
- override bool GrowDuringMedicalDrugsAttack(EMedicalDrugsType drugType, PlayerBase player)
- {
- if (drugType == EMedicalDrugsType.CHELATION)
- return false;
- return super.GrowDuringMedicalDrugsAttack(drugType, player);
- }
-
- override float GetInvasibilityEx(PlayerBase player)
- {
- if (player.GetModifiersManager().IsModifierActive(eModifiers.MDF_HEAVYMETAL3))
- return 0;
-
- return player.GetStomach().GetVolumeContainingAgent01(eAgents.HEAVYMETAL);
- }
-
- override EStatLevels GetPotencyEx(PlayerBase player)
- {
- if (player.GetModifiersManager().IsModifierActive(eModifiers.MDF_CHELATION))
- return EStatLevels.LOW;
-
- if (player.GetModifiersManager().IsModifierActive(eModifiers.MDF_HEAVYMETAL3))
- return EStatLevels.GREAT;
-
- if (player.GetStomach().GetVolumeContainingAgent01(eAgents.HEAVYMETAL) > 0.0)
- return EStatLevels.GREAT;
-
- return m_Potency;
- }
-
- override float GetDieOffSpeedEx(PlayerBase player)
- {
- if (player.GetModifiersManager().IsModifierActive(eModifiers.MDF_CHELATION))
- return GetDieOffSpeed() * 0.3;
- return super.GetDieOffSpeedEx(player);
- }
- }
|