World of Tanks How Hits are Calculated by SiberianExpress
I couldn?t find any info on how the game calculates hits so I went on the Russian forums and stole some of their information
How hits are calculated:
1. Aiming circle ? The area where the shell is most likely to land at the moment of impact with a tank of obstacle. The circle shows the greatest likelihood of where the shell will land, and does not limit the shell from hitting the edge of the circle.
2. The shell flies on a ballistic trajectory. TDs have a straighter trajectory because of higher muzzle velocity. The aiming circle takes the trajectory into account.
3. Energy of the shell is calculated (reduced) with accordance to the distance it flies. (energy = penetration)
4. When the shell hits, first its orientation is calculated at the moment of impact. Ricochet is calculated, if so a new trajectory is calculated (1 more time), if there is no ricochet than the penetration is calculated. The shell(after previous calculations) gets +-25% to penetration(at random), if, after that, the penetration is higher than the armor thickness the round goes through. If the caliber of the shell is three or more times higher than the armor than the ricochet is calculated in a different way.
First the server checks if there is a ricochet. And as I mentioned before all projectiles will ricochet if the angle of the hit is lower than 10 degrees, with one exception when the thickness of the armor is 3 times lower than the caliber of the projectile. So if there is no ricochet the projectile is rotated to normalize the angle and we proceed to calculate the thickness of the armor under the given slope (thickness/cosine of the angle between armor and the projectile ? not 100% correct but close enough for an arcade). After that we check the table to see what armor-penetration capability the projectile would have at a given distance. The number we get is modified by gaussian(normal) distribution limited by +/- 25%. And finally we compare it to the armor thickness we calculated in the second step. If piercing number is higher we get penetration, if lower ? ding.Example: We have 100mm armor. And let?s say the projectile with armor-penetration of 120mm on given distance can get through 110mm of armor. Let?s say because of the impact angle the armor got ?thicker? to 121mm. We roll the dice (distribution) and with some probability the penetration capability of the projectile might change to 110+/-27.5mm. If it changed to 121 and above ? we get penetration. If below ? ding.
5. If the shell penetrated the armor than the damage is done to the tank (according to shell stats). If an external module(tracks, gun) is hit it may take all the damage itself and may be knocked out, if a module takes all the damage caused by the shell then the tank itself will not lose hp.
6. A shell inside a tank moves in a straight trajectory hitting all modules and crew members in the way taking an amount of hp from each. The damage is proportional to the energy of the shell, and is divided between the hit modules and the tank, the chance of damage/hits is +-25%.
7. The shell will eventually lose all energy inside the tank. A shell cannot go completely through a tank. If the shell hits the ammo rack it can cause an explosion that severely damages the tank. If you hit the engine or the fuel tank there is a good chance that it may start a fire in the tank that damages the tank as well as other modules.
note the 25% distribution is on a normal curve. 0% is much more likely than +25%