public Location LoadRoomThree() { Location returnData; bool defeatedNecromancers = Convert.ToBoolean(LocationHandler.GetLocationStateValue(Watertown.LOCATION_STATE_KEY, WatertownForestCabin.KILLED_KITCHEN_NECROMANCERS)); returnData = new Location(); returnData.Name = "Living Room"; returnData.Description = "There is a pentagram made of blood in the center of the room. Otherwise the living room is bare and empty."; //Actions // Adjacent Locations Dictionary <string, LocationDefinition> adjacentLocationDefinitions = new Dictionary <string, LocationDefinition>(); // Town Center LocationDefinition locationDefinition = WatertownForestCabin.GetTownInstance().GetRoomTwoDefinition(); adjacentLocationDefinitions.Add(locationDefinition.LocationKey, locationDefinition); locationDefinition = WatertownForestCabin.GetTownInstance().GetRoomFourDefinition(); adjacentLocationDefinitions.Add(locationDefinition.LocationKey, locationDefinition); returnData.AdjacentLocationDefinitions = adjacentLocationDefinitions; return(returnData); }
public static WatertownForestCabin GetTownInstance() { if (_WaterForestCabin == null) { _WaterForestCabin = new WatertownForestCabin(); } return(_WaterForestCabin); }
public Location LoadRoomTwoEntrance() { Location returnData; bool defeatedNecromancers = Convert.ToBoolean(LocationHandler.GetLocationStateValue(Watertown.LOCATION_STATE_KEY, WatertownForestCabin.KILLED_KITCHEN_NECROMANCERS)); returnData = new Location(); returnData.Name = "Kitchen"; //Actions if (defeatedNecromancers == false) { returnData.Description = "The kitchen smells of freshly cooked meat. There are necromancers in the process of handling the food."; // Location Actions List <LocationAction> locationActions = new List <LocationAction>(); List <Mob> necromancers = new List <Mob>(); necromancers.Add(new Necromancer()); necromancers.Add(new Necromancer()); CombatAction combatAction = new CombatAction("Necromancers", necromancers); combatAction.PostCombat += KitchenNecromancers; locationActions.Add(combatAction); returnData.Actions = locationActions; } if (defeatedNecromancers) { returnData.Description = "The kitchen smells of cooked meat. There are necromancers dead against the counter."; } // Adjacent Locations Dictionary <string, LocationDefinition> adjacentLocationDefinitions = new Dictionary <string, LocationDefinition>(); // Town Center LocationDefinition locationDefinition = WatertownForestCabin.GetTownInstance().GetEntranceDefinition(); adjacentLocationDefinitions.Add(locationDefinition.LocationKey, locationDefinition); if (defeatedNecromancers) { locationDefinition = WatertownForestCabin.GetTownInstance().GetRoomThreeDefinition(); adjacentLocationDefinitions.Add(locationDefinition.LocationKey, locationDefinition); } returnData.AdjacentLocationDefinitions = adjacentLocationDefinitions; return(returnData); }
public Location LoadForestCabinEntrance() { Location returnData; bool inspectedBodies = Convert.ToBoolean(LocationHandler.GetLocationStateValue(Watertown.LOCATION_STATE_KEY, WatertownForestCabin.INSPECTED_DEAD_BODIES)); returnData = new Location(); returnData.Name = "Cabin Entrance"; returnData.Description = "The room has a mass of dead bodies strewn across the floor"; string bodyInfo = "The bodies look like they're burned and scarred from knifes and dark magic."; //Actions if (inspectedBodies == false) { // Location Actions List <LocationAction> locationActions = new List <LocationAction>(); TakeItemAction talismanAction = new TakeItemAction("Inspect", "Bodies", bodyInfo); talismanAction.PostItem += EntranceBodies; locationActions.Add(talismanAction); returnData.Actions = locationActions; } // Adjacent Locations Dictionary <string, LocationDefinition> adjacentLocationDefinitions = new Dictionary <string, LocationDefinition>(); // Town Center LocationDefinition locationDefinition = WatertownForestAfterSewer.GetTownInstance().GetEnclosedClearingDefinition(); adjacentLocationDefinitions.Add(locationDefinition.LocationKey, locationDefinition); if (inspectedBodies) { locationDefinition = WatertownForestCabin.GetTownInstance().GetRoomTwoDefinition(); adjacentLocationDefinitions.Add(locationDefinition.LocationKey, locationDefinition); } returnData.AdjacentLocationDefinitions = adjacentLocationDefinitions; return(returnData); }
public Location LoadEnclosedClearing() { Location returnData; bool defeatedSkeletonKing = Convert.ToBoolean(LocationHandler.GetLocationStateValue(Watertown.LOCATION_STATE_KEY, WatertownForestAfterSewer.DEFEATED_POSSESED_GUARD)); bool openedChest = Convert.ToBoolean(LocationHandler.GetLocationStateValue(Watertown.LOCATION_STATE_KEY, WatertownForestAfterSewer.OPENED_BOSS_CHEST_ENCLOSED_CLEARING)); returnData = new Location(); returnData.Name = "Enclosed Clearing"; //Actions if (defeatedSkeletonKing == false) { returnData.Description = "A small enclosed clearing. A cabin sits in the back of it, with a small walkway leading up to its front door. The walk way is lined in skulls and candles. A possesed village guard blocks the door."; // Location Actions List <LocationAction> locationActions = new List <LocationAction>(); List <Mob> guard = new List <Mob>(); guard.Add(new PossesedGuardBoss()); CombatAction combatAction = new CombatAction("Possesed Guard", guard); combatAction.PostCombat += GuardBossBattle; locationActions.Add(combatAction); returnData.Actions = locationActions; } if (defeatedSkeletonKing) { if (openedChest == false) { returnData.Description = "A small enclosed clearing. A cabin sits in the back of it, with a small walkway leading up to its front door. The walk way is lined in skulls and candles. The possesed guard lays to rest to the side of the path. His unopened chest appears off to the side."; List <LocationAction> locationActions = new List <LocationAction>(); TreasureChestAction itemAction = new TreasureChestAction(3); locationActions.Add(itemAction); itemAction.PostItem += GuardChest; returnData.Actions = locationActions; } else if (openedChest) { returnData.Description = "A small enclosed clearing. A cabin sits in the back of it, with a small walkway leading up to its front door. The walk way is lined in skulls and candles. The possesed guard lays to rest to the side of the path. His opened chest sits off to the side."; } } // Adjacent Locations Dictionary <string, LocationDefinition> adjacentLocationDefinitions = new Dictionary <string, LocationDefinition>(); // Town Center LocationDefinition locationDefinition = WatertownForestAfterSewer.GetTownInstance().GetMeetingGroundsDefinition(); adjacentLocationDefinitions.Add(locationDefinition.LocationKey, locationDefinition); if (defeatedSkeletonKing) { locationDefinition = WatertownForestCabin.GetTownInstance().GetEntranceDefinition(); adjacentLocationDefinitions.Add(locationDefinition.LocationKey, locationDefinition); locationDefinition = Watertown.GetTownInstance().GetTownCenterDefinition(); adjacentLocationDefinitions.Add(locationDefinition.LocationKey, locationDefinition); } returnData.AdjacentLocationDefinitions = adjacentLocationDefinitions; return(returnData); }
public Location LoadRoomFour() { Location returnData; bool defeatedNecromancerLeader = Convert.ToBoolean(LocationHandler.GetLocationStateValue(Watertown.LOCATION_STATE_KEY, WatertownForestCabin.DEFEATED_NECROMANCER_LEADER)); bool openedChest = Convert.ToBoolean(LocationHandler.GetLocationStateValue(Watertown.LOCATION_STATE_KEY, WatertownForestCabin.OPENED_BOSS_CHEST_ROOM_SIX)); bool takeLetter = Convert.ToBoolean(LocationHandler.GetLocationStateValue(Watertown.LOCATION_STATE_KEY, WatertownForestCabin.TOOK_LETTER)); returnData = new Location(); returnData.Name = "Bedroom"; //Actions if (defeatedNecromancerLeader == false) { returnData.Description = "A small bedroom. The necromancer leader sits in the middle of the room with his legs crossed, dark energy swirling around him."; // Location Actions List <LocationAction> locationActions = new List <LocationAction>(); List <Mob> necro = new List <Mob>(); necro.Add(new NecromancerLeader()); CombatAction combatAction = new CombatAction("Necromancer Leader", necro); combatAction.PostCombat += NecromancerLeaderBattle; locationActions.Add(combatAction); returnData.Actions = locationActions; } if (defeatedNecromancerLeader) { if (openedChest == false) { if (!takeLetter) { returnData.Description = "A small bedroom. The necromancer leader lays dead and broken on the ground. His unopened chest is against the far wall. A letter fell out of his pocket."; } else { returnData.Description = "A small bedroom. The necromancer leader lays dead and broken on the ground. His unopened chest is against the far wall."; } List <LocationAction> locationActions = new List <LocationAction>(); TreasureChestAction itemAction = new TreasureChestAction(3); locationActions.Add(itemAction); itemAction.PostItem += NecroChest; returnData.Actions = locationActions; } if (openedChest && takeLetter) { returnData.Description = "A small bedroom. The necromancer leader lays dead and broken on the ground. His opened chest is against the far wall."; } if (!takeLetter && openedChest) { returnData.Description = "A small bedroom. The necromancer leader lays dead and broken on the ground. His opened chest is against the far wall. A letter fell out of his pocket."; List <LocationAction> locationActions = new List <LocationAction>(); TakeItemAction letterAction = new TakeItemAction("Letter"); letterAction.PostItem += NecroLetter; locationActions.Add(letterAction); returnData.Actions = locationActions; } } // Adjacent Locations Dictionary <string, LocationDefinition> adjacentLocationDefinitions = new Dictionary <string, LocationDefinition>(); // Town Center LocationDefinition locationDefinition = WatertownForestCabin.GetTownInstance().GetRoomThreeDefinition(); adjacentLocationDefinitions.Add(locationDefinition.LocationKey, locationDefinition); if (takeLetter) { locationDefinition = Watertown.GetTownInstance().GetTownCenterDefinition(); adjacentLocationDefinitions.Add(locationDefinition.LocationKey, locationDefinition); } returnData.AdjacentLocationDefinitions = adjacentLocationDefinitions; return(returnData); }