[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-сервер. Тут же её можно обсудить и доработать с другими заинтересованными в судьбе мода людьми ;)

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

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

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

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

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

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

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

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

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

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

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

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