private static void HandleEnemy(ref OcItem item, SoEnemyData EnemyData) { foreach (KeyValuePair <int, float> pair in EnchantHelper.Inst.UnspecifiedEnemyDrop) { TryAddEnchant(pair, ref item); } if (EnchantHelper.Inst.SpecifiedEnemyDrop.ContainsKey(EnemyData.ID)) { foreach (KeyValuePair <int, float> pair in EnchantHelper.Inst.SpecifiedEnemyDrop[EnemyData.ID]) { TryAddEnchant(pair, ref item); } } }
static void Postfix(OcItemDropper __instance, ref OcItem item, SoEnemyData EnemyData) { var isEnemy = __instance.GetComponent <Oc.Em.OcEm>() != null; if (isEnemy) { HandleEnemy(ref item, EnemyData); return; } var obj = __instance.GetComponent <Oc.OcStaticObj>(); if (obj.StaticObjType == OcStaticObjType.Tree) { HandleTree(ref item); } else if (obj.StaticObjType == OcStaticObjType.Stone || obj.StaticObjType == OcStaticObjType.BedRock) { HandleStone(ref item); } }