fix: Updates professions & new player gargish equipment (#819)

* Now reads Prof.txt to get the professions
* The templated professions are based on profession `TrueName`
* Adds missing starting equipment
* Implements gargish starting equipment
* Consolidates some of the code
* Moves TC stuff to the TC file.
* Fixes some starting equipment that was wrong.

Note:
* Implementing the original T2A professions is possible on the client side, but requires moving the old clilocs to the current clilocs file. In the current file the entries are blank.
* Using the original LBR professions (they match AOS but without necromancy/chivalry) is kind of confusing because the profession indexes are ripped out of the UOTD/UOR ones and have non-sequential indexes. This will probably cause confusion and people will get no templated items when they select the wrong profession.
This commit is contained in:
Kamron Batman 2021-10-16 10:48:58 -07:00 • committed by GitHub
parent 7361c9158b
commit bfbe2a6512
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
80 changed files with 2654 additions and 1409 deletions

View file

@ -0,0 +1,25 @@
namespace Server.Items
{
[Serializable(0)]
[TypeAlias("Server.Items.GargishClothArms", "Server.Items.GargishClothArmsArmor")]
public partial class GargishClothArmsType1 : BaseArmor
{
[Constructible]
public GargishClothArmsType1() : base(0x404) => Weight = 2.0;
public override int BasePhysicalResistance => 5;
public override int BaseFireResistance => 7;
public override int BaseColdResistance => 6;
public override int BasePoisonResistance => 6;
public override int BaseEnergyResistance => 6;
public override int InitMinHits => 40;
public override int InitMaxHits => 50;
public override int AosStrReq => 20;
public override ArmorMaterialType MaterialType => ArmorMaterialType.Cloth;
public override CraftResource DefaultResource => CraftResource.None;
public override ArmorMeditationAllowance DefMedAllowance => ArmorMeditationAllowance.All;
public override int RequiredRaces => Race.AllowGargoylesOnly;
}
}

View file

@ -0,0 +1,25 @@
namespace Server.Items
{
[Serializable(0)]
[TypeAlias("Server.Items.FemaleGargishClothArms", "Server.Items.FemaleGargishClothArmsArmor")]
public partial class GargishClothArmsType2 : BaseArmor
{
[Constructible]
public GargishClothArmsType2() : base(0x403) => Weight = 2.0;
public override int BasePhysicalResistance => 5;
public override int BaseFireResistance => 7;
public override int BaseColdResistance => 6;
public override int BasePoisonResistance => 6;
public override int BaseEnergyResistance => 6;
public override int InitMinHits => 40;
public override int InitMaxHits => 50;
public override int AosStrReq => 20;
public override ArmorMaterialType MaterialType => ArmorMaterialType.Cloth;
public override CraftResource DefaultResource => CraftResource.None;
public override ArmorMeditationAllowance DefMedAllowance => ArmorMeditationAllowance.All;
public override int RequiredRaces => Race.AllowGargoylesOnly;
}
}

View file

@ -0,0 +1,25 @@
namespace Server.Items
{
[Serializable(0)]
[TypeAlias("Server.Items.GargishClothChest", "Server.Items.GargishClothChestArmor")]
public partial class GargishClothChestType1 : BaseArmor
{
[Constructible]
public GargishClothChestType1() : base(0x406) => Weight = 2.0;
public override int BasePhysicalResistance => 5;
public override int BaseFireResistance => 7;
public override int BaseColdResistance => 6;
public override int BasePoisonResistance => 6;
public override int BaseEnergyResistance => 6;
public override int InitMinHits => 40;
public override int InitMaxHits => 50;
public override int AosStrReq => 25;
public override ArmorMaterialType MaterialType => ArmorMaterialType.Cloth;
public override CraftResource DefaultResource => CraftResource.None;
public override ArmorMeditationAllowance DefMedAllowance => ArmorMeditationAllowance.All;
public override int RequiredRaces => Race.AllowGargoylesOnly;
}
}

View file

@ -0,0 +1,25 @@
namespace Server.Items
{
[Serializable(0)]
[TypeAlias("Server.Items.FemaleGargishClothChest", "Server.Items.FemaleGargishClothChestArmor")]
public partial class GargishClothChestType2 : BaseArmor
{
[Constructible]
public GargishClothChestType2() : base(0x405) => Weight = 2.0;
public override int BasePhysicalResistance => 5;
public override int BaseFireResistance => 7;
public override int BaseColdResistance => 6;
public override int BasePoisonResistance => 6;
public override int BaseEnergyResistance => 6;
public override int InitMinHits => 40;
public override int InitMaxHits => 50;
public override int AosStrReq => 25;
public override ArmorMaterialType MaterialType => ArmorMaterialType.Cloth;
public override CraftResource DefaultResource => CraftResource.None;
public override ArmorMeditationAllowance DefMedAllowance => ArmorMeditationAllowance.All;
public override int RequiredRaces => Race.AllowGargoylesOnly;
}
}

View file

@ -0,0 +1,25 @@
namespace Server.Items
{
[Serializable(0)]
[TypeAlias("Server.Items.GargishClothKilt", "Server.Items.GargishClothKiltArmor")]
public partial class GargishClothKiltType1 : BaseArmor
{
[Constructible]
public GargishClothKiltType1() : base(0x408) => Weight = 2.0;
public override int BasePhysicalResistance => 5;
public override int BaseFireResistance => 7;
public override int BaseColdResistance => 6;
public override int BasePoisonResistance => 6;
public override int BaseEnergyResistance => 6;
public override int InitMinHits => 40;
public override int InitMaxHits => 50;
public override int AosStrReq => 20;
public override ArmorMaterialType MaterialType => ArmorMaterialType.Cloth;
public override CraftResource DefaultResource => CraftResource.None;
public override ArmorMeditationAllowance DefMedAllowance => ArmorMeditationAllowance.All;
public override int RequiredRaces => Race.AllowGargoylesOnly;
}
}

View file

@ -0,0 +1,25 @@
namespace Server.Items
{
[Serializable(0)]
[TypeAlias("Server.Items.GargishClothKilt", "Server.Items.GargishClothKiltArmor")]
public partial class GargishClothKiltType2 : BaseArmor
{
[Constructible]
public GargishClothKiltType2() : base(0x407) => Weight = 2.0;
public override int BasePhysicalResistance => 5;
public override int BaseFireResistance => 7;
public override int BaseColdResistance => 6;
public override int BasePoisonResistance => 6;
public override int BaseEnergyResistance => 6;
public override int InitMinHits => 40;
public override int InitMaxHits => 50;
public override int AosStrReq => 20;
public override ArmorMaterialType MaterialType => ArmorMaterialType.Cloth;
public override CraftResource DefaultResource => CraftResource.None;
public override ArmorMeditationAllowance DefMedAllowance => ArmorMeditationAllowance.All;
public override int RequiredRaces => Race.AllowGargoylesOnly;
}
}

View file

@ -0,0 +1,25 @@
namespace Server.Items
{
[Serializable(0)]
[TypeAlias("Server.Items.GargishClothLegs", "Server.Items.GargishClothLegsArmor")]
public partial class GargishClothLegsType1 : BaseArmor
{
[Constructible]
public GargishClothLegsType1() : base(0x40A) => Weight = 2.0;
public override int BasePhysicalResistance => 5;
public override int BaseFireResistance => 7;
public override int BaseColdResistance => 6;
public override int BasePoisonResistance => 6;
public override int BaseEnergyResistance => 6;
public override int InitMinHits => 40;
public override int InitMaxHits => 50;
public override int AosStrReq => 20;
public override ArmorMaterialType MaterialType => ArmorMaterialType.Cloth;
public override CraftResource DefaultResource => CraftResource.None;
public override ArmorMeditationAllowance DefMedAllowance => ArmorMeditationAllowance.All;
public override int RequiredRaces => Race.AllowGargoylesOnly;
}
}

View file

@ -0,0 +1,25 @@
namespace Server.Items
{
[Serializable(0)]
[TypeAlias("Server.Items.FemaleGargishClothLegs", "Server.Items.FemaleGargishClothLegsArmor")]
public partial class GargishClothLegsType2 : BaseArmor
{
[Constructible]
public GargishClothLegsType2() : base(0x409) => Weight = 2.0;
public override int BasePhysicalResistance => 5;
public override int BaseFireResistance => 7;
public override int BaseColdResistance => 6;
public override int BasePoisonResistance => 6;
public override int BaseEnergyResistance => 6;
public override int InitMinHits => 40;
public override int InitMaxHits => 50;
public override int AosStrReq => 20;
public override ArmorMaterialType MaterialType => ArmorMaterialType.Cloth;
public override CraftResource DefaultResource => CraftResource.None;
public override ArmorMeditationAllowance DefMedAllowance => ArmorMeditationAllowance.All;
public override int RequiredRaces => Race.AllowGargoylesOnly;
}
}