예제 #1
0
        static bool Prefix(Equipment __instance, ref int _enchantmentID, bool _fromSync = false)
        {
            Enchantment enchantment = ResourcesPrefabManager.Instance.GenerateEnchantment(_enchantmentID, __instance.transform);

            if (!(bool)(UnityEngine.Object)enchantment)
            {
                return(false);
            }
            enchantment.ApplyEnchantment(__instance);
            EnchantmentRecipe enchantmentRecipeForId = RecipeManager.Instance.GetEnchantmentRecipeForID(_enchantmentID);

            enchantment.AppliedIncenses = enchantmentRecipeForId.Incenses;
            __instance.m_enchantmentIDs.Add(_enchantmentID);
            __instance.m_activeEnchantments.Add(enchantment);
            __instance.m_enchantmentsHaveChanged = !_fromSync;
            if (_fromSync)
            {
                return(false);
            }
            float durabilityRatio = __instance.DurabilityRatio;

            __instance.RefreshEnchantmentModifiers();
            if ((double)durabilityRatio == (double)__instance.DurabilityRatio)
            {
                return(false);
            }
            __instance.SetDurabilityRatio(durabilityRatio);
            return(false);
        }