v2.4.0: added an ENTRANCE_SP terrain type
|
Before Width: | Height: | Size: 18 KiB After Width: | Height: | Size: 18 KiB |
|
Before Width: | Height: | Size: 18 KiB After Width: | Height: | Size: 19 KiB |
|
Before Width: | Height: | Size: 19 KiB After Width: | Height: | Size: 19 KiB |
|
Before Width: | Height: | Size: 18 KiB After Width: | Height: | Size: 18 KiB |
|
Before Width: | Height: | Size: 15 KiB After Width: | Height: | Size: 15 KiB |
|
Before Width: | Height: | Size: 23 KiB After Width: | Height: | Size: 23 KiB |
|
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));
|
||||||
|
|||||||