|
@@ -14,7 +14,7 @@ import eu.oschl.textadventure.objects.Weapon;
|
|
|
*
|
|
*
|
|
|
* @author Ondřej Schlaichert
|
|
* @author Ondřej Schlaichert
|
|
|
*/
|
|
*/
|
|
|
-class Setup {
|
|
|
|
|
|
|
+public class Setup {
|
|
|
public static Game createGame() {
|
|
public static Game createGame() {
|
|
|
// Base game setup
|
|
// Base game setup
|
|
|
var prologue = """
|
|
var prologue = """
|
|
@@ -67,84 +67,114 @@ class Setup {
|
|
|
// Rooms
|
|
// Rooms
|
|
|
var royalWell = new Room(
|
|
var royalWell = new Room(
|
|
|
"Royal Well",
|
|
"Royal Well",
|
|
|
- "The bottom of the deepest well of the Grey Princedom. Fortunately for the prince, there is no water in it."
|
|
|
|
|
|
|
+ "The bottom of the deepest well of the Grey Princedom. Fortunately for the prince, there is no water in it.",
|
|
|
|
|
+ null,
|
|
|
|
|
+ "images/map/royal_well.png"
|
|
|
);
|
|
);
|
|
|
|
|
|
|
|
var crossroads = new Room(
|
|
var crossroads = new Room(
|
|
|
"Crossroads",
|
|
"Crossroads",
|
|
|
- "A damp chamber in the Royal Dungeon, full of unnerving, dark tunnels and entrances to other locations."
|
|
|
|
|
|
|
+ "A damp chamber in the Royal Dungeon, full of unnerving, dark tunnels and entrances to other locations.",
|
|
|
|
|
+ null,
|
|
|
|
|
+ "images/map/crossroads.png"
|
|
|
);
|
|
);
|
|
|
|
|
|
|
|
var sewerEntrance = new Room(
|
|
var sewerEntrance = new Room(
|
|
|
"Sewer Entrance",
|
|
"Sewer Entrance",
|
|
|
- "An entrance room of the Royal Sewer."
|
|
|
|
|
|
|
+ "An entrance room of the Royal Sewer.",
|
|
|
|
|
+ null,
|
|
|
|
|
+ "images/map/sewer_entrance.png"
|
|
|
);
|
|
);
|
|
|
|
|
|
|
|
var swordsmithRatsLair = new Room(
|
|
var swordsmithRatsLair = new Room(
|
|
|
"Swordsmith Rat's Lair",
|
|
"Swordsmith Rat's Lair",
|
|
|
"The lair of the Rat Swordsmith. He is a master of his craft, but he is also a rat.",
|
|
"The lair of the Rat Swordsmith. He is a master of his craft, but he is also a rat.",
|
|
|
- "Schmorn enters the chamber and is greeted by an unnerving sight. The Swordsmith Rat is lying on the floor, surrounded by his tools and weapons. He looks up at Schmorn with a mixture of fear and confusion - somehow, he seems to recognise Schmorn despite his new worm-like appearance. Once a swordsmith of the greatest reputation, he has been broken down by his imprisonment and has produced no remarkable weapons to speak of."
|
|
|
|
|
|
|
+ "Schmorn enters the chamber and is greeted by an unnerving sight. The Swordsmith Rat is lying on the floor, surrounded by his tools and weapons. He looks up at Schmorn with a mixture of fear and confusion - somehow, he seems to recognise Schmorn despite his new worm-like appearance. Once a swordsmith of the greatest reputation, he has been broken down by his imprisonment and has produced no remarkable weapons to speak of.",
|
|
|
|
|
+ "images/map/swordsmith_rats_lair.png"
|
|
|
);
|
|
);
|
|
|
|
|
|
|
|
var prisonEntrance = new Room(
|
|
var prisonEntrance = new Room(
|
|
|
"Prison Entrance",
|
|
"Prison Entrance",
|
|
|
- "An entrance room to Schmorn's Royal Prison."
|
|
|
|
|
|
|
+ "An entrance room to Schmorn's Royal Prison.",
|
|
|
|
|
+ null,
|
|
|
|
|
+ "images/map/prison_entrance.png"
|
|
|
);
|
|
);
|
|
|
|
|
|
|
|
var cellA = new Room(
|
|
var cellA = new Room(
|
|
|
"Cell A",
|
|
"Cell A",
|
|
|
- "The first cell of the Royal Prison."
|
|
|
|
|
|
|
+ "The first cell of the Royal Prison.",
|
|
|
|
|
+ null,
|
|
|
|
|
+ "images/map/cell_a.png"
|
|
|
);
|
|
);
|
|
|
|
|
|
|
|
var cellB = new Room(
|
|
var cellB = new Room(
|
|
|
"Cell B",
|
|
"Cell B",
|
|
|
- "The second cell of the Royal Prison."
|
|
|
|
|
|
|
+ "The second cell of the Royal Prison.",
|
|
|
|
|
+ null,
|
|
|
|
|
+ "images/map/cell_b.png"
|
|
|
);
|
|
);
|
|
|
|
|
|
|
|
var guardRoom = new Room(
|
|
var guardRoom = new Room(
|
|
|
"Guard Room",
|
|
"Guard Room",
|
|
|
- "In days long gone, when the Grey Princedom wasn't in disarray, this room was occuppied by a guard who took care of the prisoners."
|
|
|
|
|
|
|
+ "In days long gone, when the Grey Princedom wasn't in disarray, this room was occuppied by a guard who took care of the prisoners.",
|
|
|
|
|
+ null,
|
|
|
|
|
+ "images/map/guard_room.png"
|
|
|
);
|
|
);
|
|
|
|
|
|
|
|
var prisonsEnd = new Room(
|
|
var prisonsEnd = new Room(
|
|
|
"Prison's End",
|
|
"Prison's End",
|
|
|
- "The prison does not continue beyond this point."
|
|
|
|
|
|
|
+ "The prison does not continue beyond this point.",
|
|
|
|
|
+ null,
|
|
|
|
|
+ "images/map/prisons_end.png"
|
|
|
);
|
|
);
|
|
|
|
|
|
|
|
var darkEntrance = new Room(
|
|
var darkEntrance = new Room(
|
|
|
"Dark Entrance",
|
|
"Dark Entrance",
|
|
|
- "An entrance to the deepest and darkest parts of the Royal Dungeon."
|
|
|
|
|
|
|
+ "An entrance to the deepest and darkest parts of the Royal Dungeon.",
|
|
|
|
|
+ null,
|
|
|
|
|
+ "images/map/dark_entrance.png"
|
|
|
);
|
|
);
|
|
|
|
|
|
|
|
var blackAltar = new Room(
|
|
var blackAltar = new Room(
|
|
|
"Black Altar",
|
|
"Black Altar",
|
|
|
"An enormous, menacing room, full of bones and dead bodies. The centerpiece is a large, black altar made of stone, surrounded by a circle of candles. On the surface are strange runes and symbols, which appear to be bleeding.",
|
|
"An enormous, menacing room, full of bones and dead bodies. The centerpiece is a large, black altar made of stone, surrounded by a circle of candles. On the surface are strange runes and symbols, which appear to be bleeding.",
|
|
|
- "As Schmorn enters, fear and nausea overcomes him. The air is putrid, the room stinks of death. In the middle stands a stone altar, surrounded by candles. On the surface are strange runes and symbols, which appear to be bleeding. Schmorn knows he is not alone. There is a being here, one not of this world."
|
|
|
|
|
|
|
+ "As Schmorn enters, fear and nausea overcomes him. The air is putrid, the room stinks of death. In the middle stands a stone altar, surrounded by candles. On the surface are strange runes and symbols, which appear to be bleeding. Schmorn knows he is not alone. There is a being here, one not of this world.",
|
|
|
|
|
+ "images/map/black_altar.png"
|
|
|
);
|
|
);
|
|
|
|
|
|
|
|
var shadowChamber = new Room(
|
|
var shadowChamber = new Room(
|
|
|
"Shadow Chamber",
|
|
"Shadow Chamber",
|
|
|
- "A dark chamber in the Royal Dungeon, where lanterns don't work and shadows reign."
|
|
|
|
|
|
|
+ "A dark chamber in the Royal Dungeon, where lanterns don't work and shadows reign.",
|
|
|
|
|
+ null,
|
|
|
|
|
+ "images/map/shadow_chamber.png"
|
|
|
);
|
|
);
|
|
|
|
|
|
|
|
var pathwaysEnd = new Room(
|
|
var pathwaysEnd = new Room(
|
|
|
"Pathway's End",
|
|
"Pathway's End",
|
|
|
- "The Pathway of Darkness, the darkest part of the Royal Dungeon, does not continue beyond this point."
|
|
|
|
|
|
|
+ "The Pathway of Darkness, the darkest part of the Royal Dungeon, does not continue beyond this point.",
|
|
|
|
|
+ null,
|
|
|
|
|
+ "images/map/pathways_end.png"
|
|
|
);
|
|
);
|
|
|
|
|
|
|
|
var royalKitchensEntrance = new Room(
|
|
var royalKitchensEntrance = new Room(
|
|
|
"Royal Kitchens Entrance",
|
|
"Royal Kitchens Entrance",
|
|
|
- "An entrance to the Royal Kitchens."
|
|
|
|
|
|
|
+ "An entrance to the Royal Kitchens.",
|
|
|
|
|
+ null,
|
|
|
|
|
+ "images/map/royal_kitchens_entrance.png"
|
|
|
);
|
|
);
|
|
|
|
|
|
|
|
var pantry = new Room(
|
|
var pantry = new Room(
|
|
|
"Pantry",
|
|
"Pantry",
|
|
|
- "A room with food and supplies for the Royal Kitchens."
|
|
|
|
|
|
|
+ "A room with food and supplies for the Royal Kitchens.",
|
|
|
|
|
+ null,
|
|
|
|
|
+ "images/map/pantry.png"
|
|
|
);
|
|
);
|
|
|
|
|
|
|
|
var kitchensEnd = new Room(
|
|
var kitchensEnd = new Room(
|
|
|
"Kitchen's End",
|
|
"Kitchen's End",
|
|
|
- "The Royal Kitchens end here."
|
|
|
|
|
|
|
+ "The Royal Kitchens end here.",
|
|
|
|
|
+ null,
|
|
|
|
|
+ "images/map/kitchens_end.png"
|
|
|
);
|
|
);
|
|
|
|
|
|
|
|
var dungeonExit = new Room(
|
|
var dungeonExit = new Room(
|
|
@@ -156,7 +186,8 @@ class Setup {
|
|
|
"And so, here you are, you determined failure of a man. You have made it this far, but you will not leave this place. Not as a worm, not as a prince, not as anything. I stand in your path, and I will not let you pass. You have made your choice, and now you must live with the consequences."
|
|
"And so, here you are, you determined failure of a man. You have made it this far, but you will not leave this place. Not as a worm, not as a prince, not as anything. I stand in your path, and I will not let you pass. You have made your choice, and now you must live with the consequences."
|
|
|
|
|
|
|
|
Schmorn stares at her, fearful yet defiant. In his worm mouth, he holds the mighty Unbreakable Ladle, the most powerful weapon in his kingdom. He is ready to fight. Oglunda does not know what's coming.
|
|
Schmorn stares at her, fearful yet defiant. In his worm mouth, he holds the mighty Unbreakable Ladle, the most powerful weapon in his kingdom. He is ready to fight. Oglunda does not know what's coming.
|
|
|
- """
|
|
|
|
|
|
|
+ """,
|
|
|
|
|
+ "images/map/dungeon_exit.png"
|
|
|
);
|
|
);
|
|
|
|
|
|
|
|
var royalWellCrossroadsPassage = new Passage("crack in the wall", true);
|
|
var royalWellCrossroadsPassage = new Passage("crack in the wall", true);
|
|
@@ -264,7 +295,8 @@ class Setup {
|
|
|
"ratsword",
|
|
"ratsword",
|
|
|
"a steel sword, expertly crafted by the Swordsmith Rat",
|
|
"a steel sword, expertly crafted by the Swordsmith Rat",
|
|
|
"Schmorn attacks with the ratsword.",
|
|
"Schmorn attacks with the ratsword.",
|
|
|
- 10
|
|
|
|
|
|
|
+ 10,
|
|
|
|
|
+ "images/items/ratsword.png"
|
|
|
);
|
|
);
|
|
|
swordsmithRatsLair.addObject(sword);
|
|
swordsmithRatsLair.addObject(sword);
|
|
|
|
|
|
|
@@ -273,7 +305,8 @@ class Setup {
|
|
|
"a huge, menacing key, made out of black iron",
|
|
"a huge, menacing key, made out of black iron",
|
|
|
"Schmorn used the key to unlock the dark passage.",
|
|
"Schmorn used the key to unlock the dark passage.",
|
|
|
new Room[]{crossroads},
|
|
new Room[]{crossroads},
|
|
|
- crossroadsDarkEntrancePassageBlockage
|
|
|
|
|
|
|
+ crossroadsDarkEntrancePassageBlockage,
|
|
|
|
|
+ "images/items/dark_key.png"
|
|
|
);
|
|
);
|
|
|
guardRoom.addObject(darkKey);
|
|
guardRoom.addObject(darkKey);
|
|
|
|
|
|
|
@@ -282,7 +315,8 @@ class Setup {
|
|
|
"a small, golden, delicate key",
|
|
"a small, golden, delicate key",
|
|
|
"Schmorn used the key to unlock the kitchen door.",
|
|
"Schmorn used the key to unlock the kitchen door.",
|
|
|
new Room[]{crossroads},
|
|
new Room[]{crossroads},
|
|
|
- crossroadsRoyalKitchensEntrancePassageBlockage
|
|
|
|
|
|
|
+ crossroadsRoyalKitchensEntrancePassageBlockage,
|
|
|
|
|
+ "images/items/kitchen_key.png"
|
|
|
);
|
|
);
|
|
|
shadowChamber.addObject(kitchenKey);
|
|
shadowChamber.addObject(kitchenKey);
|
|
|
|
|
|
|
@@ -291,7 +325,8 @@ class Setup {
|
|
|
"a mysteriously shaped stone that is so cold it hurts to touch",
|
|
"a mysteriously shaped stone that is so cold it hurts to touch",
|
|
|
"Schmorn inserted the stone into the lift panel.",
|
|
"Schmorn inserted the stone into the lift panel.",
|
|
|
new Room[]{crossroads},
|
|
new Room[]{crossroads},
|
|
|
- crossroadsDungeonExitPassageBlockage
|
|
|
|
|
|
|
+ crossroadsDungeonExitPassageBlockage,
|
|
|
|
|
+ "images/items/frozen_stone.png"
|
|
|
);
|
|
);
|
|
|
prisonsEnd.addObject(frozenStone);
|
|
prisonsEnd.addObject(frozenStone);
|
|
|
|
|
|
|
@@ -300,7 +335,8 @@ class Setup {
|
|
|
"a blood-red stone, always wet with fresh blood, which cannot be washed off",
|
|
"a blood-red stone, always wet with fresh blood, which cannot be washed off",
|
|
|
"Schmorn inserted the stone into the lift panel.",
|
|
"Schmorn inserted the stone into the lift panel.",
|
|
|
new Room[]{crossroads},
|
|
new Room[]{crossroads},
|
|
|
- crossroadsDungeonExitPassageBlockage
|
|
|
|
|
|
|
+ crossroadsDungeonExitPassageBlockage,
|
|
|
|
|
+ "images/items/blood_stone.png"
|
|
|
);
|
|
);
|
|
|
pathwaysEnd.addObject(bloodStone);
|
|
pathwaysEnd.addObject(bloodStone);
|
|
|
|
|
|
|
@@ -309,7 +345,8 @@ class Setup {
|
|
|
"a mysteriously shaped stone that is so hot it's almost impossible to carry",
|
|
"a mysteriously shaped stone that is so hot it's almost impossible to carry",
|
|
|
"Schmorn inserted the stone into the lift panel.",
|
|
"Schmorn inserted the stone into the lift panel.",
|
|
|
new Room[]{crossroads},
|
|
new Room[]{crossroads},
|
|
|
- crossroadsDungeonExitPassageBlockage
|
|
|
|
|
|
|
+ crossroadsDungeonExitPassageBlockage,
|
|
|
|
|
+ "images/items/fire_stone.png"
|
|
|
);
|
|
);
|
|
|
kitchensEnd.addObject(fireStone);
|
|
kitchensEnd.addObject(fireStone);
|
|
|
|
|
|
|
@@ -317,7 +354,8 @@ class Setup {
|
|
|
"unbreakable ladle",
|
|
"unbreakable ladle",
|
|
|
"a mighty weapon, the most prized possession of the Head Chef, stronger than any sword",
|
|
"a mighty weapon, the most prized possession of the Head Chef, stronger than any sword",
|
|
|
"Schmorn performs a powerful attack with the mighy Unbreakable Ladle.",
|
|
"Schmorn performs a powerful attack with the mighy Unbreakable Ladle.",
|
|
|
- 20
|
|
|
|
|
|
|
+ 20,
|
|
|
|
|
+ "images/items/unbreakable_ladle.png"
|
|
|
);
|
|
);
|
|
|
royalKitchensEntrance.addObject(unbreakableLadle);
|
|
royalKitchensEntrance.addObject(unbreakableLadle);
|
|
|
|
|
|