fix: Codegen new haven quest rewards (#1269)

This commit is contained in:
Kamron Batman 2022-11-23 13:00:28 -08:00 • committed by GitHub
parent 520f15e46c
commit 80d7b49bcc
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
50 changed files with 533 additions and 832 deletions

View file

@ -1,32 +1,16 @@
namespace Server.Items
using ModernUO.Serialization;
namespace Server.Items;
[SerializationGenerator(0)]
public partial class AmeliasToolbox : TinkerTools
{
public class AmeliasToolbox : TinkerTools
[Constructible]
public AmeliasToolbox() : base(500)
{
[Constructible]
public AmeliasToolbox() : base(500)
{
LootType = LootType.Blessed;
Hue = 1895; // TODO check
}
public AmeliasToolbox(Serial serial) : base(serial)
{
}
public override int LabelNumber => 1077749; // Amelias Toolbox
public override void Serialize(IGenericWriter writer)
{
base.Serialize(writer);
writer.WriteEncodedInt(0); // version
}
public override void Deserialize(IGenericReader reader)
{
base.Deserialize(reader);
var version = reader.ReadEncodedInt();
}
LootType = LootType.Blessed;
Hue = 1895; // TODO check
}
public override int LabelNumber => 1077749; // Amelias Toolbox
}

View file

@ -1,40 +1,24 @@
namespace Server.Items
using ModernUO.Serialization;
namespace Server.Items;
[SerializationGenerator(0)]
public partial class ArmsOfArmstrong : LeatherArms
{
public class ArmsOfArmstrong : LeatherArms
[Constructible]
public ArmsOfArmstrong()
{
[Constructible]
public ArmsOfArmstrong()
{
LootType = LootType.Blessed;
LootType = LootType.Blessed;
Attributes.BonusStr = 3;
Attributes.RegenHits = 1;
}
public ArmsOfArmstrong(Serial serial) : base(serial)
{
}
public override int LabelNumber => 1077675; // Arms of Armstrong
public override int BasePhysicalResistance => 6;
public override int BaseFireResistance => 6;
public override int BaseColdResistance => 5;
public override int BasePoisonResistance => 5;
public override int BaseEnergyResistance => 5;
public override void Serialize(IGenericWriter writer)
{
base.Serialize(writer);
writer.WriteEncodedInt(0); // version
}
public override void Deserialize(IGenericReader reader)
{
base.Deserialize(reader);
var version = reader.ReadEncodedInt();
}
Attributes.BonusStr = 3;
Attributes.RegenHits = 1;
}
public override int LabelNumber => 1077675; // Arms of Armstrong
public override int BasePhysicalResistance => 6;
public override int BaseFireResistance => 6;
public override int BaseColdResistance => 5;
public override int BasePoisonResistance => 5;
public override int BaseEnergyResistance => 5;
}

View file

@ -1,33 +1,17 @@
namespace Server.Items
using ModernUO.Serialization;
namespace Server.Items;
[SerializationGenerator(0)]
public partial class BagOfNecromancerReagents : Bag
{
public class BagOfNecromancerReagents : Bag
[Constructible]
public BagOfNecromancerReagents(int amount = 50)
{
[Constructible]
public BagOfNecromancerReagents(int amount = 50)
{
DropItem(new BatWing(amount));
DropItem(new GraveDust(amount));
DropItem(new DaemonBlood(amount));
DropItem(new NoxCrystal(amount));
DropItem(new PigIron(amount));
}
public BagOfNecromancerReagents(Serial serial) : base(serial)
{
}
public override void Serialize(IGenericWriter writer)
{
base.Serialize(writer);
writer.WriteEncodedInt(0); // version
}
public override void Deserialize(IGenericReader reader)
{
base.Deserialize(reader);
var version = reader.ReadEncodedInt();
}
DropItem(new BatWing(amount));
DropItem(new GraveDust(amount));
DropItem(new DaemonBlood(amount));
DropItem(new NoxCrystal(amount));
DropItem(new PigIron(amount));
}
}

View file

@ -1,32 +1,16 @@
namespace Server.Items
using ModernUO.Serialization;
namespace Server.Items;
[SerializationGenerator(0)]
public partial class BagOfSmokeBombs : Bag
{
public class BagOfSmokeBombs : Bag
[Constructible]
public BagOfSmokeBombs(int amount = 20)
{
[Constructible]
public BagOfSmokeBombs(int amount = 20)
for (var i = 0; i < amount; ++i)
{
for (var i = 0; i < amount; ++i)
{
DropItem(new SmokeBomb());
}
}
public BagOfSmokeBombs(Serial serial) : base(serial)
{
}
public override void Serialize(IGenericWriter writer)
{
base.Serialize(writer);
writer.WriteEncodedInt(0); // version
}
public override void Deserialize(IGenericReader reader)
{
base.Deserialize(reader);
var version = reader.ReadEncodedInt();
DropItem(new SmokeBomb());
}
}
}

View file

@ -1,37 +1,21 @@
namespace Server.Items
using ModernUO.Serialization;
namespace Server.Items;
[SerializationGenerator(0)]
public partial class BraceletOfResilience : GoldBracelet
{
public class BraceletOfResilience : GoldBracelet
[Constructible]
public BraceletOfResilience()
{
[Constructible]
public BraceletOfResilience()
{
LootType = LootType.Blessed;
LootType = LootType.Blessed;
Attributes.DefendChance = 5;
Resistances.Fire = 5;
Resistances.Cold = 5;
Resistances.Poison = 5;
Resistances.Energy = 5;
}
public BraceletOfResilience(Serial serial) : base(serial)
{
}
public override int LabelNumber => 1077627; // Bracelet of Resilience
public override void Serialize(IGenericWriter writer)
{
base.Serialize(writer);
writer.WriteEncodedInt(0); // version
}
public override void Deserialize(IGenericReader reader)
{
base.Deserialize(reader);
var version = reader.ReadEncodedInt();
}
Attributes.DefendChance = 5;
Resistances.Fire = 5;
Resistances.Cold = 5;
Resistances.Poison = 5;
Resistances.Energy = 5;
}
public override int LabelNumber => 1077627; // Bracelet of Resilience
}

View file

@ -1,40 +1,24 @@
namespace Server.Items
using ModernUO.Serialization;
namespace Server.Items;
[SerializationGenerator(0)]
public partial class BulwarkLeggings : RingmailLegs
{
public class BulwarkLeggings : RingmailLegs
[Constructible]
public BulwarkLeggings()
{
[Constructible]
public BulwarkLeggings()
{
LootType = LootType.Blessed;
LootType = LootType.Blessed;
Attributes.RegenStam = 1;
Attributes.RegenMana = 1;
}
public BulwarkLeggings(Serial serial) : base(serial)
{
}
public override int LabelNumber => 1077727; // Bulwark Leggings
public override int BasePhysicalResistance => 9;
public override int BaseFireResistance => 5;
public override int BaseColdResistance => 5;
public override int BasePoisonResistance => 5;
public override int BaseEnergyResistance => 3;
public override void Serialize(IGenericWriter writer)
{
base.Serialize(writer);
writer.WriteEncodedInt(0); // version
}
public override void Deserialize(IGenericReader reader)
{
base.Deserialize(reader);
var version = reader.ReadEncodedInt();
}
Attributes.RegenStam = 1;
Attributes.RegenMana = 1;
}
public override int LabelNumber => 1077727; // Bulwark Leggings
public override int BasePhysicalResistance => 9;
public override int BaseFireResistance => 5;
public override int BaseColdResistance => 5;
public override int BasePoisonResistance => 5;
public override int BaseEnergyResistance => 3;
}

View file

@ -1,36 +1,20 @@
namespace Server.Items
using ModernUO.Serialization;
namespace Server.Items;
[SerializationGenerator(0)]
public partial class ChurchillsWarMace : WarMace
{
public class ChurchillsWarMace : WarMace
[Constructible]
public ChurchillsWarMace()
{
[Constructible]
public ChurchillsWarMace()
{
LootType = LootType.Blessed;
LootType = LootType.Blessed;
Attributes.AttackChance = 5;
Attributes.WeaponSpeed = 10;
Attributes.WeaponDamage = 25;
WeaponAttributes.LowerStatReq = 70;
}
public ChurchillsWarMace(Serial serial) : base(serial)
{
}
public override int LabelNumber => 1078062; // Churchill's War Mace
public override void Serialize(IGenericWriter writer)
{
base.Serialize(writer);
writer.WriteEncodedInt(0); // version
}
public override void Deserialize(IGenericReader reader)
{
base.Deserialize(reader);
var version = reader.ReadEncodedInt();
}
Attributes.AttackChance = 5;
Attributes.WeaponSpeed = 10;
Attributes.WeaponDamage = 25;
WeaponAttributes.LowerStatReq = 70;
}
public override int LabelNumber => 1078062; // Churchill's War Mace
}

View file

@ -1,36 +1,20 @@
namespace Server.Items
using ModernUO.Serialization;
namespace Server.Items;
[SerializationGenerator(0)]
public partial class ClaspOfConcentration : SilverBracelet
{
public class ClaspOfConcentration : SilverBracelet
[Constructible]
public ClaspOfConcentration()
{
[Constructible]
public ClaspOfConcentration()
{
LootType = LootType.Blessed;
LootType = LootType.Blessed;
Attributes.RegenStam = 2;
Attributes.RegenMana = 1;
Resistances.Fire = 5;
Resistances.Cold = 5;
}
public ClaspOfConcentration(Serial serial) : base(serial)
{
}
public override int LabelNumber => 1077695; // Clasp of Concentration
public override void Serialize(IGenericWriter writer)
{
base.Serialize(writer);
writer.WriteEncodedInt(0); // version
}
public override void Deserialize(IGenericReader reader)
{
base.Deserialize(reader);
var version = reader.ReadEncodedInt();
}
Attributes.RegenStam = 2;
Attributes.RegenMana = 1;
Resistances.Fire = 5;
Resistances.Cold = 5;
}
public override int LabelNumber => 1077695; // Clasp of Concentration
}

View file

@ -1,37 +1,21 @@
namespace Server.Items
using ModernUO.Serialization;
namespace Server.Items;
[SerializationGenerator(0)]
public partial class EmberStaff : QuarterStaff
{
public class EmberStaff : QuarterStaff
[Constructible]
public EmberStaff()
{
[Constructible]
public EmberStaff()
{
LootType = LootType.Blessed;
LootType = LootType.Blessed;
WeaponAttributes.HitFireball = 15;
WeaponAttributes.MageWeapon = 10;
Attributes.SpellChanneling = 1;
Attributes.CastSpeed = -1;
WeaponAttributes.LowerStatReq = 50;
}
public EmberStaff(Serial serial) : base(serial)
{
}
public override int LabelNumber => 1077582; // Ember Staff
public override void Serialize(IGenericWriter writer)
{
base.Serialize(writer);
writer.WriteEncodedInt(0); // version
}
public override void Deserialize(IGenericReader reader)
{
base.Deserialize(reader);
var version = reader.ReadEncodedInt();
}
WeaponAttributes.HitFireball = 15;
WeaponAttributes.MageWeapon = 10;
Attributes.SpellChanneling = 1;
Attributes.CastSpeed = -1;
WeaponAttributes.LowerStatReq = 50;
}
public override int LabelNumber => 1077582; // Ember Staff
}

View file

@ -1,41 +1,25 @@
namespace Server.Items
using ModernUO.Serialization;
namespace Server.Items;
[SerializationGenerator(0)]
public partial class EscutcheonDeAriadne : MetalKiteShield
{
public class EscutcheonDeAriadne : MetalKiteShield
[Constructible]
public EscutcheonDeAriadne()
{
[Constructible]
public EscutcheonDeAriadne()
{
LootType = LootType.Blessed;
Hue = 0x8A5;
LootType = LootType.Blessed;
Hue = 0x8A5;
ArmorAttributes.DurabilityBonus = 49;
Attributes.ReflectPhysical = 5;
Attributes.DefendChance = 5;
}
public EscutcheonDeAriadne(Serial serial) : base(serial)
{
}
public override int LabelNumber => 1077694; // Escutcheon de Ariadne
public override int BasePhysicalResistance => 5;
public override int BaseEnergyResistance => 1;
public override int AosStrReq => 14;
public override void Serialize(IGenericWriter writer)
{
base.Serialize(writer);
writer.WriteEncodedInt(0); // version
}
public override void Deserialize(IGenericReader reader)
{
base.Deserialize(reader);
var version = reader.ReadEncodedInt();
}
ArmorAttributes.DurabilityBonus = 49;
Attributes.ReflectPhysical = 5;
Attributes.DefendChance = 5;
}
public override int LabelNumber => 1077694; // Escutcheon de Ariadne
public override int BasePhysicalResistance => 5;
public override int BaseEnergyResistance => 1;
public override int AosStrReq => 14;
}

View file

@ -1,40 +1,24 @@
namespace Server.Items
using ModernUO.Serialization;
namespace Server.Items;
[SerializationGenerator(0)]
public partial class GlovesOfSafeguarding : LeatherGloves
{
public class GlovesOfSafeguarding : LeatherGloves
[Constructible]
public GlovesOfSafeguarding()
{
[Constructible]
public GlovesOfSafeguarding()
{
LootType = LootType.Blessed;
LootType = LootType.Blessed;
Attributes.BonusStam = 3;
Attributes.RegenHits = 1;
}
public GlovesOfSafeguarding(Serial serial) : base(serial)
{
}
public override int LabelNumber => 1077614; // Gloves of Safeguarding
public override int BasePhysicalResistance => 6;
public override int BaseFireResistance => 6;
public override int BaseColdResistance => 5;
public override int BasePoisonResistance => 5;
public override int BaseEnergyResistance => 5;
public override void Serialize(IGenericWriter writer)
{
base.Serialize(writer);
writer.WriteEncodedInt(0); // version
}
public override void Deserialize(IGenericReader reader)
{
base.Deserialize(reader);
var version = reader.ReadEncodedInt();
}
Attributes.BonusStam = 3;
Attributes.RegenHits = 1;
}
public override int LabelNumber => 1077614; // Gloves of Safeguarding
public override int BasePhysicalResistance => 6;
public override int BaseFireResistance => 6;
public override int BaseColdResistance => 5;
public override int BasePoisonResistance => 5;
public override int BaseEnergyResistance => 5;
}

View file

@ -1,33 +1,17 @@
namespace Server.Items
using ModernUO.Serialization;
namespace Server.Items;
[SerializationGenerator(0)]
public partial class HallowedSpellbook : Spellbook
{
public class HallowedSpellbook : Spellbook
[Constructible]
public HallowedSpellbook() : base(0x3FFFFFFFF)
{
[Constructible]
public HallowedSpellbook() : base(0x3FFFFFFFF)
{
LootType = LootType.Blessed;
LootType = LootType.Blessed;
Slayer = SlayerName.Silver;
}
public HallowedSpellbook(Serial serial) : base(serial)
{
}
public override int LabelNumber => 1077620; // Hallowed Spellbook
public override void Serialize(IGenericWriter writer)
{
base.Serialize(writer);
writer.WriteEncodedInt(0); // version
}
public override void Deserialize(IGenericReader reader)
{
base.Deserialize(reader);
var version = reader.ReadEncodedInt();
}
Slayer = SlayerName.Silver;
}
public override int LabelNumber => 1077620; // Hallowed Spellbook
}

View file

@ -1,82 +1,68 @@
using System;
using ModernUO.Serialization;
namespace Server.Items
namespace Server.Items;
[Flippable(0x13E3, 0x13E4)]
[SerializationGenerator(0)]
public partial class HammerOfHephaestus : SmithHammer
{
[Flippable(0x13E3, 0x13E4)]
public class HammerOfHephaestus : SmithHammer
public static readonly TimeSpan RechargeDelay = TimeSpan.FromMinutes(5);
[Constructible]
public HammerOfHephaestus()
{
public static readonly TimeSpan RechargeDelay = TimeSpan.FromMinutes(5);
UsesRemaining = 20;
LootType = LootType.Blessed;
[Constructible]
public HammerOfHephaestus()
// TODO: Blacksmith +10 bonus when equipped
StartRechargeTimer();
}
public override int LabelNumber => 1077740; // Hammer of Hephaestus
public override bool BreakOnDepletion => false;
/* Note:
* On EA, it also leaves the crafting gump open when it reaches 0 charges.
* When crafting again, only then the crafting gump closes with the 1072306 system message.
*/
public override void OnDoubleClick(Mobile from)
{
// TODO: These checks don't match EA, but they match BaseTool for now
if (!IsChildOf(from.Backpack) && Parent != from)
{
UsesRemaining = 20;
LootType = LootType.Blessed;
// TODO: Blacksmith +10 bonus when equipped
StartRechargeTimer();
from.SendLocalizedMessage(1042001); // That must be in your pack for you to use it.
}
public HammerOfHephaestus(Serial serial)
: base(serial)
else if (UsesRemaining <= 0)
{
from.SendLocalizedMessage(1072306); // You must wait a moment for it to recharge.
}
public override int LabelNumber => 1077740; // Hammer of Hephaestus
public override bool BreakOnDepletion => false;
/* Note:
* On EA, it also leaves the crafting gump open when it reaches 0 charges.
* When crafting again, only then the crafting gump closes with the 1072306 system message.
*/
public override void OnDoubleClick(Mobile from)
else
{
// TODO: These checks don't match EA, but they match BaseTool for now
if (!IsChildOf(from.Backpack) && Parent != from)
{
from.SendLocalizedMessage(1042001); // That must be in your pack for you to use it.
}
else if (UsesRemaining <= 0)
{
from.SendLocalizedMessage(1072306); // You must wait a moment for it to recharge.
}
else
{
base.OnDoubleClick(from);
}
}
private void StartRechargeTimer()
{
// TODO: Needs work
// Timer.DelayCall( RechargeDelay, RechargeDelay, new TimerCallback( Recharge ) );
}
public void Recharge()
{
// TODO: Stop timer at 20? Count downtime? Something more generic so we can use it for JacobsPickaxe too (both are IUsesRemaining)?
if (UsesRemaining < 20)
{
++UsesRemaining;
}
}
public override void Serialize(IGenericWriter writer)
{
base.Serialize(writer);
writer.WriteEncodedInt(0); // version
}
public override void Deserialize(IGenericReader reader)
{
base.Deserialize(reader);
var version = reader.ReadEncodedInt();
StartRechargeTimer();
base.OnDoubleClick(from);
}
}
private void StartRechargeTimer()
{
// TODO: Needs work
// Timer.DelayCall( RechargeDelay, RechargeDelay, new TimerCallback( Recharge ) );
}
public void Recharge()
{
// TODO: Stop timer at 20? Count downtime? Something more generic so we can use it for JacobsPickaxe too (both are IUsesRemaining)?
if (UsesRemaining < 20)
{
++UsesRemaining;
}
}
[AfterDeserialization]
private void AfterDeserialization()
{
StartRechargeTimer();
}
}

View file

@ -1,40 +1,24 @@
namespace Server.Items
using ModernUO.Serialization;
namespace Server.Items;
[SerializationGenerator(0)]
public partial class HealersTouch : LeatherGloves
{
public class HealersTouch : LeatherGloves
[Constructible]
public HealersTouch()
{
[Constructible]
public HealersTouch()
{
LootType = LootType.Blessed;
LootType = LootType.Blessed;
Attributes.BonusStam = 3;
Attributes.ReflectPhysical = 5;
}
public HealersTouch(Serial serial) : base(serial)
{
}
public override int LabelNumber => 1077684; // Healer's Touch
public override int BasePhysicalResistance => 6;
public override int BaseFireResistance => 6;
public override int BaseColdResistance => 5;
public override int BasePoisonResistance => 5;
public override int BaseEnergyResistance => 5;
public override void Serialize(IGenericWriter writer)
{
base.Serialize(writer);
writer.WriteEncodedInt(0); // version
}
public override void Deserialize(IGenericReader reader)
{
base.Deserialize(reader);
var version = reader.ReadEncodedInt();
}
Attributes.BonusStam = 3;
Attributes.ReflectPhysical = 5;
}
public override int LabelNumber => 1077684; // Healer's Touch
public override int BasePhysicalResistance => 6;
public override int BaseFireResistance => 6;
public override int BaseColdResistance => 5;
public override int BasePoisonResistance => 5;
public override int BaseEnergyResistance => 5;
}

View file

@ -1,36 +1,20 @@
namespace Server.Items
using ModernUO.Serialization;
namespace Server.Items;
[SerializationGenerator(0)]
public partial class Heartseeker : CompositeBow
{
public class Heartseeker : CompositeBow
[Constructible]
public Heartseeker()
{
[Constructible]
public Heartseeker()
{
LootType = LootType.Blessed;
LootType = LootType.Blessed;
Attributes.AttackChance = 5;
Attributes.WeaponSpeed = 10;
Attributes.WeaponDamage = 25;
WeaponAttributes.LowerStatReq = 70;
}
public Heartseeker(Serial serial) : base(serial)
{
}
public override int LabelNumber => 1078210; // Heartseeker
public override void Serialize(IGenericWriter writer)
{
base.Serialize(writer);
writer.WriteEncodedInt(0); // version
}
public override void Deserialize(IGenericReader reader)
{
base.Deserialize(reader);
var version = reader.ReadEncodedInt();
}
Attributes.AttackChance = 5;
Attributes.WeaponSpeed = 10;
Attributes.WeaponDamage = 25;
WeaponAttributes.LowerStatReq = 70;
}
public override int LabelNumber => 1078210; // Heartseeker
}

View file

@ -1,37 +1,20 @@
namespace Server.Items
using ModernUO.Serialization;
namespace Server.Items;
[SerializationGenerator(0)]
public partial class JacobsPickaxe : Pickaxe
{
public class JacobsPickaxe : Pickaxe
// TODO: Recharges 1 use every 5 minutes. Doesn't break when it reaches 0, you get a system message "You must wait a moment for it to recharge" 1072306 if you attempt to use it with no uses remaining.
[Constructible]
public JacobsPickaxe()
{
// TODO: Recharges 1 use every 5 minutes. Doesn't break when it reaches 0, you get a system message "You must wait a moment for it to recharge" 1072306 if you attempt to use it with no uses remaining.
UsesRemaining = 20;
LootType = LootType.Blessed;
[Constructible]
public JacobsPickaxe()
{
UsesRemaining = 20;
LootType = LootType.Blessed;
SkillBonuses.SetValues(0, SkillName.Mining, 10.0);
}
public JacobsPickaxe(Serial serial)
: base(serial)
{
}
public override int LabelNumber => 1077758; // Jacob's Pickaxe
public override void Serialize(IGenericWriter writer)
{
base.Serialize(writer);
writer.WriteEncodedInt(0); // version
}
public override void Deserialize(IGenericReader reader)
{
base.Deserialize(reader);
var version = reader.ReadEncodedInt();
}
SkillBonuses.SetValues(0, SkillName.Mining, 10.0);
}
public override int LabelNumber => 1077758; // Jacob's Pickaxe
}

View file

@ -1,35 +1,19 @@
namespace Server.Items
using ModernUO.Serialization;
namespace Server.Items;
[SerializationGenerator(0)]
public partial class JocklesQuicksword : Longsword
{
public class JocklesQuicksword : Longsword
[Constructible]
public JocklesQuicksword()
{
[Constructible]
public JocklesQuicksword()
{
LootType = LootType.Blessed;
LootType = LootType.Blessed;
Attributes.AttackChance = 5;
Attributes.WeaponSpeed = 10;
Attributes.WeaponDamage = 25;
}
public JocklesQuicksword(Serial serial) : base(serial)
{
}
public override int LabelNumber => 1077666; // Jockles' Quicksword
public override void Serialize(IGenericWriter writer)
{
base.Serialize(writer);
writer.WriteEncodedInt(0); // version
}
public override void Deserialize(IGenericReader reader)
{
base.Deserialize(reader);
var version = reader.ReadEncodedInt();
}
Attributes.AttackChance = 5;
Attributes.WeaponSpeed = 10;
Attributes.WeaponDamage = 25;
}
public override int LabelNumber => 1077666; // Jockles' Quicksword
}

View file

@ -1,40 +1,24 @@
namespace Server.Items
using ModernUO.Serialization;
namespace Server.Items;
[SerializationGenerator(0)]
public partial class PhilosophersHat : WizardsHat
{
public class PhilosophersHat : WizardsHat
[Constructible]
public PhilosophersHat()
{
[Constructible]
public PhilosophersHat()
{
LootType = LootType.Blessed;
LootType = LootType.Blessed;
Attributes.RegenMana = 1;
Attributes.LowerRegCost = 7;
}
public PhilosophersHat(Serial serial) : base(serial)
{
}
public override int LabelNumber => 1077602; // Philosopher's Hat
public override int BasePhysicalResistance => 5;
public override int BaseFireResistance => 5;
public override int BaseColdResistance => 9;
public override int BasePoisonResistance => 5;
public override int BaseEnergyResistance => 5;
public override void Serialize(IGenericWriter writer)
{
base.Serialize(writer);
writer.WriteEncodedInt(0); // version
}
public override void Deserialize(IGenericReader reader)
{
base.Deserialize(reader);
var version = reader.ReadEncodedInt();
}
Attributes.RegenMana = 1;
Attributes.LowerRegCost = 7;
}
public override int LabelNumber => 1077602; // Philosopher's Hat
public override int BasePhysicalResistance => 5;
public override int BaseFireResistance => 5;
public override int BaseColdResistance => 9;
public override int BasePoisonResistance => 5;
public override int BaseEnergyResistance => 5;
}

View file

@ -1,35 +1,19 @@
namespace Server.Items
using ModernUO.Serialization;
namespace Server.Items;
[SerializationGenerator(0)]
public partial class RecarosRiposte : WarFork
{
public class RecarosRiposte : WarFork
[Constructible]
public RecarosRiposte()
{
[Constructible]
public RecarosRiposte()
{
LootType = LootType.Blessed;
LootType = LootType.Blessed;
Attributes.AttackChance = 5;
Attributes.WeaponSpeed = 10;
Attributes.WeaponDamage = 25;
}
public RecarosRiposte(Serial serial) : base(serial)
{
}
public override int LabelNumber => 1078195; // Recaro's Riposte
public override void Serialize(IGenericWriter writer)
{
base.Serialize(writer);
writer.WriteEncodedInt(0); // version
}
public override void Deserialize(IGenericReader reader)
{
base.Deserialize(reader);
var version = reader.ReadEncodedInt();
}
Attributes.AttackChance = 5;
Attributes.WeaponSpeed = 10;
Attributes.WeaponDamage = 25;
}
public override int LabelNumber => 1078195; // Recaro's Riposte
}

View file

@ -1,35 +1,19 @@
namespace Server.Items
using ModernUO.Serialization;
namespace Server.Items;
[SerializationGenerator(0)]
public partial class RingOfTheSavant : GoldRing
{
public class RingOfTheSavant : GoldRing
[Constructible]
public RingOfTheSavant()
{
[Constructible]
public RingOfTheSavant()
{
LootType = LootType.Blessed;
LootType = LootType.Blessed;
Attributes.BonusInt = 3;
Attributes.CastRecovery = 1;
Attributes.CastSpeed = 1;
}
public RingOfTheSavant(Serial serial) : base(serial)
{
}
public override int LabelNumber => 1077608; // Ring of the Savant
public override void Serialize(IGenericWriter writer)
{
base.Serialize(writer);
writer.WriteEncodedInt(0); // version
}
public override void Deserialize(IGenericReader reader)
{
base.Deserialize(reader);
var version = reader.ReadEncodedInt();
}
Attributes.BonusInt = 3;
Attributes.CastRecovery = 1;
Attributes.CastSpeed = 1;
}
public override int LabelNumber => 1077608; // Ring of the Savant
}

View file

@ -1,35 +1,19 @@
namespace Server.Items
using ModernUO.Serialization;
namespace Server.Items;
[SerializationGenerator(0)]
public partial class SilverSerpentBlade : Kryss
{
public class SilverSerpentBlade : Kryss
[Constructible]
public SilverSerpentBlade()
{
[Constructible]
public SilverSerpentBlade()
{
LootType = LootType.Blessed;
LootType = LootType.Blessed;
Attributes.AttackChance = 5;
Attributes.WeaponSpeed = 10;
Attributes.WeaponDamage = 25;
}
public SilverSerpentBlade(Serial serial) : base(serial)
{
}
public override int LabelNumber => 1078163; // Silver Serpent Blade
public override void Serialize(IGenericWriter writer)
{
base.Serialize(writer);
writer.WriteEncodedInt(0); // version
}
public override void Deserialize(IGenericReader reader)
{
base.Deserialize(reader);
var version = reader.ReadEncodedInt();
}
Attributes.AttackChance = 5;
Attributes.WeaponSpeed = 10;
Attributes.WeaponDamage = 25;
}
public override int LabelNumber => 1078163; // Silver Serpent Blade
}

View file

@ -1,38 +1,22 @@
namespace Server.Items
using ModernUO.Serialization;
namespace Server.Items;
[SerializationGenerator(0)]
public partial class TheDragonsTail : NoDachi
{
public class TheDragonsTail : NoDachi
[Constructible]
public TheDragonsTail()
{
[Constructible]
public TheDragonsTail()
{
LootType = LootType.Blessed;
LootType = LootType.Blessed;
WeaponAttributes.HitLeechStam = 16;
Attributes.WeaponSpeed = 10;
Attributes.WeaponDamage = 25;
}
public TheDragonsTail(Serial serial) : base(serial)
{
}
public override int LabelNumber => 1078015; // The Dragon's Tail
public override int InitMinHits => 80;
public override int InitMaxHits => 80;
public override void Serialize(IGenericWriter writer)
{
base.Serialize(writer);
writer.WriteEncodedInt(0); // version
}
public override void Deserialize(IGenericReader reader)
{
base.Deserialize(reader);
var version = reader.ReadEncodedInt();
}
WeaponAttributes.HitLeechStam = 16;
Attributes.WeaponSpeed = 10;
Attributes.WeaponDamage = 25;
}
public override int LabelNumber => 1078015; // The Dragon's Tail
public override int InitMinHits => 80;
public override int InitMaxHits => 80;
}

View file

@ -1,40 +1,24 @@
namespace Server.Items
using ModernUO.Serialization;
namespace Server.Items;
[SerializationGenerator(0)]
public partial class TunicOfGuarding : LeatherChest
{
public class TunicOfGuarding : LeatherChest
[Constructible]
public TunicOfGuarding()
{
[Constructible]
public TunicOfGuarding()
{
LootType = LootType.Blessed;
LootType = LootType.Blessed;
Attributes.BonusHits = 2;
Attributes.ReflectPhysical = 5;
}
public TunicOfGuarding(Serial serial) : base(serial)
{
}
public override int LabelNumber => 1077693; // Tunic of Guarding
public override int BasePhysicalResistance => 6;
public override int BaseFireResistance => 6;
public override int BaseColdResistance => 5;
public override int BasePoisonResistance => 5;
public override int BaseEnergyResistance => 5;
public override void Serialize(IGenericWriter writer)
{
base.Serialize(writer);
writer.WriteEncodedInt(0); // version
}
public override void Deserialize(IGenericReader reader)
{
base.Deserialize(reader);
var version = reader.ReadEncodedInt();
}
Attributes.BonusHits = 2;
Attributes.ReflectPhysical = 5;
}
public override int LabelNumber => 1077693; // Tunic of Guarding
public override int BasePhysicalResistance => 6;
public override int BaseFireResistance => 6;
public override int BaseColdResistance => 5;
public override int BasePoisonResistance => 5;
public override int BaseEnergyResistance => 5;
}

View file

@ -1,39 +1,23 @@
namespace Server.Items
using ModernUO.Serialization;
namespace Server.Items;
[SerializationGenerator(0)]
public partial class TwilightJacket : LeatherNinjaJacket
{
public class TwilightJacket : LeatherNinjaJacket
[Constructible]
public TwilightJacket()
{
[Constructible]
public TwilightJacket()
{
LootType = LootType.Blessed;
LootType = LootType.Blessed;
Attributes.ReflectPhysical = 5;
}
public TwilightJacket(Serial serial) : base(serial)
{
}
public override int LabelNumber => 1078183; // Twilight Jacket
public override int BasePhysicalResistance => 6;
public override int BaseFireResistance => 12;
public override int BaseColdResistance => 3;
public override int BasePoisonResistance => 3;
public override int BaseEnergyResistance => 3;
public override void Serialize(IGenericWriter writer)
{
base.Serialize(writer);
writer.WriteEncodedInt(0); // version
}
public override void Deserialize(IGenericReader reader)
{
base.Deserialize(reader);
var version = reader.ReadEncodedInt();
}
Attributes.ReflectPhysical = 5;
}
public override int LabelNumber => 1078183; // Twilight Jacket
public override int BasePhysicalResistance => 6;
public override int BaseFireResistance => 12;
public override int BaseColdResistance => 3;
public override int BasePoisonResistance => 3;
public override int BaseEnergyResistance => 3;
}

View file

@ -1,34 +1,18 @@
namespace Server.Items
using ModernUO.Serialization;
namespace Server.Items;
[SerializationGenerator(0)]
public partial class WalkersLeggings : LeatherNinjaPants
{
public class WalkersLeggings : LeatherNinjaPants
{
[Constructible]
public WalkersLeggings() => LootType = LootType.Blessed;
[Constructible]
public WalkersLeggings() => LootType = LootType.Blessed;
public WalkersLeggings(Serial serial) : base(serial)
{
}
public override int LabelNumber => 1078222; // Walker's Leggings
public override int LabelNumber => 1078222; // Walker's Leggings
public override int BasePhysicalResistance => 10;
public override int BaseFireResistance => 6;
public override int BaseColdResistance => 6;
public override int BasePoisonResistance => 3;
public override int BaseEnergyResistance => 3;
public override void Serialize(IGenericWriter writer)
{
base.Serialize(writer);
writer.WriteEncodedInt(0); // version
}
public override void Deserialize(IGenericReader reader)
{
base.Deserialize(reader);
var version = reader.ReadEncodedInt();
}
}
public override int BasePhysicalResistance => 10;
public override int BaseFireResistance => 6;
public override int BaseColdResistance => 6;
public override int BasePoisonResistance => 3;
public override int BaseEnergyResistance => 3;
}

View file

@ -0,0 +1,4 @@
{
"version": 0,
"type": "Server.Items.AmeliasToolbox"
}

View file

@ -0,0 +1,4 @@
{
"version": 0,
"type": "Server.Items.ArmsOfArmstrong"
}

View file

@ -0,0 +1,4 @@
{
"version": 0,
"type": "Server.Items.BagOfNecromancerReagents"
}

View file

@ -0,0 +1,4 @@
{
"version": 0,
"type": "Server.Items.BagOfSmokeBombs"
}

View file

@ -0,0 +1,4 @@
{
"version": 0,
"type": "Server.Items.BraceletOfResilience"
}

View file

@ -0,0 +1,4 @@
{
"version": 0,
"type": "Server.Items.BulwarkLeggings"
}

View file

@ -0,0 +1,4 @@
{
"version": 0,
"type": "Server.Items.ChurchillsWarMace"
}

View file

@ -0,0 +1,4 @@
{
"version": 0,
"type": "Server.Items.ClaspOfConcentration"
}

View file

@ -0,0 +1,4 @@
{
"version": 0,
"type": "Server.Items.EmberStaff"
}

View file

@ -0,0 +1,4 @@
{
"version": 0,
"type": "Server.Items.EscutcheonDeAriadne"
}

View file

@ -0,0 +1,4 @@
{
"version": 0,
"type": "Server.Items.GlovesOfSafeguarding"
}

View file

@ -0,0 +1,4 @@
{
"version": 0,
"type": "Server.Items.HallowedSpellbook"
}

View file

@ -0,0 +1,4 @@
{
"version": 0,
"type": "Server.Items.HammerOfHephaestus"
}

View file

@ -0,0 +1,4 @@
{
"version": 0,
"type": "Server.Items.HealersTouch"
}

View file

@ -0,0 +1,4 @@
{
"version": 0,
"type": "Server.Items.Heartseeker"
}

View file

@ -0,0 +1,4 @@
{
"version": 0,
"type": "Server.Items.JacobsPickaxe"
}

View file

@ -0,0 +1,4 @@
{
"version": 0,
"type": "Server.Items.JocklesQuicksword"
}

View file

@ -0,0 +1,4 @@
{
"version": 0,
"type": "Server.Items.PhilosophersHat"
}

View file

@ -0,0 +1,4 @@
{
"version": 0,
"type": "Server.Items.RecarosRiposte"
}

View file

@ -0,0 +1,4 @@
{
"version": 0,
"type": "Server.Items.RingOfTheSavant"
}

View file

@ -0,0 +1,4 @@
{
"version": 0,
"type": "Server.Items.SilverSerpentBlade"
}

View file

@ -0,0 +1,4 @@
{
"version": 0,
"type": "Server.Items.TheDragonsTail"
}

View file

@ -0,0 +1,4 @@
{
"version": 0,
"type": "Server.Items.TunicOfGuarding"
}

View file

@ -0,0 +1,4 @@
{
"version": 0,
"type": "Server.Items.TwilightJacket"
}

View file

@ -0,0 +1,4 @@
{
"version": 0,
"type": "Server.Items.WalkersLeggings"
}