4143 {
4144
4145
4146
4147
4148
4149
4150
4151
4152
4153 Vector2
vector = position;
4154 vector.X += velocity.X;
4155 vector.Y = (float)
Math.Floor((
vector.Y + (
float)height) / 16
f) * 16
f - (
float)height;
4160 int num13 = height / 16 + ((height % 16 != 0) ? 1 : 0);
4162 float num15 = Main.bottomWorld / 16
f - 42
f;
4164 {
4166 {
4168 {
4169 continue;
4170 }
4171 if (Main.tile[i,
j] ==
null)
4172 {
4173 Main.tile[i,
j] =
default(
Tile);
4174 }
4175 if (Main.tile[i,
j - 1] ==
null)
4176 {
4177 Main.tile[i,
j - 1] =
default(
Tile);
4178 }
4179 if (waterWalk && Main.tile[i,
j].liquid > 0 && Main.tile[i,
j - 1].liquid == 0)
4180 {
4181 int num16 = Main.tile[i,
j].liquid / 32 * 2 + 2;
4183 Rectangle
val =
new Rectangle(i * 16,
j * 16 - 17, 16, 16);
4184 if (((Rectangle)(
ref val)).Intersects(
new Rectangle((
int)position.X, (
int)position.Y, width, height)) && (
float)
num17 <
num14)
4185 {
4187 }
4188 }
4189 if ((
float)
j >=
num15 || (Main.tile[i,
j].nactive() && (Main.tileSolid[Main.tile[i,
j].type] || Main.tileSolidTop[Main.tile[i,
j].type])))
4190 {
4192 if (Main.tile[i,
j].halfBrick())
4193 {
4195 }
4196 if (Utils.FloatIntersect(i * 16,
j * 16 - 17, 16
f, 16
f, position.X, position.Y, width, height) && (
float)
num18 <
num14)
4197 {
4199 }
4200 }
4201 }
4202 }
4203 float num10 =
num14 - (position.Y + (float)height);
4205 {
4206 stepSpeed = 1.5f;
4208 {
4209 stepSpeed = 2.5f;
4210 }
4211 gfxOffY += position.Y + (float)height -
num14;
4212 position.Y =
num14 - (float)height;
4213 }
4214 }