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;
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: