Serj

Member
CharacterCreation:
switch (prof)
            {
                case 1: // Warrior
                {
                    if (elf)
                        EquipItem(new LeafChest());
                    else if (human)
                        EquipItem(new LeatherChest());
                    else if (gargoyle)
                    {
                        EquipItem(new GargishLeatherChest());
                    }

                    break;
                }
                case 4: // Necromancer
                {
                    Container regs = new BagOfNecroReagents(50);

                    if (!Core.AOS)
                    {
                        foreach (var item in regs.Items)
                            item.LootType = LootType.Newbied;
                    }

                    PackItem(regs);

                    regs.LootType = LootType.Regular;
they jump straight to Necromancer case Why to not write @mage case 2 and @blacksmith case 3?
and interesting where is line Which describe for example my mage prof choise?
exclusive of those lines
C#:
case SkillName.Magery:
                {
                    var regs = new BagOfReagents(50);

                    if (!Core.AOS)
                    {
                        foreach (var item in regs.Items)
                            item.LootType = LootType.Newbied;
                    }

                    PackItem(regs);

                    regs.LootType = LootType.Regular;

                    PackScroll(0);
                    PackScroll(1);
                    PackScroll(2);
Post automatically merged:

ah understood
they included in SetSkills cases
and "items" added depending of which skills was set
C#:
 private static void SetSkills(Mobile m, SkillNameValue[] skills, int prof)
        {
            switch (prof)
            {
                case 1: // Warrior
                    {
                        skills = new[]
                        {
                        new SkillNameValue(SkillName.Anatomy, 30), new SkillNameValue(SkillName.Healing, 30),
                        new SkillNameValue(SkillName.Swords, 30), new SkillNameValue(SkillName.Tactics, 30)
                    };

                        break;
                    }
                case 2: // Magician
                    {
                        skills = new[]
                        {
                        new SkillNameValue(SkillName.EvalInt, 30), new SkillNameValue(SkillName.Wrestling, 30),
                        new SkillNameValue(SkillName.Magery, 30), new SkillNameValue(SkillName.Meditation, 30)
                    };

                        break;
                    }
                case 3: // Blacksmith
                    {
                        skills = new[]
                        {
                        new SkillNameValue(SkillName.Mining, 30), new SkillNameValue(SkillName.ArmsLore, 30),
                        new SkillNameValue(SkillName.Blacksmith, 30), new SkillNameValue(SkillName.Tinkering, 30)
                    };

                        break;
                    }
                case 4: // Necromancer
                    {
                        skills = new[]
                        {
                        new SkillNameValue(SkillName.Necromancy, 30),
                        new SkillNameValue(SkillName.SpiritSpeak, 30), new SkillNameValue(SkillName.Swords, 30),
                        new SkillNameValue(SkillName.Meditation, 20)
                    };

                        break;
                    }
                case 5: // Paladin
                    {
                        skills = new[]
                        {
                        new SkillNameValue(SkillName.Chivalry, 30), new SkillNameValue(SkillName.Swords, 30),
                        new SkillNameValue(SkillName.Focus, 30), new SkillNameValue(SkillName.Tactics, 30)
                    };

                        break;
                    }
                case 6: //Samurai
                    {
                        skills = new[]
                        {
                        new SkillNameValue(SkillName.Bushido, 30), new SkillNameValue(SkillName.Swords, 30),
                        new SkillNameValue(SkillName.Anatomy, 30), new SkillNameValue(SkillName.Healing, 30)
                    };
                        break;
                    }
                case 7: //Ninja
                    {
                        skills = new[]
                        {
                        new SkillNameValue(SkillName.Ninjitsu, 30), new SkillNameValue(SkillName.Hiding, 30),
                        new SkillNameValue(SkillName.Fencing, 30), new SkillNameValue(SkillName.Stealth, 30)
                    };
                        break;
                    }
                default:
                    {
                        if (!ValidSkills(skills))
                            return;

                        break;
                    }
            }

            bool addSkillItems = true;
            bool elf = (m.Race == Race.Elf);
            bool human = (m.Race == Race.Human);
            bool gargoyle = (m.Race == Race.Gargoyle);

            switch (prof)
            {
                case 1: // Warrior
                    {
                        if (elf)
                            EquipItem(new LeafChest());
                        else if (human)
                            EquipItem(new LeatherChest());
                        else if (gargoyle)
                        {
                            EquipItem(new GargishLeatherChest());
                        }

                        break;
                    }
                case 4: // Necromancer
                    {
                        Container regs = new BagOfNecroReagents(50);
                        PackItem(regs);

                        if (elf || human)
                            EquipItem(new BoneHelm());

                        if (elf)
                        {
                            EquipItem(new ElvenMachete());
                            EquipItem(NecroHue(new LeafChest()));
                            EquipItem(NecroHue(new LeafArms()));
                            EquipItem(NecroHue(new LeafGloves()));
                            EquipItem(NecroHue(new LeafGorget()));
                            EquipItem(NecroHue(new LeafGorget()));
                            EquipItem(NecroHue(new ElvenPants())); //TODO: Verify the pants
                            EquipItem(new ElvenBoots());
                        }
                        else if (human)
                        {
                            EquipItem(new BoneHarvester());
                            EquipItem(NecroHue(new LeatherChest()));
                            EquipItem(NecroHue(new LeatherArms()));
                            EquipItem(NecroHue(new LeatherGloves()));
                            EquipItem(NecroHue(new LeatherGorget()));
                            EquipItem(NecroHue(new LeatherLegs()));
                            EquipItem(NecroHue(new Skirt()));
                            EquipItem(new Sandals(0x8FD));
                        }
                        else if (gargoyle)
                        {
                            EquipItem(new GlassSword());
                            EquipItem(NecroHue(new GargishLeatherChest()));
                            EquipItem(NecroHue(new GargishLeatherArms()));
                            EquipItem(NecroHue(new GargishLeatherLegs()));
                            EquipItem(NecroHue(new GargishLeatherKilt()));
                        }

                        Spellbook
                            book = new NecromancerSpellbook(
                                (ulong)0x8981); // animate dead, evil omen, pain spike, summon familiar, wraith form

                        PackItem(book);

                        book.LootType = LootType.Blessed;

                        addSkillItems = false;
                        break;
                    }
                case 5: // Paladin
                    {
                        if (elf)
                        {
                            EquipItem(new ElvenMachete());
                            EquipItem(new WingedHelm());
                            EquipItem(new LeafGorget());
                            EquipItem(new LeafArms());
                            EquipItem(new LeafChest());
                            EquipItem(new LeafLegs());
                            EquipItem(new ElvenBoots()); //Verify hue
                        }
                        else if (human)
                        {
                            EquipItem(new Broadsword());
                            EquipItem(new Helmet());
                            EquipItem(new PlateGorget());
                            EquipItem(new RingmailArms());
                            EquipItem(new RingmailChest());
                            EquipItem(new RingmailLegs());
                            EquipItem(new ThighBoots(0x748));
                            EquipItem(new Cloak(0xCF));
                            EquipItem(new BodySash(0xCF));
                        }
                        else if (gargoyle)
                        {
                            EquipItem(new DreadSword());
                            EquipItem(new GargishPlateChest());
                            EquipItem(new GargishPlateArms());
                            EquipItem(new GargishPlateLegs());
                            EquipItem(new GargishPlateKilt());
                        }

                        Spellbook book = new BookOfChivalry((ulong)0x3FF)
                        {
                            LootType = LootType.Blessed
                        };
                        PackItem(book);

                        addSkillItems = false;
                        break;
                    }
                case 6: // Samurai
                    {
                        if (elf || human)
                        {
                            EquipItem(new HakamaShita(0x2C3));
                            EquipItem(new Hakama(0x2C3));
                            EquipItem(new SamuraiTabi(0x2C3));
                            EquipItem(new TattsukeHakama(0x22D));
                            EquipItem(new Bokuto());

                            if (elf)
                                EquipItem(new RavenHelm());
                            else
                                EquipItem(new LeatherJingasa());
                        }
                        else if (gargoyle)
                        {
                            EquipItem(new GlassSword());
                            EquipItem(new GargishPlateChest());
                            EquipItem(new GargishPlateArms());
                            EquipItem(new GargishPlateLegs());
                            EquipItem(new GargishPlateKilt());
                        }

                        PackItem(new Scissors());
                        PackItem(new Bandage(50));

                        Spellbook book = new BookOfBushido();
                        PackItem(book);

                        addSkillItems = false;
                        break;
                    }
                case 7: // Ninja
                    {
                        int[] hues = new[] { 0x1A8, 0xEC, 0x99, 0x90, 0xB5, 0x336, 0x89 };
                        //TODO: Verify that's ALL the hues for that above.

                        if (elf || human)
                        {
                            EquipItem(new Kasa());
                            EquipItem(new TattsukeHakama(hues[Utility.Random(hues.Length)]));
                            EquipItem(new HakamaShita(0x2C3));
                            EquipItem(new NinjaTabi(0x2C3));

                            if (elf)
                                EquipItem(new AssassinSpike());
                            else
                                EquipItem(new Tekagi());
                        }
                        else if (gargoyle)
                        {
                            EquipItem(new GargishDagger());

                            int hue = hues[Utility.Random(hues.Length)];

                            EquipItem(new GargishClothChestArmor(hue));
                            EquipItem(new GargishClothArmsArmor(hue));
                            EquipItem(new GargishClothLegsArmor(hue));
                            EquipItem(new GargishClothKiltArmor(hue));
                        }

                        PackItem(new SmokeBomb());

                        Spellbook book = new BookOfNinjitsu();
                        PackItem(book);

                        addSkillItems = false;
                        break;
                    }
            }

            for (int i = 0; i < skills.Length; ++i)
            {
                SkillNameValue snv = skills[i];

                if (snv.Value > 0 && (snv.Name != SkillName.Stealth || prof == 7) && snv.Name != SkillName.RemoveTrap &&
                    snv.Name != SkillName.Spellweaving)
                {
                    Skill skill = m.Skills[snv.Name];

                    if (skill != null)
                    {
                        skill.BaseFixedPoint = snv.Value * 10;

                        if (addSkillItems)
                            AddSkillItems(snv.Name, m);
                    }
                }
            }
        }
 
Last edited:

Active Shards

Donations

Total amount
$0.00
Goal
$500.00
Back