Inheritance: System.EventArgs
Beispiel #1
0
 public override void OnSpeech(SpeechEventArgs e)
 {
     if (!e.Handled && e.Mobile.InRange(this.Location, 12))
     {
     }
     base.OnSpeech(e);
 }
Beispiel #2
0
        public static void EventSink_Speech( SpeechEventArgs args )
        {
            string said = args.Speech.ToLower();
            Mobile from = args.Mobile;

            switch( said )
            {
                case( "i wish to duel" ):
                {
                    if ( from.Region is DuelRegion || DuelGump.Exists( from ) || ((PlayerMobile)from).SentRequest || ((PlayerMobile)from).RecievedRequest )
                    {
                        from.SendAsciiMessage( "You are too busy to duel someone else." );
                    }
                    else if ( !from.Alive )
                    {
                        from.SendMessage( "You cannot duel while dead." );
                    }
                    else if ( from.Aggressed.Count != 0 || from.Aggressors.Count != 0 )
                    {
                        from.SendMessage( "You cannot duel while in combat." );
                    }
                    else if ( from.Hits != from.HitsMax )
                    {
                        from.SendMessage( "You need to heal before offering a duel." );
                    }
                    else
                    {
                        from.Target = new DuelTarget( from );
                        ((PlayerMobile)from).SentRequest = true;
                    }
                    break;
                }
            }
        }
		public static void EventSink_Speech( SpeechEventArgs e )
		{
			WriteLine( e.Mobile, "{0}: {1}", LogManager.Format( e.Mobile ), e.Speech );

			if( ConsoleEnabled )
				Console.WriteLine( e.Mobile.Name + String.Format( " ({0}): ", ((Account)e.Mobile.Account).Username ) + e.Speech );
		}
		public override void OnSpeech( SpeechEventArgs e )
		{
			base.OnSpeech( e );

			Mobile from = e.Mobile;

			if ( from == Parent && m_UsesRemaining > 0 )
			{
				if ( GetFlag( GlacialSpells.Freeze ) && e.Speech.ToLower().IndexOf( "an ex del" ) > -1 )
				{
					m_CurrentSpell = GlacialSpells.Freeze;
					from.NetState.Send( new PlaySound( 0xF6, from.Location ) );
				}
				else if ( GetFlag( GlacialSpells.IceStrike ) && e.Speech.ToLower().IndexOf( "in corp del" ) > -1 )
				{
					m_CurrentSpell = GlacialSpells.IceStrike;
					from.NetState.Send( new PlaySound( 0xF7, from.Location ) );
				}
				else if ( GetFlag( GlacialSpells.IceBall ) && e.Speech.ToLower().IndexOf( "des corp del" ) > -1 )
				{
					m_CurrentSpell = GlacialSpells.IceBall;
					from.NetState.Send( new PlaySound( 0xF8, from.Location ) );
				}
			}
		}
Beispiel #5
0
		public static void EventSink_Speech( SpeechEventArgs args )
		{
			Mobile from = args.Mobile;
			int[] keywords = args.Keywords;

			for( int i = 0; i < keywords.Length; ++i )
			{
				switch( keywords[i] )
				{
					case 0x002A: // *i resign from my guild*
						{
							if( from.Guild != null )
								((Guild)from.Guild).RemoveMember( from );

							break;
						}
					case 0x0032: // *i must consider my sins*
						{

							from.SendMessage( "Short Term Murders : {0}", from.ShortTermMurders );
							from.SendMessage( "Long Term Murders : {0}", from.Kills );

							break;
						}
				}
			}
		}
		public static void OnSpeech( SpeechEventArgs e ) 
		{ 
			if ( m_HearAll.Count > 0 )
			{
				string lowercase = e.Speech.ToLower();

				if ( lowercase == "i wish to lock this down" ||
					lowercase == "i wish to release this" ||
					lowercase == "i wish to secure this" ||
					lowercase == "all follow me" ||
					lowercase == "all attack" ||
					lowercase == "all kill" ||
					lowercase == "all stay" ||
					lowercase == "all guard me" ||
					lowercase == "bank" ||
					lowercase == "guards" )
						return;

				string msg = String.Format( "({0}): {1}", e.Mobile.Name, e.Speech );

				for ( int i = 0; i < m_HearAll.Count; i++ )
				{ 
					if ( m_HearAll[i] != e.Mobile && m_HearAll[i].AccessLevel >= e.Mobile.AccessLevel )
						m_HearAll[i].SendMessage( msg );
				}
			}
		}
Beispiel #7
0
		public override void OnSpeech( SpeechEventArgs args )
		{
			if( !args.Handled && args.Mobile.InRange( this.Location, 2 ) )
			{
				Mobile m = args.Mobile;
				
				if( args.Speech.IndexOf( "play" ) > -1 && args.Speech.IndexOf( "game" ) > -1 )
				{
					if( m_Gamer != null )
					{
						Say( String.Format( "Hiyo! {0} is already taking {1} turn. Wait till {2} done!", m_Gamer.RawName, m_Gamer.Female ? "her" : "his", m_Gamer.Female ? "she\'s" : "he\'s" ) );
					}
					else if( m_Board == null || m_Board.Deleted )
					{
						Say( "Uh... nevermind! Someone stole my dartboard!" );
					}
					else
					{
						Direction = GetDirectionTo( m );
						Say( "Aha! We have a taker! Here\'s a pair of knives, see what you can do!" );
						
						m_Gamer = m;
						
						new InternalTimer( m, this ).Start();
					}
				}
			}
			
			base.OnSpeech( args );
		}
Beispiel #8
0
        public override void OnSpeech(SpeechEventArgs e)
        {

            bool isMatch = false;

            Mobile from = e.Mobile;

            string keyword = this.Name + " silence";


            if (keyword != null && e.Speech.ToLower().IndexOf(keyword.ToLower()) >= 0)
            {
                isMatch = true;

                if (!isMatch)
                    return;

                
                    from.SendGump(new ElementQuestGump3(from));
                    from.AddToBackpack(new ElementAir());
                e.Handled = true;
            }
            
            base.OnSpeech(e);
        }
Beispiel #9
0
        public static void EventSink_Speech( SpeechEventArgs args )
        {
            Mobile from = args.Mobile;
            int[] keywords = args.Keywords;

            for ( int i = 0; i < keywords.Length; ++i )
            {
                switch ( keywords[i] )
                {
                    case 0x002A: // *i resign from my guild*
                    {
                        if ( from.Guild is Guild && from.Guild != null )
                            ((Guild)from.Guild).RemoveMember( from );

                        break;
                    }
                    /*case 0x0032: // "*i must consider my sins*
                    {
                        if ( from.Kills == 0 )
                            from.SendLocalizedMessage( 502122 );
                        else if ( from.Kills <= 4 )
                            from.SendLocalizedMessage( 502125 );
                        else if ( from.Kills >= 5 )
                            from.SendLocalizedMessage( 502123 );
                        break;
                    }*/
                }
            }

            string lower = args.Speech.ToLower();
            if ( lower.IndexOf( "view updates" ) != -1 )
            {
                Server.Gumps.UpdatesGump.ShowUpdates( from );
            }
        }
Beispiel #10
0
        public static bool CheckSpeech(BaseCreature m_Mobile, SpeechEventArgs e)
        {
            string response = null;
            Region reg = Region.Find(m_Mobile.Location, m_Mobile.Map);

            //Check Job

            //Check Region
            if (reg.Name == "Britain")
            {
                if (m_Mobile.Sophistication == SophisticationLevel.High)
                    response = BritainHigh(m_Mobile, e);
                else if (m_Mobile.Sophistication == SophisticationLevel.Medium)
                    response = BritainMedium(m_Mobile, e);
                else if (m_Mobile.Sophistication == SophisticationLevel.Low)
                    response = BritainLow(m_Mobile, e);
            }

            //Check World
            if (m_Mobile.Sophistication == SophisticationLevel.High)
                response = BritanniaHigh(m_Mobile, e);
            else if (m_Mobile.Sophistication == SophisticationLevel.Medium)
                response = BritanniaMedium(m_Mobile, e);
            else if (m_Mobile.Sophistication == SophisticationLevel.Low)
                response = BritanniaLow(m_Mobile, e);

            if (response != null)
                return true;
            else
                return false;
        }
Beispiel #11
0
		private static void HandleSpeech( SpeechEventArgs e )
		{
			ArrayList houses = new ArrayList(BaseHouse.GetHouses( e.Mobile ));

		    foreach( BaseHouse house in houses )
			{
                if (!RUOVersion.RegionContains(house.Region, e.Mobile))
                    continue;

				if ( house is TownHouse )
					house.OnSpeech( e );
                /*
				if ( house.Owner == e.Mobile
				 && e.Speech.ToLower() == "create rental contract"
				 && CanRent( e.Mobile, house, true ) )
				{
					e.Mobile.AddToBackpack( new RentalContract() );
					e.Mobile.SendMessage( "A rental contract has been placed in your bag." );
				}
                */
				if ( house.Owner == e.Mobile && e.Speech.ToLower() == "check storage" )
				{
					int count;

					e.Mobile.SendMessage( "You have {0} lockdowns and {1} secures available.", RemainingSecures( house ), RemainingLocks( house ) );

					if ( (count = AllRentalLocks( house )) != 0 )
						e.Mobile.SendMessage( "Current rentals are using {0} of your lockdowns.", count );
					if ( (count = AllRentalSecures( house )) != 0 )
						e.Mobile.SendMessage( "Current rentals are using {0} of your secures.", count );
				}
			}
		}
Beispiel #12
0
 static void OnSpeech(SpeechEventArgs e)
 {
     var playerMobile = e.Mobile as PlayerMobile;
     if (playerMobile != null && isAFK(playerMobile))
     {
         SetBack(playerMobile);
     }
 }
Beispiel #13
0
 public override void OnSpeech( SpeechEventArgs m )
 {
     if ( m.Mobile.InRange( this, 5 ) )
     {
             Say( String.Format( "Hi {0}! My name is Jamal. I am supposed to be a Quest NPC.", m.Mobile.Name ) );
             Say( String.Format( "Sorry, but this Quest is currently not working." ) );
     }
 }
		public static void EventSink_Speech( SpeechEventArgs args )
		{
			Mobile from = args.Mobile;
			int[] keywords = args.Keywords;


			if ( from is PlayerMobile )
			{
				PlayerMobile player = from as PlayerMobile;
				
				if ( args.Speech.ToLower().Equals("trick or treat"))
				{
					Item[] items = from.Backpack.FindItemsByType( typeof( TrickOrTreatBag ) );

					if ( items.Length == 0 )
					{
						from.SendMessage ("You need a goodie bag to go trick or treating!");
					}
					else
					{
						bool foundbag = false;
						
						foreach( TrickOrTreatBag tb in items )
						{
							if ( tb.Uses > 0 )
							{ 
								foreach ( Mobile m in from.GetMobilesInRange( 3 ) ) // TODO: Validate range
								{
									if ( !m.Player && m.Body.IsHuman && ( m is BaseVendor ) )
									{
										if (m is BaseCreature && (((BaseCreature)m).IsHumanInTown() ) )
										{
											from.Direction = from.GetDirectionTo( m );
											m.Direction = m.GetDirectionTo( from );
											
											TrickOrTreat.GiveTreat( from, m, tb );
											tb.ConsumeUse( from );
											
											return;
										}
									}
								}

								foundbag = true;

								break;
							}
						}
						
						
						if ( !foundbag )
						{
							from.SendMessage("You don't have any uses left on your goodie bags");
						}
					}
				}
			}
		}
Beispiel #15
0
        public override void OnSpeech(SpeechEventArgs e)
        {
            if (!e.Handled && Parent is Mobile)
            {
                Mobile m = Parent as Mobile;

                if (e.Mobile.Serial != m.Serial)
                    return;

                string theirwords = e.Speech;
                theirwords.ToLower();
                int chant = 99;

                for (int i = 0; i < m_ShrineMantra.Length; i++)
                {
                    if (theirwords == m_ShrineMantra[i])
                        chant = i;
                }

                if (chant >= m_ShrineMantra.Length)
                    return;



                bool disabled = false;
                Point3D[] place = m_BritanniaShrines;

                if (e.Mobile.Map == Map.Ilshenar)
                {
                    if (!AllowIlshenarShrines)
                        disabled = true;
                    else
                        place = m_IllshShrines;
                }
                else if (e.Mobile.Map != Map.Felucca && e.Mobile.Map != Map.Trammel)
                    disabled = true;

                if (disabled == true)
                    return;



                bool rightplace = false;

                foreach (Mobile mobile in e.Mobile.Map.GetMobilesInRange(place[chant], 5))
                    if (mobile != null)
                        if (mobile.Serial == e.Mobile.Serial)
                            rightplace = true;



                if (rightplace == true)
                {
                    GiveBonus(chant, e.Mobile);
                    e.Handled = true;
                }
            }
        }
		public override void OnSpeech( SpeechEventArgs e )
		{
			Mobile from = e.Mobile;
            if (XmlScript.HasTrigger(this, TriggerName.onSpeech) && UberScriptTriggers.Trigger(this, e.Mobile, TriggerName.onSpeech, null, e.Speech))
            {
                return;
            }

			if ( !e.Handled && from is PlayerMobile && from.InRange( this.Location, 2 ) && WasNamed( e.Speech ) )
			{
				PlayerMobile pm = (PlayerMobile)from;

				if ( e.HasKeyword( 0x0004 ) ) // *join* | *member*
				{
					if ( pm.NpcGuild == this.NpcGuild )
						SayTo( from, 501047 ); // Thou art already a member of our guild.
					else if ( pm.NpcGuild != NpcGuild.None )
						SayTo( from, 501046 ); // Thou must resign from thy other guild first.
                    else if (pm.Young || pm.GameTime < JoinGameAge || (pm.CreationTime + JoinAge) > DateTime.UtcNow)
                    {
                        SayTo(from, 501048); // You are too young to join my guild...
                        if (pm.GameTime < JoinGameAge)
                        {
                            pm.LocalOverheadMessage(MessageType.Regular, 38, false, "Your gametime (" + pm.GameTime + ") must reach " + JoinGameAge + " before you can join.");
                        }
                        else if ((pm.CreationTime + JoinAge) > DateTime.UtcNow)
                        {
                            pm.LocalOverheadMessage(MessageType.Regular, 38, false, "You must wait 7 days after creating your character to join. That will be at " + (pm.CreationTime + JoinAge) + " server time." );
                        }
                    }
                    else if (CheckCustomReqs(pm))
                        SayPriceTo(from);

					e.Handled = true;
				}
				else if ( e.HasKeyword( 0x0005 ) ) // *resign* | *quit*
				{
					if ( pm.NpcGuild != this.NpcGuild )
					{
						SayTo( from, 501052 ); // Thou dost not belong to my guild!
					}
					else if ( (pm.NpcGuildJoinTime + QuitAge) > DateTime.UtcNow || (pm.NpcGuildGameTime + QuitGameAge) > pm.GameTime )
					{
						SayTo( from, 501053 ); // You just joined my guild! You must wait a week to resign.
					}
					else
					{
						SayTo( from, 501054 ); // I accept thy resignation.
						pm.NpcGuild = NpcGuild.None;
					}

					e.Handled = true;
				}
			}

			base.OnSpeech( e );
		}
Beispiel #17
0
        public static void Respond(SpeechEventArgs e, Mobile r, string input)
        {
            if (SpeechCheck(e, "job", "what do you do"))
                res(r, "I am a living library of the arcane arts.");
            else if (SpeechCheck(e, "abbey"))
                res(r, "Oh, I haven't been to my abbey in ages.");
            else if (SpeechCheck(e, "ability", "abilities"))
                res(r, "One must have born propensity for magic, a natural ability if you will.");
            else if (SpeechCheck(e, "arcane", "art"))
                res(r, "The arcane art is one of keeping mystical secrets.");
            else if (SpeechCheck(e, "cast", "casting"))
                res(r, "Just close your eyes, say the words, and visualize.  You may need your Spellbook for assistance.");
            else if (SpeechCheck(e, "component", "supplies"))
                res(r, "Reagents and a heavy spellbook are all the components one needs.");
            else if (SpeechCheck(e, "craft"))
                res(r, "The craft of a mage takes many years to learn.");
            else if (SpeechCheck(e, "des mani"))
                res(r, "The words to weaken an opponent.");
            else if (SpeechCheck(e, "empath"))
                res(r, "I know not what someone feels nor do I wish to.");
            else if (SpeechCheck(e, "ether"))
                res(r, "I have heard rumors of ether, but have never seen it myself.");
            else if (SpeechCheck(e, "guild"))
                res(r, "Join the Mage's Guild, and you'll receive discounts on reagents.");
            else if (SpeechCheck(e, "in lor"))
                res(r, "Night Sight is very handy when reagent hunting.");
            else if (SpeechCheck(e, "in mani"))
                res(r, "You shall hear these words quite often on a battlefield.");
            else if (SpeechCheck(e, "in mani ylem"))
                res(r, "No, I am not very hungry.");
            else if (SpeechCheck(e, "in por ylem"))
                res(r, "Beginning mages use this spell quite often.");
            else if (SpeechCheck(e, "ingredients"))
                res(r, "Which reagent are you referring to?");
            else if (SpeechCheck(e, "reagent"))
                res(r, "Reagents are the basis for all magic.");
            else if (SpeechCheck(e, "res wis"))
                res(r, "The Feeblemind spell truly isn't that useful.");
            else if (SpeechCheck(e, "relvinian"))
                res(r, "I think you have been in the sun too long.");
            else if (SpeechCheck(e, "scroll"))
                res(r, "Oh yes, always carry a few extra scrolls.  One never knows.");
            else if (SpeechCheck(e, "skill"))
                res(r, "One needs to dedicate himself to the arcane arts to acquire great skill.");
            else if (SpeechCheck(e, "spell"))
                res(r, "One can never practice any spell enough.");
            else if (SpeechCheck(e, "spellbook", "spell book", "spells"))
                res(r, "Never leave town without your spellbook.");
            else if (SpeechCheck(e, "talent"))
                res(r, "I feel that one must have a natural talent when it comes to casting spells.");
            else if (SpeechCheck(e, "uus jux"))
                res(r, "Clumsy is one of the first spells that one learns.  Quite easy to cast.");

            else
                Humans.Respond(e, r, input);
        }
Beispiel #18
0
        public override void OnSpeech(SpeechEventArgs e)
        {
            base.OnSpeech (e);

            if ( !e.Mobile.Hidden || e.Mobile.AccessLevel <= AccessLevel.Player )
            {
                m_TextHue = e.Hue;
                m_String = String.Format( "{0} said {1}", e.Mobile.Name, e.Speech );
            }
        }
		private static void EventSink_Speech( SpeechEventArgs e )
		{
			Mobile from = e.Mobile;

			if ( from.AccessLevel > AccessLevel.Player )
				return;

			if ( !NameVerification.Validate( e.Speech, 0, int.MaxValue, true, true, false, int.MaxValue, m_Exceptions, m_Disallowed, m_StartDisallowed ) )
				e.Blocked = !OnProfanityDetected( from, e.Speech );
		}
        public override void OnSpeech(SpeechEventArgs e)
        {
            if (e.Mobile.InRange(this, 6))
            {
                if (Insensitive.Contains(e.Speech, "guards"))
                {
                    if (base.Combatant != null)
                    {
                        if (!(base.InLOS(base.Combatant)))
                        {
                            base.Say("Je mùj!");
                            Point3D from = (Point3D)this.Location;
                            Point3D to = new Point3D((Point3D)base.Combatant.Location);
                            base.Location = to;
                            Effects.SendLocationParticles(EffectItem.Create(from, base.Map, EffectItem.DefaultDuration), 0x3728, 10, 10, 2023);
                            Effects.SendLocationParticles(EffectItem.Create(to, base.Map, EffectItem.DefaultDuration), 0x3728, 10, 10, 5023);
                            base.PlaySound(0x1FE);
                        }
                    }
                    else if (AdvancedGuardsCommand)
                    {
                        foreach (Mobile m in base.GetMobilesInRange(base.RangePerception))
                        {
                            if (m is PlayerMobile && !(m.Hidden) && m.Alive && m.AccessLevel == AccessLevel.Player)
                            {
                                 if ((m.Kills > 5) || (m.Criminal))

                                {
                                    base.Combatant = m;
                                    base.Warmode = true;
				  
                                    if (!(base.InLOS(m)))
                                    {
                                        base.Say("Je mùj!");
                                        Point3D fromt = (Point3D)this.Location;
                                        Point3D tot = new Point3D((Point3D)base.Combatant.Location);
                                        base.Location = tot;
                                        Effects.SendLocationParticles(EffectItem.Create(fromt, base.Map, EffectItem.DefaultDuration), 0x3728, 10, 10, 2023);
                                        Effects.SendLocationParticles(EffectItem.Create(tot, base.Map, EffectItem.DefaultDuration), 0x3728, 10, 10, 5023);
                                        base.PlaySound(0x1FE);
                                    }
                                    break;
                                }
                            }
                        }
                    }
                   
                }
                else
                {
                    base.OnSpeech(e);
                }
            }

        } 
		public override void OnSpeech( SpeechEventArgs e )
		{
			if ( !e.Handled && e.Mobile.Alive && e.HasKeyword( 0x38 ) ) // *appraise*
			{
				PublicOverheadMessage( MessageType.Regular, 0x3B2, 500608 ); // Which deed would you like appraised?
				e.Mobile.BeginTarget( 12, false, TargetFlags.None, new TargetCallback( Appraise_OnTarget ) );
				e.Handled = true;
			}

			base.OnSpeech( e );
		}
        private static void EventSink_Speech( SpeechEventArgs e )
        {
            Mobile from = e.Mobile;

            if ( from.Squelched )
                return;

            if ( Core.IsPlayerJailed( (PlayerMobile)from ) )
                return;

            if ( from.AccessLevel > AccessLevel.Player )
                return;

            string speech = e.Speech;

            // Strip useless characters out
            foreach ( char c in m_CharsToRemove )
            {
                speech = speech.Replace( c.ToString(), "" );
            }

            // Replace numbers with letters
            speech = speech.Replace( '0', 'o' );
            speech = speech.Replace( '1', 'i' );
            speech = speech.Replace( '3', 'e' );
            speech = speech.Replace( '4', 'a' );
            speech = speech.Replace( '5', 's' );
            speech = speech.Replace( '6', 'g' );
            speech = speech.Replace( '7', 't' );
            speech = speech.Replace( '9', 'g' );

            // Replace consecutive whitespaces
            while ( speech.IndexOf( "  " ) > -1 )
            {
                speech = speech.Replace( "  ", " " );
            }

            if ( Core.BadWords.Count > 0 )
            {
                string[] splitWords = speech.Split( ' ' );

                foreach ( string word in splitWords )
                {
                    if ( Core.BadWords.Contains( word ) )
                    {
                        // Double check for special exceptions here
                        if ( word == "ass" && !e.Speech.Contains( "ass" ) && e.Speech.Contains( "455" ) )
                            continue;   // Player was just typing the number 455!

                        Core.JailPlayer( (PlayerMobile)from, (JailCell)Utility.RandomMinMax( 1, 8 ), new TimeSpan( Settings.SwearDays, Settings.SwearHours, Settings.SwearMinutes, 0, 0 ), String.Format( "Automatically jailed for using swear word: {0}", word ), (PlayerMobile)from );
                    }
                }
            }
        }
Beispiel #23
0
		public override void OnSpeech(SpeechEventArgs e )
		{
			if ( !e.Handled && e.Mobile.InRange( this.Location, 5 ) )
			{
				if (e.Speech.ToLower().IndexOf( "sail" ) >= 0 )
				{
					e.Mobile.SendGump( new SailDestinationGump( e.Mobile, this.Location ) );
					this.Direction = GetDirectionTo( e.Mobile.Location );
				}
			}

			base.OnSpeech( e );
		}
		public override void OnSpeech( SpeechEventArgs e )
		{
			// TODO: read keywords and respond with information on publishing

			if (e.Mobile.Criminal)
			{
				e.Handled = true;
				this.Say(500389); // I will not do business with a criminal!
				base.OnSpeech( e );
				return;
			}
			base.OnSpeech( e );
		}	
Beispiel #25
0
 public static void OnSpeech(SpeechEventArgs e)
 {
     if (m_AFK.Contains(e.Mobile.Serial.Value))
     {
         AFK afk = (AFK)m_AFK[e.Mobile.Serial.Value];
         if (afk == null)
         {
             e.Mobile.SendMessage("L'objet AFK est manquant!");
             return;
         }
         afk.wakeUp();
     }
 }
        public override void OnSpeech(SpeechEventArgs e)
        {
            if ((e.Speech.ToLower() == "repair"))
            {
                BeginRepair(e.Mobile);
            }

            else
            {
                base.OnSpeech(e);
            }

        }
Beispiel #27
0
 private static void OnSpeech(SpeechEventArgs args)
 {
     if (args.Mobile != null && Hearconsole)
     {
         try
         {
             if (args.Mobile.Region.Name.Length > 0)
                 Console.WriteLine("" + args.Mobile.Name + " (" + args.Mobile.Region.Name + "): " + args.Speech + "");
             else
                 Console.WriteLine("" + args.Mobile.Name + ": " + args.Speech + "");
         }
         catch (Exception) { }
     }
 }
Beispiel #28
0
        public override void OnSpeech( SpeechEventArgs e )
        {
            base.OnSpeech( e );

            if ( !e.Handled && m_NextShush <= DateTime.UtcNow && InLOS( e.Mobile ) )
            {
                Direction = GetDirectionTo( e.Mobile );

                PlaySound( Female ? 0x32F : 0x441 );
                PublicOverheadMessage( Network.MessageType.Regular, 0x3B2, 1073990 ); // Shhhh!

                m_NextShush = DateTime.UtcNow + ShushDelay;
                e.Handled = true;
            }
        }
Beispiel #29
0
        private static void OnSpeech( SpeechEventArgs e )
        {
            try{

            foreach( ChatInfo info in ChatInfo.ChatInfos.Values )
            {
                if ( info.Mobile.Map == e.Mobile.Map && info.Mobile.InRange( e.Mobile.Location, 10 ) )
                    continue;

                if ( info.GlobalWorld && !info.GlobalIgnoring( e.Mobile ) && info.Mobile.AccessLevel > e.Mobile.AccessLevel )
                    info.Mobile.SendMessage( info.WorldColor, String.Format( "<World> {0}: {1}", e.Mobile.Name, e.Speech ) );
            }

            }catch{ Errors.Report( String.Format( "WorldListen-> OnSpeech-> |{0}|", e.Mobile ) ); }
        }
        private static void EventSink_Speech(SpeechEventArgs e)
        {
            Mobile from = e.Mobile;
            string s_PlayersSpeech = e.Speech;

            if (!(e.Mobile is PlayerMobile))
                return;

            PlayerMobile x = (PlayerMobile)(e.Mobile);

            if (s_PlayersSpeech.ToLower().IndexOf("i challenge thee") >= 0)
                StartDuel(false, x, Challenge.Challenge.WorldStones);
            if (s_PlayersSpeech.ToLower().IndexOf("as a team we challenge thee") >= 0)
                StartDuel(true, x, Challenge.Challenge.WorldStones);
        }
Beispiel #31
0
        private static void EventSink_Speech(SpeechEventArgs e)
        {
            Mobile from            = e.Mobile;
            string s_PlayersSpeech = e.Speech;

            if (!(e.Mobile is PlayerMobile))
            {
                return;
            }

            PlayerMobile x = (PlayerMobile)(e.Mobile);

            if (s_PlayersSpeech.ToLower().IndexOf("i challenge thee") >= 0)
            {
                StartDuel(false, x, Challenge.Challenge.WorldStones);
            }
            if (s_PlayersSpeech.ToLower().IndexOf("as a team we challenge thee") >= 0)
            {
                StartDuel(true, x, Challenge.Challenge.WorldStones);
            }
        }
Beispiel #32
0
        public static void Speech_Event(SpeechEventArgs e)
        {
            string keyword = e.Speech;

            switch (keyword)
            {
            case "bestiary":
            {
                //If you want to have this controled by a certain skill, edit the line below.
                //if ( ((PlayerMobile)e.Mobile).Skills[SkillName.Tracking].Base > 80.0 && e.Mobile.Alive)
                e.Mobile.Target = new BeastTarget();
                break;
            }

            case "Bestiary":
            {
                //If you want to have this controled by a certain skill, edit the line below.
                //if ( ((PlayerMobile)e.Mobile).Skills[SkillName.Tracking].Base > 80.0 && e.Mobile.Alive)
                e.Mobile.Target = new BeastTarget();
                break;
            }
            }
        }
Beispiel #33
0
        public static string BritanniaHigh(BaseCreature m_Mobile, SpeechEventArgs e)
        {
            Mobile from     = e.Mobile;
            string response = null;
            string town     = GetLocation(m_Mobile);
            string MyName   = m_Mobile.Name;

            if (Insensitive.Speech(e.Speech, "hello") || Insensitive.Speech(e.Speech, "hi") || (Insensitive.Speech(e.Speech, "good") && Insensitive.Speech(e.Speech, "see") && Insensitive.Speech(e.Speech, "thee")))
            {
                if (m_Mobile.Attitude == AttitudeLevel.Wicked)
                {
                    switch (Utility.Random(3))
                    {
                    case 0: response = ("What dost thou want?"); break;

                    case 1: response = ("Uh huh?"); break;

                    case 2: response = ("Yeah, what?"); break;
                    }
                }
                else if (m_Mobile.Attitude == AttitudeLevel.Neutral)
                {
                    switch (Utility.Random(3))
                    {
                    case 0: response = ("Hello."); break;

                    case 1: response = ("Hi."); break;

                    case 2: response = ("Greetings."); break;
                    }
                }
                else if (m_Mobile.Attitude == AttitudeLevel.Goodhearted)
                {
                    switch (Utility.Random(3))
                    {
                    case 0: response = String.Format("Hello, {0}.", e.Mobile.Female ? "milady" : "milord"); break;

                    case 1: response = ("Hi."); break;

                    case 2: response = String.Format("Greetings, {0}.", e.Mobile.Female ? "milady" : "milord"); break;
                    }
                }
            }
            if ((Insensitive.Speech(e.Speech, "how") && Insensitive.Speech(e.Speech, "you")) || (Insensitive.Speech(e.Speech, "how") && Insensitive.Speech(e.Speech, "thou")))
            {
                if (m_Mobile.Attitude == AttitudeLevel.Wicked)
                {
                    switch (Utility.Random(3))
                    {
                    case 0: response = ("Horrible!"); break;

                    case 1: response = ("None of thy business!"); break;

                    case 2: response = ("Get thee away from me!"); break;
                    }
                }
                else if (m_Mobile.Attitude == AttitudeLevel.Neutral)
                {
                    switch (Utility.Random(3))
                    {
                    case 0: response = ("I'm doing relatively well."); break;

                    case 1: response = ("Just fine."); break;

                    case 2: response = ("I am well."); break;
                    }
                }
                else if (m_Mobile.Attitude == AttitudeLevel.Goodhearted)
                {
                    switch (Utility.Random(3))
                    {
                    case 0: response = String.Format("I am well, {0}. I hope thou art the same.", e.Mobile.Female ? "milady" : "milord"); break;

                    case 1: response = ("Doing great!"); break;

                    case 2: response = String.Format("As well as I can be, {0}.", e.Mobile.Female ? "milady" : "milord"); break;
                    }
                }
            }
            if ((Insensitive.Speech(e.Speech, "where") && Insensitive.Speech(e.Speech, "thou") && Insensitive.Speech(e.Speech, "live")) || (Insensitive.Speech(e.Speech, "where") && Insensitive.Speech(e.Speech, "you") && Insensitive.Speech(e.Speech, "live")) || (Insensitive.Speech(e.Speech, "thou") && Insensitive.Speech(e.Speech, "live")) || (Insensitive.Speech(e.Speech, "you") && Insensitive.Speech(e.Speech, "live")) || Insensitive.Speech(e.Speech, "what city are you from") || Insensitive.Speech(e.Speech, "what town are you from") || (Insensitive.Speech(e.Speech, "where") && Insensitive.Speech(e.Speech, "you") && Insensitive.Speech(e.Speech, "from")) || (Insensitive.Speech(e.Speech, "where") && Insensitive.Speech(e.Speech, "thou") && Insensitive.Speech(e.Speech, "from")))
            {
                if (m_Mobile.Attitude == AttitudeLevel.Wicked)
                {
                    switch (Utility.Random(3))
                    {
                    case 0: response = ("I live here!"); break;

                    case 1: response = ("None of thy business!"); break;

                    case 2: response = ("I live in the bottom of the ocean!  I only come here during the day!"); break;
                    }
                }
                else if (m_Mobile.Attitude == AttitudeLevel.Neutral)
                {
                    switch (Utility.Random(5))
                    {
                    case 0: response = String.Format("I live here in {0}.", town); break;

                    case 1: response = String.Format("I live in {0}.", town); break;

                    case 2: response = String.Format("Here. In {0}.", town); break;

                    case 3: response = String.Format("Right here.  In {0}.", town); break;

                    case 4: response = "I live in the town that thou art standing in."; break;
                    }
                }
                else if (m_Mobile.Attitude == AttitudeLevel.Goodhearted)
                {
                    switch (Utility.Random(4))
                    {
                    case 0: response = String.Format("I live here in {0}.", town); break;

                    case 1: response = String.Format("Here, {0}.", e.Mobile.Female ? "milady" : "milord"); break;

                    case 2: response = String.Format("Right here.  In {0}, {1}.", town, e.Mobile.Female ? "milady" : "milord"); break;

                    case 3: response = String.Format("I live in the town that thou art standing in, {0}.", e.Mobile.Female ? "milady" : "milord"); break;
                    }
                }
            }
            if ((Insensitive.Speech(e.Speech, "where") && Insensitive.Speech(e.Speech, "am") && Insensitive.Speech(e.Speech, "i")) || Insensitive.Speech(e.Speech, "what town am I in") || (Insensitive.Speech(e.Speech, "what") && Insensitive.Speech(e.Speech, "town is this")))
            {
                switch (Utility.Random(3))
                {
                case 0: response = String.Format("Thou art in {0}.", town); break;

                case 1: response = String.Format("Thou art a visitor of {0}.", town); break;

                case 2: response = String.Format("If thou art lost, then know that thou art in {0}.", town); break;
                }
            }
            if ((Insensitive.Speech(e.Speech, "where") && Insensitive.Speech(e.Speech, "thou") && Insensitive.Speech(e.Speech, "work")) || (Insensitive.Speech(e.Speech, "where") && Insensitive.Speech(e.Speech, "you") && Insensitive.Speech(e.Speech, "work")))
            {
                if (m_Mobile.Attitude == AttitudeLevel.Wicked)
                {
                    switch (Utility.Random(3))
                    {
                    case 0: response = ("I work here, moron!"); break;

                    case 1: response = ("None of thy business!"); break;

                    case 2: response = ("I work out of a cave!  What dost thou think, imbecile!"); break;
                    }
                }
                else if (m_Mobile.Attitude == AttitudeLevel.Neutral)
                {
                    switch (Utility.Random(3))
                    {
                    case 0: response = String.Format("I work here in {0}.", town); break;

                    case 1: response = String.Format("Here. In {0}.", town); break;

                    case 2: response = String.Format("I work in the town that thou art in.", town); break;
                    }
                }
                else if (m_Mobile.Attitude == AttitudeLevel.Goodhearted)
                {
                    switch (Utility.Random(3))
                    {
                    case 0: response = String.Format("I work here in {0}.", town); break;

                    case 1: response = String.Format("Here. In {0}, {1}.", town, e.Mobile.Female ? "milady" : "milord"); break;

                    case 2: response = String.Format("I work in this town, {0}.", e.Mobile.Female ? "milady" : "milord"); break;
                    }
                }
            }
            if (Insensitive.Speech(e.Speech, "thanks") || Insensitive.Speech(e.Speech, "thank you") || Insensitive.Speech(e.Speech, "thank thee") || Insensitive.Speech(e.Speech, "thank ye") || Insensitive.Speech(e.Speech, "appreciate"))
            {
                switch (Utility.Random(4))
                {
                case 0: response = "Thou'rt welcome."; break;

                case 1: response = "'Twas nothing."; break;

                case 2: response = "Certainly, thou art welcome."; break;

                case 3: response = "Not a problem."; break;
                }
            }
            if (Insensitive.Speech(e.Speech, "bye") || Insensitive.Speech(e.Speech, "farewell") || (Insensitive.Speech(e.Speech, "fare") && Insensitive.Speech(e.Speech, "well")) || Insensitive.Speech(e.Speech, "chow") || Insensitive.Speech(e.Speech, "ciao") || (Insensitive.Speech(e.Speech, "see") && Insensitive.Speech(e.Speech, "ya")) || Insensitive.Speech(e.Speech, "seeya") || Insensitive.Speech(e.Speech, "see you") || Insensitive.Speech(e.Speech, "cya"))
            {
                switch (Utility.Random(2))
                {
                case 0: response = "Goodbye."; break;

                case 1: response = "Farewell."; break;
                }
            }
            if (Insensitive.Speech(e.Speech, "who are you") || Insensitive.Speech(e.Speech, "what's your name") || Insensitive.Speech(e.Speech, "what is your name") || Insensitive.Speech(e.Speech, "who art thou") || Insensitive.Speech(e.Speech, "who are ye") || (Insensitive.Speech(e.Speech, "who") && Insensitive.Speech(e.Speech, "you")) || Insensitive.Speech(e.Speech, "what are you called") || Insensitive.Speech(e.Speech, "what art thou called") || Insensitive.Speech(e.Speech, "what are ye called") || Insensitive.Speech(e.Speech, "know your name") || Insensitive.Speech(e.Speech, "know thy name") || Insensitive.Speech(e.Speech, "know yer name") || Insensitive.Speech(e.Speech, "what is thy name") || Insensitive.Speech(e.Speech, "what's thy name"))
            {
                switch (Utility.Random(3))
                {
                case 0: response = String.Format("My name is {0}.", MyName); break;

                case 1: response = String.Format("I am {0}, {1}.", MyName, e.Mobile.Female ? "milady" : "milord"); break;

                case 2: response = String.Format("Thou mayest call me {0}.", MyName); break;
                }
            }
            if ((Insensitive.Speech(e.Speech, "Is") && Insensitive.Speech(e.Speech, "name")) || Insensitive.Speech(e.Speech, "What's thy name"))
            {
                switch (Utility.Random(3))
                {
                case 0: response = String.Format("I am {0}.", MyName); break;

                case 1: response = String.Format("My name, {1}, is {0}.", MyName, e.Mobile.Female ? "madam" : "sir"); break;

                case 2: response = String.Format("If thou art looking for {0} then thou hast found me.", MyName); break;
                }
            }
            if (Insensitive.Equals(e.Speech, "name"))
            {
                switch (Utility.Random(2))
                {
                case 0: response = String.Format("If thou'rt asking for my name, {0}, please be more specific.", e.Mobile.Female ? "milady" : "milord"); break;

                case 1: response = String.Format("Please be more specific, if thou'rt asking for my name, {0}.", e.Mobile.Female ? "milady" : "milord"); break;
                }
            }
            if ((Insensitive.Speech(e.Speech, "make") && Insensitive.Speech(e.Speech, "money")) || (Insensitive.Speech(e.Speech, "earn") && Insensitive.Speech(e.Speech, "money")) || (Insensitive.Speech(e.Speech, "get") && Insensitive.Speech(e.Speech, "money")))
            {
                if (m_Mobile.Attitude == AttitudeLevel.Wicked)
                {
                    switch (Utility.Random(4))
                    {
                    case 0: response = ("Oh, well there's stealing, begging, scavenging... many ways for one such as thee to find money."); break;

                    case 1: response = ("I'm sure that thou can find many varied ways to take money. Like stealing things and selling them back to their owners, killing people..."); break;

                    case 2: response = ("Just lift money from people whho have it. That's what thy type would do anyway."); break;

                    case 3: response = ("Thou can always beg for thy gold."); break;
                    }
                }
                else if (m_Mobile.Attitude == AttitudeLevel.Neutral)
                {
                    switch (Utility.Random(7))
                    {
                    case 0: response = ("If thou dost want to earn money, practice a skill. Make things and sell them to the public. Most shopkeepers will let thee use the tools and materials that they aren't using."); break;

                    case 1: response = ("If thou art able to hunt the wild animals, sometimes thou can sell the meat that thou dost carve from them to a butcher."); break;

                    case 2: response = ("If thou can get an axe, perhaps thou could cut some trees into useful boards for woodworkers. They may be willing to pay thee for tham."); break;

                    case 3: response = ("If thou dost happen upon some ore, go to the blacksmith's shop and try to craft some armor or weapons. I have heard that it just takes practice."); break;

                    case 4: response = ("I have heard that the great dungeons sometimes have great treasures."); break;

                    case 5: response = ("Tanners will buy hides and pelts that thou dost take from the animals thou dost hunt."); break;

                    case 6: response = ("Thou can sell feathers from birds to a bowyer. And a cook may purchase the bird itself from thee."); break;
                    }
                }
                else if (m_Mobile.Attitude == AttitudeLevel.Goodhearted)
                {
                    switch (Utility.Random(4))
                    {
                    case 0: response = "There are many different ways to make money in Britannia. Thou can sell raw materials to merchants, make and sell goods, sell the meat that thou dost find hunting... there are many ways."; break;

                    case 1: response = "The merchants will usually let people practice skills in their shops. All thou dost need is raw materials, and sometimes tools."; break;

                    case 2: response = "Some will stoop to stealing or killing to get their money, so be careful where thou dost walk. Make use of thy skills. Make something and sell it to a merchant."; break;

                    case 3: response = "Hunting seems to be a very profitable source of income. Most cooks will purchase fowl and fish from thee, butchers will pay thee for meat, and tanners for the pelts and hides."; break;
                    }
                }
            }
            if (Insensitive.Speech(e.Speech, "camp"))
            {
                switch (Utility.Random(3))
                {
                case 0: response = "It's essential to have good kindling and a bedroll if thou dost want to camp."; break;

                case 1: response = "I never leave the city without a bedroll on which to sleep and some kindling for a fire."; break;

                case 2: response = "Kindling for a fire and a bedroll for thy comfort is all thou dost need to make camp."; break;
                }
            }
            if ((Insensitive.Speech(e.Speech, "how") && Insensitive.Speech(e.Speech, "quit")) || (Insensitive.Speech(e.Speech, "log") && Insensitive.Speech(e.Speech, "off")) || Insensitive.Speech(e.Speech, "logoff"))
            {
                switch (Utility.Random(2))
                {
                case 0: response = "Making camp, if thou art in the wilds, and paying for a room in an Inn are the ways to give thyself a rest from this world."; break;

                case 1: response = "If thou art wanting a respite from the rigors of Britannia, then thou can make a camp or check in to an Inn, whichever is the most convenient."; break;
                }
            }
            if (Insensitive.Speech(e.Speech, "bedroll"))
            {
                switch (Utility.Random(2))
                {
                case 0: response = "Bedrolls can be purchased from a provisioner."; break;

                case 1: response = "If thou dost need a bedroll, I think a provisioner might help thee."; break;

                case 2: response = "I think thou can find a bedroll at a provisioner's shop, if that is what thou art looking for."; break;
                }
            }
            if (Insensitive.Speech(e.Speech, "kindling"))
            {
                switch (Utility.Random(2))
                {
                case 0: response = "If thou dost use an axe on some wood, thou should get kindling from it. Otherwise, I think a provisioner will carry some for those wanting to camp in the wild."; break;

                case 1: response = "Thou shouldst be able to get kindling from any wood thou finds. If thou has an axe, of course."; break;

                case 2: response = "A provisioner can supply thee with kindling if thou dost lack the means to make thy own."; break;
                }
            }
            if (Insensitive.Speech(e.Speech, "cave") || Insensitive.Speech(e.Speech, "dungeon") || Insensitive.Speech(e.Speech, "destard") || Insensitive.Speech(e.Speech, "despise") || Insensitive.Speech(e.Speech, "shame") || Insensitive.Speech(e.Speech, "deceit") || Insensitive.Speech(e.Speech, "hythloth") || Insensitive.Speech(e.Speech, "wrong") || Insensitive.Speech(e.Speech, "covetous"))
            {
                switch (Utility.Random(5))
                {
                case 0: response = "There are many as yet unmapped places beneath Britannia. 'Tis rumored to be riches and magic in them. And creatures that will rend the flesh from thy bones."; break;

                case 1: response = "The places under Britannia - some call them 'dungeons' - are spposed to be rich with treasures and gold. They are also guarded by horrible creatures that want nothing more than to dine on humans."; break;

                case 2: response = "I know of seven dungeons in Britannia. Covetous, Despise, Deceit, and... a, uh, few others."; break;

                case 3: response = "Let's see... I remember the names of Shame, Wrong, Despise, and Hythloth. I've never owned a map of Britannia myself."; break;

                case 4: response = "I think the dungeons that people tend to forget are Destard, Covetous, and Hythloth. I think."; break;
                }
            }
            if (Insensitive.Speech(e.Speech, "gold") || Insensitive.Speech(e.Speech, "treasure"))
            {
                switch (Utility.Random(3))
                {
                case 0: response = "Thou can find a good deal of treasure under Britannia. Look to the caves and what thou call dungeons."; break;

                case 1: response = "Some of the more dangerous creatures will carry gold that they've scavenged."; break;

                case 2: response = "If thou art needing gold, either find it in the dungeons, or scavenge it from monsters thou have killed. Thou will find it either way, if thou dost survive."; break;
                }
            }
            if (Insensitive.Speech(e.Speech, "Britannia"))
            {
                if (from.Karma <= -60)
                {
                    switch (Utility.Random(3))
                    {
                    case 0: response = "What wouldst thou have me say about Britannia, save that $rogues/foul wenches$ such as thee do much to bespoil its name."; break;

                    case 1: response = String.Format("Britannia? I ask thee not to speak of this land while in my company, {0}!", e.Mobile.Female ? "witch" : "varlet"); break;

                    case 2: response = String.Format("{0}! Thou carest not for Britannia! Thus, I ask thee to remove the name of Lord British's realm from thy mind.", e.Mobile.Female ? "Foul wench" : "Scoundrel"); break;
                    }
                }
                else if (from.Karma >= 60)
                {
                    switch (Utility.Random(3))
                    {
                    case 0: response = "Ah, thou dost speak of fair Britannia. Lord British, himself, wouldst be proud of thine efforts to keep it peaceful. Yet, those who travel claim it is but one realm of many."; break;

                    case 1: response = "I cannot speak but fondly on my homeland, the very land thou dost seek to keep safe. Yet I would not forgo an opportunity to see other lands."; break;

                    case 2: response = "I have lived in Britannia all my life, and so I thank thee for thine efforts to improve the lives of all who live here."; break;
                    }
                }
                else
                {
                    switch (Utility.Random(3))
                    {
                    case 0: response = "Ah, fair Britannia. Those who travel claim it is but one realm of many."; break;

                    case 1: response = "I cannot speak but fondly on my homeland. Yet I would not forgo an opportunity to see other lands."; break;

                    case 2: response = "I have lived in Britannia all my life. I do love it so."; break;
                    }
                }
            }
            if (Insensitive.Speech(e.Speech, "Buccaneer's Den") || Insensitive.Speech(e.Speech, "Buccaneers Den"))
            {
                switch (Utility.Random(3))
                {
                case 0: response = "Buccaneer's Den? Why, 'tis nothing more than a hiding place for pirates!"; break;

                case 1: response = "'Tis where the scum of the realm go to lick their wounds."; break;

                case 2: response = String.Format("I would not live in Buccaneer's Den if I were thee, {0}, for it is home to the most vile men and women to sail the seas.", e.Mobile.Female ? "milady" : "milord"); break;
                }
            }
            if (Insensitive.Speech(e.Speech, "Britain") || Insensitive.Speech(e.Speech, "capital"))
            {
                switch (Utility.Random(3))
                {
                case 0: response = "Britain is the capital of all Britannia, land of Lord British."; break;

                case 1: response = "Lord British, sovereign of all Britannia, resides in Britain."; break;

                case 2: response = "Britain is home to Lord British, himself. 'Tis the capital of Britannia."; break;
                }
            }
            if (Insensitive.Speech(e.Speech, "Cove"))
            {
                switch (Utility.Random(3))
                {
                case 0: response = "Cove? Thou shouldst find it North and East of Britain."; break;

                case 1: response = "Cove is not much of a city. 'Tis more of a village, to be truthful."; break;

                case 2: response = "Just Northeast of Britain is Cove."; break;
                }
            }
            if (Insensitive.Speech(e.Speech, "Jhelom"))
            {
                switch (Utility.Random(3))
                {
                case 0: response = "Jhelom is an outpost for mercenaries and sellswords."; break;

                case 1: response = "Jhelom? 'Tis a town of sword arms looking for work. Thou canst find it off the southwestern coast of mainland Britannia."; break;

                case 2: response = "Some say Jhelom is as rough as Buccaneer's Den, with half the scoundrels and twice the bruises."; break;
                }
            }
            if (Insensitive.Speech(e.Speech, "Magincia"))
            {
                switch (Utility.Random(3))
                {
                case 0: response = "Magincia is a city spanning nearly an entire island, outside of Britanny Bay."; break;

                case 1: response = "Magincia? 'Tis a city of arrogance and pride, I think."; break;

                case 2: response = String.Format("Quite a lovely place, {0}. And shouldst thou doubt my word, just ask someone who resides there.", e.Mobile.Female ? "milady" : "milord"); break;
                }
            }
            if (Insensitive.Speech(e.Speech, "Minoc"))
            {
                switch (Utility.Random(3))
                {
                case 0: response = "Minoc is a mining town now."; break;

                case 1: response = "Minoc? Why it was once home to the best artisans in the realm, but now that rich deposits of precious metals have been discovered in the mountains, 'tis full of miners."; break;

                case 2: response = String.Format("Minoc lies on the northern coast of the mainland, {0}.", e.Mobile.Female ? "milady" : "milord"); break;
                }
            }
            if (Insensitive.Speech(e.Speech, "Serpent's Hold") || Insensitive.Speech(e.Speech, "Serpents Hold"))
            {
                switch (Utility.Random(3))
                {
                case 0: response = "Serpent's Hold is where the best knights are trained. 'Tis located in the Cape of Heroes, off the southeastern edge of the mainland."; break;

                case 1: response = "Serpent's Hold is the fortification Lord British granted to his loyal knights, those of the Order of the Silver Serpent."; break;

                case 2: response = "Serpent's Hold? Art thou interested in becoming a member of Lord British's royal order of Knights -- the Order of the Silver Serpent? If such is true, then thou shouldst go to Serpent's Hold."; break;
                }
            }
            if (Insensitive.Speech(e.Speech, "Skara Brae"))
            {
                switch (Utility.Random(3))
                {
                case 0: response = "Skara Brae is an island. Thou canst find it off the western coast of Britannia."; break;

                case 1: response = "The most skilled trackers in the land learn their craft on the island of Skara Brae."; break;

                case 2: response = "Many talented shipwrights live on Skara Brae, though the island is actually known for the many trackers who teach their skills there."; break;
                }
            }
            if (Insensitive.Speech(e.Speech, "Trinsic"))
            {
                switch (Utility.Random(3))
                {
                case 0: response = "Though Serpent's Hold may be home to valiant knights, and Jhelom home to skilled mercenaries, Trinsic is where one shouldst go to find the most honorable warriors of the realm."; break;

                case 1: response = "Though known as a haven for men and women of honor who wish to hone their martial skills, Trinsic also supports a large guild of architects and engineers."; break;

                case 2: response = "Trinsic? Why, thou couldst find thy way there by merely following the south road from Britain."; break;
                }
            }
            if (Insensitive.Speech(e.Speech, "Vesper"))
            {
                switch (Utility.Random(3))
                {
                case 0: response = "Vesper? 'Tis a city in northeastern Britannia. Ore from the mines of Minoc are sent down river to be unloaded in Vesper."; break;

                case 1: response = String.Format("Much of the crafts forged in Minoc find their way to Vesper by way of the river, {0}.", e.Mobile.Female ? "milady" : "milord"); break;

                case 2: response = "Some claim Vesper is merely an extension of Minoc, calling it nothing more than a large marketplace for artisans to sell their wares."; break;
                }
            }
            if (Insensitive.Speech(e.Speech, "Yew"))
            {
                switch (Utility.Random(3))
                {
                case 0: response = "Yew is a small, peaceful community of farmers in northwestern Britannia."; break;

                case 1: response = "The High Court of Britannia is in Yew. 'Tis there that important cases that concern all of Britannia are decided, many of which are determined by Lord British, himself."; break;

                case 2: response = "They say farmers and criminals are all who go to Yew, $milord/milady$, save for those hoping to visit one of the two."; break;
                }
            }
            if (Insensitive.Speech(e.Speech, "Britanny Bay"))
            {
                switch (Utility.Random(3))
                {
                case 0: response = "'Tis the bay that touches the city of Britain."; break;

                case 1: response = "Britanny Bay is the body of water on the edge of Britannia's capital."; break;

                case 2: response = "Britanny Bay? Why, 'tis the waters that border the ports of Britain."; break;
                }
            }
            if (Insensitive.Speech(e.Speech, "Order of the Silver Serpent") || Insensitive.Speech(e.Speech, "Knights"))
            {
                switch (Utility.Random(3))
                {
                case 0: response = "'Tis the order of knights who served Lord British in the battle against Lord Robere."; break;

                case 1: response = "When Lord Robere challenged Lord British for his share of the realm, Lord British's faithful knights defended the kingdom."; break;

                case 2: response = "Only the bravest knights belong to the Order of the Silver Serpent. 'Twas they who defeated the forces of Lord Robere."; break;
                }
            }
            if (Insensitive.Speech(e.Speech, "Robere") || Insensitive.Speech(e.Speech, "Lord Robere"))
            {
                switch (Utility.Random(4))
                {
                case 0: response = "History claims that Lord Robere was once an honorable man. But he was overcome with greed and sought to take the entire realm by force."; break;

                case 1: response = "Years ago, Lord Robere made claims to the lands under Lord British's domain. Were it not for the stout knights in the Order of the Silver Serpent, Lord Robere could very well have conquered the entire realm."; break;

                case 2: response = "Though a kind and generous man in his youth, Lord Robere thirsted for power in his later years, so legends say."; break;

                case 3: response = "Had not the Order of the Silver Serpent been ready to fight for Lord British, this very land could have belonged to the ambitious conqueror."; break;
                }
            }
            if (Insensitive.Speech(e.Speech, "Lord British") || Insensitive.Speech(e.Speech, "ruler") || Insensitive.Speech(e.Speech, "king"))
            {
                if (m_Mobile.Attitude == AttitudeLevel.Wicked)
                {
                    if (from.Karma <= -60)
                    {
                        switch (Utility.Random(3))
                        {
                        case 0: response = "Love him like thine own brother, they say.  Fine, say I, but must I be so unnkind to mine own flesh and blood?"; break;

                        case 1: response = "Yes, it seems Lord British doth possess a rare gift for leadership...and I wish he would give it back."; break;

                        case 2: response = String.Format("Wert thou not so masterful, {0}, I would compare THEE to our illustrious ruler... but only a fool would confuse a fine {1} such as thee with Britannia'a royalty.", e.Mobile.Female ? "Milady" : "Milord", e.Mobile.Female ? "soul" : "man"); break;
                        }
                    }
                    else if (from.Karma >= 60)
                    {
                        switch (Utility.Random(3))
                        {
                        case 0: response = "Ah, thou dost speak of fair Britannia. Lord British, himself, wouldst be proud of thine efforts to keep it peaceful. Yet, those who travel claim it is but one realm of many."; break;

                        case 1: response = "I cannot speak but fondly on my homeland, the very land thou dost seek to keep safe. Yet I would not forgo an opportunity to see other lands."; break;

                        case 2: response = "I have lived in Britannia all my life, and so I thank thee for thine efforts to improve the lives of all who live here."; break;
                        }
                    }
                    else
                    {
                        switch (Utility.Random(3))
                        {
                        case 0: response = "Hmmm...  yes, Lord British. That's a difficult one...."; break;

                        case 1: response = "I care not for his empty promises or hollow beliefs, for they brought me nothing vain hope."; break;

                        case 2: response = String.Format("Please accept mine apology, o' noble {0}, but I care little about sharing mine opinions on Lord Britsh with thee.", e.Mobile.Female ? "lady" : "lord"); break;
                        }
                    }
                }
                else if (m_Mobile.Attitude == AttitudeLevel.Neutral)
                {
                    switch (Utility.Random(3))
                    {
                    case 0: response = ("I have always find Lord British to be fair and just in his rule."); break;

                    case 1: response = ("From my liege I ask no more than a strong but gently, guiding hand. Thus far, Lord British has shown just that."); break;

                    case 2: response = ("Lord British governs as any wise ruler would -- with an even hand and a thoughtful eye."); break;
                    }
                }
                else if (m_Mobile.Attitude == AttitudeLevel.Goodhearted)
                {
                    if (from.Karma <= -60)
                    {
                        switch (Utility.Random(3))
                        {
                        case 0: response = "Though thou might never know such, Lord British has done much to make our land one of prosperity."; break;

                        case 1: response = "Fear not, troubled soul. The worries that thou might have about our land will soon be made to vanish by Lord British."; break;

                        case 2: response = String.Format("It may not be apparent to thee, {0}, but Lord British's guidance has made Britannia great.", e.Mobile.Female ? "Milady" : "Milord", e.Mobile.Female ? "soul" : "man"); break;
                        }
                    }
                    else if (from.Karma >= 60)
                    {
                        switch (Utility.Random(3))
                        {
                        case 0: response = String.Format("As thou must surely know, {0} {1}, Lord British is the reason our land has prospered so.", e.Mobile.Female ? "Milady" : "Milord", e.Mobile.Name); break;

                        case 1: response = "I have little fear that all will be well in Britannia."; break;

                        case 2: response = String.Format("As must be plainly apparent to thee, {0}, Lord British's guidance has made Britannia great.", e.Mobile.Female ? "Milady" : "Milord"); break;
                        }
                    }
                    else
                    {
                        switch (Utility.Random(3))
                        {
                        case 0: response = "Lord British is a kind and generous ruler."; break;

                        case 1: response = "I do not know of another who would rule as fairly in Lord British's stead."; break;

                        case 2: response = "In truth, Lord British does his best to address any concerns we seem to have."; break;
                        }
                    }
                }
            }
            if (Insensitive.Speech(e.Speech, "weather"))
            {
                response = "Ah, the weather... 'Tis an interesting thing, really. No matter what the season, no matter what enchantments are cast, our land is almost always blessed with clear and beautiful blue skies.";
            }
            if (Insensitive.Speech(e.Speech, "concerns") || Insensitive.Speech(e.Speech, "troubles"))
            {
                switch (Utility.Random(3))
                {
                case 0: response = "Various issues surface from time to time, such as taxation, invasion, protection form creatures of the wild."; break;

                case 1: response = "Any land experiences difficult times, but it takes a wise ruler to lead his people through them."; break;

                case 2: response = "Surely thou dost understand -- life cannot always be free of trouble."; break;
                }
            }
            if (Insensitive.Speech(e.Speech, "blackthorn"))
            {
                switch (Utility.Random(3))
                {
                case 0: response = "I've heard that Lord Blackthorn has written a couple of books describing his philosophies in-depth. If thou dost find these, I imagine thou wouldst be able to say better than I what Blackthorn is about."; break;

                case 1: response = "Lord Blackthorn and Lord British are still friends, or so I've heard. They just envision different futures for Britannia."; break;

                case 2: response = "Lord Blackthorn wishes the freedom of choice in ALL things extended to everyone. Some say that he'd even sees the Orcs and Lizardmen as equals to the humans in Britannia."; break;
                }
            }
            if (Insensitive.Speech(e.Speech, "shamino"))
            {
                switch (Utility.Random(3))
                {
                case 0: response = "Lord Shamino? Ah, yes, Lord British's friend and ally, I believe."; break;

                case 1: response = "The name is familiar to me... ah, yes -- I believe he is the infrequent guest of Lord British."; break;

                case 2: response = String.Format("Not a name bandied about often, to be sure, kind {0}. I suspect thou'rt refering to the oft-time companion of Lord British, himself.", e.Mobile.Female ? "lady" : "sir"); break;
                }
            }
            if (Insensitive.Speech(e.Speech, "Iolo"))
            {
                switch (Utility.Random(3))
                {
                case 0: response = "Iolo? Ah, yes, Lord British's friend and ally, I believe."; break;

                case 1: response = "The name is familiar to me... ah, yes -- I believe he is the infrequent guest of Lord British."; break;

                case 2: response = String.Format("Not a name bandied about often, to be sure, kind {0}. I suspect thou'rt refering to the oft-time companion of Lord British, himself.", e.Mobile.Female ? "lady" : "sir"); break;
                }
            }
            if (Insensitive.Speech(e.Speech, "Dupre"))
            {
                switch (Utility.Random(3))
                {
                case 0: response = "Dupre? Ah, yes, Lord British's friend and ally, I believe. If thou wert to search for him, I wouldst most recommend a tavern."; break;

                case 1: response = "The name is familiar to me... ah, yes -- I believe he is the infrequent guest of Lord British. Mayhaps thou wilt find him sampling the local spirits."; break;

                case 2: response = String.Format("Not a name bandied about often, to be sure, kind {0}. I suspect thou'rt refering to the oft-time fighting companion of Lord British, himself.", e.Mobile.Female ? "lady" : "sir"); break;
                }
            }
            if (Insensitive.Speech(e.Speech, "New Magincia"))
            {
                switch (Utility.Random(3))
                {
                case 0: response = "New Magincia? Is there something wrong with the original?"; break;

                case 1: response = String.Format("Forgive me, {0}, but I think thou dost suffer the madness of the drink.", e.Mobile.Female ? "milady" : "milord"); break;

                case 2: response = String.Format("I have not heard of such a place, {0}. I suppose it could be a colony of Britannians who have settled in a new territory.", e.Mobile.Female ? "milady" : "milord"); break;
                }
            }
            if (Insensitive.Speech(e.Speech, "colony"))
            {
                switch (Utility.Random(3))
                {
                case 0: response = String.Format("I know not of any, {0}.", e.Mobile.Female ? "milady" : "milord"); break;

                case 1: response = "Rumors abound that Lord British wishes to send adventurous and resourceful individuals to settle unexplored areas."; break;

                case 2: response = String.Format("I know not of which thou doth speak, {0}.", e.Mobile.Female ? "milady" : "milord"); break;
                }
            }
            if (Insensitive.Speech(e.Speech, "virtue") || Insensitive.Speech(e.Speech, "virtues") || Insensitive.Speech(e.Speech, "shrines") || Insensitive.Speech(e.Speech, "truth") || Insensitive.Speech(e.Speech, "love") || Insensitive.Speech(e.Speech, "courage") || Insensitive.Speech(e.Speech, "spirituality") || Insensitive.Speech(e.Speech, "valor") || Insensitive.Speech(e.Speech, "honor") || Insensitive.Speech(e.Speech, "justice") || Insensitive.Speech(e.Speech, "sacrifice") || Insensitive.Speech(e.Speech, "honesty") || Insensitive.Speech(e.Speech, "humility") || Insensitive.Speech(e.Speech, "compassion"))
            {
                switch (Utility.Random(3))
                {
                case 0: response = "Shrines to the virtues are spread around our land. I've heard that they can even resurrect the dead."; break;

                case 1: response = "Rest and health can be found at the shrines."; break;

                case 2: response = "The shrines are rumored to have the power to resurrect the dead."; break;
                }
            }
            if (Insensitive.Speech(e.Speech, "avatar"))
            {
                switch (Utility.Random(4))
                {
                case 0: response = "Who?"; break;

                case 1: response = "I'm sorry, I know not of whom thou doth speak."; break;

                case 2: response = "I have never heard of this tar person."; break;

                case 3: response = "I cannot help thee."; break;
                }
            }
            if (Insensitive.Speech(e.Speech, "moongates"))
            {
                switch (Utility.Random(3))
                {
                case 0: response = "The moongates? They are... doors to different parts of Britannia. Except the destinations of the doors change with the phases of the two moons."; break;

                case 1: response = "Thou shouldst learn to use the moongates if thou dost plan to travel far. The key is in the phases of the moons."; break;

                case 2: response = "If thou dost use the moongates to travel, then thou might not end up where thou had planned, unless thou hast learned how to use them correctly."; break;
                }
            }
            if (Insensitive.Speech(e.Speech, "moons"))
            {
                response = "Our moons are called Trammel and Felucca. They control the moongates.";
            }
            return(response);
        }
Beispiel #34
0
        public static string BritanniaLow(BaseCreature m_Mobile, SpeechEventArgs e)
        {
            Mobile from     = e.Mobile;
            string response = null;
            string town     = GetLocation(m_Mobile);
            string MyName   = m_Mobile.Name;

            if (Insensitive.Speech(e.Speech, "hello") || Insensitive.Speech(e.Speech, "hi") || (Insensitive.Speech(e.Speech, "good") && Insensitive.Speech(e.Speech, "see") && Insensitive.Speech(e.Speech, "thee")))
            {
                if (m_Mobile.Attitude == AttitudeLevel.Wicked)
                {
                    switch (Utility.Random(3))
                    {
                    case 0: response = ("What dost thou want?"); break;

                    case 1: response = ("Uh huh?"); break;

                    case 2: response = ("Yeah, what?"); break;
                    }
                }
                else if (m_Mobile.Attitude == AttitudeLevel.Neutral)
                {
                    switch (Utility.Random(3))
                    {
                    case 0: response = ("Hello."); break;

                    case 1: response = ("Hi."); break;

                    case 2: response = ("Greetings."); break;
                    }
                }
                else if (m_Mobile.Attitude == AttitudeLevel.Goodhearted)
                {
                    switch (Utility.Random(3))
                    {
                    case 0: response = String.Format("Hello, {0}.", e.Mobile.Female ? "milady" : "milord"); break;

                    case 1: response = ("Hi."); break;

                    case 2: response = String.Format("Greetings, {0}.", e.Mobile.Female ? "milady" : "milord"); break;
                    }
                }
            }
            if ((Insensitive.Speech(e.Speech, "how") && Insensitive.Speech(e.Speech, "you")) || (Insensitive.Speech(e.Speech, "how") && Insensitive.Speech(e.Speech, "thou")))
            {
                if (m_Mobile.Attitude == AttitudeLevel.Wicked)
                {
                    switch (Utility.Random(3))
                    {
                    case 0: response = ("Horrible!"); break;

                    case 1: response = ("None of thy business!"); break;

                    case 2: response = ("Get away from me!"); break;
                    }
                }
                else if (m_Mobile.Attitude == AttitudeLevel.Neutral)
                {
                    switch (Utility.Random(3))
                    {
                    case 0: response = ("I'm alright."); break;

                    case 1: response = ("Fine."); break;

                    case 2: response = ("I'm good."); break;
                    }
                }
                else if (m_Mobile.Attitude == AttitudeLevel.Goodhearted)
                {
                    switch (Utility.Random(3))
                    {
                    case 0: response = String.Format("I'm good, {0}.  I hope thou'rt alright too.", e.Mobile.Female ? "m'lady" : "m'lord"); break;

                    case 1: response = ("Doin' great!"); break;

                    case 2: response = String.Format("Pretty good, $m'lord/m'lady$.", e.Mobile.Female ? "m'lady" : "m'lord"); break;
                    }
                }
            }
            if ((Insensitive.Speech(e.Speech, "where") && Insensitive.Speech(e.Speech, "thou") && Insensitive.Speech(e.Speech, "live")) || (Insensitive.Speech(e.Speech, "where") && Insensitive.Speech(e.Speech, "you") && Insensitive.Speech(e.Speech, "live")) || (Insensitive.Speech(e.Speech, "thou") && Insensitive.Speech(e.Speech, "live")) || (Insensitive.Speech(e.Speech, "you") && Insensitive.Speech(e.Speech, "live")) || Insensitive.Speech(e.Speech, "what city are you from") || Insensitive.Speech(e.Speech, "what town are you from") || (Insensitive.Speech(e.Speech, "where") && Insensitive.Speech(e.Speech, "you") && Insensitive.Speech(e.Speech, "from")) || (Insensitive.Speech(e.Speech, "where") && Insensitive.Speech(e.Speech, "thou") && Insensitive.Speech(e.Speech, "from")))
            {
                if (m_Mobile.Attitude == AttitudeLevel.Wicked)
                {
                    switch (Utility.Random(3))
                    {
                    case 0: response = ("I live here!"); break;

                    case 1: response = ("None of thy business!"); break;

                    case 2: response = ("I live in the bottom of the ocean!  I only come here during the day!"); break;
                    }
                }
                else if (m_Mobile.Attitude == AttitudeLevel.Neutral)
                {
                    switch (Utility.Random(5))
                    {
                    case 0: response = String.Format("I live here in {0}.", town); break;

                    case 1: response = String.Format("I live in {0}.", town); break;

                    case 2: response = String.Format("Here. In {0}.", town); break;

                    case 3: response = String.Format("Right here.  In {0}.", town); break;

                    case 4: response = "I live in the town that thou'rt standin' in."; break;
                    }
                }
                else if (m_Mobile.Attitude == AttitudeLevel.Goodhearted)
                {
                    switch (Utility.Random(4))
                    {
                    case 0: response = String.Format("I live here in {0}.", town); break;

                    case 1: response = String.Format("Here, {0}.", e.Mobile.Female ? "milady" : "milord"); break;

                    case 2: response = String.Format("Right here.  In {0}, {1}.", town, e.Mobile.Female ? "m'lady" : "m'lord"); break;

                    case 3: response = String.Format("I live in the town that thou'rt standin' in, {0}.", e.Mobile.Female ? "m'lady" : "m'lord"); break;
                    }
                }
            }
            if ((Insensitive.Speech(e.Speech, "where") && Insensitive.Speech(e.Speech, "am") && Insensitive.Speech(e.Speech, "i")) || Insensitive.Speech(e.Speech, "what town am I in") || (Insensitive.Speech(e.Speech, "what") && Insensitive.Speech(e.Speech, "town is this")))
            {
                switch (Utility.Random(3))
                {
                case 0: response = String.Format("{0}.", town); break;

                case 1: response = String.Format("Uhhh... {0}, I think.", town); break;

                case 2: response = String.Format("Thou'rt in the town of {0}.", town); break;
                }
            }
            if ((Insensitive.Speech(e.Speech, "where") && Insensitive.Speech(e.Speech, "thou") && Insensitive.Speech(e.Speech, "work")) || (Insensitive.Speech(e.Speech, "where") && Insensitive.Speech(e.Speech, "you") && Insensitive.Speech(e.Speech, "work")))
            {
                if (m_Mobile.Attitude == AttitudeLevel.Wicked)
                {
                    switch (Utility.Random(3))
                    {
                    case 0: response = ("I work here, moron!"); break;

                    case 1: response = ("None of thy business!"); break;

                    case 2: response = ("I work out of a cave!"); break;
                    }
                }
                else if (m_Mobile.Attitude == AttitudeLevel.Neutral)
                {
                    switch (Utility.Random(3))
                    {
                    case 0: response = String.Format("I work here in {0}.", town); break;

                    case 1: response = String.Format("Here. In {0}.", town); break;

                    case 2: response = String.Format("I work in the town that thou art in.", town); break;
                    }
                }
                else if (m_Mobile.Attitude == AttitudeLevel.Goodhearted)
                {
                    switch (Utility.Random(3))
                    {
                    case 0: response = String.Format("I work here in {0}.", town); break;

                    case 1: response = String.Format("Here. In {0}, {1}.", town, e.Mobile.Female ? "m'lady" : "m'lord"); break;

                    case 2: response = String.Format("I work in this town, {0}.", e.Mobile.Female ? "m'lady" : "m'lord"); break;
                    }
                }
            }
            if (Insensitive.Speech(e.Speech, "thanks") || Insensitive.Speech(e.Speech, "thank you") || Insensitive.Speech(e.Speech, "thank thee") || Insensitive.Speech(e.Speech, "thank ye") || Insensitive.Speech(e.Speech, "appreciate"))
            {
                switch (Utility.Random(4))
                {
                case 0: response = "Thou'rt welcome."; break;

                case 1: response = "'Twas nothin'."; break;

                case 2: response = "Sure, Thee's welcome."; break;

                case 3: response = "No problem."; break;
                }
            }
            if (Insensitive.Speech(e.Speech, "bye") || Insensitive.Speech(e.Speech, "farewell") || (Insensitive.Speech(e.Speech, "fare") && Insensitive.Speech(e.Speech, "well")) || Insensitive.Speech(e.Speech, "chow") || Insensitive.Speech(e.Speech, "ciao") || (Insensitive.Speech(e.Speech, "see") && Insensitive.Speech(e.Speech, "ya")) || Insensitive.Speech(e.Speech, "seeya") || Insensitive.Speech(e.Speech, "see you") || Insensitive.Speech(e.Speech, "cya"))
            {
                switch (Utility.Random(3))
                {
                case 0: response = "Goodbye."; break;

                case 1: response = "Farewell."; break;

                case 2: response = "Fare thee well."; break;
                }
            }
            if (Insensitive.Speech(e.Speech, "who are you") || Insensitive.Speech(e.Speech, "what's your name") || Insensitive.Speech(e.Speech, "what is your name") || Insensitive.Speech(e.Speech, "who art thou") || Insensitive.Speech(e.Speech, "who are ye") || (Insensitive.Speech(e.Speech, "who") && Insensitive.Speech(e.Speech, "you")) || Insensitive.Speech(e.Speech, "what are you called") || Insensitive.Speech(e.Speech, "what art thou called") || Insensitive.Speech(e.Speech, "what are ye called") || Insensitive.Speech(e.Speech, "know your name") || Insensitive.Speech(e.Speech, "know thy name") || Insensitive.Speech(e.Speech, "know yer name") || Insensitive.Speech(e.Speech, "what is thy name") || Insensitive.Speech(e.Speech, "what's thy name"))
            {
                switch (Utility.Random(3))
                {
                case 0: response = String.Format("{0}.", MyName); break;

                case 1: response = String.Format("I am {0}, {1}.", MyName, e.Mobile.Female ? "m'lady" : "m'lord"); break;

                case 2: response = String.Format("Call me {0}.", MyName); break;
                }
            }
            if (Insensitive.Equals(e.Speech, "name"))
            {
                response = String.Format("My name, {0}?", e.Mobile.Female ? "m'lady" : "m'lord");
            }
            if ((Insensitive.Speech(e.Speech, "Is") && Insensitive.Speech(e.Speech, "name")) || Insensitive.Speech(e.Speech, "What's thy name"))
            {
                switch (Utility.Random(3))
                {
                case 0: response = String.Format("I'm {0}.", MyName); break;

                case 1: response = String.Format("My name's {0}.", MyName); break;

                case 2: response = String.Format("I'm {0}.", MyName); break;
                }
            }
            if ((Insensitive.Speech(e.Speech, "make") && Insensitive.Speech(e.Speech, "money")) || (Insensitive.Speech(e.Speech, "earn") && Insensitive.Speech(e.Speech, "money")) || (Insensitive.Speech(e.Speech, "get") && Insensitive.Speech(e.Speech, "money")))
            {
                if (m_Mobile.Attitude == AttitudeLevel.Wicked)
                {
                    switch (Utility.Random(3))
                    {
                    case 0: response = ("If it's money thou'rt wantin', find thy own source!"); break;

                    case 1: response = ("I ain't tellin' thee nothin'. Thou would elbow in on my victim - er - customers."); break;

                    case 2: response = ("If thou'rt able, go huntin'. What thou hunts is thy own business, though."); break;
                    }
                }
                else if (m_Mobile.Attitude == AttitudeLevel.Neutral)
                {
                    switch (Utility.Random(6))
                    {
                    case 0: response = ("I can tell thee that in order to make some money thou would do best to practice thy skills in a shop somewhere. Some even have the tools and materials thou would need on hand."); break;

                    case 1: response = ("If thou'rt willing to work, thou could use the tools and stuff at some of the local shops and make some things that thou could sell."); break;

                    case 2: response = ("Thou could go chop up some trees for wood. Carpenters are usually lookin' for wood."); break;

                    case 3: response = ("Either work an honest living and make some things or don't. Ain't no matter to me."); break;

                    case 4: response = ("Thou can always hunt. Meat, hides, and feathers an' such can all be sold to shokeepers."); break;

                    case 5: response = ("There's ore to be mined, wood to be cut, armor to be made, and lotsa other things to do. Take thy pick."); break;
                    }
                }
                else if (m_Mobile.Attitude == AttitudeLevel.Goodhearted)
                {
                    switch (Utility.Random(4))
                    {
                    case 0: response = "Thou could practice thy skills at a shop, and then sell what thou art able to make. The shops should have tools and materials."; break;

                    case 1: response = "If thou kills some monsters, thou can usually find gold. They tend to keep any that they find."; break;

                    case 2: response = "Thou want money? Hunt for meat an' hides. Lotsa folks do it."; break;

                    case 3: response = "Get an axe and chop a tree, if thou want money from a carpenter. Or sell some furniture."; break;
                    }
                }
            }
            if (Insensitive.Speech(e.Speech, "camp"))
            {
                switch (Utility.Random(3))
                {
                case 0: response = "Take some kindling with thee if thou'rt wantin' to camp. Oh, and a bedroll. Yeah, that too."; break;

                case 1: response = "If thou gots a bedroll and some kindling, thou'rt set to camp."; break;

                case 2: response = "I just take a bedroll when I'm goin' out in the woods. Kindlin' thou can get from the trees, usually."; break;
                }
            }
            if ((Insensitive.Speech(e.Speech, "how") && Insensitive.Speech(e.Speech, "quit")) || (Insensitive.Speech(e.Speech, "log") && Insensitive.Speech(e.Speech, "off")) || Insensitive.Speech(e.Speech, "logoff"))
            {
                switch (Utility.Random(2))
                {
                case 0: response = "Find an Inn. Or make a camp. Either one will do thee just fine."; break;

                case 1: response = "Thou can make camp, or check in to an Inn."; break;
                }
            }
            if (Insensitive.Speech(e.Speech, "bedroll"))
            {
                switch (Utility.Random(3))
                {
                case 0: response = "Thou'rt needin' a bedroll? Find a provisioner."; break;

                case 1: response = "Provisioners got bedrolls."; break;

                case 2: response = "Find a provisioner. Then thou can buy a bedroll."; break;
                }
            }
            if (Insensitive.Speech(e.Speech, "kindling"))
            {
                switch (Utility.Random(3))
                {
                case 0: response = "Chop up some wood. That'll get thee some kindling."; break;

                case 1: response = "Uh... the provisioner's got some for sale, if thou wants to buy it."; break;

                case 2: response = "Thou wants kindling? Go chop some wood. Or buy some from the provisioner. I don't care."; break;
                }
            }
            if (Insensitive.Speech(e.Speech, "cave") || Insensitive.Speech(e.Speech, "dungeon") || Insensitive.Speech(e.Speech, "destard") || Insensitive.Speech(e.Speech, "despise") || Insensitive.Speech(e.Speech, "shame") || Insensitive.Speech(e.Speech, "deceit") || Insensitive.Speech(e.Speech, "hythloth") || Insensitive.Speech(e.Speech, "wrong") || Insensitive.Speech(e.Speech, "covetous"))
            {
                switch (Utility.Random(4))
                {
                case 0: response = "Dungeons got treasure. That and lotsa pain."; break;

                case 1: response = "I don't know none of the names of the dungeons. An' I KNOW I couldn't find my way there!"; break;

                case 2: response = "I'd go explore some of them places - caves and such - but I like my skin attached to my body."; break;

                case 3: response = "Them dungeons got monsters. Dangerous places. I hear they can make thee rich, though."; break;
                }
            }
            if (Insensitive.Speech(e.Speech, "gold") || Insensitive.Speech(e.Speech, "treasure"))
            {
                switch (Utility.Random(3))
                {
                case 0: response = "Find thy own gold! I ain't lettin' my secrets out!"; break;

                case 1: response = "I ain't tellin' thee where I gets my gold! 'Sides, thou couldn't survive the dungeons without knowin' how."; break;

                case 2: response = "Tell thee what... go kill a deamon. They got lotsa good stuff on 'em."; break;
                }
            }
            if (Insensitive.Speech(e.Speech, "Britannia"))
            {
                if (from.Karma <= -60)
                {
                    if (m_Mobile.Attitude == AttitudeLevel.Wicked)
                    {
                        switch (Utility.Random(3))
                        {
                        case 0: response = "Britannia? 'Tis the land thou'rt ruinin', blackguard!"; break;

                        case 1: response = "Surely thou knows the land thou'rt destroyin'!"; break;

                        case 2: response = "And what would thou like to know about Britannia? How thou can do more to make our lives worse?"; break;
                        }
                    }
                    else if (m_Mobile.Attitude == AttitudeLevel.Goodhearted)
                    {
                        switch (Utility.Random(3))
                        {
                        case 0: response = String.Format("Please, {0}, don't spoil our land no further. I beg thee!", e.Mobile.Female ? "lady" : "sir"); break;

                        case 1: response = "I can't help but worry that any news I give will only aid thy plans for destruction."; break;

                        case 2: response = String.Format("I would ask thee, {0}, to pillage our land no further.", e.Mobile.Female ? "m'lady" : "sir"); break;
                        }
                    }
                    else if (m_Mobile.Attitude == AttitudeLevel.Neutral)
                    {
                        switch (Utility.Random(3))
                        {
                        case 0: response = "Britannia is the very land thou'rt standin' on."; break;

                        case 1: response = "Britannia? Why, 'tis all around thee."; break;

                        case 2: response = "This very land is Britannia, as thou should know."; break;
                        }
                    }
                }
                else if (from.Karma >= 60)
                {
                    switch (Utility.Random(3))
                    {
                    case 0: response = "Britannia is this land thou helps make better."; break;

                    case 1: response = "Britannia? Why, 'tis the name that thanks thee daily for thy kindness."; break;

                    case 2: response = "How could thou not know of the lands made more prosperous by thy deeds?"; break;
                    }
                }
                else
                {
                    switch (Utility.Random(3))
                    {
                    case 0: response = "Britannia?  Why, 'tis the name Lord British has claimed for the lands of 'imself and 'is subjects"; break;

                    case 1: response = "This very land is Britannia, as thou must know."; break;

                    case 2: response = "Britannia? Why, 'tis all around thee."; break;
                    }
                }
            }
            if (Insensitive.Speech(e.Speech, "Buccaneer's Den") || Insensitive.Speech(e.Speech, "Buccaneers Den"))
            {
                switch (Utility.Random(3))
                {
                case 0: response = "Find thy own way about."; break;

                case 1: response = String.Format("If thou don't know, {0}, I can't help.", e.Mobile.Female ? "m'lady" : "m'lord"); break;

                case 2: response = String.Format("I ain't good with directions, {0}.", e.Mobile.Female ? "m'lady" : "m'lord"); break;
                }
            }
            if (Insensitive.Speech(e.Speech, "Britain") || Insensitive.Speech(e.Speech, "capital"))
            {
                switch (Utility.Random(3))
                {
                case 0: response = "Find thy own way around."; break;

                case 1: response = String.Format("If thou don't know, {0}, I can't help.", e.Mobile.Female ? "m'lady" : "m'lord"); break;

                case 2: response = String.Format("I ain't good with directions, {0}.", e.Mobile.Female ? "m'lady" : "m'lord"); break;
                }
            }
            if (Insensitive.Speech(e.Speech, "Cove"))
            {
                switch (Utility.Random(3))
                {
                case 0: response = "Find thy own way about."; break;

                case 1: response = String.Format("If thou don't know, {0}, I can't help.", e.Mobile.Female ? "m'lady" : "m'lord"); break;

                case 2: response = String.Format("I ain't good with directions, {0}.", e.Mobile.Female ? "m'lady" : "m'lord"); break;
                }
            }
            if (Insensitive.Speech(e.Speech, "Jhelom"))
            {
                switch (Utility.Random(3))
                {
                case 0: response = "Find thy own way about."; break;

                case 1: response = String.Format("If thou don't know, {0}, I can't help.", e.Mobile.Female ? "m'lady" : "m'lord"); break;

                case 2: response = String.Format("I ain't good with directions, {0}.", e.Mobile.Female ? "m'lady" : "m'lord"); break;
                }
            }
            if (Insensitive.Speech(e.Speech, "Magincia"))
            {
                switch (Utility.Random(3))
                {
                case 0: response = "Find thy own way about."; break;

                case 1: response = String.Format("If thou don't know, {0}, I can't help.", e.Mobile.Female ? "m'lady" : "m'lord"); break;

                case 2: response = String.Format("I ain't good with directions, {0}.", e.Mobile.Female ? "m'lady" : "m'lord"); break;
                }
            }
            if (Insensitive.Speech(e.Speech, "Minoc"))
            {
                switch (Utility.Random(3))
                {
                case 0: response = "Find thy own way about."; break;

                case 1: response = String.Format("If thou don't know, {0}, I can't help.", e.Mobile.Female ? "m'lady" : "m'lord"); break;

                case 2: response = String.Format("I ain't good with directions, {0}.", e.Mobile.Female ? "m'lady" : "m'lord"); break;
                }
            }
            if (Insensitive.Speech(e.Speech, "Serpent's Hold") || Insensitive.Speech(e.Speech, "Serpents Hold"))
            {
                switch (Utility.Random(3))
                {
                case 0: response = "Find thy own way about."; break;

                case 1: response = String.Format("If thou don't know, {0}, I can't help.", e.Mobile.Female ? "m'lady" : "m'lord"); break;

                case 2: response = String.Format("I ain't good with directions, {0}.", e.Mobile.Female ? "m'lady" : "m'lord"); break;
                }
            }
            if (Insensitive.Speech(e.Speech, "Skara Brae"))
            {
                switch (Utility.Random(3))
                {
                case 0: response = "Find thy own way about."; break;

                case 1: response = String.Format("If thou don't know, {0}, I can't help.", e.Mobile.Female ? "m'lady" : "m'lord"); break;

                case 2: response = String.Format("I ain't good with directions, {0}.", e.Mobile.Female ? "m'lady" : "m'lord"); break;
                }
            }
            if (Insensitive.Speech(e.Speech, "Trinsic"))
            {
                switch (Utility.Random(3))
                {
                case 0: response = "Find thy own way about."; break;

                case 1: response = String.Format("If thou don't know, {0}, I can't help.", e.Mobile.Female ? "m'lady" : "m'lord"); break;

                case 2: response = String.Format("I ain't good with directions, {0}.", e.Mobile.Female ? "m'lady" : "m'lord"); break;
                }
            }
            if (Insensitive.Speech(e.Speech, "Vesper"))
            {
                switch (Utility.Random(3))
                {
                case 0: response = "Find thy own way about."; break;

                case 1: response = String.Format("If thou don't know, {0}, I can't help.", e.Mobile.Female ? "m'lady" : "m'lord"); break;

                case 2: response = String.Format("I ain't good with directions, {0}.", e.Mobile.Female ? "m'lady" : "m'lord"); break;
                }
            }
            if (Insensitive.Speech(e.Speech, "Yew"))
            {
                switch (Utility.Random(3))
                {
                case 0: response = "Find thy own way about."; break;

                case 1: response = String.Format("If thou don't know, {0}, I can't help.", e.Mobile.Female ? "m'lady" : "m'lord"); break;

                case 2: response = String.Format("I ain't good with directions, {0}.", e.Mobile.Female ? "m'lady" : "m'lord"); break;
                }
            }
            if (Insensitive.Speech(e.Speech, "Lord British") || Insensitive.Speech(e.Speech, "ruler") || Insensitive.Speech(e.Speech, "king"))
            {
                if (m_Mobile.Attitude == AttitudeLevel.Wicked)
                {
                    if (from.Karma <= -60)
                    {
                        switch (Utility.Random(3))
                        {
                        case 0: response = "I'd like to see the bloody fool's head on a spit, I would."; break;

                        case 1: response = "Dost thou want my opinion on Lord British? I find him a lout, I do. And I'd say it to him if I could."; break;

                        case 2: response = "Thou wouldn't find me cryin' over 'is spilled blood."; break;
                        }
                    }
                    else if (from.Karma >= 60)
                    {
                        switch (Utility.Random(3))
                        {
                        case 0: response = String.Format("Lord British? Best we don't speak of him, {0}.", e.Mobile.Female ? "m'lady" : "m'lord"); break;

                        case 1: response = String.Format("Thou wouldn't care for my opinion, {0}.", e.Mobile.Female ? "m'lady" : "m'lord"); break;

                        case 2: response = String.Format("Nah, {0}, I ain't tellin' my feelings 'bout our liege. Best to be quiet 'bout them things.", e.Mobile.Female ? "m'lady" : "m'lord"); break;
                        }
                    }
                    else
                    {
                        switch (Utility.Random(3))
                        {
                        case 0: response = "I don't know what makes him feel so lordly. 'Less, 'tis his gift for collectin' gold to fill his coffers."; break;

                        case 1: response = "I hope Lord British is pleased with all he's done for Britannia. I'll say I ain't."; break;

                        case 2: response = "Lord British? I suppose the taxes he takes to fill his coffers leave us enough to live on... almost."; break;
                        }
                    }
                }
                else if (m_Mobile.Attitude == AttitudeLevel.Neutral)
                {
                    switch (Utility.Random(3))
                    {
                    case 0: response = "Aye, now thou'rt speakin' of our king."; break;

                    case 1: response = "Lord British? I like 'im."; break;

                    case 2: response = "They say Lord British is fair and just. I got no argument with that."; break;
                    }
                }
                else if (m_Mobile.Attitude == AttitudeLevel.Goodhearted)
                {
                    switch (Utility.Random(3))
                    {
                    case 0: response = "Aye, Lord British works hard to make sure we're all happy."; break;

                    case 1: response = "Lord British is our king. He's a good man, I say."; break;

                    case 2: response = "Lord British? He's done right by Britannia, he has!"; break;
                    }
                }
            }
            if (Insensitive.Speech(e.Speech, "weather"))
            {
                response = "Ah, the weather... 'Tis an interesting thing, really. No matter what the season, no matter what enchantments are cast, our land is almost always blessed with clear and beautiful blue skies.";
            }
            if (Insensitive.Speech(e.Speech, "concerns") || Insensitive.Speech(e.Speech, "troubles"))
            {
                switch (Utility.Random(3))
                {
                case 0: response = "Lotsa things annoy people, like taxation, invasion, and protection form creatures of the wild."; break;

                case 1: response = "Any land sees hard times, an' it takes a wise ruler to lead his people through 'em."; break;

                case 2: response = "Surely thou ain't understandin' -- life can't always be free of trouble."; break;
                }
            }
            if (Insensitive.Speech(e.Speech, "blackthorn"))
            {
                switch (Utility.Random(3))
                {
                case 0: response = "I think Blackthorn wrote a book or somethin'. I, uh, ain't had the time to read it though."; break;

                case 1: response = "Blackthorn an' British are still pals, I hear. Huh. Strange pair, that."; break;

                case 2: response = "I don't think either one of 'em's better than the other. Blackthorn an' British, I mean."; break;
                }
            }
            if (Insensitive.Speech(e.Speech, "shamino"))
            {
                switch (Utility.Random(3))
                {
                case 0: response = "Who?"; break;

                case 1: response = "Where?"; break;

                case 2: response = "What?"; break;
                }
            }
            if (Insensitive.Speech(e.Speech, "Iolo"))
            {
                switch (Utility.Random(3))
                {
                case 0: response = "Who?"; break;

                case 1: response = "Where?"; break;

                case 2: response = "What?"; break;
                }
            }
            if (Insensitive.Speech(e.Speech, "Dupre"))
            {
                switch (Utility.Random(3))
                {
                case 0: response = "Who?"; break;

                case 1: response = "Where?"; break;

                case 2: response = "What?"; break;
                }
            }
            if (Insensitive.Speech(e.Speech, "New Magincia"))
            {
                switch (Utility.Random(3))
                {
                case 0: response = "New Magincia? Is there something wrong with the original?"; break;

                case 1: response = String.Format("Forgive me, {0}, but I think thou'rt drunk.", e.Mobile.Female ? "m'lady" : "m'lord"); break;

                case 2: response = String.Format("I ain't heard o' such a place, {0}. I s'pose it could be a colony or somethin'.", e.Mobile.Female ? "m'lady" : "m'lord"); break;
                }
            }
            if (Insensitive.Speech(e.Speech, "other lands") || Insensitive.Speech(e.Speech, "other realms") || Insensitive.Speech(e.Speech, "many realms") || Insensitive.Speech(e.Speech, "many lands") || Insensitive.Speech(e.Speech, "other realm") || Insensitive.Speech(e.Speech, "one realm of many?"))
            {
                switch (Utility.Random(3))
                {
                case 0: response = "What's thou mean? There's only one land, and it's called Britannia."; break;

                case 1: response = "What other?"; break;

                case 2: response = "There ain't no other!"; break;
                }
            }
            if (Insensitive.Speech(e.Speech, "colony"))
            {
                switch (Utility.Random(3))
                {
                case 0: response = String.Format("I ain't knowin' of none, {0}.", e.Mobile.Female ? "m'lady" : "m'lord"); break;

                case 1: response = "Rumor is that Lord British wants to send idiots to settle unexplored areas."; break;

                case 2: response = String.Format("I don't know what thou'rt speakin' 'bout, {0}.", e.Mobile.Female ? "m'lady" : "m'lord"); break;
                }
            }
            if (Insensitive.Speech(e.Speech, "virtue") || Insensitive.Speech(e.Speech, "virtues") || Insensitive.Speech(e.Speech, "shrines") || Insensitive.Speech(e.Speech, "truth") || Insensitive.Speech(e.Speech, "love") || Insensitive.Speech(e.Speech, "courage") || Insensitive.Speech(e.Speech, "spirituality") || Insensitive.Speech(e.Speech, "valor") || Insensitive.Speech(e.Speech, "honor") || Insensitive.Speech(e.Speech, "justice") || Insensitive.Speech(e.Speech, "sacrifice") || Insensitive.Speech(e.Speech, "honesty") || Insensitive.Speech(e.Speech, "humility") || Insensitive.Speech(e.Speech, "compassion"))
            {
                switch (Utility.Random(2))
                {
                case 0: response = "Shrines to the virtues are all 'round our land. They're mighty powerful, I've heard."; break;

                case 1: response = "Rest and health is found at the shrines. I heard they'll bring thee alive if thou'rt dead or some such non-sense."; break;
                }
            }
            if (Insensitive.Speech(e.Speech, "avatar"))
            {
                switch (Utility.Random(4))
                {
                case 0: response = "Who?"; break;

                case 1: response = "Sorry, Never heard of 'im."; break;

                case 2: response = "I ain't never heard of this tar person."; break;

                case 3: response = "I can't help thee."; break;
                }
            }
            if (Insensitive.Speech(e.Speech, "moongates"))
            {
                switch (Utility.Random(3))
                {
                case 0: response = "The moongates?  What are they for?"; break;

                case 1: response = "They help travellers. I think."; break;

                case 2: response = String.Format("Them things are beyond me, {0}.", e.Mobile.Female ? "m'lady" : "m'lord"); break;
                }
            }
            if (Insensitive.Speech(e.Speech, "moons"))
            {
                response = "Britannia's moons are called Trammel and Felucca. They control the destinations of the moongates.";
            }
            return(response);
        }
Beispiel #35
0
        public static string BritainHigh(BaseCreature m_Mobile, SpeechEventArgs e)
        {
            string response = null;

            if (e.HasKeyword(0x0122)) // *where am i"
            {
                switch (Utility.Random(3))
                {
                case 0: response = ("Why, thou'rt in the city of Britain, of course."); break;

                case 1: response = ("Thou art in Britain."); break;

                case 2: response = (String.Format("Thou art in Britain, {0}.", e.Mobile.Female ? "milady" : "milord")); break;
                }
            }
            else if (e.HasKeyword(0x0125)) // *dummies*, *dummy*, *training dummies*, *training dummy*
            {
                switch (Utility.Random(3))
                {
                case 0: response = ("The Cavalry Guild in Northeast Britain has sword-training dummies, if that is what thou art looking for."); break;

                case 1: response = ("Thou can work on thy swordplay at the old keep, south of Lord British's castle."); break;

                case 2: response = ("I think that Blackthorn's castle has some training devices, but I'm not certain."); break;
                }
            }
            else if (Insensitive.Speech(e.Speech, "thief") || Insensitive.Speech(e.Speech, "thiev") || Insensitive.Speech(e.Speech, "steal"))
            {
                switch (Utility.Random(2))
                {
                case 0: response = ("I know naught of thieves!"); break;

                case 1: response = ("Indeed, there be thievery in Britain."); break;
                }
            }
            else if (Insensitive.Speech(e.Speech, "smith"))
            {
                switch (Utility.Random(2))
                {
                case 0: response = ("Which sort of smith? Weaponsmith, blacksmith?"); break;

                case 1: response = ("There are many sorts of smith."); break;
                }
            }
            else if (Insensitive.Speech(e.Speech, "blacksmith"))
            {
                response = ("There is a blacksmith beside the castle moat on the northern edge of town.");
            }
            else if (Insensitive.Speech(e.Speech, "weaponsmith"))
            {
                switch (Utility.Random(2))
                {
                case 0: response = ("Thou mightest wish to check at the armourer's, or the castle."); break;

                case 1: response = ("Thou canst buy weapons at the blacksmith's shop."); break;
                }
            }
            else if (Insensitive.Speech(e.Speech, "conservatory") || Insensitive.Speech(e.Speech, "bard") || Insensitive.Speech(e.Speech, "minstrel") || Insensitive.Speech(e.Speech, "musician") || Insensitive.Speech(e.Speech, "troubad"))
            {
                response = ("The center of the musical arts in Britain is the Bardic Conservatory on the north side of town.");
            }
            else if (Insensitive.Speech(e.Speech, "mage tower") || Insensitive.Speech(e.Speech, "mage guild") || Insensitive.Speech(e.Speech, "mage"))
            {
                switch (Utility.Random(2))
                {
                case 0: response = ("The Mage Tower is the building with all the arches, made of grey stone, on the north side of the town."); break;

                case 1: response = ("Ah, the Mage Guild is housed within a tower of many arches, with pools of water beside it."); break;
                }
            }
            else if (Insensitive.Speech(e.Speech, "mage's shop") || Insensitive.Speech(e.Speech, "magic") || Insensitive.Speech(e.Speech, "magic shop") || Insensitive.Speech(e.Speech, "mage shop"))
            {
                switch (Utility.Random(5))
                {
                case 0: response = ("There are three or four merchants of the arcane in Britain."); break;

                case 1: response = ("The magic shop The Sorcerer's Delight is also known as the Mage Tower. Thou can purchase magical items there."); break;

                case 2: response = ("Ethral Goods Magic Shop has magical items for sale, and it boasts the only alchemist in Britain."); break;

                case 3: response = ("The magic shop Incantations and Enchantments is situated by the park in eastern Britain."); break;

                case 4: response = ("Sage Advice Magic Shop can sell thee some arcane items, if that is thy desire."); break;
                }
            }
            else if (Insensitive.Speech(e.Speech, "Sorcerer's Delight"))
            {
                response = ("Thou can purchase arcane goods at the Sorcerer's Delight - which some call the Mage Tower. It can be found in northern Britain, next to the Conservatory of Music.");
            }
            else if (Insensitive.Speech(e.Speech, "Ethral") || Insensitive.Speech(e.Speech, "Ethral Goods"))
            {
                response = ("Thou can find the Ethral Goods Magic Shop just south of the Main Gate. Next to the Premier Provisioner's shop.");
            }
            else if (Insensitive.Speech(e.Speech, "Incantations and Enchantments") || Insensitive.Speech(e.Speech, "Incantations"))
            {
                response = ("Incantations and Enchantments is in the middle of eastern Britain, on the south side of the park.");
            }
            else if (Insensitive.Speech(e.Speech, "Sage Advice"))
            {
                response = ("Thou can get to the Sage Advice Magic Shop on the east side of the river.");
            }
            else if (Insensitive.Speech(e.Speech, "stables"))
            {
                switch (Utility.Random(2))
                {
                case 0: response = ("Aside from Lord British's stables, the only ones I can think of lie on the western bank of the river."); break;

                case 1: response = ("Try the stables beside the Mage Tower."); break;
                }
            }
            else if (Insensitive.Speech(e.Speech, "vet"))
            {
                switch (Utility.Random(2))
                {
                case 0: response = ("There is a doctor of animals whose shop lies beside The Bucking Horse Stables."); break;

                case 1: response = ("The city's sole veterinarian lives by the river, by the Mage's Bridge."); break;
                }
            }
            else if (Insensitive.Speech(e.Speech, "theatre"))
            {
                response = ("Lord British supports the arts. There is a public theatre across from the Bardic Conservatory.");
            }
            else if (Insensitive.Speech(e.Speech, "woodworker"))
            {
                switch (Utility.Random(2))
                {
                case 0: response = ("A goodly carpenter lives not far from the market square before the castle gate."); break;

                case 1: response = ("There is a woodworker near the city library."); break;
                }
            }
            else if (Insensitive.Speech(e.Speech, "theatre"))
            {
                response = ("There are many guilds in this city. 'Tis the benefit of living in Lord British's capital.");
            }
            else if (Insensitive.Speech(e.Speech, "mining guild") || Insensitive.Speech(e.Speech, "miners"))
            {
                response = ("There is a Mining Guild beside the city library.");
            }
            else if (Insensitive.Speech(e.Speech, "baker") || Insensitive.Speech(e.Speech, "bread"))
            {
                response = ("There's a baker on the market square before the castle gate.");
            }
            else if (Insensitive.Speech(e.Speech, "tanner") || Insensitive.Speech(e.Speech, "leather"))
            {
                switch (Utility.Random(2))
                {
                case 0: response = ("A tanner's shop exists by Poor Gate, 'gainst the old city wall."); break;

                case 1: response = ("There is a leatherworker's shop facing the market square."); break;
                }
            }
            else if (Insensitive.Speech(e.Speech, "healer"))
            {
                switch (Utility.Random(2))
                {
                case 0: response = ("There is a healer on the market square, near the Main Gate."); break;

                case 1: response = ("If thou dost walk north through the main gates, thou will be facing the healer's shop."); break;
                }
            }
            else if (Insensitive.Speech(e.Speech, "bowyer") || Insensitive.Speech(e.Speech, "fletcher"))
            {
                response = ("Try the bowyer just East of the theatre.");
            }
            else if (Insensitive.Speech(e.Speech, "butcher"))
            {
                switch (Utility.Random(2))
                {
                case 0: response = ("The butcher can be found between the docks, near the customs house."); break;

                case 1: response = ("In Southern Britain on the waterfront there is a butcher. His shop is between the two docks."); break;
                }
            }
            else if (Insensitive.Speech(e.Speech, "armour") || Insensitive.Speech(e.Speech, "armor"))
            {
                switch (Utility.Random(2))
                {
                case 0: response = ("There is an armourer's shop beside the Mage Gate. Just South of the old city wall."); break;

                case 1: response = ("Strength and Steel Armory is located in front of the Mage's Tower in Northern Britain."); break;
                }
            }
            else if (Insensitive.Speech(e.Speech, "inn"))
            {
                switch (Utility.Random(4))
                {
                case 0: response = ("If there be one thing Britain is not lacking, it be inns!"); break;

                case 1: response = ("The Wayfarer's Inn is just to the East of the Mage's Bridge."); break;

                case 2: response = ("An inn called Sweet Dreams lies next to the Main Gate, just East of the healer's shop."); break;

                case 3: response = ("The North Side Inn is way up in North Britain, just past the Mage's Tower."); break;
                }
            }
            else if (Insensitive.Speech(e.Speech, "Wayfarer's Inn") || Insensitive.Speech(e.Speech, "Wayfarers Inn"))
            {
                switch (Utility.Random(2))
                {
                case 0: response = ("'Tis South of the Cavalry Guild by the Mage's Gate."); break;

                case 1: response = ("The Wayfarer's Inn is beside the Mage's Gate, on the East side of the river."); break;
                }
            }
            else if (Insensitive.Speech(e.Speech, "Sweet Dreams"))
            {
                switch (Utility.Random(2))
                {
                case 0: response = ("The Sweet Dreams Inn is quite upscale!"); break;

                case 1: response = ("Despite its name, the Sweet Dreams inn is quite good. It is near the Main Gate."); break;
                }
            }
            else if (Insensitive.Speech(e.Speech, "Northside"))
            {
                switch (Utility.Random(2))
                {
                case 0: response = ("The Northside Inn is situated on the lake that surrounds Blackthorn's Castle."); break;

                case 1: response = ("The Northside Inn is quite good. It is just North of the Music Conservatory."); break;
                }
            }
            else if (Insensitive.Speech(e.Speech, "alchemist"))
            {
                switch (Utility.Random(2))
                {
                case 0: response = ("The alchemist can be found with the mages in the the magic shop in front of the Main Gate."); break;

                case 1: response = ("Ethral Goods Magic Shop has an alchemist. Try there."); break;
                }
            }
            else if (Insensitive.Speech(e.Speech, "weaponeer") || Insensitive.Speech(e.Speech, "weaponsmith"))
            {
                response = ("The blacksmith North of the Miner's Guild can probably sell thee anything thou might need.");
            }
            else if (Insensitive.Speech(e.Speech, "mechanician"))
            {
                response = ("The guildhall of the Mechanicians, or the Tinkers as some call them, is right beside Poor Gate.");
            }
            else if (Insensitive.Speech(e.Speech, "artisan"))
            {
                response = ("There be a guildhall for the artisans of the town outside the old walls, south of the Armorer's.");
            }
            else if (Insensitive.Speech(e.Speech, "provision"))
            {
                switch (Utility.Random(3))
                {
                case 0: response = ("One can purchase provisions at any of a number of shops."); break;

                case 1: response = ("There is a provisioner's directly before the Main Gate."); break;

                case 2: response = ("A quite well-appointed provisioner's exists East of the river, just North of the Lighthouse."); break;
                }
            }
            else if (Insensitive.Speech(e.Speech, "jewel"))
            {
                switch (Utility.Random(2))
                {
                case 0: response = ("There is a jeweler's just to the South of the Artist's guild."); break;

                case 1: response = ("About as far East as thou can go, there is a jeweler's shop sitting next to the park."); break;
                }
            }
            else if (Insensitive.Speech(e.Speech, "bank"))
            {
                switch (Utility.Random(2))
                {
                case 0: response = ("The First Bank of Britain lies next to the jeweler's, beside the moat."); break;

                case 1: response = ("The bank is outside the old walls, next to the moat."); break;
                }
            }
            else if (Insensitive.Speech(e.Speech, "clothes") || (Insensitive.Speech(e.Speech, "clothiers")))
            {
                switch (Utility.Random(2))
                {
                case 0: response = ("A goodly shop for clothing is next to the Blue Boar Tavern."); break;

                case 1: response = ("Thou canst purchase clothes on the East side of the river, near the Cypress Bridge."); break;
                }
            }
            else if (Insensitive.Speech(e.Speech, "tavern"))
            {
                switch (Utility.Random(2))
                {
                case 0: response = ("If thou seekest a place to drink, well, there are many choices!"); break;

                case 1: response = ("There's the Salty Dog, The Unicorn's Horn, The Cat's Lair, and The Blue Boar taverns, here in Britain."); break;
                }
            }
            else if (Insensitive.Speech(e.Speech, "Salty Dog"))
            {
                response = ("The Salty Dog is a tavern overlooking the park, right next to The Wayfarer's Inn.");
            }
            else if (Insensitive.Speech(e.Speech, "Unicorn Horn"))
            {
                response = ("'Tis an expensive place, but the Unicorn Horn, overlooking the ocean on the east side, serves a decent ale.");
            }
            else if (Insensitive.Speech(e.Speech, "Blue Boar"))
            {
                response = ("The Blue Boar is just North of the library, on the river.");
            }
            else if (Insensitive.Speech(e.Speech, "Cat's Lair"))
            {
                response = ("The Cat's Lair is a bit disreputable, as it lies near the docks, but its beer is good.");
            }
            else if (Insensitive.Speech(e.Speech, "shipwright") || Insensitive.Speech(e.Speech, "oaken oar") || Insensitive.Speech(e.Speech, "boats") || Insensitive.Speech(e.Speech, "ships"))
            {
                switch (Utility.Random(2))
                {
                case 0: response = ("The place to buy waterfaring vessels is the Oaken Oar."); break;

                case 1: response = ("The Oaken Oar houses excellent shipwrights. It is on the waterfront by the mouth of the Narrow Neck."); break;
                }
            }
            else if (Insensitive.Speech(e.Speech, "cartographer") || Insensitive.Speech(e.Speech, "map"))
            {
                switch (Utility.Random(2))
                {
                case 0: response = ("Cartographer's can usually be found sharing space with shipwrights."); break;

                case 1: response = ("If there's not a mapmaker to be found at the Oaken Oar, then I can't help thee much."); break;
                }
            }
            else if (Insensitive.Speech(e.Speech, "customs") || Insensitive.Speech(e.Speech, "customs house"))
            {
                switch (Utility.Random(2))
                {
                case 0: response = ("The Customs office checks imported goods. 'Tis on the waterfront."); break;

                case 1: response = ("Smugglers from Buccaneer's Den have taken to going to Vesper since the Customs House opened on the waterfront."); break;
                }
            }
            else if (Insensitive.Speech(e.Speech, "train") || Insensitive.Speech(e.Speech, "weapons trainer"))
            {
                switch (Utility.Random(2))
                {
                case 0: response = ("Thou canst be trained in weapons at the weapons trainer. But thou shouldst be warned that 'tis expensive. He caters to the nobility."); break;

                case 1: response = ("The weapons trainer? Ah, that is on the north edge of town, on the eastern bank of the river. 'Tis called the Cavalry Guild."); break;
                }
            }
            else if (Insensitive.Speech(e.Speech, "lighthouse"))
            {
                switch (Utility.Random(2))
                {
                case 0: response = ("'Tis being repaired, but it stands on the promontory o'erlooking Brittany Bay."); break;

                case 1: response = ("The lighthouse is a most imposing sight, but 'twas badly damaged in a storm, and 'tis inoperable."); break;
                }
            }
            else if (Insensitive.Speech(e.Speech, "Lord British"))
            {
                switch (Utility.Random(2))
                {
                case 0: response = ("He liveth here, in Britain, in his castle."); break;

                case 1: response = ("Lord British doth reside in his castle, but the gates are always open."); break;
                }
            }
            else if (Insensitive.Speech(e.Speech, "LB"))
            {
                response = ("LB? Mayhap thou means Lord British ....");
            }
            else if (Insensitive.Speech(e.Speech, "castle"))
            {
                if (Insensitive.Speech(e.Speech, "blackthorn's castle"))
                {
                    switch (Utility.Random(2))
                    {
                    case 0: response = ("Blackthorn stays out of sight mostly, sequestered in his castle up North of Britain."); break;

                    case 1: response = ("Blackthorn's castle is on an island in the middle of a lake North of Britain."); break;
                    }
                }
                else
                {
                    switch (Utility.Random(3))
                    {
                    case 0: response = ("Lord British's castle is quite huge. A moat encircles it. Thou canst not miss it."); break;

                    case 1: response = ("Lord British's castle forms the western side of the city. Only farms lie beyond it."); break;

                    case 2: response = ("Blackthorn's castle is on an island in the middle of a lake North of Britain."); break;
                    }
                }
            }
            else if (Insensitive.Speech(e.Speech, "blackthorn"))
            {
                switch (Utility.Random(2))
                {
                case 0: response = ("Blackthorn stays out of sight mostly, sequestered in his castle up North of Britain."); break;

                case 1: response = ("Blackthorn's castle is on an island in the middle of a lake North of Britain."); break;
                }
            }
            else if (Insensitive.Speech(e.Speech, "old keep") || Insensitive.Speech(e.Speech, "fighter") || Insensitive.Speech(e.Speech, "warrior"))
            {
                switch (Utility.Random(3))
                {
                case 0: response = ("The Warrior's Guild is housed in the Old Keep."); break;

                case 1: response = ("The Old Keep, where the Warrior's Guild is headquartered, was once the castle hereabouts, but now we have Lord British's castle."); break;

                case 2: response = ("'Tis crumbling into the Narrows, but the home of the Warrior's Guild is the Old Keep."); break;
                }
            }
            else if (Insensitive.Speech(e.Speech, "farms") || Insensitive.Speech(e.Speech, "farmers"))
            {
                response = ("The farms in this area are all in the countryside, to the west of Lord British's castle. Thou must cross the Narrows and follow the road there.");
            }
            else if (Insensitive.Speech(e.Speech, "river"))
            {
                switch (Utility.Random(2))
                {
                case 0: response = ("Britain is bounded by two rivers. The Narrows is on the west and Brittany River on the east."); break;

                case 1: response = ("When most people say the river, they mean Brittany River, which runs through the middle of the city."); break;
                }
            }
            else if (Insensitive.Speech(e.Speech, "narrows") || Insensitive.Speech(e.Speech, "narrows neck") || Insensitive.Speech(e.Speech, "neck"))
            {
                response = ("Narrows Neck is the name for the river mouth on the southwestern side of Britain.");
            }
            else if (Insensitive.Speech(e.Speech, "Brittany River"))
            {
                response = ("That's the river that runs down the middle of the city.");
            }
            else if (Insensitive.Speech(e.Speech, "gate"))
            {
                if (Insensitive.Speech(e.Speech, "River's Gate"))
                {
                    response = ("The Southernmost bridge is called River's Gate.");
                }
                else if (Insensitive.Speech(e.Speech, "poor gate"))
                {
                    switch (Utility.Random(2))
                    {
                    case 0: response = ("That is the name of the old gate beside the castle moat, for once the poor came in through there to go to market. It is quite narrow."); break;

                    case 1: response = ("Poor Gate is on the south wall, beside the Tinker's Guild."); break;
                    }
                }
                else if (Insensitive.Speech(e.Speech, "Main gate"))
                {
                    switch (Utility.Random(2))
                    {
                    case 0: response = ("The Main Gate is quite majestic! The space before it is paved with grey and red stones, and there be guard towers on either side."); break;

                    case 1: response = ("The Main Gate divides the central city from the waterfront."); break;
                    }
                }
                else
                {
                    response = ("There are two gates in the old city walls. The Poor Gate, and the Main Gate are the names.");
                }
            }
            else if (Insensitive.Speech(e.Speech, "city wall") || Insensitive.Speech(e.Speech, "wall"))
            {
                switch (Utility.Random(3))
                {
                case 0: response = ("When Britain was but a young city, 'twas enclosed by a wall. But it has long since outgrown it."); break;

                case 1: response = ("Thou canst see that the old city walls are of a different vintage stone than the castle proper. 'Twas built before the current castle buildings."); break;

                case 2: response = ("The northern side of the old city wall hath disappeared completely. 'Tis said the Mage Tower was built from its fragments."); break;
                }
            }
            else if (Insensitive.Speech(e.Speech, "bridge"))
            {
                if (Insensitive.Speech(e.Speech, "Northern bridge") || Insensitive.Speech(e.Speech, "Great Northern") || Insensitive.Speech(e.Speech, "Great bridge"))
                {
                    switch (Utility.Random(2))
                    {
                    case 0: response = ("The Great Northern Bridge is so called because it's the Northern-most bridge in Britain."); break;

                    case 1: response = ("The Great Northern Bridge is built fairly high above the water."); break;
                    }
                }
                else if (Insensitive.Speech(e.Speech, "Cypress Bridge"))
                {
                    switch (Utility.Random(2))
                    {
                    case 0: response = ("Cypress Bridge is named for the trees which greet thee coming and going across it."); break;

                    case 1: response = ("The Cypress Bridge is surrounded on one side by a tailor's shop and on the other by a magic shop."); break;
                    }
                }
                else if (Insensitive.Speech(e.Speech, "Mage's Bridge"))
                {
                    switch (Utility.Random(3))
                    {
                    case 0: response = ("The bridge next to the Mage's tower is thus called the Mage's Bridge."); break;

                    case 1: response = ("Mage's Bridge was once a gate leading into the city, but the old wall has outlived its usefulness and most of it has been torn down."); break;

                    case 2: response = ("The Mage's Bridge is so named for the fact that the Mage's Tower almost overlooks it."); break;
                    }
                }
                else
                {
                    switch (Utility.Random(6))
                    {
                    case 0: response = ("There are many bridges across the Brittany. There's the Great Northern Bridge at the north-most end, the Mage's Bridge, then the one we call Virtue's Pass. South of that there's Cypress Bridge, and the River's Gate Bridge. And, of course, the Gung-Farmer's Bridge connects Britain with the farmlands to the West."); break;

                    case 1: response = ("The bridge next to the Mage's tower is thus called the Mage's Bridge."); break;

                    case 2: response = ("The Great Northern Bridge is so called because it's the Northern-most bridge in Britain."); break;

                    case 3: response = ("Cypress Bridge is named for the trees which greet thee coming and going across it."); break;

                    case 4: response = ("Virtue's Pass connects to Virtue's Path, which will take thee into Lord British's Castle."); break;

                    case 5: response = ("There is the Gung-Farmer's Bridge, which leadeth across Narrows Neck."); break;
                    }
                }
            }
            else if (Insensitive.Speech(e.Speech, "Great Northern"))
            {
                switch (Utility.Random(2))
                {
                case 0: response = ("The Great Northern Bridge is so called because it's the Northern-most bridge in Britain."); break;

                case 1: response = ("The Great Northern Bridge is built fairly high above the water."); break;
                }
            }
            else if (Insensitive.Speech(e.Speech, "Virtue's Pass"))
            {
                switch (Utility.Random(2))
                {
                case 0: response = ("Virtue's Pass connects to Virtue's Path, which will take thee into Lord British's Castle."); break;

                case 1: response = ("There used to be a gate at Virtue's Pass, it was torn down some time ago."); break;
                }
            }
            else if (Insensitive.Speech(e.Speech, "Gung-Farmer") || Insensitive.Speech(e.Speech, "Gung Farmer"))
            {
                response = ("The Gung-Farmer's Bridge connects all the farms with Britain proper.");
            }
            else if (Insensitive.Speech(e.Speech, "ankh") || Insensitive.Speech(e.Speech, "death") || Insensitive.Speech(e.Speech, "temple") || Insensitive.Contains(e.Speech, "resur"))
            {
                switch (Utility.Random(2))
                {
                case 0: response = ("Thou mayst find the temple, where thou canst be resurrected, directly by Mage Gate Bridge."); break;

                case 1: response = ("The ankh in the temple is capable of restoring life to the dead. 'Tis in northern part of town, beside the river."); break;
                }
            }
            else if (Insensitive.Speech(e.Speech, "paws"))
            {
                response = ("Paws? Take a look at the feet of a dog!");
            }
            else if (Insensitive.Speech(e.Speech, "guardhouse") || Insensitive.Speech(e.Speech, "guard house"))
            {
                switch (Utility.Random(2))
                {
                case 0: response = ("There are two guardhouses. One near the Gung-Farmer's Bridge, and the other next to Virtue's Pass."); break;

                case 1: response = ("One Guardhouse is right beside the Cat's Lair Tavern."); break;
                }
            }
            else if (Insensitive.Speech(e.Speech, "waterfront"))
            {
                response = ("The waterfront is what many call everything south of the old city wall. Properly speaking, it runneth along the river from River's Gate Bridge, down along the water to the Oaken Oar and the Narrows.");
            }
            else if (Insensitive.Speech(e.Speech, "moat"))
            {
                response = ("Long ago the Narrows were dug up to meet the moat, and now 'tis fed from the water of Brittany Bay.");
            }
            else if (Insensitive.Speech(e.Speech, "brittany bay"))
            {
                response = ("'Tis the bay on our southern coast.");
            }
            else if (Insensitive.Speech(e.Speech, "ocean"))
            {
                response = ("The ocean is to the south of Britain.");
            }
            else if (Insensitive.Speech(e.Speech, "undead") || Insensitive.Speech(e.Speech, "skeleton") || Insensitive.Speech(e.Speech, "graves") || Insensitive.Speech(e.Speech, "graveyard") || Insensitive.Speech(e.Speech, "crypt") || Insensitive.Speech(e.Speech, "cemetery") || Insensitive.Speech(e.Speech, "mausoleum"))
            {
                switch (Utility.Random(3))
                {
                case 0: response = ("Ah, 'tis a terrible thing, but the graveyard far to the north has become infested with the living bones of the dead."); break;

                case 1: response = ("We have had to abandon our mausoleums, for the cemetery north of here has been touched by magic and is now filled with undead skeletons."); break;
                }
            }
            else if (Insensitive.Speech(e.Speech, "orc") || Insensitive.Speech(e.Speech, "camp"))
            {
                response = ("There is a plague of orcs on the western side of the farms--if thou seekest their encampments, that is the place to look.");
            }

            return(response);
        }
Beispiel #36
0
        public static string BritainLow(BaseCreature m_Mobile, SpeechEventArgs e)
        {
            string response = null;

            if (Insensitive.Speech(e.Speech, "skeleton") || Insensitive.Speech(e.Speech, "graves") || Insensitive.Speech(e.Speech, "graveyard") || Insensitive.Speech(e.Speech, "crypt") || Insensitive.Speech(e.Speech, "undead") || Insensitive.Speech(e.Speech, "cemetery") || Insensitive.Speech(e.Speech, "mausoleum"))
            {
                switch (Utility.Random(3))
                {
                case 0: response = ("I don' like undead."); break;

                case 1: response = ("There's a cemetery way to the north."); break;

                case 2: response = ("Lots of skeletons have come to life in the cemetery."); break;
                }
            }
            else if (Insensitive.Speech(e.Speech, "orc") || Insensitive.Speech(e.Speech, "camp"))
            {
                response = ("Orcs live in camps. They's dangerous, too.");
            }
            else if (Insensitive.Speech(e.Speech, "theif") || Insensitive.Speech(e.Speech, "thiev") || Insensitive.Speech(e.Speech, "steal"))
            {
                switch (Utility.Random(3))
                {
                case 0: response = ("I dunno about thiefy types."); break;

                case 1: response = ("I once had my pocket picked."); break;

                case 2: response = ("Thou a thief? Don' steal nothin' from me!"); break;
                }
            }
            else if (Insensitive.Speech(e.Speech, "dummy") || Insensitive.Speech(e.Speech, "training dummy") || Insensitive.Speech(e.Speech, "dummies") || Insensitive.Speech(e.Speech, "training dummies"))
            {
                switch (Utility.Random(2))
                {
                case 0: response = ("Ummm... I think the keep's got some dummies."); break;

                case 1: response = ("Up North, near to one o' the inns there's some sword-fightin' dummies."); break;
                }
            }
            else if (Insensitive.Speech(e.Speech, "guild"))
            {
                response = ("There's so many, I can't keep track of 'em.");
            }
            else if (Insensitive.Speech(e.Speech, "bridge"))
            {
                response = ("Ah, there's lots of bridges!");
            }
            else if (Insensitive.Speech(e.Speech, "where is"))
            {
                response = ("'Fraid I can't help, I dunno where.");
            }
            else if (Insensitive.Speech(e.Speech, "tavern"))
            {
                switch (Utility.Random(2))
                {
                case 0: response = ("I like taverns. Heh!"); break;

                case 1: response = ("I don't like taverns. Bah! Always gettin' pawed there."); break;
                }
            }
            else if (Insensitive.Speech(e.Speech, "inn"))
            {
                response = ("Inns are fancy places for the rich to sleep.");
            }
            else if (Insensitive.Speech(e.Speech, "temple") || Insensitive.Speech(e.Speech, "death") || Insensitive.Speech(e.Speech, "ankh") || Insensitive.Contains(e.Speech, "resur"))
            {
                switch (Utility.Random(2))
                {
                case 0: response = ("They say the ankh can bring folks back to life."); break;

                case 1: response = ("The ankh be in the temple by the river."); break;
                }
            }
            else if (Insensitive.Speech(e.Speech, "bay") || Insensitive.Speech(e.Speech, "river") || Insensitive.Speech(e.Speech, "ocean") || Insensitive.Speech(e.Speech, "brittany") || Insensitive.Speech(e.Speech, "narrows") || Insensitive.Speech(e.Speech, "neck") || Insensitive.Speech(e.Speech, "moat"))
            {
                response = ("'Tis powerful wet, it is.");
            }
            else if (Insensitive.Speech(e.Speech, "where am i") || Insensitive.Speech(e.Speech, "lost"))
            {
                response = ("Eh? Thou'rt right here.");
            }

            return(response);
        }
Beispiel #37
0
 public static void InvokeSpeech(SpeechEventArgs e) => Speech?.Invoke(e);
Beispiel #38
0
        public static string BritanniaMedium(BaseCreature m_Mobile, SpeechEventArgs e)
        {
            Mobile from     = e.Mobile;
            string response = null;
            string town     = GetLocation(m_Mobile);
            string MyName   = m_Mobile.Name;

            if (Insensitive.Speech(e.Speech, "hello") || Insensitive.Speech(e.Speech, "hi") || (Insensitive.Speech(e.Speech, "good") && Insensitive.Speech(e.Speech, "see") && Insensitive.Speech(e.Speech, "thee")))
            {
                if (m_Mobile.Attitude == AttitudeLevel.Wicked)
                {
                    switch (Utility.Random(3))
                    {
                    case 0: response = ("What dost thou want?"); break;

                    case 1: response = ("Uh huh?"); break;

                    case 2: response = ("Yeah, what?"); break;
                    }
                }
                else if (m_Mobile.Attitude == AttitudeLevel.Neutral)
                {
                    switch (Utility.Random(3))
                    {
                    case 0: response = ("Hello."); break;

                    case 1: response = ("Hi."); break;

                    case 2: response = ("Greetings."); break;
                    }
                }
                else if (m_Mobile.Attitude == AttitudeLevel.Goodhearted)
                {
                    switch (Utility.Random(3))
                    {
                    case 0: response = String.Format("Hello, {0}.", e.Mobile.Female ? "milady" : "milord"); break;

                    case 1: response = ("Hi."); break;

                    case 2: response = String.Format("Greetings, {0}.", e.Mobile.Female ? "milady" : "milord"); break;
                    }
                }
            }
            if ((Insensitive.Speech(e.Speech, "how") && Insensitive.Speech(e.Speech, "you")) || (Insensitive.Speech(e.Speech, "how") && Insensitive.Speech(e.Speech, "thou")))
            {
                if (m_Mobile.Attitude == AttitudeLevel.Wicked)
                {
                    switch (Utility.Random(3))
                    {
                    case 0: response = ("Horrible!"); break;

                    case 1: response = ("None of thy business!"); break;

                    case 2: response = ("Get thee away from me!"); break;
                    }
                }
                else if (m_Mobile.Attitude == AttitudeLevel.Neutral)
                {
                    switch (Utility.Random(3))
                    {
                    case 0: response = ("I'm doing relatively well."); break;

                    case 1: response = ("Just fine."); break;

                    case 2: response = ("I am well."); break;
                    }
                }
                else if (m_Mobile.Attitude == AttitudeLevel.Goodhearted)
                {
                    switch (Utility.Random(3))
                    {
                    case 0: response = String.Format("I am well, {0}. I hope thou art the same.", e.Mobile.Female ? "milady" : "milord"); break;

                    case 1: response = ("Doing great!"); break;

                    case 2: response = String.Format("As well as I can be, {0}.", e.Mobile.Female ? "milady" : "milord"); break;
                    }
                }
            }
            if ((Insensitive.Speech(e.Speech, "where") && Insensitive.Speech(e.Speech, "thou") && Insensitive.Speech(e.Speech, "live")) || (Insensitive.Speech(e.Speech, "where") && Insensitive.Speech(e.Speech, "you") && Insensitive.Speech(e.Speech, "live")) || (Insensitive.Speech(e.Speech, "thou") && Insensitive.Speech(e.Speech, "live")) || (Insensitive.Speech(e.Speech, "you") && Insensitive.Speech(e.Speech, "live")) || Insensitive.Speech(e.Speech, "what city are you from") || Insensitive.Speech(e.Speech, "what town are you from") || (Insensitive.Speech(e.Speech, "where") && Insensitive.Speech(e.Speech, "you") && Insensitive.Speech(e.Speech, "from")) || (Insensitive.Speech(e.Speech, "where") && Insensitive.Speech(e.Speech, "thou") && Insensitive.Speech(e.Speech, "from")))
            {
                if (m_Mobile.Attitude == AttitudeLevel.Wicked)
                {
                    switch (Utility.Random(3))
                    {
                    case 0: response = ("I live here!"); break;

                    case 1: response = ("None of thy business!"); break;

                    case 2: response = ("I live in the bottom of the ocean!  I only come here during the day!"); break;
                    }
                }
                else if (m_Mobile.Attitude == AttitudeLevel.Neutral)
                {
                    switch (Utility.Random(5))
                    {
                    case 0: response = String.Format("I live here in {0}.", town); break;

                    case 1: response = String.Format("I live in {0}.", town); break;

                    case 2: response = String.Format("Here. In {0}.", town); break;

                    case 3: response = String.Format("Right here.  In {0}.", town); break;

                    case 4: response = "I live in the town that thou art standing in."; break;
                    }
                }
                else if (m_Mobile.Attitude == AttitudeLevel.Goodhearted)
                {
                    switch (Utility.Random(4))
                    {
                    case 0: response = String.Format("I live here in {0}.", town); break;

                    case 1: response = String.Format("Here, {0}.", e.Mobile.Female ? "milady" : "milord"); break;

                    case 2: response = String.Format("Right here.  In {0}, {1}.", town, e.Mobile.Female ? "milady" : "milord"); break;

                    case 3: response = String.Format("I live in the town that thou art standing in, {0}.", e.Mobile.Female ? "milady" : "milord"); break;
                    }
                }
            }
            if ((Insensitive.Speech(e.Speech, "where") && Insensitive.Speech(e.Speech, "am") && Insensitive.Speech(e.Speech, "i")) || Insensitive.Speech(e.Speech, "what town am I in") || (Insensitive.Speech(e.Speech, "what") && Insensitive.Speech(e.Speech, "town is this")))
            {
                switch (Utility.Random(3))
                {
                case 0: response = String.Format("Thou hast stumbled into {0}.", town); break;

                case 1: response = String.Format("{0}.", town); break;

                case 2: response = String.Format("{0} is where thou dost find thyself.", town); break;
                }
            }
            if ((Insensitive.Speech(e.Speech, "where") && Insensitive.Speech(e.Speech, "thou") && Insensitive.Speech(e.Speech, "work")) || (Insensitive.Speech(e.Speech, "where") && Insensitive.Speech(e.Speech, "you") && Insensitive.Speech(e.Speech, "work")))
            {
                if (m_Mobile.Attitude == AttitudeLevel.Wicked)
                {
                    switch (Utility.Random(3))
                    {
                    case 0: response = ("I work here, moron!"); break;

                    case 1: response = ("None of thy business!"); break;

                    case 2: response = ("I work out of a cave!  What dost thou think, imbecile!"); break;
                    }
                }
                else if (m_Mobile.Attitude == AttitudeLevel.Neutral)
                {
                    switch (Utility.Random(3))
                    {
                    case 0: response = String.Format("I work here in {0}.", town); break;

                    case 1: response = String.Format("Here. In {0}.", town); break;

                    case 2: response = String.Format("I work in the town that thou art in.", town); break;
                    }
                }
                else if (m_Mobile.Attitude == AttitudeLevel.Goodhearted)
                {
                    switch (Utility.Random(3))
                    {
                    case 0: response = String.Format("I work here in {0}.", town); break;

                    case 1: response = String.Format("Here. In {0}, {1}.", town, e.Mobile.Female ? "milady" : "milord"); break;

                    case 2: response = String.Format("I work in this town, {0}.", e.Mobile.Female ? "milady" : "milord"); break;
                    }
                }
            }
            if (Insensitive.Speech(e.Speech, "thanks") || Insensitive.Speech(e.Speech, "thank you") || Insensitive.Speech(e.Speech, "thank thee") || Insensitive.Speech(e.Speech, "thank ye") || Insensitive.Speech(e.Speech, "appreciate"))
            {
                switch (Utility.Random(4))
                {
                case 0: response = "Thou'rt welcome."; break;

                case 1: response = "'Twas nothing."; break;

                case 2: response = "Certainly, thou art welcome."; break;

                case 3: response = "Not a problem."; break;
                }
            }
            if (Insensitive.Speech(e.Speech, "bye") || Insensitive.Speech(e.Speech, "farewell") || (Insensitive.Speech(e.Speech, "fare") && Insensitive.Speech(e.Speech, "well")) || Insensitive.Speech(e.Speech, "chow") || Insensitive.Speech(e.Speech, "ciao") || (Insensitive.Speech(e.Speech, "see") && Insensitive.Speech(e.Speech, "ya")) || Insensitive.Speech(e.Speech, "seeya") || Insensitive.Speech(e.Speech, "see you") || Insensitive.Speech(e.Speech, "cya"))
            {
                switch (Utility.Random(3))
                {
                case 0: response = "Goodbye."; break;

                case 1: response = "Farewell."; break;

                case 2: response = "Fare thee well."; break;
                }
            }
            if (Insensitive.Speech(e.Speech, "who are you") || Insensitive.Speech(e.Speech, "what's your name") || Insensitive.Speech(e.Speech, "what is your name") || Insensitive.Speech(e.Speech, "who art thou") || Insensitive.Speech(e.Speech, "who are ye") || (Insensitive.Speech(e.Speech, "who") && Insensitive.Speech(e.Speech, "you")) || Insensitive.Speech(e.Speech, "what are you called") || Insensitive.Speech(e.Speech, "what art thou called") || Insensitive.Speech(e.Speech, "what are ye called") || Insensitive.Speech(e.Speech, "know your name") || Insensitive.Speech(e.Speech, "know thy name") || Insensitive.Speech(e.Speech, "know yer name") || Insensitive.Speech(e.Speech, "what is thy name") || Insensitive.Speech(e.Speech, "what's thy name"))
            {
                switch (Utility.Random(3))
                {
                case 0: response = String.Format("My name is {0}.", MyName); break;

                case 1: response = String.Format("I am {0}, {1}.", MyName, e.Mobile.Female ? "milady" : "milord"); break;

                case 2: response = String.Format("Thou mayest call me {0}.", MyName); break;
                }
            }
            if ((Insensitive.Speech(e.Speech, "Is") && Insensitive.Speech(e.Speech, "name")) || Insensitive.Speech(e.Speech, "What's thy name"))
            {
                switch (Utility.Random(3))
                {
                case 0: response = String.Format("I am {0}.", MyName); break;

                case 1: response = String.Format("My name, {1}, is {0}.", MyName, e.Mobile.Female ? "madam" : "sir"); break;

                case 2: response = String.Format("If thou art looking for {0} then thou hast found me.", MyName); break;
                }
            }
            if ((Insensitive.Speech(e.Speech, "make") && Insensitive.Speech(e.Speech, "money")) || (Insensitive.Speech(e.Speech, "earn") && Insensitive.Speech(e.Speech, "money")) || (Insensitive.Speech(e.Speech, "get") && Insensitive.Speech(e.Speech, "money")))
            {
                if (m_Mobile.Attitude == AttitudeLevel.Wicked)
                {
                    switch (Utility.Random(3))
                    {
                    case 0: response = ("If thou dost want money, I'd expect thee to just take it. That's what thy kind usually does."); break;

                    case 1: response = ("Money can be found where thou dost look for it. If thou art too lazy to work for it, then accept what thou art given."); break;

                    case 2: response = ("Thou can always beg. Of course I wouldn't beg in the wilderness. Beggars have a strange habit of disappearing out there."); break;
                    }
                }
                else if (m_Mobile.Attitude == AttitudeLevel.Neutral)
                {
                    switch (Utility.Random(8))
                    {
                    case 0: response = ("There are many ways to earn thy keep, here in Britannia. I would suggest working for thy money."); break;

                    case 1: response = ("Thou can craft weapons, armor, clothes, furniture... many things to do. Find a shop with the tools and set to work. The raw materials should be there as well."); break;

                    case 2: response = ("If thou dost look in some shops, thou might find the raw materials and tools necessary to make the things thou dost need. Or thou could seel those things thou ARE able to make and collect the money."); break;

                    case 3: response = ("Most people in Britannia earn money honestly, by using their skills to make things and sell them. "); break;

                    case 4: response = ("If thou dost look in some of the shops, there may be the necessary raw materials and tools to make thy own items."); break;

                    case 5: response = ("If thou art serious about earning money, then look to the shops. Inside thou can find the raw materials and tools necessary to make thy own items."); break;

                    case 6: response = ("Using an axe on some trees can yield wood that a carpenter may buy from thee. Also thou can use a pickaxe to mine for ore in rocks."); break;

                    case 7: response = ("Hunting seems to be a profitable living to many. The hides, meat, feathers, and pelts that thou dost obtain can all be sold to various merchants."); break;
                    }
                }
                else if (m_Mobile.Attitude == AttitudeLevel.Goodhearted)
                {
                    switch (Utility.Random(7))
                    {
                    case 0: response = "I would tell thee to look to the shopkeepers for thy money. If thou art able to craft the things that they sell, then they would more than likely buy them from thee."; break;

                    case 1: response = "The shopkeepers are usually nice enough to let thee use their leftover materials and tools. Try selling what thou dost make to others."; break;

                    case 2: response = "If thou dost find a shop with some materials and tools, then work on making thy own items. Then thou can sell them for money."; break;

                    case 3: response = "Thou could hunt for meat to sell to butchers, rid us of some of the detestable monsters that roam so freely, or even collect wood from trees to sell to carpenters. Of course thou would need an axe for that."; break;

                    case 4: response = "If thou art interested in earning money, thou can collect raw materials to sell or use. Many shopkeepers let people use their tools, and even sometimes their left-overs to craft their own items."; break;

                    case 5: response = "Hunting seems to do wonders for many bank accounts. Try selling the hides to the tanners and the meat to the butchers."; break;

                    case 6: response = "If thou catches a bird, Thou can sell it to a cook, and a bowyer may appreciate the feathers."; break;
                    }
                }
            }
            if (Insensitive.Speech(e.Speech, "camp"))
            {
                switch (Utility.Random(3))
                {
                case 0: response = "When I think I may have to sleep out of doors, I make sure that I have my bedroll and some kindling with me."; break;

                case 1: response = "I try to not be without a bedroll and some kindling when I think I may have to camp in the wilderness."; break;

                case 2: response = "Make sure to keep kindling with thee if thou art thinking of camping. Sometimes 'tis a difficult thing to find. Of course, a bedroll is quite necessary also."; break;
                }
            }
            if ((Insensitive.Speech(e.Speech, "how") && Insensitive.Speech(e.Speech, "quit")) || (Insensitive.Speech(e.Speech, "log") && Insensitive.Speech(e.Speech, "off")) || Insensitive.Speech(e.Speech, "logoff"))
            {
                switch (Utility.Random(2))
                {
                case 0: response = "If thou art in need of a rest from this world, make thyself a camp, or check in to an Inn."; break;

                case 1: response = "Thou can either camp or check in to an Inn. Either way thou art likely to find the respite thou art looking for."; break;
                }
            }
            if (Insensitive.Speech(e.Speech, "bedroll"))
            {
                switch (Utility.Random(3))
                {
                case 0: response = "A bedroll can be purchased from a provisioner's shop."; break;

                case 1: response = "If thou art looking for camping equipment, look to a provisioner."; break;

                case 2: response = "A provisioner should be able to supply thee with bedrolls."; break;
                }
            }
            if (Insensitive.Speech(e.Speech, "kindling"))
            {
                switch (Utility.Random(3))
                {
                case 0: response = "All thou dost need is an axe and some wood to make kindling."; break;

                case 1: response = "Any provisioner should sell som ekindling to adventurers like thee."; break;

                case 2: response = "Thou can easily make thy own kindling with an axe and some wood. Or thou can purchase some from a provisioner."; break;
                }
            }
            if (Insensitive.Speech(e.Speech, "cave") || Insensitive.Speech(e.Speech, "dungeon") || Insensitive.Speech(e.Speech, "destard") || Insensitive.Speech(e.Speech, "despise") || Insensitive.Speech(e.Speech, "shame") || Insensitive.Speech(e.Speech, "deceit") || Insensitive.Speech(e.Speech, "hythloth") || Insensitive.Speech(e.Speech, "wrong") || Insensitive.Speech(e.Speech, "covetous"))
            {
                switch (Utility.Random(5))
                {
                case 0: response = "The dugeons and caves under Britannia are rumored to have treasures and excitements in abundance. Though I don't know many who have returned unscathed from them."; break;

                case 1: response = "If thou art able to fight thy way through, the dungeons beneath Britannia can make thee wealthy."; break;

                case 2: response = "I seem to recall the names of a few of the dungeons... Despise, Deceit, Shame... I don't know any more."; break;

                case 3: response = "Umm... I can recall two more of the dungeons, I think. Hythloth is one, and Wrong is the other."; break;

                case 4: response = "The dungeons that people tend to forget about are Covetous and Destard. At least I usually do."; break;
                }
            }
            if (Insensitive.Speech(e.Speech, "gold") || Insensitive.Speech(e.Speech, "treasure"))
            {
                switch (Utility.Random(3))
                {
                case 0: response = "Gold can be found on the bodies of the more dangerous monsters of Britannia."; break;

                case 1: response = "Treasure abounds in the dungeons beneath Britannia. The creatures themselves sometimes have things on them, also."; break;

                case 2: response = "Look to the dungeons or the monsters of Britannia if thou dost want gold and treasure."; break;
                }
            }
            if (Insensitive.Speech(e.Speech, "Britannia"))
            {
                if (from.Karma <= -60)
                {
                    switch (Utility.Random(3))
                    {
                    case 0: response = "Hast thou not performed enough cruelty to Lord British's lands?"; break;

                    case 1: response = String.Format("Please {0}, I will speak not of my feelings of my beloved homeland.", e.Mobile.Female ? "lady" : "sir"); break;

                    case 2: response = String.Format("Please forgive me, {0}, but I will tell thee nothing of Britannia, for I fear what thou wilt do further.", e.Mobile.Female ? "lady" : "sir"); break;
                    }
                }
                else if (from.Karma >= 60)
                {
                    switch (Utility.Random(3))
                    {
                    case 0: response = String.Format("Ah, {0}, surely thou dost know as much about the land as I. Why else wouldst thou do such good deeds for its people?", e.Mobile.Female ? "milady" : "milord"); break;

                    case 1: response = "What canst I tell one who has done so much? Nay, 'tis I who should be asking thee for advice."; break;

                    case 2: response = String.Format("Why, all of Lord British's realm is called Britannia. But fear not, $good sir/fair lady$, with deeds such as thine, thou wilt surely be honored by Lord British, himself, soon enough.", e.Mobile.Female ? "fair lady" : "good sir"); break;
                    }
                }
                else
                {
                    switch (Utility.Random(3))
                    {
                    case 0: response = "Britannia? Truly the lands of Lord British."; break;

                    case 1: response = "Good times or ill, I will always love my homeland,."; break;

                    case 2: response = "'Tis called Britannia in honor of our liege, Lord British."; break;
                    }
                }
            }
            if (Insensitive.Speech(e.Speech, "Buccaneer's Den") || Insensitive.Speech(e.Speech, "Buccaneers Den"))
            {
                switch (Utility.Random(3))
                {
                case 0: response = "Buccaneer's Den? Why, 'tis nothing more than a hiding place for pirates!"; break;

                case 1: response = "'Tis where the scum of the realm go to lick their wounds."; break;

                case 2: response = String.Format("I would not live in Buccaneer's Den if I were thee, {0}, for it is home to the most vile men and women to sail the seas.", e.Mobile.Female ? "milady" : "milord"); break;
                }
            }
            if (Insensitive.Speech(e.Speech, "Britain") || Insensitive.Speech(e.Speech, "capital"))
            {
                switch (Utility.Random(3))
                {
                case 0: response = "Britain is the capital of all Britannia, land of Lord British."; break;

                case 1: response = "Lord British, sovereign of all Britannia, resides in Britain."; break;

                case 2: response = "Britain is home to Lord British, himself. 'Tis the capital of Britannia."; break;
                }
            }
            if (Insensitive.Speech(e.Speech, "Cove"))
            {
                switch (Utility.Random(3))
                {
                case 0: response = "Cove? Thou shouldst find it North and East of Britain."; break;

                case 1: response = "Cove is not much of a city. 'Tis more of a village, to be truthful."; break;

                case 2: response = "Just Northeast of Britain is Cove."; break;
                }
            }
            if (Insensitive.Speech(e.Speech, "Jhelom"))
            {
                switch (Utility.Random(3))
                {
                case 0: response = "Jhelom is an outpost for mercenaries and sellswords."; break;

                case 1: response = "Jhelom? 'Tis a town of sword arms looking for work. Thou canst find it off the southwestern coast of mainland Britannia."; break;

                case 2: response = "Some say Jhelom is as rough as Buccaneer's Den, with half the scoundrels and twice the bruises."; break;
                }
            }
            if (Insensitive.Speech(e.Speech, "Magincia"))
            {
                switch (Utility.Random(3))
                {
                case 0: response = "Magincia is a city spanning nearly an entire island, outside of Britanny Bay."; break;

                case 1: response = "Magincia? 'Tis a city of arrogance and pride, I think."; break;

                case 2: response = String.Format("Quite a lovely place, {0}. And shouldst thou doubt my word, just ask someone who resides there.", e.Mobile.Female ? "milady" : "milord"); break;
                }
            }
            if (Insensitive.Speech(e.Speech, "Minoc"))
            {
                switch (Utility.Random(3))
                {
                case 0: response = "Minoc is a mining town now."; break;

                case 1: response = "Minoc? Why it was once home to the best artisans in the realm, but now that rich deposits of precious metals have been discovered in the mountains, 'tis full of miners."; break;

                case 2: response = String.Format("Minoc lies on the northern coast of the mainland, {0}.", e.Mobile.Female ? "milady" : "milord"); break;
                }
            }
            if (Insensitive.Speech(e.Speech, "Serpent's Hold") || Insensitive.Speech(e.Speech, "Serpents Hold"))
            {
                switch (Utility.Random(3))
                {
                case 0: response = "Serpent's Hold is where the best knights are trained. 'Tis located in the Cape of Heroes, off the southeastern edge of the mainland."; break;

                case 1: response = "Serpent's Hold is the fortification Lord British granted to his loyal knights, those of the Order of the Silver Serpent."; break;

                case 2: response = "Serpent's Hold? Art thou interested in becoming a member of Lord British's royal order of Knights -- the Order of the Silver Serpent? If such is true, then thou shouldst go to Serpent's Hold."; break;
                }
            }
            if (Insensitive.Speech(e.Speech, "Skara Brae"))
            {
                switch (Utility.Random(3))
                {
                case 0: response = "Skara Brae is an island. Thou canst find it off the western coast of Britannia."; break;

                case 1: response = "The most skilled trackers in the land learn their craft on the island of Skara Brae."; break;

                case 2: response = "Many talented shipwrights live on Skara Brae, though the island is actually known for the many trackers who teach their skills there."; break;
                }
            }
            if (Insensitive.Speech(e.Speech, "Trinsic"))
            {
                switch (Utility.Random(3))
                {
                case 0: response = "Though Serpent's Hold may be home to valiant knights, and Jhelom home to skilled mercenaries, Trinsic is where one shouldst go to find the most honorable warriors of the realm."; break;

                case 1: response = "Though known as a haven for men and women of honor who wish to hone their martial skills, Trinsic also supports a large guild of architects and engineers."; break;

                case 2: response = "Trinsic? Why, thou couldst find thy way there by merely following the south road from Britain."; break;
                }
            }
            if (Insensitive.Speech(e.Speech, "Vesper"))
            {
                switch (Utility.Random(3))
                {
                case 0: response = "Vesper? 'Tis a city in northeastern Britannia. Ore from the mines of Minoc are sent down river to be unloaded in Vesper."; break;

                case 1: response = String.Format("Much of the crafts forged in Minoc find their way to Vesper by way of the river, {0}.", e.Mobile.Female ? "milady" : "milord"); break;

                case 2: response = "Some claim Vesper is merely an extension of Minoc, calling it nothing more than a large marketplace for artisans to sell their wares."; break;
                }
            }
            if (Insensitive.Speech(e.Speech, "Yew"))
            {
                switch (Utility.Random(3))
                {
                case 0: response = "Yew is a small, peaceful community of farmers in northwestern Britannia."; break;

                case 1: response = "The High Court of Britannia is in Yew. 'Tis there that important cases that concern all of Britannia are decided, many of which are determined by Lord British, himself."; break;

                case 2: response = "They say farmers and criminals are all who go to Yew, $milord/milady$, save for those hoping to visit one of the two."; break;
                }
            }
            if (Insensitive.Speech(e.Speech, "Britanny Bay"))
            {
                switch (Utility.Random(3))
                {
                case 0: response = "'Tis the bay that touches the city of Britain."; break;

                case 1: response = "Britanny Bay is the body of water on the edge of Britannia's capital."; break;

                case 2: response = "Britanny Bay? Why, 'tis the waters that border the ports of Britain."; break;
                }
            }
            if (Insensitive.Speech(e.Speech, "Order of the Silver Serpent") || Insensitive.Speech(e.Speech, "Knights"))
            {
                switch (Utility.Random(3))
                {
                case 0: response = "'Tis the order of knights who served Lord British in the battle against Lord Robere."; break;

                case 1: response = "When Lord Robere challenged Lord British for his share of the realm, Lord British's faithful knights defended the kingdom."; break;

                case 2: response = "Only the bravest knights belong to the Order of the Silver Serpent. 'Twas they who defeated the forces of Lord Robere."; break;
                }
            }
            if (Insensitive.Speech(e.Speech, "Robere") || Insensitive.Speech(e.Speech, "Lord Robere"))
            {
                switch (Utility.Random(4))
                {
                case 0: response = "History claims that Lord Robere was once an honorable man. But he was overcome with greed and sought to take the entire realm by force."; break;

                case 1: response = "Years ago, Lord Robere made claims to the lands under Lord British's domain. Were it not for the stout knights in the Order of the Silver Serpent, Lord Robere could very well have conquered the entire realm."; break;

                case 2: response = "Though a kind and generous man in his youth, Lord Robere thirsted for power in his later years, so legends say."; break;

                case 3: response = "Had not the Order of the Silver Serpent been ready to fight for Lord British, this very land could have belonged to the ambitious conqueror."; break;
                }
            }
            if (Insensitive.Speech(e.Speech, "Lord British") || Insensitive.Speech(e.Speech, "ruler") || Insensitive.Speech(e.Speech, "king"))
            {
                if (m_Mobile.Attitude == AttitudeLevel.Wicked)
                {
                    switch (Utility.Random(3))
                    {
                    case 0: response = "Aye, Lord British does the commanding in this realm. And we puppets are to jump when he so bids it."; break;

                    case 1: response = "Dost thou wish for me merely to repeat what surely other sheep have said before me? Well and good then -- Lord British is the finest leige I have ever been privileged to grovel before."; break;

                    case 2: response = String.Format("Now is not the time to talk about ruler, Good {0}.", e.Mobile.Female ? "Lady" : "Sir"); break;
                    }
                }
                else if (m_Mobile.Attitude == AttitudeLevel.Neutral)
                {
                    switch (Utility.Random(3))
                    {
                    case 0: response = "Lord British has always a fair and just ruler over this land."; break;

                    case 1: response = "I have no qualms about the way Lord British governs us."; break;

                    case 2: response = String.Format("Lord Britsh has done nothing to hurt my work as a {0}.", GetJob(m_Mobile)); break;
                    }
                }
                else if (m_Mobile.Attitude == AttitudeLevel.Goodhearted)
                {
                    switch (Utility.Random(3))
                    {
                    case 0: response = "A wiser, kinder ruler I have not heard of."; break;

                    case 1: response = "I think Lord British makes for a fine ruler."; break;

                    case 2: response = "We have a fine ruler in Lord British."; break;
                    }
                }
            }
            if (Insensitive.Speech(e.Speech, "weather"))
            {
                response = "Ah, the weather... 'Tis an interesting thing, really. No matter what the season, no matter what enchantments are cast, our land is almost always blessed with clear and beautiful blue skies.";
            }
            if (Insensitive.Speech(e.Speech, "concerns") || Insensitive.Speech(e.Speech, "troubles"))
            {
                switch (Utility.Random(3))
                {
                case 0: response = "Various issues surface from time to time, such as taxation, invasion, protection form creatures of the wild."; break;

                case 1: response = "Any land experiences difficult times, but it takes a wise ruler to lead his people through them."; break;

                case 2: response = "Surely thou dost understand -- life cannot always be free of trouble."; break;
                }
            }
            if (Insensitive.Speech(e.Speech, "blackthorn"))
            {
                switch (Utility.Random(3))
                {
                case 0: response = "Blackthorn's written a book or two about himself. I haven't read them, myself, but I bet they say alot about the man."; break;

                case 1: response = "I hear that Blackthorn and Lord British still play chess together. Kinda odd, considering their differences, I think."; break;

                case 2: response = "Blackthorn believes in the freedom of choices. Even the WRONG choices that could lead to disaster."; break;
                }
            }
            if (Insensitive.Speech(e.Speech, "shamino"))
            {
                switch (Utility.Random(3))
                {
                case 0: response = String.Format("Shamino? Nay, {0}, I cannot help thee.", e.Mobile.Female ? "fair lady" : "kind sir"); break;

                case 1: response = String.Format("Shamino? I beg thee pardon, {0}, but the words mean nothing to me.", e.Mobile.Female ? "milady" : "milord"); break;

                case 2: response = String.Format("I am sorry, {0}, I do not recognize the name.", e.Mobile.Female ? "milady" : "milord"); break;
                }
            }
            if (Insensitive.Speech(e.Speech, "Iolo"))
            {
                switch (Utility.Random(3))
                {
                case 0: response = String.Format("Iolo? Nay, {0}, I cannot help thee?", e.Mobile.Female ? "fair lady" : "kind sir"); break;

                case 1: response = String.Format("Iolo? I beg thee pardon, {0}, but the words mean nothing to me.", e.Mobile.Female ? "milady" : "milord"); break;

                case 2: response = String.Format("I am sorry, {0}, I do not recognize the name.", e.Mobile.Female ? "milady" : "milord"); break;
                }
            }
            if (Insensitive.Speech(e.Speech, "Dupre"))
            {
                switch (Utility.Random(3))
                {
                case 0: response = String.Format("Dupre? Nay, {0}, I cannot help thee?", e.Mobile.Female ? "fair lady" : "kind sir"); break;

                case 1: response = String.Format("Dupre? I beg thee pardon, {0}, but the words mean nothing to me.", e.Mobile.Female ? "milady" : "milord"); break;

                case 2: response = String.Format("I am sorry, {0}, I do not recognize the name.", e.Mobile.Female ? "milady" : "milord"); break;
                }
            }
            if (Insensitive.Speech(e.Speech, "New Magincia"))
            {
                switch (Utility.Random(3))
                {
                case 0: response = "New Magincia? Is there something wrong with the original?"; break;

                case 1: response = String.Format("Forgive me, {0}, but I think thou dost suffer the madness of the drink.", e.Mobile.Female ? "milady" : "milord"); break;

                case 2: response = String.Format("I have not heard of such a place, {0}. I suppose it could be a colony of Britannians who have settled in a new territory.", e.Mobile.Female ? "milady" : "milord"); break;
                }
            }
            if (Insensitive.Speech(e.Speech, "other lands") || Insensitive.Speech(e.Speech, "other realms") || Insensitive.Speech(e.Speech, "many realms") || Insensitive.Speech(e.Speech, "many lands") || Insensitive.Speech(e.Speech, "other realm") || Insensitive.Speech(e.Speech, "one realm of many?"))
            {
                switch (Utility.Random(3))
                {
                case 0: response = String.Format("My apologies, $milord/milady$, but I know of no other than Britannia.", e.Mobile.Female ? "milady" : "milord"); break;

                case 1: response = String.Format("{0}, I do not understand. Realms other than Brittania? Surely thou dost make a jest.", e.Mobile.Female ? "Milady" : "Milord"); break;

                case 2: response = String.Format("My apologies, {0}, but I know of no other than Britannia.", e.Mobile.Female ? "milady" : "milord"); break;
                }
            }
            if (Insensitive.Speech(e.Speech, "colony"))
            {
                switch (Utility.Random(3))
                {
                case 0: response = String.Format("I know not of any, {0}.", e.Mobile.Female ? "milady" : "milord"); break;

                case 1: response = "Rumors abound that Lord British wishes to send adventurous and resourceful individuals to settle unexplored areas."; break;

                case 2: response = String.Format("I know not of which thou doth speak, {0}.", e.Mobile.Female ? "milady" : "milord"); break;
                }
            }
            if (Insensitive.Speech(e.Speech, "virtue") || Insensitive.Speech(e.Speech, "virtues") || Insensitive.Speech(e.Speech, "shrines") || Insensitive.Speech(e.Speech, "truth") || Insensitive.Speech(e.Speech, "love") || Insensitive.Speech(e.Speech, "courage") || Insensitive.Speech(e.Speech, "spirituality") || Insensitive.Speech(e.Speech, "valor") || Insensitive.Speech(e.Speech, "honor") || Insensitive.Speech(e.Speech, "justice") || Insensitive.Speech(e.Speech, "sacrifice") || Insensitive.Speech(e.Speech, "honesty") || Insensitive.Speech(e.Speech, "humility") || Insensitive.Speech(e.Speech, "compassion"))
            {
                switch (Utility.Random(3))
                {
                case 0: response = "Shrines to the virtues are spread around our land. 'Tis rumored that they will resurrect thee, if thou dost manage to get thyself killed."; break;

                case 1: response = "Rest and health can be found at the shrines."; break;

                case 2: response = "The power of resurrection is supposedly contained within the shrines. I know not whether 'tis true or no."; break;
                }
            }
            if (Insensitive.Speech(e.Speech, "avatar"))
            {
                switch (Utility.Random(4))
                {
                case 0: response = "Who?"; break;

                case 1: response = "I'm sorry, I know not of whom thou doth speak."; break;

                case 2: response = "I have never heard of this tar person."; break;

                case 3: response = "I cannot help thee."; break;
                }
            }
            if (Insensitive.Speech(e.Speech, "moongates"))
            {
                switch (Utility.Random(3))
                {
                case 0: response = "The moongates? They are doors that will lead thee around Britannia. The destinations of the moongates change in accordance to the phases of the two moons."; break;

                case 1: response = "Thou shouldst learn to use the moongates if thou dost plan to travel far. Study the moons. The phases of the moons control the destinations of the moongates."; break;

                case 2: response = "If thou dost use the moongates, then thou might not end up where thou had planned, unless thou hast learned how to use them correctly. The phases of the two moons are the key, thou knowest."; break;
                }
            }
            if (Insensitive.Speech(e.Speech, "moons"))
            {
                response = "Britannia's moons are called Trammel and Felucca. They control the destinations of the moongates.";
            }
            return(response);
        }
Beispiel #39
0
 public virtual void OnSpeech(SpeechEventArgs args)
 {
 }
Beispiel #40
0
        public static void GetSpeech(BaseCreature m_Mobile, SpeechEventArgs e)
        {
            string response = null;
            Region reg      = Region.Find(m_Mobile.Location, m_Mobile.Map);

            //Check Job
            //TODO

            //Check Region
            if (reg.Name == "Britain")
            {
                if (m_Mobile.Sophistication == SophisticationLevel.High)
                {
                    response = BritainHigh(m_Mobile, e);
                }
                else if (m_Mobile.Sophistication == SophisticationLevel.Medium)
                {
                    response = BritainMedium(m_Mobile, e);
                }
                else if (m_Mobile.Sophistication == SophisticationLevel.Low)
                {
                    response = BritainLow(m_Mobile, e);
                }
            }

            //Check World
            if (response == null)
            {
                if (m_Mobile.Sophistication == SophisticationLevel.High)
                {
                    response = BritanniaHigh(m_Mobile, e);
                }
                else if (m_Mobile.Sophistication == SophisticationLevel.Medium)
                {
                    response = BritanniaMedium(m_Mobile, e);
                }
                else if (m_Mobile.Sophistication == SophisticationLevel.Low)
                {
                    response = BritanniaLow(m_Mobile, e);
                }
            }

            //No answer found
            if (response == null)
            {
                if (m_Mobile.Sophistication == SophisticationLevel.High)
                {
                    response = DefaultHigh(m_Mobile, e.Mobile);
                }
                else if (m_Mobile.Sophistication == SophisticationLevel.Medium)
                {
                    response = DefaultMedium(m_Mobile, e.Mobile);
                }
                else if (m_Mobile.Sophistication == SophisticationLevel.Low)
                {
                    response = DefaultLow(m_Mobile, e.Mobile);
                }
            }

            m_Mobile.Say(true, response);
        }