Возрождение
Мирова́я то́чка возрожде́ния (англ. world spawn point) — это место, где появляются игроки в новосозданном мире или при присоединении к мультиплеерному серверу. Она определяется во время генерации мира и обычно находится в нескольких блоках от горизонтального центра мира, в слое поверхности. Она почти всегда расположена в лесном биоме, так как более опасные биомы не могут появляться в центре мира.
То́чка возрожде́ния (англ. spawn point) игрока изначально является мировой точкой возрождения, но может быть изменена путём создания кровати, её размещения в доме и нажатия кнопки ⚷ Открыть / Активировать на ней. Точка возрождения — это место, где игроки возрождаются после смерти, куда их телепортируют магическое/ледяное зеркало (или их улучшения) или зелье возвращения, и где они появляются при входе в мир. Как только дом, в котором находится кровать, разрушен, или на кровать во второй раз нажимают ⚷ Открыть / Активировать, точка возрождения игрока возвращается к исходной мировой точке возрождения.
Мировая точка возрождения отмечена зелёной стрелкой на мини-карте, а точка возрождения игрока отмечена иконкой кровати.
Мировая точка возрождения
Генерация мира
Во время генерации мира игра выбирает один из сгенерированных блоков в качестве мировой точки возрождения.[1]
Мир всегда имеет чётное количество блоков по горизонтали — 4200, 6400 или 8400, в зависимости от размера мира. Следовательно, горизонтальный центр мира — это линия между двумя блоками. При выборе мировой точки возрождения игра выбирает случайный вертикальный столбец блоков, который находится до пяти блоков слева от этой центральной линии и до шести блоков справа от неё. Блок с наибольшей высотой в этом вертикальном столбце назначается мировой точкой возрождения.
Однако, если блок находится ниже слоя поверхности или если блок над ним содержит любую жидкость, то он отбрасывается. В этом случае игра снова выбирает случайный столбец блоков, но теперь увеличивает возможный диапазон на 1 — так что теперь любой вертикальный столбец блоков, который находится до шести блоков слева от горизонтальной центральной линии и до семи блоков справа от неё, может быть выбран случайным образом. Снова самый верхний блок в выбранном вертикальном столбце назначается мировой точкой возрождения, и если этот блок также не соответствует условиям, он тоже отбрасывается. Процесс повторяется, пока не будет найден подходящий блок, при этом возможный горизонтальный диапазон (т.е. насколько далеко случайный выбор может отклониться от горизонтального центра мира) увеличивается на 1 блок каждый раз.
В результате мировая точка возрождения всегда будет находиться в слое поверхности или выше и никогда не будет покрыта жидкостями. Обычно она будет располагаться в нескольких блоках от горизонтального центра мира, но потенциально может оказаться и дальше от него.
Секретные зёрна мира
В мирах с зерном «Торжество MK10» в качестве основы вместо центра мира используется точка на пляже любого океана.
В мирах с зерном «Ремикс» игра выбирает мировую точку возрождения как обычно, а затем перемещает её вниз до самого нижнего блока открытого воздуха, что означает остров из блоков пепла в этих мирах.
Телепортация к мировой точке возрождения
Когда игрок входит в мир, возрождается после смерти или использует зелье возвращения, магическое/ледяное зеркало, мобильный телефон или ракушкофон (домой), он будет телепортирован (или появится, в случае входа в мир) к мировой точке возрождения — при условии, что у него в данный момент нет вручную установленной точки возрождения на кровати. Если игрок заблокировал мировую точку возрождения (например, разместив блоки в области) или добыл блок мировой точки возрождения (оставив точку возрождения в воздухе), игра попытается телепортировать игрока в другое место поблизости.
Процесс определения цели телепортации описан ниже. Блоки в мире моделируются как прямоугольная система координат, с осью y, направленной вниз, и началом координат (0, 0) в верхнем левом блоке. В этой модели предполагается, что мировая точка возрождения находится по координатам (x, y).
- Сначала игра проверяет квадрат 3 на 3 блока над мировой точкой возрождения, т.е. от
(x-1, y-3)до(x+1, y-1). Если эта область содержит любые твёрдые блоки или жидкости, цель телепортации считается заблокированной.[2]- Если мировая точка возрождения заблокирована, игра проверяет 30 блоков непосредственно над ней (двигаясь вверх от
(x, y)до(x, y-29)) в поисках незаблокированного места, т.е. блока, над которым нет твёрдых блоков или жидкостей в квадрате 3 на 3 блока.[3]- Если такой блок найден, он используется в качестве цели, на которую будет телепортирован игрок.
- В противном случае в качестве цели телепортации будет использована заблокированная мировая точка возрождения, помещая игрока внутрь твёрдых блоков.
- Если мировая точка возрождения не заблокирована, но находится в воздухе, игра будет искать в прямоугольной области 3 на 50 блока под мировой точкой возрождения (от
(x-1, y)до(x+1, y+49), двигаясь вниз, проверяя каждую строку слева направо) твёрдый блок. Первый найденный блок будет использован в качестве цели телепортации.[4]- Если в этой области не найдено ни одного твёрдого блока, то в качестве цели телепортации будет использована мировая точка возрождения, помещая игрока в воздухе.
- Если мировая точка возрождения заблокирована, игра проверяет 30 блоков непосредственно над ней (двигаясь вверх от
Исключение для ракушкофона (к центру мира)
Ракушкофон (к центру мира) также телепортирует игрока к мировой точке возрождения. Игра следует тому же процессу, описанному выше, с одним исключением: если мировая точка возрождения заблокирована и в 30 блоках над ней не найдено подходящего блока, то игра очищает мировую точку возрождения. При других методах телепортации игрок был бы помещён внутрь блоков, блокирующих мировую точку возрождения, но при использовании ракушкофона (к центру мира) препятствие сначала очищается игрой.[5]
Все твёрдые блоки в квадрате 3 на 3 блока над мировой точкой возрождения будут уничтожены и выпадут в виде предметов. Жидкости также будут удалены, но заполненные хранилища и их поддерживающие блоки останутся нетронутыми.[6] Игрок всё ещё может оказаться внутри твёрдых блоков таким образом.
Советы
- Очень полезно строить дом на мировой точке возрождения, потому что если вы погибните, а кровать будет застроена или сломана, вы всё равно появитесь внутри дома. Но будьте осторожны, когда будете копать под точкой возрождения, поскольку при появлении вы упадёте вниз и можете погибнуть.
- Мировая точка возрождения никогда не может быть установлена в опасных окружениях. Довольно редко, но игрок может появиться на парящем острове. В этом случае для спуска можно использовать имеющиеся блоки. Если в небесном сундуке будет найдена счастливая подкова или крылья птенца, то, надев их, можно упасть без получения урона от падения.
- В качестве альтернативы можно создать новый мир.
История
- 1.4.0.1:
- Добавлены иконки для мировой точки возрождения и точки возрождения от кровати на мини-карте.
- Игроки теперь будут появляться на 30 блоков выше точки возрождения, если она будет заблокирована блоками, вместо разрушения этих блоков.
- Поскольку снежный биом теперь обычно генерируется дальше от центра мира, вероятность появления игроков в нём теперь значительно ниже.
- 1.2.4: Игрок с бо́льшей вероятностью появится на ровной поверхности в новом мире.
- 1.2.0.2: Теперь, если игрок пытается установить точку возрождения на кровати в неподходящем месте, будет выводиться сообщение в чат.
- 1.0: Добавлена в игру.
- 1.00: Добавлена в игру.
- 1.0.711.6: Добавлена в игру.
- 1.00: Добавлена в игру.
- 1.00: Добавлена в игру.
Сноски
- ↑ Информация взята из исходного кода игры версии 1.4.4.9 (
ПК), метод GenerateWorld()вTerraria.WorldGen.cs. Соответствующая стадия генерации мира называется "Spawn Point". Она может быть неактуальной, так как текущей версией игры является 1.4.5.5. - ↑ Информация взята из исходного кода игры версии 1.4.4.9 (
ПК), метод Spawn_IsAreaAValidWorldSpawn()вTerraria.Player.cs. Она может быть неактуальной, так как текущей версией игры является 1.4.5.5. - ↑ Информация взята из исходного кода игры версии 1.4.4.9 (
ПК), метод Spawn_GetPositionAtWorldSpawn()вTerraria.Player.cs. Она может быть неактуальной, так как текущей версией игры является 1.4.5.5. - ↑ Информация взята из исходного кода игры версии 1.4.4.9 (
ПК), метод Spawn_DescendFromDefaultSpace()вTerraria.Player.cs. Она может быть неактуальной, так как текущей версией игры является 1.4.5.5. - ↑ Информация взята из исходного кода игры версии 1.4.4.9 (
ПК), метод Shellphone_Spawn()вTerraria.Player.cs. Она может быть неактуальной, так как текущей версией игры является 1.4.5.5. - ↑ Информация взята из исходного кода игры версии 1.4.4.9 (
ПК), метод Spawn_ForceClearArea()вTerraria.Player.cs. Она может быть неактуальной, так как текущей версией игры является 1.4.5.5.