Ejemplo n.º 1
0
 public void characterSetupWizard(string value, string step)
 {
     if (step == "race")
     {
         var selectedRace = PlayerRace.selectRace(value);
         Clients.Caller.updateCharacterSetupWizard("race", selectedRace.name, selectedRace.help, selectedRace.imgUrl);
     }
     else if (step == "class")
     {
         var selectedClass = PlayerClass.selectClass(value);
         Clients.Caller.updateCharacterSetupWizard("class", selectedClass.name, selectedClass.description, selectedClass.imgUrl);
     }
 }
Ejemplo n.º 2
0
        public void charSetup(string id, string name, string email, string password, string gender, string race, string selectedClass)
        {
            var raceStats = PlayerRace.selectRace(race);

            //Creates and saves player
            PlayerData = new Player
            {
                HubGuid              = id,
                Name                 = name,
                Email                = email,
                Password             = password,
                Gender               = gender,
                Race                 = race,
                SelectedClass        = selectedClass,
                Strength             = raceStats.str,
                Constitution         = raceStats.con,
                Dexterity            = raceStats.dex,
                Wisdom               = raceStats.wis,
                Intelligence         = raceStats.inte,
                Charisma             = raceStats.cha,
                MaxStrength          = raceStats.str,
                MaxConstitution      = raceStats.con,
                MaxDexterity         = raceStats.dex,
                MaxWisdom            = raceStats.wis,
                MaxIntelligence      = raceStats.inte,
                MaxCharisma          = raceStats.cha,
                intoxicationMaxLevel = raceStats.con,
                SizeCategory         = Player.ReturnCharSize(race),
                Type                 = Player.PlayerTypes.Player,
                JoinedDate           = DateTime.UtcNow,
                LastCommandTime      = DateTime.UtcNow,
                MaxWeight            = raceStats.str * 4
            };


            //add skills to player
            var classSelected = Core.Player.Classes.PlayerClass.ClassList()
                                .FirstOrDefault(x => x.Value.Name
                                                .Equals(selectedClass, StringComparison.CurrentCultureIgnoreCase));

            if (classSelected.Value != null)
            {
                foreach (var classSkill in classSelected.Value.Skills.Where(x => x.LevelObtained.Equals(1)))
                {
                    PlayerData.Skills.Add(classSkill);
                }
            }
            else
            {
                //well, you get no skills bro
            }


            Welcome(PlayerData.HubGuid);

            var helpMessage = "<div style='\r\n    border: 1px dashed #555;\r\n    padding: 20px;\r\n    margin-bottom: 20px; max-width:540px;\r\n'><h2 style='color:yellow; font-size:20px;'>Welcome to ArchaicQuest</h2>" +
                              "<p>Prepare yourself for a great adventure. Help can be found by typing\r\nhelp start which will tell you the basic commands in the game.\r\n\r\nIf you are struggling you can ask for help on the newbie channel by typing \r\nnewbie \'Then your message here, without the quotes\'</p>" +
                              "<p>We also have a help file system which is used by typing help <topic>. For example\r\nhelp move.\r\n\r\nA small tutorial will now teach the basics of the game, if you get stuck. Remember the newbie channel or help start and it goes without saying you have to read.</p> <p>Have fun and enjoy your time here.</p>" +
                              "\r\n\r\n<p style='color:#999;'>“A reader lives a thousand lives before he dies, said Jojen. The man who never reads lives only one.”\r\n―</p> <em style='color:#999'>George R.R. Martin, A Dance with Dragons</em></div>";

            SendToClient(helpMessage, PlayerData.HubGuid);

            _PlayerCache.TryAdd(id, PlayerData);

            loadRoom(PlayerData, id);
            //add player to room
            Room roomData = null;

            var getPlayerRoom = new Tuple <string, string, int>(PlayerData.Region, PlayerData.Area, PlayerData.AreaId);

            _AreaCache.TryGetValue(getPlayerRoom, out roomData);

            MIMWebClient.Core.Room.PlayerManager.AddPlayerToRoom(roomData, PlayerData);
            Movement.EnterRoom(PlayerData, roomData);

            PlayerData.LastLoginTime   = DateTime.Now;
            PlayerData.LastCommandTime = DateTime.Now;

            Save.SavePlayer(PlayerData);

            // addToRoom(PlayerData.AreaId, roomData, PlayerData, "player");
            Score.ReturnScoreUI(PlayerData);
            Score.UpdateUiPrompt(PlayerData);
            Score.UpdateUiInventory(PlayerData);
            Score.UpdateUiEquipment(PlayerData);
            Score.UpdateUiAffects(PlayerData);
            Score.UpdateUiQlog(PlayerData);

            var discordToSay = "A new character called, " + PlayerData.Name + " has entered the realm.";

            var discordBot = new HomeController();

            discordBot.PostToDiscord(discordToSay);
        }