示例#1
0
		private static void EventSink_StunRequest( StunRequestEventArgs e )
		{
			Mobile m = e.Mobile;

			double anatValue = m.Skills[SkillName.Anatomy].Value;
			double wresValue = m.Skills[SkillName.Wrestling].Value;

			if ( !HasFreeHands( m ) )
			{
				m.SendLocalizedMessage( 1004031 ); // You must have your hands free to attempt to stun your opponent.
				m.StunReady = false;
			}
			else if ( anatValue >= 80.0 && wresValue >= 80.0 )
			{
				m.DisruptiveAction();
				m.StunReady = !m.StunReady;
				m.SendLocalizedMessage( m.StunReady ? 1019011 : 1019012 );
			}
			else
			{
				m.SendLocalizedMessage( 1004008 ); // You are not skilled enough to stun your opponent.
				m.StunReady = false;
			}
		}
示例#2
0
		private static void EventSink_StunRequest( StunRequestEventArgs e )
		{
			if ( Core.AOS )
				return;

			Mobile m = e.Mobile;

			#region Dueling
			if ( !Engines.ConPVP.DuelContext.AllowSpecialAbility( m, "Stun", true ) )
				return;
			#endregion

			double anatValue = m.Skills[SkillName.Anatomy].Value;
			double wresValue = m.Skills[SkillName.Wrestling].Value;

			if ( !HasFreeHands( m ) )
			{
				m.SendLocalizedMessage( 1004031 ); // You must have your hands free to attempt to stun your opponent.
				m.StunReady = false;
			}
			else if ( anatValue >= 80.0 && wresValue >= 80.0 )
			{
				m.DisruptiveAction();
				m.StunReady = !m.StunReady;
				m.SendLocalizedMessage( m.StunReady ? 1019011 : 1019012 );
			}
			else
			{
				m.SendLocalizedMessage( 1004008 ); // You are not skilled enough to stun your opponent.
				m.StunReady = false;
			}
		}
示例#3
0
		private static void EventSink_StunRequest( StunRequestEventArgs e )
		{
			Mobile m = e.Mobile;

			if ( !Engines.ConPVP.DuelContext.AllowSpecialAbility( m, "Stun", true ) )
				return;

		    if (m.IsT2A)
		        return;

			double anatValue = m.Skills[SkillName.Anatomy].Value;
			double wresValue = m.Skills[SkillName.Wrestling].Value;

			if ( !HasFreeHands( m ) )
			{
				m.SendLocalizedMessage( 1004031 ); // You must have your hands free to attempt to stun your opponent.
				m.StunReady = false;
			}
			else if ( m.Followers >= 4 )
			{
				m.SendMessage( "You have too many followers and cannot concentration on stunning your target." );
				m.StunReady = false;
			}
			else if ( anatValue >= 80.0 && wresValue >= 80.0 )
			{
				m.DisruptiveAction();
				m.StunReady = !m.StunReady;
				m.SendLocalizedMessage( m.StunReady ? 1019011 : 1019012 );
			}
			else
			{
				m.SendLocalizedMessage( 1004008 ); // You are not skilled enough to stun your opponent.
				m.StunReady = false;
			}
		}
示例#4
0
 public void InvokeStunRequest( StunRequestEventArgs e )
 {
     if ( StunRequest != null )
         StunRequest( e );
 }
示例#5
0
		private static void EventSink_StunRequest( StunRequestEventArgs e )
		{
			Mobile m = e.Mobile;

			double anatValue = m.Skills[SkillName.Anatomy].Value;
			double wresValue = m.Skills[SkillName.Wrestling].Value;

            bool cannotStun = (m.Region is CustomRegion && ((CustomRegion)m.Region).CannotStun);

            if ( cannotStun )
            {
                m.SendMessage("You cannot use stun here.");
                m.StunReady = false;
            }
			else if ( !HasFreeHands( m ) )
			{
				m.SendLocalizedMessage( 1004031 ); // You must have your hands free to attempt to stun your opponent.
				m.StunReady = false;
			}
			else if ( m.Followers >= 4 )
			{
				m.SendMessage( "You have too many followers, breaking your concentration required to stun your target." );
				m.StunReady = false;
			}
			else if ( anatValue >= 80.0 && wresValue >= 80.0 )
			{
				m.DisruptiveAction();
				m.StunReady = !m.StunReady;
				m.SendLocalizedMessage( m.StunReady ? 1019011 : 1019012 );
			}
			else
			{
				m.SendLocalizedMessage( 1004008 ); // You are not skilled enough to stun your opponent.
				m.StunReady = false;
			}
		}