MCPcopy Create free account
hub / github.com/OpenApoc/OpenApoc / updateSpeed

Method updateSpeed

game/state/shared/agent.cpp:801–819  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

799}
800
801void Agent::updateSpeed()
802{
803 int encumbrance = 0;
804 for (auto &item : equipment)
805 {
806 encumbrance += item->getWeight();
807 }
808 overEncumbred = current_stats.strength * 4 < encumbrance;
809 encumbrance *= encumbrance;
810
811 // Expecting str to never be 0
812 int strength = current_stats.strength;
813 strength *= strength * 16;
814
815 // Ensure actual speed is at least "1"
816 modified_stats.speed = std::max(
817 8, ((strength + encumbrance) / 2 + current_stats.speed * (strength - encumbrance)) /
818 (strength + encumbrance));
819}
820
821void Agent::updateModifiedStats()
822{

Callers 2

fireMethod · 0.80
createAgentMethod · 0.80

Calls 1

getWeightMethod · 0.45

Tested by

no test coverage detected