예제 #1
0
        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);
        }