Hardmode conversion

From Terraria Wiki
Jump to navigation Jump to search
Map of a world just converted to Hardmode. Notice the "V" made of the new outburst of Corruption (dark purple) and Hallow (pale pink) biomes, which each replace existing world blocks.
This article is about the initial conversion. For the continued conversion and spread in Hardmode, see Biome spread.

Defeating the Wall of Flesh for the first time triggers a conversion in the world which creates the Hardmode biomes. Two diagonal stripes will generate in a "V" pattern, one converting tiles to their Hallow counterpart, the other converting tiles to their evil biome (Corruption or Crimson, depending on the world evil) counterpart. The stripes extend from the top of the world to the bottom of The Underworld. The status message "The ancient spirits of light and dark have been released." is displayed after the conversion is done.

The Hallowed stripe is always generated first.[1] See below for a list of tiles converted during this conversion.

Stripe size and location

The starting point and the width of the diagonal stripes depends on the world size and the location of Dungeon, listed in the following tables.[2]

Stripe starting point[3]
(horizontal coordinate at the top of the world, in tiles)
World size Dungeon in left half Dungeon in right half
Stripe 1 Stripe 2 Stripe 1 Stripe 2
Small 840–1256 2524–2940 1260–1676 2944–3360
Medium 1280–1914 3846–4480 1920–2554 4486–5120
Large 1680–2512 5048–5880 2520–3352 5888–6720
Stripe width[4] (in tiles)
World size Original value Counting scattered tiles
Small 200–249 200–286
Medium 305–379 305–436
Large 400–498 400–573

There are some differences in the conversion process in different game versions:

  • In worlds generated after 1.4.0.5(Desktop, Console and Mobile versions), the direction of Hallow/Corruption/Crimson biomes is random, but its position is determined by the World Seed.
  • In worlds generated between 1.3.4(Desktop, Console and Mobile versions) and 1.4.0.5, the direction of Hallow/Corruption/Crimson biomes is determined by the World Seed.[5]
  • In worlds generated before 1.3.4 (thus in all worlds on Old-gen console version Old-gen console and 3DSNintendo 3DS version), however, it is completely random.

Secret world seeds

In drunk worlds(Desktop, Console and Mobile versions), where both Corruption and Crimson exist, tiles will be converted to the evil biome that is dominant on the day of the Hardmode conversion.

In Don't dig up(Desktop, Console and Mobile versions) and Get fixed boi(Desktop, Console and Mobile versions) worlds, the "V" pattern is replaced by a rectangular conversion zone located on the same side as the Jungle. Tiles will only be converted to their Hallow counterpart; no new evil biome will be generated. See Don't dig up § Hardmode conversion for details.

Converted tiles

Hallow

Resulting converted tile Original tiles
Hallowed Grass WallHallowed Grass Wall(unsafe)Internal Wall ID: 70
Hardened Pearlsand WallHardened Pearlsand Wall(Desktop, Console and Mobile versions)(unsafe)Internal Wall ID: 219 Hardened Sand WallHardened Sand Wall(Desktop, Console and Mobile versions)(unsafe)Internal Wall ID: 216
Pearlsandstone WallPearlsandstone Wall(Desktop, Console and Mobile versions)(unsafe)Internal Wall ID: 222 Sandstone WallSandstone Wall(Desktop, Console and Mobile versions)(unsafe)Internal Wall ID: 187
Pearlstone WallPearlstone Wall(unsafe)Internal Wall ID: 28
Pearlstone BlockPearlstone Block
Pearlsand BlockPearlsand Block
Jungle grassJungle grass
Hallowed grassHallowed grass
Pink Ice BlockPink Ice Block
Pearlsandstone BlockPearlsandstone Block(Desktop, Console and Mobile versions) Sandstone BlockSandstone Block(Desktop, Console and Mobile versions)
Hardened Pearlsand BlockHardened Pearlsand Block(Desktop, Console and Mobile versions) Hardened Sand BlockHardened Sand Block(Desktop, Console and Mobile versions)
When > 200,000 Hive blocks in the world[a]
Pearlstone BlockPearlstone Block HiveHive
Hardened Pearlsand BlockHardened Pearlsand Block(Desktop, Console and Mobile versions) Crispy Honey BlockCrispy Honey Block

Corruption

Resulting converted tile Original tiles
Corrupt Grass WallCorrupt Grass Wall(unsafe)Internal Wall ID: 69
Hardened Ebonsand WallHardened Ebonsand Wall(Desktop, Console and Mobile versions)(unsafe)Internal Wall ID: 217 Hardened Sand WallHardened Sand Wall(Desktop, Console and Mobile versions)(unsafe)Internal Wall ID: 216
Ebonsandstone WallEbonsandstone Wall(Desktop, Console and Mobile versions)(unsafe)Internal Wall ID: 220 Sandstone WallSandstone Wall(Desktop, Console and Mobile versions)(unsafe)Internal Wall ID: 187
Corrupt Jungle grassCorrupt Jungle grass(Desktop, Console and Mobile versions)
Corrupt grassCorrupt grass
Ebonstone BlockEbonstone Block
Ebonsand BlockEbonsand Block
Purple Ice BlockPurple Ice Block
Ebonsandstone BlockEbonsandstone Block(Desktop, Console and Mobile versions) Sandstone BlockSandstone Block(Desktop, Console and Mobile versions)
Hardened Ebonsand BlockHardened Ebonsand Block(Desktop, Console and Mobile versions) Hardened Sand BlockHardened Sand Block(Desktop, Console and Mobile versions)
When > 200,000 Hive blocks in the world[a]
Ebonstone BlockEbonstone Block HiveHive
Hardened Ebonsand BlockHardened Ebonsand Block(Desktop, Console and Mobile versions) Crispy Honey BlockCrispy Honey Block

Crimson

Resulting converted tile Original tiles
Crimson Grass WallCrimson Grass Wall(unsafe)Internal Wall ID: 81
Hardened Crimsand WallHardened Crimsand Wall(Desktop, Console and Mobile versions)(unsafe)Internal Wall ID: 218 Hardened Sand WallHardened Sand Wall(Desktop, Console and Mobile versions)(unsafe)Internal Wall ID: 216
Crimsandstone WallCrimsandstone Wall(Desktop, Console and Mobile versions)(unsafe)Internal Wall ID: 221 Sandstone WallSandstone Wall(Desktop, Console and Mobile versions)(unsafe)Internal Wall ID: 187
Crimson Jungle grassCrimson Jungle grass(Desktop, Console and Mobile versions)
Crimson grassCrimson grass
Crimstone BlockCrimstone Block
Crimsand BlockCrimsand Block
Red Ice BlockRed Ice Block
Crimsandstone BlockCrimsandstone Block(Desktop, Console and Mobile versions) Sandstone BlockSandstone Block(Desktop, Console and Mobile versions)
Hardened Crimsand BlockHardened Crimsand Block(Desktop, Console and Mobile versions) Hardened Sand BlockHardened Sand Block(Desktop, Console and Mobile versions)
When > 200,000 Hive blocks in the world[a]
Crimstone BlockCrimstone Block HiveHive
Hardened Crimsand BlockHardened Crimsand Block(Desktop, Console and Mobile versions) Crispy Honey BlockCrispy Honey Block

Wall replacement

After the inital conversion, the game will also create patches of biome-specific background walls. This can replace existing applicable background walls, or create new walls at locations where no wall existed.[6]

During this process, the game will choose a random tile within a vertical range from 100 tiles above surface to 190 tiles above the bottom of the world, and determine generated wall type (see below). The block on the chosen tile must be a block listed in the table below, and the tile above the chosen tile cannot be occupied by a solid block. Then, an area containing all tiles without blocks, with applicable walls, and connected with the tile above the chosen tile will be selected. If the selected area contains more than 50 tiles and no more than 1000 tiles, then the wall in the whole area will be replaced by one random type of wall corresponding the chosen tile.

There is also restriction on the total times of performed wall replacements. See below for details.

Blocks and corresponding walls

Block type Wall type

Applicable walls

Only tiles with no background wall or with the following types of wall can be replaced.

  • Attempt times

    The total times of wall replacement actions is capped at different values for different world sizes, listed in the following table. Each successful wall replacement attempt will reduce remaining attempt times by 1. In addition, remaining attempt times will also be reduced by 1 after 15000 failed attempts are performed.

    World size Attempt times
    Small 25
    Medium 38
    Large 50

    History

    References

    1. Information taken from the Desktop version Desktop 1.4.4.9 source code, method smCallBack() in Terraria.WorldGen.cs.
    2. Information taken from the Desktop version Desktop 1.4.4.9 source code, methods smCallBack() in Terraria.WorldGen.cs and GERunner() in Terraria.WorldGen.cs.
    3. The starting point's X coordinate will be a random value within the range below, while the Y coordinate starts at 0. The game will first generate a random integer within [300,399], then multiply it by 0.001 to get factorA (i.e. [0.300-0.399]); then generate a random integer within [200,299], then multiply it by 0.001 to get factorB (i.e. [0.200-0.299]). If the Dungeon is at left half of the world, the starting point is maxTilesX×(1-factorA) and maxTilesX×factorB; if the Dungeon is at right half of the world, the starting point is maxTilesX×(1-factorB) and maxTilesX×factorA. maxTilesX is the width of the world (in tiles).
    4. After setting up the starting location of the stripes, the coordinates of the point will be stored in a vector v, the X, Y coordinates being v.X and v.Y, respectively. The game then generate a random integer within [240,249] (we call it rNum), multiply it by maxTilesX / 4200.0 to get a width value. maxTilesX is the width of the world (in tiles). Then, check tiles in a rectangle area (horizontal: from v.X-width÷2 to v.X + width ÷ 2; vertical: from v.Y - width ÷ 2 to v.Y + width ÷ 2), if a tile's coordinate ((X,Y)) meets the following condition: | X- v.X | + | Y - v.Y | < rNum × 0.5 × ( 1 + rFactor × 0.015 ) (rFactor is a random integer within [-10,10]), then the tile will be converted. The randomness of rFactor creates scattered converted tiles around the stripe; the "Original value" column is the stripe width when not considering these scattered tiles. Besides these checks, the slope of the stripes is stored in another vector v2, where v2.X being 3 or -3, depending on the direction of the stripe, and v2.Y always being 5. After each rectangle area check, the v2 will be added to v (i.e. v.X = v.X + v2.X, v.Y = v.Y + v2.Y). Then, the game generates a random integer within [-10,10], multiplies it by 0.05, and added it to v2.X. The value of v2.X is capped within [2,4] (or [-4,-2]).
    5. terraria - Is the Hallow & Crimson/Corruption "V" random or predetermined? - Arqade
    6. Information taken from the Desktop version Desktop 1.4.4.9 source code, method smCallBack() in Terraria.WorldGen.cs. Note that this applies to both regular worlds and worlds with secret world seeds.
    1. 1.0 1.1 1.2 This usually happens in Not the bees, but technically can happen in any world, given the condition is fulfilled. Since the Hallow stripe is always generated first, it is possible for it to convert enough Hive to make the evil stripe unable to convert these blocks.