Page MenuHomeFeedback Tracker

Math possibly wrong for Influenza autoinfection
New, NormalPublic

Description

Build: 1.04.151979

In this file m_AutoinfectProbability is set to 50
dta\scripts\4_World\Classes\TransmissionAgents\Agents\InfluenzaAgent.c
m_AutoinfectProbability = 50;

In the base class m_AutoinfectProbability is defined as percentage per hour according to the comment
dta\scripts\4_World\Classes\TransmissionAgents\Agents\AgentBase.c
float m_AutoinfectProbability = -1;//probability of autoinfect as percentage per hour (50 means 50% chance autoinfect with this agent will happen 1x times within an hour of gameplay)(also dependent on CanAutoinfectPlayer check)

In the base class AutoinfectCheck() function probability is calculated per hour by dividing by 3600. Shouldn't InfluenzaAgent m_AutoinfectProbability be set to 1800 (half of 3600) for 50% probability?
float probability = (m_AutoinfectProbability / 3600) * deltaT * 1000;

Also the dice_throw is between 0 and 100000 which is a MUCH larger range than probability will ever return.

Details

Severity
Minor
Resolution
Open
Reproducibility
N/A
Operating System
Windows 7
Category
Health System

Event Timeline

wriley created this task.Jul 1 2019, 7:29 PM