Проверка для скиллов

Die

Прославленный
Местный
Старожил I степени
Сообщения
429
Розыгрыши
0
Решения
1
Репутация
578
Реакции
132
Баллы
1 438
Здравствуйте, состряпал код который запрещает атаковать свою расу. Вопрос в следующем, как мне ее правильно записать. Дело в чем, на данный момент код работает как надо, но атаковать можно и свою расу (массухи). Нужно мнения специалиста, уже час мучаюсь с этим кодом.
 
Это что за бред ?
Код:
            if (!skill.isOffensive())
            {
                if (!targetPlayer.getRace().equals(actorPlayer.getRace()))
                {
                    clientActionFailed();
                    _actor.setIsCastingNow(false);
                    return;
                }
                if (!target.isInsideZone(ZoneId.PEACE))
                {
                    clientActionFailed();
                    _actor.setIsCastingNow(false);
                    return;
                }
            }


Да и вообще этот код лучше вешать вначале каста скила.
Код:
                if (!targetPlayer.getRace().equals(actorPlayer.getRace()))
                {
                    clientActionFailed();
                    _actor.setIsCastingNow(false);
                    return;
                }
Короче, попытаюсь объяснить по другому. Делаю у себя GVE мод игры, использую данную проверку, для запрета атаки своей фракции, она работает как надо, скиллы юзать на свою фракцию(бафф, хилл можно, на чужую нельзя). Но есть проблема с юзом масс скиллов, то есть они вообще не юзались (пока не добавил во 2 проверку знак !targetPlayer, теперь масс скилы заработали, но они игнорируют проверку на фракцию, и атакуют всех. Возможно где-то упустил еще проверки, и нужно в L2Skill.java дописывать?
 
Короче, попытаюсь объяснить по другому. Делаю у себя GVE мод игры, использую данную проверку, для запрета атаки своей фракции, она работает как надо, скиллы юзать на свою фракцию(бафф, хилл можно, на чужую нельзя). Но есть проблема с юзом масс скиллов, то есть они вообще не юзались (пока не добавил во 2 проверку знак !targetPlayer, теперь масс скилы заработали, но они игнорируют проверку на фракцию, и атакуют всех. Возможно где-то упустил еще проверки, и нужно в L2Skill.java дописывать?
Найди перебор таргетов при касте скиллов по площади/ауре, там скорее всего будет цикл перебора таргетов. В нем пропускаешь добавление в список таргетов чаров из своей фракции.
 
Найди перебор таргетов при касте скиллов по площади/ауре, там скорее всего будет цикл перебора таргетов. В нем пропускаешь добавление в список таргетов чаров из своей фракции.
Да я вот только додумался посмотреть... проблему решил, всем спасибо!
 
Назад
Сверху Снизу