В файле L2PlayableAI.java, в метод onIntentionCast, добавил проверку:
if (!CorvusFactionEngine.getInstance().evalAction(_actor.getActingPlayer(), target.getActingPlayer(), skill, CorvusFactionEngine.ATTACK_ACTION))
return;Code: Java
Вот, что у меня в CorvusFactionEngine.java
switch(action[0])
{
case ATTACK_ACTION:
int faction1 = activeUser.getFactionPlayer().getFactionId();
int faction2 = activeTarget.getActingPlayer().getFactionPlayer().getFactionId();
if(faction1 == faction2 && faction1 + faction2 > 0 || ((faction1 == 0 || faction2 == 0) && (faction1 > 0 || faction2 > 0))
|| (faction1 + faction2 == 0 && !Config.isNeutralAttakable))
{
if(skill != null && !skill.isOffensive())
return true;
activeUser.sendPacket(SystemMessageId.TARGET_IS_INCORRECT);
activeUser.sendPacket(ActionFailed.STATIC_PACKET);
return false;
}
break;Code: Java
Проблема в том, что если зажимая CTRL, кастуя скилл, в чат пишет "Неправильная цель", и все, кастующий не может двигаться, кастовать, ничего, помогает только релог.
Что не верно в этом коде?
Исходники L2J