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 }, } }; }
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"))) } }; }
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 }, })); }
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"))), } }; }
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 }, } }; }
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 }, } }; }
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, }); } } }
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)) }); } }
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"))), } }; }
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 }, })); }
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, }); } } }
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 }, })); }
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 }, })); }