Придумываю игру Царство Небесного Камня.
Корневая тема..
http://www.gamedev.ru/flame/forum/?id=195705 А здесь инфо про свойства: Атака, Броня, Жизнь ...
Обновлено: 16 март 2015
Игрок не распределяет характеристики героя напрямую.
Значительная роль отведена шмоткам с бонусами, которые можно одеть на героя.
Повышэние ранжыра героя даёт лиш единицу таланта, которую можно потратить
на взятие очередного таланта в спец-схеме.
Однако, важные свойства героя авто-учитывают ранжыр героя.
Количество единиц Жизни увеличивается, и Атака прибавляется.
Герой - юнит, которому даёт приказы игрок, через мышку и клавиатуру.
Монстр - юнит, который управляется скриптами, настроеными админами игры.
Взаимо-действо происходит на уровне юнитов.
На картинке, по бокам окна - важные свойства.
(огне-рана)(fire-pain) означает "умножение" урона, который придёт, как огне-урон.
120 = это плохо, ведь наш герой получит на 20% большэ.
75 = это хорошо (0.75 * 1000 огня = останеца 750 огня).
Строка БРОНЯ намекает, что влияет на верхние строки. На самом деле, лиш Физ-рана
ярко зависит от Брони, а остальные три стихийных раны лиш иногда получают "помошь"
от числа Брони, и только, если стихийное сопротивление "меньшэ брони".
Строки КРИТ и Мана, имеют справа, значки "колючек" - это намёк, что в эти числа,
добавляюца бонусы "Рассвет".
// Процент Актуальности нарисован не правильный, чтобы видеть макси-шырь строки.
В строке Актуальности шмота, слева, можно напечатать знак скрешеных мечей,
а справа - знак шита ...
Под строкой Актуальности одежды героя, несколько кнопок..
Кнопка Ди-дубль - это зажыгаемая галочка про то, что хинт шмоток будет
поднимать хинт подобной шмотки, которая экипирована на герое.
// Никаких авто-сравнений нет - просто 2 текстуры рядом - игрок сам прикидывает.
Стрелки - создать ярлыки на тройку одежды (иначе, ярлык на каждую шмотку отдельно).
Арсенал = откроет окно, где собраны важные владения героя (таланты, чудо-осколки).
Декор = открывает бок-панэльку с декор-костюмами, чтобы покрыть ими "обычный шмот".
Слава = открыть-закрыть боковину с числами репутаций у сюжэтных фракций.
Дву-стрелка около слота орудий (надпись Топор) = запомнить Пару орудий в ярлык.
// Наверно, нельзя создать ярлык "одинокой шмотке" орудия или спец-орудия.
Помним явную пару орудий, и любую старую пару, которая была на момент одевания явной.
Повторные клики по ярлыку Пары орудий, могут менять две пары туда-сюда.
// Если рамка вокруг шмот-ярлыка "горит", то сейчас экипирован "шмот этого ярлыка".
Подобное можно сделать и на Атак_тройка, Оборон_тройка.
// Приор лук_или_орудия - это отдельный техно-ярлык (искать в окне Арсенала).
Рядом со слотом Лука, можно печатать знамя фракции, на которую "сейчас прославляемся".
// Рядом со слотом Кармана, нарисован Курсор, и его шаро-тень.
Рядом с каждым слотом шмоток, которые изнашываюца, можно сделать столбик износа шмотки.
Шапка, амуль, перчи - кладезь атакуюших бонусов.
Куртка, штаны, сапоги - оборонительные бонусы должны на них чаше встречаца.
Золотой кубок и лавры под ногами фотки героя = Медаль охотника (и Пауза работы медали).
По бокам, буква Е (естество, expirince) и буква Т (трофеи). // опыт-ап, трофей-ап
И над буквами, число процентов, которое проходит к герою - от ноля до 200.
// Если медаль отключена, то Ноли, и оставшаяся длительность на кнопке Паузы медали.
// --- варианты миксов экипировки орудий..
Кинжал + спец-орудие (шит, гарпун ...)
Пистоль + спец-орудие
Кинжал + Кинжал // все "кинжалы" одно-ручные // треба Печать фехтования
Пистоль + Пистоль // одно-ручные // треба Печать стрельца
Мушкет + пусто // дву-ручные
Топор + пусто // все топоры дву-ручные
Топор + Шит // треба Печать кузнеца
пусто + пусто // значит, лук работает
// ---
Типы урона в игре..
1. физический. // физ-урон
2. огненый мистический. // огне-урон // огне-рана // fire-dmg // fire-pain
3. ядо-биологический. // ядо-урон
4. электро-сказочный. // эл-урон // эл-рана
// + технический вампирский.
Пистоли и Мушкеты пусть выдают микс-урон.. 50% физики + 50% огня.
Луки пусть выдают микс-урон.. 50% физики + 50% электрики сказочной.
И напрашываеца вариант, что Яды можно прилепить на всякие Кинжалы.
Тоесть, как-минимум, запретить создавать стрелковые орудие с ядо-добавками,
чтобы некоторые ближне-бойные орудия творили яд эксклюзивно. хе-хе.
Яды направлены на бионику, поэтому некоторые механизмы могут иметь имунитет к ядам.
Допустим, что имун к яду, будет являца имуном к лечению, во время боя.
Это логично для игроков и монстров, если смогут получать подобные имуны.
Идея "вампирского урона" в том, что удар пытаеца найти у жэртвы самый слабый канал
сопротивления уронам, и назначает свой урон в такой тип, и проводит вычисления.
Тоесть, вампирский подменяет себя на любой другой выгодный тип урона.
Как это озвучить в правилах игры - как-минимум, некий купец упоминает механику
вампирских ударов, мол самый слабый резист используеца.
Возможно, купец приводит пример, мол некий герой-доктор применил Паралель, и весь
урон сказочно повергался в электрическое сияние, от которого доктор был зашишён,
но лютый враг применил пару вампирских выпадов и сразил доктора.
Оказывается, что вампирские удары нашли самые слабые места в зашите.
// Вампирский урон мутирует последним - после всех других мутаций проводки урона.
При этом, лечебный эфект вампиризма считаеца норм-отлечкой, и отмечаеца галочка
деления отлечки, если на жэртве или на вампире есть любая ядо-тикалка.
// Можно тактически, в бою с вампиром, отравить себя или врага любым слабым ядом.
// Тоесть, шанс наложэния и длительность ядо-тикалки, в этом случии, важней силы урона.
// ---
Наверно, только огне-тик выбивает из невидимости.
А электро-тик-урона вобше нет в игре.
Ядо-тиковая навеска должна резать на половину любой хил ...
Но некоторые дорогие расходные банки крови (раз в минуту) пусть снимают яд.
// Вероятно, такая банка сначала лечит, а потом снимает яд. Хотя спорно.
Авто-атака орудием, где соло-бонус Ядовитый - шанс (около 20%) навесить ядо-тик.
А использование ударных абилок с участием Ядовитый = 50% шанс навесить ядо-тик.
// соло-бонус не работает, когда два пистоля или два кинжала.
// --- особые усиления героев..
Ресурс героя - фишки (как-нибудь назвать) (максимум 6 штук).
// Возможно, хватит максимума в 4 фишки - более практично.
Первая фишка считаеца вечной - если её добыли и не потратили,
то она там висит до телепорта или пере-логина.
Допустим, бой окончился - мирное состояние героя - самая дальняя фишка считает
3 секунды и исчезает - так отнимаем все фишки, кроме первой.
Некий элитный расходник, который выпадает, как трофей (и есть в рил-шопе).
Единица этого расходника, выдаёт герою +1 фишку (откат расходника в пол-минуты).
Малый шанс добавить себе фишку при любой своей атаке.
Есть абилки, которые имеют свой высокий шанс добавить фишку.
Некоторые абилки требуют и кушают фишки.
Иногда, фишка не обязательна, но абилка тратит её, для своего усиления.
Можно иметь одну фишку от пред-боёв, и почти в любой момент добавить через расходник.
Остаёца получить 3-ю фишку "от случия", и можно активировать Усиленый режымчик..
Фортуна у бандита., Паралель у доктора., Адреналин у солдата.
// Режымчик включаеца, а фишки не забираюца. Режымчик отключаеца - фишки обноляюца.
Во время включения, избираеца время длительности режымчика
от 10 секунд до 20 (откат включения - минута, с момента финиша режымчика).
Наверно, за созданые крит-удары, включая подавленые, будет увеличеный шанс
прибавить фишку героя (любой типаж героя).
// --- Примерные свойства каждого юнита..
1. Атака. ----------------------
Обозначает вилку базового урона для участия в создании урона.
Игрокам видно два числа, и знак плюсика.. Атака_база + Атака_добавка.
Базовый_урон = база + рулетка(0, добавка); // 43 = 40 + (0, 10)
Исходяший_урон = Базовый_урон * (складчина процент-модификаторов, включая баф-дебафы);
Базовый_урон = база; // если юнит находица под эфектом "проклят" (или обезоружэн).
Базовый_урон = база + добавка; // если юнит получил эфект "макси-атака" (блеск атаки).
Усиление свойства атаки идёт через..
а) пополнение Атака_база, если бонус упоминает лиш одно число // +5 Атака
б) парная прибавка в оба числа // 3 + 5 Атака
// Нельзя создавать процентовые множытели для свойства Атака.
Бонусы, которые усиляют Урон, не являются бонусами для свойства Атака.
Максимальное значение бонуса шмотки для прибавки в Атака_база..
х = ранжыр_юнита (возможно, делёный на 2, но не сейчас).
Бонус_на_Амулет_для(х) = 2 умнож на (х);
Бонус_на_Шапку_для(х) = 3 умнож на (х);
Бонус_на_Перчи_для(х) = 3 умнож на (х);
Бонус_на_Мушкет_для(х) = 6 * (х);
Бонус_на_Топор_для(х) = 5 * (х);
Бонус_на_Пистоль_для(х) = 4 * (х); // будет 8-кратно, если два пистоля.
Бонус_на_Кинжал_для(х) = 3 * (х); // будет 6-кратно, если два кинжала.
Бонус_на_Лук_для(х) = 2 * (х);
Другие шмотки не прибавляют свойств Атаки.
Бонус на орудиях и амулете являеца обязательным и парным.
Шапка и перчатки не могут содержать парных бонусов Атаки.
Орудия и амулет не могут содержать одиночных бонусов в Атаку.
// Эти правила нужно учесть в авто-фильтрации создания предметов.
Амулеты происходят из "хаоса", и при создании амулета, часть бонуса переходит
из Атака_база в Атака_добавка (и нельзя исправить).
Орудия можно улучшать - полное усиление дублирует бонус Атака_база в Атака_добавка.
// ---
Примерное составление числа Атаки..
Атака_база = Юнит_ранжыр * 2; Атака_добавка = 0;
Атака_база += складчина бонусов с одним числом Атаки.
Атака_плюс( складчина парных прибавок от орудий и амулета);
Пробный результат с макси-атакуюшим золотым набором шмоток на ранжыр 10..
20 в базу от ранжыра
30 в базу с шапки
30 в базу с перчи
10 в базу с амуля // взята версия среднего "перетекания" из базы в добавку.
80 в базу с орудия // два пистоля // если они доступны на 10-ом // наверно, с 12-го
10 в добавку от амуля
80 в добавку от орудия
Итоговая вилка.. 170--260 // Атака 170 + 90
130--180 // с одним пистолем.
Не исключаю, что рисовать добавку, в интэрфэйсе, можно "везде слева".
&90 + (170 Атака)
В начале строки, имею ввиду мини-иконку игрального кубика.
мини-крит-урон = 175 * (1.5) = 262. // если рулетка-вилка выдала 175.
макси-крит-урон = 175 * (3.0) = 525. // 10-й ранжыр = сомнительно иметь макси-крит.
мини-крит-урон средней абилки = 175 * (3.0 + 1.5) = 787.
макси-крит-урон средней абилки = 175 * (3.0 + 3.0) = 1050.
2. Броня. ----------------------
// --- примеры конвертации Брони в опорную величину среза физ-урона.
Показатель Брони: 0-500 ---> (множ. физ-урона)
0 ---> 1.33
40 ---> 1.23
80 ---> 1.15 // усиление физ-урона на 15%
180 ---> 0.98 // срез физ-урона 2%
280 ---> 0.85
380 ---> 0.76
460 ---> 0.69
480 ---> 0.68
500 ---> 0.67 // срез физ-урона от брони = 33% // макси-срез = 50%
Чем большэ брони, тем меньшэ прибавляется процент среза.
Новые герои, когда начнут бить нубо-монстров, не заметят,
что монстры бьют на 20% сильней, потому-что нубо-монстры очень слабые.
Б: 60 ---> 1.19 // 10_шмот + 50_бое_стойка = 60
Можно иметь на шмоте, свойство-бонус среза физ-урона "нарямую" - этот срез
сочетается со срезом от факта брони, и не превышает 50.
Смысл таков, что нужно подогнать макс-усиленую(золотую) складчину Брони, совместно
с макс-процентом апа складчины Брони (например, у Солдата есть талант Броненосец),
чтобы максимум фин-показателя Брони был около 500, и трамбовать(0, 500).
При этом, в складчине участвует бонус Боевая_стойка (+50 в броню), если
герой ведёт бой, и нет блокератора боевых бонусов.
// --- предметы для набора свойства Броня
Если процэнт завышэния брони будет около 25-30, то уместно наделять
шмотки бронёй, чтобы складчина была около 400 (520, если усилить на 30%).
При этом, можно учесть глоб-обновление, и чуток занизить первоначалку.
Минус 50 за бое-стойку, и минус 50 занижаем = 300 распределить на хай-шмотки.
6 предметов несут броню (5 стабильных + шит).
Примерно 25 брони несёт каждый броне-предмет без операций Бронирования,
которые в итоге удвоят броню с предмета (шиты изначально удвоены).
Допустим, куртка перетянет на себя пятачки с шапки и сапог.
шапка: +20 брони
куртка: +35 брони
штаны: +25
сапоги: +20
перчи: +25
шит: +25 +25 брони (сразу макси-бронирован).
При этом, пусть будет хай-рецепт "шлем витязя", в котором можно поймать
свойство "броня +3%", у которого макс-шлифовка "броня +5%" (+ 2 единицы).
А среди доспехов, будет пара со статичным бонусом +5% в броню.
Проценты брони очень зажатые.
Талант солдата Броне-носец пусть даёт +15% в броню.
Когда складчина подрастёт до 400, то не беда, что от 35% будет 540 (40 единиц трамбуются),
потому-что при дебафе "пробитая броня", минус 20% брони = остаёца 460
(и это только у солдата со шитом, по праздникам).
На картинке, всплываюшяя подсказка к супер-предмету Крепостной вал.
// ---
Чем большэ показатель_брони, тем большэ условный вес героя.
Это иногда важно для прыжков, и для работы предметов (например, Гарпун).
Броню героя можно использовать для снижэния износа шмоток героя.
Но не ясно. Допустим, если брони большэ половины максимума, то износ половиница.
Броня доступна для динамичных операций (бонус прибавит, штраф отнимет).
Штраф Разбитая_броня = минус 20% среди модификаторов брони = нормально.
Штраф 20% лишнего физ-урона - возможно, подобные штрафы надо запретить.
3. Жизнь. // жизне-мер ----------------------
Жизне-мер - явный бар, но нет со-путного свойства аля Выносливость,
потому-что бонусы прибавляются в максимум жизне-мера числом или процентом.
// В бонусах, упоминать слово Жизнь (+200 Жизнь) (+200 Life).
Изначальное колво единиц жизни формируеца от ранжыра героя.
Допустим, что 200 или 300 за ранжыр.
На шмотках 10-го ранжыра, средний бонус аля +250 Жизнь.
// Бонус в жмер на шмотке аля 25 * ранжыр.
Бонусы в Жизнь не должны нести доп-сахар, потому-что Жизни-мер - это главное,
что удерживает героя в игре - сладко само-по-себе.
Скорость пасивного восстановления жизне-мера - не ясно, можно-ли влиять на это.
// Боевой пасив-реген крови - это фиговая штука.
Допустим, свойство будет тайным, но игрок видит и можэт засечь.
Особый модификатор лечения (в жизне-мер) зажать от 0.5 до 1.5
Например, ядо-тик на герое делит лечение попалам.
Крит-лечения не должно быть, потому-что крит-урон должэн разруливать борьбу равных.
4. Мана ----------------------
Мана - так называть свойство-ресурс для использования абилок.
А расходники для пополнения маны называть Еда(мир-кастинг) и Энэргия(мигом).
Средняя абилка тратит около 15 единиц маны.
Допустим, что минимум Мана-бак = Ранжыр умнож на 10, а остальное за счёт особого
дву-главого бонуса Рассвет (санрайз), который для Маны и для Крит-усила.
Зажать бонус Расвет, чтобы был числовым на одежде и процентовым на орудиях.
Амулет, штаны = числа не более 20. // Нашлифованые золотые макси-прибавки.
Перчи, сапоги = числа не более 30. // Можно усреднить до 25.
На орудиях, включая спец-орудия, максимум по 10% (от двух кинжалов 20%).
На шмотках, не должно быть _броне-бонусов_ Маны, Рассвета, Крит-усила.
------ Крит-усил (критикал энхэнсер) //крит-сила // бывшый крит-рэйт
Изначаль показатель 150. Максималь ограничитель = 300.
Печатать это в подсказке свойства, чтобы не пытались впустую повышать.
Участие в производстве урона = (складчина других процентов) + (крит-усил * 0.01).
Криты (удары с меткой Крит Crit) не будут сильно выделяца - это нормально,
учитывая, что средний абил-рэйт (процент авто-атаки), тожэ около 300.
Уместный макси-эфект собраных Рассветов: (150_базы + 100) * 1.2 = 300.
У героев могут быть таланты прибавок в Крит-усил - это хорошо,
потому-что даст возможность носить разные шмотки.
Допустим, что таланты одного героя не могут превышать 15 единиц Крит-усила,
и обязаны лиш прибавлять (без процент-бонусов).
------------
Свойства по проводке урона к другим свойствам..
Усил (название типажа бонусов) - процентовый модификатор формирования урона.
//= крит-усил // крит-рэйт
= усил физ-урона // штрафы-бонусы складываюца в свойство "физ-урон" (зеркало героя)
= усил ядо-урона // ядо-урон
= усил огне-урона // огне-урон
= усил электро-урона // эл-урон
//= усил целевого типаж-урона (по гоблинам, по механизмам) // нет в свойствах зеркала
= усил мана-поедания
= усил шмот-поедания (только у монстров - усиление износа шмоток героя)
Срез (название типажа бонусов) - процентовый модификатор приёма урона.
//= срез крит-урона // крит-срез - тайное свойство или несколько
Есть отдельный подавитель крит-ударов.
= срез физ-урона // складываюца в свойство "физ-рана" (зеркало героя)
= срез ядо-урона
= срез огне-урона
= срез электро-урона
//= срез типаж-урона (от гоблинов, от механизмов)
= срез мана-поедания
= срез шмот-поедания (снизить износ предметов)
// экипированые огне-стрельные орудия могут изнашывать свои шмотки - само-ед.
Макси-срез по любому каналу проводки урона = 50%, в любых случиях.
Для усиления значимости Брони, пусть она иногда пытаеца заместить или увеличить
стихийный срез, если он меньшэ "числа физ-среза от брони", либо идёт "крит-урон".
Тоесть, иметь ввиду, что Броня не замыкаеца лиш на формировании числа среза физ-урона.
-------- Уклон Dodge
Допустим, за каждые 20 единиц брони, минус шанс уклона.
Каков шанс уклона у героя - это можно видеть по словам..
нет(0), низ(нижэ 11), норм(нижэ 26), выс(нижэ 51) // 50 максимум
//no, low, norm, hi(gh);
Числа не надо показывать - всё-равно, они не гарантированы.
Обязательно подчёркивать, что никаких гарантий, а если Уклон сработал,
то срезает лиш половину урона, отправляя в отпуск все другие срезы урона.
Примерно 20 уклона изначально, но не уклоняеца герой от каждого 5-го удара.
И когда число 50, то не нужно делать уклон от каждого второго удара.
Поэтому игроку пишут мутные слова - они более честные чем числа.
// Меткость и Уклон - числа связаны, и нужна слабая меткость, чтобы сработал уклон.
"Высокий" уклон можэт давать некий баф с названием по теме ловкости.
Игрок не видит, что баф прибавляет всего 15, и если брони нет, то 20 + 15 = 35.
Но если игрок стоит в бою, то ему начисляют +50 брони, значит минус 2 из уклона.
Если у игрока 150 своей брони + 50 от бое-бонуса, то минус 10 из уклона.
Если 350 + 50 брони, то минус 20 из уклона = нет уклона, хотя и низкий похож на Нет.
Однако, максимум брони в 500 и плюс баф ловкости = 20 + 15 -25 = Низкий уклон (10).
Все навески баф-дебафов по теме уклона обязаны быть "без упоминания чисел".
Для уклона нет бонусов аля +3 в уклон, из-за мутной визуализации свойства.
Юниты стоят и мутузят друг-друга ударами - иногда срабатывает Уклон, и 50% удара
уходит в пустоту ... Но событие Уклона считается редким, если не было явных причин.
Тоесть, тема уклона не должна быть интересна игроку - иногда случаеца - ну и ладно.
Если герой сражается с 4 врагами - уклон невозможэн.
Когда героя оглушыли или заставили спать - у него нет уклона.
-------- Меткость Accuracy
Изначально, 50 меткости у каждого героя, без бонусов и штрафов.
100 меткости макс. Два пистоля или два кинжала, делят Меткость на 2.
За каждые пять единиц Меткости: + крит-шанс
// Если 100, тогда +20 шансов крита
------ Крит-шанс (значок кубика с тремя точками)
Шанс нанести критический урон. В подсказке, упомянуть о том, что это число
ничего не гарантирует. А если удар получил статус "мимо", то крит невозможен.
Можно разделить шансы крита между типажами героев..
Доктору = 5 изначалка.
Солдату = 10 изначалка.
Бандиту = 15 изначалка.
// Максимальное число крит-шанса = 50.
+10 от 50 меткости = 15 у Доктора.
или +20 от полной меткости = 25 у Доктора.
// от бандита, трудно ожидать полной меткости - у него-же абилка Дуплет.
Можно прибавить 10 от талантов, и собрать около 10 на одежде героя.
// Вероятно, шмот-бонусы в крит-шанс обязаны быть Статичными - не шлифуются,
// чтобы игроки не тратили деньги на "мутное свойство".
Если ты выбрал роль "эфективного вредителя", то тебе придётся делать
ставку на целевые удары, и на крит-урон (и наверно, выбрать типаж бандита).
------------------
Удача (трофей-ап) // хозяйственая
// Удача - это быть у раздачи подарков // Удача не связана с шансом крита.
Свойство процентовое, и напрямую повышает рост полоски квэста Активность.
Минимум 0%, максимум 100%, но можно пере-придумать минимум.
Ну и тайным образом, трофей-ап влияет на дроп предметов (чтобы более часто).
Тоесть, в подсказке пишут, что шанс дропа увеличен, но не ясно, как это работает.
------------------
Гений // Smart // опыт-ап = для опыт-бара
Свойство процентовое (от 1.0 до 2.0).
Всё, что идёт в опыт-бар, будет усилено этим свойством.
// Дары опыта за квэсты "поджаты", учитывая это свойство.
Шапка, Куртка, Амулет - могут нести свойства для добавочного опыта.
Макси-число с каждой шмотки +10 (получим модиф 1.3).
Если на каждой шмотке с бронёй, поймать броне-бонус Опыт-ап,
то макси-складчина станет 1.35, а по праздникам = 1.4.
При этом, добавочный опыт не может быть большэ основного (максимум, умножаем на 2.0).
Тоесть, свойства на шмоте безполезны, когда работает донат-усилитель "опыт-ап".
------------------
Движение или Бег = скорость движэния героя
100 = нормальная. 50 = половина от нормальной. гы-гы
Если Броня переваливает особый рубикон, то минус 10 в скорость бега героя.
// --- мини-теория обмена ударами..
Некий юнит находит цель, проверяет кондиции доступных атакуюших абилок,
избирает абилку, которая доступна и выгодна, кликает-применяет эту абилку.
---
Если юнит работает на игрока, то выбор цели, и прожатие абилки
возлогается на игрока, а сервер обязан проверить доступность.
---
Выделяем отдельные процедуры..
1. Нахождение цели и приценка сближения (нужны свойства союзничества).
2. Проверка кондиции явной абилки, у явного юнита.
// всякие блокеры (конфуз), откат, дистанция и луч видимости цели.
Допустим, что у бот-юнита пока не будет поиска выгодной атаки = авто-атака + хаос.
3. Набор проц по реализации каждой абилки (авто-атака = спец-абилка).
4. Проца приёма урона (пусть сам юнит разбирается с отправленым ему уроном).
Анкета урона - это уместно для того, чтобы приводить результат любой абилки
к единой форме, которую можно передать жэртве ...
Но желательно, заполнить анкету и отправить в Механизм проводки урона,
чтобы он мог "добавить некий ритуал" (через один узел - более стабильная ситуация).
5. Механизм, через который пересылать Анкеты урона.
Рутина механизма читает анкету, видит, что урон заказан по местности,
находит все юниты в нужной геометрии, создаёт для них личную копию первичной анкеты,
производит поиск усилителей и ослабителей "урона по местности" от всяких тотем-зон,
под каждую анкету-жертву "взрыва". Затем, механизм передаёт анкеты жертвам лично,
и те сами сглаживают, чем могут, и применяют к своим хит-поинтам.
Если жертва обнаруживает свою смерть, то выдаёт об этом глоб-событие.
Если анкета удара пришла в мёртвую жертву, то ничего страшного - игнорим,
и не выдаём нового "посмертного события", однако, можно отметить
техно-лог, что лажает какой-то шаг в рутине обмена ударами.
class t_strike_record // анкета
{
int dmg_iron; // обычный физический
int dmg_fire; // огонь // исходный урон по каналу огня
int dmg_bio; // яды
int dmg_el; // молния
int area_type; // ноль или геометрия "взрыва"
int size_x;
int size_z;
int pos_x;
int pos_z;
int baner_from; // знамя юнита, который произвёл анкету
PlayerT* pSrc; // указка на юнит-источник удара
...
};
// --- Примерные формулы рядом с приёмом урона
float юнит.собирание_брони( ограничитель)
{
результат = (собираем броню) * (собираем модиф брони) * тюнинг;
ограничить результат;
показатель_брони = результат;
вернуть результат;
}
проца юнит.обновить_числа_брони()
{
хикс = макси_броня + собирание_брони( макси_броня);
множ_физ_урона1 = макси_броня / (хикс * 0.75f);
срез_физ_урона = (1 - множ_физ_урона1) * 100; // для подсказки.
// Если срез отрицательный, печатать "среза нет" или "уязвим".
}
проца юнит.приём_личного_урона( анкета)
{
// анкета->area_type обязан быть нолевым
урон = анкета->физ_урон * срез50( множ_физ_урона1 + собираем модифы приём_физ_урона);
// 983 = 787 * срез50(1.15f + -0.1f + 0.2f); // показатель_брони 80.,
// и баф-бонус 10% срез любого урона., и дебаф-штраф 20% лишнего физ-урона.
// Процедура срез50 вернёт результат от 0.5 до 2.0
Подобно физ-урону, оформить-срезать стихийные уроны.
// ---
// Далее, отнять складчину уронов из Единиц_жизни юнита.
// Если наш юнит убит, но не весь урон уместился, то проверить наличие бафа шыпов.
// И если шыпы есть, то передать, через механизм урона по местности, своё послание,
// чтобы вернуть хозяину анкеты остаток его урона и нормальную работу шыпов.
// --- Если остались жывы..
пробуем_активацию_спасалочек( this); // если есть таланты
пробуем_ответный_огонь( this, анкета->pSrc); // мстя, если не ушли в невидимку ...
// Если нет примари-фая-таргет, и pSrc не ноль, то
// оформить юниту this перво-цель в виде юнита pSrc
}
// --- наличие пет-помошника..
У каждого юнита есть технический линк на вспомогательный юнит, которым можэт быть "сквад".
Сквад - несколько одно-родных юнитов, которые считаюца тесно-связаными меж собой.
// Если участник сквада "отстал" (попал в капкан), то он исчезает без тригеров.
Некие сильные враги вызывают на поле боя (сумонят) одного или несколько доп-юнитов.
// Некоторые враги могут быть парой юнитов Командир + помошник, но одинакового вида.
Игроки могут использовать сумон-предметы, либо получить талант Помошник, который даст
право на постояного юнит-спутника, которого можно приручить из монстров (особый список таких).
// Пет - постояный юнит-спутник, который умеет атаковать "вместе с хозяином".
Сумон убирает пета, и наоборот - они на один технический линк претендуют.
// Возможно, на этот линк претендуют эфекты от Гипноза и Прикрытия.
Талант Помошник не доступен Солдату - это нормально, хотя если тема петов будет "выгодна",
то копия таланта Помошник можэт попасть в продукты рил-шопа - можно взять безплатно,
а можно купить в рил-шопе (и выбрать соседний талант Страх - донат-таланты вне-схемы).
Но пока, я вижу пета лиш мизерной добавкой к урону.
У всех пет-монстров одинаковый принцип - примерно 20% атаки героя они царапают авто-атакой.
Но у них всё-таки есть мини-польза.. после удачного приручения, надо у циркового купца
пройти курс "открытия пет-способности" (заплатив заметную кучу игрового золота).
// Назвать курс-квэст "цирковой питомец"
У пета появица баф хозяину - у каждого пета свой список этих бафов - один баф можно
встретить в разных списках, но не исключаю, что баф может занимать несколько строк списка,
чтобы быть более часто-выпадаемым от рулетки.
Например, можно открыть баф "+10% к производимому урону по местности".
При этом, другие игроки этот баф не видят, и снять его не смогут - он вписан
в характеристики юнита-помошника, и пока пет бегает-царапаеца рядом - герой усилен.
// но баф считаеца Боевым, и какие-то механизмы могут его блокировать.
// ---
Жизне-мер и Мана-бак имеют мирный пасивный реген (само-востановка вне-боя).
Если герой стоит рядом с "шаман местом" (места явных респаунов), то жизне-мер
будет процентно подлечиваца от нахождения в этом месте - примерно за 10 секунд,
восполница жизне-мер любого размера.
Востановление Маны, наверно, зависит от ранжыра.
Допустим, что за 3 минуты востановим средне-вместимый мана-бак.
Подразумеваеца, что игрок покушает нубо-еды, которую можно покупать за копейки.
Нубо-еда - 5 секунд подготовки(кастинга), зато без отката - можно пару раз подряд.
А потом, пасивный реген маны, пока добежым до боевой поляны.
// Дорогая еда не выпадает из монстров - количество маны востановит большэ.
// --- Личные умелки героев..
Герою плавно выдают три личных абилки..
1-ая доступна с 3-го ранжыра., 2-ая с 6-го., 3-я с 12-го.
Сначала, все эти абилки-умелки считаюца "вялыми" - избираеца минимальная вилка атаки.
Но если применить умелку нужное количество раз, то она станет нормальной, и будет
использовать весь диапозон вилки атаки. (хаос-молоты могут усилять дажэ вялые умелки).
Только нормальную умелку можно скрестить с чудо-осколками (мороз и гром).
// Тренировка умелок.. 1-ая = 100 применений по равным., 2-ая за 500., 3-я за 1000.
Подробности умелок в темах о развитии каждого героя.
// ---
Не исключено, что будет серия стихийных каст-абилок, которые "можно заготовить",
при определёных условиях. Например, на орудии есть работаюший соло-бонус "Стихийный",
и у героя есть "хикс-рана" 67 и нижэ. Как только одно из условий исчезает,
то заготовленая стихийная абилка исчезает, тратит ману, но не уходит в откат.
Такжэ, исчезание заготов-абилок всегда происходит при кнок-бэках и "гарпун-полёте",
когда ты притягиваешся (дажэ если ты сам активировал гарпун).
// Например абилка.. Огне-столб (огне-рана 67 и нжэ)
// ---
Игрок получает осколок чудо-мороза и осколок чудо-грома - эти два элемента он можэт
прилеплять к умелкам героя (три умелки у каждого типажа), чтобы получать доп-эфект,
который заранее ясен.
Осколки можно переставлять между умелками в любое время, через спец-диалог,
в котором участвует экипированое орудие (ему поставят полный износ - сломают).
Предмет-орудие принимает в себя выгружаемый осколок.
И затем, линк на одну из двух умелок, кроме старой (откуда вынули).
Чтобы завершыть переход, нам нужно долбануть кого-то Этим орудием и Этой абилкой,
но сначала надо починить орудие, ведь оно сломано, и у героя как-бы "голые руки".
После сочетания "удар абилкой тем орудием" - всполох и сообшение, мол осколок
вжился в новую умелку - умелке добавлен такой-то эфект.
// --- ресурсы для игр
http://opengameart.org