Example #1
0
        public Crusader(Classes.Cleric cleric)
        {
            Name = "Crusader";
            ArchetypeAbilities = new List <ArchetypeAbility>
            {
                new ArchetypeAbility
                {
                    Name   = "Diminished Spellcasting",
                    Level  = 1,
                    Add    = () => cleric.DiminishedSpellCasting(true),
                    Remove = () => cleric.DiminishedSpellCasting(false),
                },
                new ArchetypeAbility
                {
                    Name  = "Bonus Feat",
                    Level = 1,
                },
                new ArchetypeAbility
                {
                    Name  = "Legion's Blessing",
                    Level = 1,
                }
            };

            for (int i = 5; i <= 20; i += 5)
            {
                ArchetypeAbilities.Add(new ArchetypeAbility
                {
                    Name  = "Bonus Feat",
                    Level = i,
                });
            }
        }
Example #2
0
 public CloisteredCleric(Classes.Cleric cleric)
 {
     Name = "Cloistered Cleric";
     ArchetypeAbilities = new List <ArchetypeAbility>
     {
         new ArchetypeAbility
         {
             Name              = "Diminished Spellcasting",
             Level             = 1,
             ReplacedAbilities = new List <ClassAbility> {
                 cleric.Spells
             },
             Add    = () => cleric.DiminishedSpellCasting(true),
             Remove = () => cleric.DiminishedSpellCasting(false)
         },
         new ArchetypeAbility
         {
             Name              = "Domain",
             Level             = 1,
             ReplacedAbilities = new List <ClassAbility> {
                 cleric.Domains
             },
         },
         new ArchetypeAbility
         {
             Name  = "Breadth of Knowledge",
             Level = 1,
         },
         new ArchetypeAbility
         {
             Name  = "Well-Read",
             Level = 2,
         },
         new ArchetypeAbility
         {
             Name  = "Verbal Instruction",
             Level = 3,
         },
         new ArchetypeAbility
         {
             Name  = "Scribe Scroll",
             Level = 4,
         }
     };
 }
        public AngelfireApostle(Classes.Cleric cleric)
        {
            Name = "Angelfire Apostle";
            ArchetypeAbilities = new List <ArchetypeAbility>
            {
                new ArchetypeAbility
                {
                    Name              = "Diminished Spellcasting",
                    Level             = 1,
                    ReplacedAbilities = new List <ClassAbility> {
                        cleric.Spells
                    },
                    Add    = () => cleric.DiminishedSpellCasting(true),
                    Remove = () => cleric.DiminishedSpellCasting(false)
                },
                new ArchetypeAbility
                {
                    Name  = "Extra Channel",
                    Level = 1,
                },
                new ArchetypeAbility
                {
                    Name  = "Versatile Healing Channel",
                    Level = 5,
                },
                new ArchetypeAbility
                {
                    Name  = "Cleansing Flames",
                    Level = 9,
                }
            };

            ArchetypeAbilities.AddRange(cleric.ClassAbilities
                                        .Where(a => a.Name.Contains("Channel Energy"))
                                        .Select(a => new ArchetypeAbility
            {
                Name              = a.Name.Replace("Channel Energy", "Channel Angelfire"),
                Level             = a.Level,
                ReplacedAbilities = new List <ClassAbility> {
                    a
                },
            }));
        }
Example #4
0
 public ChannelerOfTheUnknown(Classes.Cleric cleric)
 {
     Name = "Channeler of the Unknown";
     ArchetypeAbilities = new List <ArchetypeAbility>
     {
         new ArchetypeAbility
         {
             Name              = "Spells",
             Level             = 1,
             ReplacedAbilities = new List <ClassAbility> {
                 cleric.Spells
             },
             Add    = () => cleric.DiminishedSpellCasting(true),
             Remove = () => cleric.DiminishedSpellCasting(false),
         },
         new ArchetypeAbility
         {
             Name              = "Unknown Aura",
             Level             = 1,
             ReplacedAbilities = new List <ClassAbility> {
                 cleric.Aura
             },
         },
         new ArchetypeAbility
         {
             Name              = "Power of the Unknown",
             Level             = 1,
             ReplacedAbilities = new List <ClassAbility> {
                 cleric.Domains
             },
         },
         new ArchetypeAbility
         {
             Name              = "Spontaneous Casting",
             Level             = 1,
             ReplacedAbilities = new List <ClassAbility> {
                 cleric.SpontaneousCasting
             },
         }
     };
 }