Хардмодная конверсия биомов

После победы над Стеной плоти в первый раз, игра производит так называемую конверсию биомов, в процессе которого появляются новые хардмодные биомы. Две диагональные полоски образуют V-образную форму. Каждая из полосок состоит из блоков двух разных биомов — одна из биома зла (Искажение или Багрянец, в зависимости от того какое мировое зло присутствует в мире), а другая всегда состоит из Освящения. Полоски начинаются с уровня Ада и заканчиваются на самой высокой точке мира (если там присутствуют блоки). Когда конверсия будет выполнена, игра выведет следующее сообщение: "На волю выпущены древние духи света и тьмы." ("The ancient spirits of light and dark have been released.").
Первым делом всегда генерируется Освящённая полоска. О тех блоках, которые конвертируются в процессе, см. ниже.
Размер полосок и локация
Начальная позиция полос и и ширина зависит от размера мира и положения Темницы. Ниже приведена таблица с этими данными:
| Размер мира | Темница на левой стороне | Темница на правой стороне | ||
|---|---|---|---|---|
| Полоса 1 | Полоса 2 | Полоса 1 | Полоса 2 | |
| Маленький | 840–1256 | 2524–2940 | 1260–1676 | 2944–3360 |
| Средний | 1280–1914 | 3846–4480 | 1920–2554 | 4486–5120 |
| Большой | 1680–2512 | 5048–5880 | 2520–3352 | 5888–6720 |
| Размер мира | Оригинальное значение | Учитывая случайные изменения |
|---|---|---|
| Маленький | 200–249 | 200–286 |
| Средний | 305–379 | 305–436 |
| Большой | 400–498 | 400–573 |
Миры с секретными сидами
В мирах с сидом 05162020, в котором существует как Искажение так и Багрянец, для полосы биома зла будет выбран тот биом, которого на момент перехода в Хардмод было больше всего.
Конвертируемые блоки
Освящение
| Итоговый блок/стена | Оригинальные блоки/стены |
|---|---|
Стена из освящённой травы(небезопасная)ID стены: 70
|
|
Стена из затвердевшего жемчужного песка(небезопасная)ID стены: 219
|
|
Жемчужная песчаниковая стена(небезопасная)ID стены: 222
|
|
Стена из жемчужного камня(небезопасная)ID стены: 28
|
|
Жемчужный камень
|
|
Жемчужный песок
|
|
Трава джунглей
|
|
Освящённая трава
|
|
Розовый лёд
|
|
Жемчужный песчаник
|
|
Затвердевший жемчужный песок
|
|
| Когда мире больше 200 000 блоков Улья[hive_3-0] | |
Жемчужный камень
|
|
Затвердевший жемчужный песок
|
|
Искажение
| Итоговый блок/стена | Оригинальные блоки/стены |
|---|---|
Стена из искажённой травы(небезопасная)ID стены: 69
|
|
Стена из затвердевшего чёрного песка(небезопасная)ID стены: 217
|
|
Эбонитовая песчаниковая стена(небезопасная)ID стены: 220
|
|
Искажённая трава Джунглей
|
|
Искажённая трава
|
|
Эбонит
|
|
Эбонитовый песок
|
|
Пурпурный лёд
|
|
Эбонитовый песчаник
|
|
Затвердевший чёрный песок
|
|
| Когда мире больше 200 000 блоков Улья[hive_3-1] | |
Эбонит
|
|
Затвердевший чёрный песок
|
|
Багрянец
| Итоговый блок/стена | Оригинальные блоки/стены |
|---|---|
Стена из багряной травы(небезопасная)ID стены: 81
|
|
Стена из затвердевшего багряного песка(небезопасная)ID стены: 218
|
|
Багряная песчаниковая стена(небезопасная)ID стены: 221
|
|
Багряная трава Джунглей
|
|
Багряная трава
|
|
Багряный камень
|
|
Багряный песок
|
|
Красный лёд
|
|
Багряный песчаник
|
|
Затвердевший багряный песок
|
|
| Когда мире больше 200 000 блоков Улья[hive_3-2] | |
Багряный камень
|
|
Затвердевший багряный песок
|
|
Замена стен
После изначальной конверсии игра создаёт "заплатки" из биомных стен. Они могут заменить уже существующие стены или создать новые в том месте, где до этого не было стены.
Во время этого процесса игра выбирает случайный блок в диапазоне от 100 блоков выше уровня поверхности до 190 блоков над нижней границей мира и выбирает одну из соответствующих стен по этому блоку (см. таблицу ниже). Выбранные блок обязан быть одним из тех, который перечислен в таблице ниже, а над блоком не должно быть твёрдых блоков. Затем выбирается область, в которой нет блоков, но есть применяемые стены и которая соединена с выбранным блоком. Если в этой области больше 50 но меньше 1000 блоков, то стены в этой области заменяются на один из соответствующих видов стен.
На кол-во таких операций существует ограничение. О подробностях см. ниже.
Блоки и соответствующие стены
| Блоки | Соответствующие стены |
|---|---|
Применяемые стены
Стены могут быть заменены только если рядом с ними нет стен или находятся такие стены.
|
Кол-во попыток
Максимальное кол-во замен стен ограничено, причём это ограничение зависит от размера мира. Каждая успешная замена стен уменьшает кол-во попыток на 1. В дополнение к этому, кол-во попыток будет уменьшено на 1 после 15 000 неудачных попыток.
| Размер мира | Кол-во попыток |
|---|---|
| Маленький | 25 |
| Средний | 38 |
| Большой | 50 |
История
- Версия 1.4.0.5: Позиция и ширина полос снова случайна, но при создании полос используются координаты Темницы.
- Версия 1.3.4: Позиция и ширина полос теперь не случайна, а зависит от сида мира.
- Версия 1.1: Хардмодная конверсия биомов добавлена в игру.
Сноски
- ↑ Стартовая координата по оси X будет случайным значением из диапазона ниже, тогда как координата по оси Y всегда равна 0. Игра генерирует случайное целое число в диапазоне [300; 399], затем она умножает это число на 0,001. Это значение записывается в переменную factorA (которая находится в диапазоне [0,3; 0,399]). Затем в переменную factorB записывается случайное число в диапазоне [200; 299], которое умножается на 0,001 (т.е. в диапазоне [0,2; 0,299]). Затем создаётся переменная maxTilesX, в которую записывается размер мира по оси X (4200, 6400 и 8400 для маленького, среднего и большого мира соответственно). Если Темница находится слева, то координата X будет лежат в диапазоне от maxTilesX × (1 - factorA) до maxTilesX × factorB. Если Темница находится справа, то координата X будет лежат в диапазоне от maxTilesX × (1 - factorB) до maxTilesX × factorA.
- ↑ После определения стартовой позиции полос, их координаты сохраняются в вектор v в виде координат X и Y (v.X и v.Y соответственно). Игра генерирует случайное число в диапазоне [240; 249] и сохраняет его в переменную rNum. Это число умножается на maxTilesX / 4200 (maxTilesX — размер мира по оси X, см. сноску к стартовой позиции полос) и в итоге получается значение ширины (в коде переменная width). После этого проверяются все блоки в определённой прямоугольной области (горизонтальная позиция: от v.X - width ÷ 2 до v.X + width ÷ 2; вертикальная позиция: от v.Y - width ÷ 2 до v.Y + width ÷ 2. Если выбранные координаты блока ((X, Y))) соответствуют следующему условию: | X - v.X | + | Y - v.Y | < rNum × 0.5 × ( 1 + rFactor × 0.015 ) (rFactor — случайное целое число в диапазоне [-10; 10]), то этот блок также конвертируется. Случайность rFactor создаёт некоторые трудности при подсчёте ширины, поэтому они не учитываются в колонке "Оригинальное значение". Помимо этих проверок, вектор наклона полоски хранится в переменной v2, где v2.X находится в диапазоне [-3; 3] в зависимости от направления полосы, а переменная v2.Y всегда равна 5. После всех проверок в прямоугольнике, значение v2 будет добавлено к v (т.е. v.X = v.X + v2.X; v.Y = v.Y + v2.Y). После этого игра генерирует случайное число в диапазоне [-10; 10], умножает его на 0,05 и добавляет его к v2.X. Значение |v2.X| не может быть вне диапазона [2; 4].
- ↑ Обычно это происходит в мирах с сидом Not the bees, но в коде игры существует проверка только на кол-во блоков, а не сид мира, поэтому этом технически может произойти в обычных мирах.
В статьи использованы материалы сайта terraria-game.fandom.com, в соответствии с условиями лицензии CC-BY-SA.
Стена из освящённой травы(небезопасная)

Стена из искажённой травы(небезопасная)
Стена из багряной травы(небезопасная)



Стена из жемчужного камня(небезопасная)
Стена из эбонита(небезопасная)
Стена из багряного камня(небезопасная)







































Искажённая поросшая стена(небезопасная)
Искажённая массивная стена(небезопасная)
Искажённая гнойная стена(небезопасная)
Искажённая отростковая стена(небезопасная)
Багряная корковая стена(небезопасная)
Багряная струпная стена(небезопасная)
Багряная зубастая стена(небезопасная)
Багряная волдырчатая стена(небезопасная)
Освящённая призматическая стена(небезопасная)
Освящённая пещерная стена(небезопасная)
Освящённая стена с осколками(небезопасная)
Освящённая кристаллическая стена(небезопасная)




Каменистая земляная стена(небезопасная)
Старая каменная стена(небезопасная)
Скалистая каменная стена(небезопасная)
Обветшалая каменная стена(небезопасная)
Сталактитовая каменная стена(небезопасная)
Испещрённая каменная стена(небезопасная)
Потресканная каменная стена(небезопасная)
Земляная стена(небезопасная)




Снежная стена(небезопасная)
Ледяная стена(небезопасная)







