RunUO/Scripts/Mobiles/Animals/Mounts/FireSteed.cs

93 lines
No EOL
2.2 KiB
C#

using System;
using Server.Items;
using Server.Mobiles;
namespace Server.Mobiles
{
[CorpseName( "a fire steed corpse" )]
public class FireSteed : BaseMount
{
[Constructable]
public FireSteed() : this( "a fire steed" )
{
}
[Constructable]
public FireSteed( string name ) : base( name, 0xBE, 0x3E9E, AIType.AI_Melee, FightMode.Closest, 10, 1, 0.2, 0.4 )
{
BaseSoundID = 0xA8;
SetStr( 376, 400 );
SetDex( 91, 120 );
SetInt( 291, 300 );
SetHits( 226, 240 );
SetDamage( 11, 30 );
SetDamageType( ResistanceType.Physical, 20 );
SetDamageType( ResistanceType.Fire, 80 );
SetResistance( ResistanceType.Physical, 30, 40 );
SetResistance( ResistanceType.Fire, 70, 80 );
SetResistance( ResistanceType.Cold, 20, 30 );
SetResistance( ResistanceType.Poison, 30, 40 );
SetResistance( ResistanceType.Energy, 30, 40 );
SetSkill( SkillName.MagicResist, 100.0, 120.0 );
SetSkill( SkillName.Tactics, 100.0 );
SetSkill( SkillName.Wrestling, 100.0 );
Fame = 20000;
Karma = -20000;
Tamable = true;
ControlSlots = 2;
MinTameSkill = 106.0;
}
public override void GenerateLoot()
{
PackItem( new SulfurousAsh( Utility.RandomMinMax( 151, 300 ) ) );
PackItem( new Ruby( Utility.RandomMinMax( 16, 30 ) ) );
}
public override bool HasBreath{ get{ return true; } } // fire breath enabled
public override FoodType FavoriteFood{ get{ return FoodType.Meat; } }
public override PackInstinct PackInstinct{ get{ return PackInstinct.Daemon | PackInstinct.Equine; } }
public FireSteed( Serial serial ) : base( serial )
{
}
public override void Serialize( GenericWriter writer )
{
base.Serialize( writer );
writer.Write( (int) 1 ); // version
}
public override void Deserialize( GenericReader reader )
{
base.Deserialize( reader );
int version = reader.ReadInt();
if ( BaseSoundID <= 0 )
BaseSoundID = 0xA8;
if( version < 1 )
{
for ( int i = 0; i < Skills.Length; ++i )
{
Skills[i].Cap = Math.Max( 100.0, Skills[i].Cap * 0.9 );
if ( Skills[i].Base > Skills[i].Cap )
{
Skills[i].Base = Skills[i].Cap;
}
}
}
}
}
}