/**********************************************************
RunUO AoV C# script file
Official Age of Valor Script :: www.uovalor.com
Last modified by Red Squirrel on Jan-01-2012 10:09:14pm
Filepath: scripts\events and scenarios\Halloween2011\Costume Collection\CostumeCollectionBox.cs
Lines of code: 283

Description: 

***********************************************************/


using System;
using System.Collections;
using System.Collections.Generic;
using Server;
using Server.Mobiles;
using Server.Items;

namespace Server.Items
{
	public class CostumeCollectionBox : BaseCollectionItem
	{
		//public override int LabelNumber{ get{ return ""; } } // Please Contribute to the public Museum of Vesper.
		public override Collection CollectionID{ get{ return Collection.CostumeCollection; } }
		public override int MaxTier{ get{ return 6; } }
		
		[Constructable]
		public CostumeCollectionBox() : base( 0xE7D )
		{
			Hue = 1157;
			Name = "Grunilda's Toadstool Fund";
			StartTier = 5;
			NextTier = 15;
			DailyDecay = 1;
		}
		
		public CostumeCollectionBox( Serial serial ) : base( serial )
		{			
		}
		
		public override void Init()
		{
			base.Init();
			
			Donations.Add( new CollectionItem( typeof( BlackToadstool ), 0x26B7, 503213, "Black Toadstools", 1175, 1 ) );
			Donations.Add( new CollectionItem( typeof( GreenToadstool ), 0x26B7, 503213, "Green Toadstools", 1155, 5 ) );
			Donations.Add( new CollectionItem( typeof( RedToadstool ), 0x26B7, 503213, "Red Toadstools", 1157, 10 ) );
			
			Rewards.Add( new CollectionItem( typeof( CostumeMongbat ), 6589, 503213, "Mongbat Costume", 0, 10.0 ) );
			Rewards.Add( new CollectionItem( typeof( CostumeSkeleton ), 6589, 503213, "Skeleton Costume", 0, 10.0 ) );
			Rewards.Add( new CollectionItem( typeof( CostumeZombie ), 6589, 503213, "Zombie Costume", 0, 10.0 ) );
			Rewards.Add( new CollectionItem( typeof( CostumeBoneMagi ), 6589, 503213, "Bone Magi Costume", 0, 10.0 ) );
			
			Rewards.Add( new CollectionItem( typeof( CostumeCentaur ), 6589, 503213, "Centaur Costume", 0, 20.0 ) );
			Rewards.Add( new CollectionItem( typeof( CostumeCyclops ), 6589, 503213, "Cyclops Costume", 0, 20.0 ) );
			Rewards.Add( new CollectionItem( typeof( CostumeGazer ), 6589, 503213, "Gazer Costume", 0, 20.0 ) );
			Rewards.Add( new CollectionItem( typeof( CostumeTitan ), 6589, 503213, "Titan Costume", 0, 20.0 ) );
			
			Rewards.Add( new CollectionItem( typeof( CostumeGoreFiend ), 6589, 503213, "Gore Fiend Costume", 0, 30.0 ) );
			Rewards.Add( new CollectionItem( typeof( CostumeRavager ), 6589, 503213, "Ravager Costume", 0, 30.0 ) );
			Rewards.Add( new CollectionItem( typeof( CostumeDevourer ), 6589, 503213, "Devourer Costume", 0, 30.0 ) );
			Rewards.Add( new CollectionItem( typeof( CostumeFleshGolem ), 6589, 503213, "Flesh Golem Costume", 0, 30.0 ) );
			
			Rewards.Add( new CollectionItem( typeof( CostumeEarthElemental ), 6589, 503213, "Earth Elemental Costume", 0, 40.0 ) );
			Rewards.Add( new CollectionItem( typeof( CostumeAirElemental ), 6589, 503213, "Air Elemental Costume", 0, 40.0 ) );
			Rewards.Add( new CollectionItem( typeof( CostumeWaterElemental ), 6589, 503213, "Water Elemental Costume", 0, 40.0 ) );
			Rewards.Add( new CollectionItem( typeof( CostumeFireElemental ), 6589, 503213, "Fire Elemental Costume", 0, 40.0 ) );
			
			Rewards.Add( new CollectionItem( typeof( CostumeExodusMinion ), 6589, 503213, "Exodus Minion Costume", 0, 50.0 ) );
			Rewards.Add( new CollectionItem( typeof( CostumeVoidWanderer ), 6589, 503213, "Void Wanderer Costume", 0, 50.0 ) );
			Rewards.Add( new CollectionItem( typeof( CostumeArcaneDemon ), 6589, 503213, "Arcane Demon Costume", 0, 50.0 ) );
			Rewards.Add( new CollectionItem( typeof( CostumeBoneDemon ), 6589, 503213, "Bone Demon Costume", 0, 50.0 ) );
			
		}
		
		public override void IncreaseTier()
		{			
			base.IncreaseTier();
			
			List<object> list = new List<object>();
			Item c;
		
			switch ( Tier )
			{				
				case 1:								
					//Display Case
					c = new Static( 2824 );
					c.MoveToWorld( new Point3D( 5582, 1207, 7 ), Map );
					list.Add( c );
					c = new Static( 2823 );
					c.MoveToWorld( new Point3D( 5582, 1208, 7 ), Map );
					list.Add( c );
					c = new Static( 2822 );
					c.MoveToWorld( new Point3D( 5582, 1209, 7 ), Map );
					list.Add( c );
					
					//Skull
					c = new Static( 6883 );
					c.MoveToWorld( new Point3D( 5582, 1208, 15 ), Map );
					list.Add( c );
					
					//Bones
					c = new Static( 6929 );
					c.MoveToWorld( new Point3D( 5582, 1208, 10 ), Map );
					list.Add( c );
					c = new Static( 6930 );
					c.MoveToWorld( new Point3D( 5582, 1208, 10 ), Map );
					list.Add( c );
			
					//Display Case
					c = new Static( 2824 );
					c.MoveToWorld( new Point3D( 5582, 1211, 7 ), Map );
					list.Add( c );
					c = new Static( 2823 );
					c.MoveToWorld( new Point3D( 5582, 1212, 7 ), Map );
					list.Add( c );
					c = new Static( 2822 );
					c.MoveToWorld( new Point3D( 5582, 1213, 7 ), Map );
					list.Add( c );
					
					//Bottle
					c = new Static( 3625 );
					c.MoveToWorld( new Point3D( 5582, 1211, 10 ), Map );
					c.Hue = 1157;
					list.Add( c );
					
					//Empty Jars
					c = new Static( 3654 );
					c.MoveToWorld( new Point3D( 5582, 1212, 10 ), Map );
					c.Hue = 2075;
					list.Add( c );
					
					//Bottle
					c = new Static( 3627 );
					c.MoveToWorld( new Point3D( 5582, 1213, 10 ), Map );
					c.Hue = 1175;
					list.Add( c );
					break;
				case 2:				
					//Pumpkin Scarecrow
					c = new Static( 18075 );
					c.MoveToWorld( new Point3D( 5576, 1216, 7 ), Map );
					c.Name = "Pumpkin Scarecrow";
					list.Add( c );
					
					//Skull Pole
					c = new Static( 13901 );
					c.MoveToWorld( new Point3D( 5578, 1216, 7 ), Map );
					list.Add( c );
					c = new Static( 13901 );
					c.MoveToWorld( new Point3D( 5581, 1216, 7 ), Map );
					list.Add( c );			
					
					//Hanging Skeleton
					c = new Static( 6660 );
					c.MoveToWorld( new Point3D( 5574, 1213, 7 ), Map );
					list.Add( c );
					c = new Static( 6660 );
					c.MoveToWorld( new Point3D( 5574, 1211, 7 ), Map );
					list.Add( c );
					break;
				case 3:									
					//Guillotine
					c = new Static( 4677 );
					c.MoveToWorld( new Point3D( 5579, 1206, 7 ), Map );
					list.Add( c );
					
					//Demon Head
					c = new Static( 19090 );
					c.MoveToWorld( new Point3D( 5583, 1206, 7 ), Map );
					c.Name = "Demon Head";
					list.Add( c );
					
					//Painting
					c = new Static( 10848 );
					c.MoveToWorld( new Point3D( 5582, 1206, 7 ), Map );
					c.Name = "Painting";
					list.Add( c );
					
					//Creepy Painting
					c = new Static( 10860 );
					c.MoveToWorld( new Point3D( 5577, 1206, 7 ), Map );
					c.Name = "Creepy Painting";
					list.Add( c );
					
					//Bed of Nails
					c = new Static( 10882 );
					c.MoveToWorld( new Point3D( 5576, 1207, 7 ), Map );
					list.Add( c );
					c = new Static( 10881 );
					c.MoveToWorld( new Point3D( 5576, 1208, 7 ), Map );
					list.Add( c );
					break;
				case 4:										
					//Shadow Banner
					c = new Static( 13917 );
					c.MoveToWorld( new Point3D( 5575, 1212, 27 ), Map );
					list.Add( c );
					c = new Static( 13916 );
					c.MoveToWorld( new Point3D( 5576, 1212, 27 ), Map );
					list.Add( c );
					c = new Static( 13917 );
					c.MoveToWorld( new Point3D( 5582, 1212, 27 ), Map );
					list.Add( c );
					c = new Static( 13916 );
					c.MoveToWorld( new Point3D( 5583, 1212, 27 ), Map );
					list.Add( c );
					
					//Skull Pole
					c = new Static( 13901 );
					c.MoveToWorld( new Point3D( 5578, 1212, 27 ), Map );
					list.Add( c );
					c = new Static( 13901 );
					c.MoveToWorld( new Point3D( 5581, 1212, 27 ), Map );
					list.Add( c );
					
					//Pumpkins
					c = new Static( 18065 );
					c.MoveToWorld( new Point3D( 5575, 1212, 27 ), Map );
					c.Name = "Carved Pumpkin";
					list.Add( c );
					c = new Static( 18069 );
					c.MoveToWorld( new Point3D( 5584, 1212, 27 ), Map );
					c.Name = "Carved Pumpkin";
					list.Add( c );
					
					//Runes
					c = new Static( 3676 );
					c.MoveToWorld( new Point3D( 5575, 1213, 27 ), Map );
					list.Add( c );
					c = new Static( 3679 );
					c.MoveToWorld( new Point3D( 5577, 1213, 27 ), Map );
					list.Add( c );
					c = new Static( 3682 );
					c.MoveToWorld( new Point3D( 5579, 1213, 27 ), Map );
					list.Add( c );
					c = new Static( 3685 );
					c.MoveToWorld( new Point3D( 5581, 1213, 27 ), Map );
					list.Add( c );
					c = new Static( 3688 );
					c.MoveToWorld( new Point3D( 5583, 1213, 27 ), Map );
					list.Add( c );
					break;
				case 5:								
					//Paintings
					c = new Static( 10856 );
					c.MoveToWorld( new Point3D( 5574, 1208, 27 ), Map );
					c.Name = "Painting";
					list.Add( c );
					c = new Static( 10876 );
					c.MoveToWorld( new Point3D( 5577, 1206, 27 ), Map );
					c.Name = "Painting";
					list.Add( c );
					c = new Static( 17078 );
					c.MoveToWorld( new Point3D( 5579, 1206, 27 ), Map );
					c.Name = "Painting";
					list.Add( c );
							
					c = new Static( 16381 );
					c.MoveToWorld( new Point3D( 5577, 1206, 27 ), Map );
					c.Name = "Bonehound";
					list.Add( c );
					c = new Static( 16642 );
					c.MoveToWorld( new Point3D( 5579, 1206, 27 ), Map );
					c.Name = "Pirate's Chest";
					list.Add( c );
					c = new Static( 10907 );
					c.MoveToWorld( new Point3D( 5581, 1206, 27 ), Map );
					c.Name = "Demon Altar";
					list.Add( c );
					c = new Static( 10906 );
					c.MoveToWorld( new Point3D( 5582, 1206, 27 ), Map );
					c.Name = "Demon Altar";
					list.Add( c );
					
					//Abbatoir
					c = new AbbatoirAddon();
					c.MoveToWorld( new Point3D( 5579, 1208, 27 ), Map );
					c.Hue = 2075;
					list.Add( c );
					//Sparkles
					c = new Static( 14186 );
					c.MoveToWorld( new Point3D( 5579, 1208, 27 ), Map );
					c.Hue = 2075;
					list.Add( c );
					break;
				case 6:					
					//Mounted Pixies
					c = new Static( 10865 );
					c.MoveToWorld( new Point3D( 5578, 1206, 47 ), Map );
					c.Name = "Mounted Pixie";
					list.Add( c );
					c = new Static( 10871 );
					c.MoveToWorld( new Point3D( 5580, 1206, 47 ), Map );
					c.Name = "Mounted Pixie";
					list.Add( c );
					c = new Static( 10873 );
					c.MoveToWorld( new Point3D( 5582, 1206, 47 ), Map );
					c.Name = "Mounted Pixie";
					list.Add( c );

					//Shadow Statue
					c = new Static( 13900 );
					c.MoveToWorld( new Point3D( 5576, 1209, 47 ), Map );
					c.Name = "Shadow Statue";
					list.Add( c );
					
					//Shadow Altar
					c = new Static( 13915 );
					c.MoveToWorld( new Point3D( 5580, 1209, 47 ), Map );
					c.Name = "Shadow Altar";
					list.Add( c );
					c = new Static( 13914 );
					c.MoveToWorld( new Point3D( 5581, 1209, 47 ), Map );
					c.Name = "Shadow Altar";
					list.Add( c );
					
					//Ankh Of Sacrifice
					c = new Static( 7575 );
					c.MoveToWorld( new Point3D( 5574, 1209, 47 ), Map );
					c.Name = "Ankh of Sacrifice";
					list.Add( c );
					c = new Static( 7576 );
					c.MoveToWorld( new Point3D( 5574, 1208, 47 ), Map );
					c.Name = "Ankh of Sacrifice";
					list.Add( c );
					
					//Mummified Corpse
					c = new Static( 7452 );
					c.MoveToWorld( new Point3D( 5574, 1206, 47 ), Map );
					c.Name = "Mummified Corpse";
					list.Add( c );
					c = new Static( 7451 );
					c.MoveToWorld( new Point3D( 5575, 1206, 47 ), Map );
					c.Name = "Mummified Corpse";
					list.Add( c );
					c = new Static( 7450 );
					c.MoveToWorld( new Point3D( 5576, 1206, 47 ), Map );
					c.Name = "Mummified Corpse";
					list.Add( c );
					break;
			}
			
			if ( list.Count > 0 )
				Tiers.Add( list );
		}
		
		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();
		}
	}
}