Beispiel #1
0
        public static BeachTowerHiddenCamp GetTownInstance()
        {
            if (_BeachTowerHiddenCamp == null)
            {
                _BeachTowerHiddenCamp = new BeachTowerHiddenCamp();
            }

            return(_BeachTowerHiddenCamp);
        }
Beispiel #2
0
        public Location LoadNecroLivingArea()
        {
            Location returnData;

            returnData      = new Location();
            returnData.Name = "Necromancer Living Area";
            bool defeatedMobs = Convert.ToBoolean(LocationHandler.GetLocationStateValue(BeachTower.LOCATION_STATE_KEY, BeachTowerHiddenCamp.NECRO_AREA_MOBS));

            if (!defeatedMobs)
            {
                returnData.Description = "This part of the camp is densly populated with tents. There are necromancers wondering about, preparing for whatever nefarious activities they have planned.";

                List <LocationAction> locationActions = new List <LocationAction>();
                List <Mob>            mobs            = new List <Mob>();
                mobs.Add(new Necromancer());
                mobs.Add(new Necromancer());
                mobs.Add(new Necromancer());
                mobs.Add(new Necromancer());
                mobs.Add(new Necromancer());
                mobs.Add(new Necromancer());
                mobs.Add(new Necromancer());
                mobs.Add(new Necromancer());
                mobs.Add(new Necromancer());
                mobs.Add(new Necromancer());
                mobs.Add(new Necromancer());
                mobs.Add(new Necromancer());
                CombatAction combatAction = new CombatAction("Necromancer", mobs);
                combatAction.PostCombat += NecroAreaMobs;
                locationActions.Add(combatAction);
                returnData.Actions = locationActions;
            }
            else
            {
                returnData.Description = "This part of the camp is densly populated with tents. The necromancers lay dead with their remains splattered against the tents they used to call home. You feel better knowing you rid the world of whatever evil they were planning to commit.";
            }

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

            //Town Center
            LocationDefinition locationDefinition = BeachTowerHiddenCamp.GetTownInstance().GetCooksTentsDefinition();

            adjacentLocationDefintions.Add(locationDefinition.LocationKey, locationDefinition);

            if (defeatedMobs)
            {
                locationDefinition = BeachTowerHiddenCamp.GetTownInstance().GetLargeClearingDefinition();
                adjacentLocationDefintions.Add(locationDefinition.LocationKey, locationDefinition);
            }

            returnData.AdjacentLocationDefinitions = adjacentLocationDefintions;

            return(returnData);
        }
Beispiel #3
0
        public Location LoadBurntTents()
        {
            Location returnData;

            returnData      = new Location();
            returnData.Name = "Burnt Tents";
            bool defeatedMobs = Convert.ToBoolean(LocationHandler.GetLocationStateValue(BeachTower.LOCATION_STATE_KEY, BeachTowerHiddenCamp.BURNT_TENTS_SKELETONS));

            if (!defeatedMobs)
            {
                returnData.Description = "A small collection of burnt tents on the outer edge of the camp. The area is full of scattered skeletons armed with old but sharp swords.";

                List <LocationAction> locationActions = new List <LocationAction>();
                List <Mob>            mobs            = new List <Mob>();
                mobs.Add(new Skeleton());
                mobs.Add(new Skeleton());
                mobs.Add(new Skeleton());
                mobs.Add(new Skeleton());
                mobs.Add(new Skeleton());
                mobs.Add(new Skeleton());
                CombatAction combatAction = new CombatAction("Skeletons", mobs);
                combatAction.PostCombat += BurntTentsSkeletons;
                locationActions.Add(combatAction);
                returnData.Actions = locationActions;
            }
            else
            {
                returnData.Description = "A small collection of burnt tents on the outer edge of the camp. The area is full of skeletons bones strewn on the ground.";
            }

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

            //Town Center
            LocationDefinition locationDefinition = BeachTowerHiddenCamp.GetTownInstance().GetEntranceDefinition();

            adjacentLocationDefintions.Add(locationDefinition.LocationKey, locationDefinition);

            if (defeatedMobs)
            {
                locationDefinition = BeachTowerHiddenCamp.GetTownInstance().GetCooksTentsDefinition();
                adjacentLocationDefintions.Add(locationDefinition.LocationKey, locationDefinition);
            }

            returnData.AdjacentLocationDefinitions = adjacentLocationDefintions;

            return(returnData);
        }
Beispiel #4
0
        public Location LoadCooksTents()
        {
            Location returnData;

            returnData      = new Location();
            returnData.Name = "Cook's Tents";
            bool defeatedMobs = Convert.ToBoolean(LocationHandler.GetLocationStateValue(BeachTower.LOCATION_STATE_KEY, BeachTowerHiddenCamp.COOKS_TENTS_MOBS));

            if (!defeatedMobs)
            {
                returnData.Description = "An open area with several fires and a few tents scattered about. It seems to have been put up haphazardly, but it serves its purpose. There are possesed villagers working on the food to sustain the necromancers hidden deeper within the camp.";

                List <LocationAction> locationActions = new List <LocationAction>();
                List <Mob>            mobs            = new List <Mob>();
                mobs.Add(new PossesedVillager());
                mobs.Add(new PossesedVillager());
                mobs.Add(new PossesedVillager());
                mobs.Add(new PossesedVillager());
                CombatAction combatAction = new CombatAction("Possesed Villagers", mobs);
                combatAction.PostCombat += CooksTentsMobs;
                locationActions.Add(combatAction);
                returnData.Actions = locationActions;
            }
            else
            {
                returnData.Description = "An open area with several fires and a few tents scattered about. It seems to have been put up haphazardly, but it serves its purpose. The possesed villagers have been freed and put out of their misery. May they rest in peace.";
            }

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

            //Town Center
            LocationDefinition locationDefinition = BeachTowerHiddenCamp.GetTownInstance().GetBurntTentsDefinition();

            adjacentLocationDefintions.Add(locationDefinition.LocationKey, locationDefinition);

            if (defeatedMobs)
            {
                locationDefinition = BeachTowerHiddenCamp.GetTownInstance().GetNecroLivingAreaDefinition();
                adjacentLocationDefintions.Add(locationDefinition.LocationKey, locationDefinition);
            }

            returnData.AdjacentLocationDefinitions = adjacentLocationDefintions;

            return(returnData);
        }
Beispiel #5
0
        public Location LoadEntrance()
        {
            Location returnData;

            returnData             = new Location();
            returnData.Name        = "Hidden Camp";
            returnData.Description = "A small camp hidden deep within the woods. The place reeks of dark magic.";


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

            //Town Center
            LocationDefinition locationDefinition = BeachTowerGloomyForest.GetTownInstance().GetForestPathFourDefinition();

            adjacentLocationDefintions.Add(locationDefinition.LocationKey, locationDefinition);

            locationDefinition = BeachTowerHiddenCamp.GetTownInstance().GetBurntTentsDefinition();
            adjacentLocationDefintions.Add(locationDefinition.LocationKey, locationDefinition);

            returnData.AdjacentLocationDefinitions = adjacentLocationDefintions;

            return(returnData);
        }
Beispiel #6
0
        public Location LoadForestPathFour()
        {
            Location returnData;

            returnData             = new Location();
            returnData.Name        = "Forest Path Four";
            returnData.Description = "A long dark natural path that leads deep within the forest. It stretches on for as far as eyes can see.";


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

            //Town Center
            LocationDefinition locationDefinition = BeachTowerGloomyForest.GetTownInstance().GetForestPathThreeDefinition();

            adjacentLocationDefintions.Add(locationDefinition.LocationKey, locationDefinition);

            locationDefinition = BeachTowerHiddenCamp.GetTownInstance().GetEntranceDefinition();
            adjacentLocationDefintions.Add(locationDefinition.LocationKey, locationDefinition);

            returnData.AdjacentLocationDefinitions = adjacentLocationDefintions;

            return(returnData);
        }
Beispiel #7
0
        public Location LoadNecroOfficerTent()
        {
            Location returnData;

            returnData      = new Location();
            returnData.Name = "Necromancer Intelligence Officer's Tent";
            bool   defeatedMobs             = Convert.ToBoolean(LocationHandler.GetLocationStateValue(BeachTower.LOCATION_STATE_KEY, BeachTowerHiddenCamp.NECRO_OFFICER));
            bool   openedChest              = Convert.ToBoolean(LocationHandler.GetLocationStateValue(BeachTower.LOCATION_STATE_KEY, BeachTowerHiddenCamp.NECRO_OFFICER_CHEST));
            bool   tookDocument             = Convert.ToBoolean(LocationHandler.GetLocationStateValue(BeachTower.LOCATION_STATE_KEY, BeachTowerHiddenCamp.DOCUMENT));
            string NecroOfficerSpeachBefore = GameState.Hero.Identifier + ", welcome to my humble adobe. You came here for information? How unfortunate. I will never reveal anything.";
            string NecroOfficerSpeachAfter  = "You kneel down over the Intelligence Officer's body and search him for any documents. You find a folded document that Mike might find interesting.";

            if (!defeatedMobs)
            {
                returnData.Description = "A large over the top tent. Inside of it there is a necromancer dressed in very expensive robes. The room is decorated with the most expensive pieces of furniture money can buy on this side of Ankou.";

                List <LocationAction> locationActions = new List <LocationAction>();
                List <Mob>            mobs            = new List <Mob>();
                mobs.Add(new NecroIntelligenceOfficer());

                CombatAction combatAction = new CombatAction("Necromancer Intelligence Officer", mobs, NecroOfficerSpeachBefore, NecroOfficerSpeachAfter);
                combatAction.PostCombat += NecroIntelligenceOfficer;
                locationActions.Add(combatAction);
                returnData.Actions = locationActions;
            }
            else
            {
                returnData.Description = "A large over the top tent. Inside of it there is a necromancer dressed in very expensive robes laying dead on the ground. The room is decorated with the most expensive pieces of furniture money can buy on this side of Ankou.";
            }

            if (defeatedMobs && !openedChest)
            {
                List <LocationAction> locationActions = new List <LocationAction>();
                TreasureChestAction   itemAction      = new TreasureChestAction(5);
                locationActions.Add(itemAction);
                itemAction.PostItem += NecroIntelligenceOfficerChest;
                returnData.Actions   = locationActions;
            }

            if (defeatedMobs && !tookDocument)
            {
                List <LocationAction> locationActions = new List <LocationAction>();
                TakeItemAction        itemAction      = new TakeItemAction("Document");
                locationActions.Add(itemAction);
                itemAction.PostItem += NecroIntelligenceOfficerDocument;
                returnData.Actions   = locationActions;
            }


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

            //Town Center
            LocationDefinition locationDefinition = BeachTowerHiddenCamp.GetTownInstance().GetLargeClearingDefinition();

            adjacentLocationDefintions.Add(locationDefinition.LocationKey, locationDefinition);

            if (defeatedMobs)
            {
                locationDefinition = BeachTower.GetTownInstance().GetTownCenterDefinition();
                adjacentLocationDefintions.Add(locationDefinition.LocationKey, locationDefinition);
            }

            returnData.AdjacentLocationDefinitions = adjacentLocationDefintions;

            return(returnData);
        }
Beispiel #8
0
        public Location LoadLargeClearing()
        {
            Location returnData;

            returnData      = new Location();
            returnData.Name = "Necromancer Living Area";
            bool defeatedMobs = Convert.ToBoolean(LocationHandler.GetLocationStateValue(BeachTower.LOCATION_STATE_KEY, BeachTowerHiddenCamp.LARGE_CLEARING_MOBS));

            if (!defeatedMobs)
            {
                returnData.Description = "A large clearing in the camp. On the otherside you can see a large tent that clearly belongs to whoever is in charge of the necromancers in this camp. Unfortunately, the clearing is full of a mob of angry skeletons intent on blood.";

                List <LocationAction> locationActions = new List <LocationAction>();
                List <Mob>            mobs            = new List <Mob>();
                mobs.Add(new Skeleton());
                mobs.Add(new Skeleton());
                mobs.Add(new Skeleton());
                mobs.Add(new Skeleton());
                mobs.Add(new Skeleton());
                mobs.Add(new Skeleton());
                mobs.Add(new Skeleton());
                mobs.Add(new Skeleton());
                mobs.Add(new Skeleton());
                mobs.Add(new Skeleton());
                mobs.Add(new Skeleton());
                mobs.Add(new Skeleton());
                mobs.Add(new Skeleton());
                mobs.Add(new Skeleton());
                mobs.Add(new Skeleton());
                mobs.Add(new Skeleton());
                mobs.Add(new Skeleton());
                mobs.Add(new Skeleton());
                mobs.Add(new Skeleton());
                mobs.Add(new Skeleton());
                CombatAction combatAction = new CombatAction("Skeletons", mobs);
                combatAction.PostCombat += LargeAreaMobs;
                locationActions.Add(combatAction);
                returnData.Actions = locationActions;
            }
            else
            {
                returnData.Description = "A large clearing in the camp. On the otherside you can see a large tent that clearly belongs to whoever is in charge of the necromancers in this camp. Smoke rises from the bones of skeletons in the clearing as their spirits are freed from battle.";
            }

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

            //Town Center
            LocationDefinition locationDefinition = BeachTowerHiddenCamp.GetTownInstance().GetNecroLivingAreaDefinition();

            adjacentLocationDefintions.Add(locationDefinition.LocationKey, locationDefinition);

            if (defeatedMobs)
            {
                locationDefinition = BeachTowerHiddenCamp.GetTownInstance().GetNecroIntelligenceDefinition();
                adjacentLocationDefintions.Add(locationDefinition.LocationKey, locationDefinition);
            }

            returnData.AdjacentLocationDefinitions = adjacentLocationDefintions;

            return(returnData);
        }