public WarHorse(string name) : base(name, 0xE2, 0x3EA0, AIType.AI_Melee, FightMode.Aggressor, 10, 1, 0.2, 0.4) { BaseSoundID = 0xA8; SetStr( 120 ); SetDex( 60 ); SetInt( 25 ); SetHits( 150 ); SetDamage( 2, 3 ); SetDamageType( ResistanceType.Blunt, 100 ); SetResistance( ResistanceType.Blunt, 20, 25 ); SetResistance( ResistanceType.Slashing, 20, 25 ); SetResistance( ResistanceType.Piercing, 20, 25 ); SetResistance( ResistanceType.Poison, 25 ); SetResistance( ResistanceType.Energy, 65, 75 ); SetSkill( SkillName.Tactics, 67.6, 69.3 ); SetSkill( SkillName.UnarmedFighting, 75.5, 82.5 ); HueGroup = Utility.Random(3); Fame = 1400; Karma = -1400; VirtualArmor = 20; Tamable = true; ControlSlots = 2; MinTameSkill = 89.1; m_WarTimer = new WarHorseAttackTimer(this); m_WarTimer.Start(); }
public override void Deserialize( GenericReader reader ) { base.Deserialize( reader ); int version = reader.ReadInt(); if( version < 2 ) { RawStr = 120; RawDex = 60; RawInt = 25; RawHits = 150; RawStam = 150; RawMana = 20; SetDamage( 2, 3 ); SetResistance( ResistanceType.Poison, 25 ); SetResistance( ResistanceType.Energy, 65, 75 ); if( this.BodyValue == 284 ) { SetResistance( ResistanceType.Blunt, 30, 35 ); SetResistance( ResistanceType.Slashing, 30, 35 ); SetResistance( ResistanceType.Piercing, 30, 35 ); VirtualArmor = 35; } else { SetResistance( ResistanceType.Blunt, 20, 25 ); SetResistance( ResistanceType.Slashing, 20, 25 ); SetResistance( ResistanceType.Piercing, 20, 25 ); VirtualArmor = 25; } int level = 1; while( level < this.Level ) { this.RawStr += this.StatScale; this.RawDex += this.StatScale; this.RawInt += this.StatScale; this.RawHits += this.StatScale; this.RawStam += this.StatScale; this.RawMana += this.StatScale; if( level % 2 != 0 ) this.DamageMin++; else this.DamageMax++; level++; } } if( version < 3 ) ControlSlots = 2; m_WarTimer = new WarHorseAttackTimer(this); m_WarTimer.Start(); }