static void addWeaponProperties() { var sunder = Helpers.CreateFeature("SunderWeaponPropertyFeature", "Sunder", "When you use a sunder weapon, you get a +2 bonus on Combat Maneuver Checks to sunder attempts.", "", null, FeatureGroup.None, Common.createManeuverBonus(Kingmaker.RuleSystem.Rules.CombatManeuver.SunderArmor, 2) ); sunder.HideInCharacterSheetAndLevelUp = true; var sunder_enchant = Common.createWeaponEnchantment("SunderEnchantment", sunder.Name, sunder.Description, "", "", "", 0, null, Helpers.Create <AddUnitFeatureEquipment>(a => a.Feature = sunder)); var trip = Helpers.CreateFeature("TripWeaponPropertyFeature", "Trip", "When you use a trip weapon, you get a +2 bonus on Combat Maneuver Checks to trip attempts.", "", null, FeatureGroup.None, Common.createManeuverBonus(Kingmaker.RuleSystem.Rules.CombatManeuver.Trip, 2) ); trip.HideInCharacterSheetAndLevelUp = true; var trip_enchant = Common.createWeaponEnchantment("TripEnchantment", trip.Name, trip.Description, "", "", "", 0, null, Helpers.Create <AddUnitFeatureEquipment>(a => a.Feature = trip)); var disarm = Helpers.CreateFeature("DisarmWeaponPropertyFeature", "Disarm", "When you use a disarm weapon, you get a +2 bonus on Combat Maneuver Checks to disarm attempts.", "", null, FeatureGroup.None, Common.createManeuverBonus(Kingmaker.RuleSystem.Rules.CombatManeuver.Disarm, 2) ); disarm.HideInCharacterSheetAndLevelUp = true; var disarm_enchant = Common.createWeaponEnchantment("DisarmEnchantment", disarm.Name, disarm.Description, "", "", "", 0, null, Helpers.Create <AddUnitFeatureEquipment>(a => a.Feature = disarm)); WeaponCategory[] disarm_weapons = new WeaponCategory[] { WeaponCategory.Flail, WeaponCategory.HeavyFlail, WeaponCategory.Nunchaku, WeaponCategory.Sai, }; WeaponCategory[] sunder_weapons = new WeaponCategory[] { }; WeaponCategory[] trip_weapons = new WeaponCategory[] { WeaponCategory.Sickle, WeaponCategory.Flail, WeaponCategory.HeavyFlail, WeaponCategory.Scythe, WeaponCategory.Kama, WeaponCategory.Fauchard, WeaponCategory.HookedHammer }; var weapon_types = library.GetAllBlueprints().OfType <BlueprintWeaponType>(); foreach (var wt in weapon_types) { if (disarm_weapons.Contains(wt.Category)) { Common.addEnchantment(wt, disarm_enchant); } if (sunder_weapons.Contains(wt.Category)) { Common.addEnchantment(wt, sunder_enchant); } if (trip_weapons.Contains(wt.Category)) { Common.addEnchantment(wt, trip_enchant); } } }