Пример #1
0
        public void SpellcastingFeat(int level, SpellCasterType type)
        {
            switch (type)
            {
            case (SpellCasterType.Full):
                switch (level)
                {
                case (1):
                    spellSlotsMax[1] += 2;
                    break;

                case (2):
                    spellSlotsMax[1] += 3;
                    break;

                case (3):
                    spellSlotsMax[1] += 4;
                    spellSlotsMax[2] += 2;
                    break;

                case (4):
                    spellSlotsMax[1] += 4;
                    spellSlotsMax[2] += 3;
                    break;

                case (5):
                    spellSlotsMax[1] += 4;
                    spellSlotsMax[2] += 3;
                    spellSlotsMax[3] += 2;
                    break;

                case (6):
                    spellSlotsMax[1] += 4;
                    spellSlotsMax[2] += 3;
                    spellSlotsMax[3] += 3;
                    break;

                case (7):
                    spellSlotsMax[1] += 4;
                    spellSlotsMax[2] += 3;
                    spellSlotsMax[3] += 3;
                    spellSlotsMax[4] += 1;
                    break;

                case (8):
                    spellSlotsMax[1] += 4;
                    spellSlotsMax[2] += 3;
                    spellSlotsMax[3] += 3;
                    spellSlotsMax[4] += 2;
                    break;

                case (9):
                    spellSlotsMax[1] += 4;
                    spellSlotsMax[2] += 3;
                    spellSlotsMax[3] += 3;
                    spellSlotsMax[4] += 3;
                    spellSlotsMax[5] += 1;
                    break;

                case (10):
                    spellSlotsMax[1] += 4;
                    spellSlotsMax[2] += 3;
                    spellSlotsMax[3] += 3;
                    spellSlotsMax[4] += 3;
                    spellSlotsMax[5] += 2;
                    break;

                case (11):
                    spellSlotsMax[1] += 4;
                    spellSlotsMax[2] += 3;
                    spellSlotsMax[3] += 3;
                    spellSlotsMax[4] += 3;
                    spellSlotsMax[5] += 2;
                    spellSlotsMax[6] += 1;
                    break;

                case (12):
                    spellSlotsMax[1] += 4;
                    spellSlotsMax[2] += 3;
                    spellSlotsMax[3] += 3;
                    spellSlotsMax[4] += 3;
                    spellSlotsMax[5] += 2;
                    spellSlotsMax[6] += 1;
                    break;

                case (13):
                    spellSlotsMax[1] += 4;
                    spellSlotsMax[2] += 3;
                    spellSlotsMax[3] += 3;
                    spellSlotsMax[4] += 3;
                    spellSlotsMax[5] += 2;
                    spellSlotsMax[6] += 1;
                    spellSlotsMax[7] += 1;
                    break;

                case (14):
                    spellSlotsMax[1] += 4;
                    spellSlotsMax[2] += 3;
                    spellSlotsMax[3] += 3;
                    spellSlotsMax[4] += 3;
                    spellSlotsMax[5] += 2;
                    spellSlotsMax[6] += 1;
                    spellSlotsMax[7] += 1;
                    break;

                case (15):
                    spellSlotsMax[1] += 4;
                    spellSlotsMax[2] += 3;
                    spellSlotsMax[3] += 3;
                    spellSlotsMax[4] += 3;
                    spellSlotsMax[5] += 2;
                    spellSlotsMax[6] += 1;
                    spellSlotsMax[7] += 1;
                    spellSlotsMax[8] += 1;
                    break;

                case (16):
                    spellSlotsMax[1] += 4;
                    spellSlotsMax[2] += 3;
                    spellSlotsMax[3] += 3;
                    spellSlotsMax[4] += 3;
                    spellSlotsMax[5] += 2;
                    spellSlotsMax[6] += 1;
                    spellSlotsMax[7] += 1;
                    spellSlotsMax[8] += 1;
                    break;

                case (17):
                    spellSlotsMax[1] += 4;
                    spellSlotsMax[2] += 3;
                    spellSlotsMax[3] += 3;
                    spellSlotsMax[4] += 3;
                    spellSlotsMax[5] += 2;
                    spellSlotsMax[6] += 1;
                    spellSlotsMax[7] += 1;
                    spellSlotsMax[8] += 1;
                    spellSlotsMax[9] += 1;
                    break;

                case (18):
                    spellSlotsMax[1] += 4;
                    spellSlotsMax[2] += 3;
                    spellSlotsMax[3] += 3;
                    spellSlotsMax[4] += 3;
                    spellSlotsMax[5] += 3;
                    spellSlotsMax[6] += 1;
                    spellSlotsMax[7] += 1;
                    spellSlotsMax[8] += 1;
                    spellSlotsMax[9] += 1;
                    break;

                case (19):
                    spellSlotsMax[1] += 4;
                    spellSlotsMax[2] += 3;
                    spellSlotsMax[3] += 3;
                    spellSlotsMax[4] += 3;
                    spellSlotsMax[5] += 3;
                    spellSlotsMax[6] += 2;
                    spellSlotsMax[7] += 1;
                    spellSlotsMax[8] += 1;
                    spellSlotsMax[9] += 1;
                    break;

                case (20):
                    spellSlotsMax[1] += 4;
                    spellSlotsMax[2] += 3;
                    spellSlotsMax[3] += 3;
                    spellSlotsMax[4] += 3;
                    spellSlotsMax[5] += 3;
                    spellSlotsMax[6] += 2;
                    spellSlotsMax[7] += 2;
                    spellSlotsMax[8] += 1;
                    spellSlotsMax[9] += 1;
                    break;
                }
                break;
            }
        }
Пример #2
0
        public SpellSlots(int spellcasterLevel, SpellCasterType type)
        {
            spellSlotsMax = new Dictionary <int, int>()
            {
                { 1, 0 }, { 2, 0 }, { 3, 0 }, { 4, 0 }, { 5, 0 }, { 6, 0 }, { 7, 0 }, { 8, 0 }, { 9, 0 }
            };

            if (type == SpellCasterType.Full)
            {
                switch (spellcasterLevel)
                {
                case (1):
                    spellSlotsMax = new Dictionary <int, int>()
                    {
                        { 1, 2 }, { 2, 0 }, { 3, 0 }, { 4, 0 }, { 5, 0 }, { 6, 0 }, { 7, 0 }, { 8, 0 }, { 9, 0 }
                    };
                    break;

                case (2):
                    spellSlotsMax = new Dictionary <int, int>()
                    {
                        { 1, 3 }, { 2, 0 }, { 3, 0 }, { 4, 0 }, { 5, 0 }, { 6, 0 }, { 7, 0 }, { 8, 0 }, { 9, 0 }
                    };
                    break;

                case (3):
                    spellSlotsMax = new Dictionary <int, int>()
                    {
                        { 1, 4 }, { 2, 2 }, { 3, 0 }, { 4, 0 }, { 5, 0 }, { 6, 0 }, { 7, 0 }, { 8, 0 }, { 9, 0 }
                    };
                    break;

                case (4):
                    spellSlotsMax = new Dictionary <int, int>()
                    {
                        { 1, 4 }, { 2, 3 }, { 3, 0 }, { 4, 0 }, { 5, 0 }, { 6, 0 }, { 7, 0 }, { 8, 0 }, { 9, 0 }
                    };
                    break;

                case (5):
                    spellSlotsMax = new Dictionary <int, int>()
                    {
                        { 1, 4 }, { 2, 3 }, { 3, 2 }, { 4, 0 }, { 5, 0 }, { 6, 0 }, { 7, 0 }, { 8, 0 }, { 9, 0 }
                    };
                    break;

                case (6):
                    spellSlotsMax = new Dictionary <int, int>()
                    {
                        { 1, 4 }, { 2, 3 }, { 3, 3 }, { 4, 0 }, { 5, 0 }, { 6, 0 }, { 7, 0 }, { 8, 0 }, { 9, 0 }
                    };
                    break;

                case (7):
                    spellSlotsMax = new Dictionary <int, int>()
                    {
                        { 1, 4 }, { 2, 3 }, { 3, 3 }, { 4, 1 }, { 5, 0 }, { 6, 0 }, { 7, 0 }, { 8, 0 }, { 9, 0 }
                    };
                    break;

                case (8):
                    spellSlotsMax = new Dictionary <int, int>()
                    {
                        { 1, 4 }, { 2, 3 }, { 3, 3 }, { 4, 2 }, { 5, 0 }, { 6, 0 }, { 7, 0 }, { 8, 0 }, { 9, 0 }
                    };
                    break;

                case (9):
                    spellSlotsMax = new Dictionary <int, int>()
                    {
                        { 1, 4 }, { 2, 3 }, { 3, 3 }, { 4, 3 }, { 5, 1 }, { 6, 0 }, { 7, 0 }, { 8, 0 }, { 9, 0 }
                    };
                    break;

                case (10):
                    spellSlotsMax = new Dictionary <int, int>()
                    {
                        { 1, 4 }, { 2, 3 }, { 3, 3 }, { 4, 3 }, { 5, 2 }, { 6, 0 }, { 7, 0 }, { 8, 0 }, { 9, 0 }
                    };
                    break;

                case (11):
                    spellSlotsMax = new Dictionary <int, int>()
                    {
                        { 1, 4 }, { 2, 3 }, { 3, 3 }, { 4, 3 }, { 5, 2 }, { 6, 1 }, { 7, 0 }, { 8, 0 }, { 9, 0 }
                    };
                    break;

                case (12):
                    spellSlotsMax = new Dictionary <int, int>()
                    {
                        { 1, 4 }, { 2, 3 }, { 3, 3 }, { 4, 3 }, { 5, 2 }, { 6, 1 }, { 7, 0 }, { 8, 0 }, { 9, 0 }
                    };
                    break;

                case (13):
                    spellSlotsMax = new Dictionary <int, int>()
                    {
                        { 1, 4 }, { 2, 3 }, { 3, 3 }, { 4, 3 }, { 5, 2 }, { 6, 1 }, { 7, 1 }, { 8, 0 }, { 9, 0 }
                    };
                    break;

                case (14):
                    spellSlotsMax = new Dictionary <int, int>()
                    {
                        { 1, 4 }, { 2, 3 }, { 3, 3 }, { 4, 3 }, { 5, 2 }, { 6, 1 }, { 7, 1 }, { 8, 0 }, { 9, 0 }
                    };
                    break;

                case (15):
                    spellSlotsMax = new Dictionary <int, int>()
                    {
                        { 1, 4 }, { 2, 3 }, { 3, 3 }, { 4, 3 }, { 5, 2 }, { 6, 1 }, { 7, 1 }, { 8, 1 }, { 9, 0 }
                    };
                    break;

                case (16):
                    spellSlotsMax = new Dictionary <int, int>()
                    {
                        { 1, 4 }, { 2, 3 }, { 3, 3 }, { 4, 3 }, { 5, 2 }, { 6, 1 }, { 7, 1 }, { 8, 1 }, { 9, 0 }
                    };
                    break;

                case (17):
                    spellSlotsMax = new Dictionary <int, int>()
                    {
                        { 1, 4 }, { 2, 3 }, { 3, 3 }, { 4, 3 }, { 5, 2 }, { 6, 1 }, { 7, 1 }, { 8, 1 }, { 9, 1 }
                    };
                    break;

                case (18):
                    spellSlotsMax = new Dictionary <int, int>()
                    {
                        { 1, 4 }, { 2, 3 }, { 3, 3 }, { 4, 3 }, { 5, 3 }, { 6, 1 }, { 7, 1 }, { 8, 1 }, { 9, 1 }
                    };
                    break;

                case (19):
                    spellSlotsMax = new Dictionary <int, int>()
                    {
                        { 1, 4 }, { 2, 3 }, { 3, 3 }, { 4, 3 }, { 5, 3 }, { 6, 2 }, { 7, 1 }, { 8, 1 }, { 9, 1 }
                    };
                    break;

                case (20):
                    spellSlotsMax = new Dictionary <int, int>()
                    {
                        { 1, 4 }, { 2, 3 }, { 3, 3 }, { 4, 3 }, { 5, 3 }, { 6, 2 }, { 7, 2 }, { 8, 1 }, { 9, 1 }
                    };
                    break;
                }
            }
            else if (type == SpellCasterType.Half)
            {
            }
            else if (type == SpellCasterType.Third)
            {
            }
            else if (type == SpellCasterType.Warlock)
            {
                switch (spellcasterLevel)
                {
                case (1):
                    spellSlotsMax = new Dictionary <int, int>()
                    {
                        { 1, 1 }, { 2, 0 }, { 3, 0 }, { 4, 0 }, { 5, 0 }, { 6, 0 }, { 7, 0 }, { 8, 0 }, { 9, 0 }
                    };
                    break;

                case (2):
                    spellSlotsMax = new Dictionary <int, int>()
                    {
                        { 1, 2 }, { 2, 0 }, { 3, 0 }, { 4, 0 }, { 5, 0 }, { 6, 0 }, { 7, 0 }, { 8, 0 }, { 9, 0 }
                    };
                    break;

                case (3):
                    spellSlotsMax = new Dictionary <int, int>()
                    {
                        { 1, 0 }, { 2, 2 }, { 3, 0 }, { 4, 0 }, { 5, 0 }, { 6, 0 }, { 7, 0 }, { 8, 0 }, { 9, 0 }
                    };
                    break;

                case (4):
                    spellSlotsMax = new Dictionary <int, int>()
                    {
                        { 1, 0 }, { 2, 2 }, { 3, 0 }, { 4, 0 }, { 5, 0 }, { 6, 0 }, { 7, 0 }, { 8, 0 }, { 9, 0 }
                    };
                    break;

                case (5):
                    spellSlotsMax = new Dictionary <int, int>()
                    {
                        { 1, 0 }, { 2, 0 }, { 3, 2 }, { 4, 0 }, { 5, 0 }, { 6, 0 }, { 7, 0 }, { 8, 0 }, { 9, 0 }
                    };
                    break;

                case (6):
                    spellSlotsMax = new Dictionary <int, int>()
                    {
                        { 1, 0 }, { 2, 0 }, { 3, 2 }, { 4, 0 }, { 5, 0 }, { 6, 0 }, { 7, 0 }, { 8, 0 }, { 9, 0 }
                    };
                    break;

                case (7):
                    spellSlotsMax = new Dictionary <int, int>()
                    {
                        { 1, 0 }, { 2, 0 }, { 3, 0 }, { 4, 2 }, { 5, 0 }, { 6, 0 }, { 7, 0 }, { 8, 0 }, { 9, 0 }
                    };
                    break;

                case (8):
                    spellSlotsMax = new Dictionary <int, int>()
                    {
                        { 1, 0 }, { 2, 0 }, { 3, 0 }, { 4, 2 }, { 5, 0 }, { 6, 0 }, { 7, 0 }, { 8, 0 }, { 9, 0 }
                    };
                    break;

                case (9):
                    spellSlotsMax = new Dictionary <int, int>()
                    {
                        { 1, 0 }, { 2, 0 }, { 3, 0 }, { 4, 0 }, { 5, 2 }, { 6, 0 }, { 7, 0 }, { 8, 0 }, { 9, 0 }
                    };
                    break;

                case (10):
                    spellSlotsMax = new Dictionary <int, int>()
                    {
                        { 1, 0 }, { 2, 0 }, { 3, 0 }, { 4, 0 }, { 5, 2 }, { 6, 0 }, { 7, 0 }, { 8, 0 }, { 9, 0 }
                    };
                    break;

                case (11):
                    spellSlotsMax = new Dictionary <int, int>()
                    {
                        { 1, 0 }, { 2, 0 }, { 3, 0 }, { 4, 0 }, { 5, 3 }, { 6, 0 }, { 7, 0 }, { 8, 0 }, { 9, 0 }
                    };
                    break;

                case (12):
                    spellSlotsMax = new Dictionary <int, int>()
                    {
                        { 1, 0 }, { 2, 0 }, { 3, 0 }, { 4, 0 }, { 5, 3 }, { 6, 0 }, { 7, 0 }, { 8, 0 }, { 9, 0 }
                    };
                    break;

                case (13):
                    spellSlotsMax = new Dictionary <int, int>()
                    {
                        { 1, 0 }, { 2, 0 }, { 3, 0 }, { 4, 0 }, { 5, 3 }, { 6, 0 }, { 7, 0 }, { 8, 0 }, { 9, 0 }
                    };
                    break;

                case (14):
                    spellSlotsMax = new Dictionary <int, int>()
                    {
                        { 1, 0 }, { 2, 0 }, { 3, 0 }, { 4, 0 }, { 5, 3 }, { 6, 0 }, { 7, 0 }, { 8, 0 }, { 9, 0 }
                    };
                    break;

                case (15):
                    spellSlotsMax = new Dictionary <int, int>()
                    {
                        { 1, 0 }, { 2, 0 }, { 3, 0 }, { 4, 0 }, { 5, 3 }, { 6, 0 }, { 7, 0 }, { 8, 0 }, { 9, 0 }
                    };
                    break;

                case (16):
                    spellSlotsMax = new Dictionary <int, int>()
                    {
                        { 1, 0 }, { 2, 0 }, { 3, 0 }, { 4, 0 }, { 5, 3 }, { 6, 0 }, { 7, 0 }, { 8, 0 }, { 9, 0 }
                    };
                    break;

                case (17):
                    spellSlotsMax = new Dictionary <int, int>()
                    {
                        { 1, 0 }, { 2, 0 }, { 3, 0 }, { 4, 0 }, { 5, 4 }, { 6, 0 }, { 7, 0 }, { 8, 0 }, { 9, 0 }
                    };
                    break;

                case (18):
                    spellSlotsMax = new Dictionary <int, int>()
                    {
                        { 1, 0 }, { 2, 0 }, { 3, 0 }, { 4, 0 }, { 5, 4 }, { 6, 0 }, { 7, 0 }, { 8, 0 }, { 9, 0 }
                    };
                    break;

                case (19):
                    spellSlotsMax = new Dictionary <int, int>()
                    {
                        { 1, 0 }, { 2, 0 }, { 3, 0 }, { 4, 0 }, { 5, 4 }, { 6, 0 }, { 7, 0 }, { 8, 0 }, { 9, 0 }
                    };
                    break;

                case (20):
                    spellSlotsMax = new Dictionary <int, int>()
                    {
                        { 1, 0 }, { 2, 0 }, { 3, 0 }, { 4, 0 }, { 5, 4 }, { 6, 0 }, { 7, 0 }, { 8, 0 }, { 9, 0 }
                    };
                    break;
                }
            }

            spellSlotsCurrent = new Dictionary <int, int>(spellSlotsMax);
        }