float def = opponent.defense;
float nPercent = entity.attack / 100 * 90;
if(nPercent <= def)
def = nPercent;
if(ignoreDefense) def = 0;
float k2 = 0.2f;
float k = (float)(2 * entity.attack - def) / (float)(2 * entity.attack);
float damage = k * k2 * entity.attack;
//damage by time
//урон = (текущее время - время последнего удара) / время зарядки
float tpConf = timePassed - entity.attack_usage;
if(tpConf > fullDamage)
tpConf = (float)fullDamage;
float k3 = tpConf / (float)fullDamage;
damage *= k3;