Example #1
0
 public static bool isBodyArmor(BlueprintItemArmor armor)
 {
     return(armor.ProficiencyGroup != ArmorProficiencyGroup.Buckler &&
            armor.ProficiencyGroup != ArmorProficiencyGroup.HeavyShield &&
            armor.ProficiencyGroup != ArmorProficiencyGroup.LightShield &&
            armor.ProficiencyGroup != ArmorProficiencyGroup.TowerShield);
 }
        static void fixEnchants()
        {
            for (int i = 0; i < unarmed_enchants.Length; i++)
            {
                unarmed_enchants[i].ComponentsArray[0] = Helpers.Create <NewMechanics.EnchantmentMechanics.StaticEquipmentWeaponTypeEnhancement>(s => { s.Enhancement = i + 1; s.AllNaturalAndUnarmed = true; });
                unarmed_bonus[i] = library.CopyAndAdd <BlueprintEquipmentEnchantment>(unarmed_enchants[i], $"UnarmedBonusEnhancement{i + 1}", "");
                unarmed_bonus[i].ComponentsArray = new BlueprintComponent[] { Helpers.Create <NewMechanics.EnchantmentMechanics.EquipmentWeaponTypeEnhancement>(s => { s.Enhancement = i + 1; s.AllNaturalAndUnarmed = true; }) };
            }

            /*for (int i = 0; i < standard_enchants.Length; i++)
             * {
             *  standard_enchants[i].ComponentsArray[0] = Helpers.Create<NewMechanics.EnchantmentMechanics.StaticWeaponEnhancementBonus>(s => { s.EnhancementBonus = i + 1; });
             * }*/

            //fix magic fang
            var magic_fang         = library.Get <BlueprintAbility>("403cf599412299a4f9d5d925c7b9fb33");
            var greater_magic_fang = library.Get <BlueprintAbility>("f1100650705a69c4384d3edd88ba0f52");

            (magic_fang.GetComponent <AbilityEffectRunAction>().Actions.Actions[0] as MagicFang).Enchantment[0]      = static_enchants[0];
            (greater_magic_fang.GetComponent <AbilityEffectRunAction>().Actions.Actions[0] as MagicFang).Enchantment = static_enchants;


            //fix monk robes
            var robes = new BlueprintItemArmor[] { library.Get <BlueprintItemArmor>("70c13c319f3d18841bb4c4e5c27125c9"), //protector
                                                   library.Get <BlueprintItemArmor>("d2eb319bc6b399a48b1b1d0a73238ac4"), //arbiter
                                                   library.Get <BlueprintItemArmor>("c18a1d22dca8b684195633d685855d0c")  //enforcer
            };

            for (int i = 0; i < robes.Length; i++)
            {
                var robe_enchants = Helpers.GetField <BlueprintEquipmentEnchantment[]>(robes[i], "m_Enchantments");
                robe_enchants[1] = unarmed_bonus[2 * i];
                Helpers.SetField(robes[i], "m_Enchantments", robe_enchants);
            }
        }