private void SetPickupOptionsHook( On.RoR2.UI.PickupPickerPanel.orig_SetPickupOptions orig, PickupPickerPanel self, PickupPickerController.Option[] options ) { orig.Invoke(self, options); if (options.Length < 1) { return; } ReadOnlyCollection <MPButton> elements = self.GetFieldValue <UIElementAllocator <MPButton> >("buttonAllocator").elements; Inventory inventory = LocalUserManager.GetFirstLocalUser().cachedMasterController.master.inventory; for (int i = 0; i < options.Length; i++) { Transform parent = elements[i].transform; PickupDef pickupDefinition = PickupCatalog.GetPickupDef(options[i].pickupIndex); ItemIndex itemIndex = pickupDefinition.itemIndex; int itemCount = !itemIndex.Equals(ItemIndex.None) ? inventory.GetItemCount(itemIndex) : 0; if (pickupDefinition.equipmentIndex.Equals(EquipmentIndex.None)) { CreateNumberLabel(parent, itemIndex, itemCount); } if (EnableTooltip.Value) { CreateTooltip(parent, pickupDefinition, itemCount); } } }
public void Start() { WhiteRandomItemChance = Config.Bind( "Balance", "WhiteRandomItemChance", 0.05f, GetChanceDescription("white", "white") ); GreenRandomItemChance = Config.Bind( "Balance", "GreenRandomItemChance", 0.05f, GetChanceDescription("green", "green") ); RedRandomItemChance = Config.Bind( "Balance", "RedRandomItemChance", 0.05f, GetChanceDescription("red", "red") ); LunarRandomItemChance = Config.Bind( "Balance", "LunarRandomItemChance", 0.05f, GetChanceDescription("lunar", "GREEN") ); BossRandomItemChance = Config.Bind( "Balance", "BossRandomItemChance", 0.05f, GetChanceDescription("boss", "boss") ); for (int i = 0; i < (int)ItemIndex.Count; i++) { ItemIndex itemIndex = (ItemIndex)i; ItemDef definition = ItemCatalog.GetItemDef(itemIndex); if ( itemIndex.Equals(ItemIndex.ArtifactKey) || itemIndex.Equals(ItemIndex.CaptainDefenseMatrix) || itemIndex.Equals(ItemIndex.ScrapWhite) || itemIndex.Equals(ItemIndex.ScrapGreen) || itemIndex.Equals(ItemIndex.ScrapRed) || itemIndex.Equals(ItemIndex.ScrapYellow) || definition.tier.Equals(ItemTier.NoTier) ) { continue; } string displayName = Language.GetString(definition.nameToken); PreventPickupConfigEntries[itemIndex] = Config.Bind( "PreventPickup", itemIndex.ToString(), false, $"Item index: {(int)itemIndex} | Name: {displayName} | Tier: {definition.tier}" ); } }