Критование эффектов DoT\HoT - Форум администраторов игровых серверов
Форум администраторов игровых серверов StormWall - Защита от DDos атак
Регистрация Мнения Справка Пользователи Календарь Все разделы прочитаны
Вернуться   Форум администраторов игровых серверов > MMO > Lineage II > Работа со скриптами

Работа со скриптами Помощь в редактировании и написании квестов к Java серверам, а так же эвентов.
Описание темы:crit, mcrit

Ответ
Опции темы
Непрочитано 16.02.2014, 17:22   #1
Аватар для elastic
Ooh, who's that handsome devil?

Автор темы (Топик Стартер) Критование эффектов DoT\HoT

Всем доброго времени суток!
Буквально недавно до меня дошла информация, что в хрониках выше хф эффекты DoT(DamOverTime) и HoT(HealOverTime) могут критовать. оО
Т.е. шанс крита такой же как и при обычной м.атаке, но если, скажем, ДоТ кританет, то его первый первый тик нанесет power * 10, а остальные тики будут наносить стандартно.
Я так посмотрел, что-то как-то мутно и не понятно. Крит маг. урона расчитывается в формулах, в методе calcMDam, но как такое сделать для дотов? :<
Прошу кого-либо помочь с этим, можно наглядно, спасибо.
elastic вне форума Отправить сообщение для elastic с помощью ICQ Ответить с цитированием
Непрочитано 16.02.2014, 18:07   #2
Пользователь

По умолчанию Re: Критование эффектов DoT\HoT

Можно в getEffects() в Skill если на оверах. Криты еще могут пробивать некоторые инвулы(мб все, не проверял)

Изменение, кстати, не только в критах, тики эффектов тоже придется переделывать.
Melcor вне форума Ответить с цитированием
Сказали спасибо:
Непрочитано 16.02.2014, 18:18   #3
Аватар для elastic
Ooh, who's that handsome devil?

Автор темы (Топик Стартер) Re: Критование эффектов DoT\HoT

Цитата:
Сообщение от Melcor Посмотреть сообщение
Можно в getEffects() в Skill если на оверах. Криты еще могут пробивать некоторые инвулы(мб все, не проверял)

Изменение, кстати, не только в критах, тики эффектов тоже придется переделывать.
Так, хорошо, а что с тиками?
elastic вне форума Отправить сообщение для elastic с помощью ICQ Ответить с цитированием
Непрочитано 16.02.2014, 20:07   #4
Аватар для Gaikotsu
Герой

По умолчанию Re: Критование эффектов DoT\HoT

Цитата:
Сообщение от elastic Посмотреть сообщение
Прошу кого-либо помочь с этим, можно наглядно, спасибо.
да думаю просто достаточно
в onStart эффектов DoT и HoT считаем произошел ли крит, при помощи Formulas.calcMCrit и выставляем соответствующий флаг (хранимый в переменной класса эффекта), затем в onActionTime проверяем состояние этого флага и если оно указывает что крит произошел - увеличиваем эффект в 10 раз и сбрасываем флаг (чтобы в следующие тики снова не произошло увеличения эффекта).
Gaikotsu вне форума Ответить с цитированием
Сказали спасибо:
Непрочитано 16.02.2014, 22:30   #5
Аватар для finfan
fin-ex.corp

По умолчанию Re: Критование эффектов DoT\HoT

Цитата:
Сообщение от elastic Посмотреть сообщение
Всем доброго времени суток!
Буквально недавно до меня дошла информация, что в хрониках выше хф эффекты DoT(DamOverTime) и HoT(HealOverTime) могут критовать. оО
Т.е. шанс крита такой же как и при обычной м.атаке, но если, скажем, ДоТ кританет, то его первый первый тик нанесет power * 10, а остальные тики будут наносить стандартно.
Я так посмотрел, что-то как-то мутно и не понятно. Крит маг. урона расчитывается в формулах, в методе calcMDam, но как такое сделать для дотов? :<
Прошу кого-либо помочь с этим, можно наглядно, спасибо.
	public boolean onActionTime()
	{
		if (getEffected().isDead())
			return false;
 
		double damage = calc() * getEffected().calcStat(Stats.POISON_RES, 1, null, null);
		boolean crit = Formulas.calcCrit(getEffector().getCriticalHit());
		//Шанс критического удара DOT эффектом
		if(crit)
		{
			damage *= Rnd.get(100) < getEffector().getCriticalHit() ? 2 : 1;
		}
		getEffected().reduceCurrentHpByDOT(damage, getEffector(), getSkill());
		return true;
	}
Code: Java
просто пример внутри эффекта - реализованный
finfan вне форума Отправить сообщение для finfan с помощью Skype™ Ответить с цитированием
Непрочитано 16.02.2014, 22:44   #6
Аватар для Bacek

По умолчанию Re: Критование эффектов DoT\HoT

Только есть 1 но. Крит проходит и через целестал.
Тут же эффект даже не наложится и не выполнится onActionTime().

Добавлено через 1 минуту
Цитата:
Сообщение от finfan Посмотреть сообщение
	public boolean onActionTime()
	{
		if (getEffected().isDead())
			return false;
 
		double damage = calc() * getEffected().calcStat(Stats.POISON_RES, 1, null, null);
		boolean crit = Formulas.calcCrit(getEffector().getCriticalHit());
		//Шанс критического удара DOT эффектом
		if(crit)
		{
			damage *= Rnd.get(100) < getEffector().getCriticalHit() ? 2 : 1;
		}
		getEffected().reduceCurrentHpByDOT(damage, getEffector(), getSkill());
		return true;
	}
Code: Java
просто пример внутри эффекта - реализованный
Зачем каждый тик считать крит. Да и крит может быть только 1-й удар.
__________________
Человек просто обязан ошибаться, раз другие учатся на его ошибках .......

Последний раз редактировалось Bacek; 16.02.2014 в 22:46. Причина: Добавлено сообщение
Bacek вне форума Отправить сообщение для Bacek с помощью ICQ Ответить с цитированием
Сказали спасибо:
Непрочитано 16.02.2014, 22:50   #7
Аватар для finfan
fin-ex.corp

По умолчанию Re: Критование эффектов DoT\HoT

Цитата:
Сообщение от Bacek Посмотреть сообщение
Только есть 1 но. Крит проходит и через целестал.
Тут же эффект даже не наложится и не выполнится onActionTime().

Добавлено через 1 минуту

Зачем каждый тик считать крит. Да и крит может быть только 1-й удар.
У меня не л2, у меня каждый тик может быть критом и на целестиал он не должен накладываться.
У меня урон не проходит через целестиал, вообще никакой, только если нету условия в скиле breakInvul.

P.S. я просто показал пример, а не написал для ТС-а всё что необходимо.
finfan вне форума Отправить сообщение для finfan с помощью Skype™ Ответить с цитированием
Непрочитано 16.02.2014, 23:17   #8
Аватар для elastic
Ooh, who's that handsome devil?

Автор темы (Топик Стартер) Re: Критование эффектов DoT\HoT

Цитата:
Сообщение от Bacek Посмотреть сообщение
Только есть 1 но. Крит проходит и через целестал.
Тут же эффект даже не наложится и не выполнится onActionTime().
А вот это уже интересно...
elastic вне форума Отправить сообщение для elastic с помощью ICQ Ответить с цитированием
Непрочитано 16.02.2014, 23:19   #9
Аватар для Deazer

По умолчанию Re: Критование эффектов DoT\HoT

Я конечно могу ошибаться , но по моему это появилось в GoD
Deazer вне форума Ответить с цитированием
Непрочитано 16.02.2014, 23:26   #10
Аватар для Gaikotsu
Герой

По умолчанию Re: Критование эффектов DoT\HoT

Цитата:
Сообщение от elastic Посмотреть сообщение
А вот это уже интересно...
ну а что интересного то - тут и ежику понятно что ради того чтобы при крите эффект прошел даже через неуязвимость, придется мучать getEffects() класса Skill.
+ этого будет недостаточно - надо будет еще в reduceCurrentHp передавать в данной ситуации информацию о том, что хп надо уменьшить, даже если висит неуязвимость - хотя в принципе для этого думаю будет достаточно нанести дамагу от лица самой цели.
Gaikotsu вне форума Ответить с цитированием
Ответ


Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 
Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Одновременное Отображение Двух Эффектов WoWan-SM Lineage II 15 23.01.2014 03:50


© 2007–2024 «Форум администраторов игровых серверов»
Защита сайта от DDoS атак — StormWall
Работает на Булке неизвестной версии с переводом от zCarot
Текущее время: 13:44. Часовой пояс GMT +3.

Вверх