public VerdantGrappler(Classes.Brawler brawler)
 {
     Name = "Verdant Grappler";
     ArchetypeAbilities = new List <ArchetypeAbility>
     {
         new ArchetypeAbility
         {
             Name              = "Green Grasp",
             Level             = 2,
             ReplacedAbilities = new List <ClassAbility> {
                 brawler.BonusCombatFeat2
             },
         },
         new ArchetypeAbility
         {
             Name              = "Thorny Embrace",
             Level             = 5,
             ReplacedAbilities = new List <ClassAbility> {
                 brawler.CloseWeaponMastery
             },
         },
         new ArchetypeAbility
         {
             Name              = "Phytological Anatomy",
             Level             = 11,
             ReplacedAbilities = new List <ClassAbility> {
                 brawler.BonusCombatFeat11
             },
         }
     };
 }
Beispiel #2
0
 public StrongSideBoxer(Classes.Brawler brawler)
 {
     Name = "Strong-Side Boxer";
     ArchetypeAbilities = new List <ArchetypeAbility>
     {
         new ArchetypeAbility
         {
             Name              = "Shield-Hand",
             Level             = 1,
             ReplacedAbilities = new List <ClassAbility>(brawler.ClassAbilities.Where(a => a.Name.Contains("AC Bonus"))),
         },
         new ArchetypeAbility
         {
             Name              = "Strong-Side Fist",
             Level             = 1,
             ReplacedAbilities = new List <ClassAbility>(brawler.ClassAbilities.Where(a => a.Name.Contains("Maneuver Training"))),
         },
         new ArchetypeAbility
         {
             Name              = "Lead Leg",
             Level             = 5,
             ReplacedAbilities = new List <ClassAbility> {
                 brawler.CloseWeaponMastery
             },
         }
     };
 }
 public Exemplar(Classes.Brawler brawler)
 {
     Name = "Exemplar";
     ArchetypeAbilities = new List <ArchetypeAbility>
     {
         new ArchetypeAbility
         {
             Name              = "Call to Arms",
             Level             = 1,
             ReplacedAbilities = new List <ClassAbility>(brawler.ClassAbilities.Where(a => a.Name.Contains("Unarmed Strike")))
             {
                 brawler.CloseWeaponMastery
             }
         },
         new ArchetypeAbility
         {
             Name              = "Inspiring Prowess",
             Level             = 3,
             ReplacedAbilities = new List <ClassAbility>(brawler.ClassAbilities.Where(a => a.Name.Contains("Maneuver Training") || a.Name.Contains("AC Bonus"))),
         },
         new ArchetypeAbility
         {
             Name              = "Field Instruction",
             Level             = 5,
             ReplacedAbilities = new List <ClassAbility>(brawler.ClassAbilities.Where(a => a.Name.Contains("Brawler's Strike")))
         }
     };
 }
Beispiel #4
0
        public SteelBreaker(Classes.Brawler brawler)
        {
            Name = "Steel-Breaker";
            ArchetypeAbilities = new List <ArchetypeAbility>
            {
                new ArchetypeAbility
                {
                    Name              = "Exploit Weakness",
                    Level             = 5,
                    ReplacedAbilities = new List <ClassAbility>(brawler.ClassAbilities.Where(a => a.Name.Contains("Brawler's Strike"))),
                },
                new ArchetypeAbility
                {
                    Name  = "Sunder Training",
                    Level = 3,
                }
            };

            ArchetypeAbilities.AddRange(brawler.ClassAbilities
                                        .Where(a => a.Name.Contains("Maneuver Training"))
                                        .Select(a => new ArchetypeAbility
            {
                Name              = a.Name,
                Level             = a.Level,
                ReplacedAbilities = new List <ClassAbility> {
                    a
                },
            }));
        }
Beispiel #5
0
 public ShieldChampion(Classes.Brawler brawler)
 {
     Name = "Shield Champion";
     ArchetypeAbilities = new List <ArchetypeAbility>
     {
         new ArchetypeAbility
         {
             Name              = "Throw Shield",
             Level             = 3,
             ReplacedAbilities = new List <ClassAbility> {
                 brawler.ManeuverTraining3, brawler.ManeuverTraining7, brawler.ManeuverTraining11
             },
         },
         new ArchetypeAbility
         {
             Name              = "Champion Defense",
             Level             = 15,
             ReplacedAbilities = new List <ClassAbility> {
                 brawler.ManeuverTraining15, brawler.ManeuverTraining19
             },
         },
         new ArchetypeAbility
         {
             Name              = "Returning Shield",
             Level             = 5,
             ReplacedAbilities = new List <ClassAbility>(brawler.ClassAbilities.Where(a => a.Name.Contains("Brawler's Strike"))),
         }
     };
 }
Beispiel #6
0
        public Strangler(Classes.Brawler brawler)
        {
            Name = "Strangler";
            ArchetypeAbilities = new List <ArchetypeAbility>
            {
                new ArchetypeAbility
                {
                    Name              = "Strangle +1d6",
                    Level             = 1,
                    ReplacedAbilities = new List <ClassAbility>(brawler.ClassAbilities.Where(a => a.Name.Contains("Unarmed Strike") || a.Name.Contains("Brawler's Flurry"))),
                },
                new ArchetypeAbility
                {
                    Name  = "Strangle +2d6",
                    Level = 2,
                },
                new ArchetypeAbility
                {
                    Name  = "Strangle +3d6",
                    Level = 8,
                },
                new ArchetypeAbility
                {
                    Name  = "Strangle +4d6",
                    Level = 15,
                },
                new ArchetypeAbility
                {
                    Name              = "Practiced Strangler",
                    Level             = 2,
                    ReplacedAbilities = new List <ClassAbility>(brawler.ClassAbilities.Where(a => a.Name.Contains("AC Bonus"))),
                },
                new ArchetypeAbility
                {
                    Name              = "Neckbreaker",
                    Level             = 16,
                    ReplacedAbilities = new List <ClassAbility> {
                        brawler.AwesomeBlow, brawler.ImprovedAwesomeBlow
                    },
                }
            };

            ArchetypeAbilities.AddRange(brawler.ClassAbilities
                                        .Where(a => a.Name.Contains("Knockout"))
                                        .Select(a => new ArchetypeAbility
            {
                Name              = a.Name.Replace("Knockout", "Sleeper Hold"),
                Level             = a.Level,
                ReplacedAbilities = new List <ClassAbility> {
                    a
                },
            }));
        }
        public LivingAvalanche(Classes.Brawler brawler)
        {
            Name = "Living Avalanche";
            ArchetypeAbilities = new List <ArchetypeAbility>
            {
                new ArchetypeAbility
                {
                    Name              = "Earth Discipline",
                    Level             = 2,
                    ReplacedAbilities = new List <ClassAbility> {
                        brawler.BonusCombatFeat2, brawler.BonusCombatFeat5
                    },
                },
                new ArchetypeAbility
                {
                    Name              = "Avalanche",
                    Level             = 16,
                    ReplacedAbilities = new List <ClassAbility> {
                        brawler.AwesomeBlow
                    },
                },
                new ArchetypeAbility
                {
                    Name              = "Improved Avalanche",
                    Level             = 20,
                    ReplacedAbilities = new List <ClassAbility> {
                        brawler.ImprovedAwesomeBlow
                    },
                }
            };

            ArchetypeAbilities.AddRange(brawler.ClassAbilities
                                        .Where(a => a.Name.Contains("Maneuver Training"))
                                        .Select(a => new ArchetypeAbility
            {
                Name              = a.Name.Replace("Maneuver Training", "Landslide"),
                Level             = a.Level,
                ReplacedAbilities = new List <ClassAbility> {
                    a
                },
            }));

            ArchetypeAbilities.AddRange(brawler.ClassAbilities
                                        .Where(a => a.Name.Contains("AC Bonus"))
                                        .Select(a => new ArchetypeAbility
            {
                Name              = a.Name.Replace("AC Bonus +", "Unyielding ") + "/adamantine",
                Level             = a.Level,
                ReplacedAbilities = new List <ClassAbility> {
                    a
                },
            }));
        }
 public FeralStriker(Classes.Brawler brawler)
 {
     Name = "Feral Striker";
     ArchetypeAbilities = new List <ArchetypeAbility>
     {
         new ArchetypeAbility
         {
             Name              = "Feral Aspect",
             Level             = 1,
             ReplacedAbilities = new List <ClassAbility> {
                 brawler.MartialFlexibility
             },
         }
     };
 }
Beispiel #9
0
 public Venomfist(Classes.Brawler brawler)
 {
     Name = "Venomfist";
     ArchetypeAbilities = new List <ArchetypeAbility>
     {
         new ArchetypeAbility
         {
             Name              = "Venomous Strike",
             Level             = 1,
             ReplacedAbilities = new List <ClassAbility>(brawler.ClassAbilities.Where(a => a.Name.Contains("Knockout") || a.Name.Contains("Unarmed Strike")))
             {
                 brawler.CloseWeaponMastery
             },
         }
     };
 }
Beispiel #10
0
        public SnakebiteStriker(Classes.Brawler brawler)
        {
            Name = "Snakebite Striker";
            ArchetypeAbilities = new List <ArchetypeAbility>
            {
                new ArchetypeAbility
                {
                    Name              = "Sneak Attack +1d6",
                    Level             = 1,
                    ReplacedAbilities = new List <ClassAbility> {
                        brawler.MartialFlexibility
                    },
                },
                new ArchetypeAbility
                {
                    Name              = "Snake Feint",
                    Level             = 3,
                    ReplacedAbilities = new List <ClassAbility> {
                        brawler.ManeuverTraining3, brawler.ManeuverTraining7
                    },
                },
                new ArchetypeAbility
                {
                    Name              = "Opportunist",
                    Level             = 11,
                    ReplacedAbilities = new List <ClassAbility> {
                        brawler.ManeuverTraining11, brawler.ManeuverTraining19
                    },
                },
            };

            var levels = new[] { 6, 10, 12, 20 };

            for (int i = 0; i <= 20; i++)
            {
                if (levels.Contains(i))
                {
                    ArchetypeAbilities.Add(new ArchetypeAbility
                    {
                        Name  = $"Sneak Attack +{Array.IndexOf(levels, i) + 2}d6",
                        Level = i,
                    });
                }
            }
        }
Beispiel #11
0
        public WildChild(Classes.Brawler brawler)
        {
            Name = "Wild Child";
            ArchetypeAbilities = new List <ArchetypeAbility>
            {
                new ArchetypeAbility
                {
                    Name              = "Animal Companion",
                    Level             = 1,
                    ReplacedAbilities = new List <ClassAbility> {
                        brawler.BonusCombatFeat2, brawler.BonusCombatFeat8, brawler.BonusCombatFeat14, brawler.BonusCombatFeat20
                    },
                },
                new ArchetypeAbility
                {
                    Name              = "Hunter’s Tricks",
                    Level             = 5,
                    ReplacedAbilities = new List <ClassAbility> {
                        brawler.CloseWeaponMastery
                    },
                },
            };

            ArchetypeAbilities.AddRange(brawler.ClassAbilities
                                        .Where(a => a.Name.Contains("Maneuver Training"))
                                        .Select(a => new ArchetypeAbility
            {
                Name              = a.Name,
                Level             = a.Level,
                ReplacedAbilities = new List <ClassAbility> {
                    a
                },
            }));

            for (int i = 5; i < 20; i += 6)
            {
                ArchetypeAbilities.Add(new ArchetypeAbility
                {
                    Name              = "Wild Trick",
                    Level             = i,
                    ReplacedAbilities = new List <ClassAbility>(brawler.ClassAbilities.Where(a => a.Name.Contains("Bonus Combat Feat") && a.Level == i))
                });
            }
        }
Beispiel #12
0
 public Bouncer(Classes.Brawler brawler)
 {
     Name = "Bouncer";
     ArchetypeAbilities = new List <ArchetypeAbility>
     {
         new ArchetypeAbility
         {
             Name  = "Crowd Control",
             Level = 1,
         },
         new ArchetypeAbility
         {
             Name              = "Lesser Flexibility",
             Level             = 1,
             ReplacedAbilities = new List <ClassAbility> {
                 brawler.MartialFlexibility
             },
         },
         new ArchetypeAbility
         {
             Name              = "Drunk Handler",
             Level             = 2,
             ReplacedAbilities = new List <ClassAbility> {
                 brawler.BonusCombatFeat2
             },
         },
         new ArchetypeAbility
         {
             Name  = "Drunk Knockout",
             Level = 4,
         },
         new ArchetypeAbility
         {
             Name              = "Bar Fight Mastery",
             Level             = 1,
             ReplacedAbilities = new List <ClassAbility> {
                 brawler.CloseWeaponMastery
             },
         }
     };
 }
 public WindingPathRenegade(Classes.Brawler brawler)
 {
     Name = "Winding Path Renegade";
     ArchetypeAbilities = new List <ArchetypeAbility>
     {
         new ArchetypeAbility
         {
             Name              = "School Focus",
             Level             = 2,
             ReplacedAbilities = new List <ClassAbility> {
                 brawler.BonusCombatFeat2, brawler.BonusCombatFeat8, brawler.BonusCombatFeat14
             },
         },
         new ArchetypeAbility
         {
             Name              = "Monk Moves",
             Level             = 4,
             ReplacedAbilities = new List <ClassAbility>(brawler.ClassAbilities.Where(a => a.Name.Contains("AC Bonus"))),
         }
     };
 }
 public MutagenicMauler(Classes.Brawler brawler)
 {
     Name = "Mutagenic Mauler";
     ArchetypeAbilities = new List <ArchetypeAbility>
     {
         new ArchetypeAbility
         {
             Name              = "Mutagen",
             Level             = 1,
             ReplacedAbilities = new List <ClassAbility> {
                 brawler.MartialFlexibility
             },
         },
         new ArchetypeAbility
         {
             Name              = "Beastmorph",
             Level             = 4,
             ReplacedAbilities = new List <ClassAbility>(brawler.ClassAbilities.Where(a => a.Name.Contains("AC Bonus"))),
         }
     };
 }
Beispiel #15
0
        public BattleDancer(Classes.Brawler brawler)
        {
            Name = "Battle Dancer";
            ArchetypeAbilities = new List <ArchetypeAbility>
            {
                new ArchetypeAbility
                {
                    Name              = "Dancer's Cunning",
                    Level             = 1,
                    ReplacedAbilities = new List <ClassAbility> {
                        brawler.BrawlersCunning
                    },
                },
                new ArchetypeAbility
                {
                    Name              = "Rolling Flurry",
                    Level             = 2,
                    ReplacedAbilities = new List <ClassAbility> {
                        brawler.BrawlersFlurry2
                    },
                },
                new ArchetypeAbility
                {
                    Name              = "Dancing Dodge",
                    Level             = 4,
                    ReplacedAbilities = new List <ClassAbility>(brawler.ClassAbilities.Where(a => a.Name.Contains("AC Bonus"))),
                }
            };

            ArchetypeAbilities.AddRange(brawler.ClassAbilities
                                        .Where(a => a.Name.Contains("Knockout"))
                                        .Select(a => new ArchetypeAbility
            {
                Name              = a.Name.Replace("Knockout", "Sparring Partners"),
                Level             = a.Level,
                ReplacedAbilities = new List <ClassAbility> {
                    a
                },
            }));
        }
Beispiel #16
0
        public ConstructedPugilist(Classes.Brawler brawler)
        {
            Name = "Constructed Pugilist";
            ArchetypeAbilities = new List <ArchetypeAbility>
            {
                new ArchetypeAbility
                {
                    Name  = "Constructed Limb",
                    Level = 1,
                },
                new ArchetypeAbility
                {
                    Name              = "Limb Modification",
                    Level             = 1,
                    ReplacedAbilities = new List <ClassAbility> {
                        brawler.MartialFlexibility
                    },
                },
                new ArchetypeAbility
                {
                    Name  = "Bonus Item Creation Feats",
                    Level = 2,
                }
            };

            var levels = new[] { 6, 10, 12, 20 };

            for (int i = 0; i <= 20; i++)
            {
                if (levels.Contains(i))
                {
                    ArchetypeAbilities.Add(new ArchetypeAbility
                    {
                        Name  = "Limb Modification",
                        Level = i,
                    });
                }
            }
        }
Beispiel #17
0
        public Hinyasi(Classes.Brawler brawler)
        {
            Name = "Hinyasi";
            ArchetypeAbilities = new List <ArchetypeAbility>
            {
                new ArchetypeAbility
                {
                    Name  = "Humble Beginnings",
                    Level = 1,
                },
                new ArchetypeAbility
                {
                    Name              = "Improvisation Training",
                    Level             = 1,
                    ReplacedAbilities = new List <ClassAbility> {
                        brawler.BonusCombatFeat2
                    },
                },
                new ArchetypeAbility
                {
                    Name              = "Improvisation Mastery",
                    Level             = 5,
                    ReplacedAbilities = new List <ClassAbility> {
                        brawler.CloseWeaponMastery
                    },
                }
            };

            ArchetypeAbilities.AddRange(brawler.ClassAbilities
                                        .Where(a => a.Name.Contains("Knockout"))
                                        .Select(a => new ArchetypeAbility
            {
                Name              = "Improvised Maneuver",
                Level             = a.Level,
                ReplacedAbilities = new List <ClassAbility> {
                    a
                },
            }));
        }
        public Turfer(Classes.Brawler brawler)
        {
            Name = "Turfer";
            ArchetypeAbilities = new List <ArchetypeAbility>
            {
                new ArchetypeAbility
                {
                    Name              = "Terrain Mastery",
                    Level             = 4,
                    ReplacedAbilities = new List <ClassAbility>(brawler.ClassAbilities.Where(a => a.Name.Contains("Knockout"))),
                }
            };

            ArchetypeAbilities.AddRange(brawler.ClassAbilities
                                        .Where(a => a.Name.Contains("Maneuver Training"))
                                        .Select(a => new ArchetypeAbility
            {
                Name              = "Favored Turf",
                Level             = a.Level,
                ReplacedAbilities = new List <ClassAbility> {
                    a
                },
            }));
        }
Beispiel #19
0
        public UlfenBeastWrestler(Classes.Brawler brawler)
        {
            Name = "Ulfen Beast-Wrestler";
            ArchetypeAbilities = new List <ArchetypeAbility>
            {
                new ArchetypeAbility
                {
                    Name              = "Beast Defenses",
                    Level             = 4,
                    ReplacedAbilities = new List <ClassAbility>(brawler.ClassAbilities.Where(a => a.Name.Contains("AC Bonus"))),
                }
            };

            ArchetypeAbilities.AddRange(brawler.ClassAbilities
                                        .Where(a => a.Name.Contains("Maneuver Training"))
                                        .Select(a => new ArchetypeAbility
            {
                Name              = "Beast Training",
                Level             = a.Level,
                ReplacedAbilities = new List <ClassAbility> {
                    a
                },
            }));
        }