Ejemplo n.º 1
0
        public virtual void EquipSpecialty()
        {
            if (AbilityProfile != null && AbilityProfile.HasAbility(SpecialAbility.Heal))
            {
                PackItem(new Bandage(Utility.RandomMinMax(10, 25)));
            }

            SetWearable(new ThighBoots());
            SetWearable(new BodySash(), Utility.RandomSlimeHue());

            switch (_Specialty)
            {
            case SkillName.Chivalry:
                SetWearable(RandomSwordWeapon());
                PaladinEquip();
                break;

            case SkillName.Swords:
                SetWearable(RandomSwordWeapon());
                StandardMeleeEquip();
                break;

            case SkillName.Fencing:
                SetWearable(RandomFencingWeapon());
                StandardMeleeEquip();
                break;

            case SkillName.Macing:
                SetWearable(RandomMaceWeapon());
                StandardMeleeEquip();
                break;

            case SkillName.Archery:
                SetWearable(RandomArhceryWeapon());
                StandardMeleeEquip();
                break;

            case SkillName.Magery:
                SetWearable(RandomMageWeapon());
                StandardMageEquip();
                break;

            case SkillName.Mysticism:
                SetWearable(RandomMageWeapon());
                StandardMageEquip();
                break;

            case SkillName.Spellweaving:
                SetWearable(RandomMageWeapon());
                StandardMageEquip();
                break;

            case SkillName.Necromancy:
                SetWearable(RandomMageWeapon());
                StandardMageEquip();
                break;

            case SkillName.Bushido:
                BaseWeapon w = RandomSamuraiWeapon() as BaseWeapon;
                SetWearable(w);

                SetWearable(new LeatherSuneate());
                SetWearable(new LeatherJingasa());
                SetWearable(new LeatherDo());
                SetWearable(new LeatherHiroSode());
                SetWearable(new SamuraiTabi(Utility.RandomNondyedHue()));

                if (_Sampire)
                {
                    w.WeaponAttributes.HitLeechHits = 100;
                }

                SetSkill(SkillName.Parry, 120);
                break;

            case SkillName.Ninjitsu:
                SetWearable(RandomNinjaWeapon());

                LeatherNinjaBelt belt = new LeatherNinjaBelt();
                belt.UsesRemaining = 20;
                belt.Poison        = Poison.Greater;
                belt.PoisonCharges = 20;
                SetWearable(belt);

                for (int i = 0; i < 2; i++)
                {
                    Fukiya f = new Fukiya();
                    f.UsesRemaining = 10;
                    f.Poison        = Poison.Greater;
                    f.PoisonCharges = 10;
                    f.Movable       = false;
                    PackItem(f);
                }

                SetWearable(new NinjaTabi());
                SetWearable(new LeatherNinjaJacket());
                SetWearable(new LeatherNinjaHood());
                SetWearable(new LeatherNinjaPants());
                SetWearable(new LeatherNinjaMitts());

                break;

            case SkillName.Poisoning:
                BaseWeapon wep = RandomAssassinWeapon() as BaseWeapon;
                wep.Poison        = Poison.Lethal;
                wep.PoisonCharges = 100;
                SetWearable(wep);

                SetWearable(new LeatherChest());
                SetWearable(new LeatherLegs());
                SetWearable(new LeatherGloves());
                SetWearable(new LeatherGorget());
                break;
            }
        }
Ejemplo n.º 2
0
        public xhorse(string name) : base(name, 0xBE, 0x3E9E, AIType.AI_NecroMage, FightMode.Weakest, 10, 1, 0.2, 0.4)
        {
            #region Hue
            if (Utility.RandomDouble() < 0.1)
            {
                Hue = Utility.RandomList(1461, 1365, 1266, 1257, 1173, 1166, 1168, 1151, 1150);
            }
            else
            {
                Hue = Utility.Random(1002, 57);
            }
            //Hue = Utility.RandomList(0x97A, 0x978, 0x901, 0x8AC, 0x5A7, 0x527);
            #endregion

            InitStats(Utility.Random(385, 25), Utility.Random(360, 50), Utility.Random(370, 50));
            SetHits(980, 1334);
            SetDamage(25, 35);
            SetResistance(ResistanceType.Physical, 70, 90);
            SetResistance(ResistanceType.Fire, 70, 90);
            SetResistance(ResistanceType.Cold, 70, 90);
            SetResistance(ResistanceType.Poison, 70, 90);
            SetResistance(ResistanceType.Energy, 70, 90);


            SetSkill(SkillName.Archery, 100);
            SetSkill(SkillName.MagicResist, 90.5, 105.5);
            SetSkill(SkillName.Tactics, 80.0);
            SetSkill(SkillName.Anatomy, 120);
            SetSkill(SkillName.Healing, 120.0);
            SetSkill(SkillName.EvalInt, 100);
            SetSkill(SkillName.MagicResist, 85);
            SetSkill(SkillName.Magery, 100);
            SetSkill(SkillName.Poisoning, 100);
            SetSkill(SkillName.Bushido, 100);
            SetSkill(SkillName.Mysticism, 100);
            SetSkill(SkillName.Ninjitsu, 100);
            SetSkill(SkillName.Necromancy, 100);
            SetSkill(SkillName.Spellweaving, 100);
            SetSkill(SkillName.Hiding, 100);
            SetSkill(SkillName.Stealth, 100);
            SetSkill(SkillName.ArmsLore, 100);
            SetSkill(SkillName.Wrestling, 50);
            SetSkill(SkillName.Chivalry, 90);

            //Body = 1290;

            Tamable      = true;
            ControlSlots = 2;
            MinTameSkill = 60.1;
            //LeatherSkirt ls = new LeatherSkirt();
            //ls.Movable = false;
            //ls.Attributes.AttackChance = 40;
            //AddItem(ls);

            Container pack = Backpack;
            if (pack != null)
            {
                pack.Delete();
            }
            pack         = new xBackpack();
            pack.Movable = false;
            AddItem(pack);
            int amount = Skills[SkillName.Ninjitsu].Value >= 100 ? 2 : 1;
            for (int i = 0; i < amount; i++)
            {
                Fukiya f = new Fukiya();
                f.UsesRemaining = 10;
                f.Poison        = amount == 1 ? Poison.Regular : Poison.Greater;
                f.PoisonCharges = 10;
                f.Movable       = true;
                PackItem(f);
            }
            if (Utility.RandomDouble() < 0.2)
            {
                PackItem(new TreasureMap(6, Map.Trammel));
            }
        }
Ejemplo n.º 3
0
        public EliteNinja() : base(AIType.AI_Ninja, FightMode.Closest, 10, 1, 0.2, 0.4)
        {
            SpeechHue = Utility.RandomDyedHue();
            Hue       = Utility.RandomSkinHue();
            Name      = "an elite ninja";

            Body = (Female = Utility.RandomBool()) ? 0x191 : 0x190;

            SetHits(251, 350);

            SetStr(126, 225);
            SetDex(81, 95);
            SetInt(151, 165);

            SetDamage(12, 20);

            SetDamageType(ResistanceType.Physical, 65);
            SetDamageType(ResistanceType.Fire, 15);
            SetDamageType(ResistanceType.Poison, 15);
            SetDamageType(ResistanceType.Energy, 5);

            SetResistance(ResistanceType.Physical, 35, 65);
            SetResistance(ResistanceType.Fire, 40, 60);
            SetResistance(ResistanceType.Cold, 25, 45);
            SetResistance(ResistanceType.Poison, 40, 60);
            SetResistance(ResistanceType.Energy, 35, 55);

            SetSkill(SkillName.Anatomy, 105.0, 120.0);
            SetSkill(SkillName.MagicResist, 80.0, 100.0);
            SetSkill(SkillName.Tactics, 115.0, 130.0);
            SetSkill(SkillName.Wrestling, 95.0, 120.0);
            SetSkill(SkillName.Fencing, 95.0, 120.0);
            SetSkill(SkillName.Macing, 95.0, 120.0);
            SetSkill(SkillName.Swords, 95.0, 120.0);

            SetSkill(SkillName.Ninjitsu, 95.0, 120.0);
            SetSkill(SkillName.Hiding, 100.0);
            SetSkill(SkillName.Stealth, 120.0);

            Fame  = 8500;
            Karma = -8500;

            LeatherNinjaBelt belt = new LeatherNinjaBelt
            {
                UsesRemaining = 20,
                Poison        = Poison.Greater,
                PoisonCharges = 20,
                Movable       = false
            };

            AddItem(belt);

            int amount = Skills[SkillName.Ninjitsu].Value >= 100 ? 2 : 1;

            for (int i = 0; i < amount; i++)
            {
                Fukiya f = new Fukiya
                {
                    UsesRemaining = 10,
                    Poison        = amount == 1 ? Poison.Regular : Poison.Greater,
                    PoisonCharges = 10,
                    Movable       = false
                };
                PackItem(f);
            }

            AddItem(new NinjaTabi());
            AddItem(new LeatherNinjaJacket());
            AddItem(new LeatherNinjaHood());
            AddItem(new LeatherNinjaPants());
            AddItem(new LeatherNinjaMitts());

            if (Utility.RandomDouble() < 0.33)
            {
                PackItem(new SmokeBomb());
            }

            if (Utility.RandomBool())
            {
                PackItem(new Tessen());
            }
            else
            {
                PackItem(new Wakizashi());
            }

            if (Utility.RandomBool())
            {
                PackItem(new Nunchaku());
            }
            else
            {
                PackItem(new Daisho());
            }

            if (Utility.RandomBool())
            {
                PackItem(new Sai());
            }
            else
            {
                PackItem(new Tekagi());
            }

            if (Utility.RandomBool())
            {
                PackItem(new Kama());
            }
            else
            {
                PackItem(new Katana());
            }

            Utility.AssignRandomHair(this);
            ChangeWeapon();
        }