Exemplo n.º 1
0
        /// <summary>
        /// Command list for the game
        /// </summary>
        /// <param name="commandOptions">Everything after the 1st occurance of a space</param>
        /// <param name="commandKey">The string before the 1st occurance of a space</param>
        /// <param name="playerData">Player Data</param>
        /// <param name="room">Current room</param>
        /// <returns>Returns Dictionary of commands</returns>
        public static Dictionary <string, Action> Commands(string commandOptions, string commandKey, PlayerSetup.Player playerData, Room.Room room)
        {
            var commandList = new Dictionary <String, Action>
            {
                { "north", () => Movement.Move(playerData, room, "North") },
                { "south", () => Movement.Move(playerData, room, "South") },
                { "east", () => Movement.Move(playerData, room, "East") },
                { "west", () => Movement.Move(playerData, room, "West") },
                { "down", () => Movement.Move(playerData, room, "Down") },
                { "up", () => Movement.Move(playerData, room, "Up") },
                { "look", () => LoadRoom.ReturnRoom(playerData, room, commandOptions, "look") },
                { "l in", () => LoadRoom.ReturnRoom(playerData, room, commandOptions, "look in") },
                { "look in", () => LoadRoom.ReturnRoom(playerData, room, commandOptions, "look in") },
                { "examine", () => LoadRoom.ReturnRoom(playerData, room, commandOptions, "examine") },
                { "touch", () => LoadRoom.ReturnRoom(playerData, room, commandOptions, "touch") },
                { "smell", () => LoadRoom.ReturnRoom(playerData, room, commandOptions, "smell") },
                { "taste", () => LoadRoom.ReturnRoom(playerData, room, commandOptions, "taste") },
                { "score", () => Score.ReturnScore(playerData) },
                { "inventory", () => Inventory.ReturnInventory(playerData.Inventory, playerData) },
                { "equipment", () => Equipment.ShowEquipment(playerData) },
                { "garb", () => Equipment.ShowEquipment(playerData) },
                { "get", () => ManipulateObject.GetItem(room, playerData, commandOptions, commandKey, "item") },
                { "take", () => ManipulateObject.GetItem(room, playerData, commandOptions, commandKey, "item") },
                { "drop", () => ManipulateObject.DropItem(room, playerData, commandOptions, commandKey) },
                { "give", () => ManipulateObject.GiveItem(room, playerData, commandOptions, commandKey, "killable") },
                { "put", () => ManipulateObject.DropItem(room, playerData, commandOptions, commandKey) },
                { "save", () => Save.UpdatePlayer(playerData) },
                { "'", () => Communicate.Say(commandOptions, playerData, room) },
                { "newbie", () => Communicate.NewbieChannel(commandOptions, playerData) },
                { "gossip", () => Communicate.GossipChannel(commandOptions, playerData) },
                { "ooc", () => Communicate.OocChannel(commandOptions, playerData) },
                { "say", () => Communicate.Say(commandOptions, playerData, room) },
                { "sayto", () => Communicate.SayTo(commandOptions, room, playerData) },
                { ">", () => Communicate.SayTo(commandOptions, room, playerData) },
                { "talkto", () => Talk.TalkTo(commandOptions, room, playerData) },
                { "emote", () => Emote.EmoteActionToRoom(commandOptions, playerData) },
                { "wear", () => Equipment.WearItem(playerData, commandOptions) },
                { "remove", () => Equipment.RemoveItem(playerData, commandOptions) },
                { "doff", () => Equipment.RemoveItem(playerData, commandOptions) },
                { "wield", () => Equipment.WearItem(playerData, commandOptions, true) },
                { "unwield", () => Equipment.RemoveItem(playerData, commandOptions, false, true) },
                { "kill", () => Fight2.PerpareToFight(playerData, room, commandOptions) },
                { "flee", () => Flee.fleeCombat(playerData, room) },

                //spells
                { "c magic missile", () => MagicMissile.StartMagicMissile(playerData, room, commandOptions) },
                { "cast magic missile", () => MagicMissile.StartMagicMissile(playerData, room, commandOptions) },

                { "c armour", () => Armour.StartArmour(playerData, room, commandOptions) },
                { "cast armour", () => Armour.StartArmour(playerData, room, commandOptions) },

                { "c armor", () => Armour.StartArmour(playerData, room, commandOptions) },
                { "cast armor", () => Armour.StartArmour(playerData, room, commandOptions) },

                { "c continual light", () => ContinualLight.StarContinualLight(playerData, room, commandOptions) },
                { "cast continual light", () => ContinualLight.StarContinualLight(playerData, room, commandOptions) },

                { "c invis", () => Invis.StartInvis(playerData, room, commandOptions) },
                { "cast invis", () => Invis.StartInvis(playerData, room, commandOptions) },

                { "c weaken", () => Weaken.StartWeaken(playerData, room, commandOptions) },
                { "cast weaken", () => Weaken.StartWeaken(playerData, room, commandOptions) },

                { "c chill touch", () => ChillTouch.StartChillTouch(playerData, room, commandOptions) },
                { "cast chill touch", () => ChillTouch.StartChillTouch(playerData, room, commandOptions) },

                { "c fly", () => Fly.StartFly(playerData, room, commandOptions) },
                { "cast fly", () => Fly.StartFly(playerData, room, commandOptions) },

                { "c refresh", () => Refresh.StartRefresh(playerData, room, commandOptions) },
                { "cast refresh", () => Refresh.StartRefresh(playerData, room, commandOptions) },

                { "c faerie fire", () => FaerieFire.StartFaerieFire(playerData, room, commandOptions) },
                { "cast faerie fire", () => FaerieFire.StartFaerieFire(playerData, room, commandOptions) },

                { "c teleport", () => Teleport.StartTeleport(playerData, room) },
                { "cast teleport", () => Teleport.StartTeleport(playerData, room) },

                { "c blindness", () => Blindness.StartBlind(playerData, room, commandOptions) },
                { "cast blindess", () => Blindness.StartBlind(playerData, room, commandOptions) },

                { "c haste", () => Haste.StartHaste(playerData, room, commandOptions) },
                { "cast haste", () => Haste.StartHaste(playerData, room, commandOptions) },

                { "c create spring", () => CreateSpring.StartCreateSpring(playerData, room) },
                { "cast create spring", () => CreateSpring.StartCreateSpring(playerData, room) },

                { "c shocking grasp", () =>
                  {
                      var shockingGRasp = new ShockingGrasp();

                      shockingGRasp.StartShockingGrasp(playerData, room, commandOptions);
                  } },
                { "cast shocking grasp", () =>
                  {
                      var shockingGRasp = new ShockingGrasp();

                      shockingGRasp.StartShockingGrasp(playerData, room, commandOptions);
                  } },

                //skills
                { "punch", () => Punch.StartPunch(playerData, room) },
                { "kick", () => Kick.StartKick(playerData, room) },

                //
                { "unlock", () => ManipulateObject.UnlockItem(room, playerData, commandOptions, commandKey) },
                { "lock", () => ManipulateObject.LockItem(room, playerData, commandOptions, commandKey) },
                { "open", () => ManipulateObject.Open(room, playerData, commandOptions, commandKey) },
                { "close", () => ManipulateObject.Close(room, playerData, commandOptions, commandKey) },
                { "drink", () => ManipulateObject.Drink(room, playerData, commandOptions, commandKey) },
                { "help", () => Help.ShowHelp(commandOptions, playerData) },
                { "time", Update.Time.ShowTime },
                { "clock", Update.Time.ShowTime },
                { "skills", () => ShowSkills.ShowPlayerSkills(playerData, commandOptions) },
                { "skills all", () => ShowSkills.ShowPlayerSkills(playerData, commandOptions) },
                { "practice", () => Trainer.Practice(playerData, room, commandOptions) },
                { "list", () => Shop.listItems(playerData, room) },
                { "buy", () => Shop.buyItems(playerData, room, commandOptions) },
                { "quest log", () => Quest.QuestLog(playerData) },
                { "qlog", () => Quest.QuestLog(playerData) },
                { "wake", () => Status.WakePlayer(playerData, room) },
                { "sleep", () => Status.SleepPlayer(playerData, room) },
                { "greet", () => Greet.GreetMob(playerData, room, commandOptions) },
                { "who", () => Who.Connected(playerData) },
                { "affects", () => Affect.Show(playerData) },
                { "follow", () => Follow.FollowThing(playerData, room, commandOptions) },
                { "quit", () => HubContext.Quit(playerData.HubGuid, room) },
                //admin
                { "/debug", () => PlayerSetup.Player.DebugPlayer(playerData) }
            };


            return(commandList);
        }
Exemplo n.º 2
0
        public static PlayerClass MageClass()
        {
            var mage = new PlayerClass
            {
                Name               = "Mage",
                IsBaseClass        = true,
                ExperienceModifier = 3000,
                HelpText           = new Help(),
                Skills             = new List <Skill>(),
                ReclassOptions     = new List <PlayerClass>(),
                MaxHpGain          = 8,
                MinHpGain          = 3,
                MaxManaGain        = 15,
                MinManaGain        = 10,
                MaxEnduranceGain   = 15,
                MinEnduranceGain   = 11,
                StatBonusInt       = 2,
                StatBonusWis       = 1
            };


            #region  Give mage magic missile skill

            var magicMissile = MagicMissile.MagicMissileAb();

            magicMissile.LevelObtained  = 1;
            magicMissile.Proficiency    = 50;
            magicMissile.MaxProficiency = 95;
            mage.Skills.Add(magicMissile);

            #endregion

            #region  Give mage armor skill

            var armour = Armour.ArmourAb();

            armour.LevelObtained  = 1;
            armour.Proficiency    = 50;
            armour.MaxProficiency = 95;
            mage.Skills.Add(armour);

            #endregion

            #region  Give invis skill

            var invis = Invis.InvisAb();

            invis.LevelObtained  = 1;
            invis.Proficiency    = 50;
            invis.MaxProficiency = 95;
            mage.Skills.Add(invis);

            #endregion

            #region  Give continual light skill

            var continualLight = ContinualLight.ContinualLightAb();

            continualLight.LevelObtained  = 1;
            continualLight.Proficiency    = 50;
            continualLight.MaxProficiency = 95;
            mage.Skills.Add(continualLight);

            #endregion

            #region  Give weaken

            var weaken = Weaken.WeakenAb();

            weaken.LevelObtained  = 1;
            weaken.Proficiency    = 50;
            weaken.MaxProficiency = 95;
            mage.Skills.Add(weaken);

            #endregion

            #region  Give chill touch

            var chillTouch = ChillTouch.ChillTouchAb();

            chillTouch.LevelObtained  = 1;
            chillTouch.Proficiency    = 50;
            chillTouch.MaxProficiency = 95;
            mage.Skills.Add(chillTouch);

            #endregion

            #region  Give fly

            var fly = Fly.FlyAb();

            fly.LevelObtained  = 1;
            fly.Proficiency    = 50;
            fly.MaxProficiency = 95;
            mage.Skills.Add(fly);

            #endregion

            #region  Give Faerie Fire

            var faerieFire = FaerieFire.FaerieFireAB();

            faerieFire.LevelObtained  = 1;
            faerieFire.Proficiency    = 50;
            faerieFire.MaxProficiency = 95;
            mage.Skills.Add(faerieFire);

            #endregion

            #region  Give refresh

            var refresh = Refresh.RefreshAb();

            refresh.LevelObtained  = 1;
            refresh.Proficiency    = 50;
            refresh.MaxProficiency = 95;
            mage.Skills.Add(refresh);

            #endregion

            #region  Give teleport

            var teleport = Teleport.TeleporAb();

            teleport.LevelObtained  = 1;
            teleport.Proficiency    = 50;
            teleport.MaxProficiency = 95;
            mage.Skills.Add(teleport);

            #endregion

            #region  Give blindness

            var blindness = Blindness.BlindAb();

            blindness.LevelObtained  = 1;
            blindness.Proficiency    = 50;
            blindness.MaxProficiency = 95;
            mage.Skills.Add(blindness);

            #endregion

            #region  Give haste

            var haste = Haste.HasteAb();

            haste.LevelObtained  = 1;
            haste.Proficiency    = 50;
            haste.MaxProficiency = 95;
            mage.Skills.Add(haste);

            #endregion

            #region  Give Shocking grasp

            var shockingGrasp = ShockingGrasp.ShockingGraspAb();

            shockingGrasp.LevelObtained  = 1;
            shockingGrasp.Proficiency    = 50;
            shockingGrasp.MaxProficiency = 95;
            mage.Skills.Add(shockingGrasp);

            #endregion



            #region  Give create spring

            var createSpring = CreateSpring.CreateSpringAb();

            createSpring.LevelObtained  = 1;
            createSpring.Proficiency    = 50;
            createSpring.MaxProficiency = 95;
            mage.Skills.Add(createSpring);

            #endregion


            mage.ReclassOptions.Add(Ranger.RangerClass());

            return(mage);
        }