Exemple #1
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;
        }
        public static void CheckArtifactGiving( BaseCreature boss )
        {
            int basePoints = ( boss is DemonKnight ) ? 500 : 100;

            List<DamageStore> rights = BaseCreature.GetLootingRights( boss.DamageEntries, boss.HitsMax );

            for ( int i = 0; i < rights.Count; i++ )
            {
                DamageStore store = rights[i];

                if ( !store.HasRight )
                    continue;

                PlayerMobile pm = store.Mobile as PlayerMobile;

                if ( pm != null )
                {
                    int awardPoints = (int) ( basePoints * ( 1.0 - Math.Ceiling( i / 2.0 ) * 0.02 ) );

                    pm.DoomCredits += awardPoints;

                    int chance = (int) ( pm.DoomCredits * ( 1.0 + LootPack.GetLuckChance( pm, boss ) / 10000.0 ) );

                    if ( chance > Utility.Random( 1000000 ) )
                        GiveArtifactTo( pm );
                }
            }
        }
Exemple #3
0
        public static string RudeFarewellLow(BaseCreature m_Mobile, Mobile from)
        {
            string response = null;

            if (m_Mobile.Attitude == AttitudeLevel.Wicked)
            {
                switch (Utility.Random(3))
                {
                    case 0: response = "Fine."; break;
                    case 1: response = "Same to ye."; break;
                    case 2: response = "Ye's rude."; break;
                }
            }
            else if (m_Mobile.Attitude == AttitudeLevel.Neutral || m_Mobile.Attitude == AttitudeLevel.Goodhearted)
            {
                switch (Utility.Random(3))
                {
                    case 0: response = "Fine. "; break;
                    case 1: response = "Same to ye."; break;
                    case 2: response = "Aye, whatever."; break;
                }
            }

            return response;
        }
		public PetReviveGump( Mobile from, BaseCreature mount,PetHoldingChamber petchamber,PetReviver doctor ) : base( 50,50 )
		{
			from.CloseGump( typeof( PetReviveGump ) );

			m_from = from;
			m_mount = mount;
			i_petchamber = petchamber;
			m_doctor = doctor;

			AddPage( 0 );

			AddBackground( 10, 10, 265, 140, 0x242C );

			AddItem( 205, 40, 0x4 );
			AddItem( 227, 40, 0x5 );

			AddItem( 180, 78, 0xCAE );
			AddItem( 195, 90, 0xCAD );
			AddItem( 218, 95, 0xCB0 );

			//AddHtmlLocalized( 30, 30, 150, 75, 1049665, false, false ); // <div align=center>Wilt thou sanctify the resurrection of:</div>
			AddHtml(30,30,150,75, String.Format( "Would you like to spend 6000 gold to revive this pet?", 0 ), false,false);
			AddHtml( 30, 70, 150, 25, String.Format( "<div align=CENTER>{0}</div>", mount.Name ), true, false );

			AddButton( 40, 105, 0x81A, 0x81B, 1, GumpButtonType.Reply, 0 ); // Okay
			AddButton( 110, 105, 0x819, 0x818, 0, GumpButtonType.Reply, 0 ); // Cancel
		}
        public override void Deserialize( GenericReader reader )
        {
            base.Deserialize( reader );

            int version = reader.ReadInt();
            m_Creature = (BaseCreature)reader.ReadMobile();
        }
Exemple #6
0
        public override void Deserialize(GenericReader reader)
        {
            base.Deserialize(reader);

            int version = reader.ReadInt();

            switch (version)
            {
                case 1:
                    {
                        m_Caster = (BaseCreature)reader.ReadMobile();

                        goto case 0;
                    }
                case 0:
                    {
                        m_End = reader.ReadDeltaTime();

                        m_Timer = new InternalTimer(this, TimeSpan.Zero, true, true);
                        m_Timer.Start();

                        break;
                    }
            }
        }
		public static void UnConvert( BaseCreature bc )
		{
			if ( !bc.IsParagon )
				return;

			bc.Hue = 0;

			bc.HitsMaxSeed = (int)( bc.HitsMaxSeed / HitsBuff );
			bc.Hits = bc.HitsMax;

			bc.RawStr = (int)( bc.RawStr / StrBuff );
			bc.RawInt = (int)( bc.RawInt / IntBuff );
			bc.RawDex = (int)( bc.RawDex / DexBuff );

			for( int i = 0; i < bc.Skills.Length; i++ )
			{
				Skill skill = (Skill)bc.Skills[i];
				if ( skill.Base == 0.0 )
					continue;
				else
					skill.Base /= SkillsBuff;
			}

			bc.PassiveSpeed *= SpeedBuff;
			bc.ActiveSpeed *= SpeedBuff;

			bc.DamageMin -= DamageBuff;
			bc.DamageMax -= DamageBuff;

			if ( bc.Fame > 0 )
				bc.Fame = (int)( bc.Fame / FameBuff );
			if ( bc.Karma != 0 )
				bc.Karma = (int)( bc.Karma / KarmaBuff );
		}
        public static void Convert( BaseCreature bc )
        {
            if ( bc.IsPlagued )
                return;

            bc.Hue = Hue;

            bc.HitsMaxSeed = (int)( bc.HitsMaxSeed * HitsBuff );
            bc.Hits = bc.HitsMax;

            bc.RawStr = (int)( bc.RawStr * StrBuff );
            bc.RawInt = (int)( bc.RawInt * IntBuff );
            bc.RawDex = (int)( bc.RawDex * DexBuff );

            for( int i = 0; i < bc.Skills.Length; i++ )
            {
                Skill skill = (Skill)bc.Skills[i];
                if ( skill.Base == 0.0 )
                    continue;
                else
                    skill.Base *= SkillsBuff;
            }

            bc.PassiveSpeed /= SpeedBuff;
            bc.ActiveSpeed /= SpeedBuff;

            bc.DamageMin += DamageBuff;
            bc.DamageMax += DamageBuff;

            if ( bc.Fame > 0 )
                bc.Fame = (int)( bc.Fame * FameBuff );
            if ( bc.Karma != 0 )
                bc.Karma = (int)( bc.Karma * KarmaBuff );
        }
Exemple #9
0
        public override void OnAttack( BaseCreature creature )
        {
            HaochisTrialsQuest htq = System as HaochisTrialsQuest;

            if ( htq == null )
            {
                return;
            }

            if ( creature is FierceDragon )
            {
                Complete();

                htq.Opponent = OpponentType.FierceDragon;

                System.AddObjective( new SecondTrialCompleteObjective() );
            }

            if ( creature is DeadlyImp )
            {
                Complete();

                htq.Opponent = OpponentType.DeadlyImp;

                System.AddObjective( new SecondTrialCompleteObjective() );
            }
        }
        public PetResurrectGump(Mobile from, BaseCreature pet, double hitsScalar)
            : base(50, 50)
        {
            from.CloseGump(typeof(PetResurrectGump));

            m_Pet = pet;
            m_HitsScalar = hitsScalar;

            AddPage(0);

            AddBackground(10, 10, 265, 140, 0x242C);

            AddItem(205, 40, 0x4);
            AddItem(227, 40, 0x5);

            AddItem(180, 78, 0xCAE);
            AddItem(195, 90, 0xCAD);
            AddItem(218, 95, 0xCB0);

            AddHtmlLocalized(30, 30, 150, 75, 1049665, false, false); // <div align=center>Wilt thou sanctify the resurrection of:</div>
            AddHtml(30, 70, 150, 25, String.Format("<div align=CENTER>{0}</div>", pet.Name), true, false);

            AddButton(40, 105, 0x81A, 0x81B, 0x1, GumpButtonType.Reply, 0); // Okay
            AddButton(110, 105, 0x819, 0x818, 0x2, GumpButtonType.Reply, 0); // Cancel
        }
Exemple #11
0
        public virtual void FindAbility(BaseCreature target, BaseMetaPet pet)
        {
            if (MetaSkillType.GoldFind == MetaSkillType)
            {
                DoAbilityGoldFind(target, pet);
            }

            if (MetaSkillType.VenemousBlood == MetaSkillType && DateTime.UtcNow >= NextUse &&
                Utility.RandomDouble() <= ChanceToActivate)
            {
                DoAbilityNoxiousBlood(target, pet);
            }

            if (MetaSkillType.Quicksilver == MetaSkillType && DateTime.UtcNow >= NextUse &&
                Utility.RandomDouble() <= ChanceToActivate && pet.GetStatMod("QuickSilver") == null)
            {
                DoAbilityQuicksilver(target, pet);
            }

            if (MetaSkillType.Bleed == MetaSkillType && DateTime.UtcNow >= NextUse &&
            Utility.RandomDouble() <= ChanceToActivate)
            {
                DoAbilityBleed(target, pet);
            }

            if (MetaSkillType.Molten == MetaSkillType && DateTime.UtcNow >= NextUse &&
                Utility.RandomDouble() <= ChanceToActivate)
            {
                DoAbilityMoltenBreath(target, pet);
            }
        }
		public static void Scale( BaseCreature bc, double scalar, bool scaleStats )
		{
			if ( scaleStats )
			{
				if ( bc.RawStr > 0 )
					bc.RawStr = (int)Math.Max( 1, bc.RawStr * scalar );

				if ( bc.RawDex > 0 )
					bc.RawDex = (int)Math.Max( 1, bc.RawDex * scalar );

				if ( bc.HitsMaxSeed > 0 )
				{
					bc.HitsMaxSeed = (int)Math.Max( 1, bc.HitsMaxSeed * scalar );
					bc.Hits = bc.Hits;
				}

				if ( bc.StamMaxSeed > 0 )
				{
					bc.StamMaxSeed = (int)Math.Max( 1, bc.StamMaxSeed * scalar );
					bc.Stam = bc.Stam;
				}
			}

			for ( int i = 0; i < bc.Skills.Length; ++i )
				bc.Skills[i].Base *= scalar;
		}
		//END ANTI ARCHERY

		//BEGIN ANTI ESCAPE

		public static void DoAntiEscape(BaseCreature mobile, Mobile player)
		{
			if ( mobile.Combatant != null )
				if ( !player.InRange( mobile, 5 ) )
				{                 
					Point3D from = mobile.Location;
					Point3D to = player.Location;

					if ( mobile.Mana >= 10 )
					{
						mobile.Location = to;
						
						mobile.Mana -= 10;

						mobile.Say( "Grrrr" );

						Effects.SendLocationParticles( EffectItem.Create( from, mobile.Map, EffectItem.DefaultDuration ), 0x3728, 10, 10, 2023 );
						Effects.SendLocationParticles( EffectItem.Create(   to, mobile.Map, EffectItem.DefaultDuration ), 0x3728, 10, 10, 5023 );

						mobile.PlaySound( 0x1FE );
					}
					else if ( !player.InRange( mobile, 20 ) )
						return;
				}
		}
		public PetResurrectGump( Mobile from, BaseCreature pet ) : base( 50, 50 )
		{
			from.CloseGump( typeof( PetResurrectGump ) );

			bool bStatLoss = false;
			if( pet.BondedDeadPetStatLossTime > DateTime.Now )
			{
				bStatLoss = true;
			}

			m_Pet = pet;

			AddPage( 0 );

			AddBackground( 10, 10, 265, bStatLoss ? 250 : 140, 0x242C );

			AddItem( 205, 40, 0x4 );
			AddItem( 227, 40, 0x5 );

			AddItem( 180, 78, 0xCAE );
			AddItem( 195, 90, 0xCAD );
			AddItem( 218, 95, 0xCB0 );

			AddHtmlLocalized( 30, 30, 150, 75, 1049665, false, false ); // <div align=center>Wilt thou sanctify the resurrection of:</div>
			AddHtml( 30, 70, 150, 25, String.Format( "<div align=CENTER>{0}</div>", pet.Name ), true, false );

			if( bStatLoss )
			{
				string statlossmessage = "Your pet lacks the ability to return to the living at this time without suffering skill loss.";
				AddHtml( 30, 105, 150, 105, String.Format( "<div align=CENTER>{0}</div>", statlossmessage), true, false);
			}

			AddButton( 40, bStatLoss ? 215 : 105, 0x81A, 0x81B, 0x1, GumpButtonType.Reply, 0 ); // Okay
			AddButton( 110, bStatLoss ? 215 : 105, 0x819, 0x818, 0x2, GumpButtonType.Reply, 0 ); // Cancel
		}
		public static void AddSheep( Mobile m, BaseCreature sheep )
		{
			if ( SheepList == null )
				m.SendMessage( "An Error has occured, please contact a GM" );
			else
			{
			
				if ( SheepList.ContainsKey( m ) )
				{
					List<BaseCreature> list;
					if ( SheepList.TryGetValue( m, out list ) )
					{
						if ( list == null )  //Should never happen but crash preventative.
						{
							list = new List<BaseCreature>();
							SheepList[m] = list;
							SheepList[m].Add( sheep );
						}
						else
						{
							SheepList[m].Add( sheep );
						}
					}
				}
				else
				{
					List<BaseCreature> list = new List<BaseCreature>();
					SheepList.Add( m, list );
					SheepList[m].Add( sheep );
				}
			}
			    	
		}
Exemple #16
0
 public override void OnKill( BaseCreature creature, Container corpse )
 {
     if ( creature is DeathWatchBeetleHatchling && corpse.Map == Map.Tokuno )
     {
         CurProgress++;
     }
 }
Exemple #17
0
		public override void OnKill( BaseCreature creature, Container corpse )
		{
			if ( creature is CursedSoul )
			{
				if ( m_CursedSoulsKilled == 0 )
					System.AddConversation( new GainKarmaConversation( true ) );

				m_CursedSoulsKilled++;

				// Cursed Souls killed:  ~1_COUNT~
				System.From.SendLocalizedMessage( 1063038, m_CursedSoulsKilled.ToString() );
			}
			else if ( creature is YoungRonin )
			{
				if ( m_YoungRoninKilled == 0 )
					System.AddConversation( new GainKarmaConversation( false ) );

				m_YoungRoninKilled++;

				// Young Ronin killed:  ~1_COUNT~
				System.From.SendLocalizedMessage( 1063039, m_YoungRoninKilled.ToString() );
			}

			CurProgress = Math.Max( m_CursedSoulsKilled, m_YoungRoninKilled );
		}
Exemple #18
0
		public static void ComputePoints( BaseCreature creature )
		{
			List<DamageStore> rights = BaseCreature.GetLootingRights( creature.DamageEntries, creature.HitsMax );

			for ( int i = rights.Count - 1; i >= 0; --i )
			{
				DamageStore ds = rights[i];

				if ( ds.m_HasRight )
				{
					double baseChance, factor;
					if ( creature is DemonKnight )
						baseChance = 1.5;
					else
						baseChance = 0.75;

					switch ( i )
					{
						case 0: factor = 0.1; break;
						case 1: factor = 0.065; break;
						case 2: factor = 0.05; break;
						default: factor = 0.04; break;
					}

					PlayerMobile pm = ds.m_Mobile as PlayerMobile;

					if ( pm != null )
						pm.GauntletPoints += ( factor * baseChance );
				}
			}
		}
		private static bool IsFireBreathingCreature( BaseCreature bc )
		{
			if ( bc == null )
				return false;

			return bc.HasBreath;
		}
Exemple #20
0
            public ParagonStamRegen(Mobile m)
                : base(FastRegenRate, FastRegenRate)
            {
                this.Priority = TimerPriority.FiftyMS;

                m_Owner = m as BaseCreature;
            }
Exemple #21
0
        public static string RudeFarewellMedium(BaseCreature m_Mobile, Mobile from)
        {
            string response = null;

            if (m_Mobile.Attitude == AttitudeLevel.Wicked)
            {
                switch (Utility.Random(3))
                {
                    case 0: response = "Fine. Have a nice day. "; break;
                    case 1: response = "Same to thee."; break;
                    case 2: response = "Thou'rt very rude."; break;
                }
            }
            else if (m_Mobile.Attitude == AttitudeLevel.Neutral || m_Mobile.Attitude == AttitudeLevel.Goodhearted)
            {
                switch (Utility.Random(3))
                {
                    case 0: response = "Fine. Have a nice day."; break;
                    case 1: response = "Same to thee."; break;
                    case 2: response = "There is no need to be so rude about it."; break;
                }
            }

            return response;
        }
Exemple #22
0
        public static bool CheckArtifactChance(Mobile m, BaseCreature bc)
        {
            if (!Core.ML)
                return false;

            return Paragon.CheckArtifactChance(m, bc);
        }
Exemple #23
0
		/// <summary>
		/// Converta a given BaseCreature object into a statuette object which can be sold through the auction
		/// system. Will provide feedback to the user in case some of the requirements aren't met.
		/// </summary>
		/// <param name="from">The player auctioning the creature</param>
		/// <param name="creatue">The creature being auctioned</param>
		/// <returns>A MobileStatuette if the creature can be auctioned, null if the process fails</returns>
		public static MobileStatuette Create( Mobile from, BaseCreature creature )
		{
			if ( !creature.Controlled || creature.ControlMaster != from )
			{
				from.SendMessage( AuctionSystem.MessageHue, AuctionSystem.ST[ 139 ] );
				return null;
			}

			if ( creature.IsAnimatedDead || creature.IsDeadPet )
			{
				from.SendMessage( AuctionSystem.MessageHue, AuctionSystem.ST[ 140 ] );
				return null;
			}

			if ( creature.Summoned )
			{
				from.SendMessage( AuctionSystem.MessageHue, AuctionSystem.ST[ 141 ] );
				return null;
			}

			if ( creature is BaseFamiliar )
			{
				from.SendMessage( AuctionSystem.MessageHue, AuctionSystem.ST[ 142 ] );
				return null;
			}

			if ( (creature is PackLlama || creature is PackHorse || creature is Beetle) && (creature.Backpack != null && creature.Backpack.Items.Count > 0) )
			{
				from.SendMessage( AuctionSystem.MessageHue, AuctionSystem.ST[ 143 ] );
				return null;
			}

			return new MobileStatuette( creature );
		}
        public static void BCLoot( BaseCreature creature, Container c, bool spawning )
        {
            if( creature.Controlled || creature.Summoned || creature.NoKillAwards )
                return;

            //if( creature.IsChampionMonster && 0.0005 > Utility.RandomDouble() )
            //	BaseCreatureLoot.GivePowerScroll(creature);

            if( creature.IsPlagued && !creature.IgnorePlagueLoot )
            {
                if ( creature.TreasureMapLevel >= 0 && Plague.ChestChance > Utility.RandomDouble() )
                    c.DropItem( new PlagueChest( creature.Name, creature.TreasureMapLevel ) );

                LootPackEntry.AddMoreLoot( creature, c, spawning, 1000, 1 );
                IncreaseTypeAmount( c, typeof(Gold), 1.50 );
            }
            else if ( creature.IsElder )
            {
                LootPackEntry.AddMoreLoot( creature, c, spawning, 1000, 1 );
                IncreaseTypeAmount( c, typeof(Gold), 1.60 );
            }
            else if ( creature.IsParagon )
            {
                LootPackEntry.AddMoreLoot( creature, c, spawning, 1000, 1 );
                IncreaseTypeAmount( c, typeof(Gold), 1.50 );
            }
        }
Exemple #25
0
        public static string RudeFarewellHigh(BaseCreature m_Mobile, Mobile from)
        {
            string response = null;

            if (m_Mobile.Attitude == AttitudeLevel.Wicked)
            {
                switch (Utility.Random(3))
                {
                    case 0: response = "Fine. Have a nice day, scum."; break;
                    case 1: response = "Same to thee."; break;
                    case 2: response = "Oh, don't be so immature about it."; break;
                }
            }
            else if (m_Mobile.Attitude == AttitudeLevel.Neutral || m_Mobile.Attitude == AttitudeLevel.Goodhearted)
            {
                switch (Utility.Random(4))
                {
                    case 0: response = "Fine. Have a nice day."; break;
                    case 1: response = "Same to thee."; break;
                    case 2: response = "There is no need to be so rude about it."; break;
                    case 3: response = "Very well, if thou dost not wish to speak to me, kindly do not interrupt me again."; break;
                }
            }

            return response;
        }
Exemple #26
0
        public static string ConvoInitLow(BaseCreature m_Mobile, Mobile from)
        {
            string response = null;

            if (m_Mobile.Attitude == AttitudeLevel.Wicked)
            {
                switch (Utility.Random(3))
                {
                    case 0: response = "Go 'way."; break;
                    case 1: response = "I ain't wantin' to talk to thee."; break;
                    case 2: response = "Thou'rt rude."; break;
                }
            }

            //Dastardly
            if (from.Karma <= -60)
            {
                if (m_Mobile.Attitude == AttitudeLevel.Neutral || m_Mobile.Attitude == AttitudeLevel.Goodhearted)
                {
                    switch (Utility.Random(4))
                    {
                        case 0: response = "Don't hurt me."; break;
                        case 1: response = "What do thou want? I can't help."; break;
                        case 2: response = "Thou wants to talk to me? Umm..."; break;
                        case 3: response = "Thou'rt talkin' to me?"; break;
                    }
                }
            }
            //Famous
            else if (from.Karma >= 60)
            {
                if (m_Mobile.Attitude == AttitudeLevel.Neutral || m_Mobile.Attitude == AttitudeLevel.Goodhearted)
                {
                    switch (Utility.Random(4))
                    {
                        case 0: response = String.Format("Yes, {0}?", from.Name); break;
                        case 1: response = String.Format("Hmm? Oh! Tis thee, {0}!", from.Name); break;
                        case 2: response = "Can I help thee?"; break;
                        case 3: response = String.Format("{0}! Nice to see thee.", from.Name); break;
                    }
                }
            }
            //Annonymous
            else
            {
                if (m_Mobile.Attitude == AttitudeLevel.Neutral || m_Mobile.Attitude == AttitudeLevel.Goodhearted)
                {
                    switch (Utility.Random(4))
                    {
                        case 0: response = "Hmm?"; break;
                        case 1: response = "Aye?"; break;
                        case 2: response = "What's thee wantin'?"; break;
                        case 3: response = "I'm listenin'."; break;
                    }
                }
            }

            return response;
        }
Exemple #27
0
        public static string ReGreetingMedium(BaseCreature m_Mobile, Mobile from)
        {
            string response = null;

            if (m_Mobile.Attitude == AttitudeLevel.Wicked)
            {
                switch (Utility.Random(3))
                {
                    case 0: response = String.Format("Was that thee, or a parrot, {0}?", from.Name); break;
                    case 1: response = String.Format("Get to thy point, {0}!",from.Name); break;
                    case 2: response = "Lose thy greetings and acquire some meaning."; break;
                }
            }

            //Dastardly
            if (from.Karma <= -60)
            {
                if (m_Mobile.Attitude == AttitudeLevel.Neutral || m_Mobile.Attitude == AttitudeLevel.Goodhearted)
                {
                    switch (Utility.Random(4))
                    {
                        case 0: response = "I greet thee a thousand times."; break;
                        case 1: response = String.Format("Yes, {0}, hello. I heard thee.", from.Female ? "Lady" : "Sir"); break;
                        case 2: response = String.Format("Thou'rt a repetitive {0} to talk to.", from.Female ? "woman" : "man"); break;
                        case 3: response = "Uh, right. Art thou having me on?"; break;
                    }
                }
            }
            //Famous
            else if (from.Karma >= 60)
            {
                if (m_Mobile.Attitude == AttitudeLevel.Neutral || m_Mobile.Attitude == AttitudeLevel.Goodhearted)
                {
                    switch (Utility.Random(4))
                    {
                        case 0: response = String.Format("I'd think a renown {0}'d too busy for repeatin' thyself.", from.Female ? "lady" : "rogue"); break;
                        case 1: response = "Yes, I heard thou."; break;
                        case 2: response = String.Format("So famous, yet so addled. Hello, {0}.", from.Name); break;
                        case 3: response = String.Format("I am listening to thee, {0}. But hello anyway.", from.Name); break;
                    }
                }
            }
            //Annonymous
            else
            {
                if (m_Mobile.Attitude == AttitudeLevel.Neutral || m_Mobile.Attitude == AttitudeLevel.Goodhearted)
                {
                    switch (Utility.Random(4))
                    {
                        case 0: response = String.Format("Hello again. My, what a friendly {0}.", from.Female ? "lady" : "fellow"); break;
                        case 1: response = "Hee-hee. Hello. Thou art a rascal."; break;
                        case 2: response = "What is it thou wishest?"; break;
                        case 3: response = "Yes, goodtidings to thee as well."; break;
                    }
                }
            }

            return response;
        }
Exemple #28
0
        public static int GetResurrectionFee( BaseCreature bc )
        {
            int fee = (int) ( 100 + Math.Pow( 1.1041, bc.MinTameSkill ) );

            Utility.FixMinMax( ref fee, 100, 30000 );

            return fee;
        }
Exemple #29
0
        public static void HandleKill(BaseCreature victim, Mobile damager, bool highestDamager)
        {
            if (victim == null || damager == null || damager.Map != Map.TerMur)
                return;

            if(PointsEntry.Entries.ContainsKey(victim.GetType()))
                ProcessKill(victim, damager, highestDamager);
        }
Exemple #30
0
        public static string ConvoInitMedium(BaseCreature m_Mobile, Mobile from)
        {
            string response = null;

            if (m_Mobile.Attitude == AttitudeLevel.Wicked)
            {
                switch (Utility.Random(3))
                {
                    case 0: response = "Be quiet, mine head hurts."; break;
                    case 1: response = "What if I do not wish to speak with thee?"; break;
                    case 2: response = "Waste not my time."; break;
                }
            }

            //Dastardly or Famous
            if (from.Karma <= -60)
            {
                if (m_Mobile.Attitude == AttitudeLevel.Neutral || m_Mobile.Attitude == AttitudeLevel.Goodhearted)
                {
                    switch (Utility.Random(4))
                    {
                        case 0: response = "Prithee, do not hurt me."; break;
                        case 1: response = "Hurt me not, and I will talk with thee."; break;
                        case 2: response = String.Format("Thou'rt a dangerous {0} to talk to.", from.Female ? "woman" : "man"); break;
                        case 3: response = "Thou wishest to speak to me? Please, harm me not..."; break;
                    }
                }
            }
            else if (from.Karma >= 60)
            {
                if (m_Mobile.Attitude == AttitudeLevel.Neutral || m_Mobile.Attitude == AttitudeLevel.Goodhearted)
                {
                    switch (Utility.Random(4))
                    {
                        case 0: response = String.Format("Thou wishest to speak with me, {0}?", from.Name); break;
                        case 1: response = String.Format("Thou hast mine attention, {0}.", from.Name); break;
                        case 2: response = String.Format("What is it thou wishest, {0}?", from.Name); break;
                        case 3: response = String.Format("I am listening to thee, {0}.", from.Name); break;
                    }
                }
            }
            //Annonymous
            else
            {
                if (m_Mobile.Attitude == AttitudeLevel.Neutral || m_Mobile.Attitude == AttitudeLevel.Goodhearted)
                {
                    switch (Utility.Random(4))
                    {
                        case 0: response = "Thou wishest to speak with me?"; break;
                        case 1: response = "Thou hast mine attention."; break;
                        case 2: response = "What is it thou wishest?"; break;
                        case 3: response = "I am listening to thee."; break;
                    }
                }
            }

            return response;
        }