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

namespace Server.Mobiles
{
	public class Gypsy : BaseVendor
	{
		private List<SBInfo> m_SBInfos = new List<SBInfo>();
		protected override List<SBInfo> SBInfos{ get { return m_SBInfos; } }

		[Constructable]
		public Gypsy() : base( "the gypsy" )
		{
			SetSkill( SkillName.Healing, 65.0, 88.0 );
			SetSkill( SkillName.Concentration, 65.0, 88.0 );
			SetSkill( SkillName.MagicResist, 65.0, 88.0 );
			SetSkill( SkillName.HandToHand, 36.0, 68.0 );
			SetSkill( SkillName.Stealing, 65.0, 88.0 );
		}

		public override void InitOutfit()
		{
			AddItem( new Kilt( Utility.RandomDyedHue() ) );
			AddItem( new Shirt( Utility.RandomDyedHue() ) );
			AddItem( new ThighBoots() );
			AddItem( new SkullCap( Utility.RandomDyedHue() ) );
		}

		public override void InitSBInfo()
		{
			m_SBInfos.Add( new SBGypsy() );
		}

		public Gypsy( 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();
		}

		private DateTime m_NextTalk;
		public DateTime NextTalk{ get{ return m_NextTalk; } set{ m_NextTalk = value; } }
		public override void OnMovement( Mobile m, Point3D oldLocation )
		{
			if( m is PlayerMobile )
			{
				if ( DateTime.Now >= m_NextTalk && InRange( m, 4 ) && InLOS( m ) )
				{
					switch ( Utility.Random( 45 ))
					{
						case 0: Say("A reunion must not occur or the unlucky chimera must fold in the age of temptation."); break;
						case 1: Say("An injury shall happen."); break;
						case 2: Say("He shall not assimilate with the proud youth."); break;
						case 3: Say("They will not weave near an altar."); break;
						case 4: Say("She will finally intrude."); break;
						case 5: Say("The diamond possum shall not deflect near a fortress on a sunny day before the coming of beauty."); break;
						case 6: Say("A relationship ending will finally happen with the tired juggler during the planting season."); break;
						case 7: Say("The clever hamster will trespass with the saffron youth in a castle when the first flowers bloom."); break;
						case 8: Say("A betrayal will finally happen or he will babble at the coming of destruction."); break;
						case 9: Say("She will finally gutter in a market before it is too late."); break;
						case 10: Say("An introduction will finally happen or the seductive viper shall not worship with the fanatical druid during the planting season."); break;
						case 11: Say("The broken-hearted grandmother will act or he shall not meander."); break;
						case 12: Say("A defeat will not take place in a castle on a journey."); break;
						case 13: Say("The fearless trader shall not look with the violet druid."); break;
						case 14: Say("The honest runaway will succumb with the hungry hare before the coming of lust."); break;
						case 15: Say("It will judge in the summer."); break;
						case 16: Say("The emerald lion will never scare for the sake of winter."); break;
						case 17: Say("She will finally famish and a recovery will not happen near a well during a rainstorm."); break;
						case 18: Say("A fight shall take place for the sake of willpower."); break;
						case 19: Say("The fanatical wizard shall not wax near a holy site in the afternoon at the coming of luck."); break;
						case 20: Say("She shall not ascend after sunset."); break;
						case 21: Say("It will never pray with the shy zealot."); break;
						case 22: Say("A meeting must happen with the malicious cook."); break;
						case 23: Say("The remorseless muse will fraternize at the bridge."); break;
						case 24: Say("The russet berserker must gasp or the remorseless slave must not bicker with the triumphant lion near a farm on the spring equinox."); break;
						case 25: Say("He shall fence with the black countess near a portal."); break;
						case 26: Say("An introduction will not happen and the intelligent champion shall lower on the spring equinox."); break;
						case 27: Say("The hasty hostler must jump."); break;
						case 28: Say("An agreement must take place with the broken-hearted cleric."); break;
						case 29: Say("It will finally benefit in the citadel in the age of dreams."); break;
						case 30: Say("A financial difficulty will never take place or the clumsy zombie will finally weep at midnight."); break;
						case 31: Say("She shall weld or he will finally crush during the growing season."); break;
						case 32: Say("The greedy artist shall lace and the garnet general must not compose."); break;
						case 33: Say("The arrogant rogue must not comply with the indigo robber at the coming of joy."); break;
						case 34: Say("The lavender summoner will crush in a time of truth."); break;
						case 35: Say("A contest must not happen after the first frost."); break;
						case 36: Say("She must not consent in the age of entropy."); break;
						case 37: Say("The deluded pony will not forget in a graveyard on a windy day for the sake of alchemy."); break;
						case 38: Say("A reversal of fortune shall not happen and a fall shall not occur in the spring for the sake of lust."); break;
						case 39: Say("She will ensure in the citadel."); break;
						case 40: Say("The lazy juggler will finally enquire and a loss shall not occur."); break;
						case 41: Say("A promise will finally take place and it shall not bother during fall in a time of fear."); break;
						case 42: Say("He must not weary."); break;
						case 43: Say("The orange donkey shall not gutter at the bridge."); break;
						case 44: Say("The word to the dark mage depths is 'bravoka'."); break;
					};
					m_NextTalk = (DateTime.Now + TimeSpan.FromSeconds( 30 ));
				}
			}
		}
	}
}