/**********************************************************
RunUO 2.0 AoV C# script file
Official Age of Valor Script :: www.uovalor.com
Last modified by 
Filepath: scripts\_custom\items\special\ResourceStone.cs
Lines of code: 216
***********************************************************/



using System;
using Server.Items;

namespace Server.Items
{
	public class ResourceStone : Item
	{
		public override string DefaultName
		{
			get { return "a resource stone"; }
		}

		[Constructable]
		public ResourceStone() : base( 0xED4 )
		{
			Movable = false;
			Hue = 0x480;
		}

		public override void OnDoubleClick( Mobile from )
		{
			if(!Core.Testcenter && from.AccessLevel<AccessLevel.GameMaster)
			{
			from.SendLocalizedMessage(1042659); //this is not test center!
			return;
			}
		
		
			WeightlessBag bag = new WeightlessBag();
			bag.Hue=1152;
			bag.LootType=LootType.Blessed;
			bag.Name="Resource Bag";
			

			WeightlessBag res = new WeightlessBag();
			res.Name="Leather";
			res.Hue=127;
			bag.DropItem(res);
			
			//leathers:
			res.DropItem(new Leather(1000));
			res.DropItem(new SpinedLeather(1000));
			res.DropItem(new HornedLeather(1000));
			res.DropItem(new BarbedLeather(1000));
	
			
			WeightlessBag res2 = new WeightlessBag();
			res2.Name="Wood";
			res2.Hue=147;			
			bag.DropItem(res2);
			//boards:
			res2.DropItem(new Board(1000));
			res2.DropItem(new OakBoard(1000));
			res2.DropItem(new AshBoard(1000));
			res2.DropItem(new YewBoard(1000));
			res2.DropItem(new BloodwoodBoard(1000));
			res2.DropItem(new HeartwoodBoard(1000));
			res2.DropItem(new FrostwoodBoard(1000));
			
			
			WeightlessBag res3 = new WeightlessBag();
			res3.Name="Metal";
			res3.Hue=906;			
			bag.DropItem(res3);			
			//ingots:
			res3.DropItem(new IronIngot(1000));
			res3.DropItem(new DullCopperIngot(1000));
			res3.DropItem(new ShadowIronIngot(1000));
			res3.DropItem(new CopperIngot(1000));
			res3.DropItem(new BronzeIngot(1000));
			res3.DropItem(new GoldIngot(1000));
			res3.DropItem(new AgapiteIngot(1000));
			res3.DropItem(new VeriteIngot(1000));
			res3.DropItem(new ValoriteIngot(1000));
			
			
			WeightlessBag res4 = new WeightlessBag();
			res4.Name="Scales";
			res4.Hue=533;			
			bag.DropItem(res4);			
			//scales:			
			res4.DropItem(new RedScales(1000));
			res4.DropItem(new YellowScales(1000));
			res4.DropItem(new BlackScales(1000));
			res4.DropItem(new GreenScales(1000));
			res4.DropItem(new WhiteScales(1000));
			res4.DropItem(new BlueScales(1000));
			
			
			
			WeightlessBag res5 = new WeightlessBag();
			res5.Name="Granite";
			res5.Hue=667;			
			bag.DropItem(res5);			
			//granite:
			res5.DropItem(new Granite(1000));
			res5.DropItem(new DullCopperGranite(1000));
			res5.DropItem(new ShadowIronGranite(1000));
			res5.DropItem(new CopperGranite(1000));
			res5.DropItem(new BronzeGranite(1000));
			res5.DropItem(new GoldGranite(1000));
			res5.DropItem(new AgapiteGranite(1000));			
			res5.DropItem(new VeriteGranite(1000));			
			res5.DropItem(new ValoriteGranite(1000));	
			
			WeightlessBag res6 = new WeightlessBag();
			res6.Name="ML stuff";
			res6.Hue=1153;			
			bag.DropItem(res6);			

			//ml resources
			res6.DropItem(new Blight(1000));  
			res6.DropItem(new LuminescentFungi(1000));  
			res6.DropItem(new Corruption(1000));  
			res6.DropItem(new ParasiticPlant(1000));  
			res6.DropItem(new Muculent(1000));  
			res6.DropItem(new DiseasedBark(1000));  
			res6.DropItem(new BarkFragment(1000));  
			res6.DropItem(new PerfectEmerald(1000));  
			res6.DropItem(new DarkSapphire(1000));  
			res6.DropItem(new Turquoise(1000));  
			res6.DropItem(new EcruCitrine(1000));  
			res6.DropItem(new WhitePearl(1000));  
			res6.DropItem(new FireRuby(1000));  
			res6.DropItem(new BlueDiamond(1000));  
			res6.DropItem(new BrilliantAmber(1000));  
			res6.DropItem(new Scourge(1000));  
			res6.DropItem(new Putrefaction(1000));  
			res6.DropItem(new Taint(1000)); 			
			res6.DropItem(new CapturedEssence(1000));  
			res6.DropItem(new EyeOfTheTravesty(1000));  
			res6.DropItem(new DreadHornMane(1000));  
			res6.DropItem(new JormundgandBile(1000));  
			res6.DropItem(new GrizzledBones(1000));  
			res6.DropItem(new LardOfParoxysmus(1000));  
			res6.DropItem(new PristineDreadHorn(1000));  
			res6.DropItem(new Citrine(1000));  
			

			
			
			WeightlessBag res7 = new WeightlessBag();
			res7.Name="Misc stuff";
			res7.Hue=401;			
			bag.DropItem(res7);					
			//misc			
			res7.DropItem(new Gold(1000));
			res7.DropItem(new PowderOfTranslocation(1000));
			res7.DropItem(new Cloth(1000));
			res7.DropItem(new BlankScroll(1000));
			res7.DropItem(new BagOfReagents(1000));
			res7.DropItem(new BagOfNecroReagents(1000));			
			
			
			
			
			//tools:
			
			WeightlessBag tools = new WeightlessBag();
			tools.Name="Regular tools";
			tools.Hue=902;
			bag.DropItem(tools);
			
			tools.DropItem(new Tongs(0xffff));
			tools.DropItem(new DovetailSaw(0xffff));
			tools.DropItem(new FletcherTools(0xffff));
			tools.DropItem(new MalletAndChisel(0xffff));
			tools.DropItem(new MapmakersPen(0xffff));
			tools.DropItem(new MortarPestle(0xffff));
			tools.DropItem(new RollingPin(0xffff));
			tools.DropItem(new ScribesPen(0xffff));
			tools.DropItem(new SewingKit(0xffff));
			tools.DropItem(new TinkerTools(0xffff));
			tools.DropItem(new Blowpipe(0xffff));
			
			
			//smithy runics
			Bag smithrunictools = new Bag();
			smithrunictools.Name="Smithy Runics";	
			smithrunictools.Hue=1103;			
			tools.DropItem(smithrunictools);
			
			smithrunictools.DropItem(new RunicHammer(CraftResource.DullCopper, 0xffff ));
			smithrunictools.DropItem(new RunicHammer(CraftResource.ShadowIron, 0xffff ));
			smithrunictools.DropItem(new RunicHammer(CraftResource.Copper, 0xffff ));
			smithrunictools.DropItem(new RunicHammer(CraftResource.Bronze, 0xffff ));
			smithrunictools.DropItem(new RunicHammer(CraftResource.Gold, 0xffff ));
			smithrunictools.DropItem(new RunicHammer(CraftResource.Agapite, 0xffff ));
			smithrunictools.DropItem(new RunicHammer(CraftResource.Verite, 0xffff ));
			smithrunictools.DropItem(new RunicHammer(CraftResource.Valorite, 0xffff ));	
			
			//tinker runics
			Bag tinkerrunictools = new Bag();
			tinkerrunictools.Name="Tinker Runics";	
			tinkerrunictools.Hue=1109;
			tools.DropItem(tinkerrunictools);
			
			tinkerrunictools.DropItem(new RunicTinkerKit(CraftResource.DullCopper, 0xffff ));
			tinkerrunictools.DropItem(new RunicTinkerKit(CraftResource.ShadowIron, 0xffff ));
			tinkerrunictools.DropItem(new RunicTinkerKit(CraftResource.Copper, 0xffff ));
			tinkerrunictools.DropItem(new RunicTinkerKit(CraftResource.Bronze, 0xffff ));
			tinkerrunictools.DropItem(new RunicTinkerKit(CraftResource.Gold, 0xffff ));
			tinkerrunictools.DropItem(new RunicTinkerKit(CraftResource.Agapite, 0xffff ));
			tinkerrunictools.DropItem(new RunicTinkerKit(CraftResource.Verite, 0xffff ));
			tinkerrunictools.DropItem(new RunicTinkerKit(CraftResource.Valorite, 0xffff ));		
			
			//tailor runics

			WeightlessBag tailorrunictools = new WeightlessBag();
			tailorrunictools.Name="Tailor Runics";	
			tailorrunictools.Hue=1166;
			tools.DropItem(tailorrunictools);

			tailorrunictools.DropItem(new RunicSewingKit(CraftResource.SpinedLeather, 0xffff ));
			tailorrunictools.DropItem(new RunicSewingKit(CraftResource.HornedLeather, 0xffff ));
			tailorrunictools.DropItem(new RunicSewingKit(CraftResource.BarbedLeather, 0xffff ));
			
			
			//fletching runics
			WeightlessBag fletchrunics = new WeightlessBag();
			fletchrunics.Name="Fletcher Runics";	
			fletchrunics.Hue=1169;
			tools.DropItem(fletchrunics);
			
			fletchrunics.DropItem(new RunicFletchingKit( CraftResource.Oakwood,0xffff));
			fletchrunics.DropItem(new RunicFletchingKit( CraftResource.Ashwood,0xffff));
			fletchrunics.DropItem(new RunicFletchingKit( CraftResource.Yewwood,0xffff));
			fletchrunics.DropItem(new RunicFletchingKit( CraftResource.Bloodwood,0xffff));
			fletchrunics.DropItem(new RunicFletchingKit( CraftResource.Heartwood,0xffff));
			fletchrunics.DropItem(new RunicFletchingKit( CraftResource.Frostwood,0xffff));
			
			//carp runics
			WeightlessBag carprunics = new WeightlessBag();
			carprunics.Name="Carpenter Runics";	
			carprunics.Hue=1142;
			tools.DropItem(carprunics);
			
			carprunics.DropItem(new RunicSaw( CraftResource.Oakwood,0xffff));
			carprunics.DropItem(new RunicSaw( CraftResource.Ashwood,0xffff));
			carprunics.DropItem(new RunicSaw( CraftResource.Yewwood,0xffff));
			carprunics.DropItem(new RunicSaw( CraftResource.Bloodwood,0xffff));
			carprunics.DropItem(new RunicSaw( CraftResource.Heartwood,0xffff));
			carprunics.DropItem(new RunicSaw( CraftResource.Frostwood,0xffff));

			
			//spellbooks
			WeightlessBag spellbooks = new WeightlessBag();
			spellbooks.Name="Spellbooks";	
			spellbooks.Hue=1161;
			tools.DropItem(spellbooks);
			
			spellbooks.DropItem(new Spellbook((ulong)0xffffffffffffffff));
			spellbooks.DropItem(new NecromancerSpellbook((ulong)0x1ffff));
			spellbooks.DropItem(new SpellweavingBook((ulong)0xffff));			
			spellbooks.DropItem(new BookOfChivalry());
			spellbooks.DropItem(new BookOfBushido());
			spellbooks.DropItem(new BookOfNinjitsu());

			
			//misc other stuff
			bag.DropItem(new braceoftravel());
			
			
			

			if (from.Backpack!=null)from.Backpack.DropItem(bag);
		}

		public ResourceStone( Serial serial ) : base( serial )
		{
		}

		public override void Serialize( GenericWriter writer )
		{
			base.Serialize( writer );

			writer.Write( (int) 0 ); // version
		}

		public override void Deserialize( GenericReader reader )
		{
			base.Deserialize( reader );

			int version = reader.ReadInt();
		}
	}
}