v3.1.0: adjusted prison standard rooms and overall standard room chances
This commit is contained in:
+28
@@ -24,6 +24,9 @@ package com.shatteredpixel.shatteredpixeldungeon.levels.painters;
|
||||
import com.shatteredpixel.shatteredpixeldungeon.levels.Level;
|
||||
import com.shatteredpixel.shatteredpixeldungeon.levels.Terrain;
|
||||
import com.shatteredpixel.shatteredpixeldungeon.levels.rooms.Room;
|
||||
import com.shatteredpixel.shatteredpixeldungeon.levels.rooms.special.SpecialRoom;
|
||||
import com.shatteredpixel.shatteredpixeldungeon.levels.rooms.standard.ChasmBridgeRoom;
|
||||
import com.shatteredpixel.shatteredpixeldungeon.levels.rooms.standard.FissureRoom;
|
||||
import com.watabou.utils.Random;
|
||||
|
||||
import java.util.ArrayList;
|
||||
@@ -59,6 +62,31 @@ public class PrisonPainter extends RegularPainter {
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
for (Room r : rooms){
|
||||
if (r instanceof SpecialRoom){
|
||||
continue;
|
||||
}
|
||||
int chance = 15; //1/15 by default, some rooms can be more common though
|
||||
if (r instanceof FissureRoom){
|
||||
chance = 3;
|
||||
} else if (r instanceof ChasmBridgeRoom){
|
||||
chance = 5;
|
||||
}
|
||||
|
||||
int cell;
|
||||
for (int y = r.bottom-1; y > r.top; y--){
|
||||
cell = r.left+1 + level.width()*y;
|
||||
for (int x = r.left+1; x < r.right; x++){
|
||||
if (level.map[cell] == Terrain.CHASM && level.map[cell-level.width()] == Terrain.CHASM){
|
||||
if (Random.Int(chance) == 0){
|
||||
level.map[cell] = Terrain.REGION_DECO_ALT;
|
||||
}
|
||||
}
|
||||
cell++;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
for (int i=0; i < w; i++) {
|
||||
if (map[i] == Terrain.WALL &&
|
||||
|
||||
+5
-1
@@ -73,7 +73,11 @@ public class CellBlockRoom extends StandardRoom {
|
||||
int left = internal.left + 1 + (x * (w + Wspacing));
|
||||
int top = internal.top + 1 + (y * (h + Hspacing));
|
||||
|
||||
Painter.fill(level, left, top, w, h, Terrain.EMPTY_SP);
|
||||
if (Random.Int(w*h) == 0){
|
||||
Painter.fill(level, left, top, w, h, Terrain.REGION_DECO);
|
||||
} else {
|
||||
Painter.fill(level, left, top, w, h, Terrain.EMPTY_SP);
|
||||
}
|
||||
|
||||
if (topBottomDoors == null) {
|
||||
switch (Random.Int(4)){
|
||||
|
||||
-1
@@ -76,7 +76,6 @@ public class FissureRoom extends StandardRoom {
|
||||
}
|
||||
}
|
||||
}
|
||||
Painter.fill(level, this, 5, Terrain.REGION_DECO_ALT);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
+14
-18
@@ -120,39 +120,35 @@ public abstract class StandardRoom extends Room {
|
||||
//FIXME this is a very messy way of handing variable standard rooms
|
||||
private static ArrayList<Class<?extends StandardRoom>> rooms = new ArrayList<>();
|
||||
static {
|
||||
rooms.add(EmptyRoom.class);
|
||||
rooms.add(RegionDecoLineRoom.class);
|
||||
rooms.add(StatueLineRoom.class);
|
||||
|
||||
rooms.add(SewerPipeRoom.class);
|
||||
rooms.add(RegionDecoPatchRoom.class);
|
||||
rooms.add(RingRoom.class);
|
||||
rooms.add(WaterBridgeRoom.class);
|
||||
rooms.add(CircleBasinRoom.class);
|
||||
rooms.add(RegionDecoPatchRoom.class);
|
||||
|
||||
rooms.add(SegmentedRoom.class);
|
||||
rooms.add(RegionDecoLineRoom.class);
|
||||
rooms.add(PillarsRoom.class);
|
||||
rooms.add(ChasmBridgeRoom.class);
|
||||
rooms.add(CellBlockRoom.class);
|
||||
rooms.add(EmptyRoom.class); //TODO
|
||||
|
||||
rooms.add(CaveRoom.class);
|
||||
rooms.add(CustomDecoBridgeRoom.class);
|
||||
rooms.add(CavesFissureRoom.class);
|
||||
rooms.add(CirclePitRoom.class);
|
||||
rooms.add(CircleWallRoom.class);
|
||||
rooms.add(CustomDecoBridgeRoom.class);
|
||||
|
||||
rooms.add(HallwayRoom.class);
|
||||
rooms.add(StatuesRoom.class);
|
||||
rooms.add(LibraryRingRoom.class);
|
||||
rooms.add(SegmentedLibraryRoom.class);
|
||||
rooms.add(LibraryHallRoom.class);
|
||||
rooms.add(LibraryRingRoom.class);
|
||||
rooms.add(StatuesRoom.class);
|
||||
rooms.add(SegmentedLibraryRoom.class);
|
||||
|
||||
rooms.add(RuinsRoom.class);
|
||||
rooms.add(RegionDecoPatchRoom.class);
|
||||
rooms.add(ChasmRoom.class);
|
||||
rooms.add(SkullsRoom.class);
|
||||
rooms.add(RitualRoom.class);
|
||||
rooms.add(RegionDecoPatchRoom.class);
|
||||
|
||||
|
||||
rooms.add(PlantsRoom.class);
|
||||
@@ -169,21 +165,21 @@ public abstract class StandardRoom extends Room {
|
||||
|
||||
private static float[][] chances = new float[27][];
|
||||
static {
|
||||
chances[1] = new float[]{0,5,0, 15,5,5,5,5, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 1,0,1,0,1,0,1,1,0,0};
|
||||
chances[2] = new float[]{0,5,0, 15,5,5,5,5, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 1,1,1,1,1,1,1,1,1,1};
|
||||
chances[1] = new float[]{12,8,8,8,4, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 1,0,1,0,1,0,1,1,0,0};
|
||||
chances[2] = new float[]{12,8,8,8,4, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 1,1,1,1,1,1,1,1,1,1};
|
||||
chances[4] = chances[3] = chances[2];
|
||||
chances[5] = new float[]{0,5,0, 15,5,5,0,5, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0};
|
||||
chances[5] = new float[]{12,8,8,8,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0};
|
||||
|
||||
chances[6] = new float[]{0,5,0, 0,0,0,0,0, 10,10,10,5,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 1,1,1,1,1,1,1,1,1,1};
|
||||
chances[6] = new float[]{0,0,0,0,0, 10,10,10,5,5, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 1,1,1,1,1,1,1,1,1,1};
|
||||
chances[10] = chances[9] = chances[8] = chances[7] = chances[6];
|
||||
|
||||
chances[11] = new float[]{0,5,0, 0,0,0,0,0, 0,0,0,0,0, 15,5,5,5,5, 0,0,0,0,0, 0,0,0,0,0, 1,1,1,1,1,1,1,1,1,1};
|
||||
chances[11] = new float[]{0,0,0,0,0, 0,0,0,0,0, 16,8,8,4,4, 0,0,0,0,0, 0,0,0,0,0, 1,1,1,1,1,1,1,1,1,1};
|
||||
chances[15] = chances[14] = chances[13] = chances[12] = chances[11];
|
||||
|
||||
chances[16] = new float[]{0,0,5, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 10,5,5,5,10, 0,0,0,0,0, 1,1,1,1,1,1,1,1,1,1};
|
||||
chances[16] = new float[]{0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 10,10,10,5,5, 0,0,0,0,0, 1,1,1,1,1,1,1,1,1,1};
|
||||
chances[20] = chances[19] = chances[18] = chances[17] = chances[16];
|
||||
|
||||
chances[21] = new float[]{0,0,5, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 11,8,5,5,8, 1,1,1,1,1,1,1,1,1,1};
|
||||
chances[21] = new float[]{0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 10,10,10,5,5, 1,1,1,1,1,1,1,1,1,1};
|
||||
chances[26] = chances[25] = chances[24] = chances[23] = chances[22] = chances[21];
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user