Feel free to send issue and bugs reports to firstname.lastname@example.org. You can also try the discord server.
This is a tool to estimate the outcome of a battle in the game Call of War 2.0. In the game battles have some randomness, but here we try to estimate the average expected outcome, which may differ a bit from any particular in-game battle. In most cases this estimate should be reasonably close to the majority of in-game battles, but there are in-game cases where the random values are, by chance, extreme and can produce unexpected outcomes. If you see a large difference between the in-game result and the calc it is possible that it is due to such an extreme in-game battle. However, it is more likely that inaccurate input values were given to the calc, or that something was missed in the interpretation of the in-game battle. That being said, if you notice something in the calc that seems off feel free to let me know and I'll look into it.
To use this tool, input the troop levels, counts, and HP 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 "Start Battle" buttons.
To get a general explanation of how the battle mechanics work check out the Call of War wiki regarding combat.
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.
Below are descriptions of what different input settings mean. They are listed in the order they appear on the page.
There are always two armies or sides, A and B, representing you and your opponent. If two stacks are attacking each other it makes a difference which side they are on. Army A will always attack first. Which stack attacks first can make a difference in the outcome of a battle so it is good to know which stack it is and put it in Army A. If you are unsure you can try switching sides and see how the results differ. Again, this only applies if both stacks are attacking each other. If, for example, a stack in one army is attacking a stack that is just defending, it will make no difference which side they are on.
You must select one of the four doctrines. The calculator will automatically adjust stats based on which doctrine you are playing.
Click this button to add another stack to the battle.
Once you have all of your stacks set up click this button or one of the other identical buttons to start the battle.
A Stack represents a group of troops that are together when you click them on the map. You can specify one or more stacks and each stack can have one or more unit types.
If you want a stack to attack an enemy stack, select the stack you want to attack from the drop-down. If you only want a stack to defend, then do not select an attack target.
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. However, if you do not explicity select a target for a non-air ranged unit (e.g. artillery or battleships) the closest valid enemy stack will be attacked. Also if a target isn't set for a ranged unit and it is itself being targeted by an enemy, it will attack that stack if it can, even if there is another valid target that is closer. A stack can be attacked by multiple other stacks. It is important to set these targeting options correctly. If a stack destroys its
target it will look for another stack to attack that is in range.
One of the available terrain options must be selected for each stack. The appropriate terrain bonuses will be used based on the terrain that is chosen. Note that the unit type must match the terrain. For example, infantry can't be in the air or sea. Use unit type "convoy" or "transport ship" to indicate a plane convoy on land or a non naval unit being transported over the ocean. Use patrol for planes on patrol missions.
This is the drop-down menu on the stack row after the word "at". This can be an important setting when there are multiple stacks on a given side or when ranged units are involved. This is a simplified 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 50 km then the stacks are 50 km apart.
Melee is represented by two enemy stacks that have the same position. Usually, you can just leave the position at zero for melee stacks. In-game multiple enemy stacks within 5km of an attacker will take damage from (and deal defensive damage to) the attacker regardless of which stack the attacker is specifically attacking. Here we are just simplify it by putting all stacks involved in melee at the same position. All plane attacks are considered melee attacks because targets always deal defensive damage, so make sure planes are at the same position as their target(s) in the calc.
These positions have three main purposes.
- To discriminate between melee and range attack. In an attack beyond melee range (5 km) the ranged attacker will not receive defense damage. If you want to simulate bombarding at range you must make sure the relative distances between stacks are greater than 5 km, otherwise they will fight as melee and the result will be different. Similar to melee battles, if a stack is being bombarded, any stacks at the same position as the target will also be hit. Note that plane attacks are considered melee because when the plane attacks it is at the same position as the target. If a plane is not at the same position as the specified target you will get a warning.
- To specify the relative distance between two or more range stacks (e.g. ships). For example, in a fight between a cruiser and a battleship the positions might determine whether or not the cruiser is close enough to fire at the battleship. As above for melee, for example, if you specify a cruiser to target a battleship and the distance is too far you will get a warning.
- Positions can be set to prioritize targeting switches for ranged units when a stack dies. For example, if stack A1 is targeting B1 and B1 dies, but side B also has stacks B2 and B3, which of these will A1 target next? If the positions of B2 and B3 are different, then A1 will target the closer one. The positions 30, 40, 50, and 75 are for specifying these different relative positions for ranged unit targets. Note that if a ranged unit is bombarded or melee attacked and a target was not specified by the user, it will attack that stack back even if there is a closer stack to it that is not attacking it.
If you don't explicitly choose a position it will default to zero. Enemy positions both at zero is normally how melee and air attacks are specified, but if there are enemy stacks at any position that is the same it will be melee. For example if enemy infantry stacks are both at position 40 they will be at a distance of zero from each other and be in melee range.
Ranged units have the same range at all levels. Artillery types and cruisers have a range of 50, battleships have 75, and railroad guns have 100. The only exception is Axis railroad guns which have 110. For the purposes of the calc all planes are melee units so their range is effectively zero.
Check this box if a stack is in its core province. The home strength and defense bonuses will be applied.
Fortifications and bunkers
The value to enter here can be found in the stack status popup under the protection tab. For example, if it says -45%, then enter 45 without the "-" or "%". If it says "None", then leave it at zero. Rural fortifications go up to 45% and urban bunkers go up to 75%.
Click this to add another unit to the stack.
Click this to remove the current stack.
For each unit in your stack specify the unit type from the drop down.
Select the level for this unit. Units of the same type but of different levels need to be specified separately.
Enter the number of units of this type at the given level.
Hit points (HP)
Enter the either:
1. The number of remaining hit points for this unit (e.g. 17.3), or
2. The percentage of the maximum HP followed by % (e.g. 85%).
If a unit is at max HP but you don't know exactly how many hit points it has you can just use 100%.
If you have a stack with a single unit type/level and you click on the stack in-game it will show you how many remaining hit points it has.
For a stack with multiple unit types you can click on the army details panel to see the remaining HP of each unit type, e.g.
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. You may want to set the max rounds to 1 or some other number for any type of battle to see what will happen in a single round.
If this is checked the unit counts and HP values will be replaced with those that are left after the battle. This is particularly use in combination with Max Rounds as you can do one round at a time and see how the condition of the armies change round by round.
If you check 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.
If you check this the calculator with simulate randomness in the battle as is done in the game. Rerunning the battle a bunch of times with this enabled can give you an idea of the distribution of possible outcomes. Here is a forum post with more information about it: "Simulate Variance" in dxcalc
For aerial patrols select "patrol" as the terrain.
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, condition, terrain and unit level.
If any of the requested unit values are missing (e.g. HP is missing or zero) 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 HP input fields are replaced with resulting values.