29073 {
29074 int num = 6;
29078 for (
k =
j; !Main.tile[
i,
k].active() &&
k < Main.UnderworldLayer;
k++)
29079 {
29080 }
29081 if (!Main.tileSolid[Main.tile[i,
k].type] || Main.tile[i,
k].halfBrick() || Main.tile[
i,
k].topSlope())
29082 {
29083 return false;
29084 }
29085 if ((Main.tile[i,
k].type != 53 && Main.tile[i,
k].type != 397 && Main.tile[i,
k].type != 396) || (Main.tile[
i,
k].wall != 216 && Main.tile[
i,
k].wall != 187))
29086 {
29087 return false;
29088 }
29094 {
29096 {
29097 if (Main.tile[
l,
m].wire())
29098 {
29099 return false;
29100 }
29102 {
29103 return false;
29104 }
29106 {
29107 return false;
29108 }
29109 if (Main.tile[
l,
m].type == 10)
29110 {
29111 return false;
29112 }
29113 if (Main.tile[
l,
m].type == 19)
29114 {
29115 return false;
29116 }
29117 if (Main.tile[
l,
m].type == 15)
29118 {
29119 return false;
29120 }
29121 if (Main.tile[
l,
m].type == 219)
29122 {
29123 return false;
29124 }
29125 }
29126 }
29127 for (
int n = i - 2;
n <=
i + 2;
n++)
29128 {
29130 {
29131 if (!Main.tile[
n,
num7].active() || !Main.tileSolid[Main.tile[
n,
num7].type])
29132 {
29133 return false;
29134 }
29135 }
29136 }
29137 if (Main.tile[i,
k + 1].type == 162)
29138 {
29139 return false;
29140 }
29142 {
29143 if (Main.tile[i,
num8].active())
29144 {
29145 if (Main.tile[i,
num8].type == 396)
29146 {
29148 break;
29149 }
29150 return false;
29151 }
29152 }
29154 {
29155 return false;
29156 }
29158 {
29159 return false;
29160 }
29164 {
29166 {
29167 return false;
29168 }
29170 {
29172 {
29174 {
29175 return false;
29176 }
29177 if (Main.tileSolid[Main.tile[
num11,
num12].type])
29178 {
29180 }
29181 }
29182 }
29183 }
29184 double num13 = (double)((
num5 * 2 + 1) * (
num6 + 1)) * 0.75;
29186 {
29187 return false;
29188 }
29190 {
29192 {
29193 bool flag = false;
29195 {
29196 flag = true;
29197 }
29199 {
29202 if (!flag)
29203 {
29206 }
29207 }
29209 {
29212 if (flag && Main.tile[
num14,
num15 - 1].active() && Main.tileSolid[Main.tile[
num14,
num15 - 1].type])
29213 {
29215 }
29216 else
29217 {
29219 }
29220 }
29222 {
29223 if (!flag)
29224 {
29228 }
29229 else
29230 {
29233 }
29234 }
29235 else
29236 {
29240 }
29241 }
29242 }
29244 {
29246 {
29247 if (Main.tile[i -
num5 - 2,
num16].bottomSlope())
29248 {
29250 }
29251 }
29252 else if ((
double)
num16 > (double)
num4 - (
double)
num6 * 0.6)
29253 {
29254 if (Main.tile[i -
num5 - 2,
num16].topSlope())
29255 {
29257 }
29259 }
29260 else
29261 {
29264 }
29265 if (!Main.tile[i -
num5 - 2,
num16].active() || !Main.tileSolid[Main.tile[i -
num5 - 2,
num16].type])
29266 {
29269 }
29270 if (!Main.tile[i +
num5 + 2,
num16].active() || !Main.tileSolid[Main.tile[i +
num5 + 2,
num16].type])
29271 {
29274 }
29275 }
29277 {
29286 }
29288 {
29291 {
29293 }
29295 }
29302 {
29304 if ((
double)
num20 < (
double)i - (
double)
num5 * 0.8 || (
double)
num20 > (
double)i + (
double)
num5 * 0.8)
29305 {
29307 }
29308 else if ((
double)
num20 < (
double)i - (
double)
num5 * 0.6 || (
double)
num20 > (
double)i + (
double)
num5 * 0.6)
29309 {
29311 }
29312 else if ((
double)
num20 < (
double)i - (
double)
num5 * 0.4 || (
double)
num20 > (
double)i + (
double)
num5 * 0.4)
29313 {
29315 }
29317 {
29319 {
29321 }
29323 {
29325 {
29328 }
29330 {
29332 }
29333 }
29334 }
29335 }
29336 return true;
29337 }
static void KillTile(int i, int j, bool fail=false, bool effectOnly=false, bool noItem=false)
static bool PlaceTile(int i, int j, int Type, bool mute=false, bool forced=false, int plr=-1, int style=0)
static UnifiedRandom genRand