more fixes...
This commit is contained in:
parent
41f1507483
commit
b06dc2c0d0
4 changed files with 28 additions and 6 deletions
|
|
@ -8,7 +8,7 @@ namespace Server.Items
|
|||
{
|
||||
public override int LabelNumber{ get{ return 1074475; } } // Grizzled Mare Statuette
|
||||
public override BaseCreature Summon{ get { return new GrizzledMare(); } }
|
||||
|
||||
|
||||
[Constructable]
|
||||
public GrizzledMareStatuette() : base( 0x2617 )
|
||||
{
|
||||
|
|
@ -40,6 +40,7 @@ namespace Server.Mobiles
|
|||
public class GrizzledMare : SkeletalMount
|
||||
{
|
||||
public override bool DeleteOnRelease{ get{ return true; } }
|
||||
public override bool IsDispellable { get { return false; } }
|
||||
|
||||
[Constructable]
|
||||
public GrizzledMare() : base()
|
||||
|
|
|
|||
|
|
@ -180,7 +180,7 @@ namespace Server.Mobiles
|
|||
list.Add( new InternalEntry( from, 6112, 14, m_Mobile, this, OrderType.Stop ) ); // Command: Stop
|
||||
list.Add( new InternalEntry( from, 6114, 14, m_Mobile, this, OrderType.Stay ) ); // Command: Stay
|
||||
|
||||
if( !m_Mobile.Summoned )
|
||||
if( !m_Mobile.Summoned && !( m_Mobile is GrizzledMare ) )
|
||||
{
|
||||
list.Add( new InternalEntry( from, 6110, 14, m_Mobile, this, OrderType.Friend ) ); // Add Friend
|
||||
list.Add( new InternalEntry( from, 6099, 14, m_Mobile, this, OrderType.Unfriend ) ); // Remove Friend
|
||||
|
|
@ -620,7 +620,7 @@ namespace Server.Mobiles
|
|||
|
||||
if( WasNamed( speech ) && m_Mobile.CheckControlChance( e.Mobile ) )
|
||||
{
|
||||
if( m_Mobile.Summoned )
|
||||
if( m_Mobile.Summoned || ( m_Mobile is GrizzledMare ) )
|
||||
e.Mobile.SendLocalizedMessage( 1005481 ); // Summoned creatures are loyal only to their summoners.
|
||||
else if( e.Mobile.HasTrade )
|
||||
e.Mobile.SendLocalizedMessage( 1070947 ); // You cannot friend a pet with a trade pending
|
||||
|
|
@ -714,7 +714,7 @@ namespace Server.Mobiles
|
|||
|
||||
if( !m_Mobile.IsDeadPet && WasNamed( speech ) && m_Mobile.CheckControlChance( e.Mobile ) )
|
||||
{
|
||||
if( m_Mobile.Summoned )
|
||||
if( m_Mobile.Summoned || ( m_Mobile is GrizzledMare ) )
|
||||
e.Mobile.SendLocalizedMessage( 1005487 ); // You cannot transfer ownership of a summoned creature.
|
||||
else if( e.Mobile.HasTrade )
|
||||
e.Mobile.SendLocalizedMessage( 1010507 ); // You cannot transfer a pet with a trade pending
|
||||
|
|
|
|||
|
|
@ -419,7 +419,7 @@ namespace Server.Mobiles
|
|||
|
||||
private bool ValidMobile( Mobile m )
|
||||
{
|
||||
return ( !m.Deleted && m.Alive );
|
||||
return ( !m.Deleted && m.Alive && m.AccessLevel == AccessLevel.Player );
|
||||
}
|
||||
|
||||
private bool IsUsingDurability( IDurability item )
|
||||
|
|
|
|||
|
|
@ -117,6 +117,14 @@ namespace Server.SkillHandlers
|
|||
from.NextSkillTime = DateTime.Now;
|
||||
}
|
||||
|
||||
public virtual void ResetPacify( object obj )
|
||||
{
|
||||
if( obj is BaseCreature )
|
||||
{
|
||||
((BaseCreature)obj).BardPacified = true;
|
||||
}
|
||||
}
|
||||
|
||||
protected override void OnTarget( Mobile from, object targeted )
|
||||
{
|
||||
from.RevealingAction();
|
||||
|
|
@ -183,6 +191,20 @@ namespace Server.SkillHandlers
|
|||
creature.PrivateOverheadMessage( MessageType.Regular, 0x3B2, 502805, from.NetState ); // You seem to anger the beast!
|
||||
creature.PlaySound( creature.GetAngerSound() );
|
||||
creature.Direction = creature.GetDirectionTo( from );
|
||||
|
||||
if( creature.BardPacified && Utility.RandomDouble() > .24)
|
||||
{
|
||||
Timer.DelayCall( TimeSpan.FromSeconds( 2.0 ), new TimerStateCallback( ResetPacify ), creature );
|
||||
}
|
||||
else
|
||||
{
|
||||
creature.BardEndTime = DateTime.Now;
|
||||
}
|
||||
|
||||
creature.BardPacified = false;
|
||||
|
||||
creature.Move( creature.Direction );
|
||||
|
||||
if ( from is PlayerMobile && !(( (PlayerMobile)from ).HonorActive || TransformationSpellHelper.UnderTransformation( from, typeof( EtherealVoyageSpell ))))
|
||||
creature.Combatant = from;
|
||||
}
|
||||
|
|
@ -381,7 +403,6 @@ namespace Server.SkillHandlers
|
|||
return true;
|
||||
|
||||
MovementPath path = new MovementPath( m_Creature, new Point3D( p ) );
|
||||
|
||||
return path.Success;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue