public Location LoadCenterCamp() { Location returnData; returnData = new Location(); returnData.Name = "The Camp's Center"; bool defeatedPirates = Convert.ToBoolean(LocationHandler.GetLocationStateValue(BeachTower.LOCATION_STATE_KEY, BeachTowerBeachHead.CENTER_PIRATES)); //Actions if (!defeatedPirates) { returnData.Description = "In the center of the camp is a clearing with a stone circle in the middle with a fire running in it. There are sevearl pirates mingling about and eating."; List <LocationAction> locationActions = new List <LocationAction>(); List <Mob> mobs = new List <Mob>(); mobs.Add(new Pirate()); mobs.Add(new Pirate()); mobs.Add(new Pirate()); mobs.Add(new Pirate()); mobs.Add(new Pirate()); mobs.Add(new Pirate()); mobs.Add(new Pirate()); mobs.Add(new Pirate()); CombatAction combatAction = new CombatAction("Pirates", mobs); combatAction.PostCombat += CenterPirates; locationActions.Add(combatAction); returnData.Actions = locationActions; } else { returnData.Description = "In the center of the camp is a clearing with a stone circle in the middle with a fire running in it. There are dead pirate bodies strewn across the ground."; } //Adjacent Locations Dictionary <string, LocationDefinition> adjacentLocationDefintions = new Dictionary <string, LocationDefinition>(); //Town Center LocationDefinition locationDefinition = BeachTowerBeachHead.GetTownInstance().GetNorthTentsDefinition(); adjacentLocationDefintions.Add(locationDefinition.LocationKey, locationDefinition); if (defeatedPirates) { locationDefinition = BeachTowerBeachHead.GetTownInstance().GetEastTentsDefinition(); adjacentLocationDefintions.Add(locationDefinition.LocationKey, locationDefinition); locationDefinition = BeachTowerBeachHead.GetTownInstance().GetWestTentsDefinition(); adjacentLocationDefintions.Add(locationDefinition.LocationKey, locationDefinition); locationDefinition = BeachTowerBeachHead.GetTownInstance().GetSouthTentsDefinition(); adjacentLocationDefintions.Add(locationDefinition.LocationKey, locationDefinition); } returnData.AdjacentLocationDefinitions = adjacentLocationDefintions; return(returnData); }
public Location LoadPathNorth() { Location returnData; returnData = new Location(); returnData.Name = "Path North"; returnData.Description = "The path is long and open. It leads as far north as the eyes can see."; //Adjacent Locations Dictionary <string, LocationDefinition> adjacentLocationDefintions = new Dictionary <string, LocationDefinition>(); //Town Center LocationDefinition locationDefinition = BeachTowerBeachHead.GetTownInstance().GetCenterCampDefinition(); adjacentLocationDefintions.Add(locationDefinition.LocationKey, locationDefinition); Accomplishment scoutingParty = BeachTower.GetBeachTowerAccomplishments().Find(x => x.Name.Contains("Scouting Party")); if (GameState.Hero.Accomplishments.Contains(scoutingParty)) { locationDefinition = BeachTowerScoutingParty.GetTownInstance().GetEntranceDefinition(); adjacentLocationDefintions.Add(locationDefinition.LocationKey, locationDefinition); } returnData.AdjacentLocationDefinitions = adjacentLocationDefintions; return(returnData); }
public Location LoadSouthTents() { Location returnData; returnData = new Location(); returnData.Name = "South Tents"; bool defeatedPirates = Convert.ToBoolean(LocationHandler.GetLocationStateValue(BeachTower.LOCATION_STATE_KEY, BeachTowerBeachHead.SOUTH_PIRATES)); //Actions if (!defeatedPirates) { returnData.Description = "The tents here are getting closer together. There are six pirates roaming the area, armed for battle. They seem to be guarding the path ahead."; List <LocationAction> locationActions = new List <LocationAction>(); List <Mob> mobs = new List <Mob>(); mobs.Add(new Pirate()); mobs.Add(new Pirate()); mobs.Add(new Pirate()); mobs.Add(new Pirate()); mobs.Add(new Pirate()); mobs.Add(new Pirate()); CombatAction combatAction = new CombatAction("Pirates", mobs); combatAction.PostCombat += SouthPirates; locationActions.Add(combatAction); returnData.Actions = locationActions; } else { returnData.Description = "The tents here are getting closer together. Dead pirates litter the ground and the path ahead is now clear."; } //Adjacent Locations Dictionary <string, LocationDefinition> adjacentLocationDefintions = new Dictionary <string, LocationDefinition>(); //Town Center LocationDefinition locationDefinition = BeachTowerBeachHead.GetTownInstance().GetCenterCampDefinition(); adjacentLocationDefintions.Add(locationDefinition.LocationKey, locationDefinition); if (defeatedPirates) { locationDefinition = BeachTowerBeachHead.GetTownInstance().GetSmallPathDefinition(); adjacentLocationDefintions.Add(locationDefinition.LocationKey, locationDefinition); } returnData.AdjacentLocationDefinitions = adjacentLocationDefintions; return(returnData); }
public Location LoadSmallPath() { Location returnData; returnData = new Location(); returnData.Name = "Small Path"; bool defeatedPirates = Convert.ToBoolean(LocationHandler.GetLocationStateValue(BeachTower.LOCATION_STATE_KEY, BeachTowerBeachHead.SMALL_PATH_PIRATES)); //Actions if (!defeatedPirates) { returnData.Description = "The path is small and narrow. The are several empty rum bottles littering the ground. Two pirates are standing at the end of the path, guarding the tent just beyond it."; List <LocationAction> locationActions = new List <LocationAction>(); List <Mob> mobs = new List <Mob>(); mobs.Add(new Pirate()); mobs.Add(new Pirate()); CombatAction combatAction = new CombatAction("Pirates", mobs); combatAction.PostCombat += SmallPathPirates; locationActions.Add(combatAction); returnData.Actions = locationActions; } else { returnData.Description = "The path is small and narrow. The are several empty rum bottles littering the ground. There are two dead pirates at the entrance of the tent at the end of the path."; } //Adjacent Locations Dictionary <string, LocationDefinition> adjacentLocationDefintions = new Dictionary <string, LocationDefinition>(); //Town Center LocationDefinition locationDefinition = BeachTowerBeachHead.GetTownInstance().GetCenterCampDefinition(); adjacentLocationDefintions.Add(locationDefinition.LocationKey, locationDefinition); if (defeatedPirates) { locationDefinition = BeachTowerBeachHead.GetTownInstance().GetCaptainTentDefinition(); adjacentLocationDefintions.Add(locationDefinition.LocationKey, locationDefinition); } returnData.AdjacentLocationDefinitions = adjacentLocationDefintions; return(returnData); }
public Location LoadNorthTents() { Location returnData; returnData = new Location(); returnData.Name = "North Tents"; bool defeatedPirates = Convert.ToBoolean(LocationHandler.GetLocationStateValue(BeachTower.LOCATION_STATE_KEY, BeachTowerBeachHead.NORTH_PIRATES)); //Actions if (!defeatedPirates) { returnData.Description = "The northern tents have four pirates roaming about, making every day small talk."; List <LocationAction> locationActions = new List <LocationAction>(); List <Mob> mobs = new List <Mob>(); mobs.Add(new Pirate()); mobs.Add(new Pirate()); mobs.Add(new Pirate()); mobs.Add(new Pirate()); CombatAction combatAction = new CombatAction("Pirates", mobs); combatAction.PostCombat += NorthPirates; locationActions.Add(combatAction); returnData.Actions = locationActions; } else { returnData.Description = "The northern tents are bloodied from battles fought previously with four dead pirates laying scattered about."; } //Adjacent Locations Dictionary <string, LocationDefinition> adjacentLocationDefintions = new Dictionary <string, LocationDefinition>(); //Town Center LocationDefinition locationDefinition = BeachTowerBeachHead.GetTownInstance().GetEntranceDefinition(); adjacentLocationDefintions.Add(locationDefinition.LocationKey, locationDefinition); if (defeatedPirates) { locationDefinition = BeachTowerBeachHead.GetTownInstance().GetCenterCampDefinition(); adjacentLocationDefintions.Add(locationDefinition.LocationKey, locationDefinition); } returnData.AdjacentLocationDefinitions = adjacentLocationDefintions; return(returnData); }
public Location LoadEntrance() { Location returnData; returnData = new Location(); returnData.Name = "Scouting Party Landing Area"; returnData.Description = "The landing area for the scouting party. There are a few small boats washed up on the shore, and a few abandoned supplies. The forest begins to the right and there are foot prints leading into it."; //Adjacent Locations Dictionary <string, LocationDefinition> adjacentLocationDefintions = new Dictionary <string, LocationDefinition>(); //Town Center LocationDefinition locationDefinition = BeachTowerBeachHead.GetTownInstance().GetPathNorthDefintion(); adjacentLocationDefintions.Add(locationDefinition.LocationKey, locationDefinition); locationDefinition = BeachTowerScoutingParty.GetTownInstance().GetForestPathDefinition(); adjacentLocationDefintions.Add(locationDefinition.LocationKey, locationDefinition); returnData.AdjacentLocationDefinitions = adjacentLocationDefintions; return(returnData); }
public Location LoadEntrance() { Location returnData; returnData = new Location(); returnData.Name = "Boat to Pirate Ships"; returnData.Description = "A small boat on the shoreline meant to take you to the pirate ships hanging out near the shore."; //Adjacent Locations Dictionary <string, LocationDefinition> adjacentLocationDefintions = new Dictionary <string, LocationDefinition>(); //Town Center LocationDefinition locationDefinition = BeachTowerBeachHead.GetTownInstance().GetWestTentsDefinition(); adjacentLocationDefintions.Add(locationDefinition.LocationKey, locationDefinition); locationDefinition = BeachTowerPirateShips.GetTownInstance().GetShipOneDefinition(); adjacentLocationDefintions.Add(locationDefinition.LocationKey, locationDefinition); returnData.AdjacentLocationDefinitions = adjacentLocationDefintions; return(returnData); }
public Location LoadEntrance() { Location returnData; returnData = new Location(); returnData.Name = "Beach Head"; returnData.Description = "The beach head travels for as far as the eyes can see. Off in the distance you can spot the tents that the pirates pitched. You can see small blobs moving about around the tents which must be the pirates."; //Adjacent Locations Dictionary <string, LocationDefinition> adjacentLocationDefintions = new Dictionary <string, LocationDefinition>(); //Town Center LocationDefinition locationDefinition = BeachTower.GetTownInstance().GetTownCenterDefinition(); adjacentLocationDefintions.Add(locationDefinition.LocationKey, locationDefinition); locationDefinition = BeachTowerBeachHead.GetTownInstance().GetNorthTentsDefinition(); adjacentLocationDefintions.Add(locationDefinition.LocationKey, locationDefinition); returnData.AdjacentLocationDefinitions = adjacentLocationDefintions; return(returnData); }
public Location LoadTownCenter() { Location returnData; LocationAction locationAction; returnData = new Location(); returnData.Name = "Beach Tower Main Floor"; returnData.Description = "Welcome to the main floor of the Beach Tower."; // Location Actions List <LocationAction> locationActions = new List <LocationAction>(); locationAction = new DisplayStatsAction(); locationActions.Add(locationAction); locationAction = new DisplayInventoryAction(); locationActions.Add(locationAction); locationAction = new DisplayPotionBagAction(); locationActions.Add(locationAction); locationAction = new DisplayEquippedAction(); locationActions.Add(locationAction); locationAction = new AffixSwapperAction(); locationActions.Add(locationAction); locationAction = new StoreAction(); locationActions.Add(locationAction); locationAction = new MainMenuAction(); locationActions.Add(locationAction); locationAction = new ExitGame(); locationActions.Add(locationAction); returnData.Actions = locationActions; // Adjacent Locations Dictionary <string, LocationDefinition> adjacentLocationDefinitions = new Dictionary <string, LocationDefinition>(); LocationDefinition locationDefinition = GetArenaDefinition(); adjacentLocationDefinitions.Add(locationDefinition.LocationKey, locationDefinition); locationDefinition = GetInnDefinition(); adjacentLocationDefinitions.Add(locationDefinition.LocationKey, locationDefinition); locationDefinition = GetCaptainOfficeDefinition(); adjacentLocationDefinitions.Add(locationDefinition.LocationKey, locationDefinition); Accomplishment beachHeadPirates = BeachTower.GetBeachTowerAccomplishments().Find(x => x.Name.Contains("Beach Head Pirates")); if (GameState.Hero.Accomplishments.Contains(beachHeadPirates)) { locationDefinition = BeachTowerBeachHead.GetTownInstance().GetEntranceDefinition(); adjacentLocationDefinitions.Add(locationDefinition.LocationKey, locationDefinition); } Accomplishment mysteriousHouse = BeachTower.GetBeachTowerAccomplishments().Find(x => x.Name.Contains("Mysterious House")); if (GameState.Hero.Accomplishments.Contains(mysteriousHouse)) { locationDefinition = BeachTowerMysteriousHouse.GetTownInstance().GetEntranceDefinition(); adjacentLocationDefinitions.Add(locationDefinition.LocationKey, locationDefinition); } Accomplishment huntSpies = BeachTower.GetBeachTowerAccomplishments().Find(x => x.Name.Contains("Hunt Spies")); if (GameState.Hero.Accomplishments.Contains(huntSpies)) { locationDefinition = BeachTowerSpies.GetTownInstance().GetEntranceDefinition(); adjacentLocationDefinitions.Add(locationDefinition.LocationKey, locationDefinition); } Accomplishment freeVillage = BeachTower.GetBeachTowerAccomplishments().Find(x => x.Name.Contains("Recaptured Village")); if (GameState.Hero.Accomplishments.Contains(freeVillage)) { locationDefinition = BeachTowerCapturedVillage.GetTownInstance().GetEntranceDefinition(); adjacentLocationDefinitions.Add(locationDefinition.LocationKey, locationDefinition); } Accomplishment battleForTheSeas = BeachTower.GetBeachTowerAccomplishments().Find(x => x.Name.Contains("Battle for the Seas")); if (GameState.Hero.Accomplishments.Contains(battleForTheSeas)) { locationDefinition = BeachTowerBattleForTheSeas.GetTownInstance().GetEntranceDefinition(); adjacentLocationDefinitions.Add(locationDefinition.LocationKey, locationDefinition); } //Travel to Banken Accomplishment travelToBanken = BeachTower.GetBeachTowerAccomplishments().Find(x => x.Name.Contains("Travel to Banken")); if (GameState.Hero.Accomplishments.Contains(battleForTheSeas)) { locationDefinition = Banken.GetTownInstance().GetStartingLocationDefinition(); adjacentLocationDefinitions.Add(locationDefinition.LocationKey, locationDefinition); } locationDefinition = Ankou.GetTownInstance().GetTownCenterDefinition(); adjacentLocationDefinitions.Add(locationDefinition.LocationKey, locationDefinition); returnData.AdjacentLocationDefinitions = adjacentLocationDefinitions; return(returnData); }
public Location LoadCaptainTent() { Location returnData; returnData = new Location(); returnData.Name = "Captain's Tent"; bool defeatedPirateCaptain = Convert.ToBoolean(LocationHandler.GetLocationStateValue(BeachTower.LOCATION_STATE_KEY, BeachTowerBeachHead.PIRATE_CAPTAIN)); bool openedChest = Convert.ToBoolean(LocationHandler.GetLocationStateValue(BeachTower.LOCATION_STATE_KEY, BeachTowerBeachHead.CAPTAIN_TREASURE)); bool tookOrders = Convert.ToBoolean(LocationHandler.GetLocationStateValue(BeachTower.LOCATION_STATE_KEY, BeachTowerBeachHead.CAPTAIN_ORDERS)); string parchmentText = "I don't want to hear any more excuses captain. You will lead on the beach head and you will wreck havoc. Kill as many innocents as you can. I don't give a rat's ass if there is a military tower close by. They will not pose a threat. You will decimate them and they won't be able to do anything about it. Victory is at hand!"; //Actions if (!defeatedPirateCaptain) { returnData.Description = "The tent is large and decorated with foul substances collected through decades of pillaging. The pirate captain is sitting in his chair behind his desk, looking at you with a smirk on his face."; List <LocationAction> locationActions = new List <LocationAction>(); List <Mob> mobs = new List <Mob>(); mobs.Add(new PirateCaptain()); CombatAction combatAction = new CombatAction("Pirate Captain", mobs); combatAction.PostCombat += PirateCaptain; locationActions.Add(combatAction); returnData.Actions = locationActions; } else if (defeatedPirateCaptain) { if (!openedChest) { if (!tookOrders) { returnData.Description = "The tent is large and decorated with foul substances collected through decades of pillaging. The pirate captain lays dead in the center of the room. There is a piece of parchment on his desk and a treasure chest under it."; } else { returnData.Description = "The tent is large and decorated with foul substances collected through decades of pillaging. The pirate captain lays dead in the center of the room. There is a treasure chest under his desk."; } List <LocationAction> locationActions = new List <LocationAction>(); TreasureChestAction itemAction = new TreasureChestAction(5); locationActions.Add(itemAction); itemAction.PostItem += CaptainChest; returnData.Actions = locationActions; } if (openedChest && tookOrders) { returnData.Description = "The tent is large and decorated with foul substances collected through decades of pillaging. The pirate captain lays dead in the center of the room. There is an opened treasure chest under his desk."; } if (!tookOrders && openedChest) { returnData.Description = "The tent is large and decorated with foul substances collected through decades of pillaging. The pirate captain lays dead in the center of the room. There is a piece of parchment on his desk and an opened treasure chest under it."; List <LocationAction> locationActions = new List <LocationAction>(); ReadPapersAction parchmentAction = new ReadPapersAction(parchmentText); parchmentAction.PostPaper += CaptainOrders; locationActions.Add(parchmentAction); returnData.Actions = locationActions; } } //Adjacent Locations Dictionary <string, LocationDefinition> adjacentLocationDefintions = new Dictionary <string, LocationDefinition>(); //Town Center LocationDefinition locationDefinition = BeachTowerBeachHead.GetTownInstance().GetSmallPathDefinition(); adjacentLocationDefintions.Add(locationDefinition.LocationKey, locationDefinition); if (defeatedPirateCaptain) { locationDefinition = BeachTower.GetTownInstance().GetTownCenterDefinition(); adjacentLocationDefintions.Add(locationDefinition.LocationKey, locationDefinition); } returnData.AdjacentLocationDefinitions = adjacentLocationDefintions; return(returnData); }
public Location LoadEastTents() { Location returnData; returnData = new Location(); returnData.Name = "East Tents"; bool defeatedPirates = Convert.ToBoolean(LocationHandler.GetLocationStateValue(BeachTower.LOCATION_STATE_KEY, BeachTowerBeachHead.EAST_PIRATES)); bool tookGold = Convert.ToBoolean(LocationHandler.GetLocationStateValue(BeachTower.LOCATION_STATE_KEY, BeachTowerBeachHead.EAST_GOLD)); //Actions if (!defeatedPirates) { returnData.Description = "A collection of tents in the east. There are four pirates sitting around drinking. You spy a bag of gold tucked in a corner."; List <LocationAction> locationActions = new List <LocationAction>(); List <Mob> mobs = new List <Mob>(); mobs.Add(new Pirate()); mobs.Add(new Pirate()); mobs.Add(new Pirate()); mobs.Add(new Pirate()); CombatAction combatAction = new CombatAction("Pirates", mobs); combatAction.PostCombat += EastPirates; locationActions.Add(combatAction); returnData.Actions = locationActions; } else { if (!tookGold) { returnData.Description = "A collection of tents in the east. There are four dead bodies bloodying up the otherwise nice tents. You spy a bag of gold tucked in a corner."; } else { returnData.Description = "A collection of tents in the east. There are four dead bodies bloodying up the otherwise nice tents."; } } if (defeatedPirates && !tookGold) { List <LocationAction> locationActions = new List <LocationAction>(); PickUpGoldAction itemAction = new PickUpGoldAction(250); locationActions.Add(itemAction); itemAction.PostItem += EastGold; returnData.Actions = locationActions; } //Adjacent Locations Dictionary <string, LocationDefinition> adjacentLocationDefintions = new Dictionary <string, LocationDefinition>(); //Town Center LocationDefinition locationDefinition = BeachTowerBeachHead.GetTownInstance().GetCenterCampDefinition(); adjacentLocationDefintions.Add(locationDefinition.LocationKey, locationDefinition); returnData.AdjacentLocationDefinitions = adjacentLocationDefintions; return(returnData); }
public Location LoadWestTents() { Location returnData; returnData = new Location(); returnData.Name = "West Tents"; bool defeatedPirates = Convert.ToBoolean(LocationHandler.GetLocationStateValue(BeachTower.LOCATION_STATE_KEY, BeachTowerBeachHead.WEST_PIRATES)); bool tookChest = Convert.ToBoolean(LocationHandler.GetLocationStateValue(BeachTower.LOCATION_STATE_KEY, BeachTowerBeachHead.WEST_CHEST)); //Actions if (!defeatedPirates) { returnData.Description = "A collection of tents in the west. There are two pirates mingling about and a treasure chest."; List <LocationAction> locationActions = new List <LocationAction>(); List <Mob> mobs = new List <Mob>(); mobs.Add(new Pirate()); mobs.Add(new Pirate()); CombatAction combatAction = new CombatAction("Pirates", mobs); combatAction.PostCombat += WestPirates; locationActions.Add(combatAction); returnData.Actions = locationActions; } else { if (!tookChest) { returnData.Description = "A collection of tents in the west. There are two dead headless pirates treasure chest."; } else { returnData.Description = "A collection of tents in the west. There are two dead headless pirates and an open treasure chest."; } } if (defeatedPirates && !tookChest) { List <LocationAction> locationActions = new List <LocationAction>(); TreasureChestAction itemAction = new TreasureChestAction(2); locationActions.Add(itemAction); itemAction.PostItem += WestChest; returnData.Actions = locationActions; } //Adjacent Locations Dictionary <string, LocationDefinition> adjacentLocationDefintions = new Dictionary <string, LocationDefinition>(); //Town Center LocationDefinition locationDefinition = BeachTowerBeachHead.GetTownInstance().GetCenterCampDefinition(); adjacentLocationDefintions.Add(locationDefinition.LocationKey, locationDefinition); if (defeatedPirates) { Accomplishment report = BeachTower.GetBeachTowerAccomplishments().Find(x => x.Name.Contains("Pirate Ships")); if (GameState.Hero.Accomplishments.Contains(report)) { locationDefinition = BeachTowerPirateShips.GetTownInstance().GetEntranceDefinition(); adjacentLocationDefintions.Add(locationDefinition.LocationKey, locationDefinition); } returnData.AdjacentLocationDefinitions = adjacentLocationDefintions; } returnData.AdjacentLocationDefinitions = adjacentLocationDefintions; return(returnData); }