public override List <Item> ComputeRewards(bool full) { List <Item> list = new List <Item>(); double psChance = 0; int iPSMin = 0; int iPSMax = 0; int itemAmount = (Level + 1) * this.Entries.Length; switch (Level) { default: case 0: // Easy psChance = 0.03; iPSMin = 5; iPSMax = 5; break; case 1: // Medium psChance = 0.05; iPSMin = 5; iPSMax = 5; break; case 2: // Hard psChance = 0.10; iPSMin = 5; iPSMax = 5; break; case 3: // Very Hard psChance = 0.20; iPSMin = 10; iPSMax = 10; break; } psChance += this.AmountMax / 200.0; psChance += this.Entries.Length / 60.0; Container cont = new Bag(); int minProp = Level + 3; if (minProp > 5) { minProp = 5; } //EUtility.AddRandomLoot(cont, (Level + 1) * 3, (int)(Level * 300 + AmountMax / 20.0 * 150 + Entries.Length / 6.0 * 150), ScaleTypes.PlayerLuck, minProp, 5, 50, 100); cont.DropItem(HuntBodUtility.GetLargeRewardItem(Level)); if (psChance >= Utility.RandomDouble() && iPSMin > 0 && iPSMax > 0) { cont.DropItem(PowerScroll.CreateRandomNoCraft(iPSMin, iPSMax)); } list.Add(cont); return(list); }