Рейтинг темы:
  • 0 Голос(ов) - 0 в среднем
  • 1
  • 2
  • 3
  • 4
  • 5
Пробить Invul состояние
#1
L2jServer
Interlude


Доброго времени суток.

Сотворил добротный скилл, который позволяет пробивать Invul состояние у цели. Создал скилу особую переменную, благодаря которой планировал сделать проверку. Но внезапно - штопорнулся.

Где находится основная проверка на isInvul, которая блокирует входящий урон?

Господин Рут подсказал, что скорее всего данная проверка заложена в методе reduceHp. Отправился туда и действительно увидел проверку на атакующего и состояние Invul

reduceHp()

Но вот вопрос, переменная скила имеет название isPenetrate(), и верно ли будет создание ещё одного метода с reduceHp?

как пример:
[SRC="java"] public void reduceHp(double value, L2Character attacker, boolean awake, boolean isDOT, boolean isHPConsumption, boolean penetrating)
{
reduceHp(value, attacker, awake, isDOT, false);
}[/SRC]

Соответственно с последующим его вызовом в:

reduceCurrentHp()

Который в свою очередь вызывается в хэндлерах PDAM и т.д. - и т.д.

Спасибо.
Ответ
#2
А какую роль будет играть новый параметр?
Ответ
#3
Я бы изменял не сам метод, а добавил проверку на пробитие у атакующего, но тут хотите...можно и перегрузкой.
[Изображение: 4e38c909fcd08c5fcdf363b54a62.png]
Ответ
#4
Ro_0TT Написал:А какую роль будет играть новый параметр?

Он разделяет скилы на 2 типа:
1) Могут наносить урон сквозь Invul состояние.
2) Не могут.
Ответ
#5
Если это опция только скила, а не бафа/дебафа на чара, то да нужно завести в метод reduceHP.
Я в свое время расширил метод canReduceHp и добавил в метод reduceHp еще и скил если есть - именно если нужно обработать какие-то частные случаи. А в canReduceHp теже параметры и проверки на возможность забрать ХП.
Ответ
#6
Огромное спасибо всем кто откликнулся на зов о помощи.
Мазайка была собрана.
RooT - дал начало.
Visor - подсказал как завершить.
Отдельное спасибо Эшу за наставления, хоть и метод CallSkill() был не причём, я копался в нем часа 2 и много чего нового узнал! ;D

Господин Visor - сделал по вашему. Перелопатил отдельные reduceHp методы (хоть их и было много ;D) добавив отдельную переменную.
Ответ
#7
finfan, я же говорил объясни подробнее, что ты хочешь, а то я не так понял и отправил тебя не в ту степь Big Grin Сорри :confused:
Fortuna - non penis, in manus non recipe.
Ответ


Возможно похожие темы ...
Тема Автор Ответы Просмотры Последний пост
  Метод invul в овер-подобной сборке Munhgauzen 5 1,807 11-05-2013, 12:17 AM
Последний пост: Munhgauzen

Перейти к форуму:


Пользователи, просматривающие эту тему: 3 Гость(ей)