void BuildDeepLayer() { deepLayer.xSize = deepX; deepLayer.ySize = deepY; deepLayer.zSize = deepZ; deepLayer.offset = lowOffset; deepLayer.player = player; deepLayer.BuildGrid(); for (int i = 0; i < deepLayer.xSize; i++) { for (int j = 0; j < deepLayer.ySize; j++) { for (int k = 0; k < deepLayer.zSize; k++) { int r = 0; int damage = 0; Side side = Side.Mid; if (i == 0 || i == (deepLayer.xSize - 1) || j == 0) { r = 1; } else if (k == 2 && j == 2 && (i + 1) % 3 == 0) { // 3 guaranteed spawns r = 8; // Diga Brass } else { r = GetRandomOre(j, k, 0, 0, 3, 7, 5, 6, 1); } if (r > 1) { damage = GetRandomDamage(); side = GetRandomSide(); } deepLayer.Fill(i, j, k, r, damage, side); } } } }
void BuildTopLayer() { topLayer.xSize = topX; topLayer.ySize = topY; topLayer.zSize = topZ; // bg is all unbreakable topLayer.offset = topOffset; topLayer.player = player; topLayer.BuildGrid(); for (int i = 0; i < topLayer.xSize; i++) { for (int j = 0; j < topLayer.ySize; j++) { for (int k = 0; k < topLayer.zSize; k++) { int r = 0; int damage = 0; Side side = Side.Mid; if (i == 0 || i == (topLayer.xSize - 1) || k == 1) { r = 1; // granicrete } else if (j > topLayer.ySize - 4) { r = 0; // dirt } else { r = GetRandomOre(j, 0, 8, 0, 19, 14, 0, 0); } if (r > 1) { damage = GetRandomDamage(); side = GetRandomSide(); } topLayer.Fill(i, j, k, r, damage, side); } } } }
void BuildMidLayer() { midLayer.xSize = midX; midLayer.ySize = midY; midLayer.zSize = midZ; midLayer.offset = midOffset; midLayer.player = player; midLayer.BuildGrid(); for (int i = 0; i < midLayer.xSize; i++) { for (int j = 0; j < midLayer.ySize; j++) { for (int k = 0; k < midLayer.zSize; k++) { int r = 0; int damage = 0; Side side = Side.Mid; if (i == 0 || i == (midLayer.xSize - 1) || (j == midLayer.ySize - 2 && (k == 0 || k == 1)) || ((k == midLayer.zSize - 1) && j == 0)) { r = 1; } else { r = GetRandomOre(j, k, 0, 0, 7, 5, 1, 0); if (k == midLayer.zSize - 2 && j == 0) { // add some random granicrete r = Random.Range(1, 3); } } if (r > 1) { damage = GetRandomDamage(); side = GetRandomSide(); } midLayer.Fill(i, j, k, r, damage, side); } } } }
void BuildSurface() { surface.xSize = surfaceX; surface.ySize = surfaceY; surface.zSize = surfaceZ; surface.offset = surfaceOffset; surface.player = player; surface.BuildGrid(); for (int i = 0; i < surface.xSize; i++) { for (int j = 0; j < surface.ySize; j++) { for (int k = 0; k < surface.zSize; k++) { int r = 0; int damage = 5; if (j == 0 && i != 7) { r = 1; } if (j == 0 && i == 7) { damage = 0; } if (j == 2 && i == surface.xSize - 1) { r = 6; } if (j == 2 && i == surface.xSize - 2) { r = 7; } surface.Fill(i, j, k, r, damage, Side.Mid); //surface.Smash(i, j, k, 5, Side.Mid, true); } } } }
void BuildLowLayer() { lowerLayer.xSize = lowX; lowerLayer.ySize = lowY; lowerLayer.zSize = lowZ; lowerLayer.offset = lowOffset; lowerLayer.player = player; lowerLayer.BuildGrid(); for (int i = 0; i < lowerLayer.xSize; i++) { for (int j = 0; j < lowerLayer.ySize; j++) { for (int k = 0; k < lowerLayer.zSize; k++) { int r = 0; int damage = 0; Side side = Side.Mid; if (i == 0 || i == (lowerLayer.xSize - 1)) { r = 1; } else { r = GetRandomOre(j, k, 0, 0, 9, 6, 4, 3); } if (r > 1) { damage = GetRandomDamage(); side = GetRandomSide(); } lowerLayer.Fill(i, j, k, r, damage, side); } } } }