Beispiel #1
0
        private void ChestBehavior_ItemDrop(On.RoR2.ChestBehavior.orig_ItemDrop orig, ChestBehavior self)
        {
            string goName = self.gameObject.name.ToLower();

            if (!goName.Contains("chest"))
            {
                orig.Invoke(self);
            }


            PickupIndex pickup;

            if (goName.Contains("chest1"))
            {
                pickup = GetRandomItem(Chest_Percantage_Modifier.Config.ChestType.Normal);
                if (pickup != PickupIndex.none)
                {
                    self.SetFieldValue("dropPickup", pickup);
                }
            }
            else if (goName.Contains("chest2"))
            {
                pickup = GetRandomItem(Chest_Percantage_Modifier.Config.ChestType.Large);
                if (pickup != PickupIndex.none)
                {
                    self.SetFieldValue("dropPickup", pickup);
                }
            }
            else if (goName.Contains("goldchest"))
            {
                pickup = GetRandomItem(Chest_Percantage_Modifier.Config.ChestType.Golden);
                if (pickup != PickupIndex.none)
                {
                    self.SetFieldValue("dropPickup", pickup);
                }
            }

            orig.Invoke(self);
        }