public Location LoadTowerEntrance() { Location returnData; returnData = new Location(); returnData.Name = "Bandit Tower Entrance"; returnData.Description = "A room lined with skulls along the wall."; //Actions // Adjacent Locations Dictionary <string, LocationDefinition> adjacentLocationDefinitions = new Dictionary <string, LocationDefinition>(); // The Clearing on the outside of this tower. LocationDefinition locationDefinition = WatertownForestClearingBeforeTower.GetTownInstance().GetClearingDefinition(); adjacentLocationDefinitions.Add(locationDefinition.LocationKey, locationDefinition); //Large Hall locationDefinition = WatertownForestTower.GetTownInstance().GetLargeHallDefinition(); adjacentLocationDefinitions.Add(locationDefinition.LocationKey, locationDefinition); returnData.AdjacentLocationDefinitions = adjacentLocationDefinitions; return(returnData); }
public Location LoadNarrowPath() { Location returnData; returnData = new Location(); returnData.Name = "Narrow Path"; returnData.Description = "The path is small and narrow and goes on for a good distance."; //Actions // Adjacent Locations Dictionary <string, LocationDefinition> adjacentLocationDefinitions = new Dictionary <string, LocationDefinition>(); // Town Center LocationDefinition locationDefinition = WatertownForest.GetTownInstance().GetClearingDefinition(); adjacentLocationDefinitions.Add(locationDefinition.LocationKey, locationDefinition); locationDefinition = WatertownForestClearingBeforeTower.GetTownInstance().GetClearingDefinition(); adjacentLocationDefinitions.Add(locationDefinition.LocationKey, locationDefinition); returnData.AdjacentLocationDefinitions = adjacentLocationDefinitions; return(returnData); }
public Location LoadClearing() { Location returnData = new Location(); returnData.Name = "Forest Clearing"; bool defeatedBanditCaptain = Convert.ToBoolean(LocationHandler.GetLocationStateValue(Watertown.LOCATION_STATE_KEY, WatertownForest.DEFEATED_BANDIT_CAPTAIN_KEY)); Accomplishment murderRoomAccomplishment = Watertown.GetWatertownAccomplishments().Find(x => x.Name.Contains("Bandit Spy")); if (!defeatedBanditCaptain) { returnData.Description = "The Bandit Captain stands in the clearing and stares at you, daring you to challenge him."; } else if (defeatedBanditCaptain && !GameState.Hero.Accomplishments.Contains(murderRoomAccomplishment)) { returnData.Description = "The Bandit Captain lays dead in the clearing."; } else if (GameState.Hero.Accomplishments.Contains(murderRoomAccomplishment)) { returnData.Description = "A medium sized clearing. Now that you've been told to search for the tower you can see a covered up entrance to a narrow path. It also looks like the Bandit Captain's body has been removed."; } // Location Actions List <LocationAction> locationActions = new List <LocationAction>(); if (!defeatedBanditCaptain) { List <Mob> banditCaptain = new List <Mob>(); banditCaptain.Add(new BanditCaptain()); CombatAction combatAction = new CombatAction("Bandit Captain", banditCaptain); combatAction.PostCombat += BanditCaptainResults; locationActions.Add(combatAction); returnData.Actions = locationActions; } Dictionary <string, LocationDefinition> adjacentLocationDefinitions = new Dictionary <string, LocationDefinition>(); LocationDefinition locationDefinition = WatertownForest.GetTownInstance().GetStraightDefinition(); adjacentLocationDefinitions.Add(locationDefinition.LocationKey, locationDefinition); if (defeatedBanditCaptain) { locationDefinition = Watertown.GetTownInstance().GetTownCenterDefinition(); adjacentLocationDefinitions.Add(locationDefinition.LocationKey, locationDefinition); LocationHandler.SetLocationStateValue(Watertown.LOCATION_STATE_KEY, DEFEATED_CAPTAIN_STATE, true); LocationHandler.ResetLocation(Watertown.INN_KEY); // Need to reload Inn so that new conversation can be set. } if (GameState.Hero.Accomplishments.Contains(murderRoomAccomplishment)) { locationDefinition = WatertownForestClearingBeforeTower.GetTownInstance().GetEntranceDefinition(); adjacentLocationDefinitions.Add(locationDefinition.LocationKey, locationDefinition); } returnData.AdjacentLocationDefinitions = adjacentLocationDefinitions; return(returnData); }
public static WatertownForestClearingBeforeTower GetTownInstance() { if (_WaterForestCabin == null) { _WaterForestCabin = new WatertownForestClearingBeforeTower(); } return(_WaterForestCabin); }
public Location LoadClearing() { Location returnData; returnData = new Location(); returnData.Name = "Large Circular Clearing"; bool defeatedBanditsOne = Convert.ToBoolean(LocationHandler.GetLocationStateValue(Watertown.LOCATION_STATE_KEY, WatertownForestClearingBeforeTower.DEFEATED_CLEARING_SKELETONS_GROUP_ONE)); bool defeatedBanditsTwo = Convert.ToBoolean(LocationHandler.GetLocationStateValue(Watertown.LOCATION_STATE_KEY, WatertownForestClearingBeforeTower.DEFEATED_CLEARING_SKELETONS_GROUP_TWO)); //Actions if (!defeatedBanditsOne) { returnData.Description = "The clearing is rather large with two groups of bandits roaming about. There is a tower in the middle of the clearing."; // Location Actions List <LocationAction> locationActions = new List <LocationAction>(); List <Mob> bandits = new List <Mob>(); bandits.Add(new Bandit()); bandits.Add(new Bandit()); bandits.Add(new Bandit()); bandits.Add(new Bandit()); bandits.Add(new Bandit()); CombatAction combatAction = new CombatAction("Bandits", bandits); combatAction.PostCombat += ClearingBanditsOne; locationActions.Add(combatAction); returnData.Actions = locationActions; } if (!defeatedBanditsTwo && defeatedBanditsOne) { returnData.Description = "The clearing is rather large with one group of bandits roaming about. There is a tower in the middle of the clearing."; // Location Actions List <LocationAction> locationActions = new List <LocationAction>(); List <Mob> bandits = new List <Mob>(); bandits.Add(new Bandit()); bandits.Add(new Bandit()); bandits.Add(new Bandit()); bandits.Add(new Bandit()); bandits.Add(new Bandit()); CombatAction combatAction = new CombatAction("Bandits", bandits); combatAction.PostCombat += ClearingBanditsTwo; locationActions.Add(combatAction); returnData.Actions = locationActions; } if (defeatedBanditsTwo && defeatedBanditsOne) { returnData.Description = "The clearing is rather large with several dead bodies of bandits strewn across the ground. There is a tower in the middle of the clearing."; } // Adjacent Locations Dictionary <string, LocationDefinition> adjacentLocationDefinitions = new Dictionary <string, LocationDefinition>(); // Town Center LocationDefinition locationDefinition = WatertownForestClearingBeforeTower.GetTownInstance().GetEntranceDefinition(); adjacentLocationDefinitions.Add(locationDefinition.LocationKey, locationDefinition); //Add the tower here if (defeatedBanditsTwo && defeatedBanditsOne) { locationDefinition = WatertownForestTower.GetTownInstance().GetEntranceDefinition(); adjacentLocationDefinitions.Add(locationDefinition.LocationKey, locationDefinition); } returnData.AdjacentLocationDefinitions = adjacentLocationDefinitions; return(returnData); }