public override List<Item> ComputeRewards(bool full) { List<Item> list = new List<Item>(); RewardGroup rewardGroup = SmithRewardCalculator.Instance.LookupRewards(SmithRewardCalculator.Instance.ComputePoints(this)); if (rewardGroup != null) { if (full) { for (int i = 0; i < rewardGroup.Items.Length; ++i) { Item item = rewardGroup.Items[i].Construct(); if (item != null) list.Add(item); } } else { RewardItem rewardItem = rewardGroup.AcquireItem(); if (rewardItem != null) { Item item = rewardItem.Construct(); if (item != null) list.Add(item); } } } return list; }
public SmithRewardCalculator() { Groups = new RewardGroup[] { new RewardGroup(0, new RewardItem(1, SturdyShovel)), new RewardGroup(25, new RewardItem(1, SturdyPickaxe)), new RewardGroup(50, new RewardItem(45, SturdyShovel), new RewardItem(45, SturdyPickaxe), new RewardItem(10, MiningGloves, 1)), new RewardGroup(200, new RewardItem(45, GargoylesPickaxe), new RewardItem(45, ProspectorsTool), new RewardItem(10, MiningGloves, 3)), new RewardGroup(400, new RewardItem(2, GargoylesPickaxe), new RewardItem(2, ProspectorsTool), new RewardItem(1, PowderOfTemperament)), new RewardGroup(450, new RewardItem(9, PowderOfTemperament), new RewardItem(1, MiningGloves, 5)), new RewardGroup(500, new RewardItem(1, RunicHammer, 1)), new RewardGroup(550, new RewardItem(1, RunicHammer, 1), new RewardItem(1, RunicHammer, 1)) //new RewardGroup( 600, new RewardItem( 1, RunicHammer, 2 ) ), //new RewardGroup( 625, new RewardItem( 3, RunicHammer, 2 ), //new RewardItem( 6, PowerScroll, 5 ), //new RewardItem( 1, ColoredAnvil ) ), ////new RewardGroup( 650, new RewardItem( 1, RunicHammer, 3 ) ), //new RewardGroup( 675, new RewardItem( 1, ColoredAnvil ) ////new RewardItem( 6, PowerScroll, 10 ), ////new RewardItem( 3, RunicHammer, 3 ) ), ////new RewardGroup( 700, new RewardItem( 1, RunicHammer, 4 ) ), ////new RewardGroup( 750, new RewardItem( 1, AncientHammer, 10 ) ), ////new RewardGroup( 800, new RewardItem( 1, PowerScroll, 15 ) ), //new RewardGroup( 850, new RewardItem( 1, AncientHammer, 15 ) ), ////new RewardGroup( 900, new RewardItem( 1, PowerScroll, 20 ) ), ////new RewardGroup( 950, new RewardItem( 1, RunicHammer, 5 ) ), //new RewardGroup( 1000, new RewardItem( 1, AncientHammer, 30 ) ), //new RewardGroup( 1050, new RewardItem( 1, RunicHammer, 6 ) ), //new RewardGroup( 1100, new RewardItem( 1, AncientHammer, 60 ) ), //new RewardGroup( 1150, new RewardItem( 1, RunicHammer, 7 ) ), //new RewardGroup( 1200, new RewardItem( 1, RunicHammer, 8 ) ) }; }
public override List <Item> ComputeRewards(bool full) { var list = new List <Item>(); RewardGroup rewardGroup = TailorRewardCalculator.Instance.LookupRewards(TailorRewardCalculator.Instance.ComputePoints(this)); if (rewardGroup != null) { if (full) { list.AddRange(rewardGroup.Items.Select(t => t.Construct()).Where(item => item != null)); } else { RewardItem rewardItem = rewardGroup.AcquireItem(); if (rewardItem != null) { Item item = rewardItem.Construct(); if (item != null) { list.Add(item); } } } } return(list); }
public SmithRewardCalculator() { Groups = new RewardGroup[] { new RewardGroup(0, new RewardItem(1, SturdyShovel)), new RewardGroup(50, new RewardItem(45, SturdyShovel)), new RewardGroup(200, new RewardItem(45, ProspectorsTool)), }; }
public virtual RewardGroup LookupRewards(int points) { for (int i = m_Groups.Length - 1; i >= 1; --i) { RewardGroup group = m_Groups[i]; if (points >= group.Points) { return(group); } } return(m_Groups[0]); }
public TailorRewardCalculator() { Groups = new RewardGroup[] { new RewardGroup(0, new RewardItem(1, Cloth, 0)), new RewardGroup(50, new RewardItem(1, Cloth, 1)), new RewardGroup(100, new RewardItem(1, Cloth, 2)), new RewardGroup(150, new RewardItem(9, Cloth, 3), new RewardItem(1, Sandals)), new RewardGroup(200, new RewardItem(4, Cloth, 4), new RewardItem(1, Sandals)), new RewardGroup(300, new RewardItem(1, StretchedHide)), new RewardGroup(400, new RewardItem(3, Tapestry)), new RewardGroup(450, new RewardItem(1, BearRug)), new RewardGroup(550, new RewardItem(1, ClothingBlessDeed)), }; }
public TailorRewardCalculator() { Groups = new RewardGroup[] { new RewardGroup(0, new RewardItem(1, Cloth, 0)), new RewardGroup(50, new RewardItem(1, Cloth, 1)), new RewardGroup(100, new RewardItem(1, Cloth, 2)), new RewardGroup(150, new RewardItem(9, Cloth, 3), new RewardItem(1, Sandals)), new RewardGroup(200, new RewardItem(4, Cloth, 4), new RewardItem(1, Sandals)), new RewardGroup(300, new RewardItem(1, StretchedHide)), new RewardGroup(350, new RewardItem(1, RunicKit, 1)), //new RewardGroup( 400, new RewardItem( 2, PowerScroll, 5 ), new RewardItem( 3, Tapestry ) ), new RewardGroup(450, new RewardItem(1, BearRug)), //new RewardGroup( 500, new RewardItem( 1, PowerScroll, 10 ) ), new RewardGroup(550, new RewardItem(1, ClothingBlessDeed)), //new RewardGroup( 575, new RewardItem( 1, PowerScroll, 15 ) ), new RewardGroup(600, new RewardItem(1, RunicKit, 2)), //new RewardGroup( 650, new RewardItem( 1, PowerScroll, 20 ) ), new RewardGroup(700, new RewardItem(1, RunicKit, 3)) }; }
public override ArrayList ComputeRewards(bool full) { ArrayList list = new ArrayList(); RewardGroup rewardGroup = TailorRewardCalculator.Instance.LookupRewards(TailorRewardCalculator.Instance.ComputePoints(this)); if (rewardGroup != null) { if (full) { for (int i = 0; i < rewardGroup.Items.Length; ++i) { Item item = rewardGroup.Items[i].Construct(); if (item != null) { list.Add(item); } } } else { RewardItem rewardItem = rewardGroup.AquireItem(); if (rewardItem != null) { Item item = rewardItem.Construct(); if (item != null) { list.Add(item); } } } } return(list); }
public TailorRewardCalculator() { Groups = new RewardGroup[] { new RewardGroup( 0, new RewardItem( 1, Cloth, 0 ) ), new RewardGroup( 50, new RewardItem( 1, Cloth, 1 ) ), new RewardGroup( 100, new RewardItem( 1, Cloth, 2 ) ), new RewardGroup( 150, new RewardItem( 9, Cloth, 3 ), new RewardItem( 1, Sandals ) ), new RewardGroup( 200, new RewardItem( 4, Cloth, 4 ), new RewardItem( 1, Sandals ) ), new RewardGroup( 300, new RewardItem( 1, StretchedHide ) ), new RewardGroup( 350, new RewardItem( 1, RunicKit, 1 ) ), new RewardGroup( 400, new RewardItem( 2, PowerScroll, 5 ), new RewardItem( 3, Tapestry ) ), new RewardGroup( 450, new RewardItem( 1, BearRug ) ), new RewardGroup( 500, new RewardItem( 1, PowerScroll, 10 ) ), new RewardGroup( 550, new RewardItem( 1, ClothingBlessDeed ) ), new RewardGroup( 575, new RewardItem( 1, PowerScroll, 15 ) ), new RewardGroup( 600, new RewardItem( 1, RunicKit, 2 ) ), new RewardGroup( 650, new RewardItem( 1, PowerScroll, 20 ) ), new RewardGroup( 700, new RewardItem( 1, RunicKit, 3 ) ) }; }
public SmithRewardCalculator() { Groups = new RewardGroup[] { new RewardGroup( 0, new RewardItem( 1, SturdyShovel ) ), new RewardGroup( 25, new RewardItem( 1, SturdyPickaxe ) ), new RewardGroup( 50, new RewardItem( 45, SturdyShovel ), new RewardItem( 45, SturdyPickaxe ), new RewardItem( 10, MiningGloves, 1 ) ), new RewardGroup( 200, new RewardItem( 45, GargoylesPickaxe ), new RewardItem( 45, ProspectorsTool ), new RewardItem( 10, MiningGloves, 3 ) ), new RewardGroup( 400, new RewardItem( 2, GargoylesPickaxe ), new RewardItem( 2, ProspectorsTool ), new RewardItem( 1, PowderOfTemperament ) ), new RewardGroup( 450, new RewardItem( 9, PowderOfTemperament ), new RewardItem( 1, MiningGloves, 5 ) ), new RewardGroup( 500, new RewardItem( 1, RunicHammer, 1 ) ), new RewardGroup( 550, new RewardItem( 3, RunicHammer, 1 ), new RewardItem( 2, RunicHammer, 2 ) ), new RewardGroup( 600, new RewardItem( 1, RunicHammer, 2 ) ), new RewardGroup( 625, new RewardItem( 3, RunicHammer, 2 ), new RewardItem( 6, PowerScroll, 5 ), new RewardItem( 1, ColoredAnvil ) ), new RewardGroup( 650, new RewardItem( 1, RunicHammer, 3 ) ), new RewardGroup( 675, new RewardItem( 1, ColoredAnvil ), new RewardItem( 6, PowerScroll, 10 ), new RewardItem( 3, RunicHammer, 3 ) ), new RewardGroup( 700, new RewardItem( 1, RunicHammer, 4 ) ), new RewardGroup( 750, new RewardItem( 1, AncientHammer, 10 ) ), new RewardGroup( 800, new RewardItem( 1, PowerScroll, 15 ) ), new RewardGroup( 850, new RewardItem( 1, AncientHammer, 15 ) ), new RewardGroup( 900, new RewardItem( 1, PowerScroll, 20 ) ), new RewardGroup( 950, new RewardItem( 1, RunicHammer, 5 ) ), new RewardGroup( 1000, new RewardItem( 1, AncientHammer, 30 ) ), new RewardGroup( 1050, new RewardItem( 1, RunicHammer, 6 ) ), new RewardGroup( 1100, new RewardItem( 1, AncientHammer, 60 ) ), new RewardGroup( 1150, new RewardItem( 1, RunicHammer, 7 ) ), new RewardGroup( 1200, new RewardItem( 1, RunicHammer, 8 ) ) }; }
public FletcherRewardCalculator() { Groups = new RewardGroup[] { new RewardGroup( 0, new RewardItem( 1, SturdyAxe ) ), new RewardGroup( 50, new RewardItem( 45, SturdyAxe ), new RewardItem( 45, SturdyLumberjackAxe ), new RewardItem( 10, LeatherGlovesOfLumberjacking, 1 ) ), new RewardGroup( 200, new RewardItem( 1, LeatherGlovesOfLumberjacking, 3 ), new RewardItem( 1, GargoylesAxe ) ), new RewardGroup( 400, new RewardItem( 1, StainOfDurability ), new RewardItem( 4, Deco ) ), new RewardGroup( 450, new RewardItem( 3, StainOfDurability ), new RewardItem( 1, LeatherGlovesOfLumberjacking, 5 ) ), new RewardGroup( 500, new RewardItem( 1, RunicFletcherTools, 1 ), new RewardItem( 3, Deco ) ), new RewardGroup( 550, new RewardItem( 3, RunicFletcherTools, 1 ), new RewardItem( 2, RunicFletcherTools, 2 ) ), new RewardGroup( 600, new RewardItem( 2, RunicFletcherTools, 2 ), new RewardItem( 1, Deco ) ), new RewardGroup( 650, new RewardItem( 3, RunicFletcherTools, 3 ), new RewardItem( 1, RunicFletcherTools, 4 ) ), new RewardGroup( 700, new RewardItem( 3, RunicFletcherTools, 4 ), new RewardItem( 1, LumberjackingPowerScroll, 5 ), new RewardItem( 1, FletchingPowerScroll, 5 ) ), new RewardGroup( 750, new RewardItem( 3, RunicFletcherTools, 5 ), new RewardItem( 1, RunicFletcherTools, 6 ) ), new RewardGroup( 800, new RewardItem( 1, FletchingPowerScroll, 10 ), new RewardItem( 2, RunicFletcherTools, 6 ) ), new RewardGroup( 850, new RewardItem( 2, AncientFletcherHammer, 10 ) , new RewardItem( 1, RunicFletcherTools, 7 ) ), new RewardGroup( 900, new RewardItem( 1, AncientFletcherHammer, 10 ) , new RewardItem( 2, RunicFletcherTools, 7 ) ), new RewardGroup( 950, new RewardItem( 2, AncientFletcherHammer, 15 ) , new RewardItem( 1, RunicFletcherTools, 8 ) ), new RewardGroup( 1000, new RewardItem( 1, AncientFletcherHammer, 15 ) , new RewardItem( 2, RunicFletcherTools, 8 ) ), new RewardGroup( 1050, new RewardItem( 2, AncientFletcherHammer, 15 ) , new RewardItem( 1, RunicFletcherTools, 9 ) ), new RewardGroup( 1100, new RewardItem( 60, AncientFletcherHammer, 20 ) , new RewardItem( 30, RunicFletcherTools, 9 ), new RewardItem( 10, FletchingPowerScroll, 15 ) ), new RewardGroup( 1150, new RewardItem( 1, AncientFletcherHammer, 20 ), new RewardItem( 2, RunicFletcherTools, 9 ) ), new RewardGroup( 1200, new RewardItem( 1, AncientFletcherHammer, 30 ) , new RewardItem( 2, RunicFletcherTools, 10 ) ), new RewardGroup( 1250, new RewardItem( 30, AncientFletcherHammer, 40 ) , new RewardItem( 60, RunicFletcherTools, 11 ), new RewardItem( 10, FletchingPowerScroll, 20 ) ), new RewardGroup( 1300, new RewardItem( 60, RunicFletcherTools, 11 ) ), new RewardGroup( 1350, new RewardItem( 60, RunicFletcherTools, 11 ) ) }; }
public CarpenterRewardCalculator() { Groups = new RewardGroup[] { new RewardGroup( 0, new RewardItem( 1, SturdyLumberjackAxe ), new RewardItem( 1, SturdyAxe ) ), new RewardGroup( 25, new RewardItem( 1, SturdyLumberjackAxe ), new RewardItem( 1, SturdyAxe ) ), new RewardGroup( 50, new RewardItem( 90, SturdyLumberjackAxe ), new RewardItem( 10, ArmorOfCrafting, Utility.RandomMinMax(1,6) ) ), new RewardGroup( 200, new RewardItem( 90, SturdyAxe ), new RewardItem( 10, ArmorOfCrafting, Utility.RandomMinMax(1,6) ) ), new RewardGroup( 400, new RewardItem( 90, StainOfDurability ), new RewardItem( 10, ArmorOfCrafting, Utility.RandomMinMax(1,6) ) ), new RewardGroup( 450, new RewardItem( 2, StainOfDurability ), new RewardItem( 1, GargoylesAxe ), new RewardItem( 1, Deco, Utility.Random(6) ) ), new RewardGroup( 500, new RewardItem( 1, RunicSaw, 1 ), new RewardItem( 1, GargoylesAxe ), new RewardItem( 1, Deco, Utility.Random(6) ) ), new RewardGroup( 550, new RewardItem( 3, RunicSaw, 1 ), new RewardItem( 2, RunicSaw, 2 ) ), new RewardGroup( 600, new RewardItem( 1, RunicSaw, 2 ), new RewardItem( 1, Engraver ) ), new RewardGroup( 625, new RewardItem( 3, RunicSaw, 2 ), new RewardItem( 1, Engraver ) ), new RewardGroup( 650, new RewardItem( 1, RunicSaw, 3 ), new RewardItem( 1, Deco, Utility.Random(7) ), new RewardItem( 6, LumberjackingPowerScroll, 5 ) ), new RewardGroup( 675, new RewardItem( 1, Engraver ), new RewardItem( 3, RunicSaw, 3 ), new RewardItem( 6, CarpenterPowerScroll, 5 ) ), new RewardGroup( 700, new RewardItem( 1, RunicSaw, 4 ), new RewardItem( 1, Deco, Utility.Random(7) ), new RewardItem( 6, LumberjackingPowerScroll, 5 ) ), new RewardGroup( 750, new RewardItem( 1, AncientCarpenterHammer, 10 ), new RewardItem( 1, ArmorOfCrafting, Utility.RandomMinMax(7,12) ), new RewardItem( 6, CarpenterPowerScroll, 5 ) ), new RewardGroup( 800, new RewardItem( 1, RunicSaw, 4 ), new RewardItem( 1, ArmorOfCrafting, Utility.RandomMinMax(7,12) ), new RewardItem( 6, LumberjackingPowerScroll, 5 ) ), new RewardGroup( 850, new RewardItem( 5, AncientCarpenterHammer, 20 ), new RewardItem( 1, ArmorOfCrafting, Utility.RandomMinMax(7,12) ), new RewardItem( 6, CarpenterPowerScroll, 5 ) ), new RewardGroup( 900, new RewardItem( 1, RunicSaw, 5 ), new RewardItem( 6, CarpenterPowerScroll, 10 ) ), new RewardGroup( 950, new RewardItem( 1, RunicSaw, 5 ), new RewardItem( 6, CarpenterPowerScroll, 10 ) ), new RewardGroup( 1000, new RewardItem( 5, AncientCarpenterHammer, 30 ), new RewardItem( 6, CarpenterPowerScroll, 10 ) ), new RewardGroup( 1050, new RewardItem( 1, RunicSaw, 6 ), new RewardItem( 1, Engraver ), new RewardItem( 6, LumberjackingPowerScroll, 10 ) ), new RewardGroup( 1100, new RewardItem( 3, AncientCarpenterHammer, 30 ), new RewardItem( 1, Engraver ), new RewardItem( 6, CarpenterPowerScroll, 10 ) ), new RewardGroup( 1150, new RewardItem( 1, RunicSaw, 7 ), new RewardItem( 1, ArmorOfCrafting, Utility.RandomMinMax(13,18) ), new RewardItem( 6, LumberjackingPowerScroll, 15 ) ), new RewardGroup( 1200, new RewardItem( 1, RunicSaw, 8 ), new RewardItem( 1, ArmorOfCrafting, Utility.RandomMinMax(13,18) ), new RewardItem( 6, CarpenterPowerScroll, 15 ) ), new RewardGroup( 1250, new RewardItem( 1, RunicSaw, 9 ), new RewardItem( 1, ArmorOfCrafting, Utility.RandomMinMax(13,18) ), new RewardItem( 6, LumberjackingPowerScroll, 20 ) ), new RewardGroup( 1300, new RewardItem( 1, RunicSaw, 10 ), new RewardItem( 1, BagOfResources ), new RewardItem( 6, CarpenterPowerScroll, 20 ) ), new RewardGroup( 1350, new RewardItem( 1, RunicSaw, 11 ), new RewardItem( 1, BagOfResources ) ), new RewardGroup( 1400, new RewardItem( 3, RunicSaw, 12 ), new RewardItem( 1, StainOfDurability ) ), new RewardGroup( 1450, new RewardItem( 3, AncientCarpenterHammer, 40 ), new RewardItem( 1, StainOfDurability ) ) }; }