gargoyle race/body impl from servuo with some modification

This commit is contained in:
Mark Sturgill 2013-11-02 15:37:39 -07:00
parent 1d285f79fa
commit f566daea30
6 changed files with 369 additions and 33 deletions

View file

@ -106,10 +106,23 @@ namespace Server
&& m_BodyID != 403
&& m_BodyID != 607
&& m_BodyID != 608
&& m_BodyID != 694
&& m_BodyID != 695
&& m_BodyID != 970;
}
}
public bool IsGargoyle
{
get
{
return m_BodyID == 666
|| m_BodyID == 667
|| m_BodyID == 694
|| m_BodyID == 695;
}
}
public bool IsMale
{
get
@ -120,6 +133,8 @@ namespace Server
|| m_BodyID == 402
|| m_BodyID == 605
|| m_BodyID == 607
|| m_BodyID == 666
|| m_BodyID == 694
|| m_BodyID == 750;
}
}
@ -134,6 +149,8 @@ namespace Server
|| m_BodyID == 403
|| m_BodyID == 606
|| m_BodyID == 608
|| m_BodyID == 667
|| m_BodyID == 695
|| m_BodyID == 751;
}
}
@ -146,6 +163,8 @@ namespace Server
|| m_BodyID == 403
|| m_BodyID == 607
|| m_BodyID == 608
|| m_BodyID == 694
|| m_BodyID == 695
|| m_BodyID == 970;
}
}

View file

@ -6231,10 +6231,62 @@ namespace Server
//state.Send( pNew );
//} else {
if( p == null )
p = Packet.Acquire( new MobileAnimation( this, action, frameCount, repeatCount, forward, repeat, delay ) );
if (p == null)
{
#region SA
if (Body.IsGargoyle)
{
frameCount = 10;
state.Send( p );
if (Flying)
{
if (action >= 9 && action <= 11)
{
action = 71;
}
else if (action >= 12 && action <= 14)
{
action = 72;
}
else if (action == 20)
{
action = 77;
}
else if (action == 31)
{
action = 71;
}
else if (action == 34)
{
action = 78;
}
else if (action >= 200 && action <= 259)
{
action = 75;
}
else if (action >= 260 && action <= 270)
{
action = 75;
}
}
else
{
if (action >= 200 && action <= 259)
{
action = 17;
}
else if (action >= 260 && action <= 270)
{
action = 16;
}
}
}
#endregion
p = Packet.Acquire(new MobileAnimation(this, action, frameCount, repeatCount, forward, repeat, delay));
}
state.Send( p );
//}
}
}
@ -7848,6 +7900,10 @@ namespace Server
}
}
public virtual void ToggleFlying()
{
}
[CommandProperty( AccessLevel.GameMaster )]
public bool Warmode
{

View file

@ -170,6 +170,7 @@ namespace Server.Network
RegisterExtended( 0x1C, true, new OnPacketReceive( CastSpell ) );
RegisterExtended( 0x24, false, new OnPacketReceive( UnhandledBF ) );
RegisterExtended( 0x2C, true, new OnPacketReceive( BandageTarget ) );
RegisterExtended( 0x32, true, new OnPacketReceive( ToggleFlying ) );
RegisterEncoded( 0x19, true, new OnEncodedPacketReceive( SetAbility ) );
RegisterEncoded( 0x28, true, new OnEncodedPacketReceive( GuildGumpRequest ) );
@ -1650,6 +1651,10 @@ namespace Server.Network
}
}
public static void ToggleFlying(NetState state, PacketReader pvSrc)
{
state.Mobile.ToggleFlying();
}
public static void BatchQueryProperties( NetState state, PacketReader pvSrc )
{
if ( !ObjectPropertyList.Enabled )

View file

@ -36,6 +36,7 @@ namespace Server
public static Race Human { get { return m_Races[0]; } }
public static Race Elf { get { return m_Races[1]; } }
public static Race Gargoyle { get { return m_Races[2]; } }
private static List<Race> m_AllRaces = new List<Race>();