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 int LabelNumber{ get{ return 1074475; } } // Grizzled Mare Statuette
|
||||||
public override BaseCreature Summon{ get { return new GrizzledMare(); } }
|
public override BaseCreature Summon{ get { return new GrizzledMare(); } }
|
||||||
|
|
||||||
[Constructable]
|
[Constructable]
|
||||||
public GrizzledMareStatuette() : base( 0x2617 )
|
public GrizzledMareStatuette() : base( 0x2617 )
|
||||||
{
|
{
|
||||||
|
|
@ -40,6 +40,7 @@ namespace Server.Mobiles
|
||||||
public class GrizzledMare : SkeletalMount
|
public class GrizzledMare : SkeletalMount
|
||||||
{
|
{
|
||||||
public override bool DeleteOnRelease{ get{ return true; } }
|
public override bool DeleteOnRelease{ get{ return true; } }
|
||||||
|
public override bool IsDispellable { get { return false; } }
|
||||||
|
|
||||||
[Constructable]
|
[Constructable]
|
||||||
public GrizzledMare() : base()
|
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, 6112, 14, m_Mobile, this, OrderType.Stop ) ); // Command: Stop
|
||||||
list.Add( new InternalEntry( from, 6114, 14, m_Mobile, this, OrderType.Stay ) ); // Command: Stay
|
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, 6110, 14, m_Mobile, this, OrderType.Friend ) ); // Add Friend
|
||||||
list.Add( new InternalEntry( from, 6099, 14, m_Mobile, this, OrderType.Unfriend ) ); // Remove 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( 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.
|
e.Mobile.SendLocalizedMessage( 1005481 ); // Summoned creatures are loyal only to their summoners.
|
||||||
else if( e.Mobile.HasTrade )
|
else if( e.Mobile.HasTrade )
|
||||||
e.Mobile.SendLocalizedMessage( 1070947 ); // You cannot friend a pet with a trade pending
|
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.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.
|
e.Mobile.SendLocalizedMessage( 1005487 ); // You cannot transfer ownership of a summoned creature.
|
||||||
else if( e.Mobile.HasTrade )
|
else if( e.Mobile.HasTrade )
|
||||||
e.Mobile.SendLocalizedMessage( 1010507 ); // You cannot transfer a pet with a trade pending
|
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 )
|
private bool ValidMobile( Mobile m )
|
||||||
{
|
{
|
||||||
return ( !m.Deleted && m.Alive );
|
return ( !m.Deleted && m.Alive && m.AccessLevel == AccessLevel.Player );
|
||||||
}
|
}
|
||||||
|
|
||||||
private bool IsUsingDurability( IDurability item )
|
private bool IsUsingDurability( IDurability item )
|
||||||
|
|
|
||||||
|
|
@ -117,6 +117,14 @@ namespace Server.SkillHandlers
|
||||||
from.NextSkillTime = DateTime.Now;
|
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 )
|
protected override void OnTarget( Mobile from, object targeted )
|
||||||
{
|
{
|
||||||
from.RevealingAction();
|
from.RevealingAction();
|
||||||
|
|
@ -183,6 +191,20 @@ namespace Server.SkillHandlers
|
||||||
creature.PrivateOverheadMessage( MessageType.Regular, 0x3B2, 502805, from.NetState ); // You seem to anger the beast!
|
creature.PrivateOverheadMessage( MessageType.Regular, 0x3B2, 502805, from.NetState ); // You seem to anger the beast!
|
||||||
creature.PlaySound( creature.GetAngerSound() );
|
creature.PlaySound( creature.GetAngerSound() );
|
||||||
creature.Direction = creature.GetDirectionTo( from );
|
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 ))))
|
if ( from is PlayerMobile && !(( (PlayerMobile)from ).HonorActive || TransformationSpellHelper.UnderTransformation( from, typeof( EtherealVoyageSpell ))))
|
||||||
creature.Combatant = from;
|
creature.Combatant = from;
|
||||||
}
|
}
|
||||||
|
|
@ -381,7 +403,6 @@ namespace Server.SkillHandlers
|
||||||
return true;
|
return true;
|
||||||
|
|
||||||
MovementPath path = new MovementPath( m_Creature, new Point3D( p ) );
|
MovementPath path = new MovementPath( m_Creature, new Point3D( p ) );
|
||||||
|
|
||||||
return path.Success;
|
return path.Success;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue