v2.4.0: added an ENTRANCE_SP terrain type

This commit is contained in:
Evan Debenham
2024-04-19 12:19:08 -04:00
parent e279e3c26d
commit 345b6fe79d
18 changed files with 17 additions and 4 deletions
Binary file not shown.

Before

Width:  |  Height:  |  Size: 18 KiB

After

Width:  |  Height:  |  Size: 18 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 18 KiB

After

Width:  |  Height:  |  Size: 19 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 19 KiB

After

Width:  |  Height:  |  Size: 19 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 18 KiB

After

Width:  |  Height:  |  Size: 18 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 15 KiB

After

Width:  |  Height:  |  Size: 15 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 23 KiB

After

Width:  |  Height:  |  Size: 23 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 20 KiB

After

Width:  |  Height:  |  Size: 20 KiB

@@ -58,7 +58,8 @@ public class Dewdrop extends Item {
} else { } else {
int terr = Dungeon.level.map[pos]; int terr = Dungeon.level.map[pos];
if (!consumeDew(1, hero, terr == Terrain.ENTRANCE|| terr == Terrain.EXIT || terr == Terrain.UNLOCKED_EXIT)){ if (!consumeDew(1, hero, terr == Terrain.ENTRANCE || terr == Terrain.ENTRANCE_SP
|| terr == Terrain.EXIT || terr == Terrain.UNLOCKED_EXIT)){
return false; return false;
} }
@@ -426,6 +426,7 @@ public class CavesBossLevel extends Level {
case Terrain.WATER: case Terrain.WATER:
return super.tileDesc( tile ) + "\n\n" + Messages.get(CavesBossLevel.class, "water_desc"); return super.tileDesc( tile ) + "\n\n" + Messages.get(CavesBossLevel.class, "water_desc");
case Terrain.ENTRANCE: case Terrain.ENTRANCE:
case Terrain.ENTRANCE_SP:
return Messages.get(CavesLevel.class, "entrance_desc"); return Messages.get(CavesLevel.class, "entrance_desc");
case Terrain.EXIT: case Terrain.EXIT:
//city exit is used //city exit is used
@@ -210,6 +210,7 @@ public class CavesLevel extends RegularLevel {
public String tileDesc( int tile ) { public String tileDesc( int tile ) {
switch (tile) { switch (tile) {
case Terrain.ENTRANCE: case Terrain.ENTRANCE:
case Terrain.ENTRANCE_SP:
return Messages.get(CavesLevel.class, "entrance_desc"); return Messages.get(CavesLevel.class, "entrance_desc");
case Terrain.EXIT: case Terrain.EXIT:
return Messages.get(CavesLevel.class, "exit_desc"); return Messages.get(CavesLevel.class, "exit_desc");
@@ -388,6 +388,7 @@ public class CityBossLevel extends Level {
public String tileDesc(int tile) { public String tileDesc(int tile) {
switch (tile) { switch (tile) {
case Terrain.ENTRANCE: case Terrain.ENTRANCE:
case Terrain.ENTRANCE_SP:
return Messages.get(CityLevel.class, "entrance_desc"); return Messages.get(CityLevel.class, "entrance_desc");
case Terrain.EXIT: case Terrain.EXIT:
return Messages.get(CityLevel.class, "exit_desc"); return Messages.get(CityLevel.class, "exit_desc");
@@ -145,6 +145,7 @@ public class CityLevel extends RegularLevel {
public String tileDesc(int tile) { public String tileDesc(int tile) {
switch (tile) { switch (tile) {
case Terrain.ENTRANCE: case Terrain.ENTRANCE:
case Terrain.ENTRANCE_SP:
return Messages.get(CityLevel.class, "entrance_desc"); return Messages.get(CityLevel.class, "entrance_desc");
case Terrain.EXIT: case Terrain.EXIT:
return Messages.get(CityLevel.class, "exit_desc"); return Messages.get(CityLevel.class, "exit_desc");
@@ -167,6 +167,7 @@ public class LastShopLevel extends RegularLevel {
public String tileDesc(int tile) { public String tileDesc(int tile) {
switch (tile) { switch (tile) {
case Terrain.ENTRANCE: case Terrain.ENTRANCE:
case Terrain.ENTRANCE_SP:
return Messages.get(CityLevel.class, "entrance_desc"); return Messages.get(CityLevel.class, "entrance_desc");
case Terrain.EXIT: case Terrain.EXIT:
return Messages.get(CityLevel.class, "exit_desc"); return Messages.get(CityLevel.class, "exit_desc");
@@ -1493,6 +1493,7 @@ public abstract class Level implements Bundlable {
case Terrain.OPEN_DOOR: case Terrain.OPEN_DOOR:
return Messages.get(Level.class, "open_door_name"); return Messages.get(Level.class, "open_door_name");
case Terrain.ENTRANCE: case Terrain.ENTRANCE:
case Terrain.ENTRANCE_SP:
return Messages.get(Level.class, "entrace_name"); return Messages.get(Level.class, "entrace_name");
case Terrain.EXIT: case Terrain.EXIT:
return Messages.get(Level.class, "exit_name"); return Messages.get(Level.class, "exit_name");
@@ -1540,6 +1541,7 @@ public abstract class Level implements Bundlable {
case Terrain.WATER: case Terrain.WATER:
return Messages.get(Level.class, "water_desc"); return Messages.get(Level.class, "water_desc");
case Terrain.ENTRANCE: case Terrain.ENTRANCE:
case Terrain.ENTRANCE_SP:
return Messages.get(Level.class, "entrance_desc"); return Messages.get(Level.class, "entrance_desc");
case Terrain.EXIT: case Terrain.EXIT:
case Terrain.UNLOCKED_EXIT: case Terrain.UNLOCKED_EXIT:
@@ -31,6 +31,7 @@ public class Terrain {
public static final int DOOR = 5; public static final int DOOR = 5;
public static final int OPEN_DOOR = 6; public static final int OPEN_DOOR = 6;
public static final int ENTRANCE = 7; public static final int ENTRANCE = 7;
public static final int ENTRANCE_SP = 37;
public static final int EXIT = 8; public static final int EXIT = 8;
public static final int EMBERS = 9; public static final int EMBERS = 9;
public static final int LOCKED_DOOR = 10; public static final int LOCKED_DOOR = 10;
@@ -85,7 +86,8 @@ public class Terrain {
flags[WALL] = LOS_BLOCKING | SOLID; flags[WALL] = LOS_BLOCKING | SOLID;
flags[DOOR] = PASSABLE | LOS_BLOCKING | FLAMABLE | SOLID; flags[DOOR] = PASSABLE | LOS_BLOCKING | FLAMABLE | SOLID;
flags[OPEN_DOOR] = PASSABLE | FLAMABLE; flags[OPEN_DOOR] = PASSABLE | FLAMABLE;
flags[ENTRANCE] = PASSABLE/* | SOLID*/; flags[ENTRANCE] = PASSABLE;
flags[ENTRANCE_SP] = flags[ENTRANCE];
flags[EXIT] = PASSABLE; flags[EXIT] = PASSABLE;
flags[EMBERS] = PASSABLE; flags[EMBERS] = PASSABLE;
flags[LOCKED_DOOR] = LOS_BLOCKING | SOLID; flags[LOCKED_DOOR] = LOS_BLOCKING | SOLID;
@@ -45,7 +45,7 @@ public class CircleBasinEntranceRoom extends CircleBasinRoom {
super.paint(level); super.paint(level);
int entrance = level.pointToCell(center()); int entrance = level.pointToCell(center());
Painter.set( level, entrance, Terrain.ENTRANCE ); Painter.set( level, entrance, Terrain.ENTRANCE_SP );
level.transitions.add(new LevelTransition(level, entrance, LevelTransition.Type.REGULAR_ENTRANCE)); level.transitions.add(new LevelTransition(level, entrance, LevelTransition.Type.REGULAR_ENTRANCE));
} }
@@ -46,7 +46,7 @@ public class HallwayEntranceRoom extends HallwayRoom {
break; break;
} }
} }
Painter.set( level, entrance, Terrain.ENTRANCE ); Painter.set( level, entrance, Terrain.ENTRANCE_SP );
level.transitions.add(new LevelTransition(level, entrance, LevelTransition.Type.REGULAR_ENTRANCE)); level.transitions.add(new LevelTransition(level, entrance, LevelTransition.Type.REGULAR_ENTRANCE));
} }
@@ -68,6 +68,8 @@ public class DungeonTileSheet {
public static final int EMPTY_WELL = GROUND +19; public static final int EMPTY_WELL = GROUND +19;
public static final int PEDESTAL = GROUND +20; public static final int PEDESTAL = GROUND +20;
public static final int ENTRANCE_SP = GROUND +22;
public static final int CHASM = xy(9, 2); //8 slots public static final int CHASM = xy(9, 2); //8 slots
//chasm stitching visuals... //chasm stitching visuals...
public static final int CHASM_FLOOR = CHASM+1; public static final int CHASM_FLOOR = CHASM+1;
@@ -394,6 +396,7 @@ public class DungeonTileSheet {
directVisuals.put(Terrain.EMBERS, EMBERS); directVisuals.put(Terrain.EMBERS, EMBERS);
directVisuals.put(Terrain.PEDESTAL, PEDESTAL); directVisuals.put(Terrain.PEDESTAL, PEDESTAL);
directVisuals.put(Terrain.EMPTY_SP, FLOOR_SP); directVisuals.put(Terrain.EMPTY_SP, FLOOR_SP);
directVisuals.put(Terrain.ENTRANCE_SP, ENTRANCE_SP);
directVisuals.put(Terrain.SECRET_TRAP, directVisuals.get(Terrain.EMPTY)); directVisuals.put(Terrain.SECRET_TRAP, directVisuals.get(Terrain.EMPTY));
directVisuals.put(Terrain.TRAP, directVisuals.get(Terrain.EMPTY)); directVisuals.put(Terrain.TRAP, directVisuals.get(Terrain.EMPTY));