예제 #1
0
        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();
        }
예제 #2
0
        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();
        }