Доброго времени суток.
Продолжаю разбираться в сборке aCis.
ВОлнует такой факт.
Создал таргет любого трупа. Нпц, моб, плуер и т.д.
Чуть отредактировал скилл корпс лайф дрейн (поменял на таргет любого трупа).
Собственно в чем пробел: Юзаю скил на трупа, вроде бы все проходит, но ХП не восстанавливает... Беда скрывается в L2SkillDrain, ибо на фрозенах проделывал там операции, о которых теперь забыл...
Я так понимаю, что за "отсос" Хп у трупов отвечают данные строчки:
Свернуть ↑
Код:
// Check to see if we should damage the target
if (damage > 0 && (!target.isDead() || getTargetType() != SkillTargetType.TARGET_CORPSE_MOB))
{
// Manage cast break of the target (calculating rate, sending message...)
//Formulas.calcCastBreak(target, damage);
activeChar.sendDamageMessage(target, damage, mcrit, false, false);
if (hasEffects() && getTargetType() != SkillTargetType.TARGET_CORPSE_MOB)
{
// ignoring vengance-like reflections
if ((Formulas.calcSkillReflect(target, this) & Formulas.SKILL_REFLECT_SUCCEED) > 0)
{
activeChar.stopSkillEffects(getId());
getEffects(target, activeChar);
SystemMessage sm = SystemMessage.getSystemMessage(SystemMessageId.YOU_FEEL_S1_EFFECT);
sm.addSkillName(getId());
activeChar.sendPacket(sm);
}
else
{
// activate attacked effects, if any
target.stopSkillEffects(getId());
if (Formulas.calcSkillSuccess(activeChar, target, this, shld, false, ss, bss))
getEffects(activeChar, target);
else
{
SystemMessage sm = SystemMessage.getSystemMessage(SystemMessageId.S1_RESISTED_YOUR_S2);
sm.addCharName(target);
sm.addSkillName(getDisplayId());
activeChar.sendPacket(sm);
}
}
}
target.reduceCurrentHp(damage, activeChar, this);
}
Свернуть ↑Развернуть ↓
Но, как я не проворачивал с данным кодом операции разного типа, скилл юзается, но ХП не засасывает... прошу у вас помощи... снова...
Спасибо.