Terraria v1.4.4.9
Terraria source code documentation
Loading...
Searching...
No Matches

◆ KillWall()

static void Terraria.WorldGen.KillWall ( int i,
int j,
bool fail = false )
inlinestatic

Definition at line 51188 of file WorldGen.cs.

51189 {
51190 if (i < 0 || j < 0 || i >= Main.maxTilesX || j >= Main.maxTilesY)
51191 {
51192 return;
51193 }
51194 Tile tile = Main.tile[i, j];
51195 if (tile == null)
51196 {
51197 tile = new Tile();
51198 Main.tile[i, j] = tile;
51199 }
51200 if (tile.wall <= 0)
51201 {
51202 return;
51203 }
51205 KillWall_PlaySounds(i, j, tile);
51206 int num = 10;
51207 if (fail)
51208 {
51209 num = 3;
51210 }
51211 for (int k = 0; k < num; k++)
51212 {
51213 KillWall_MakeWallDust(i, j, tile);
51214 }
51215 if (fail)
51216 {
51217 SquareWallFrame(i, j);
51218 return;
51219 }
51220 KillWall_DropItems(i, j, tile);
51221 tile.wall = 0;
51222 tile.ClearWallPaintAndCoating();
51223 SquareWallFrame(i, j);
51224 if (tile.type >= 0 && tile.type < TileID.Count && TileID.Sets.FramesOnKillWall[tile.type])
51225 {
51226 TileFrame(i, j);
51227 }
51228 }
static bool[] FramesOnKillWall
Definition TileID.cs:269
static readonly ushort Count
Definition TileID.cs:1698
static void SquareWallFrame(int i, int j, bool resetFrame=true)
static bool KillWall_CheckFailure(bool fail, Tile tileCache)
static void KillWall_PlaySounds(int i, int j, Tile tileCache)
static void TileFrame(int i, int j, bool resetFrame=false, bool noBreak=false)
static void KillWall_DropItems(int i, int j, Tile tileCache)
static void KillWall_MakeWallDust(int i, int j, Tile tileCache)

References Terraria.Tile.ClearWallPaintAndCoating(), Terraria.ID.TileID.Count, Terraria.ID.TileID.Sets.FramesOnKillWall, Terraria.Main.maxTilesX, Terraria.Main.maxTilesY, Terraria.DataStructures.Tile, Terraria.Main.tile, Terraria.Tile.type, and Terraria.Tile.wall.

Referenced by Terraria.Projectile.ExplodeTiles(), Terraria.MessageBuffer.GetData(), and Terraria.Player.PickWall().