Exemple #1
0
 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);
         }
     }
 }
Exemple #2
0
        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);
            }
        }