Преобразование мира в сложном режиме


Первая победа над Стеной плоти вызывает преобразование мира, создавая биомы сложного режима. Две диагональные полосы будут генерироваться в виде буквы «V»: одна преобразует блоки в их освящённые аналоги, другая — в их аналоги биома зла (порча или багрянец, в зависимости от того, какой был выбран при создании мира). Полосы простираются от самого верха мира и до самого его низа в преисподней. По завершению преобразования в чате выводится сообщение: «Древние духи света и тьмы освобождены.».
Полоса с освящением всегда генерируется первой[1]. См. ниже для получения списка тайлов, подвергающихся процессу преобразования.
Размер и расположение полос
Начальная точка и ширина диагональных полос зависит от размера мира и расположения темницы, перечисленных в следующей таблице[2].
Размер мира | Начало полосы[3] (в тайлах) |
Ширина полосы[4] (в тайлах) | ||||
---|---|---|---|---|---|---|
![]() |
Темница справа ![]() | |||||
Полоса 1 | Полоса 2 | Полоса 1 | Полоса 2 | Исходное значение | Подсчёт разброса тайлов | |
![]() |
840-1256 | 2524-2940 | 1260-1676 | 2944-3360 | 200-249 | 200-286 |
![]() |
1280-1914 | 3846-4480 | 1920-2554 | 4486-5120 | 305-379 | 305-436 |
![]() |
1680-2512 | 5048-5880 | 2520-3352 | 5888-6720 | 400-498 | 400-573 |
Существуют некоторые различия в процессе преобразования в разных версиях игры:
- Начиная с 1.4.0.5(Издания для ПК, консолей и мобильных устройств), направление освящения/порчи/багрянца случайно, но его положение определяется зерном мира.
- На версиях между 1.3.4(Издания для ПК, консолей и мобильных устройств) и 1.4.0.5 направление биомов освящения/порчи/багрянца определяется зерном мира.[5]
- На версиях до 1.3.4 (в таком случае и во всех мирах на
консолях старого поколения и
) направление определяется абсолютно случайно.
Секретные зёрна мира (Издания для ПК, консолей и мобильных устройств)
В «пьяных мирах», содержащих как порчу, так и багрянец, выбор появляющегося зла определяется доминирующим злом текущего игрового дня.
В мирах с зёрнами «Don't dig up» и «Get fixed boi», V-образный рисунок заменяется прямоугольной зоной преобразования, расположенной на стороне джунглей, которая преобразует тайлы в их освящённый аналог. Новый биом зла не сгенерируется. См. подробности в разделе Don’t dig up § Переход в сложный режим.
Преобразование тайлов
В освящённые
Результат преобразования | Изначальный тайл |
---|---|
![]() |
|
![]() |
![]() |
![]() |
![]() |
![]() |
|
![]() |
|
![]() |
|
![]() |
|
![]() |
|
![]() |
|
![]() |
![]() |
![]() |
![]() |
При количестве блоков улья в мире > 200.000[6] | |
![]() |
![]() |
![]() |
![]() |
В порченые
Результат преобразования | Изначальный тайл |
---|---|
![]() |
|
![]() |
![]() |
![]() |
![]() |
![]() |
|
![]() |
|
![]() |
|
![]() |
|
![]() |
|
![]() |
![]() |
![]() |
![]() |
При количестве блоков улья в мире > 200.000[6] | |
![]() |
![]() |
![]() |
![]() |
В багровые
Результат преобразования | Изначальный тайл |
---|---|
![]() |
|
![]() |
![]() |
![]() |
![]() |
![]() |
|
![]() |
|
![]() |
|
![]() |
|
![]() |
|
![]() |
![]() |
![]() |
![]() |
При количестве блоков улья в мире > 200.000[6] | |
![]() |
![]() |
![]() |
![]() |
Преобразование стен
После первоначального преобразования игра также будет создавать конкретные для биома фоновые стены. Они могут заменить существующие фоновые стены или создать новые в местах, где их не был.[7].
Во время этого процесса игра выбирает случайный тайл в вертикальном диапазоне от 100 тайлов над поверхностью до 190 тайлов над дном мира и определяет вид генерируемой стены (см. ниже). Блок на выбранном тайле должен быть блоком, указанным в таблице ниже, а тайл над выбранным тайлом не может быть занят твёрдым блоком. Затем будет выбрана область, содержащая все тайлы без блоков, с подходящими стенами и соединённая с тайлом над выбранным тайлом. Если в выбранной области содержится от 50 до 1000 тайлов, то стены во всей области будут заменены на один случайный вид стены, соответствующий выбранному тайлу.
Существует также ограничение на общее количество замен стен. Подробнее см. ниже.
Блоки и соответствующие стены
Вид блока | Вид стены |
---|---|
|
|
|
|
|
|
Подходящие стены
Могут быть заменены только тайлы, у который стена отсутствует или является одной из следующих:
|
Количество попыток
Для разных размеров мира общее количество замен стен ограничено разными значениями, привёденными в следующей таблице. Каждая успешная попытка замены стены уменьшает оставшееся количество попыток на 1 единицу. Помимо того, оставшееся количество попыток также будет уменьшено на 1 единицу после 15.000 неудачных попыток.
Размер мира | Количество попыток |
---|---|
![]() |
25 |
![]() |
38 |
![]() |
50 |
История
- 1.1: Добавлено в игру.
- 1.0.711.6: Добавлено в игру.
- 1.00: Добавлено в игру.
- 1.1.8: Добавлено в игру.
- 1.00: Добавлено в игру.
Сноски
- ↑ Информация взята из исходного кода игры версии 1.4.4.9 (
ПК), метод
smCallBack()
вTerraria.WorldGen.cs
. - ↑ Информация взята из исходного кода игры версии 1.4.4.9 (
ПК), методы
smCallBack()
вTerraria.WorldGen.cs
иGERunner()
вTerraria.WorldGen.cs
. - ↑ Координата X начальной точки будет случайным значением в указанном ниже диапазоне, а координата Y начинается со значения 0. Сначала игра генерирует случайное целое число в пределах [300;399], а затем умножает его на 0,001, чтобы получить
factorA
(то есть [0,300-0,399]); затем генерирует случайное целое число в пределах [200;299] и умножает его на 0,001, чтобы получитьfactorB
(то есть [0,200-0,299]). Если темница находится в левой части мира, начальной точкой становитсяmaxTilesX×(1-factorA)
иmaxTilesX×factorB
; Если темница находится в правой части мира, начальной точкой становитсяmaxTilesX×(1-factorB)
иmaxTilesX×factorA
.maxTilesX
— это ширина мира в тайлах (блоках). - ↑ После задания начального положения полос координаты точки будут сохранены в векторе
v
, а координаты X и Y станутv.X
иv.Y
соответственно. Затем игра генерирует случайное целое число в пределах [240;249] (rNum
) и умножает его наmaxTilesX / 4200,0
, чтобы получить значение дляwidth
.maxTilesX
— это ширина мира в тайлах. Затем проверяются тайлы в прямоугольной области (по горизонтали: от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] (или [-4;-2]). - ↑ https://gaming.stackexchange.com/questions/313208
- ↑ 6,0 6,1 6,2 Обычно это происходит в мирах с зерном «Not the bees», но технически это может произойти в любом мире, если будет выполнено условие. Поскольку полоса освящения всегда генерируется первой, она может преобразовать достаточное количество ульев, чтобы полоска злого биома не смогла преобразовать эти тайлы.
- ↑ Информация взята из исходного кода игры версии 1.4.4.9 (
ПК), метод
smCallBack()
вTerraria.WorldGen.cs
. Обратите внимание, что это относится как к обычным мирам, так и к мирам с секретными зёрнами.