[1.16.5] Relics - Реликвии со сложными и уникальными механиками

205
12
103
relics_logo.png​

Relics - Небольшой мод, основной задачей которого является создания реликвий (неожиданно, правда?) с приближенной к ванильному Minecraft, но в то же время уникальной механикой. Сами реликвии могут быть полезными как во время PvP или PvE сражений, так и во время обычной мирной фермерской или шахтёрской жизни. Мод не скован какой-либо конкретной тематикой, и просто старается быть интересным в исследовании и приятным в использовании, - естественно, на мой субъективный взгляд. Кроме того, серьёзный акцент делается на настраиваемость, и практически каждое значение можно изменить в файле конфигурации, адаптировав таким образом мод под свою сборку или сервер.

​
Ссылка на случай, если виджет курса принял Ислам

Q: Fabric?
A: Неа.

Q: Портирование на старые версии?
A: Неа.

Q: Моя игра крашится при создании мира (или исследовании уже существующего). Что я делаю не так?
A: Возможная причина всего 1 - устаревшая версия Forge. Минимальным требованием для работы этого мода является версия Forge не ниже 1.16.5-36.0.14. Однако, если возможности обновиться до последней версии по определенным причинам нет, в конфиге мода предусмотрена опция, которая полностью отключает версионный контент - relics_worldgen_enabled - достаточно установить её значение на false, и проблема исчезнет. Однако, следует отметить, что в таком случае придётся добавлять свои пути для получения реликвий при помощи других модов.

Q: Я нашел баг, куда я могу его сообщить?
A: Большинство недочётов обсуждаются в Discord-сервере мода и исправляются на месте.

Q: У меня есть крутая идея для не менее крутой реликвии, куда я могу предложить её?
A: В спортлото Всё в тот же Discord-сервер. Тут же её можно обсудить и доработать с другими заинтересованными в судьбе мода людьми ;)

 
Последнее редактирование:
Скриншотики бы...
С мечом классно придумал, только мне кажется в активированном режиме, лучше метку оставлять не где игрок нанёс урон, а дать игроку "выделять цели".
 
Скриншотики бы...
Тут, скорее, лучше бы видео. Но до него доберусь только в том случае, если реализую хотя бы часть задуманного и доработаю анимации, ибо несмотря на законченность самой механики меча, я бы хотел еще немного обмазаться OpenGL и шейдерами в целом, а для этого, в свою очередь, их нужно получше изучить. Но... Когда-нибудь, когда-нибудь ;)
 
Дабы телепортация прошла ровно за спину цели, любая инертная подвижность жертвы на время телепортации полностью приостанавливается, дабы обеспечить возможность нанесения критического удара даже если цель движется, падает или летит.
А можно сделать так, чтобы игроку после телепортации за спину давалось такая же скорость и ускорение, что и у жертвы? В битве будет эпичней выглядеть
 
Немного пересмотрев имеющийся у меня код готов поделиться следующим предметом - Soul Engine. Это фенечка для мода Baubles, надевающаяся в слот тела, а значит, такая может быть всего 1 на каждого игрока. Как и следует из названия, для работы духовного двигателя нужны души, а их основным источником, как ни странно, являются мобы и игроки.
Двигатель обладает небольшим внутренним буфером, в котором может храниться до 10 душ. Каждая душа тлеет внутри двигателя не более 10 секунд, а значит, мы получаем следующий принцип его работы:
Всякий раз, когда игрок убивает моба или игрока, количество душ внутри двигателя увеличивается на 1 единицу. Если в течение следующих 10 секунд после последнего убийства моба не убить нового - количество душ понизится на 1. В случае, если лимит душ (по умолчанию - 10) в двигателе уже достигнут, но игрок продолжает убивать мобов, - с каждым таким убийством шанс того, что двигатель просто не выдержит и взорвется постепенно повышается. Во время такого "взрыва" двигатель игрока полностью уничтожается, а его носитель и все сущности вокруг получают урон, равный доле переполнения самого двигателя. Собственно, зачем это всё делать? - Всякий раз, когда игрок атакует кого-либо вне зависимости от того, чем именно он это делает, его урон увеличивается на 20% от всего нанесенного урона за каждый заряд двигателя. Это довольно много, поскольку за 10 душ урон игрока увеличивается практически в 3 раза, однако это компенсируется тем, что двигатель постоянно теряет заряды душ, если не кормить его новыми, из-за чего нанести весь критический урон со всеми зарядами по цели довольно сложно.

Во время создания вспышки я думал над тем, чтобы немного сменить механику работы двигателя, и измерять души внутри не числом поверженных, а их массой - т.е. здоровьем убитых мобов. Таким образом получится моментально зарядить двигатель, если убить, к примеру, железного голема, не затрачивая время на нудный фарм других мобов, однако также повышается и вероятность сломать двигатель, если убить слишком сильного моба, вроде того же дракона. При желании в таком случае можно расширять буфер двигателя зачарованием прочности. Что думаете?
 
Последнее редактирование:
А в чём смысл двигателя? Как я понял, единственный положительный эффект, это урон от движка по мобам, только и игрок получает урон и движок ломается. Зачем игроку его использовать? Если что-то не так понял, поправьте.
 
А в чём смысл двигателя? Как я понял, единственный положительный эффект, это урон от движка по мобам, только и игрок получает урон и движок ломается. Зачем игроку его использовать? Если что-то не так понял, поправьте.
Прошу прощения, забыл дописать самое главное. Исправил, спасибо :D
 
Последнее редактирование:
Буст урона действует пока в двигатели есть заряды?
Т.е. если у игрока в двигатели 10 душ, то он может как минимум 10 сек долбить всех трехкратным уроном?

Если 10-я душа почти потратилась и игрок убивает моба, то у него увеличивается шанс взорваться. Когда этот шанс сбрасывается? Если 10 душа закончится, то лишние души из буфера восполнят 10?
 
Буст урона действует пока в двигатели есть заряды?
Да. При каждом нанесении урона игроком я смотрю сколько в буфере есть зарядов, в зависимости от количества повышаю его урон.

Т.е. если у игрока в двигатели 10 душ, то он может как минимум 10 сек долбить всех трехкратным уроном?
Ага. Как только душ станет 9 - урон будет уже немного меньше, чем трехкратный

Если 10-я душа почти потратилась и игрок убивает моба, то у него увеличивается шанс взорваться.
Агась.

Когда этот шанс сбрасывается?
С каждым понижением количества душ в двигателе также понижается и шанс взорваться. Шанс продолжает снижаться на 1 единицу вплоть до 0 каждые 10 секунд даже если в буфере уже 0 душ.

Если 10 душа закончится, то лишние души из буфера восполнят 10?
Нет, поскольку лишние души выступают лишь фактором избытка, делающим предмет менее имбовым и более опасным для носителя. Итем сильный, но излишне небрежное обращение обернется не совсем хорошо для того, кто им пользуется.
 
Я бы не уничтожал движок, а после взрыва сбрасывал буфер и не давал какое-то время заряжаться. Как идея.
 
Лучше взрывать ,а получение сделать через лут данжей))
 
Я бы не уничтожал движок, а после взрыва сбрасывал буфер и не давал какое-то время заряжаться. Как идея.
Добавил множитель шанса взрыва движка, соответственно, при значении в 0 взрыв будет отключен.
Также прикрутил кулдаун на использование после взрыва, исходное значение - 5 минут, все цифры настраиваются конфигом.

Что же касается того, чем занимаюсь сейчас:
Большую часть времени посвятил переписыванию того, что имеется, и исправлению появившихся в связи с этим недочётов. Также перенёс движок на систему с учётом здоровья моба, перегрузку двигателя сделал также полностью зависимой от ХП убитого, прикрутил зависимость от зачарования прочности, исправил потенциальный серверный баг с учетом дистанции при перемещении вспышкой, а при использовании дистанционной атаки она теперь теряет прочность. Возможно, было что-то еще, о чем я успешно забыл. Как только закончу с реформацией кода - обновлю шапку темы и впишу туда новую информацию о итемах.

P.S. - После реворка движка на систему с учетом ХП итем по ощущениям стал намного баланснее
 
Ии... Время новой реликвии!

Spatial sign (а-ка "Пространственная печать") - практически одноразовый предмет, принцип работы которого несколько похож на работу тотема бессмертия: при использовании печать запоминает позицию игрока и запускает отсчёт таймера в 5 минут, по истечении этих 5 минут или повторном использовании с зажатой клавишей Shift игрок возвращается на место использования печати, а сама реликвия тратит 20% своей прочности. Если в момент возвращения игрок ехал на лошади/свинке/другом маунте - животное вернется вместе с игроком. В случае, если критический урон получило только животное, на котором ехал потенциальный носитель реликвии - телепортирован будет только маунт. А теперь самое полезное - в случае, если во время действия печати игрок получит критический урон, который, в теории, должен был его убить - носитель реликвии будет телепортирован на место использования печати с 1 единицей здоровья и сытости, однако - живой и с вещами. В случае, если печать была активирована не таймером или вызовом игрока, а именно смертью носителя - после телепортации реликвия будет полностью разрушена.
Таких предметов в инвентаре игрока может быть несколько, но координаты всегда берутся из той активированной реликвии, что находится в "наиболее первом" слоте.

В будущем, когда я дойду до следующей "переходной реликвии" - "Ring of Moon tears" (угадывайте сами, что будет делать :D), пространственная печать при разрушении будет не просто исчезать, а превращаться в свою сломанную версию и появляться на месте "потенциальной смерти" игрока. Из такой сломанной печати можно будет вытянуть душу её носителя для операций, чем-то напоминающих вуду (полагаю, нужно будет заодно изобрести средства защиты от таких штук). Такая вот плата за условное бессмертие ;)
 
при использовании печать запоминает позицию игрока и запускает отсчёт таймера
А может пусть печать сама запоминает позицию каждые пять минут? Удобнее будет, игрок ведь не всегда может предусмотреть критический урон.
 
А может пусть печать сама запоминает позицию каждые пять минут? Удобнее будет, игрок ведь не всегда может предусмотреть критический урон.
В таком случае печать может сломаться за 25 минут с момента её создания, а её носитель "сломается" ещё раньше, ведь вынести практически бесконтрольный откат до запомненной позиции сможет далеко не каждый :D Но, в таком случае, можно изобрести что-то вроде неограненной пространственной печати, которая работает по тому принципу, который ты упомянул.
Суть предмета по моему представлению в том, что его нужно использовать прямо перед схваткой с игроком или условным боссом, подобно тому, как работал хронологический якорь из ArsMagica2.
 
Как? она же ломается в момент использования или отменяя смерть или она у тебя просто так юзается когда сама захочет?
Если ты активировал печать, то по истечении 5 минут в таймере реликвия активируется самостоятельно, и телепортирует тебя на место использования печати - это первый метод её работы. Затем, если ты использовал реликвию, забрался в страшный-страшный данж, и осознал, что он тебе не по зубам: смерть неминуема, а обратной дороги нет - ты можешь с зажатым шифтом вновь использовать печать, и таким образом "ускорить" таймер срабатывания, и телепортироваться на исходную позицию без выжидания всех 5 минут. Что же касается прочности печати:
1. Истечение таймера вызывает повреждение печати на 20% от максимальной её прочности
2. Ручное использование печати для ускорения таймера вызывает повреждение на 20% от максимальной её прочности
3. Смерть твоего маунта вызовет повреждение печати на 20% от её максимальной прочности, но спасёт маунта от смерти и телепортирует его на исходную позицию с 1 ХП
4. Смерть игрока - носителя печати, вызовет полное разрушение реликвии, но спасёт его от смерти, сохранит все вещи, и телепортирует на исходную позицию с 1 ХП и 1 единицей сытости.

Надеюсь, такое объяснение будет несколько лучше :D
 
Я имел ввиду чтобы она не срабатывала сама, а только по вызову, и позицию сама обновляет каждые 5 минут.
 
Назад
Сверху