70365 {
70367 {
70368 GenVars.numOceanCaveTreasure = 0;
70369 }
70370 Vector2D
vector2D =
default(Vector2D);
70371 vector2D.X = i;
70373 Vector2D
vector2D2 =
default(Vector2D);
70374 if (i < Main.maxTilesX / 2)
70375 {
70376 vector2D2.X = 0.25 +
genRand.NextDouble() * 0.25;
70377 }
70378 else
70379 {
70380 vector2D2.X = -0.35 -
genRand.NextDouble() * 0.5;
70381 }
70382 vector2D2.Y = 0.4 +
genRand.NextDouble() * 0.25;
70385 ushort
num15 = 397;
70388 double num18 = 4.0;
70391 {
70396 {
70399 }
70401 {
70403 }
70405 {
70408 }
70409 else
70410 {
70413 }
70415 {
70418 }
70424 {
70426 }
70427 if (
num20 > Main.maxTilesX - 1)
70428 {
70429 num20 = Main.maxTilesX - 1;
70430 }
70432 {
70434 }
70435 if (
num2 > Main.maxTilesY - 1)
70436 {
70437 num2 = Main.maxTilesY - 1;
70438 }
70440 {
70442 {
70444 {
70445 continue;
70446 }
70449 {
70450 Main.tile[
k,
l].type =
num;
70451 Main.tile[
k,
l].active(active:
false);
70452 }
70453 else if (
num3 <
num16 * 1.5 + 1.0 && Main.tile[
k,
l].type !=
num)
70454 {
70456 {
70458 {
70460 {
70461 Main.tile[
k,
l].type =
num15;
70462 if (Main.tile[
k,
l].liquid ==
byte.MaxValue)
70463 {
70464 Main.tile[
k,
l].wall = 0;
70465 }
70466 }
70467 else if (Main.tile[
k,
l].type !=
num15)
70468 {
70469 Main.tile[
k,
l].type =
num12;
70470 }
70471 }
70472 }
70474 {
70475 if (Main.tile[
k,
l].liquid ==
byte.MaxValue)
70476 {
70477 Main.tile[
k,
l].wall = 0;
70478 }
70479 Main.tile[
k,
l].type =
num12;
70480 Main.tile[
k,
l].active(active:
true);
70482 {
70490 {
70493 }
70495 {
70499 }
70501 {
70506 }
70508 {
70510 {
70512 {
70514 {
70515 break;
70516 }
70517 Main.tile[
m,
n].type =
num15;
70518 }
70519 else
70520 {
70521 Main.tile[
m,
n].type =
num12;
70522 }
70523 Main.tile[
m,
n].active(active:
true);
70525 {
70526 Main.tile[
m - 1,
n].type =
num12;
70527 Main.tile[
m - 1,
n].active(active:
true);
70528 }
70530 {
70531 Main.tile[
m + 1,
n].type =
num12;
70532 Main.tile[
m + 1,
n].active(active:
true);
70533 }
70534 }
70535 }
70536 }
70537 }
70538 }
70540 {
70541 Main.tile[
k,
l].liquid =
byte.MaxValue;
70542 }
70544 {
70545 continue;
70546 }
70551 {
70553 {
70555 {
70556 Main.tile[
num13,
num14].liquid =
byte.MaxValue;
70557 }
70558 }
70559 }
70560 }
70561 }
70563 vector2D2.X +=
genRand.NextDouble() * 0.1 - 0.05;
70564 vector2D2.Y +=
genRand.NextDouble() * 0.1 - 0.05;
70566 {
70567 if (
vector2D.Y > (Main.worldSurface * 2.0 + Main.rockLayer) / 3.0 &&
vector2D.Y > (
double)(
j + 30))
70568 {
70570 }
70571 vector2D2.Y = Utils.Clamp(
vector2D2.Y, 0.35, 1.0);
70572 }
70573 else
70574 {
70575 if (
vector2D.X < (
double)(Main.maxTilesX / 2))
70576 {
70578 {
70579 vector2D2.X += 0.02;
70580 }
70581 }
70583 {
70584 vector2D2.X -= 0.02;
70585 }
70587 {
70589 {
70590 vector2D2.Y *= 0.95;
70591 }
70592 vector2D2.Y += 0.04;
70593 }
70594 else if (
vector2D.Y < (Main.worldSurface * 4.0 + Main.rockLayer) / 5.0)
70595 {
70597 {
70598 vector2D2.Y *= 0.97;
70599 }
70600 vector2D2.Y += 0.02;
70601 }
70603 {
70604 vector2D2.Y *= 0.99;
70605 vector2D2.Y -= 0.01;
70606 }
70607 vector2D2.Y = Utils.Clamp(
vector2D2.Y, -1.0, 1.0);
70608 }
70609 if (
vector2D.X < (
double)(Main.maxTilesX / 2))
70610 {
70611 vector2D2.X = Utils.Clamp(
vector2D2.X, 0.1, 1.0);
70612 }
70613 else
70614 {
70615 vector2D2.X = Utils.Clamp(
vector2D2.X, -1.0, -0.1);
70616 }
70617 }
70619 }
static readonly int maxOceanCaveTreasure
static Point[] oceanCaveTreasure
static int numOceanCaveTreasure
static UnifiedRandom genRand
static bool badOceanCaveTiles(int x, int y)
static readonly int beachDistance