woundagent.c 1.0 KB

1234567891011121314151617181920212223242526272829303132333435363738
  1. class WoundAgent : AgentBase
  2. {
  3. static const float RESISTANCE_STAGE_1 = 1;
  4. static const float RESISTANCE_STAGE_2 = 0.5;
  5. override void Init()
  6. {
  7. m_Type = eAgents.WOUND_AGENT;
  8. m_Invasibility = 0.208;//to reach 250 in 20 mins
  9. m_TransferabilityIn = 1;
  10. m_TransferabilityOut = 0;
  11. m_AntibioticsResistance = 0.5;//override in a func. GetAntiboticsResistance()
  12. m_MaxCount = 500;
  13. m_Potency = EStatLevels.GREAT;
  14. m_DieOffSpeed = 1;
  15. }
  16. override float GetAntibioticsResistanceEx(PlayerBase player)
  17. {
  18. if (player.GetModifiersManager().IsModifierActive(eModifiers.MDF_WOUND_INFECTION1))
  19. return RESISTANCE_STAGE_1;
  20. else
  21. return RESISTANCE_STAGE_2;
  22. }
  23. override bool GrowDuringMedicalDrugsAttack(EMedicalDrugsType drugType, PlayerBase player)
  24. {
  25. if (drugType == EMedicalDrugsType.ANTIBIOTICS)
  26. {
  27. if (player.GetModifiersManager().IsModifierActive(eModifiers.MDF_WOUND_INFECTION1))
  28. return true;
  29. else
  30. return false;
  31. }
  32. return super.GrowDuringMedicalDrugsAttack(drugType, player);
  33. }
  34. }