예제 #1
0
        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;
        }
예제 #2
0
 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 ) )
     };
 }
예제 #3
0
        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);
        }
예제 #4
0
파일: Rewards.cs 프로젝트: jicomub/Temrael
        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)),
            };
        }
예제 #5
0
        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]);
        }
예제 #6
0
파일: Rewards.cs 프로젝트: jicomub/Temrael
 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)),
     };
 }
예제 #7
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(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);
        }
예제 #9
0
파일: Rewards.cs 프로젝트: Godkong/RunUO
		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 ) )
				};
		}
예제 #10
0
파일: Rewards.cs 프로젝트: Godkong/RunUO
		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 ) )
				};
		}
예제 #11
0
		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 ) )
			};
		}
예제 #12
0
		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 ) )
			};
		}