Example #1
0
        public Location LoadSewerEntrance()
        {
            Location returnData;

            returnData             = new Location();
            returnData.Name        = "Watertown Sewer Entrance";
            returnData.Description = "Mud and slime and poopoo.  What a nasty place.";

            // Adjacent Locations
            Dictionary <string, LocationDefinition> adjacentLocationDefinitions = new Dictionary <string, LocationDefinition>();

            // Town Center
            LocationDefinition locationDefinition = Watertown.GetTownInstance().GetTownCenterDefinition();

            adjacentLocationDefinitions.Add(locationDefinition.LocationKey, locationDefinition);

            // Entrance Corridor
            locationDefinition = GetSewerEntranceCorridorDefinition();
            adjacentLocationDefinitions.Add(locationDefinition.LocationKey, locationDefinition);

            returnData.AdjacentLocationDefinitions = adjacentLocationDefinitions;

            LocationHandler.SetLocationStateValue(Watertown.LOCATION_STATE_KEY, VISITED_SEWER_STATE, true);
            LocationHandler.ResetLocation(Watertown.INN_KEY); // Need to reload Inn so that new conversation can be set.

            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);
        }
Example #3
0
        public void TreasureChest(object sender, ChestEventArgs chestEventArgs)
        {
            if (chestEventArgs.ChestResults == ChestResults.Taken)
            {
                LocationHandler.SetLocationStateValue(Banken.LOCATION_STATE_KEY, BankenAshenForestWorshipRegion.TREASURE_CHEST, true);

                //Reload
                LocationHandler.ResetLocation(CEMETERY_NORTH_END_KEY);
            }
        }
Example #4
0
        public void DemonicNecro(object sender, CombatEventArgs combatEventArgs)
        {
            if (combatEventArgs.CombatResults == CombatResult.PlayerVictory)
            {
                LocationHandler.SetLocationStateValue(Banken.LOCATION_STATE_KEY, BankenAshenForestWorshipRegion.DEMONIC_NECROMANCER, true);

                //Reload
                LocationHandler.ResetLocation(CEMETERY_NORTH_END_KEY);
            }
        }
Example #5
0
        public void CemeteryEntranceAmbush(object sender, CombatEventArgs combatEventArgs)
        {
            if (combatEventArgs.CombatResults == CombatResult.PlayerVictory)
            {
                LocationHandler.SetLocationStateValue(Banken.LOCATION_STATE_KEY, BankenAshenForestWorshipRegion.CEMETERY_ENTRANCE_AMBUSH, true);

                //Reload
                LocationHandler.ResetLocation(CEMETERY_ENTRANCE_KEY);
            }
        }
Example #6
0
        public void UndergroundPathMobs(object sender, CombatEventArgs combatEventArgs)
        {
            if (combatEventArgs.CombatResults == CombatResult.PlayerVictory)
            {
                LocationHandler.SetLocationStateValue(Banken.LOCATION_STATE_KEY, BankenAshenForestWorshipRegion.UNDERGROUND_PATH_MOBS, true);

                //Reload
                LocationHandler.ResetLocation(UNDERGROUND_PATH_KEY);
            }
        }
Example #7
0
        public void TwistingPathSpiders(object sender, CombatEventArgs combatEventArgs)
        {
            if (combatEventArgs.CombatResults == CombatResult.PlayerVictory)
            {
                LocationHandler.SetLocationStateValue(Banken.LOCATION_STATE_KEY, BankenAshenForestWorshipRegion.TWISTING_PATH_SPIDERS, true);

                //Reload
                LocationHandler.ResetLocation(TWISTING_PATH_KEY);
            }
        }
Example #8
0
        public void TalkToFleeingLocal(object sender, TakeItemEventArgs itemEventArgs)
        {
            if (itemEventArgs.ItemResults == TakeItemResults.Taken)
            {
                LocationHandler.SetLocationStateValue(Banken.LOCATION_STATE_KEY, BankenAshenForestWorshipRegion.FLEEING_LOCAL, true);

                //Reload
                LocationHandler.ResetLocation(STATUE_CLEARING_KEY);
            }
        }
        public void TakeOrders(object sender, TakeItemEventArgs itemEventArgs)
        {
            if (itemEventArgs.ItemResults == TakeItemResults.Taken)
            {
                LocationHandler.SetLocationStateValue(Banken.LOCATION_STATE_KEY, BankenOldForestRuins.TAKE_ORDERS, true);

                //Reload
                LocationHandler.ResetLocation(TOWN_HALL_KEY);
            }
        }
        public void DefeatBanditLeaders(object sender, CombatEventArgs combatEventArgs)
        {
            if (combatEventArgs.CombatResults == CombatResult.PlayerVictory)
            {
                LocationHandler.SetLocationStateValue(Banken.LOCATION_STATE_KEY, BankenOldForestRuins.DEFEAT_BANDIT_LEADERS, true);

                //Reload
                LocationHandler.ResetLocation(TOWN_HALL_KEY);
            }
        }
        public void EscortFamily(object sender, TakeItemEventArgs itemEventArgs)
        {
            if (itemEventArgs.ItemResults == TakeItemResults.Taken)
            {
                LocationHandler.SetLocationStateValue(Banken.LOCATION_STATE_KEY, BankenOldForestRuins.ESCORT_FAMILY, true);

                //Reload
                LocationHandler.ResetLocation(LOCKED_HOUSE_KEY);
            }
        }
        public void UnlockHouse(object sender, TakeItemEventArgs itemEventArgs)
        {
            if (itemEventArgs.ItemResults == TakeItemResults.Taken)
            {
                LocationHandler.SetLocationStateValue(Banken.LOCATION_STATE_KEY, BankenOldForestRuins.UNLOCK_HOUSE, true);

                //Reload
                LocationHandler.ResetLocation(LOCKED_HOUSE_KEY);
            }
        }
        public void SearchInn(object sender, TakeItemEventArgs itemEventArgs)
        {
            if (itemEventArgs.ItemResults == TakeItemResults.Taken)
            {
                LocationHandler.SetLocationStateValue(Banken.LOCATION_STATE_KEY, BankenOldForestRuins.SEARCH_INN, true);

                //Reload
                LocationHandler.ResetLocation(INN_KEY);
            }
        }
        public void InnMobs(object sender, CombatEventArgs combatEventArgs)
        {
            if (combatEventArgs.CombatResults == CombatResult.PlayerVictory)
            {
                LocationHandler.SetLocationStateValue(Banken.LOCATION_STATE_KEY, BankenOldForestRuins.INN_MOBS, true);

                //Reload
                LocationHandler.ResetLocation(INN_KEY);
            }
        }
        public void FreePrisoners(object sender, TakeItemEventArgs itemEventArgs)
        {
            if (itemEventArgs.ItemResults == TakeItemResults.Taken)
            {
                LocationHandler.SetLocationStateValue(Banken.LOCATION_STATE_KEY, BankenOldForestRuins.FREE_PRISONERS, true);

                //Reload
                LocationHandler.ResetLocation(TOWN_CENTER_KEY);
            }
        }
        public void OpenMayorHouseDoor(object sender, TakeItemEventArgs itemEventArgs)
        {
            if (itemEventArgs.ItemResults == TakeItemResults.Taken)
            {
                LocationHandler.SetLocationStateValue(BeachTower.LOCATION_STATE_KEY, BeachTowerCapturedVillage.MAYOR_HOUSE_DOOR, true);

                //Reload
                LocationHandler.ResetLocation(MAYORS_HOUSE_KEY);
            }
        }
        public void MaskedBanditChest(object sender, ChestEventArgs chestEventArgs)
        {
            if (chestEventArgs.ChestResults == ChestResults.Taken)
            {
                LocationHandler.SetLocationStateValue(BeachTower.LOCATION_STATE_KEY, BeachTowerCapturedVillage.MASKED_BANDIT_TREASURE, true);

                //Reload
                LocationHandler.ResetLocation(MAYORS_HOUSE_KEY);
            }
        }
        public void TreasureChest(object sender, ChestEventArgs chestEventArgs)
        {
            if (chestEventArgs.ChestResults == ChestResults.Taken)
            {
                LocationHandler.SetLocationStateValue(Banken.LOCATION_STATE_KEY, BankenOldForestRuins.TREASURE, true);

                //Reload
                LocationHandler.ResetLocation(TOWN_HALL_KEY);
            }
        }
Example #19
0
        public void MoveBoulder(object sender, TakeItemEventArgs itemEventArgs)
        {
            if (itemEventArgs.ItemResults == TakeItemResults.Taken)
            {
                LocationHandler.SetLocationStateValue(Banken.LOCATION_STATE_KEY, BankenAshenForestWorshipRegion.TWISTING_PATH_ROCK_BLOCKADE, true);

                //Reload
                LocationHandler.ResetLocation(TWISTING_PATH_KEY);
            }
        }
        public void MarketStreetMobs(object sender, CombatEventArgs combatEventArgs)
        {
            if (combatEventArgs.CombatResults == CombatResult.PlayerVictory)
            {
                LocationHandler.SetLocationStateValue(BeachTower.LOCATION_STATE_KEY, BeachTowerCapturedVillage.MARKET_STREET_MOBS, true);

                //Reload
                LocationHandler.ResetLocation(MARKET_STREET_KEY);
            }
        }
Example #21
0
        public void ReligiousShrineClearingMobs(object sender, CombatEventArgs combatEventArgs)
        {
            if (combatEventArgs.CombatResults == CombatResult.PlayerVictory)
            {
                LocationHandler.SetLocationStateValue(Banken.LOCATION_STATE_KEY, BankenAshenForestWorshipRegion.RELIGIOUS_SHRINE_CLEARING_MOBS, true);

                //Reload
                LocationHandler.ResetLocation(RELIGIOUS_SHRINE_CLEARING_KEY);
            }
        }
        public void PrisonGuards(object sender, TakeItemEventArgs itemEventArgs)
        {
            if (itemEventArgs.ItemResults == TakeItemResults.Taken)
            {
                LocationHandler.SetLocationStateValue(BeachTower.LOCATION_STATE_KEY, BeachTowerCapturedVillage.PRISON_GUARDS, true);

                //Reload
                LocationHandler.ResetLocation(PRISON_KEY);
            }
        }
Example #23
0
        public void OpenGate(object sender, TakeItemEventArgs itemEventArgs)
        {
            if (itemEventArgs.ItemResults == TakeItemResults.Taken)
            {
                LocationHandler.SetLocationStateValue(Banken.LOCATION_STATE_KEY, BankenAshenForestWorshipRegion.CEMETERY_ENTRANCE_GATE, true);

                //Reload
                LocationHandler.ResetLocation(CEMETERY_ENTRANCE_KEY);
            }
        }
        public void TownHallMobs(object sender, CombatEventArgs combatEventArgs)
        {
            if (combatEventArgs.CombatResults == CombatResult.PlayerVictory)
            {
                LocationHandler.SetLocationStateValue(BeachTower.LOCATION_STATE_KEY, BeachTowerCapturedVillage.TOWN_HALL_MOBS, true);

                //Reload
                LocationHandler.ResetLocation(TOWN_HALL_KEY);
            }
        }
Example #25
0
        public void CemeteryWestEndMobs(object sender, CombatEventArgs combatEventArgs)
        {
            if (combatEventArgs.CombatResults == CombatResult.PlayerVictory)
            {
                LocationHandler.SetLocationStateValue(Banken.LOCATION_STATE_KEY, BankenAshenForestWorshipRegion.CEMETERY_WEST_END_MOBS, true);

                //Reload
                LocationHandler.ResetLocation(CEMETERY_WEST_END_KEY);
            }
        }
        public void HouseDistrictMobs(object sender, CombatEventArgs combatEventArgs)
        {
            if (combatEventArgs.CombatResults == CombatResult.PlayerVictory)
            {
                LocationHandler.SetLocationStateValue(BeachTower.LOCATION_STATE_KEY, BeachTowerCapturedVillage.HOUSE_DISTRICT_MOBS, true);

                //Reload
                LocationHandler.ResetLocation(HOUSE_DISTRICT_KEY);
            }
        }
Example #27
0
        public void TakeJournal(object sender, TakeItemEventArgs itemEventArgs)
        {
            if (itemEventArgs.ItemResults == TakeItemResults.Taken)
            {
                LocationHandler.SetLocationStateValue(Banken.LOCATION_STATE_KEY, BankenAshenForestWorshipRegion.JOURNAL, true);

                //Reload
                LocationHandler.ResetLocation(CEMETERY_NORTH_END_KEY);
            }
        }
        public void HouseDistrictVillagers(object sender, TakeItemEventArgs itemEventArgs)
        {
            if (itemEventArgs.ItemResults == TakeItemResults.Taken)
            {
                LocationHandler.SetLocationStateValue(BeachTower.LOCATION_STATE_KEY, BeachTowerCapturedVillage.HOUSE_DISTRICT_VILLAGERS, true);

                //Reload
                LocationHandler.ResetLocation(HOUSE_DISTRICT_KEY);
            }
        }
Example #29
0
        public void LookForBurialGrounds(object sender, TakeItemEventArgs itemEventArgs)
        {
            if (itemEventArgs.ItemResults == TakeItemResults.Taken)
            {
                LocationHandler.SetLocationStateValue(Banken.LOCATION_STATE_KEY, BankenAshenForest.LOOK_FOR_BURIAL_GROUNDS, true);

                //Reload
                LocationHandler.ResetLocation(NORTHERN_PATH_THREE_KEY);
            }
        }
        public void MaskedBandit(object sender, CombatEventArgs combatEventArgs)
        {
            if (combatEventArgs.CombatResults == CombatResult.PlayerVictory)
            {
                LocationHandler.SetLocationStateValue(BeachTower.LOCATION_STATE_KEY, BeachTowerCapturedVillage.MASKED_BANDIT, true);

                //Reload
                LocationHandler.ResetLocation(MAYORS_HOUSE_KEY);
            }
        }