public override bool OnMoveOver( Mobile m )
		{
			if( !m_AllowCreatures && !m.Player )
				return true;
			
			if( m.Alive)
					{
					m.SendMessage( "You must be dead to use this portal." );
					m.Say("Duh... I am not dead... Hello? Use a Rune book..");
					m.PlaySound( 0x440 );
					return true;
					}
			if( m_TelePets)
				{
				Server.Mobiles.BaseCreature.TeleportPets( m, m_DestLoc, m_DestMap );
				}
				
				m.Say("Have mercy on my soul.");
				World.Broadcast( 32, true, "A Darkening chime is heard throughout the land as Dracula has consumed another victim. May {0} rest in peace.", m.Name );
				m.PlaySound(0x1F7);

				m.MoveToWorld( m_DestLoc, m_DestMap );

				return false;
				
			

		}
Example #2
1
        public void DoCure( Mobile from )
        {
            bool cure = false;

            CureLevelInfo[] info = LevelInfo;

            for ( int i = 0; i < info.Length; ++i )
            {
                CureLevelInfo li = info[i];

                if ( li.Poison == from.Poison && Scale( from, li.Chance ) > Utility.RandomDouble() )
                {
                    cure = true;
                    break;
                }
            }

            if ( cure && from.CurePoison( from ) )
            {
                from.SendAsciiMessage( "You feel cured of poison!" ); // You feel cured of poison!

                from.FixedEffect( 0x373A, 10, 15 );
                from.PlaySound( 0x1E0 );
            }
            else if ( !cure )
            {
                from.SendAsciiMessage( "That potion was not strong enough to cure your ailment!" ); // That potion was not strong enough to cure your ailment!
            }
        }
Example #3
0
        public override void Abrir( Mobile from )
        {
            PlagueBeastLord m = RootParent as PlagueBeastLord;
            if ( m == null ) return;

            from.Direction = from.GetDirectionTo( m );
            if ( Abierto )
            {
                from.LocalOverheadMessage( MessageType.Emote, 0x66B, false, Plague_Texts.Line[21] );
            }
            else
            {
                from.LocalOverheadMessage( MessageType.Emote, 0x66B, false, Plague_Texts.Line[22] );
                from.PlaySound( 0x248 );
                from.PlaySound( 0x2AC );
                Agujero.Visible = true;

                base.Abrir( from );
                //Si no hay cerebro, la herida empieza a sangrar directamente
                if ( HoldBrain == BrainTypes.Brain_None )
                {
                    PlagueBrain pb = Mybrain as PlagueBrain;
                    pb.Sangrar( from );
                }
            }
        }
     		public override void OnDoubleClick( Mobile from ) 
		{ 
			
                        if ( Parent != from ) 
                        { 
                                from.SendMessage( "The costume must be equiped to be used." ); 
                        } 

			else if ( from.Mounted == true )
			{
				from.SendMessage( "You cannot be mounted while wearing your costume!" );
			}
			
			else if ( from.BodyMod == 0x0 )
                        { 
				
				LootType = LootType.Blessed;
               			from.SendMessage( "You pull the mask over your head." );
				from.PlaySound( 0x440 );
				from.BodyMod = 769;
				from.DisplayGuildTitle = false; 
				ItemID = 9860;
                        
			}
			else
			{
				from.SendMessage( "You lower the mask." );
				from.PlaySound( 0x440 );
				from.BodyMod = 0x0;		
				from.DisplayGuildTitle = true;
				ItemID = 0x1F03;
			}
		}
        public override void Drink(Mobile from)
        {
            Item am = from.Backpack.FindItemByType(typeof(RecluseStingMarker));
            if (am != null)
            {
                from.BodyMod = 0;
                from.Hue = -1;
                from.YellowHealthbar = false;

                from.PlaySound(0xF6);
                from.PlaySound(0x1F7);
                from.FixedParticles(0x3709, 1, 30, 9963, 13, 3, EffectLayer.Head);

                    BasePotion.PlayDrinkEffect(from);

                    this.Consume();
                    from.SendGump(new RecluseAntidoteGump());
                    //am.Delete();
                }
                else if (am == null )
                {
                    from.SendGump(new RecluseCuredGump());
                    
                }
            }
     		public override void OnDoubleClick( Mobile from ) 
		{ 
			
                        if ( Parent != from ) 
                        { 
                                from.SendMessage( "The costume must be equiped to be used." ); 
                        } 

			else if ( from.Mounted == true )
			{
				from.SendMessage( "You cannot be mounted while wearing your costume!" );
			}


			else if ( from.BodyMod == 0x0 )
                        { 
				

               			from.SendMessage( "You pull the mask over your head." );
				from.PlaySound( 0x440 );
				from.BodyMod = 75;
				from.DisplayGuildTitle = false; 
                        
			}
			else
			{
				from.SendMessage( "You lower the mask." );
				from.PlaySound( 0x440 );
				from.BodyMod = 0x0;
				from.DisplayGuildTitle = true;
				this.Transformed = false;
			}
		}
Example #7
0
        public void OnCompleted( Mobile from )
        {
            Mobile creature = new ClockworkCreature( CreatureDef );
            Point3D p = from.Location;

            creature.MoveToWorld( p, from.Map );

            Timer.DelayCall( TimeSpan.FromSeconds( 5.0 ), new TimerCallback(
                delegate
                {
                    from.PlaySound( 0xFA );
                    from.PlaySound( 0x5BC );
                    from.PlaySound( 0x5C7 );

                    Effects.SendLocationEffect( p, from.Map, 0x1FD4, 30, 16, 0x21, 4 );

                    for ( int j = 0; j < 5; j++ )
                    {
                        Point3D loc = new Point3D( p.X, p.Y, 10 + p.Z + ( j * 20 ) );

                        Effects.SendLocationEffect( loc, from.Map, 0x1AA1, 17, 16, 0x481, 4 );
                        Effects.SendLocationEffect( loc, from.Map, 0x1A9F, 10, 16, 0x481, 4 );
                        Effects.SendLocationEffect( loc, from.Map, 0x1A8, 25, 16, 0x47E, 4 );
                    }

                    // The training clockwork fails and the creature vanishes.
                    from.PrivateOverheadMessage( MessageType.Regular, 0x3B2, 1112987, from.Client );

                    Timer.DelayCall( TimeSpan.FromSeconds( 1.0 ), new TimerCallback(
                        delegate
                        {
                            creature.Delete();
                        } ) );
                } ) );
        }
        public override void OnDoubleClick( Mobile m )
      {
         if( Parent != m )
         {
            m.SendMessage( "You must be wearing the robe to use it!" );
         }
         else
         {
            if ( ItemID == 0x2683 || ItemID == 0x2684 )
            {
               m.SendMessage( "You lower the hood." );
               m.PlaySound( 0x57 );
               ItemID = 0x1F03;
               m.NameMod = null;
               m.RemoveItem(this);
               m.EquipItem(this);

            }
            else if ( ItemID == 0x1F03 || ItemID == 0x1F04 )
            {
               m.SendMessage( "You pull the hood over your head." );
               m.PlaySound( 0x57 );
               ItemID = 0x2683;
               m.RemoveItem(this);
               m.EquipItem(this);

            }
         }
      }
Example #9
0
		public override bool Use( Mobile from ) {
			if ( from.BeginAction( typeof( ClarityPotion ) ) ) {
				int amount = Utility.Dice( 3, 3, 3 );
				int time = Utility.RandomMinMax( 5, 30 );

				from.PlaySound( 0x2D6 );

				if ( from.Body.IsHuman ) {
					from.Animate( 34, 5, 1, true, false, 0 );
				}

				from.FixedParticles( 0x375A, 10, 15, 5011, EffectLayer.Head );
				from.PlaySound( 0x1EB );

				StatMod mod = from.GetStatMod( "Concussion" );

				if ( mod != null ) {
					from.RemoveStatMod( "Concussion" );
					from.Mana -= mod.Offset;
				}

				from.PlaySound( 0x1EE );
				from.AddStatMod( new StatMod( StatType.Int, "clarity-potion", amount, TimeSpan.FromMinutes( time ) ) );

				Timer.DelayCall( TimeSpan.FromMinutes( time ), delegate() {
					from.EndAction( typeof( ClarityPotion ) );
				} );

				return true;
			}

			return false;
		}
Example #10
0
		public override bool OnBeforeDamage( Mobile attacker, Mobile defender )
		{
			if ( !Validate( attacker ) || !CheckMana( attacker, true ) )
				return false;

			ClearCurrentAbility( attacker );

			attacker.SendMessage( "You become one with you weapon, allowing it to guide you hand. The effects of this attack are unpredictable, but effective." );
			defender.SendMessage( "You enemie become one with their weapon and the effects of his attack are unpredictable" );

				attacker.PlaySound( 0x20C );
				attacker.PlaySound( 0x56 );
				attacker.FixedParticles( 0x3779, 1, 30, 9964, 3, 3, EffectLayer.Waist );

				IEntity from = new Entity( Serial.Zero, new Point3D( attacker.X, attacker.Y, attacker.Z ), attacker.Map );
				IEntity to = new Entity( Serial.Zero, new Point3D( attacker.X, attacker.Y, attacker.Z + 50 ), attacker.Map );
				Effects.SendMovingParticles( from, to, 0xF5F, 1, 0, false, false, 33, 3, 9501, 1, 0, EffectLayer.Head, 0x100 );

			int damage = 10; 

			damage += Math.Min( 5, (int)(Math.Abs( attacker.Skills[SkillName.Anatomy].Value + attacker.Skills[SkillName.ArmsLore].Value ) / 8));

			defender.Damage( damage, attacker );

			return true;
		}
 public override void OnDoubleClick( Mobile m )
 {
    if( Parent != m )
    {
       m.SendMessage( "You can not use this item from your pack!" );
    }
    else
    {
       if ( ItemID == 0x2683 || ItemID == 0x2684 )
       {
          m.SendMessage( "You lower the hood." );
          m.PlaySound( 0x57 );
          ItemID = 0x1F03;
          m.NameMod = null;
          LootType=LootType.Blessed;
          m.RemoveItem(this);
          m.EquipItem(this);
       }
       else if ( ItemID == 0x1F03 || ItemID == 0x1F04 )
       {
          m.SendMessage( "You pull the hood over your head." );
          m.PlaySound( 0x57 );
          ItemID = 0x2683;
          LootType=LootType.Blessed;
          m.RemoveItem(this);
          m.EquipItem(this);
       }
    }
 }
Example #12
0
        public override void OnDoubleClick( Mobile from )
        {
            if (!IsChildOf(from.Backpack))
            {
                from.SendMessage("This must be in your backpack."); return;
            }

            from.SendMessage("You consume the thick liquid; it makes you nauseous.");
            from.Poison = Poison.Regular;

            if (from.Female) from.PlaySound(0x32D);
            else from.PlaySound(0x43F);

            Consume();

            if (from.StatCap >= from.RawStatTotal + 15)
            {
                if (from.RawStr + 5 < 125)
                    from.RawStr += 5;

                else from.RawStr = 125;

                if (from.RawInt + 5 < 125)
                    from.RawInt += 5;

                else from.RawInt = 125;

                if (from.RawDex + 5 < 125)
                    from.RawDex += 5;

                else from.RawDex = 125;
            }
        }
		// Healing Ki
		// Activate to heal all nearby allies for 1d4 (1 to 4), plus an additional 
		// 1d4 (1 to 4) for every two monk levels. (Does not harm undead)
		public static void LightCombo( Mobile from )
		{
			from.SendMessage( 2075, "You execute the maneuver: Healing Ki" );

			List<Mobile> mobiles = new List<Mobile>();

			foreach ( Mobile m in from.GetMobilesInRange( 4 ) )
			{
				if ( m != null )
					if ( NotorietyHandlers.Mobile_AllowBeneficial( from, m ) )
						mobiles.Add( m );
			}

			MonkFists mf = from.FindItemOnLayer( Layer.Gloves ) as MonkFists;
			int amount = 0;	

			if ( mf != null )
				amount = Utility.Dice( mf.Teir, 3, (3 * mf.Teir) );
			else
				amount = Utility.Dice( 2, 6, 0 );

			for ( int i = 0; i < mobiles.Count; i++ )
			{
				mobiles[i].FixedParticles( 0x3967, 10, 30, 5013, 36, 4, EffectLayer.CenterFeet, 0 );
				mobiles[i].Heal( amount, from );
			}

			if ( from.Female )
				from.PlaySound( 0x339 );
			else
				from.PlaySound( 0x44B );
		}
		public override void OnHit( Mobile attacker, Mobile defender, int damage )
		{
			if ( !CheckMana( attacker, true ) )
				return;

			ClearCurrentAbility( attacker );

			IMount mount = defender.Mount;

			if ( mount != null && !(defender is ChaosDragoonElite) )
			{
				defender.SendLocalizedMessage( 1062315 ); // You fall off your mount!

				defender.PlaySound( 0x140 );
				defender.FixedParticles( 0x3728, 10, 15, 9955, EffectLayer.Waist );

				mount.Rider = null;

				BaseMount.SetMountPrevention( defender, BlockMountType.Dazed, TimeSpan.FromSeconds( 10.0 ) );

				if( Core.ML && attacker is BaseCreature && ((BaseCreature)attacker).ControlMaster != null )
					BaseMount.SetMountPrevention( ((BaseCreature)attacker).ControlMaster, BlockMountType.DismountRecovery, TimeSpan.FromSeconds( 3.0 ) );
				else
					BaseMount.SetMountPrevention( attacker, BlockMountType.DismountRecovery, TimeSpan.FromSeconds( 3.0 ) );
			}
			else
			{
				//if ( WeaponAbility.ParalyzingBlow.IsImmune( defender ) )
				//{
					//attacker.SendLocalizedMessage( 1070804 ); // Your target resists paralysis.
					//defender.SendLocalizedMessage( 1070813 ); // You resist paralysis.

				//}
				//else
				//{
					defender.FixedEffect( 0x376A, 9, 32 );
					defender.PlaySound( 0x204 );
					attacker.SendLocalizedMessage( 1060163 ); // You deliver a paralyzing blow!
					defender.SendLocalizedMessage( 1060164 ); // The attack has temporarily paralyzed you!
					TimeSpan duration = defender.Player ? TimeSpan.FromSeconds( 3.0 ) : TimeSpan.FromSeconds( 6.0 );
					defender.Paralyze( duration );
					//WeaponAbility.ParalyzingBlow.BeginImmunity( defender, duration + TimeSpan.FromSeconds( 8.0 ) );
				//}
			}

			int amount = 15;

			switch( Utility.Random( 5 ) )
			{
				case 0: AOS.Damage( defender, attacker, amount, 100, 0, 0, 0, 0 ); break;
				case 1: AOS.Damage( defender, attacker, amount, 0, 100, 0, 0, 0 ); break;
				case 2: AOS.Damage( defender, attacker, amount, 0, 0, 100, 0, 0 ); break;
				case 3: AOS.Damage( defender, attacker, amount, 0, 0, 0, 100, 0 ); break;
				case 4: AOS.Damage( defender, attacker, amount, 0, 0, 0, 0, 100 ); break;
			}

		}
Example #15
0
        protected override void OnTarget(Mobile from, object targeted)
        {
            if (targeted is Item)
            {
                Item targ = (Item)targeted;

                if (!targ.IsChildOf(from.Backpack))
                {
                    //if (from.Region is HouseRegion)
                    //{
                    //    targ.Hue = m_Item.Hue;
                    //    from.PlaySound(0x23F);
                    //}
                    //else
                    //{
                    //    from.SendLocalizedMessage(1062617); //	You can only hue objects that are in your backpack.
                    //    // You don't have room for the item in your pack, so you stop working on it.
                    //    //1042001	That must be in your pack for you to use it.
                    //    //1045112	You cannot hue that item
                    //    //1062617	You can only hue objects that are in your backpack.
                    //    //1042083	You cannot dye that.
                    //}
                    BaseHouse house = BaseHouse.FindHouseAt(from);

                    if (house == null || !house.IsCoOwner(from))
                    {
                        from.SendLocalizedMessage(502092); //You must be in your house to do this.
                    }
                    else
                    {
                        if (!house.IsInside(targ))
                        {
                            from.SendLocalizedMessage(1042270);  //That is not in your house.
                        }
                        else
                        {
                            if (!(from.InRange(targ.GetWorldLocation(), 2)))
                            {
                                from.SendLocalizedMessage(500295);  //You are too far away to do that.
                            }
                            else
                            {
                                targ.Hue = m_Item.Hue;
                                from.PlaySound(0x23F);
                                //from.SendLocalizedMessage(1062617); //	You can only hue objects that are in your backpack.
                            }
                        }
                    }
                }
                else
                {
                    targ.Hue = m_Item.Hue;
                    from.PlaySound(0x23F);
                }
            }
        }
Example #16
0
		protected override void OnTarget( Mobile from, object targeted )
		{
			if ( targeted is Item )
			{
				Item targ = (Item)targeted;
				if (!targ.IsChildOf (from.Backpack))
				{
					from.SendMessage(38, "The item is not in your backpack!" );
					return;
				}
				else if ( targeted is DyeTub )
				{
					DyeTub tub = (DyeTub)targeted;
					if ( tub.Redyable == true )
					{
						tub.DyedHue =  m_Item.Hue;
						targ.Name = "Dying Tub: "+ Convert.ToString(m_Item.Hue);
						from.PlaySound( 0x23F );
						if ( Reusable == false )
						{
							tub.Redyable = false;
							m_Item.Delete();
							return;
						}
						return;
					}else
						from.SendMessage(38, "This dyetub has already been dyed!" );
				}
				else if ( targeted is UniversalDyeTub )
				{
					UniversalDyeTub utub = (UniversalDyeTub)targeted;
					if ( Reusable == false )
					{
						if ( utub.Hue == 0 )
						{
							utub.Hue = m_Item.Hue;
							targ.Name = "Universal Dying Tub: "+ Convert.ToString(m_Item.Hue);
							from.PlaySound( 0x23F );
							m_Item.Delete();
							return;
						}else from.SendMessage(38, "This Universal dyetub has already been dyed!" );
					}else if ( Reusable == true )
					{
						utub.Hue = m_Item.Hue;
						targ.Name = "Universal Dying Tub: "+ Convert.ToString(m_Item.Hue);
						from.PlaySound( 0x23F );
						return;		
					}	
				}else
					from.SendMessage(38, "This is not a dyetub!!" );				
			}else
				from.SendMessage(38, "You cannot Dye Mobiles!!" );
		}	
Example #17
0
		public override bool Use( Mobile from ) {
			if ( Faction.ClearSkillLoss( from ) ) {
				from.LocalOverheadMessage( Server.Network.MessageType.Regular, 2219, false, "The gem shatters as you invoke its power." );
				from.PlaySound( 909 );

				from.FixedEffect( 0x373A, 10, 30 );
				from.PlaySound( 0x209 );

				return true;
			}

			return false;
		}
Example #18
0
    public override void OnDoubleClick( Mobile from )
		{
            switch (Utility.Random(5))
                {
				default:
                case 0: this.PublicOverheadMessage(MessageType.Regular, 0, false, "Euh je suis timide"); break;
                case 1: from.PlaySound(0x004C); break;
                case 2: this.PublicOverheadMessage(MessageType.Regular, 0, false, "Euh desolé c'est ma fille.."); break;
                case 3: from.PlaySound(0x020B); break;
                case 4: this.PublicOverheadMessage(MessageType.Regular, 0, false, "Je sais pas je vais demander à ma femme."); break;
			}

        }
Example #19
0
        public override void OnDoubleClick( Mobile from )
        {
            if ( from.Backpack != null && IsChildOf( from.Backpack ) )
            {
                List<BaseKeyFragment> keys = from.Backpack.FindItemsByType<BaseKeyFragment>();

                if ( keys.Count < 3 )
                {
                    // You are still missing ~1_KEY~ key fragments.
                    from.SendLocalizedMessage( 1114319, ( 3 - keys.Count ).ToString() );
                }
                else
                {
                    foreach ( BaseKeyFragment key in keys )
                        key.Delete();

                    from.PlaySound( 0x506 );

                    // You swiftly join the three fragments and reassemble the Tripartite Key.
                    from.SendLocalizedMessage( 1111650 );

                    for ( int i = 0; i < 2; i++ )
                    {
                        from.PlaySound( 0xFA );
                        from.PlaySound( 0x5BC );
                        from.PlaySound( 0x5C7 );

                        Effects.SendLocationEffect( from, from.Map, 0xF6C, 30, 16, 0x47E, 4 );

                        for ( int j = 0; j < 5; j++ )
                        {
                            Point3D loc = new Point3D( from.X, from.Y, 10 + from.Z + ( j * 20 ) );

                            Effects.SendLocationEffect( loc, from.Map, 0x1AA1, 17, 16, 0x481, 4 );
                            Effects.SendLocationEffect( loc, from.Map, 0x1A9F, 10, 16, 0x481, 4 );
                            Effects.SendLocationEffect( loc, from.Map, 0x1A8, 25, 16, 0x47E, 4 );
                        }
                    }

                    // You have proven thyself worthy, and may now enter the Abyss.
                    from.LocalOverheadMessage( MessageType.Regular, 0x59, 1113708 );

                    // The key vanishes
                    from.SendLocalizedMessage( 1113709 );

                    if ( from is PlayerMobile )
                        ( (PlayerMobile) from ).SacredQuest = true;
                }
            }
        }
Example #20
0
 public void SendEBolt(Mobile to)
 {
     this.MovingParticles(to, 0x379F, 7, 0, false, true, 0xBE3, 0xFCB, 0x211);
     to.PlaySound(0x229);
     this.DoHarmful(to);
     AOS.Damage(to, this, 50, 0, 0, 0, 0, 100);
 }
Example #21
0
        public bool TryCombine(Mobile from, RuinedShipPlans plans)
        {
            if (m_Joined.Contains(plans.Type))
            {
                from.SendLocalizedMessage(1116787); //This part is already attached.
                return false;
            }

            plans.Delete();
            from.PlaySound(0x249);

            foreach (PlanType type in plans.Joined)
            {
                if(!m_Joined.Contains(type))
                    m_Joined.Add(type);
            }

            InvalidateProperties();

            if (m_Joined.Count == 8)
            {
                from.AddToBackpack(new OrcishGalleonDeed());
                from.SendLocalizedMessage(1116788); //You have completed a deed for an Orc Ship!

                this.Delete();
            }
            else
                from.Target = new InternalTarget(this);
            return true;
        }
Example #22
0
        public override bool Eat( Mobile from )
        {
            if ( !CheckCooldown( from ) )
                return false;

            // The grapes of wrath invigorate you for a short time, allowing you to deal extra damage.
            from.SendLocalizedMessage( 1074847 );

            m_InfluenceList.Add( from );
            m_CooldownTable.Add( from, DateTime.Now + Cooldown );

            Timer.DelayCall( Duration, new TimerStateCallback( delegate { m_InfluenceList.Remove( from ); } ), from );

            // Play a random "eat" sound
            from.PlaySound( Utility.Random( 0x3A, 3 ) );

            from.Animate( 6 );

            if ( Poison != null )
                from.ApplyPoison( Poisoner, Poison );

            Consume();

            return true;
        }
Example #23
0
        public override void OnDoubleClick( Mobile from )
        {
            if ( !IsChildOf( from.Backpack ) )
            {
                from.SendLocalizedMessage( 1042010 ); // You must have the object in your backpack to use it.
            }
            else if ( m_CooldownTable.ContainsKey( from ) )
            {
                Timer resetTimer = m_CooldownTable[from];
                TimeSpan left = resetTimer.Next - DateTime.Now;

                if ( left >= TimeSpan.FromMinutes( 1.0 ) )
                    from.SendLocalizedMessage( 1079265, left.Minutes.ToString() ); // You must wait ~1_minutes~ minutes before you can use this item.
                else
                    from.SendLocalizedMessage( 1079263, left.Seconds.ToString() ); // You must wait ~1_seconds~ seconds before you can use this item.
            }
            else if ( from.Mana == from.ManaMax )
            {
                from.SendLocalizedMessage( 1095127 ); // You are already at full mana!
            }
            else
            {
                from.SendLocalizedMessage( 1095128 ); // The sour draught instantly restores some of your mana!
                from.PlaySound( 0x3C );

                from.Mana += Utility.RandomMinMax( 25, 40 );

                m_CooldownTable[from] = Timer.DelayCall( Cooldown, new TimerStateCallback<Mobile>( RemoveCooldown ), from );

                Delete();
            }
        }
Example #24
0
		public override void OnHit( Mobile attacker, Mobile defender, int damage )
		{
			if( !Validate( attacker ) || !CheckMana( attacker, true ) )
				return;

			ClearCurrentAbility( attacker );

			if( Server.Items.ParalyzingBlow.IsImmune( defender ) )	//After mana consumption intentional
			{
				attacker.SendLocalizedMessage( 1070804 ); // Your target resists paralysis.
				defender.SendLocalizedMessage( 1070813 ); // You resist paralysis.
				return;
			}

			attacker.SendLocalizedMessage( 1063356 ); // You cripple your target with a nerve strike!
			defender.SendLocalizedMessage( 1063357 ); // Your attacker dealt a crippling nerve strike!

			attacker.PlaySound( 0x204 );
			defender.FixedEffect( 0x376A, 9, 32 );
			defender.FixedParticles( 0x37C4, 1, 8, 0x13AF, 0, 0, EffectLayer.Waist );

			AOS.Damage( defender, attacker, (int)(15.0 * (attacker.Skills[SkillName.Bushido].Value - 50.0) / 70.0 + 10), 100, 0, 0, 0, 0 );	//10-25

			defender.Freeze( TimeSpan.FromSeconds( 2.0 ) );
			Server.Items.ParalyzingBlow.BeginImmunity( defender, Server.Items.ParalyzingBlow.FreezeDelayDuration );
		}
Example #25
0
		public override bool TryDropItem( Mobile from, Item dropped, bool sendFullMessage )
		{
			if( (dropped is Arrow || dropped is Bolt) && base.CheckHold( from, dropped, sendFullMessage, true ) )
			{
				from.PlaySound( GetDroppedSound( dropped ) );
				UpdateTotal( dropped, TotalType.Weight, 0 );

				for( int i = 0; i < this.Items.Count; i++ )
				{
					Item item = this.Items[i];

					if( !(item is Container) && item.StackWith( from, dropped, false ) )
					{
						UpdateTotals();
						InvalidateProperties();

						return true;
					}
				}

				DropItem( dropped );

				return true;
			}

			return false;
		}
Example #26
0
		public void Throw( Mobile from )
		{
			BaseKnife knife = from.Weapon as BaseKnife;

			if ( knife == null )
			{
				from.LocalOverheadMessage( MessageType.Regular, 0x3B2, 500751 ); // Try holding a knife...
				return;
			}

			from.Animate( from.Mounted ? 26 : 9, 7, 1, true, false, 0 );
			from.MovingEffect( this, knife.ItemID, 7, 1, false, false );
			from.PlaySound( 0x238 );

			double rand = Utility.RandomDouble();

			int message;
			if ( rand < 0.05 )
				message = 500752; // BULLSEYE! 50 Points!
			else if ( rand < 0.20 )
				message = 500753; // Just missed the center! 20 points.
			else if ( rand < 0.45 )
				message = 500754; // 10 point shot.
			else if ( rand < 0.70 )
				message = 500755; // 5 pointer.
			else if ( rand < 0.85 )
				message = 500756; // 1 point.  Bad throw.
			else
				message = 500757; // Missed.

			PublicOverheadMessage( MessageType.Regular, 0x3B2, message );
		}
Example #27
0
        public override void OnDoubleClick( Mobile from )
        {
            {
                from.PlaySound( 0x8E );

            }
        }
Example #28
0
        public void Target( Mobile m )
        {
            if ( !Caster.CanSee( m ) )
            {
                Caster.SendAsciiMessage( "Target can not be seen." );
            }
            else if ( CheckBSequence( m ) )
            {
                SpellHelper.Turn( Caster, m );

                Effects.SendLocationParticles( EffectItem.Create( new Point3D( m.X, m.Y, m.Z + 16 ), Caster.Map, EffectItem.DefaultDuration ), 0x376A, 10, 15, 5045 );
                m.PlaySound( 0x203 );

                m.Hidden = true;

                RemoveTimer( m );

                TimeSpan duration = TimeSpan.FromSeconds( ((6 * Caster.Skills.Magery.Fixed) / 50) + 1 );

                Timer t = new InternalTimer( m, duration );

                m_Table[m] = t;

                t.Start();
            }

            FinishSequence();
        }
Example #29
0
		public override bool Use( Mobile from ) {
			Faction ourFaction = Faction.Find( from );

			bool used = false;

			foreach ( Mobile mob in from.GetMobilesInRange( 8 ) ) {
				if ( mob.Player && !mob.Alive && from.InLOS( mob ) ) {
					if ( Faction.Find( mob ) != ourFaction ) {
						continue;
					}

					BaseHouse house = BaseHouse.FindHouseAt( mob );

					if ( house == null || ( house.IsFriend( from ) || house.IsFriend( mob ) ) ) {
						Faction.ClearSkillLoss( mob );

						mob.SendGump( new ResurrectGump( mob, from, ResurrectMessage.Generic ) );
						used = true;
					}
				}
			}

			if ( used ) {
				from.LocalOverheadMessage( Server.Network.MessageType.Regular, 2219, false, "The urn shatters as you invoke its power." );
				from.PlaySound( 64 );

				Effects.PlaySound( from.Location, from.Map, 1481 );
			}

			return used;
		}
Example #30
0
        public bool SubmitSolution(Mobile m, UnderworldPuzzleSolution solution)
        {
            if (solution.Matches(m_Solution))
            {
                Item item = Loot.Construct(m_Rewards[Utility.Random(m_Rewards.Length)]);

                if (item != null)
                {
                    if (item is VoidEssence || item is SilverSerpentVenom || item is ToxicVenomSac)
                        item.Amount = 30;

                    if (item is LuckyCoin)
                        item.Amount = Utility.RandomMinMax(2, 6);

                    if (m.Backpack == null || !m.Backpack.TryDropItem(m, item, false))
                        m.BankBox.DropItem(item);
                }

                m.PlaySound(0x3D);
                m.SendLocalizedMessage(1113579); // Correct Code Entered. Crystal Lock Disengaged.

                Delete();
                return true;
            }

            return false;
        }