{
double[] xpsp = calculateExpAndSp(attacker, attacker.getLevel(), damage);
double neededExp = attacker.calcStat(Stats.SOULS_CONSUME_EXP, 0, this, null); // Начисление душ камаэлянам
if(neededExp > 0 && xpsp[0] > neededExp)
{
broadcastPacket(new SpawnEmitter(this, attacker));
ThreadPoolManager.getInstance().scheduleGeneral(new SoulConsumeTask(attacker), 1000);
}
xpsp[0] = applyOverhit(killer, xpsp[0]);
xpsp = attacker.applyVitality(this, xpsp[0], xpsp[1], 1.0);
attacker.addExpAndSp((long) xpsp[0], (long) xpsp[1], false, true);