class FoodPoisonAgent : AgentBase { override void Init() { m_Type = eAgents.FOOD_POISON; m_Invasibility = 1.0; m_TransferabilityIn = 1.0; m_TransferabilityOut = 0.0; m_AntibioticsResistance = 1.0; m_MaxCount = 800; m_Potency = EStatLevels.GREAT; m_DieOffSpeed = 0.0; m_Digestibility = 0.5; } override EStatLevels GetPotencyEx(PlayerBase player) { if (player.GetStomach().GetVolumeContainingAgent01(eAgents.FOOD_POISON) == 0.0) return EStatLevels.LOW; return super.GetPotencyEx(player); } override float GetInvasibilityEx(PlayerBase player) { return player.GetStomach().GetVolumeContainingAgent01(eAgents.FOOD_POISON); } override float GetDieOffSpeedEx(PlayerBase player) { if (player.GetModifiersManager().IsModifierActive(eModifiers.MDF_CHARCOAL)) return 0.5; if (player.m_AgentPool.GetSingleAgentCount(eAgents.FOOD_POISON) <= PoisoningMdfr.AGENT_THRESHOLD_DEACTIVATE) return 0.3; return 0.0; } override float GetDigestibilityEx(PlayerBase player) { if (!player.GetModifiersManager().IsModifierActive(eModifiers.MDF_POISONING)) return 1.0; return super.GetDigestibilityEx(player); } }