This is an early version of the calc. Improvements are ongoing. Enjoy.
Feel free to send issue and bugs reports to firstname.lastname@example.org
This is a tool to estimate the outcome of a battle in the game Call of War. Currently the calc tries to estimate the average expected outcome over many battles. Due to the large random component of battles the actual result of a particular battle can differ markedly from this average. The random components will be added in the future to allow for an estimation of the variance of a particular scenario. The in game reported strength and modifiers are used to estimate the average. However, the actual average strength for a particular unit may be less than this reported value as it seems the random value hurts the strength more often than helps.
To use this tool, input the troop levels, counts, and morale for each army and fill in other relevant data. Leaving something out or misspecifying something can often result in large differences from the game result. To run the battle click one of the "To Battle" buttons.
Why would I want to use it?
The obvious reason would be to get an idea of how effective a future battle may be and how best to approach it. For new players that don't have a feel for how battles work it would be helpful to explore different scenarios to see how things tend to go. For more advanced players it could help in discovering new battle scenarios and for optimizing troops production.
In my experience with other games a good battle calculator stimulates interest and activity in the game. It's like a new form of intel that you can bring to the war room to plan the demise of your foe.
Allies vs Axis
These identifiers for sides are mostly arbitrary. The only difference between the two sides is if range are firing at each other, the Allies side will fire first. This will give the Allies a slight advantage in such a scenario because the strength of the Axis will be lowered before it fires. This is how it works in the game. It is up to you to put the units on the correct side in such a scenario.
Also I noticed that Allies will attack in melee even if they are not given explicit target. This may be a bit of a bug. I'll look into it when I get a chance. This was a bug that should now be fixed. Sorry it too so long!
On the "stack line" you are required to specify the terrain. The target and position are optional.
The "Target" drop-down menu is how you specify if a stack is attacking and what
stack they are targeting. If a stack is being targeted it will be in defense
mode, but it can simultaneously be attacking the same or a different stack. A
stack doesn't have to be attacking anything. It can just be defending. But if
a range stack doesn't have a target and is not itself a target or doesn't have a
target the calc will automatically try to find a valid target for it. In general, it is best to specify targets, since, in game,
automatic attacking depends on what is moving and possibly who declared war. A
stack can be attacked by multiple other stacks. It is important to set these
targeting options correctly. In game the attacking stack will show the text
"Attacking XX DD" where "XX DD" is the id of the stack it is attacking. For
range units, artillery, destroyers, etc it will say "Bombarding" instead of
"Attacking". If the stack is defending it will say "Attacked By XX DD". A stack
may show both of these and also may show multiple stacks in the "Attacked By"
note. To use the calc to estimate the outcome of a potential battle, it is
important to understand what the status of the stacks will be. The relative
distances specified by the "at X km" parameter will influence what can be
targeted and targeting priority. If a stack destroys its target it will look
for another stack to attack.
Select the type of terrain each stack is positioned on.
This is a simplified (1-dimensional) representation of in game positions (in km) to allow distances between stacks to be calculated. Positions are represented on an imaginary line where the position of a stack on the line represents its relative distance from other stacks. For example, if one stack has 0 km and another has 70 km then the stacks are 70 km apart.
Melee is represented by two enemy stacks having a distance of 3 km or less. If the distance is longer, then the melee units will not fight. In general, if you explicitly target another stack that is out of range you will get an error.
These positions have three main purposes.
- To discriminate between melee and range attack. In an attack beyond melee range (3 km) the attacker will receive no defense damage. If you want to simulate bombarding at range you must make sure the relative distances between stacks are greater than 3 km, otherwise they will fight as melee and the result will be different.
- To specify the relative distance between two or more range stacks (e.g. ships). For example, in a fight between a destroyer and a battleship the positions might determine whether or not the destroyer is close enough to fire at the battleship. As above for melee, for example, if you specify a destroyer to target a battleship and the distance is too far you will get an error.
- Positions can be set to specify targeting switches when a stack dies. For example, if stack A.1 is targeting B.1 and B.1 dies, but side B also has B.2 and B.3 which of these will A.1 target next? If the positions of B.2 and B.3 are different, then A.1 will target the closer one if it has units that A.1 can attack. The melee positions 0, 1, 2 and 3 are for prioritizing melee stacks in this way.
If you don't explicitly choose a position it will default to zero.
Select unit type from the drop down.
Select the unit level from the drop-down.
Unit count should be 1 to 99.
Morale should be greater than zero up to 100. The hit-points (HP) will be calculated from the morale, terrain and unit count. To get an accurate measure of morale for an in game unit use 100 * HP / (maxHP * unitCnt)
State based efficiency damage (SBDE) is not a user input because this can be calculated from the unit count and the morale (or HP). The SBDE is updated for every unit before each round and is used to adjust the attack strength of the unit.
Air bombing and "Max Rounds"
For plane strikes the calc will assume you are sending the same stack of planes to the target repeatedly until one side dies (just like any other battle), unless you set the "Max Rounds" parameter. To simulate a single bombing run set "Max Rounds" to 1. For rockets a single strike is calculated regardless of what Max Rounds is set to.
Patrolling is not yet implemented but one round of an air attack should roughly approximate 4 rounds of patrolling. However, this will not work for planes defending on patrol as they do not defend when on patrol.
This should specify the fortification defense bonus for units in a fort. The position of the first stack is considered to be the position of the fort, so if other stacks have different positions they do not get the defense bonus. The defense bonuses for undamaged fort levels are 1:38 2:55 3:64 4:71 5:75. If the fort is damaged and you can see the stack, you can see the defense bonus in the upper right of the stack info popup. If you can't see the stack in a damaged fort you can estimate the bonus by the fort health bar and the bonus values for the current and previous level. For example, if it is a level 5 fort and looks like it has 40% damage, then you can estimate bonus as 71 + 0.60 * (75 - 71) = 73.
It is currently possible to specify some unrealistic scenarios. Checks are being added to deal with these, but it is up to the user to have some idea of what input values and combinations are possible in game. A number of things are currently checked for out of bounds settings, for example, morale, terrain and unit level.
If you specify water terrain for a non naval unit it will be treated as a convoy. The same is true for planes on land terrain. If a sea convoy is in range of a land unit or if a land convoy is in range of sea unit it is assumed that the convoy is embarking or disembarking and a sea unit will be able to hit a land convoy and a land unit will be able to hit a sea convoy. If this is not desired be sure to specify the positions appropriately.
Adding/Removing a stack or unit
This will append a new stack/unit to the current stack/unit list or remove the last stack/unit from the list. This is how you add more stacks to an army or more units to a stack.
If any of the requested unit values are missing (e.g. morale is missing) that unit is ignored. If no unit entries are complete for a stack the whole stack is ignored. If the format of an input value is wrong (e.g. if you specify "10x" for the unit count) an error is produced.
The number of dead units of each type is indicated as well as the hit-points lost. A summary table of the overall battle is shown for each side, that includes lost HP, and time and resources required to rebuild the lost units. If the optional "Update Counts" is specified at the bottom, the unit count and morale input fields are replaced with resulting values.
If you click this the results of an attack will be opened in a new browser tab. This may be useful if you want to search for various optimal combinations but don't want to lose the results of previous tests.