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

Method refreshLeadershipBonus

game/state/battle/battle.cpp:2096–2132  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

2094}
2095
2096void Battle::refreshLeadershipBonus(StateRef<Organisation> org)
2097{
2098 Rank highestRank = Rank::Rookie;
2099 for (auto &u : units)
2100 {
2101 if (u.second->owner != org || u.second->isDead() || u.second->retreated)
2102 {
2103 continue;
2104 }
2105 if ((int)u.second->agent->rank > (int)highestRank)
2106 {
2107 highestRank = u.second->agent->rank;
2108 }
2109 }
2110 switch (highestRank)
2111 {
2112 case Rank::Rookie:
2113 case Rank::Squaddie:
2114 leadershipBonus[org] = 0;
2115 break;
2116 case Rank::SquadLeader:
2117 leadershipBonus[org] = 5;
2118 break;
2119 case Rank::Sergeant:
2120 leadershipBonus[org] = 10;
2121 break;
2122 case Rank::Captain:
2123 leadershipBonus[org] = 15;
2124 break;
2125 case Rank::Colonel:
2126 leadershipBonus[org] = 25;
2127 break;
2128 case Rank::Commander:
2129 leadershipBonus[org] = 50;
2130 break;
2131 }
2132}
2133
2134void Battle::spawnReinforcements(GameState &state)
2135{

Callers 2

retreatMethod · 0.80
dieMethod · 0.80

Calls 1

isDeadMethod · 0.45

Tested by

no test coverage detected