Ejemplo n.º 1
0
        /// <summary>
        /// Initialize the <see cref="Package"/> by reading from the given filename.
        /// </summary>
        /// <param name="state">The <see cref="State"/> this <see cref="Package"/> is to exist within.</param>
        /// <param name="fileName">The name of the file to open that contains the <see cref="Package"/>.</param>
        /// <param name="reader">The <see cref="BinaryReader"/> to read from.</param>
        public Package(State state, string fileName, BinaryReader reader)
        {
            if (state == null)
                throw new ArgumentNullException("state");
            if (reader == null)
                throw new ArgumentNullException("reader");

            if (reader.ReadInt32() != Magic)
                throw new Exception("Unreal package magic test failed.");
            Reader = reader;

            FileName = fileName;
            Export = new Unreal.Export(this, -1);
            Export.Name = Path.GetFileNameWithoutExtension(fileName);
            Export.LoadedObject = this;

            StateValue = state;
            FileVersion = reader.ReadUInt16();
            LicenseMode = reader.ReadUInt16();
            Flags = (PackageFlag)reader.ReadUInt32();
            var nameCount = reader.ReadInt32();
            var nameOffset = reader.ReadUInt32();
            var exportCount = reader.ReadInt32();
            var exportOffset = reader.ReadUInt32();
            var importCount = reader.ReadInt32();
            var importOffset = reader.ReadUInt32();
            if (FileVersion >= 68)
                Guid = new Guid(reader.ReadBytes(16));

            Imports = new ImportList(importCount);
            for (var index = 0; index < importCount; index++)
                Imports.Add(new Import(this, index));

            Exports = new ExportList(exportCount);
            for (var index = 0; index < exportCount; index++)
                Exports.Add(new Export(this, index));

            Names = new NameList(nameCount);
            reader.BaseStream.Position = nameOffset;
            for (var index = 0; index < nameCount; index++)
                Names.Add(new Name(this, reader));

            reader.BaseStream.Position = exportOffset;
            for (var index = 0; index < exportCount; index++)
                Exports[index].Load(reader);

            reader.BaseStream.Position = importOffset;
            for (var index = 0; index < importCount; index++)
                Imports[index].Load(reader);

            FilteredExports = new ExportList(exportCount);
            foreach (var export in Exports) {
                /*if(export.ObjectClassReference != null && export.ObjectClassReference.Name.EndsWith("Property")) {
                    if(((((Alexandria.Engines.Unreal.Core.Property)export.Object).PropertyFlags) & Alexandria.Engines.Unreal.Core.PropertyFlag.Test) != 0)
                        FilteredExports.Add(export);
                }*/
                if (export.ObjectClassReference == null || !export.ObjectClassReference.Name.EndsWith("Property"))
                    FilteredExports.Add(export);
            }

            Game = DetermineGame(FileVersion, LicenseMode, IsEncrypted);
        }
Ejemplo n.º 2
0
        public override void OnResponse(NetState sender, RelayInfo info)
        {
            if (info.ButtonID == 0)
            {
                if (m_Used)
                {
                    m_From.SendLocalizedMessage(501706);                       // Disguises wear off after 2 hours.
                }
                else
                {
                    m_From.SendLocalizedMessage(501707);                       // You're looking good.
                }
                return;
            }

            int[] switches = info.Switches;

            if (switches.Length == 0)
            {
                return;
            }

            int switched = switches[0];
            int type     = switched % 2;
            int index    = switched / 2;

            bool hair = (type == 0);

            DisguiseEntry[] entries = (hair ? m_HairEntries : m_BeardEntries);

            if (index >= 0 && index < entries.Length)
            {
                DisguiseEntry entry = entries[index];

                if (entry == null)
                {
                    return;
                }

                if (!m_Kit.ValidateUse(m_From))
                {
                    return;
                }

                if (!hair && (m_From.Female || m_From.Body.IsFemale))
                {
                    return;
                }
                string originalName = m_From.Name;
                m_From.NameMod = NameList.RandomName(m_From.Female ? "female" : "male");
                LoggingCustom.LogDisguise(DateTime.Now + "\t" + originalName + "\t" + m_From.NameMod);
                if (m_From is PlayerMobile)
                {
                    PlayerMobile pm = (PlayerMobile)m_From;

                    if (hair)
                    {
                        pm.SetHairMods(entry.m_ItemID, -2);
                    }
                    else
                    {
                        pm.SetHairMods(-2, entry.m_ItemID);
                    }
                }

                m_From.SendGump(new DisguiseGump(m_From, m_Kit, hair, true));

                DisguiseTimers.RemoveTimer(m_From);

                DisguiseTimers.CreateTimer(m_From, TimeSpan.FromHours(2.0));
                DisguiseTimers.StartTimer(m_From);
            }
        }
Ejemplo n.º 3
0
        public Ent() : base(AIType.AI_Mage, FightMode.Aggressor, 10, 1, 0.2, 0.4)
        {
            Name        = NameList.RandomName("trees");
            Title       = "the ent";
            Body        = 309;
            BaseSoundID = 442;

            SetStr(536, 585);
            SetDex(126, 145);
            SetInt(281, 305);

            SetHits(322, 351);

            SetDamage(13, 16);

            SetDamageType(ResistanceType.Physical, 100);

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

            SetSkill(SkillName.EvalInt, 85.1, 100.0);
            SetSkill(SkillName.Magery, 85.1, 100.0);
            SetSkill(SkillName.MagicResist, 80.2, 110.0);
            SetSkill(SkillName.Tactics, 60.1, 80.0);
            SetSkill(SkillName.Wrestling, 40.1, 50.0);

            Fame  = 11500;
            Karma = -11500;

            VirtualArmor = 40;

            switch (Utility.Random(11))
            {
            case 0: PackItem(new Log(Utility.RandomMinMax(10, 20)));                  break;

            case 1: PackItem(new AshLog(Utility.RandomMinMax(10, 20)));               break;

            case 2: PackItem(new CherryLog(Utility.RandomMinMax(10, 20)));    break;

            case 3: PackItem(new EbonyLog(Utility.RandomMinMax(10, 20)));     break;

            case 4: PackItem(new GoldenOakLog(Utility.RandomMinMax(10, 20))); break;

            case 5: PackItem(new HickoryLog(Utility.RandomMinMax(10, 20)));   break;

            case 6: PackItem(new MahoganyLog(Utility.RandomMinMax(10, 20)));  break;

            case 7: PackItem(new OakLog(Utility.RandomMinMax(10, 20)));               break;

            case 8: PackItem(new PineLog(Utility.RandomMinMax(10, 20)));              break;

            case 9: PackItem(new RosewoodLog(Utility.RandomMinMax(10, 20)));  break;

            case 10: PackItem(new WalnutLog(Utility.RandomMinMax(10, 20)));   break;
            }

            if (Utility.Random(100) > 60)
            {
                int seed_to_give = Utility.Random(100);

                if (seed_to_give > 90)
                {
                    Seed reward;

                    PlantType type;
                    switch (Utility.Random(17))
                    {
                    case 0: type = PlantType.CampionFlowers; break;

                    case 1: type = PlantType.Poppies; break;

                    case 2: type = PlantType.Snowdrops; break;

                    case 3: type = PlantType.Bulrushes; break;

                    case 4: type = PlantType.Lilies; break;

                    case 5: type = PlantType.PampasGrass; break;

                    case 6: type = PlantType.Rushes; break;

                    case 7: type = PlantType.ElephantEarPlant; break;

                    case 8: type = PlantType.Fern; break;

                    case 9: type = PlantType.PonytailPalm; break;

                    case 10: type = PlantType.SmallPalm; break;

                    case 11: type = PlantType.CenturyPlant; break;

                    case 12: type = PlantType.WaterPlant; break;

                    case 13: type = PlantType.SnakePlant; break;

                    case 14: type = PlantType.PricklyPearCactus; break;

                    case 15: type = PlantType.BarrelCactus; break;

                    default: type = PlantType.TribarrelCactus; break;
                    }
                    PlantHue hue;
                    switch (Utility.Random(4))
                    {
                    case 0: hue = PlantHue.Pink; break;

                    case 1: hue = PlantHue.Magenta; break;

                    case 2: hue = PlantHue.FireRed; break;

                    default: hue = PlantHue.Aqua; break;
                    }

                    PackItem(new Seed(type, hue, false));
                }
                else if (seed_to_give > 70)
                {
                    PackItem(Engines.Plants.Seed.RandomPeculiarSeed(Utility.RandomMinMax(1, 4)));
                }
                else if (seed_to_give > 40)
                {
                    PackItem(Engines.Plants.Seed.RandomBonsaiSeed());
                }
                else
                {
                    PackItem(new Engines.Plants.Seed());
                }
            }
        }
Ejemplo n.º 4
0
        public VileMage() : base(AIType.AI_Mage, FightMode.Closest, 10, 1, 0.2, 0.4)
        {
            //SpeechHue = Utility.RandomDyedHue();
            //Title = "the brigand";
            //Hue = Utility.RandomSkinHue();

            if (this.Female = Utility.RandomBool())
            {
                Body = 0x191;
                Name = NameList.RandomName("female");
                AddItem(new HoodedShroudOfShadows(Utility.RandomRedHue()));
            }
            else
            {
                Body = 0x190;
                Name = NameList.RandomName("male");
                AddItem(new HoodedShroudOfShadows(Utility.RandomRedHue()));
            }

            //Body = 0x4E1;
            SetStr(110, 160);
            SetDex(105, 110);
            SetInt(150, 165);

            SetHits(830, 880);

            SetDamage(11, 13);

            SetDamageType(ResistanceType.Physical, 100);

            SetResistance(ResistanceType.Physical, 55, 70);
            SetResistance(ResistanceType.Fire, 60, 65);
            SetResistance(ResistanceType.Cold, 60, 65);
            SetResistance(ResistanceType.Poison, 55, 65);
            SetResistance(ResistanceType.Energy, 60, 70);

            //SetSkill( SkillName.Fencing, 66.0, 97.5 );
            //SetSkill( SkillName.Macing, 65.0, 87.5 );
            SetSkill(SkillName.MagicResist, 110.0, 120.0);

            SetSkill(SkillName.Tactics, 100.0, 115.0);
            SetSkill(SkillName.Wrestling, 100.0, 110.0);
            SetSkill(SkillName.Magery, 105.0, 115.0);
            SetSkill(SkillName.EvalInt, 105.0, 115.0);

            Fame  = 1000;
            Karma = -1000;

            //AddItem( new Boots( Utility.RandomNeutralHue() ) );
            //AddItem( new FancyShirt());
            //AddItem( new Bandana());

            /*
             * switch ( Utility.Random( 7 ))
             * {
             *      case 0: AddItem( new Longsword() ); break;
             *      case 1: AddItem( new Cutlass() ); break;
             *      case 2: AddItem( new Broadsword() ); break;
             *      case 3: AddItem( new Axe() ); break;
             *      case 4: AddItem( new Club() ); break;
             *      case 5: AddItem( new Dagger() ); break;
             *      case 6: AddItem( new Spear() ); break;
             * }
             */

            //  Utility.AssignRandomHair( this );
        }
Ejemplo n.º 5
0
        public GokturLlamaHerder() : base(AIType.AI_Melee, FightMode.Closest, 10, 1, 0.2, 0.4)
        {
            Name        = NameList.RandomName("orc");
            Body        = 0x190;
            BaseSoundID = 0x45A;
            Title       = "of the Goktur Tribe, Legendary Llama Herder";
            Hue         = 2211;

            SetStr(96, 120);
            SetDex(81, 105);
            SetInt(36, 60);

            SetHits(58, 72);

            SetDamage(5, 7);

            SetDamageType(ResistanceType.Physical, 100);

            SetResistance(ResistanceType.Physical, 25, 30);
            SetResistance(ResistanceType.Fire, 20, 30);
            SetResistance(ResistanceType.Cold, 10, 20);
            SetResistance(ResistanceType.Poison, 10, 20);
            SetResistance(ResistanceType.Energy, 20, 30);

            SetSkill(SkillName.MagicResist, 50.1, 75.0);
            SetSkill(SkillName.Tactics, 55.1, 80.0);
            SetSkill(SkillName.Wrestling, 50.1, 70.0);

            Fame  = 0;
            Karma = 0;

            VirtualArmor = 28;

            OrcishKinMask helm = new OrcishKinMask();

            helm.Hue = this.Hue;
            AddItem(helm);

            Sandals sandals = new Sandals();

            sandals.Hue = 0;
            AddItem(sandals);

            ShepherdsCrook shepherdscrook = new ShepherdsCrook();

            shepherdscrook.Hue = 0;
            AddItem(shepherdscrook);

            FancyShirt fancyshirt = new FancyShirt();

            fancyshirt.Hue = 0;
            AddItem(fancyshirt);

            ShortPants shortpants = new ShortPants();

            shortpants.Hue = 0;
            AddItem(shortpants);

            LeatherGloves leathergloves = new LeatherGloves();

            leathergloves.Hue = 0;
            AddItem(leathergloves);
        }
Ejemplo n.º 6
0
        public DrowWarrior()
            : base(AIType.AI_Melee, FightMode.Closest, 10, 1, 0.2, 0.4)
        {
            SpeechHue = Utility.RandomDyedHue();
            Title     = "Drow Guerreiro";
            Hue       = 902;

            if (this.Female = Utility.RandomBool())
            {
                Body = 0x191;
                Name = NameList.RandomName("female");
            }
            else
            {
                Body = 0x190;
                Name = NameList.RandomName("male");
            }

            SetStr(400, 800);
            SetDex(150, 175);
            SetInt(275, 325);

            SetHits(1400, 1600);
            SetDamage(33, 58);

            SetSkill(SkillName.MagicResist, 95.5, 127.5);
            SetSkill(SkillName.Swords, 95.5, 177.5);
            SetSkill(SkillName.Tactics, 95.5, 177.5);
            SetSkill(SkillName.Wrestling, 95.5, 177.5);
            SetSkill(SkillName.Meditation, 100.0, 177.5);
            SetSkill(SkillName.Magery, 100.0, 177.5);
            SetSkill(SkillName.Chivalry, 100.0, 177.5);

            Nightmare montaria = new Nightmare();

            montaria.Hue          = 33;
            montaria.Rider        = this;
            montaria.MinTameSkill = 115.1;

            Fame         = 2000;
            Karma        = -2000;
            VirtualArmor = 55;

            Item bodySash = new BodySash();

            bodySash.Hue = 422;
            AddItem(bodySash);

            //AddItem(new Piwafwi());
            AddItem(new Boots());
            //AddItem(new DrowRingmailGloves());
            //AddItem(new DrowChainChest());
            //AddItem(new DrowChainLegs());

            switch (Utility.Random(3))
            {
            case 0: AddItem(new Longsword()); break;

            case 1: AddItem(new Katana()); break;

            case 2: AddItem(new VikingSword()); break;
            }

            Item hair = new Item(Utility.RandomList(0x203B, 0x2049, 0x2048, 0x204A));

            hair.Hue     = 1153;
            hair.Layer   = Layer.Hair;
            hair.Movable = false;
            AddItem(hair);

            PackGold(500, 2500);
            PackArmor(2, 5, 0.8);
            PackWeapon(3, 5, 0.8);
            PackSlayer();
        }
Ejemplo n.º 7
0
        public WarriorGuard(Mobile target) : base(target)
        {
            InitStats(1000, 1000, 1000);
            Title = "the guard";

            SpeechHue = Utility.RandomDyedHue();

            Hue = Utility.RandomSkinHue();

            if (Female = Utility.RandomBool())
            {
                Body = 0x191;
                Name = NameList.RandomName("female");

                switch (Utility.Random(2))
                {
                case 0: AddItem(new LeatherSkirt()); break;

                case 1: AddItem(new LeatherShorts()); break;
                }

                switch (Utility.Random(5))
                {
                case 0: AddItem(new FemaleLeatherChest()); break;

                case 1: AddItem(new FemaleStuddedChest()); break;

                case 2: AddItem(new LeatherBustierArms()); break;

                case 3: AddItem(new StuddedBustierArms()); break;

                case 4: AddItem(new FemalePlateChest()); break;
                }
            }
            else
            {
                Body = 0x190;
                Name = NameList.RandomName("male");

                AddItem(new PlateChest());
                AddItem(new PlateArms());
                AddItem(new PlateLegs());

                switch (Utility.Random(3))
                {
                case 0: AddItem(new Doublet(Utility.RandomNondyedHue())); break;

                case 1: AddItem(new Tunic(Utility.RandomNondyedHue())); break;

                case 2: AddItem(new BodySash(Utility.RandomNondyedHue())); break;
                }
            }
            Utility.AssignRandomHair(this);

            if (Utility.RandomBool())
            {
                Utility.AssignRandomFacialHair(this, HairHue);
            }

            Halberd weapon = new Halberd();

            weapon.Movable = false;
            weapon.Crafter = this;
            weapon.Quality = WeaponQuality.Exceptional;

            AddItem(weapon);

            Container pack = new Backpack();

            pack.Movable = false;

            pack.DropItem(new Gold(10, 25));

            AddItem(pack);

            Skills[SkillName.Anatomy].Base      = 120.0;
            Skills[SkillName.Tactics].Base      = 120.0;
            Skills[SkillName.Swords].Base       = 120.0;
            Skills[SkillName.MagicResist].Base  = 120.0;
            Skills[SkillName.DetectHidden].Base = 100.0;

            this.NextCombatTime = DateTime.UtcNow + TimeSpan.FromSeconds(0.5);
            this.Focus          = target;
        }
Ejemplo n.º 8
0
 public override void InitBody()
 {
     Name = NameList.RandomName("daemon");
     Body = 9;
 }
Ejemplo n.º 9
0
        public HirePaladin()
        {
            SpeechHue = Utility.RandomDyedHue();
            Hue       = Utility.RandomSkinHue();

            if (this.Female = Utility.RandomBool())
            {
                Body = 0x191;
                Name = NameList.RandomName("female");
            }
            else
            {
                Body = 0x190;
                Name = NameList.RandomName("male");
            }

            Title      = "the paladin";
            HairItemID = Utility.RandomList(0x203B, 0x2049, 0x2048, 0x204A);
            HairHue    = Utility.RandomNeutralHue();

            if (Utility.RandomBool() && !this.Female)
            {
                FacialHairItemID = Utility.RandomList(0x203E, 0x203F, 0x2040, 0x2041, 0x204B, 0x204C, 0x204D);
                FacialHairHue    = HairHue;
            }

            switch (Utility.Random(5))
            {
            case 0: break;

            case 1: AddItem(new Bascinet()); break;

            case 2: AddItem(new CloseHelm()); break;

            case 3: AddItem(new NorseHelm()); break;

            case 4: AddItem(new Helmet()); break;
            }

            SetStr(86, 100);
            SetDex(81, 95);
            SetInt(61, 75);

            SetDamage(10, 23);

            SetSkill(SkillName.Swords, 66.0, 97.5);
            SetSkill(SkillName.Anatomy, 65.0, 87.5);
            SetSkill(SkillName.MagicResist, 25.0, 47.5);
            SetSkill(SkillName.Healing, 65.0, 87.5);
            SetSkill(SkillName.Tactics, 65.0, 87.5);
            SetSkill(SkillName.Wrestling, 15.0, 37.5);
            SetSkill(SkillName.Parry, 45.0, 60.5);
            SetSkill(SkillName.Chivalry, 85, 100);

            Fame  = 100;
            Karma = 250;

            AddItem(new Shoes(Utility.RandomNeutralHue()));
            AddItem(new Shirt());
            AddItem(new VikingSword());
            AddItem(new MetalKiteShield());


            AddItem(new PlateChest());
            AddItem(new PlateLegs());
            AddItem(new PlateArms());
            AddItem(new LeatherGorget());
            PackGold(20, 100);
        }
Ejemplo n.º 10
0
        public DrowMage()
            : base(AIType.AI_Mage, FightMode.Closest, 10, 1, 0.2, 0.4)
        {
            SpeechHue = Utility.RandomDyedHue();
            Title     = "Drow Mago";
            Hue       = 902;

            if (this.Female = Utility.RandomBool())
            {
                Body = 0x191;
                Name = NameList.RandomName("female");
            }
            else
            {
                Body = 0x190;
                Name = NameList.RandomName("male");
            }

            SetStr(326, 545);
            SetDex(91, 510);
            SetInt(161, 585);

            SetHits(222, 308);
            SetDamage(23, 46);

            SetDamageType(ResistanceType.Physical, 30);

            SetResistance(ResistanceType.Physical, 30, 80);
            SetResistance(ResistanceType.Fire, 20, 80);
            SetResistance(ResistanceType.Cold, 20, 80);
            SetResistance(ResistanceType.Poison, 20, 80);
            SetResistance(ResistanceType.Energy, 40, 80);

            SetSkill(SkillName.EvalInt, 97.5, 150.0);
            SetSkill(SkillName.Magery, 92.5, 135.0);
            SetSkill(SkillName.Meditation, 97.5, 300.0);
            SetSkill(SkillName.MagicResist, 97.5, 130.0);
            SetSkill(SkillName.Tactics, 92.5, 135.0);
            SetSkill(SkillName.Wrestling, 92.5, 135.0);

            Fame  = 1000;
            Karma = -1000;

            Item robe = new Robe();

            robe.Hue = 1107;
            AddItem(robe);

            Item hair = new Item(Utility.RandomList(0x203B, 0x2049, 0x2048, 0x204A));

            hair.Hue     = 1153;
            hair.Layer   = Layer.Hair;
            hair.Movable = false;

            AddItem(hair);

            PackGold(770, 1770);
            PackReg(10, 15);
            PackArmor(2, 5, 0.8);
            PackWeapon(3, 5, 0.8);
            PackSlayer();
            //PackItem( new Bandage( Utility.RandomMinMax( 1, 15 ) ) );

            if (0.1 > Utility.RandomDouble())
            {
                PackItem(new TribalBerry());
            }

            PackNecroScroll(3);  // Curse Weapon
            PackNecroScroll(1);  // Blood Oath
            PackNecroScroll(10); // Strangle

            AddItem(new Boots());
            //AddItem(new DrowRingmailGloves());
            //AddItem(new DrowChainChest());
            //AddItem(new DrowChainLegs());
            //AddItem(new Piwafwi());
        }
Ejemplo n.º 11
0
        public Orc() : base(AIType.AI_Melee, FightMode.Closest, 10, 1, 0.2, 0.4)
        {
            Name        = NameList.RandomName("orc");
            Body        = 17;
            BaseSoundID = 0x45A;

            SetStr(96, 120);
            SetDex(81, 105);
            SetInt(36, 60);

            SetHits(58, 72);

            SetDamage(5, 7);

            Alignment = Alignment.Orc;


            SetSkill(SkillName.MagicResist, 50.1, 75.0);
            SetSkill(SkillName.Tactics, 55.1, 80.0);
            SetSkill(SkillName.Wrestling, 50.1, 70.0);

            Fame  = 1500;
            Karma = -1500;

            VirtualArmor = 28;

            switch (Utility.Random(20))
            {
            case 0:
                PackItem(new Scimitar());
                break;

            case 1:
                PackItem(new Katana());
                break;

            case 2:
                PackItem(new WarMace());
                break;

            case 3:
                PackItem(new WarHammer());
                break;

            case 4:
                PackItem(new Kryss());
                break;

            case 5:
                PackItem(new Pitchfork());
                break;
            }

            PackItem(new ThighBoots());

            switch (Utility.Random(3))
            {
            case 0:
                PackItem(new Ribs());
                break;

            case 1:
                PackItem(new Shaft());
                break;

            case 2:
                PackItem(new Candle());
                break;
            }

            if (0.2 > Utility.RandomDouble())
            {
                PackItem(new Ribs());
            }
        }
Ejemplo n.º 12
0
        public GargishRouser(int type)
            : base(Utility.RandomBool() ? AIType.AI_Mystic : AIType.AI_Mage, FightMode.Closest, 10, 1, 0.2, 0.4)
        {
            m_Type       = type;
            m_Manifested = false;

            Race  = Race.Gargoyle;
            Title = "the Gargish Rouser";

            SetStr(150);
            SetInt(150);
            SetDex(150);

            SetHits(1200, 1500);
            SetMana(700, 900);

            SetDamage(15, 19);

            if (Utility.RandomBool())
            {
                Name   = NameList.RandomName("Gargoyle Male");
                Female = false;
                Body   = 666;
            }
            else
            {
                Name   = NameList.RandomName("Gargoyle Female");
                Female = true;
                Body   = 667;
            }

            Utility.AssignRandomHair(this, true);
            if (!Female)
            {
                Utility.AssignRandomFacialHair(this, true);
            }

            this.Hue = Race.RandomSkinHue();

            AddImmovableItem(new MysticBook((uint)0xFFF)); // Check
            AddImmovableItem(new GargishClothChest(Utility.RandomNeutralHue()));
            AddImmovableItem(new GargishClothArms(Utility.RandomNeutralHue()));
            AddImmovableItem(new GargishClothLegs(Utility.RandomNeutralHue()));
            AddImmovableItem(new GargishClothKilt(Utility.RandomNeutralHue()));

            if (Utility.RandomBool())
            {
                AddImmovableItem(new GargishRobe());
            }

            this.SetDamageType(ResistanceType.Physical, 100);

            this.SetResistance(ResistanceType.Physical, 15, 30);
            this.SetResistance(ResistanceType.Fire, 50, 65);
            this.SetResistance(ResistanceType.Cold, 50, 65);
            this.SetResistance(ResistanceType.Poison, 50, 65);
            this.SetResistance(ResistanceType.Energy, 50, 65);

            this.SetSkill(SkillName.MagicResist, 140.0);
            this.SetSkill(SkillName.Tactics, 130);
            this.SetSkill(SkillName.Anatomy, 0.0, 10.0);
            this.SetSkill(SkillName.Magery, 130.0);
            this.SetSkill(SkillName.EvalInt, 130.0);
            this.SetSkill(SkillName.Meditation, 120);
            this.SetSkill(SkillName.Wrestling, 90);

            this.SetSkill(SkillName.Necromancy, 120);
            this.SetSkill(SkillName.SpiritSpeak, 120);
            this.SetSkill(SkillName.Mysticism, 120);
            this.SetSkill(SkillName.Focus, 120);

            this.SetSkill(SkillName.Musicianship, 100);
            this.SetSkill(SkillName.Discordance, 100);
            this.SetSkill(SkillName.Provocation, 100);
            this.SetSkill(SkillName.Peacemaking, 100);

            this.Fame  = 12000;
            this.Karma = -12000;

            m_NextSummon = DateTime.Now;
            m_NextBard   = DateTime.Now;
        }
Ejemplo n.º 13
0
        public Gambler() : base(AIType.AI_Melee, FightMode.Agressor, 10, 1, 0.45, 0.8)
        {
            Female = Utility.RandomBool();
            Body   = Female ? 401 : 400;
            Title  = "the gambler";
            Name   = NameList.RandomName(Female ? "female" : "male");
            Hue    = Utility.RandomSkinHue();
            SetStr(31, 45);
            SetDex(51, 65);
            SetInt(56, 70);
            Karma = Utility.RandomMinMax(13, -45);


            SetSkill(SkillName.Tactics, 25, 47.5);
            SetSkill(SkillName.MagicResist, 25, 47.5);
            SetSkill(SkillName.Parry, 25, 47.5);
            SetSkill(SkillName.Swords, 15, 37.5);
            SetSkill(SkillName.Macing, 15, 37.5);
            SetSkill(SkillName.Fencing, 15, 37.5);
            SetSkill(SkillName.Wrestling, 15, 37.5);
            SetSkill(SkillName.ItemID, 35, 57.5);
            SetSkill(SkillName.Snooping, 55, 77.5);
            SetSkill(SkillName.Stealing, 35, 57.5);
            SetSkill(SkillName.EvalInt, 45, 67.5);


            Item item = null;

            if (!Female)
            {
                item     = AddRandomHair();
                item.Hue = Utility.RandomHairHue();
                item     = AddRandomFacialHair(item.Hue);
                item     = new Shirt();
                item.Hue = Utility.RandomNondyedHue();
                AddItem(item);
                item     = new ShortPants();
                item.Hue = Utility.RandomNondyedHue();
                AddItem(item);
                switch (Utility.Random(4))
                {
                case 0: item = new Boots(); break;

                case 1: item = new ThighBoots(); break;

                case 2: item = new Shoes(); break;

                case 3:
                default: item = new Sandals(); break;
                }
                AddItem(item);
                item = new Dagger();
                AddItem(item);
                PackGold(15, 100);
            }
            else
            {
                item     = AddRandomHair();
                item.Hue = Utility.RandomHairHue();
                item     = new Shirt();
                item.Hue = Utility.RandomNondyedHue();
                AddItem(item);
                item     = new Skirt();
                item.Hue = Utility.RandomNondyedHue();
                AddItem(item);
                switch (Utility.Random(4))
                {
                case 0: item = new Boots(); break;

                case 1: item = new ThighBoots(); break;

                case 2: item = new Shoes(); break;

                case 3:
                default: item = new Sandals(); break;
                }
                AddItem(item);
                item = new Dagger();
                AddItem(item);
                PackGold(15, 100);
            }
        }
Ejemplo n.º 14
0
        public DragonSanctuaryElfRanger() : base(AIType.AI_Archer, FightMode.Closest, 15, 1, 0.1, 0.2)
        {
            SetStr(755, 788);
            SetDex(300, 500);
            SetInt(100, 200);

            SetHits(500, 600);

            SetDamage(12, 15);

            SetSkill(SkillName.Anatomy, 100.0);
            SetSkill(SkillName.Archery, 100.0);
            SetSkill(SkillName.Chivalry, 100.0);
            SetSkill(SkillName.MagicResist, 70.0);
            SetSkill(SkillName.Tactics, 100.0);

            Karma = 10000;

            m_Timer = new MoveTimer(this);
            ChangeLocation();

            PackItem(new Bandage(Utility.RandomMinMax(15, 20)));
            PackItem(new Arrow(Utility.RandomMinMax(80, 90)));

            if (Female = Utility.RandomBool())
            {
                Name       = NameList.RandomName("elven female");
                Title      = "Ljosalfar Ranger of Dragon Sanctuary";
                Body       = 606;
                Hue        = Utility.RandomList(1002, 1003, 1009, 1010, 1011, 1016, 1017, 1023, 1030);
                HairHue    = Utility.RandomList(1502, 1507, 1513, 2213, 2216, 2218);
                HairItemID = Utility.RandomList(12224, 12225, 12236, 12237, 12238, 12239);

                BaseWeapon weapon = Loot.RandomWeapon(true);
                switch (Utility.Random(3))
                {
                case 0: weapon = new ElvenCompositeLongbow(); break;

                case 1: weapon = new MagicalShortbow(); break;

                case 2: weapon = new SkeletalWarBow(); break;
                }

                BaseRunicTool.ApplyAttributesTo(weapon, 5, 25, 35);
                weapon.Slayer = SlayerName.ReptilianDeath;
                weapon.WeaponAttributes.HitLightning = 25;
                weapon.Hue     = 0x4D5;
                weapon.Movable = true;
                AddItem(weapon);

                EbonsilkTiara helm = new EbonsilkTiara();
                BaseRunicTool.ApplyAttributesTo(helm, 5, 25, 35);
                helm.Hue     = 0x4D5;
                helm.Movable = true;
                AddItem(helm);

                LeafGorget gorget = new LeafGorget();
                BaseRunicTool.ApplyAttributesTo(gorget, 5, 25, 35);
                gorget.Hue     = 0x4D5;
                gorget.Movable = true;
                AddItem(gorget);

                LeafArms arms = new LeafArms();
                BaseRunicTool.ApplyAttributesTo(arms, 5, 25, 35);
                arms.Hue     = 0x4D5;
                arms.Movable = true;
                AddItem(arms);

                LeafChest chest = new LeafChest();
                BaseRunicTool.ApplyAttributesTo(chest, 5, 25, 35);
                chest.Hue     = 0x4D5;
                chest.Movable = true;
                AddItem(chest);

                LeafTonlet legs = new LeafTonlet();
                BaseRunicTool.ApplyAttributesTo(legs, 5, 25, 35);
                legs.Hue     = 0x4D5;
                legs.Movable = true;
                AddItem(legs);

                LightBoots boots = new LightBoots();
                BaseRunicTool.ApplyAttributesTo(boots, 5, 25, 35);
                boots.Hue     = 0x4D5;
                boots.Movable = true;
                AddItem(boots);

                new Nightmare().Rider = this;
            }
            else
            {
                Name       = NameList.RandomName("elven male");
                Title      = "Svartalfar Ranger of Dragon Sanctuary";
                Body       = 605;
                Hue        = Utility.RandomList(897, 898, 899, 900, 901, 905, 990, 995, 996, 997, 998, 999, 2401, 2402, 2403, 2404, 2405, 2406, 2407, 2408, 2409, 2410, 2411);
                HairHue    = 2405;
                HairItemID = Utility.RandomList(12224, 12225, 12236, 12237, 12238, 12239);

                BaseWeapon weapon = Loot.RandomWeapon(true);
                switch (Utility.Random(3))
                {
                case 0: weapon = new EbonyGreatBow(); break;

                case 1: weapon = new EbonyWarBow(); break;

                case 2: weapon = new SkeletalWarBow(); break;
                }

                BaseRunicTool.ApplyAttributesTo(weapon, 5, 25, 35);
                weapon.Slayer = SlayerName.ReptilianDeath;
                weapon.WeaponAttributes.HitLightning = 25;
                weapon.Hue     = 0x4D5;
                weapon.Movable = true;
                AddItem(weapon);

                EbonsilkTiara helm = new EbonsilkTiara();
                BaseRunicTool.ApplyAttributesTo(helm, 5, 25, 35);
                helm.Hue     = 0x4D5;
                helm.Movable = true;
                AddItem(helm);

                EbonsilkGorget gorget = new EbonsilkGorget();
                BaseRunicTool.ApplyAttributesTo(gorget, 5, 25, 35);
                gorget.Hue     = 0x4D5;
                gorget.Movable = true;
                AddItem(gorget);

                EbonsilkArms arms = new EbonsilkArms();
                BaseRunicTool.ApplyAttributesTo(arms, 5, 25, 35);
                arms.Hue     = 0x4D5;
                arms.Movable = true;
                AddItem(arms);

                EbonsilkChest chest = new EbonsilkChest();
                BaseRunicTool.ApplyAttributesTo(chest, 5, 25, 35);
                chest.Hue     = 0x4D5;
                chest.Movable = true;
                AddItem(chest);

                EbonsilkLegs legs = new EbonsilkLegs();
                BaseRunicTool.ApplyAttributesTo(legs, 5, 25, 35);
                legs.Hue     = 0x4D5;
                legs.Movable = true;
                AddItem(legs);

                HighBoots boots = new HighBoots();
                BaseRunicTool.ApplyAttributesTo(boots, 5, 25, 35);
                boots.Hue     = 0x4D5;
                boots.Movable = true;
                AddItem(boots);

                new FireSteed().Rider = this;
            }
        }
Ejemplo n.º 15
0
 public override void InitBody()
 {
     Name = NameList.RandomName("ratman");
     Body = 42;
 }
Ejemplo n.º 16
0
        public Invader(SkillName specialty, InvasionType type)
            : base(GetAI(specialty), FightMode.Closest, 10, 1, .2, .1)
        {
            _Specialty    = specialty;
            _InvasionType = type;

            if (_Specialty == SkillName.Bushido && Utility.RandomBool())
            {
                _Sampire = true;
            }

            if (Female = Utility.RandomBool())
            {
                //Body = 0x191;
                Name = NameList.RandomName("female");
            }
            else
            {
                //Body = 0x190;
                Name = NameList.RandomName("male");
            }

            SetBody();

            string title;

            if (_Sampire)
            {
                title = "the sampire";
            }
            else if (specialty == SkillName.Magery)
            {
                title = "the wizard";
            }
            else
            {
                title = string.Format("the {0}", Skills[specialty].Info.Title);
                if (Female && title.EndsWith("man"))
                {
                    title = title.Substring(0, title.Length - 3) + "woman";
                }
            }

            Title = title;

            SetStr(120, 170);
            SetDex(SpellCaster ? 75 : 150);
            SetInt(SpellCaster ? 1800 : 500);

            SetHits(800, 1250);

            if (AI == AIType.AI_Melee)
            {
                SetDamage(15, 28);
            }
            else if (!SpellCaster)
            {
                SetDamage(12, 22);
            }
            else
            {
                SetDamage(8, 18);
            }

            Fame  = 8000;
            Karma = -8000;

            SetResists();
            SetSkills();
            EquipSpecialty();

            _NextSpecial = DateTime.UtcNow;

            if (_Sampire)
            {
                Timer.DelayCall(TimeSpan.FromSeconds(1), () =>
                {
                    VampiricEmbraceSpell spell = new VampiricEmbraceSpell(this, null);
                    spell.Cast();
                });
            }

            SetAreaEffect(AreaEffect.AuraOfEnergy);
        }
Ejemplo n.º 17
0
        public HireBeggar()
        {
            SpeechHue = Utility.RandomDyedHue();
            Hue       = Utility.RandomSkinHue();

            if (this.Female = Utility.RandomBool())
            {
                Body = 0x191;
                Name = NameList.RandomName("female");

                switch (Utility.Random(2))
                {
                case 0: AddItem(new Skirt(Utility.RandomNeutralHue())); break;

                case 1: AddItem(new Kilt(Utility.RandomNeutralHue())); break;
                }
            }
            else
            {
                Body = 0x190;
                Name = NameList.RandomName("male");
                AddItem(new ShortPants(Utility.RandomNeutralHue()));
            }
            Title = "the beggar";
            Item hair = new Item(Utility.RandomList(0x203B, 0x2049, 0x2048, 0x204A));

            hair.Hue     = Utility.RandomNeutralHue();
            hair.Layer   = Layer.Hair;
            hair.Movable = false;
            AddItem(hair);

            if (Utility.RandomBool() && !this.Female)
            {
                Item beard = new Item(Utility.RandomList(0x203E, 0x203F, 0x2040, 0x2041, 0x204B, 0x204C, 0x204D));

                beard.Hue     = hair.Hue;
                beard.Layer   = Layer.FacialHair;
                beard.Movable = false;

                AddItem(beard);
            }

            SetStr(26, 26);
            SetDex(21, 21);
            SetInt(36, 36);

            SetDamage(1, 1);

            //SetSkill(SkillName.Begging, 66, 97);
            SetSkill(SkillName.Tactiques, 5, 27);
            SetSkill(SkillName.Anatomie, 5, 27);
            SetSkill(SkillName.ArtMagique, 2, 2);

            AddItem(new Sandals(Utility.RandomNeutralHue()));

            switch (Utility.Random(2))
            {
            case 0: AddItem(new Doublet(Utility.RandomNeutralHue())); break;

            case 1: AddItem(new Shirt(Utility.RandomNeutralHue())); break;
            }

            PackGold(0, 25);
        }
Ejemplo n.º 18
0
        public BaneOfInsanity() : base(AIType.AI_Melee, FightMode.Closest, 10, 1, 0.2, 0.4)
        {
            Body = 0x190;

            SpeechHue = Utility.RandomDyedHue();
            Hue       = Utility.RandomSkinHue();

            Name = NameList.RandomName("male");
            Utility.AssignRandomHair(this);
            int HairColor = Utility.RandomHairHue();

            FacialHairItemID = Utility.RandomList(0, 8254, 8255, 8256, 8257, 8267, 8268, 8269);
            HairHue          = HairColor;
            FacialHairHue    = HairColor;
            Title            = "the Bane of Insanity";

            SetStr(350);
            SetDex(150);
            SetInt(120);

            SetHits(300);

            SetDamage(12, 23);

            SetDamageType(ResistanceType.Physical, 100);

            SetResistance(ResistanceType.Physical, 40);
            SetResistance(ResistanceType.Fire, 30);
            SetResistance(ResistanceType.Cold, 30);
            SetResistance(ResistanceType.Poison, 30);
            SetResistance(ResistanceType.Energy, 30);

            SetSkill(SkillName.DetectHidden, 80.0);
            SetSkill(SkillName.Anatomy, 110.0);
            SetSkill(SkillName.MagicResist, 80.0);
            SetSkill(SkillName.Macing, 110.0);
            SetSkill(SkillName.Fencing, 110.0);
            SetSkill(SkillName.Wrestling, 110.0);
            SetSkill(SkillName.Swords, 110.0);
            SetSkill(SkillName.Tactics, 110.0);

            Fame  = 8000;
            Karma = -8000;

            VirtualArmor = 30;

            PlateChest chest = new PlateChest();

            chest.Hue             = 0x83F;
            chest.Name            = "plate tunic of insanity";
            chest.Durability      = ArmorDurabilityLevel.Indestructible;
            chest.ProtectionLevel = ArmorProtectionLevel.Invulnerability;
            AddItem(chest);
            PlateArms arms = new PlateArms();

            arms.Hue             = 0x83F;
            arms.Name            = "plate arms of insanity";
            arms.Durability      = ArmorDurabilityLevel.Indestructible;
            arms.ProtectionLevel = ArmorProtectionLevel.Invulnerability;
            AddItem(arms);
            PlateLegs legs = new PlateLegs();

            legs.Hue             = 0x83F;
            legs.Name            = "plate leggings of insanity";
            legs.Durability      = ArmorDurabilityLevel.Indestructible;
            legs.ProtectionLevel = ArmorProtectionLevel.Invulnerability;
            AddItem(legs);
            PlateGorget neck = new PlateGorget();

            neck.Hue             = 0x83F;
            neck.Name            = "plate gorget of insanity";
            neck.Durability      = ArmorDurabilityLevel.Indestructible;
            neck.ProtectionLevel = ArmorProtectionLevel.Invulnerability;
            AddItem(neck);
            PlateGloves gloves = new PlateGloves();

            gloves.Hue             = 0x83F;
            gloves.Name            = "plate gloves of insanity";
            gloves.Durability      = ArmorDurabilityLevel.Indestructible;
            gloves.ProtectionLevel = ArmorProtectionLevel.Invulnerability;
            AddItem(gloves);
            PlateHelm helm = new PlateHelm();

            helm.Hue             = 0x83F;
            helm.ItemID          = 0x2645;
            helm.Name            = "plate helm of insanity";
            helm.Durability      = ArmorDurabilityLevel.Indestructible;
            helm.ProtectionLevel = ArmorProtectionLevel.Invulnerability;
            AddItem(helm);
            Halberd weapon = new Halberd();

            weapon.Hue             = 0x83F;
            weapon.Name            = "halberd of insanity";
            weapon.AccuracyLevel   = WeaponAccuracyLevel.Supremely;
            weapon.DamageLevel     = WeaponDamageLevel.Vanq;
            weapon.DurabilityLevel = WeaponDurabilityLevel.Indestructible;
            AddItem(weapon);
        }
Ejemplo n.º 19
0
        public override void OnThink()
        {
            if (Controlled)
            {
                if (BodyMod != 0)
                {
                    BaseMobileHelper.Return(this, m_Items);
                }

                return;
            }

            if (BodyMod != 0)
            {
                if (Utility.RandomDouble() < ReturnChance)
                {
                    BaseMobileHelper.Return(this, m_Items);
                }
            }
            else
            {
                if (Utility.RandomDouble() < TurnChance)
                {
                    InitOutfit();
                    BaseMobileHelper.Turn(this, m_Items, 0x190, Utility.RandomSkinHue(), NameList.RandomName("male"), "the mystic traveller", true);
                }
            }

            base.OnThink();
        }
Ejemplo n.º 20
0
        public ElfBrigand() : base(AIType.AI_Melee, FightMode.Closest, 10, 1, 0.2, 0.4)
        {
            SpeechHue = Utility.RandomDyedHue();
            Title     = "the brigand";
            Race      = Race.Elf;
            Hue       = Race.RandomSkinHue();

            if (this.Female = Utility.RandomBool())
            {
                Body = 0x25E;
                Name = NameList.RandomName("female elf brigand");

                switch (Utility.Random(2))
                {
                case 0: AddItem(new Skirt(Utility.RandomNondyedHue())); break;

                case 1: AddItem(new Kilt(Utility.RandomNondyedHue())); break;
                }
            }
            else
            {
                Body = 0x25D;
                Name = NameList.RandomName("male elf brigand");
                AddItem(new ShortPants(Utility.RandomNondyedHue()));
            }

            SetStr(86, 100);
            SetDex(81, 95);
            SetInt(61, 75);

            SetDamage(10, 23);

            SetSkill(SkillName.Fencing, 66.0, 97.5);
            SetSkill(SkillName.Macing, 65.0, 87.5);
            SetSkill(SkillName.MagicResist, 25.0, 47.5);
            SetSkill(SkillName.Swords, 65.0, 87.5);
            SetSkill(SkillName.Tactics, 65.0, 87.5);
            SetSkill(SkillName.Wrestling, 15.0, 37.5);

            Fame  = 1000;
            Karma = -1000;

            switch (Utility.Random(4))
            {
            case 0: AddItem(new Boots()); break;

            case 1: AddItem(new ThighBoots()); break;

            case 2: AddItem(new Sandals()); break;

            case 3: AddItem(new Shoes()); break;
            }

            AddItem(new Shirt(Utility.RandomNondyedHue()));

            switch (Utility.Random(7))
            {
            case 0: AddItem(new Longsword()); break;

            case 1: AddItem(new Cutlass()); break;

            case 2: AddItem(new Broadsword()); break;

            case 3: AddItem(new Axe()); break;

            case 4: AddItem(new Club()); break;

            case 5: AddItem(new Dagger()); break;

            case 6: AddItem(new Spear()); break;
            }

            Utility.AssignRandomHair(this, true);
        }
Ejemplo n.º 21
0
        public PirateCrew2() : base(AIType.AI_Archer, FightMode.Closest, 15, 1, 0.2, 0.4)
        {
            SpeechHue = Utility.RandomDyedHue();
            Hue       = Utility.RandomSkinHue();

            if (this.Female = Utility.RandomBool())
            {
                Body = 0x191;
                Name = NameList.RandomName("female");
            }
            else
            {
                Body = 0x190;
                Name = NameList.RandomName("male");
            }

            Title = "[Crew]";

            AddItem(new ThighBoots());

            Item hair = new Item(Utility.RandomList(0x203B, 0x2049, 0x2048, 0x204A));

            hair.Hue     = Utility.RandomNondyedHue();
            hair.Layer   = Layer.Hair;
            hair.Movable = false;
            AddItem(hair);

            if (Utility.RandomBool() && !this.Female)
            {
                Item beard = new Item(Utility.RandomList(0x203E, 0x203F, 0x2040, 0x2041, 0x204B, 0x204C, 0x204D));

                beard.Hue     = hair.Hue;
                beard.Layer   = Layer.FacialHair;
                beard.Movable = false;

                AddItem(beard);
            }

            SetStr(195, 200);
            SetDex(181, 195);
            SetInt(61, 75);
            SetHits(288, 308);

            SetDamage(20, 40);

            SetSkill(SkillName.Fencing, 86.0, 97.5);
            SetSkill(SkillName.Macing, 85.0, 87.5);
            SetSkill(SkillName.MagicResist, 55.0, 67.5);
            SetSkill(SkillName.Swords, 85.0, 87.5);
            SetSkill(SkillName.Tactics, 85.0, 87.5);
            SetSkill(SkillName.Wrestling, 35.0, 37.5);
            SetSkill(SkillName.Archery, 85.0, 87.5);

            CantWalk = false;

            Fame         = 2000;
            Karma        = -2000;
            VirtualArmor = 66;


            switch (Utility.Random(1))
            {
            case 0: AddItem(new LongPants(Utility.RandomRedHue())); break;

            case 1: AddItem(new ShortPants(Utility.RandomRedHue())); break;
            }

            switch (Utility.Random(3))
            {
            case 0: AddItem(new FancyShirt(Utility.RandomRedHue())); break;

            case 1: AddItem(new Shirt(Utility.RandomRedHue())); break;

            case 2: AddItem(new Doublet(Utility.RandomRedHue())); break;
            }


            switch (Utility.Random(3))
            {
            case 0: AddItem(new Bandana(Utility.RandomRedHue())); break;

            case 1: AddItem(new SkullCap(Utility.RandomRedHue())); break;
            }

            switch (Utility.Random(5))
            {
            case 0: AddItem(new Bow()); break;

            case 1: AddItem(new CompositeBow()); break;

            case 2: AddItem(new Crossbow()); break;

            case 3: AddItem(new RepeatingCrossbow()); break;

            case 4: AddItem(new HeavyCrossbow()); break;
            }
        }
Ejemplo n.º 22
0
        public SpellCheckWordLists(string dictionaryFolder, string languageName, IDoSpell doSpell)
        {
            _dictionaryFolder = dictionaryFolder ?? throw new NullReferenceException(nameof(dictionaryFolder));
            _languageName     = languageName ?? throw new NullReferenceException(nameof(languageName));
            _doSpell          = doSpell ?? throw new NullReferenceException(nameof(doSpell));
            _nameList         = new NameList(Configuration.DictionariesDirectory, languageName, Configuration.Settings.WordLists.UseOnlineNames, Configuration.Settings.WordLists.NamesUrl);
            _names            = _nameList.GetNames();
            var namesMultiWordList = _nameList.GetMultiNames();

            if (Configuration.Settings.Tools.RememberUseAlwaysList)
            {
                LoadUseAlwaysList();
            }

            foreach (string namesItem in _names)
            {
                _namesListUppercase.Add(namesItem.ToUpperInvariant());
            }

            if (languageName.StartsWith("en_", StringComparison.OrdinalIgnoreCase))
            {
                foreach (string namesItem in _names)
                {
                    if (!namesItem.EndsWith('s'))
                    {
                        _namesListWithApostrophe.Add(namesItem + "'s");
                        _namesListWithApostrophe.Add(namesItem + "’s");
                    }
                    else if (!namesItem.EndsWith('\''))
                    {
                        _namesListWithApostrophe.Add(namesItem + "'");
                    }
                }
            }

            if (File.Exists(dictionaryFolder + languageName + "_user.xml"))
            {
                var userWordDictionary = new XmlDocument();
                userWordDictionary.Load(dictionaryFolder + languageName + "_user.xml");
                var xmlNodeList = userWordDictionary.DocumentElement?.SelectNodes("word");
                if (xmlNodeList != null)
                {
                    foreach (XmlNode node in xmlNodeList)
                    {
                        string word = node.InnerText.Trim().ToLowerInvariant();
                        if (word.Contains(' '))
                        {
                            _userPhraseList.Add(word);
                        }
                        else
                        {
                            _userWordList.Add(word);
                        }
                    }
                }
            }
            // Add names/userdic with "." or " " or "-"
            foreach (var word in namesMultiWordList)
            {
                if (word.Contains(PeriodAndDash))
                {
                    _wordsWithDashesOrPeriods.Add(word);
                }
            }
            foreach (string name in _names)
            {
                if (name.Contains(PeriodAndDash))
                {
                    _wordsWithDashesOrPeriods.Add(name);
                }
            }
            foreach (string word in _userWordList)
            {
                if (word.Contains(PeriodAndDash))
                {
                    _wordsWithDashesOrPeriods.Add(word);
                }
            }
            foreach (var phrase in _userPhraseList)
            {
                if (phrase.Contains(PeriodAndDash))
                {
                    _wordsWithDashesOrPeriods.Add(phrase);
                }
            }
        }
Ejemplo n.º 23
0
        public NightGuard() : base(AIType.AI_Melee, FightMode.Aggressor, 14, 1, 0.8, 1.6)
        {
            SpeechHue = Utility.RandomDyedHue();
            Title     = "A Night Guard";

            Name = NameList.RandomName("male");
            Hue  = Utility.RandomSkinHue();
            Body = 0x190;
            InitStats(115, 100, 85);
            SetHits(100);
            SetDamage(22);

            Skills[SkillName.Anatomy].Base      = 120.0;
            Skills[SkillName.Tactics].Base      = 120.0;
            Skills[SkillName.Fencing].Base      = 120.0;
            Skills[SkillName.MagicResist].Base  = 120.0;
            Skills[SkillName.DetectHidden].Base = 100.0;

            StuddedChest sChest = new StuddedChest();

            sChest.Hue = 1899;
            AddItem(sChest);
            StuddedArms sArms = new StuddedArms();

            sArms.Hue = 1899;
            AddItem(sArms);
            StuddedGloves sGloves = new StuddedGloves();

            sGloves.Hue = 1899;
            AddItem(sGloves);
            StuddedGorget sGorget = new StuddedGorget();

            sGorget.Hue = 1899;
            AddItem(sGorget);
            StuddedLegs sLegs = new StuddedLegs();

            sLegs.Hue = 1899;
            AddItem(sLegs);
            AddItem(new Boots(1899));
            AddItem(new SkullCap(1899));

            Kryss k = new Kryss();

            k.Hue = 1899;
            AddItem(k);

            SetStr(95);
            SetDex(100);
            SetInt(60);
            SetHits(210);
            SetDamage(30);
            SetDamageType(ResistanceType.Physical, 5);
            SetDamageType(ResistanceType.Cold, 5);
            SetDamageType(ResistanceType.Fire, 5);
            SetDamageType(ResistanceType.Energy, 5);
            SetDamageType(ResistanceType.Poison, 80);

            SetResistance(ResistanceType.Physical, 25);
            SetResistance(ResistanceType.Cold, 25);
            SetResistance(ResistanceType.Fire, 25);
            SetResistance(ResistanceType.Energy, 25);
            SetResistance(ResistanceType.Poison, 100);

            Fame  = 3500;
            Karma = 3500;

            VirtualArmor = 40;


            PackGold(700, 900);
        }
Ejemplo n.º 24
0
        public Orc() : base(AIType.AI_Melee, FightMode.Closest, 10, 1, 0.2, 0.4)
        {
            Name        = NameList.RandomName("orc");
            Body        = 182;
            BaseSoundID = 0x45A;
            Level       = 8;

            SetStr(125, 150);
            SetDex(81, 105);
            SetInt(36, 60);

            SetHits(58, 72);

            SetDamage(8, 10);

            SetDamageType(ResistanceType.Physical, 100);

            SetResistance(ResistanceType.Physical, 25, 30);
            SetResistance(ResistanceType.Fire, 20, 30);
            SetResistance(ResistanceType.Cold, 10, 20);
            SetResistance(ResistanceType.Poison, 10, 20);
            SetResistance(ResistanceType.Energy, 20, 30);

            SetSkill(SkillName.MagicResist, 50.1, 75.0);
            SetSkill(SkillName.Tactics, 55.1, 80.0);
            SetSkill(SkillName.Wrestling, 50.1, 70.0);

            Fame  = 1500;
            Karma = -1500;

            VirtualArmor = 28;

            switch (Utility.Random(20))
            {
            case 0: PackItem(new Scimitar()); break;

            case 1: PackItem(new Katana()); break;

            case 2: PackItem(new WarMace()); break;

            case 3: PackItem(new WarHammer()); break;

            case 4: PackItem(new Kryss()); break;

            case 5: PackItem(new Pitchfork()); break;
            }

            PackItem(new ThighBoots());

            switch (Utility.Random(3))
            {
            case 0: PackItem(new Ribs()); break;

            case 1: PackItem(new Shaft()); break;

            case 2: PackItem(new Candle()); break;
            }

            if (0.2 > Utility.RandomDouble())
            {
                PackItem(new BolaBall());
            }
            //PackGold( 10, 15 );
        }
Ejemplo n.º 25
0
        public ForgottenServant()
            : base(AIType.AI_Melee, FightMode.Closest, 10, 1, 0.2, 0.4)
        {
            this.SpeechHue = Utility.RandomDyedHue();
            this.Title     = "Forgotten Servant";
            this.Hue       = 768;

            if (this.Female = Utility.RandomBool())
            {
                this.Body = 0x191;
                this.Name = NameList.RandomName("female");
                this.AddItem(new Skirt(Utility.RandomNeutralHue()));
            }
            else
            {
                this.Body = 0x190;
                this.Name = NameList.RandomName("male");
                this.AddItem(new ShortPants(Utility.RandomNeutralHue()));
            }

            this.SetStr(147, 215);
            this.SetDex(91, 115);
            this.SetInt(61, 85);

            this.SetHits(95, 123);

            this.SetDamage(4, 14);

            this.SetDamageType(ResistanceType.Physical, 100);

            this.SetResistance(ResistanceType.Physical, 25, 35);
            this.SetResistance(ResistanceType.Fire, 30, 40);
            this.SetResistance(ResistanceType.Cold, 20, 30);
            this.SetResistance(ResistanceType.Poison, 30, 40);
            this.SetResistance(ResistanceType.Energy, 30, 40);

            this.SetSkill(SkillName.MagicResist, 70.1, 85.0);
            this.SetSkill(SkillName.Swords, 60.1, 85.0);
            this.SetSkill(SkillName.Tactics, 75.1, 90.0);
            this.SetSkill(SkillName.Wrestling, 60.1, 85.0);

            this.Fame  = 2500;
            this.Karma = -2500;

            this.QLPoints = 8;

            this.AddItem(new Boots(Utility.RandomNeutralHue()));
            this.AddItem(new FancyShirt());
            this.AddItem(new Bandana());

            switch (Utility.Random(7))
            {
            case 0:
                this.AddItem(new Longsword());
                break;

            case 1:
                this.AddItem(new Cutlass());
                break;

            case 2:
                this.AddItem(new Broadsword());
                break;

            case 3:
                this.AddItem(new Axe());
                break;

            case 4:
                this.AddItem(new Club());
                break;

            case 5:
                this.AddItem(new Dagger());
                break;

            case 6:
                this.AddItem(new Spear());
                break;
            }

            Utility.AssignRandomHair(this);
        }
Ejemplo n.º 26
0
        public SavageRider() : base(AIType.AI_Melee, FightMode.Closest, 10, 1, 0.15, 0.4)
        {
            Name = NameList.RandomName("savage rider");

            int dino = Utility.RandomList(0x7D1, 0x7D2, 0x7D3, 0x7D4, 0x7D5, 0x7D6);

            if (Female = Utility.RandomBool())
            {
                Body = 401;
                Item cloth9 = new FemaleLeatherChest();
                cloth9.Hue  = dino;
                cloth9.Name = "dracosaur tunic";
                AddItem(cloth9);
            }
            else
            {
                Body = 400;
            }

            Hue = 0;

            SetStr(151, 170);
            SetDex(92, 130);
            SetInt(51, 65);

            SetDamage(29, 34);

            SetDamageType(ResistanceType.Physical, 100);

            SetSkill(SkillName.Fencing, 72.5, 95.0);
            SetSkill(SkillName.Healing, 60.3, 90.0);
            SetSkill(SkillName.Macing, 72.5, 95.0);
            SetSkill(SkillName.Poisoning, 60.0, 82.5);
            SetSkill(SkillName.MagicResist, 72.5, 95.0);
            SetSkill(SkillName.Swords, 72.5, 95.0);
            SetSkill(SkillName.Tactics, 72.5, 95.0);

            Fame  = 1000;
            Karma = -1000;

            PackItem(new Bandage(Utility.RandomMinMax(1, 15)));

            if (0.1 > Utility.RandomDouble())
            {
                PackItem(new BolaBall());
            }

            AddItem(new TribalSpear());

            Item cloth1 = new BoneArms();

            cloth1.Hue  = dino;
            cloth1.Name = "dracosaur guantlets";
            AddItem(cloth1);
            Item cloth2 = new BoneLegs();

            cloth2.Hue  = dino;
            cloth2.Name = "dracosaur leggings";
            AddItem(cloth2);
            Item cloth3 = new TribalMask();

            cloth3.Hue  = dino;
            cloth3.Name = "savage tribal mask";
            AddItem(cloth3);
            Item cloth4 = new LeatherSkirt();

            cloth4.Hue   = dino;
            cloth4.Name  = "dracosaur skirt";
            cloth4.Layer = Layer.Waist;
            AddItem(cloth4);

            new SavageRidgeback().Rider = this;
        }
        public UndeadSwordPirateSTR() : base(AIType.AI_Melee, FightMode.Closest, 10, 1, 0.175, 0.2)
        {
            Title     = "the unrested pirate";
            Body      = 400;
            Team      = 1;
            Kills     = 10;
            Hue       = Utility.RandomSkinHue();
            SpeechHue = 1153;
            this.Body = 0x190;
            this.Name = NameList.RandomName("male");
            SetStr(90, 100);
            SetDex(85, 100);
            SetInt(10, 20);

            SetSkill(SkillName.Archery, 95.0, 100.0);
            SetSkill(SkillName.MagicResist, 75.0, 100.0);
            SetSkill(SkillName.Tactics, 90.0, 100.0);
            SetSkill(SkillName.Healing, 75.0, 100.0);
            SetSkill(SkillName.Anatomy, 90.0, 100.0);
            SetSkill(SkillName.Swords, 95.0, 100.0);
            SetSkill(SkillName.Stealth, 120.0, 180.0);
            SetSkill(SkillName.Hiding, 120.0, 180.0);

            Fame  = 4500;
            Karma = -4500;

            VirtualArmor = 0;

            Item hair = new Item(Utility.RandomList(0x203B, 0x2049, 0x2048, 0x204A));

            hair.Hue     = Utility.RandomHairHue();
            hair.Layer   = Layer.Hair;
            hair.Movable = false;

            Item beard = new Item(Utility.RandomList(0x2040, 0x203E, 0x204C, 0x204B, 0x203F));

            beard.Hue     = hair.Hue;
            beard.Layer   = Layer.FacialHair;
            beard.Movable = false;
            AddItem(beard);

            AddItem(hair);
            PackGold(70, 95);
            PackItem(new Bandage(20));

            switch (Utility.Random(2))
            {
            case 0:
            {
                Item scimitar = new Scimitar();
                EquipItem(scimitar);
                break;
            }

            case 1:
            {
                Item cutlass = new Cutlass();
                EquipItem(cutlass);
                break;
            }
            }

            switch (Utility.Random(3))
            {
            case 0:
            {
                Item fancyshirt = new FancyShirt();
                fancyshirt.Hue = Utility.RandomNeutralHue();
                EquipItem(fancyshirt);
                break;
            }

            case 1:
            {
                Item doublet = new Doublet();
                doublet.Hue = Utility.RandomNeutralHue();
                EquipItem(doublet);
                break;
            }

            case 2:
            {
                break;
            }
            }

            switch (Utility.Random(2))
            {
            case 0:
            {
                Item longpants = new LongPants();
                longpants.Hue = Utility.RandomNeutralHue();
                EquipItem(longpants);
                break;
            }

            case 1:
            {
                Item shortpants = new ShortPants();
                shortpants.Hue = Utility.RandomNeutralHue();
                EquipItem(shortpants);
                break;
            }
            }

            switch (Utility.Random(4))
            {
            case 0:
            {
                Item boots = new Boots();
                boots.Hue = 0;
                EquipItem(boots);
                break;
            }

            case 1:
            {
                Item shoes = new Shoes();
                shoes.Hue = 1713;
                EquipItem(shoes);
                break;
            }

            case 3:
            {
                Item thighboots = new ThighBoots();
                thighboots.Hue = 0;
                EquipItem(thighboots);
                break;
            }

            case 4:
            {
                break;
            }
            }

            switch (Utility.Random(3))
            {
            case 0:
            {
                Item Bandana = new Bandana();
                Bandana.Hue = Utility.RandomBirdHue();
                EquipItem(Bandana);
                break;
            }

            case 1:
            {
                Item skullcap = new SkullCap();
                skullcap.Hue = Utility.RandomBirdHue();
                EquipItem(skullcap);
                break;
            }

            case 3:
            {
                break;
            }
            }
        }
        public SoldierArcher()
        {
            SpeechHue    = Utility.RandomDyedHue();
            this.AI      = AIType.AI_Archer;
            ControlSlots = 3;
            Title        = "the archer";
            Item hair = new Item(Utility.RandomList(0x203B, 0x2049, 0x2048, 0x204A));

            hair.Hue     = Utility.RandomNeutralHue();
            hair.Layer   = Layer.Hair;
            hair.Movable = false;
            AddItem(hair);
            this.Age = SoldierAge.Teenage;
            if (Utility.RandomBool() && !this.Female)
            {
                Item beard = new Item(Utility.RandomList(0x203E, 0x203F, 0x2040, 0x2041, 0x204B, 0x204C, 0x204D));

                beard.Hue     = hair.Hue;
                beard.Layer   = Layer.FacialHair;
                beard.Movable = false;

                AddItem(beard);
            }
            if (this.Female = Utility.RandomBool())
            {
                //if ( this.Race.Elf = Utility.RandomBool() )
                //{
                // Body = 0x25e;
                //Name = NameList.RandomName( "female" );
                //}
                //else
                //{
                //Race = Human;
                Body = 0x191;
                Name = NameList.RandomName("female");
                //}
            }
            else
            {
                //if ( this.Race.Elf = Utility.RandomBool() )
                //{
                //Body = 0x25d;
                // Name = NameList.RandomName( "male" );
                //}
                //else
                //{
                //Race = Human;
                Body = 0x190;
                Name = NameList.RandomName("male");
                //}
            }
            SetStr(25, 35);
            SetDex(20, 30);
            SetInt(15, 20);

            SetDamage(2, 10);
            SetSkill(SkillName.Cooking, 15, 20);
            SetSkill(SkillName.Healing, 15, 20);
            SetSkill(SkillName.MagicResist, 15, 20);
            SetSkill(SkillName.Mining, 15.0);
            SetSkill(SkillName.Tactics, 15, 20);
            SetSkill(SkillName.Anatomy, 15, 20);
            SetSkill(SkillName.Archery, 22, 22);
            //SetSkill( SkillName.Swords, 15, 20 );
            //SetSkill( SkillName.Parry, 15, 20 );
            //SetSkill( SkillName.Macing, 36, 67 );
            SetSkill(SkillName.Focus, 36, 67);
            SetSkill(SkillName.Wrestling, 25, 47);


            Fame        = 100;
            Karma       = 100;
            Personality = (SoldierPersonality)(Utility.RandomMinMax(0, 7));
            Motivation  = (SoldierMotivation)(Utility.RandomMinMax(0, 4));
            //AddItem( new Shoes( Utility.RandomNeutralHue() ) );
            //AddItem( new Shirt());

            // Pick a random sword

            /*switch ( Utility.Random( 5 ))
             * {
             *  case 0: AddItem( new Longsword() ); break;
             *  case 1: AddItem( new Broadsword() ); break;
             *  case 2: AddItem( new VikingSword() ); break;
             *  case 3: AddItem( new Dagger() ); break;
             *  case 4: AddItem( new Katana() ); break;
             * }
             *
             * // Pick a random shield
             * switch ( Utility.Random( 6 ))
             * {
             *  case 0: AddItem( new BronzeShield() ); break;
             *  case 1: AddItem( new HeaterShield() ); break;
             *  case 2: AddItem( new MetalKiteShield() ); break;
             *  case 3: AddItem( new MetalShield() ); break;
             *  case 4: AddItem( new WoodenKiteShield() ); break;
             *  case 5: AddItem( new WoodenShield() ); break;
             *  //case 6: AddItem( new OrderShield() ); break;
             *  //case 7: AddItem( new ChaosShield() ); break;
             * }
             *
             *  switch( Utility.Random( 5 ) )
             *  {
             *          case 0: break;
             *          case 1: AddItem( new Bascinet() ); break;
             *          case 2: AddItem( new CloseHelm() ); break;
             *          case 3: AddItem( new NorseHelm() ); break;
             *          case 4: AddItem( new Helmet() ); break;
             *
             *  }
             * // Pick some armour
             * switch( Utility.Random( 4 ) )
             * {
             *  case 0: // Leather
             *      AddItem( new LeatherChest() );
             *      AddItem( new LeatherArms() );
             *      AddItem( new LeatherGloves() );
             *      AddItem( new LeatherGorget() );
             *      AddItem( new LeatherLegs() );
             *      break;
             *
             *  case 1: // Studded Leather
             *      AddItem( new StuddedChest() );
             *      AddItem( new StuddedArms() );
             *      AddItem( new StuddedGloves() );
             *      AddItem( new StuddedGorget() );
             *      AddItem( new StuddedLegs() );
             *      break;
             *
             *  case 2: // Ringmail
             *      AddItem( new RingmailChest() );
             *      AddItem( new RingmailArms() );
             *      AddItem( new RingmailGloves() );
             *      AddItem( new RingmailLegs() );
             *      break;
             *
             *  case 3: // Chain
             *      AddItem( new ChainChest() );
             *      AddItem( new ChainCoif() );
             *      AddItem( new ChainLegs() );
             *      break;
             * }*/
            Container pack = Backpack;

            if (pack != null)
            {
                pack.Delete();
            }
            pack         = new StrongBackpack();
            pack.Movable = false;
            AddItem(pack);
            //PackItem( new TentDeed() );
        }
Ejemplo n.º 29
0
        public Guardian() : base(AIType.AI_Archer, FightMode.Agressor, 10, 1, 0.2, 0.4)
        {
            InitStats(100, 125, 25);
            Title = "the guardian";

            SpeechHue = Utility.RandomDyedHue();

            Hue = Utility.RandomSkinHue();

            if (Female = Utility.RandomBool())
            {
                Body = 0x191;
                Name = NameList.RandomName("female");
            }
            else
            {
                Body = 0x190;
                Name = NameList.RandomName("male");
            }

            new ForestOstard().Rider = this;

            PlateChest chest = new PlateChest();

            chest.Hue = 0x966;
            AddItem(chest);
            PlateArms arms = new PlateArms();

            arms.Hue = 0x966;
            AddItem(arms);
            PlateGloves gloves = new PlateGloves();

            gloves.Hue = 0x966;
            AddItem(gloves);
            PlateGorget gorget = new PlateGorget();

            gorget.Hue = 0x966;
            AddItem(gorget);
            PlateLegs legs = new PlateLegs();

            legs.Hue = 0x966;
            AddItem(legs);
            PlateHelm helm = new PlateHelm();

            helm.Hue = 0x966;
            AddItem(helm);


            Bow bow = new Bow();

            bow.Movable = false;
            bow.Crafter = this;
            bow.Quality = WeaponQuality.Exceptional;

            AddItem(bow);

            PackItem(new Arrow(250));
            PackGold(250, 500);

            Skills[SkillName.Anatomy].Base      = 120.0;
            Skills[SkillName.Tactics].Base      = 120.0;
            Skills[SkillName.Archery].Base      = 120.0;
            Skills[SkillName.MagicResist].Base  = 120.0;
            Skills[SkillName.DetectHidden].Base = 100.0;
        }
Ejemplo n.º 30
0
        public ArcherGuard(Mobile target)
            : base(target)
        {
            InitStats(100, 125, 25);
            Title = "the guard";

            SpeechHue = Utility.RandomDyedHue();

            Hue = Utility.RandomSkinHue();

            if (Female = Utility.RandomBool())
            {
                Body = 0x191;
                Name = NameList.RandomName("female");
            }
            else
            {
                Body = 0x190;
                Name = NameList.RandomName("male");
            }

            new Horse().Rider = this;

            AddItem(new StuddedChest());
            AddItem(new StuddedArms());
            AddItem(new StuddedGloves());
            AddItem(new StuddedGorget());
            AddItem(new StuddedLegs());
            AddItem(new Boots());
            AddItem(new SkullCap());

            Bow bow = new Bow();

            bow.Movable = false;
            bow.Crafter = this;
            bow.Quality = ItemQuality.Exceptional;

            AddItem(bow);

            Container pack = new Backpack();

            pack.Movable = false;

            Arrow arrows = new Arrow(250);

            arrows.LootType = LootType.Newbied;

            pack.DropItem(arrows);
            pack.DropItem(new Gold(10, 25));

            AddItem(pack);

            Skills[SkillName.Anatomy].Base      = 120.0;
            Skills[SkillName.Tactics].Base      = 120.0;
            Skills[SkillName.Archery].Base      = 120.0;
            Skills[SkillName.MagicResist].Base  = 120.0;
            Skills[SkillName.DetectHidden].Base = 100.0;

            NextCombatTime = Core.TickCount + 500;
            Focus          = target;
        }
Ejemplo n.º 31
0
 public MainWindow()
 {
     InitializeComponent();
     DataContext = new NameList();
 }
        public override void InitOutfit()
        {
            SetStr(117);
            SetDex(96);
            SetInt(54);

            SetSkill(SkillName.ArmsLore, 36.0, 68.0);
            SetSkill(SkillName.Blacksmith, 65.0, 88.0);
            SetSkill(SkillName.Fencing, 60.0, 83.0);
            SetSkill(SkillName.Macing, 61.0, 93.0);
            SetSkill(SkillName.Swords, 60.0, 83.0);
            SetSkill(SkillName.Tactics, 60.0, 83.0);
            SetSkill(SkillName.Parry, 61.0, 93.0);

            PackGold(41, 82);

            if (this.Female = Utility.RandomBool())
            {
                this.Body = 0x191;
                this.Name = NameList.RandomName("female");
                this.Hue  = Utility.RandomSkinHue();

                this.HairHue    = Utility.RandomList(26, 44, 81, 1102, 1107, 1108, 1109, 1116, 1117, 1122, 1138, 1140, 1141, 1146, 1148, 1149, 1153);
                this.HairItemID = Utility.RandomList(8251, 8252, 8253, 8260, 8261, 8262, 8263, 8264, 8265);

                switch (Utility.Random(17))
                {
                case 0: AddItem(new CitizenDress(Utility.RandomBlueHue())); break;

                case 1: AddItem(new CommonerDress(Utility.RandomGreenHue())); break;

                case 2: AddItem(new ConfessorDress(Utility.RandomRedHue())); break;

                case 3: AddItem(new ElegantGown(Utility.RandomYellowHue())); break;

                case 4: AddItem(new FancyDress(Utility.RandomBlueHue())); break;

                case 5: AddItem(new FlowerDress(Utility.RandomGreenHue())); break;

                case 6: AddItem(new FormalDress(Utility.RandomRedHue())); break;

                case 7: AddItem(new GildedDress(Utility.RandomYellowHue())); break;

                case 8: AddItem(new MaidensDress(Utility.RandomBlueHue())); break;

                case 9: AddItem(new MedievalLongDress(Utility.RandomGreenHue())); break;

                case 10: AddItem(new NobleDress(Utility.RandomRedHue())); break;

                case 11: AddItem(new NocturnalDress(Utility.RandomYellowHue())); break;

                case 12: AddItem(new PartyDress(Utility.RandomBlueHue())); break;

                case 13: AddItem(new PlainDress(Utility.RandomGreenHue())); break;

                case 14: AddItem(new ReinassanceDress(Utility.RandomRedHue())); break;

                case 15: AddItem(new TheaterDress(Utility.RandomYellowHue())); break;

                case 16: AddItem(new VictorianDress(Utility.RandomNeutralHue())); break;
                }

                switch (Utility.Random(8))
                {
                case 0: AddItem(new Boots(Utility.RandomNeutralHue())); break;

                case 1: AddItem(new FurBoots(Utility.RandomNeutralHue())); break;

                case 2: AddItem(new LightBoots(Utility.RandomNeutralHue())); break;

                case 3: AddItem(new Sandals(Utility.RandomNeutralHue())); break;

                case 4: AddItem(new ShortBoots(Utility.RandomNeutralHue())); break;

                case 5: AddItem(new ThighBoots(Utility.RandomNeutralHue())); break;
                }

                if (0.05 > Utility.RandomDouble())
                {
                    SilverBracelet bracelet = new SilverBracelet();
                    bracelet.Hue     = Utility.RandomList(26, 44, 81, 1102, 1107, 1108, 1109, 1116, 1117, 1122, 1138, 1140, 1141, 1146, 1148, 1149, 1153);
                    bracelet.Movable = true;
                    AddItem(bracelet);
                }

                if (0.05 > Utility.RandomDouble())
                {
                    SilverNecklace necklace = new SilverNecklace();
                    necklace.Hue     = Utility.RandomList(26, 44, 81, 1102, 1107, 1108, 1109, 1116, 1117, 1122, 1138, 1140, 1141, 1146, 1148, 1149, 1153);
                    necklace.Movable = true;
                    AddItem(necklace);
                }

                if (0.05 > Utility.RandomDouble())
                {
                    SilverEarrings earrings = new SilverEarrings();
                    earrings.Hue     = Utility.RandomList(26, 44, 81, 1102, 1107, 1108, 1109, 1116, 1117, 1122, 1138, 1140, 1141, 1146, 1148, 1149, 1153);
                    earrings.Movable = true;
                    AddItem(earrings);
                }
            }
            else
            {
                this.Body = 0x190;
                this.Name = NameList.RandomName("male");
                this.Hue  = Utility.RandomSkinHue();

                this.HairHue          = Utility.RandomList(26, 44, 81, 1102, 1107, 1108, 1109, 1116, 1117, 1122, 1138, 1140, 1141, 1146, 1148, 1149, 1153);
                this.HairItemID       = Utility.RandomList(8251, 8252, 8253, 8260, 8261, 8262, 8263, 8264, 8265);
                this.FacialHairHue    = Utility.RandomList(26, 44, 81, 1102, 1107, 1108, 1109, 1116, 1117, 1122, 1138, 1140, 1141, 1146, 1148, 1149, 1153);
                this.FacialHairItemID = Utility.RandomList(8254, 8255, 8256, 8257, 8267, 8268, 8269);

                switch (Utility.Random(8))
                {
                case 0: AddItem(new FancyShirt(Utility.RandomBlueHue())); break;

                case 1: AddItem(new FancyTunic(Utility.RandomGreenHue())); break;

                case 2: AddItem(new FormalShirt(Utility.RandomRedHue())); break;

                case 3: AddItem(new LeatherShirt(Utility.RandomYellowHue())); break;

                case 4: AddItem(new ReinassanceShirt(Utility.RandomBlueHue())); break;

                case 5: AddItem(new Shirt(Utility.RandomGreenHue())); break;

                case 6: AddItem(new Surcoat(Utility.RandomRedHue())); break;

                case 7: AddItem(new Tunic(Utility.RandomNeutralHue())); break;
                }


                switch (Utility.Random(9))
                {
                case 0: AddItem(new FancyPants(Utility.RandomNeutralHue())); break;

                case 1: AddItem(new FurSarong(Utility.RandomNeutralHue())); break;

                case 2: AddItem(new Hakama(Utility.RandomNeutralHue())); break;

                case 3: AddItem(new Kilt(Utility.RandomNeutralHue())); break;

                case 4: AddItem(new LeatherPants(Utility.RandomNeutralHue())); break;

                case 5: AddItem(new LongPants(Utility.RandomNeutralHue())); break;

                case 6: AddItem(new ReinassancePants(Utility.RandomNeutralHue())); break;

                case 7: AddItem(new ShortPants(Utility.RandomNeutralHue())); break;

                case 8: AddItem(new TattsukeHakama(Utility.RandomNeutralHue())); break;
                }

                switch (Utility.Random(6))
                {
                case 0: AddItem(new Boots(Utility.RandomNeutralHue())); break;

                case 1: AddItem(new HeavyBoots(Utility.RandomNeutralHue())); break;

                case 2: AddItem(new HighBoots(Utility.RandomNeutralHue())); break;

                case 3: AddItem(new Shoes(Utility.RandomNeutralHue())); break;

                case 4: AddItem(new ShortBoots(Utility.RandomNeutralHue())); break;

                case 5: AddItem(new ThighBoots(Utility.RandomNeutralHue())); break;
                }


                if (0.05 > Utility.RandomDouble())
                {
                    SilverBracelet bracelet = new SilverBracelet();
                    bracelet.Hue     = Utility.RandomList(26, 44, 81, 1102, 1107, 1108, 1109, 1116, 1117, 1122, 1138, 1140, 1141, 1146, 1148, 1149, 1153);
                    bracelet.Movable = true;
                    AddItem(bracelet);
                }

                if (0.05 > Utility.RandomDouble())
                {
                    SilverEarrings earrings = new SilverEarrings();
                    earrings.Hue     = Utility.RandomList(26, 44, 81, 1102, 1107, 1108, 1109, 1116, 1117, 1122, 1138, 1140, 1141, 1146, 1148, 1149, 1153);
                    earrings.Movable = true;
                    AddItem(earrings);
                }
            }

            if (0.05 > Utility.RandomDouble())
            {
                AddItem(new BodySash(Utility.RandomDyedHue()));
            }

            if (0.05 > Utility.RandomDouble())
            {
                switch (Utility.Random(6))
                {
                case 0: AddItem(new Bandana(Utility.RandomDyedHue())); break;

                case 1: AddItem(new Bonnet(Utility.RandomDyedHue())); break;

                case 2: AddItem(new Cap(Utility.RandomDyedHue())); break;

                case 3: AddItem(new FeatheredHat(Utility.RandomDyedHue())); break;

                case 4: AddItem(new SkullCap(Utility.RandomDyedHue())); break;

                case 5: AddItem(new WideBrimHat(Utility.RandomDyedHue())); break;
                }
            }
        }