private void DoGiveItems(List <int> shop, MysteriousTraderItemRarity rare, int num, ref int extraChances) { for (int i = 0; i < num; i++) { if (GiveShopRandomItem(shop, rare, false) == false && extraChances > 0) { i--; extraChances--; } } GiveShopRandomItem(shop, rare, true); }
internal object RegisterItem(Mod mod, int item, MysteriousTraderItemRarity rare, Func <bool> condition) { try { MysteriousTraderItemSource source = mod.Name == PboneUtils.Instance.Name ? MysteriousTraderItemSource.Base : MysteriousTraderItemSource.Call; Items.Add(new MysteriousTraderItem(item, source, condition), rare); if (source == MysteriousTraderItemSource.Call) { AnyCall = true; } return(true); } catch { return(false); } }
private static object MyRegisterItem(int item, MysteriousTraderItemRarity rare, Func <bool> condition) => Instance.RegisterItem(PboneUtils.Instance, item, rare, condition);
private static object MyRegisterItem(int item, MysteriousTraderItemRarity rare) => Instance.RegisterItem(PboneUtils.Instance, item, rare, new Func <bool>(() => true));
private void FillRarity(MysteriousTraderItemRarity rarity, MysteriousTraderShopManager shopBuilder) { ItemCollections[rarity] = shopBuilder.Items.Where(k => k.Value == rarity).ToDictionary(k => k.Key).Keys.ToList(); }