Предположим, у юнита есть сопротивляемость 25% и ему наносится 1000 маг. урона.
Случай первый: увеличение маг. урона. Будет нанесено (1000 * .75 * 1.25) = 937.5 (в чистом эквиваленте). Случай второй: снижение маг. резиста. Будет нанесено ровно 1000.
Не совсем. За более подробной информацией можешь заглянуть в игровые константы, Бой: таблица дополнительного урона. Остатки РПГ элементов регулярно вводят в некоторое заблуждения.
Сообщение отредактировал Bibo - Пятница, 04 Апреля 2014, 21:52:41
Варкрафт в принципе первое не предусматривает. Или я не прав?
Про астрал слышал?
Добавлено (04 Апреля 2014, 21:57:36) ---------------------------------------------
ЦитатаSirNikolas ()
И разве маг. резисты плюсуются, а не перемножаются?
Каждый бонус уменьшает оставшиеся проценты. +25 маг защиты - 25 от 100 = 25. 75% урона будет наноситься +25 маг защиты - 25 от 75 = 17. 75-17=58% урона будет наноситься +50 маг защиты - 50 от 58 = 29. 58-29=29% урона будет наноситься
Покуда тема о маг резисте, как аура рубика устроена?
То же благосдавение в книге даётся периодически юнитам в группе Heroes если они имеют баф ауры.
Добавлено (04 Апреля 2014, 22:04:45) --------------------------------------------- крипам простоты ради я бы его перманентно давал при получении баффа ауры.
Bibo, не, я гоню. Игрл и отвечал. Я в старой аоске делал периодиком создание группы - имеющие баф и наделял их хренью, ну у героев потом убирал, а крипов оставлял так. Однако, учитывая, что даже если удалять утечку группы, то всё равно там что-то остаётся(забивается память) - лучше обойтись так, чтобы в группу попадали и исчезали юниты, а не создавать каждый раз имеющие баф.
Короче. Всех входящих в карту добавляем в группу юнитс. И если они имеют баф(проверяем каждые 3 сек например) - дать спеллбук иначе забрать. Ну можно ещё проверку на уровень резиста сделать, но вроде ничего страшного если будет пытаться 100 раз дать ту же способность
Слишком колоссальная проверка получается. Быть может будет проще периодически проверять наличие союзных юнитов в радиусе от обладателя ауры? У кого есть бафф и нету в группе, добавить в группу и вручить способность. Затем проверить всех кто входит в эту группу, кто бафф потерял - удалить из группы, отобрать способность.
Быть может будет проще периодически проверять наличие союзных юнитов в радиусе от обладателя ауры?
Ну это создание группы, ты же понимаешь
Добавлено (04 Апреля 2014, 22:46:52) --------------------------------------------- Вспомнил свой самый первый колхозный способ - давать рубику пламя феникса, действующее на своих и если юнит получил урон едва больший нуля - дать ему резист, пламя горит и баф остаётся. Всё бы прекрасно, да только хил сбивается и другое пламя феникса не подействует а юнита.
Bibo, но там-то ты завёл группу одну и не уничтожаешь её, просто там добавились/удалились. А тут ты создаёшь и как бы забиваешь память. Хотя для коротких игр до 1 часа всё равно там ни фига не прочувствуется даже.
Добавлено (04 Апреля 2014, 22:49:55) ---------------------------------------------
ЦитатаBibo ()
По что мальчика обидел
Что даст обычному пользователю закрытие или незакрытие темы? Мб другие ещё постить в ней хотят.
Добавлено (04 Апреля 2014, 22:51:33) --------------------------------------------- Кстати я приметил, что если плодить группы - подлагивает, а если юзать "постоянные" группы с меняющимся содержимым - всё намного лучше.
Ну объясни мне, как ты видишь проверку каждые н сек юнитов вокруг героя?
Юнит вошёл в область зона игровая карта добавить юнита в глобальную группу G или Юнит вошёл в область зона игровая карта добавить в переменную set udg_MUI = udg_MUI + 1, set udg_Unit[udg_MUI] = входящий юнит Событие Юнит умирает: Цикл для А(глобальной переменной а не GetForLoopIndexA) если умирающий равно = udg_Unit[A] то udg_Unit[A] = null, udg_Unit[udg_MUI] = udg_Unit[A] udg_MUI = udg_MUI - 1 или вариант с группой юнит умирает то удалить его из группы хотя при смерти он вроде сам удаляется из группы автоматически. Каждые N сек срабатывает таймер проводится проверка на истинность достаточных условий, если растоние между точками меньше.... и прочее. Вариант с переменной udg_MUI будет производительнее.