Beispiel #1
0
 public static void Track_ChestBehavior(On.RoR2.ChestBehavior.orig_Awake orig, ChestBehavior self)
 {
     orig(self);
     InstanceTracker.Add(self);
     if (!self.GetComponent <InstanceTrackerRemover>())
     {
         self.gameObject.AddComponent <InstanceTrackerRemover>().chestBehavior = self;
     }
 }
        private void ChestBehavior_Awake(On.RoR2.ChestBehavior.orig_Awake orig, ChestBehavior self)
        {
            orig(self);
            var mimicSpawnChance = GetMimicSpawnChance();
            var gameObject       = self.gameObject;

            if (Util.CheckRoll(mimicSpawnChance))
            {
                var component = gameObject.GetComponent <MimicComponent>();
                if (!component)
                {
                    component = gameObject.AddComponent <MimicComponent>();
                }
                component.heldItemIndex = PickupCatalog.GetPickupDef(self.dropPickup).itemIndex;
                self.Invoke("Open", 0);
            }
        }