×

Multicrit

0022_bloodyweapon_512Ever wondered how multicrit works? I think it is one of the most mysterious mechanics of this game. Well, no more, here comes the official blog post for multicrit, that should demystify every part of it. By default, every tower starts with a multicrit of 1. This means, every attack a random number is generated, a check if done between this number and the crit chance of the tower and in case a crit is done the damage dealt by the tower is multiplied by the crit damage of the tower. So far, so good. So now, what happens if the multicrit is higher than 1? The above calculation is done for the amount of multicrit the tower has! It stops as soon as the crit chance calculation fails or the amount of multicrit is reached. The calculated crit damage values are simply added. Also, for every follow up crit calculation the crit chance is temporarily reduced by 20%. If you wanna go into the specifics, here is the actual implementation of the tower damage calculation:
/**
 * Calculates the damage a tower deals.
 * @param	minDamage The minimum base damage of the tower.
 * @param	maxDamage The maximum base damage of the tower.
 * @param	critCount The amount of critical strikes that where done.
 * @return
 */
public final function calculateDamageWithCrit(minDamage:Number, maxDamage:Number, critCount:IntegerReference):Number
{
	var baseDamage:Number = minDamage + (maxDamage - minDamage + 1.0) * Math.random();
	baseDamage += _baseDamageAddAbsolute;
	baseDamage = baseDamage * (1.0 + _baseDamageAddRelative);
	var damage:Number = baseDamage;
			
	var critChance:Number = _critChance;
	critCount.value = 0;
	var multicrit:int = this.multicrit;
	for (var i:uint = 0; i < multicrit; ++i)
	{
		if (Math.random() <= critChance)
		{
			// Reduce crit chance for next multicrit by 20%.
			critChance *= 0.8;
					
			// Add critical strike damage to the final damage.
			damage += baseDamage * _critDamage;
					
			// Increase crit count.
			++critCount.value;
		}
		else
		{
			break;
		}
	}
			
	return damage;
}

Thanks for pulling back the curtain on multicrit!

A very nice read for everyone! But why is it only a temp 20% reduction and not more? On another note is there any plans for multicrit for "spells" when spells are added?

Hey there, basically I got the 20% reduction from how this is handled in YouTD. I mean they are the masters of multicrit :-) Also, spell and physical tower damage would use the same damage class for implementation, so yes, it is planned to have spell/physical work the same way, including multicrit!

Reading this i realise that there is an issue i don't understand. In these circumstances, seelenreiser should not increase the max damage done by a tower if its damage bonus is under the critical damage bonus (since it lower multicrit by 1). And the average damage as well if crit chance >= 100+20*multicritc as is often the case. So 2 questions here : is it planned to work like that ? And why, when i tried it on the field, didn't i see it working like this at all, and the damages done increased with seelenreiser ?!