Example #1
0
 public Special Bardic_Knowledge(Bard bard)
 {
     Name        = "Bardic Knowledge";
     Description = "A bard adds half his class level (minimum 1) to all Knowledge skill checks and may make all Knowledge skill checks untrained.";
     //functionality
     return(this);
 }
Example #2
0
        static void Main(string[] args)
        {
            bard = new Bard(GetMainProjectDirectory());

            TellThemWhatWereAllAbout();
            string theme = Console.ReadLine();

            var words = new WordProcessor(GetMainProjectDirectory()).GetWordsFromSentence(theme);

            try
            {
                var story = bard.TellStory(words);
                Console.WriteLine("Well, here we go... are you ready? here is my story!");
                Console.WriteLine(story.Title);
                Console.WriteLine("==========================================================");

                foreach (var line in story.Content)
                {
                    Thread.Sleep(2000);
                    Console.WriteLine(line);
                }
            }
            catch (InvalidInputException ex)
            {
                Console.WriteLine(ex.Message);
            }
        }
 public static void AddBard(Character character)
 {
     Bard.Base(character);
     Bard.Features(character);
     Bard.Equipment(character);
     character.Archetype = Bard.BardicCollege;
 }
Example #4
0
    IEnumerator MoveToTarget(Bard bard)
    {
        bool atTarget = false;

        do
        {
            Vector3 targetPosition = new Vector3();
            if (GameState.availableBards.Contains(bard.bardId))
            {
                targetPosition = bard.startPosition;
            }
            else
            {
                targetPosition = this.hidePosition.position;
            }
            Vector3 delta = targetPosition - bard.transform.position;
            atTarget = delta.magnitude < Time.deltaTime * BARD_SPEED;
            if (delta.magnitude > Time.deltaTime * BARD_SPEED)
            {
                delta = delta.normalized * Time.deltaTime * BARD_SPEED;
            }
            bard.transform.position += delta;
            yield return(null);
        } while (!atTarget);
    }
Example #5
0
        public Special Bardic_Performance(Bard bard)
        {
            Name        = "Bardic Performance";
            Description = "A bard is trained to use the Perform skill to create magical effects on those around him, including himself if desired. He can use this ability for a number of rounds per day equal to 4 + his Charisma modifier. At each level after 1st a bard can use bardic performance for 2 additional rounds per day. Each round, the bard can produce any one of the types of bardic performance that he has mastered, as indicated by his level."
                          + "\n\n" +
                          "Starting a bardic performance is a standard action, but it can be maintained each round as a free action. Changing a bardic performance from one effect to another requires the bard to stop the previous performance and start a new one as a standard action. A bardic performance cannot be disrupted, but it ends immediately if the bard is killed, paralyzed, stunned, knocked unconscious, or otherwise prevented from taking a free action to maintain it each round. A bard cannot have more than one bardic performance in effect at one time."
                          + "\n\n" +
                          "At 7th level, a bard can start a bardic performance as a move action instead of a standard action. At 13th level, a bard can start a bardic performance as a swift action."
                          + "\n\n" +
                          "Each bardic performance has audible components, visual components, or both."
                          + "\n\n" +
                          "If a bardic performance has audible components, the targets must be able to hear the bard for the performance to have any effect, and many such performances are language dependent (as noted in the description). A deaf bard has a 20% chance to fail when attempting to use a bardic performance with an audible component. If he fails this check, the attempt still counts against his daily limit. Deaf creatures are immune to bardic performances with audible components."
                          + "\n\n" +
                          "If a bardic performance has a visual component, the targets must have line of sight to the bard for the performance to have any effect. A blind bard has a 50% chance to fail when attempting to use a bardic performance with a visual component. If he fails this check, the attempt still counts against his daily limit. Blind creatures are immune to bardic performances with visual components.";

            //functionality
            var list = new Bardic_Performance().Performances();

            foreach (var item in list)
            {
                if (item.LevelReq <= bard.Level)
                {
                    bard.Bardic_Performances.Add(item);
                }
            }

            return(this);
        }
 /// <summary>
 /// 註冊詩人、信使與文件管理員
 /// </summary>
 /// <param name="bard">新詩人</param>
 /// <param name="courier">新信使</param>
 /// <param name="archivist">新文件管理員</param>
 public static void RegisterMembers(Bard bard, Courier courier, Archivist archivist)
 {
     RegisterMember(bard);
     RegisterMember(courier);
     RegisterMember(archivist);
     UpdateRegisteredState();
 }
Example #7
0
        public void TestUpdateSpellsPerDayByLevel()
        {
            // Arrange
            Bard bard = new Bard("bard");

            int[] SpellsPerDayLevel_11 = new int[10] {
                3, 3, 3, 3, 1, 0, 0, 0, 0, 0
            };
            int[] ReturnedSpellsPerDay = new int[10];
            int   level = 11;

            try
            {
                // Act
                bard.UpdateSpellsPerDay();

                // Assert
                ReturnedSpellsPerDay = Enumerable.Range(0, bard.DailySpells.GetLength(0))
                                       .Select(x => bard.DailySpells[x, level - 1])
                                       .ToArray();

                Assert.Equal(SpellsPerDayLevel_11, ReturnedSpellsPerDay);
            }
            catch { }
        }
 /// <summary>
 /// 註冊詩人
 /// </summary>
 /// <param name="newcomer">新詩人</param>
 public static void RegisterMember(Bard newcomer)
 {
     if (newcomer != null)
     {
         Bard = newcomer;
     }
     UpdateRegisteredState();
 }
Example #9
0
        public Special Lore_Master(Bard bard)
        {
            int bonus = (bard.Level - 5) / 6 + 1;

            Name        = "Lore Master";
            Description = "At 5th level, the bard becomes a master of lore and can take 10 on any Knowledge skill check that he has ranks in. A bard can choose not to take 10 and can instead roll normally. In addition, once per day, the bard can take 20 on any Knowledge skill check as a standard action. He can use this ability one additional time per day for every six levels he possesses beyond 5th, to a maximum of three times per day at 17th level.";
            return(this);
        }
Example #10
0
        private static string[] getSubClassDnD(CLASSES C, int lv)
        {
            string[] Sub = new string[20];// may need to change temp size

            if (C == BARBARIAN)
            {
                Sub = Barbarian.getDnD(lv);
            }
            else if (C == BARD)
            {
                Sub = Bard.getDnD();
            }
            else if (C == CLERIC)
            {
                Sub = Cleric.getDnD(D5Core);
            }
            else if (C == DRUID)
            {
                Sub = Druid.getDnD(D5Core);
            }
            else if (C == FIGHTER)
            {
                Sub = Fighter.getDnD(D5Core, lv);
            }
            else if (C == MONK)
            {
                Sub = Monk.getDnD(D5Core, lv);
            }
            else if (C == PALADIN)
            {
                Sub = Paladin.getDnD(D5Core);
            }
            else if (C == RANGER)
            {
                Sub = Ranger.getDnD(D5Core, lv);
            }
            else if (C == ROGUE)
            {
                Sub = Rogue.getDnD(D5Core);
            }
            else if (C == SORCERER)
            {
                Sub = Sorcerer.getDnD(D5Core, lv);
            }
            else if (C == WARLOCK)
            {
                Sub = Warlock.getDnD(D5Core, lv);
            }
            else if (C == WIZARD)
            {
                Sub = Wizard.getDnD(D5Core);
            }

            Sub = Vars.shorten <string>(Sub);

            return(Sub);
        }
        public void LoadJsonFiles(string targetPath, ResponseOptions saveFile = ResponseOptions.Yes)
        {
            Courier courier = new Courier(saveFile, "JE_RUN_SAVE_FILES_CHECK");
            Bard    bard    = new Bard("SelectedPath", targetPath);

            bard.InputInformation.Add("DialogResult", ResponseOptions.OK);
            AdventurerAssociation.RegisterMember(bard);
            AdventurerAssociation.RegisterMember(courier);
            MainFormInvoke(MainForm.tmiLoadJsonFiles_Click);
        }
        public void NewJsonFiles(string targetPath, ResponseOptions deleteFile = ResponseOptions.Yes)
        {
            Courier courier = new Courier(deleteFile, "JE_RUN_NEW_JSON_FILES_Q_1");
            Bard    bard    = new Bard("SelectedPath", targetPath);

            bard.InputInformation.Add("DialogResult", ResponseOptions.OK);
            AdventurerAssociation.RegisterMember(bard);
            AdventurerAssociation.RegisterMember(courier);
            MainFormInvoke(MainForm.tmiNewJsonFiles_Click);
        }
Example #13
0
            public void WhenClassContainsDuplicateAbilitiesBothAreNotRemoved()
            {
                var character = new Character();

                character.Abilities.Add(new BardicInspiration());
                var bard = new Bard();

                character.AssignClass(bard);
                character.RemoveClass();

                Assert.Contains(new BardicInspiration(), character.Abilities);
            }
Example #14
0
        private void generateClass()
        {
            int randomNumber = NumberGen.gen(12);

            if (randomNumber == 0)
            {
                characterClass = new Barbarian();
            }
            else if (randomNumber == 1)
            {
                characterClass = new Bard();
            }
            else if (randomNumber == 2)
            {
                characterClass = new Cleric();
            }
            else if (randomNumber == 3)
            {
                characterClass = new Druid();
            }
            else if (randomNumber == 4)
            {
                characterClass = new Fighter();
            }
            else if (randomNumber == 5)
            {
                characterClass = new Monk();
            }
            else if (randomNumber == 6)
            {
                characterClass = new Paladin();
            }
            else if (randomNumber == 7)
            {
                characterClass = new Ranger();
            }
            else if (randomNumber == 8)
            {
                characterClass = new Rogue();
            }
            else if (randomNumber == 9)
            {
                characterClass = new Sorcerer();
            }
            else if (randomNumber == 10)
            {
                characterClass = new Warlock();
            }
            else if (randomNumber == 11)
            {
                characterClass = new Wizard();
            }
        }
Example #15
0
            public void AbilitiesAssociatedWithAClassAreAddedToTheCharacter()
            {
                var character = new Character();
                var bard      = new Bard();

                character.AssignClass(bard);

                foreach (var ability in bard.Abilities)
                {
                    Assert.Contains(ability, character.Abilities);
                }
            }
Example #16
0
            public void WhenClassIsAssignedAbilitiesAreAddedToCharacter()
            {
                var character = new Character();
                var bard      = new Bard();

                character.AssignClass(bard);

                foreach (var ability in bard.Abilities)
                {
                    Assert.Contains(ability, character.Abilities);
                }
            }
Example #17
0
            public void WhenClassIsRemovedAbilitiesAreRemovedFromCharacter()
            {
                var character = new Character();
                var bard      = new Bard();

                character.AssignClass(bard);
                character.RemoveClass();

                foreach (var ability in bard.Abilities)
                {
                    Assert.DoesNotContain(ability, character.Abilities);
                }
            }
Example #18
0
    private void LoadPlayer(int x, int y)
    {
        Player player;

        try
        {
            PlayerType playerType = (PlayerType)Enum.Parse(typeof(PlayerType), GameEnvironment.GameSettingsManager.GetValue("character"));
            switch (playerType)
            {
            case PlayerType.Bard:
                player = new Bard();
                break;

            case PlayerType.Warrior:
                player = new Warrior();
                break;

            case PlayerType.Wizzard:
                player = new Wizzard();
                break;

            default:
                player = new Warrior();
                break;
            }
        }
        catch
        {
            player = new Warrior();
        }
        GameObjectList entities = GetObject("entities") as GameObjectList;

        entities.Add(player);
        player.SetupPlayer();
        player.MovePositionOnGrid(x, y);

        if (MultiplayerManager.Online && false)
        {
            foreach (LobbyPlayer lobbyplayer in MultiplayerManager.Party.playerlist.playerlist)
            {
                if (lobbyplayer.ishost == false)
                {
                    Item           item  = new Item(id: "player2");
                    GameObjectList items = GetObject("items") as GameObjectList;
                    entities.Add(item);
                    item.MovePositionOnGrid(50, 50);
                }
            }
        }
    }
Example #19
0
        public void CreatePlayerClass(string playerClass)
        {
            switch (playerClass)
            {
            case "Barbarian":
                PlayerClass = new Barbarian();
                break;

            case "Bard":
                PlayerClass = new Bard();
                break;

            case "Cleric":
                PlayerClass = new Cleric();
                break;

            case "Druid":
                PlayerClass = new Druid();
                break;

            case "Fighter":
                PlayerClass = new Fighter();
                break;

            case "Monk":
                PlayerClass = new Monk();
                break;

            case "Paladin":
                PlayerClass = new Paladin();
                break;

            case "Ranger":
                PlayerClass = new Ranger();
                break;

            case "Rogue":
                PlayerClass = new Rogue();
                break;

            case "Sorcerer":
                PlayerClass = new Sorcerer();
                break;

            case "Wizard":
                PlayerClass = new Wizard();
                break;
            }
        }
Example #20
0
    public static void NewClass()
    {
        Bard.Clear();
        Bard.level = 0;
        CurrentGame.game.memoryGeneral.humanClassProgress.bard.level    = 0;
        CurrentGame.game.memoryGeneral.humanClassProgress.bard.name     = "Bard";
        CurrentGame.game.memoryGeneral.humanClassProgress.bard.movement = 5;
        CurrentGame.game.memoryGeneral.humanClassProgress.bard.classWeapons.classWeapon1.type = "Light Blades";
        CurrentGame.game.memoryGeneral.humanClassProgress.bard.classWeapons.classWeapon1.rank = 3;
        CurrentGame.game.memoryGeneral.humanClassProgress.bard.classWeapons.classWeapon2.type = "Athames";
        CurrentGame.game.memoryGeneral.humanClassProgress.bard.classWeapons.classWeapon2.rank = 3;
        CurrentGame.game.memoryGeneral.humanClassProgress.bard.caps = Bard.Caplist();

        LevelUpClass();
    }
Example #21
0
        public void TestUpdateSpellsDC()
        {
            Bard bard = new Bard("bard");

            bard.Charisma             = 32;
            bard.KeyAttributeModifier = bard.GetModifier(bard.Charisma);
            int[] spellsDc = new int[10] {
                21, 22, 23, 24, 25, 26, 27, -1, -1, -1
            };

            // Act
            bard.UpdateSpellsDC();

            // Assert
            Assert.Equal(spellsDc, bard.SpellsDC);
        }
Example #22
0
        public void TestUpdateExtraSpells()
        {
            // Arrange
            Bard bard = new Bard("bard");

            bard.Charisma             = 32;
            bard.KeyAttributeModifier = bard.GetModifier(bard.Charisma);
            decimal[] extraSpells = new decimal[10] {
                0, 3, 3, 3, 2, 2, 2, -1, -1, -1
            };

            // Act
            bard.UpdateExtraSpells();

            // Assert
            Assert.Equal(extraSpells, bard.ExtraSpells);
        }
Example #23
0
        public void LoadJobClass()
        {
            switch (fface.Player.MainJob)
            {
            case Job.THF:
                job = new Thief(fface, Content.Voidwatch);
                break;

            case Job.PLD:
                job = new Paladin(fface, Content.Voidwatch);
                break;

            case Job.BLU:
                job = new BlueMage(fface, Content.Voidwatch);
                break;

            case Job.WHM:
                job = new WhiteMage(fface, Content.Voidwatch);
                break;

            case Job.GEO:
                job = new Geomancer(fface, Content.Voidwatch);
                break;

            case Job.BRD:
                job = new Bard(fface, Content.Voidwatch);
                break;

            case Job.RNG:
                job = new Ranger(fface, Content.Voidwatch);
                break;

            case Job.RUN:
                job = new RuneFencer(fface, Content.Voidwatch);
                break;

            case Job.BLM:
                job = new BlackMage(fface, Content.Voidwatch);
                break;

            case Job.RDM:
                job = new RedMage(fface, Content.Voidwatch);
                break;
            }
        }
Example #24
0
    public static void LevelUpClass()
    {
        Bard.LevelUp();
        CurrentGame.game.memoryGeneral.humanClassProgress.bard.level     = CurrentGame.game.memoryGeneral.humanClassProgress.bard.level + 1;
        CurrentGame.game.memoryGeneral.humanClassProgress.bard.modifiers = Bard.ModList();

        foreach (string id in CurrentGame.game.memoryGeneral.humanClassProgress.bard.subbed)
        {
            Unit me = new Unit();
            foreach (Unit u in CurrentGame.game.storeroom.units)
            {
                if (id == u.unitID)
                {
                    u.unitClass.main.human.bard.modifiers = CurrentGame.game.memoryGeneral.humanClassProgress.bard.modifiers;
                    u.unitClass.main.human.bard.level     = CurrentGame.game.memoryGeneral.humanClassProgress.bard.level;
                }
            }
        }
    }
Example #25
0
        public void TestBardSpellsPerDay()
        {
            // Arrange
            Bard bard = new Bard()
            {
                CharacterLevel = 5
            };

            int[] SpellsPerDayBard = new int[] { 3, 3, 1, 0, 0, 0, 0, 0, 0, 0 };

            try
            {
                // Act
                bard.CurrentDailySpells = _spellsRepository.GetSpellsSlots(bard.ClassName, bard.CharacterLevel, "DailySpells");

                // Assert
                Assert.Equal(SpellsPerDayBard, bard.CurrentDailySpells);
            }
            catch { }
        }
Example #26
0
        public void TesBardKnownSpells()
        {
            // Arrange
            Bard bard = new Bard("bard");

            int[,] spellsKnownBard = new int[20, 10] {
                { 4, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
                { 5, 2, 0, 0, 0, 0, 0, 0, 0, 0 },
                { 6, 3, 0, 0, 0, 0, 0, 0, 0, 0 },
                { 6, 3, 2, 0, 0, 0, 0, 0, 0, 0 },
                { 6, 4, 3, 0, 0, 0, 0, 0, 0, 0 },
                { 6, 4, 3, 0, 0, 0, 0, 0, 0, 0 },
                { 6, 4, 4, 2, 0, 0, 0, 0, 0, 0 },
                { 6, 4, 4, 3, 0, 0, 0, 0, 0, 0 },
                { 6, 4, 4, 3, 0, 0, 0, 0, 0, 0 },
                { 6, 4, 4, 4, 2, 0, 0, 0, 0, 0 },
                { 6, 4, 4, 4, 3, 0, 0, 0, 0, 0 },
                { 6, 4, 4, 4, 3, 0, 0, 0, 0, 0 },
                { 6, 4, 4, 4, 4, 2, 0, 0, 0, 0 },
                { 6, 4, 4, 4, 4, 3, 0, 0, 0, 0 },
                { 6, 4, 4, 4, 4, 3, 0, 0, 0, 0 },
                { 6, 5, 4, 4, 4, 4, 2, 0, 0, 0 },
                { 6, 5, 5, 4, 4, 4, 3, 0, 0, 0 },
                { 6, 5, 5, 5, 4, 4, 3, 0, 0, 0 },
                { 6, 5, 5, 5, 5, 4, 4, 0, 0, 0 },
                { 6, 5, 5, 5, 5, 5, 4, 0, 0, 0 }
            };
            try
            {
                // Act
                bard.UpdateKnownSpells();

                // Assert
                Assert.Equal(spellsKnownBard, bard.KnownSpells);
            }
            catch { }
        }
Example #27
0
        public void TestBardSpellsPerDay()
        {
            // Arrange
            Bard bard = new Bard("bard");

            int[,] SpellsPerDayBard = new int[20, 10] {
                { 2, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
                { 3, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
                { 3, 1, 0, 0, 0, 0, 0, 0, 0, 0 },
                { 3, 2, 0, 0, 0, 0, 0, 0, 0, 0 },
                { 3, 3, 1, 0, 0, 0, 0, 0, 0, 0 },
                { 3, 3, 2, 0, 0, 0, 0, 0, 0, 0 },
                { 3, 3, 2, 0, 0, 0, 0, 0, 0, 0 },
                { 3, 3, 3, 1, 0, 0, 0, 0, 0, 0 },
                { 3, 3, 3, 2, 0, 0, 0, 0, 0, 0 },
                { 3, 3, 3, 2, 0, 0, 0, 0, 0, 0 },
                { 3, 3, 3, 3, 1, 0, 0, 0, 0, 0 },
                { 3, 3, 3, 3, 2, 0, 0, 0, 0, 0 },
                { 3, 3, 3, 3, 2, 0, 0, 0, 0, 0 },
                { 4, 3, 3, 3, 3, 1, 0, 0, 0, 0 },
                { 4, 4, 3, 3, 3, 2, 0, 0, 0, 0 },
                { 4, 4, 4, 3, 3, 2, 0, 0, 0, 0 },
                { 4, 4, 4, 4, 3, 3, 1, 0, 0, 0 },
                { 4, 4, 4, 4, 4, 3, 2, 0, 0, 0 },
                { 4, 4, 4, 4, 4, 4, 3, 0, 0, 0 },
                { 4, 4, 4, 4, 4, 4, 4, 0, 0, 0 }
            };
            try
            {
                // Act
                bard.UpdateSpellsPerDay();

                // Assert
                Assert.Equal(SpellsPerDayBard, bard.DailySpells);
            }
            catch { }
        }
Example #28
0
    public void AttClassCur(int Class)
    {
        switch (Class)
        {
        case 0:
            break;

        case 1:
        {
            Bard   CurClass = new Bard();
            Skills skill_1;
            Skills skill_2;
            Skills skill_3;
            skill_1                       = CurClass.skills[0];
            skill_2                       = CurClass.skills[1];
            skill_3                       = CurClass.skills[2];
            stats.CurrentClass            = CurClass.bardClass();
            stats.currentClassLvlupPoints = CurClass.GetLvlUpPoints();
        }
        break;

        case 2:
        {
            Fighter CurClass = new Fighter();
            Skills  skill_1;
            Skills  skill_2;
            Skills  skill_3;
            skill_1                       = CurClass.skills[0];
            skill_2                       = CurClass.skills[1];
            skill_3                       = CurClass.skills[2];
            stats.CurrentClass            = CurClass.fighterClass();
            stats.currentClassLvlupPoints = CurClass.GetLvlUpPoints();
        }
        break;

        case 3:
        {
            Monk   CurClass = new Monk();
            Skills skill_1;
            Skills skill_2;
            Skills skill_3;
            skill_1                       = CurClass.skills[0];
            skill_2                       = CurClass.skills[1];
            skill_3                       = CurClass.skills[2];
            stats.CurrentClass            = CurClass.monkClass();
            stats.currentClassLvlupPoints = CurClass.GetLvlUpPoints();
        }
        break;

        case 4:
        {
            Wizard CurClass = new Wizard();
            Skills skill_1;
            Skills skill_2;
            Skills skill_3;
            skill_1                       = CurClass.skills[0];
            skill_2                       = CurClass.skills[1];
            skill_3                       = CurClass.skills[2];
            stats.CurrentClass            = CurClass.wizardClass();
            stats.currentClassLvlupPoints = CurClass.GetLvlUpPoints();
        }
        break;

        case 5:
        {
            Priest CurClass = new Priest();
            Skills skill_1;
            Skills skill_2;
            Skills skill_3;
            skill_1                       = CurClass.skills[0];
            skill_2                       = CurClass.skills[1];
            skill_3                       = CurClass.skills[2];
            stats.CurrentClass            = CurClass.priestClass();
            stats.currentClassLvlupPoints = CurClass.GetLvlUpPoints();
        }
        break;

        case 6:

            break;

        case 7:

            break;

        case 8:

            break;
        }
    }
Example #29
0
    void Classes()
    {
        switch ((int)Class)
        {
        case 1:
            att?.AttClassCur(1);
            Bard CurClass1 = new Bard();

            CurClass1.skillsList();
            skill_1                       = CurClass1.skills[0];
            skill_2                       = CurClass1.skills[1];
            skill_3                       = CurClass1.skills[2];
            stats.CurrentClass            = CurClass1.bardClass();
            stats.currentClassLvlupPoints = CurClass1.GetLvlUpPoints();
            Strength                      = 3;
            Defense                       = 5;
            Magical                       = 5;
            MagDefense                    = 7;
            Speed = 6;
            Luck  = 7;

            weapons     = Database.GetWeapon(110);
            weaponBonus = weapons.statModifier["weaponDamage"];

            break;

        case 2:
            att?.AttClassCur(2);
            Fighter CurClass2 = new Fighter();
            CurClass2.skillsList();
            skill_1                       = CurClass2.skills[0];
            skill_2                       = CurClass2.skills[1];
            skill_3                       = CurClass2.skills[2];
            stats.CurrentClass            = CurClass2.fighterClass();
            stats.currentClassLvlupPoints = CurClass2.GetLvlUpPoints();
            Strength                      = 8;
            Defense                       = 7;
            Magical                       = 4;
            MagDefense                    = 4;
            Speed = 5;
            Luck  = 5;

            weapons     = Database.GetWeapon(310);
            weaponBonus = weapons.statModifier["weaponDamage"];

            break;

        case 3:
            att?.AttClassCur(3);
            Monk CurClass3 = new Monk();
            CurClass3.skillsList();
            skill_1                       = CurClass3.skills[0];
            skill_2                       = CurClass3.skills[1];
            skill_3                       = CurClass3.skills[2];
            stats.CurrentClass            = CurClass3.monkClass();
            stats.currentClassLvlupPoints = CurClass3.GetLvlUpPoints();
            Strength                      = 4;
            Defense                       = 7;
            Magical                       = 4;
            MagDefense                    = 7;
            Speed = 5;
            Luck  = 6;

            weapons     = Database.GetWeapon(410);
            weaponBonus = weapons.statModifier["weaponDamage"];

            break;

        case 4:
            att?.AttClassCur(4);
            Wizard CurClass4 = new Wizard();
            CurClass4.skillsList();
            skill_1                       = CurClass4.skills[0];
            skill_2                       = CurClass4.skills[1];
            skill_3                       = CurClass4.skills[2];
            stats.CurrentClass            = CurClass4.wizardClass();
            stats.currentClassLvlupPoints = CurClass4.GetLvlUpPoints();
            Strength                      = 3;
            Defense                       = 4;
            Magical                       = 8;
            MagDefense                    = 8;
            Speed = 4;
            Luck  = 6;

            weapons     = Database.GetWeapon(110);
            weaponBonus = weapons.statModifier["weaponDamage"];

            break;

        case 5:
            att?.AttClassCur(5);
            Priest CurClass5 = new Priest();
            CurClass5.skillsList();
            skill_1                       = CurClass5.skills[0];
            skill_2                       = CurClass5.skills[1];
            skill_3                       = CurClass5.skills[2];
            stats.CurrentClass            = CurClass5.priestClass();
            stats.currentClassLvlupPoints = CurClass5.GetLvlUpPoints();
            Strength                      = 3;
            Defense                       = 4;
            Magical                       = 7;
            MagDefense                    = 8;
            Speed = 5;
            Luck  = 6;

            weapons     = Database.GetWeapon(410);
            weaponBonus = weapons.statModifier["weaponDamage"];

            break;
        }
    }
Example #30
0
 public void Init()
 {
     Bard = new Bard();
 }
        public Player CreateCharacter(string Class, UserInteraction ui)
        {
            Class = Class.ToLower();
            Player newChar;
            switch(Class)
            {
                case "barbarian":
                    newChar = new Barbarian(new int[] { 15, 15, 15, 10, 9, 10 });
                    newChar.SetArmor(Armors.chainShirt);
                    newChar.SetMainHand(new MasterworkWeapon(Weapons.battleaxe));
                    newChar.SetName("Bob");
                    break;

                case "bard":
                    newChar = new Bard(new int[] { 15, 10, 15, 10, 9, 15 });
                    newChar.SetArmor(Armors.leatherArmor);
                    newChar.SetMainHand(new MasterworkWeapon(Weapons.rapier));
                    newChar.SetName("Bill");
                    break;

                case "cleric":
                    newChar = new Cleric(new int[] { 15, 10, 15, 15, 9, 10 });
                    newChar.SetArmor(Armors.breastplate);
                    newChar.SetMainHand(new MasterworkWeapon(Weapons.heavyMace));
                    newChar.SetOffHand(Armors.heavyWoodenShield);
                    newChar.SetName("Chad");
                    break;

                case "druid":
                    newChar = new Druid(new int[] { 15, 10, 15, 15, 9, 10 });
                    newChar.SetArmor(Armors.hideArmor);
                    newChar.SetMainHand(new MasterworkWeapon(Weapons.club));
                    newChar.SetOffHand(Armors.heavyWoodenShield);
                    newChar.SetName("Dave");
                    break;

                case "fighter":
                    newChar = new Fighter(new int[] { 15, 15, 15, 10, 9, 10 });
                    newChar.SetArmor(Armors.breastplate);
                    newChar.SetMainHand(new MasterworkWeapon(Weapons.longsword));
                    newChar.SetOffHand(Armors.heavyWoodenShield);
                    newChar.SetName("Frank");
                    break;

                case "monk":
                    newChar = new Monk(new int[] { 15, 10, 15, 10, 15, 9 });
                    newChar.SetMainHand(new MasterworkWeapon(Weapons.quarterstaff));
                    newChar.SetName("Molly");
                    break;

                case "paladin":
                    newChar = new Paladin(new int[] { 15, 10, 15, 9, 15, 10 });
                    newChar.SetArmor(Armors.breastplate);
                    newChar.SetMainHand(new MasterworkWeapon(Weapons.longsword));
                    newChar.SetOffHand(Armors.heavyWoodenShield);
                    newChar.SetName("Phil");
                    break;

                case "ranger":
                    newChar = new Ranger(new int[] { 15, 10, 15, 9, 15, 10 });
                    newChar.SetArmor(Armors.leatherArmor);
                    newChar.SetMainHand(new MasterworkWeapon(Weapons.longbow));
                    newChar.SetName("Randy");
                    break;

                case "rogue":
                    newChar = new Rogue(new int[] { 15, 10, 15, 15, 9, 10 });
                    newChar.SetArmor(Armors.leatherArmor);
                    newChar.SetMainHand(new MasterworkWeapon(Weapons.rapier));
                    newChar.SetName("Rudy");
                    break;

                case "sorcerer":
                    newChar = new Sorcerer(new int[] { 10, 15, 15, 10, 9, 15 });
                    newChar.SetMainHand(new MasterworkWeapon(Weapons.lightCrossbow));
                    newChar.SetName("Steve");
                    break;

                case "wizard":
                    newChar = new Wizard(new int[] { 10, 15, 15, 15, 9, 10 });
                    newChar.SetMainHand(new MasterworkWeapon(Weapons.lightCrossbow));
                    newChar.SetName("Willis");
                    break;

                default:
                    newChar =  new Barbarian(new int[] { 10, 10, 10, 10, 10, 10 });
                    newChar.SetArmor(Armors.chainShirt);
                    newChar.SetMainHand(new MasterworkWeapon(Weapons.battleaxe));
                    newChar.SetName("Default");
                    break;
            }
            newChar.SetUI(ui);
            newChar.AddItems(new Item[] { Consumables.minorHealthPotion, Consumables.minorHealthPotion, Consumables.minorManaPotion, Consumables.minorManaPotion, Consumables.minorHarmingPotion, Consumables.minorHarmingPotion });
            return newChar;
        }