
Карта игрового мира после хардмодной конверсии. Обратите внимание на 2 диагональные полосы, которые образуют латинскую букву "V". Одна из полос состоит из Искажения (пурпурная), а другая из Освящения (светло-розовая).
После победы над Стеной плоти в первый раз, игра производит так называемую конверсию биомов, в процессе которого появляются новые хардмодные биомы. Две диагональные полоски образуют 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, в котором существует как Искажение так и Багрянец, для полосы биома зла будет выбран тот биом, которого на момент перехода в Хардмод было больше всего.
Конвертируемые блоки[]
Освящение[]
Итоговый блок/стена | Оригинальные блоки/стены |
---|---|
![]() |
|
![]() |
|
![]() |
|
![]() |
|
![]() |
|
![]() |
|
![]() |
|
![]() |
|
![]() |
|
![]() |
|
![]() |
|
Когда мире больше 200 000 блоков Улья[3] | |
![]() |
|
![]() |
Искажение[]
Итоговый блок/стена | Оригинальные блоки/стены |
---|---|
![]() |
|
![]() |
|
![]() |
|
![]() |
|
![]() |
|
![]() |
|
![]() |
|
![]() |
|
![]() |
|
![]() |
|
Когда мире больше 200 000 блоков Улья[3] | |
![]() |
|
![]() |
Багрянец[]
Итоговый блок/стена | Оригинальные блоки/стены |
---|---|
![]() |
|
![]() |
|
![]() |
|
![]() |
|
![]() |
|
![]() |
|
![]() |
|
![]() |
|
![]() |
|
![]() |
|
Когда мире больше 200 000 блоков Улья[3] | |
![]() |
|
![]() |
Замена стен[]
После изначальной конверсии, игра создаёт "заплатки" из биомных стен. Они могут заменить уже существующие стены или создать новые в том месте, где до этого не было стены.
Во время этого процесса игра выбирает случайный блок в диапазоне от 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]. - ↑ 3,0 3,1 3,2 Обычно это происходит в мирах с сидом Not the bees, но в коде игры существует проверка только на кол-во блоков, а не сид мира, поэтому этом технически может произойти в обычных мирах.