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

◆ AddWater()

static void Terraria.Liquid.AddWater ( int x,
int y )
inlinestatic

Definition at line 1160 of file Liquid.cs.

1161 {
1162 Tile tile = Main.tile[x, y];
1163 if (Main.tile[x, y] == null || tile.checkingLiquid() || x >= Main.maxTilesX - 5 || y >= Main.maxTilesY - 5 || x < 5 || y < 5 || tile.liquid == 0 || (tile.nactive() && Main.tileSolid[tile.type] && tile.type != 546 && !Main.tileSolidTop[tile.type]))
1164 {
1165 return;
1166 }
1167 if (numLiquid >= curMaxLiquid - 1)
1168 {
1169 LiquidBuffer.AddBuffer(x, y);
1170 return;
1171 }
1172 tile.checkingLiquid(checkingLiquid: true);
1173 tile.skipLiquid(skipLiquid: false);
1174 Main.liquid[numLiquid].kill = 0;
1175 Main.liquid[numLiquid].x = x;
1176 Main.liquid[numLiquid].y = y;
1177 Main.liquid[numLiquid].delay = 0;
1178 numLiquid++;
1179 if (Main.netMode == 2)
1180 {
1181 NetSendLiquid(x, y);
1182 }
1183 if (!tile.active() || WorldGen.gen)
1184 {
1185 return;
1186 }
1187 bool flag = false;
1188 if (tile.lava())
1189 {
1191 {
1192 flag = true;
1193 }
1194 }
1195 else if (TileObjectData.CheckWaterDeath(tile))
1196 {
1197 flag = true;
1198 }
1199 if (flag)
1200 {
1201 WorldGen.KillTile(x, y);
1202 if (Main.netMode == 2)
1203 {
1204 NetMessage.SendData(17, -1, -1, null, 0, x, y);
1205 }
1206 }
1207 }
static int curMaxLiquid
Definition Liquid.cs:25
static int numLiquid
Definition Liquid.cs:27
static void NetSendLiquid(int x, int y)
Definition Liquid.cs:55
static bool CheckWaterDeath(int type, int style)
static bool CheckLavaDeath(int type, int style)

References Terraria.Tile.active(), Terraria.LiquidBuffer.AddBuffer(), Terraria.Tile.checkingLiquid(), Terraria.ObjectData.TileObjectData.CheckLavaDeath(), Terraria.ObjectData.TileObjectData.CheckWaterDeath(), Terraria.Liquid.curMaxLiquid, Terraria.WorldGen.gen, Terraria.WorldGen.KillTile(), Terraria.Tile.lava(), Terraria.Main.liquid, Terraria.Tile.liquid, Terraria.Main.maxTilesX, Terraria.Main.maxTilesY, Terraria.Tile.nactive(), Terraria.Main.netMode, Terraria.Liquid.NetSendLiquid(), Terraria.Liquid.numLiquid, Terraria.NetMessage.SendData(), Terraria.Tile.skipLiquid(), Terraria.Main.tile, Terraria.Main.tileSolid, Terraria.Main.tileSolidTop, Terraria.Tile.type, Terraria.Liquid.x, and Terraria.Liquid.y.

Referenced by Terraria.Liquid.DelWater(), Terraria.WorldGen.EmptyLiquid(), Terraria.Player.ItemCheck_UseBuckets(), Terraria.WorldGen.TileFrame(), Terraria.Liquid.Update(), Terraria.Liquid.UpdateLiquid(), and Terraria.WorldGen.WaterCheck().