Название Neora было дано из Neo (новый) и Ra (от rarara.dll), это по сути проект состоящий из DLL-аддона для движка PDK, который нынче куда популярнее чистого старого dll на оригинал из-за своих крайне продвинутых фич типа поддержки png, загрузки перед боем и т.д.. Но чего-то от dll нам всё-таки не хватает. А я недавно сел заниматься модами. И мне приспичило. Такая история :) Neora - Гибрид Alkarter's Exe и Silva's and folks DLL
Эта основа для мода совместима с уже существующими модами наPDK 1.2+, однако начиная сNeora 2.00+некоторые атрибуты и тэги изменены или переименованы, поэтому если вы сидите не на старой версии - потребуется сделать несколько замен текста в коде.
- Добавлен State 3xxyzzz для остановки времени —— xx - вероятность Time Stop —— zzz - время Time Stop —— y - тип тайм-стопа: ————— 0 - останавливает ВСЁ, кроме атакующего ————— 1 - останавливает ВСЁ, кроме персонажей и объектов с командой атакующего ————— 2 - останавливает ВСЕ объекты, кроме персонажей
- Добавлен State 2xxxyyy, где ХХХ - число маны, которое вы собираетесь отнять. Если маны хватает переход происходит согласно "Next:". Если же маны не хватает, происходит переход в YYY.
- Добавлены статусы управлением направления взгляда объекта: ————— Статус 30 - объект разворачивается строго влево ————— Статус 31 - объект разворачивается строго вправо
- Добавлен Статус 9ххх. При срабатывании атакующего ITR на цель, этот атакующий объект совершит переход в кадр ХХХ, где ХХХ может быть от 0 до 799 (значение не больше лимита кадров). Создано для валидации каких-либо действий у персонажа.
Bodies:
- Переработан алгоритм "bdy: 1xxx", теперь заложники берут команду того, кто их освободил! А также функция теперь может быть использована не только с Criminal.dat (ID 300). Кроме того тело теперь позволяет отправлять в кадр 0.
- Добавлена функция "bdy: 2xxx", которая работает точно так же, как и 1xxx. Без Тряски.
- Добавлена функция "bdy: 3xxx", которая работает точно так же, как и 1xxx, но также позволяет использовать даже команде врагов (Team 5), и активировать объект-заложник снарядами.
- Добавлена функция "bdy: 4xxx", которая работает точно так же, как и 3xxx. Без Тряски.
- Добавлено Bdy 50, где персонаж, получающий урон, не перейдет в болевые кадры и его приемы не будут прерваны.
- Добавлен комплексный аналог тела с переходом "bdy: 1xxyyyzzzw", где: ~~~ XX - вероятность срабатывания в %, 0 = 100% ————— YYY - кадр, куда должена будет перейти Цель, (800~999) - перехода не будет ————— ZZZ - кадр, куда должен будет перейти Атакующий, (800~999) - перехода не будет ————— W - дополнительный эффект от срабатывания: —————————— Без тряски: —————————— 0 ~ ничего не происходит —————————— 1 ~ Цель получит команду —————————— 2 ~ Цель получит урон —————————— 3 ~ Цель получит урон и команду Атакующего —————————— С тряской: —————————— 4 ~ ничего не происходит + тряска —————————— 5 ~ Цель получит команду Атакующего + тряска —————————— 6 ~ Цель получит урон Атакующего + тряска —————————— 7 ~ Цель получит урон и команду Атакующего + тряска
- Добавлен Body Kind 1XXYYYZ: ————— XX - % вероятности срабатывания (0 = 100%) ————— YYY - % возвращаемого урона атакующему ————— Z - тип возвращаемого урона (Тип урона, на данной стадии разработки эта переменная просто зарезервирована, поэтому используйте значение "0") (Броня персонажа действует ПЕРЕД данным "bdy", что означает, что пока броня не будет разбита, данное Тело не будет действовать. Действует только с Type-0 целью и атакующим)
- Добавлен "Itr\Kind: 1000" для мгновенных перемещений в координаты X, Y и Z Для перемещения используются атрибуты "x:", "y:" и "z:" внутри ITR. Укажите "Injury:", чтобы объект сменил свой кадр сразу после перехода в указанное место. Все 4 атрибута поддерживают значение "-1", означающее "пропустить параметр". Дополнительно ——— "dvx:" - требуемое число HP для перехода ——— "dvy:" - требуемое число MP для перехода (Здоровье и мана вычитаются только если оба параметра соответствует минимальным требованиям для переноса объекта)
Effects: ——— Effect 50, он не издает звуков, а так же не отправляет в болевые кадры персонажа. ——— Effect 1XXX - где атакующий теряет XXX здоровья, при срабатывании атаки. Может убить ——— Effect 2XXX - где атакующий восстанавливает XXX здоровья, при срабатывании атаки по type-0. Не превышает лимита ХП ——— Effect 3XXX - где атакующий восстанавливает XXX здоровья, при срабатывании атаки по любому type. Не превышает лимита ХП ——— Effect 4XXX - где атакующий теряет XXX маны, при срабатывании атаки ——— Effect 5XXX - где атакующий восстанавливает XXX маны, при срабатывании атаки по type-0 ——— Effect 6XXX - где атакующий восстанавливает XXX маны, при срабатывании атаки по любому type ——— Effect 7XXX, где XXX - количество маны, которое отнимет атака у жертвы ——— Effect 8XXX, где XXX - количество маны, которое отнимет атака у жертвы и отдаёт атакующему ——— Effect 9ХХХ, где ХХХ - кадр, куда будет отправлена жертва с Type-0.
Эффектам можно определить звук эффекта через тэг "sound: N", где N: ——— 0 - обычный звук удара ——— 1 - звук удара по блоку и броне Julian ——— 2 - звук удара сбивающего с ног \ звук сильного удара ——— 3 - удар по камню ——— 4 - удар по бейсбольной бите ——— 5 - звук шага \ приземления персонажа ——— 6 - звук падения тела на землю ——— 7 - звук Дэш прыжка ——— 8 - звук попадания t3 объекта во что-либо ——— 9 - звук разрушающегося камня ——— 10 - звук стрелы Генри попадающей в землю ——— 11 - заглушенный звук пронзания ——— 12 - звонкий звук пронзания ——— 13 - звук отбивания Мячика Битой ——— 14 - звук заморозки Льдом ——— 15 - звук разбивания Льда ——— 16 - звук поджигания ——— 17 - звук удара по броне Louis и Knight
Attributes:
Огромное количество новых атрибутов, которые прописываются между "bmp_begin" и "bmp_end": —— "start_hp:" - базовое значение здоровья на старте сражения
—— "start_hp_max:" - базовое значение максимального здоровье на старте сражения
—— "hp_regen:" - количество регенерируемого здоровья за раз. Можно выставлять отрицательные значения. У всех персонажей обычная регенерация равна 1, поэтому если написать "regen_hp: 3", вы получите 1+3 здоровья в регенерации, а "hp_regen: -1" отключит регенерацию вовсе.
—— "hp_regen_cd:" - время отката в Wait, прежде чем очередная порция "hp_regen" поступит в персонажа. Может быть использовано даже когда "regen_hp" не указан. У атрибута есть встроенный таймер в 11 тактов (от оригинального LF2), поэтому если вы хотите отключить задержку полностью, то введите -11, в сумме получится 0, то есть нулевая задержка. Значения ниже -11 не работают, так как задержка не может быть в сумме отрицательной.
—— "hp_dark_regen:" - количество регенерируемого темного здоровья за раз
—— "hp_dark_regen_cd:" - время отката в Wait, прежде чем очередная порция "hp_dark_regen" поступит в персонажа
—— "hp_limit:" - лимит здоровья, который ни при каких обстоятельствах не может быть превышен (хардкап)
—— "hp_regen_type:" - принцип работы регенерации здоровья. При "0" отрицательная регенерация может убить персонажа. При "1" регенерация не работает при здоровье ниже "hp_regen_min:" и выше "hp_regen_max" При "2" будет всё то же, что и при значении "1", но отрицательная регенерация не сможет убить персонажа.
—— "hp_regen_min:" - значение, ниже которого эффект регенерации перестает действовать
—— "hp_regen_max:" - значение, выше которого эффект регенерации перестает действовать
—— "hp_regen_hurt_cd:" - после получения урона персонаж не будет регенерировать указанное время.
—— "start_mp:" - базовое значение маны на старте сражения
—— "start_mp_max:" - базовое значение максимальной маны на старте сражения
—— "mp_regen:" - количество регенерируемой маны за раз, можно выставлять отрицательные значения. У всех персонажей обычная регенерация равна 1 (до +4 при низком здоровье).
—— "regen_mp_cd:" - время отката в Wait, прежде чем очередная порция "mp_regen" поступит в персонажа. Может быть использовано даже когда "mp_regen" не указан. У атрибута есть встроенный таймер в 2 такта (от оригинального LF2), поэтому если вы хотите отключить задержку полностью, то введите -2, в сумме получится 0, то есть нулевая задержка. Значения ниже -2 не работают, так как задержка не может быть в сумме отрицательной.
—— "mp_limit:" - лимит максимального запаса маны, который невозможно превысить
—— "mp_regen_type:" - принцип работы регенерации здоровья. При "0" мана может регенерироваться быстрее, если персонаж потерял часть здоровья. "mp_regen:" суммируется с обычным рассчетом количества регенерируемой маны от потерянного здоровья. При "1" мана регенерируется всегда фиксированное значение равное "mp_regen:".
—— "mp_regen_cap:" - при достижении указанного значения мана перестает регенерировать сама по себе. (Пример: персонаж способен восстановить сам только часть силы, а оставшуюся часть - только с помощью бутылочек). Тонкости механики: 1. Кап Регенерации так же ограничивает количество маны, которое будет у персонажа после перехода из одной стадии в другую. 2. Кап Регенерации НЕ сбросит ману вниз, если её уже больше, чем указано в ограничении регенерации, например бутылочками молока или пива.
—— "mp_regen_hurt_cd:" - после получения урона персонаж не будет регенерировать ману указанное время.
—— "mp_regen_on_hurt:" - количество MP, которое будет получать персонаж каждый раз, как получает урон ( за исключением падающих с неба ящиков xD )
// Надеюсь, что с новыми атрибутами по ресурсам Вас ничто не остановит сделать каждого персонажа уникальным!
—— "stat_#:" - кучка статов, от "stat_1:" до "stat_10:", которые можно добавлять персонажу. Они могут повысить урон персонажа в % от выбранного стата, то есть с относительным значением.
—— "resist_#:" - кучка статов-сопротивлений объекта тому или иному типу урона. Например, если персонажа атакуют с ITR внутри которого есть "dtype: 5", то против этого урона будет действовать "resist_5:", занижая урон или вовсе защищая от него. Если у персонажа накапливается сопротивление от 100% или больше - он перестает переходить в кадры ТБ.
—— "crit_chance:" - шанс нанести критический урон любой из атак. Значение складывается с "crit_chance:" из шапки персонажа\объекта
—— "crit_power:" - % от урона, который будет нанесен в случае срабатывания критического эффекта. Значение складывается с "crit_power:" из шапки персонажа\объекта.
- Новый атрибут "dtype:" определяющий тип урона, который сейчас наносит персонаж. Возможно значение от 0 до 7.
- Новый атрибут "scale_stat:" определяет источник для дополнительного урона. Можно указать значение от 0 до 7, оно будет считано из "stat_N", где N - указанное здесь число.
- Новый атрибут "scale_value:" - определяет значение в %, от значения статы, указанной в источнике "scale_stat".
Допустим Stat_1 персонажа равен 40. Тогда получим 40 * 200% = 80 урона. "scale_stat: 1" - считывает "Stat_1" из шапки персонажа. 100 + 80 урона = 180 урона будет нанесено. Допустим, что dtype: 0 или его отсутствие - это обычные физические атаки ЛФ2. А dtype: 1 - это огненные атаки. Допустим, что мы сделали атаку против Firen, у которого есть "resist_1: 50", то есть 50% сопротивления. Тогда он получит 180 - 50% = 90 урона в итоге.*)
// Если scale_stat указан не у персонажа, то значение будет браться у того, кто выпустил, создал или отбил этот снаряд, тем самым, проще говоря, наследуя значение у своего хозяина. Поэтому создавая прокачку для персонажа вы автоматически можете создавать эту прокачку и для его снарядов в нужных вам пропорциях!
- Добавлен новый атрибут "ohp:" (opoint health power), в котором можно указать здоровье призываемого персонажа или клона.
Stages: - Теперь рандом призыва можно использовать опционально. Используйте "x: 1xxxxx", где xxxxx - координата призыва. В этом случае призыв будет происходить без рандома. Пример: "x: 100300" призовет объект на координату 300 по Х, без рандомизации, а "x: 300" будет использовать рандом, как в оригинальном движке LF2.
- Теперь "act: zzz" может работать с type 0 \ 1 \ 2 \ 3 \ 4 \ 5 \ 6.
- Переработан атрибут "act:". Добавлен % вероятности перехода объекта в этот номер кадра. Используйте "act: xxxyyyzz", где ZZ - это шанс перехода в этот кадр, YYY - куда перейдет, если шанс сработал, и XXX - куда перейдет, если шанс НЕ сработал. Обычный "act: zzz" так же работает, если вам нужен безусловный переход.
F-keys: - Теперь можно включить работу F6, F7, F8, F9 клавиш для всех режимов или использовать шаблоны или выбрать какие клавиши в каких режимах вы желаете разрешить. Настраивается через DLL. - Теперь F7 снова может воскрешать персонажей после того, как раунд закончился, как было в LF 1.9. Включено по умолчанию. + нажатие теперь так же отменяет приближение появления таблички (бывалый баг в старых версиях LF2, бойцы живы после F7, но табличка уже не даст биться) - Переработан эффект F7 клавиши, теперь нажатие также снимает эффекты Яда, Замедления, Молчания и Конфуза, которые были введены в PDK - Переработан эффект F9 клавиши. Теперь клавиша не уничтожает t0 объекты в режимах отличных от VS Mode. Кроме того добавлены фильтры объектов по ID или Type, Специально для тех, кто использует объекты как ключевые элементы карт или стадий. Настраивается через DLL.
Other: - "hiden:" теперь вводится как "hidden:" - "confus:" теперь вводится как "confuse:" - "manacle:" теперь вводится как "silence:" - "delay:" теперь вводится как "slow:" - "respond:" заменен на "sound:" и используется для выбора звука "effect".
- Последняя версия PDK 1.2 со всеми функциями (ехе от Алькартера) - Изменен статус транформации, теперь он работает как обычный 8ххх, но без +140 кадров. Для ID вроде Бандита и других сделаны исключения, добавляющие им +140. - Вынесены ресурсы-картинки из EXE в папку \sprite\UI\ и в PNG формате. - Включена поддержка прозрачности в картинках меню и элементах интерфейса (RFace.png, *_s.bmp, FRAME.png, e.c.t.) - Добавлена функция перманентной валидации реплеев. Теперь игра любой реплей будет считать валидным, даже если он из устаревшей версии вашего мода! По умолчанию функция включена. - Исправлено отсутствие удвоенной регенерации MP у Julian и Firzen! - В комплекте движка есть правильные dat-файлы с верной бронёй Louis, Knight и Julian, соответствующие оригинальному LF2 - Исправлен баг от PDK с курсором, который пропадал после нажатия Start Game. - Возвращена возможность выбора команды в Стадиях, как было в ранних версиях LF2 :) Включено по умолчанию. - Переработана функция сложности для Battle Mode, теперь режим CRAZY! доступен и для него. Включено по умолчанию. - Изменен алгоритм регена маны, благодаря чему теперь увеличение регенерации маны действительно работает от недостающего количества здоровья. Теперь даже если у объекта 1 000 000 здоровья, он всё равно будет получать увеличение регенерации по достижению определенного % здоровья. В оригинале учет всегда велся относительно 500 здоровья, не учитывая какое было максимальное здоровье персонажа. - Добавлено замедление времени при нанесении добивающего удара по последней цели в матче. Включено по умолчанию. - Теперь можно сменить название окна игры. На странице DLL "lf2.asm" найдите переменную "GameName" и измените название на желаемое. - В углу экрана больше не отображается отладочная информация в виде "u0 d0 l0 r0" и т.д.
Tweaks:
- Переписан код для управления регенерациями Здоровья (HP) и Маны (MP) с привязкой к ID. Демонстрационно-увеличенные значения применены к ID 55.
- Настройка стартовых значений координат: ——— Возможность включить через DLL рандомный спавн команды игроков при игре в стадиях, как если бы это был VS режим. ——— Возможность установить точную точку спавна команды игроков в стадиях по X \ Z.
- Управление стартовыми значениями MP для разных режимов: ——— Возможность установить начальное значение MP для Игроков для разных режимов игры. (По умолчанию в VS режиме 200 mp, в Stage режиме 500 mp). Возможно выставлять значения для отдельных ID персонажей. ——— Возможность установить начальное значение MP для Компов для разных режимов игры. (По умолчанию в VS режиме 200 mp, в Stage режиме 500 mp). Возможно выставлять значения для отдельных ID персонажей.
- Добавлен код сброса координат фоновой картинки в меню выбора персонажа в 0.0, для активации убрать знаки комментариев ";" у процедуры "ResetCoord"
- Добавлена возможность включить "нейтральность" у всех игроков, которые проходят стадию, вместо первой команды. Все могут убить всех, THIS IS HARDCORE!!.
- Добавлена возможность использовать собствнные ХП-бары для персонажей. (Демонстрационную версию можете увидеть, поиграв за Julian)
- Не работают heavy_* атрибуты в шапке персонажей (отсутствие считывания атрибутов) Пост 1 - Порча работы модов софтом Dropbox v.3+ (природа бага неизвестна) - Странные прыжки с разворотом (отсутствие считывания изначального направления) Пост 1 - Невозможно сбросить прием нажатиями стрелок после падения (отсутствие считывания во время лежания) Пост 1 - Измененная регистрация нажатий (возможно не баг?) Пост 1 - Отсутствует AI для Julian (ID 52) и Justin
艾爾卡特 (Alkarter) - разработчик движка, который на LFF был именован как PDK Drakken - Создание DLL-прототипа с патчингом в реальном времени Lord Silva - модификация DLL под нужды LF2 Archer-Dante - адаптация DLL для работы в PDK и добавление новых функций Surik - информационная поддержка по разработке
Enno, в нем. но вообще-то все эти вещи меняются через RadASM, меняя значения и перекомпилируя длл. lf2.asm всего лишь часть исходников, из которых и делается длл.
и да, размер окна всего лишь в тестовом состоянии, не знаю какие баги вы можете там найти. пожалуй самая старая из разработок, к которой не возвращался с первой версии.
Coding in Assembly requires a mix of: 80% of brain, passion, intuition, creativity 10% of programming skills 10% of tan levels in your blood.
я старательно переношу как можно больше настроек наружу, чтобы не пришлось людям ковырять исходники. НО. есть несколько вещей которые из соображения безопасности всегда можно будет настроить лишь через длл: - Размеры окна - Название игры (наименование окна) - Пути до картинок \ системных файлов
и подобное, что опасно давать в руки на легкое редактирование через DC код.
Ну что ж, надеюсь разработка смотивирует к новым свершениям, именно для этого Неора и создавалась) Думаю, что не так уж долго осталось до следующего апдейта. Будет много вкусного!
Coding in Assembly requires a mix of: 80% of brain, passion, intuition, creativity 10% of programming skills 10% of tan levels in your blood.
В общем, обновления настолько затянулись, что думаю о выпуске промежуточных версий-прототипов. Фидбеки хорошо помогают поднять желание и стремление побороться с собственными багами.
Так что.. С этой минуты можете ожидать официальные версии-прототипы, которые скорее экспериментальные, нежели готовые к использованию на все 100%.
Coding in Assembly requires a mix of: 80% of brain, passion, intuition, creativity 10% of programming skills 10% of tan levels in your blood.
Огромное количество новых атрибутов, которые прописываются между "bmp_begin" и "bmp_end": —— "start_hp:" - базовое значение здоровья на старте сражения
—— "start_hp_max:" - базовое значение максимального здоровье на старте сражения
—— "hp_regen:" - количество регенерируемого здоровья за раз. Можно выставлять отрицательные значения. У всех персонажей обычная регенерация равна 1, поэтому если написать "regen_hp: 3", вы получите 1+3 здоровья в регенерации, а "hp_regen: -1" отключит регенерацию вовсе.
—— "hp_regen_cd:" - время отката в Wait, прежде чем очередная порция "hp_regen" поступит в персонажа. Может быть использовано даже когда "regen_hp" не указан. У атрибута есть встроенный таймер в 11 тактов (от оригинального LF2), поэтому если вы хотите отключить задержку полностью, то введите -11, в сумме получится 0, то есть нулевая задержка. Значения ниже -11 не работают, так как задержка не может быть в сумме отрицательной.
—— "hp_dark_regen:" - количество регенерируемого темного здоровья за раз
—— "hp_dark_regen_cd:" - время отката в Wait, прежде чем очередная порция "hp_dark_regen" поступит в персонажа
—— "hp_limit:" - лимит здоровья, который ни при каких обстоятельствах не может быть превышен (хардкап)
—— "hp_regen_type:" - принцип работы регенерации здоровья. При "0" отрицательная регенерация может убить персонажа. При "1" регенерация не работает при здоровье ниже "hp_regen_min:" и выше "hp_regen_max" При "2" будет всё то же, что и при значении "1", но отрицательная регенерация не сможет убить персонажа.
—— "hp_regen_min:" - значение, ниже которого эффект регенерации перестает действовать
—— "hp_regen_max:" - значение, выше которого эффект регенерации перестает действовать
—— "hp_regen_hurt_cd:" - после получения урона персонаж не будет регенерировать указанное время.
—— "start_mp:" - базовое значение маны на старте сражения
—— "start_mp_max:" - базовое значение максимальной маны на старте сражения
—— "mp_regen:" - количество регенерируемой маны за раз, можно выставлять отрицательные значения. У всех персонажей обычная регенерация равна 1 (до +4 при низком здоровье).
—— "regen_mp_cd:" - время отката в Wait, прежде чем очередная порция "mp_regen" поступит в персонажа. Может быть использовано даже когда "mp_regen" не указан. У атрибута есть встроенный таймер в 2 такта (от оригинального LF2), поэтому если вы хотите отключить задержку полностью, то введите -2, в сумме получится 0, то есть нулевая задержка. Значения ниже -2 не работают, так как задержка не может быть в сумме отрицательной.
—— "mp_limit:" - лимит максимального запаса маны, который невозможно превысить
—— "mp_regen_type:" - принцип работы регенерации здоровья. При "0" мана может регенерироваться быстрее, если персонаж потерял часть здоровья. "mp_regen:" суммируется с обычным рассчетом количества регенерируемой маны от потерянного здоровья. При "1" мана регенерируется всегда фиксированное значение равное "mp_regen:".
—— "mp_regen_cap:" - при достижении указанного значения мана перестает регенерировать сама по себе. (Пример: персонаж способен восстановить сам только часть силы, а оставшуюся часть - только с помощью бутылочек). Тонкости механики: 1. Кап Регенерации так же ограничивает количество маны, которое будет у персонажа после перехода из одной стадии в другую. 2. Кап Регенерации НЕ сбросит ману вниз, если её уже больше, чем указано в ограничении регенерации, например бутылочками молока или пива.
—— "mp_regen_hurt_cd:" - после получения урона персонаж не будет регенерировать ману указанное время.
—— "mp_regen_on_hurt:" - количество MP, которое будет получать персонаж каждый раз, как получает урон ( за исключением падающих с неба ящиков xD )
// Надеюсь, что с новыми атрибутами по ресурсам Вас ничто не остановит сделать каждого персонажа уникальным!
—— "stat_#:" - кучка статов, от "stat_1:" до "stat_10:", которые можно добавлять персонажу. Они могут повысить урон персонажа в % от выбранного стата, то есть с относительным значением.
—— "resist_#:" - кучка статов-сопротивлений объекта тому или иному типу урона. Например, если персонажа атакуют с ITR внутри которого есть "dtype: 5", то против этого урона будет действовать "resist_5:", занижая урон или вовсе защищая от него. Если у персонажа накапливается сопротивление от 100% или больше - он перестает переходить в кадры ТБ.
—— "crit_chance:" - шанс нанести критический урон любой из атак
—— "crit_power:" - % от урона, который будет нанесен в случае срабатывания критического эффекта.
- Новый атрибут "dtype:" определяющий тип урона, который сейчас наносит персонаж. Возможно значение от 0 до 10.
- Новый атрибут "scale_stat:" определяет источник для дополнительного урона. Можно указать значение от 0 до 7, оно будет считано из "stat_N", где N - указанное здесь число.
- Новый атрибут "scale_value:" - определяет значение в %, от значения статы, указанной в источнике "scale_stat".
(*Пример с тремя атрибутами injury: 100 dtype: 1 scale_stat: 1 (считывает Stat_1 персонажа) scale_value: 200% Допустим Stat_1 персонажа равен 40. Тогда получим 40 * 200% = 80 урона. 100 + 80 урона = 180 урона будет нанесено. Допустим, что dtype: 0 или его отсутствие - это обычные физические атаки ЛФ2. А dtype: 1 - это огненные атаки. Допустим, что мы сделали атаку против Firen, у которого есть "resist_1: 50", то есть 50% сопротивления. Тогда он получит 180 - 50% = 90 урона в итоге.*)
—— "crit_chance:" - шанс нанести критический урон любой из атак. Значение складывается с "crit_chance:" из шапки объекта
—— "crit_power:" - % от урона, который будет нанесен в случае срабатывания критического эффекта. Значение складывается с "crit_power:" из шапки объекта
// Если scale_stat указан не у персонажа, то значение будет браться у того, кто выпустил, создал или отбил этот снаряд, тем самым, проще говоря, наследуя значение у своего хозяина. Поэтому создавая прокачку для персонажа вы автоматически можете создавать эту прокачку и для его снарядов в нужных вам пропорциях!
- "shp:" изменено в "start_hp:"
- "smp:" изменено в "start_mp:"
// Я отказался от излишних сокращений этих атрибутов, так всё чище и понятнее, и, кроме того, соответствует стилю оригинального кода игры, с разделителем между словами в виде "_". Пришлось несколько раз переделать, прежде чем пришел к этому решению :)
- Очень много кода было переписано. Часть оптимизирована, часть переделана с расчетом на дальнейшие развития и потенциал.
- Переписан и оптимизирован оригинальный код регенерации здоровья и маны, т.к. больше не нужно использовать непосредственно DLL метод для изменения скорости регенерации.
- Клавиша F7 теперь восстанавливает всю ману персонажам не выше значения "mp_regen_cap".
- Клавиша F7 теперь при активации восстанавливает здоровье и максимальное здоровье персонажам согласно "start_hp" и "start_hp_max"
- Добавлен новый атрибут "ohp:" (opoint health power), в котором можно указать здоровье призываемого персонажа или клона.
- Весь код "replay.inc" перенесен в "hack.ink"
- Новый файл rpg.inc с основными алгоритмами RPG-направления
- В исходных кодах стали появляться названия процедур с префиксом "module___", это модульные процедуры, их удаление или отключение полностью безопасно для работы движка.
- Исправлен недочет, из-за которого в MP Lost от Effect 4xxx попадало неверное значение затраченной маны. Баг существовал с 2.03
- Исправлено ошибка считывания атрибутов "weapon_drop_hurt" и "hp" для оружия. Баг существовал с 2.00
- Регенерация маны для боссов (Julian и Firzen) была восстановлена и работает теперь действительно правильно. Баг существовал с 1.00
- Исправлен неточный рассчет количества регенерации маны для персонажей, которые имели свыше 500 здоровья. Баг существовал с 2.00
Neora 2.05 PT version✔ | Скачать | Тестовая версия
Прототипно-Тестовые Версии - так называются версии, в которых может быть множество багов и просто ещё не до конца завершены идеи релиза. В такой версии любая фича может как работать, так и не работать. Но постарался отсеять в описание только те вещи, которые уже работают. Полный релиз планируется к 2.10. В этой версии вы смело можете экспериментировать с управлением здоровья и маны, так как эта часть движка должна была быть завершена. Если что-то будет не так - опишите это здесь, постараюсь исправить вне очереди.
Coding in Assembly requires a mix of: 80% of brain, passion, intuition, creativity 10% of programming skills 10% of tan levels in your blood.
Feniks, только есть несколько недоработок, мне о них уже много на LFE писали. Но я пока не тестировал. Если тоже что-то найдешь - отпиши. Ещё заметил косяки в описании, например, что типов урона 8 (dtype 0-7), а статов и резистов 10 (1-10), хотя чисто технически должно быть одинаковое значение. В общем, прототип есть прототип, что-то да обязательно будет не работать или работать не так как описал Нужно всё проверять.
Coding in Assembly requires a mix of: 80% of brain, passion, intuition, creativity 10% of programming skills 10% of tan levels in your blood.