Reorganizes Project (#41)

This commit is contained in:
Kamron Batman 2019-08-02 18:13:40 -07:00 • committed by GitHub
parent 08bf44af9a
commit 3614a66aee
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
3499 changed files with 79 additions and 55 deletions

View file

@ -0,0 +1,49 @@
namespace Server.Items
{
public class AegisOfGrace : DragonHelm
{
[Constructible]
public AegisOfGrace()
{
SkillBonuses.SetValues(0, SkillName.MagicResist, 10.0);
Attributes.DefendChance = 20;
ArmorAttributes.SelfRepair = 2;
}
public AegisOfGrace(Serial serial) : base(serial)
{
}
public override int LabelNumber => 1075047; // Aegis of Grace
public override int BasePhysicalResistance => 10;
public override int BaseFireResistance => 9;
public override int BaseColdResistance => 7;
public override int BasePoisonResistance => 7;
public override int BaseEnergyResistance => 15;
public override ArmorMaterialType MaterialType => ArmorMaterialType.Dragon;
public override CraftResource DefaultResource => CraftResource.Iron;
public override int InitMinHits => 255;
public override int InitMaxHits => 255;
public override Race RequiredRace => Race.Elf;
public override void Serialize(GenericWriter writer)
{
base.Serialize(writer);
writer.WriteEncodedInt(0); // version
}
public override void Deserialize(GenericReader reader)
{
base.Deserialize(reader);
int version = reader.ReadEncodedInt();
}
}
}

View file

@ -0,0 +1,40 @@
namespace Server.Items
{
public class BladeDance : RuneBlade
{
[Constructible]
public BladeDance()
{
Hue = 0x66C;
Attributes.BonusMana = 8;
Attributes.SpellChanneling = 1;
Attributes.WeaponDamage = 30;
WeaponAttributes.HitLeechMana = 20;
WeaponAttributes.UseBestSkill = 1;
}
public BladeDance(Serial serial) : base(serial)
{
}
public override int LabelNumber => 1075033; // Blade Dance
public override int InitMinHits => 255;
public override int InitMaxHits => 255;
public override void Serialize(GenericWriter writer)
{
base.Serialize(writer);
writer.WriteEncodedInt(0); // version
}
public override void Deserialize(GenericReader reader)
{
base.Deserialize(reader);
int version = reader.ReadEncodedInt();
}
}
}

View file

@ -0,0 +1,43 @@
namespace Server.Items
{
public class BloodwoodSpirit : BaseTalisman
{
[Constructible]
public BloodwoodSpirit() : base(0x2F5A)
{
Hue = 0x27;
MaxChargeTime = 1200;
Removal = TalismanRemoval.Damage;
Blessed = GetRandomBlessed();
Protection = GetRandomProtection(false);
SkillBonuses.SetValues(0, SkillName.SpiritSpeak, 10.0);
SkillBonuses.SetValues(1, SkillName.Necromancy, 5.0);
}
public BloodwoodSpirit(Serial serial) : base(serial)
{
}
public override int LabelNumber => 1075034; // Bloodwood Spirit
public override bool ForceShowName => true;
public override void Serialize(GenericWriter writer)
{
base.Serialize(writer);
writer.Write(1); // version
}
public override void Deserialize(GenericReader reader)
{
base.Deserialize(reader);
int version = reader.ReadInt();
if (version == 0 && (Protection == null || Protection.IsEmpty))
Protection = GetRandomProtection(false);
}
}
}

View file

@ -0,0 +1,40 @@
namespace Server.Items
{
public class Bonesmasher : DiamondMace
{
[Constructible]
public Bonesmasher()
{
ItemID = 0x2D30;
Hue = 0x482;
SkillBonuses.SetValues(0, SkillName.Macing, 10.0);
WeaponAttributes.HitLeechMana = 40;
WeaponAttributes.SelfRepair = 2;
}
public Bonesmasher(Serial serial) : base(serial)
{
}
public override int LabelNumber => 1075030; // Bonesmasher
public override int InitMinHits => 255;
public override int InitMaxHits => 255;
public override void Serialize(GenericWriter writer)
{
base.Serialize(writer);
writer.WriteEncodedInt(0); // version
}
public override void Deserialize(GenericReader reader)
{
base.Deserialize(reader);
int version = reader.ReadEncodedInt();
}
}
}

View file

@ -0,0 +1,46 @@
namespace Server.Items
{
public class Boomstick : WildStaff
{
[Constructible]
public Boomstick()
{
Hue = 0x25;
Attributes.SpellChanneling = 1;
Attributes.RegenMana = 3;
Attributes.CastSpeed = 1;
Attributes.LowerRegCost = 20;
}
public Boomstick(Serial serial) : base(serial)
{
}
public override int LabelNumber => 1075032; // Boomstick
public override int InitMinHits => 255;
public override int InitMaxHits => 255;
public override void GetDamageTypes(Mobile wielder, out int phys, out int fire, out int cold, out int pois,
out int nrgy, out int chaos, out int direct)
{
phys = fire = cold = pois = nrgy = direct = 0;
chaos = 100;
}
public override void Serialize(GenericWriter writer)
{
base.Serialize(writer);
writer.WriteEncodedInt(0); // version
}
public override void Deserialize(GenericReader reader)
{
base.Deserialize(reader);
int version = reader.ReadEncodedInt();
}
}
}

View file

@ -0,0 +1,51 @@
namespace Server.Items
{
public class BrightsightLenses : ElvenGlasses
{
[Constructible]
public BrightsightLenses()
{
Hue = 0x501;
Attributes.NightSight = 1;
Attributes.RegenMana = 3;
ArmorAttributes.SelfRepair = 3;
}
public BrightsightLenses(Serial serial) : base(serial)
{
}
public override int LabelNumber => 1075039; // Brightsight Lenses
public override int BasePhysicalResistance => 9;
public override int BaseFireResistance => 29;
public override int BaseColdResistance => 7;
public override int BasePoisonResistance => 8;
public override int BaseEnergyResistance => 7;
public override int InitMinHits => 255;
public override int InitMaxHits => 255;
public override void Serialize(GenericWriter writer)
{
base.Serialize(writer);
writer.Write(1); // version
}
public override void Deserialize(GenericReader reader)
{
base.Deserialize(reader);
int version = reader.ReadInt();
if (version < 1)
{
WeaponAttributes.SelfRepair = 0;
ArmorAttributes.SelfRepair = 3;
}
}
}
}

View file

@ -0,0 +1,45 @@
namespace Server.Items
{
public class FeyLeggings : ChainLegs
{
[Constructible]
public FeyLeggings()
{
Attributes.BonusHits = 6;
Attributes.DefendChance = 20;
ArmorAttributes.MageArmor = 1;
}
public FeyLeggings(Serial serial) : base(serial)
{
}
public override int LabelNumber => 1075041; // Fey Leggings
public override int BasePhysicalResistance => 12;
public override int BaseFireResistance => 8;
public override int BaseColdResistance => 7;
public override int BasePoisonResistance => 4;
public override int BaseEnergyResistance => 19;
public override int InitMinHits => 255;
public override int InitMaxHits => 255;
public override Race RequiredRace => Race.Elf;
public override void Serialize(GenericWriter writer)
{
base.Serialize(writer);
writer.WriteEncodedInt(0); // version
}
public override void Deserialize(GenericReader reader)
{
base.Deserialize(reader);
int version = reader.ReadEncodedInt();
}
}
}

View file

@ -0,0 +1,43 @@
namespace Server.Items
{
public class FleshRipper : AssassinSpike
{
[Constructible]
public FleshRipper()
{
Hue = 0x341;
SkillBonuses.SetValues(0, SkillName.Anatomy, 10.0);
Attributes.BonusStr = 5;
Attributes.AttackChance = 15;
Attributes.WeaponSpeed = 40;
WeaponAttributes.UseBestSkill = 1;
// TODO: Mage Slayer
}
public FleshRipper(Serial serial) : base(serial)
{
}
public override int LabelNumber => 1075045; // Flesh Ripper
public override int InitMinHits => 255;
public override int InitMaxHits => 255;
public override void Serialize(GenericWriter writer)
{
base.Serialize(writer);
writer.WriteEncodedInt(0); // version
}
public override void Deserialize(GenericReader reader)
{
base.Deserialize(reader);
int version = reader.ReadEncodedInt();
}
}
}

View file

@ -0,0 +1,45 @@
namespace Server.Items
{
public class HelmOfSwiftness : WingedHelm
{
[Constructible]
public HelmOfSwiftness()
{
Hue = 0x592;
Attributes.BonusInt = 5;
Attributes.CastSpeed = 1;
Attributes.CastRecovery = 2;
ArmorAttributes.MageArmor = 1;
}
public HelmOfSwiftness(Serial serial) : base(serial)
{
}
public override int LabelNumber => 1075037; // Helm of Swiftness
public override int BasePhysicalResistance => 6;
public override int BaseFireResistance => 5;
public override int BaseColdResistance => 6;
public override int BasePoisonResistance => 6;
public override int BaseEnergyResistance => 8;
public override int InitMinHits => 255;
public override int InitMaxHits => 255;
public override void Serialize(GenericWriter writer)
{
base.Serialize(writer);
writer.WriteEncodedInt(0); // version
}
public override void Deserialize(GenericReader reader)
{
base.Deserialize(reader);
int version = reader.ReadEncodedInt();
}
}
}

View file

@ -0,0 +1,39 @@
namespace Server.Items
{
public class MelisandesCorrodedHatchet : Hatchet
{
[Constructible]
public MelisandesCorrodedHatchet()
{
Hue = 0x494;
SkillBonuses.SetValues(0, SkillName.Lumberjacking, 5.0);
Attributes.SpellChanneling = 1;
Attributes.WeaponSpeed = 15;
Attributes.WeaponDamage = -50;
WeaponAttributes.SelfRepair = 4;
}
public MelisandesCorrodedHatchet(Serial serial) : base(serial)
{
}
public override int LabelNumber => 1072115; // Melisande's Corroded Hatchet
public override void Serialize(GenericWriter writer)
{
base.Serialize(writer);
writer.WriteEncodedInt(0); // version
}
public override void Deserialize(GenericReader reader)
{
base.Deserialize(reader);
int version = reader.ReadEncodedInt();
}
}
}

View file

@ -0,0 +1,30 @@
namespace Server.Items
{
public class PadsOfTheCuSidhe : FurBoots
{
[Constructible]
public PadsOfTheCuSidhe() : base(0x47E)
{
}
public PadsOfTheCuSidhe(Serial serial) : base(serial)
{
}
public override int LabelNumber => 1075048; // Pads of the Cu Sidhe
public override void Serialize(GenericWriter writer)
{
base.Serialize(writer);
writer.WriteEncodedInt(0); // version
}
public override void Deserialize(GenericReader reader)
{
base.Deserialize(reader);
int version = reader.ReadEncodedInt();
}
}
}

View file

@ -0,0 +1,39 @@
namespace Server.Items
{
public class QuiverOfElements : BaseQuiver
{
[Constructible]
public QuiverOfElements()
{
Hue = 0xEB;
WeightReduction = 50;
}
public QuiverOfElements(Serial serial) : base(serial)
{
}
public override int LabelNumber => 1075040; // Quiver of the Elements
public override void AlterBowDamage(ref int phys, ref int fire, ref int cold, ref int pois, ref int nrgy,
ref int chaos, ref int direct)
{
phys = fire = cold = pois = nrgy = direct = 0;
chaos = 100;
}
public override void Serialize(GenericWriter writer)
{
base.Serialize(writer);
writer.WriteEncodedInt(0); // version
}
public override void Deserialize(GenericReader reader)
{
base.Deserialize(reader);
int version = reader.ReadEncodedInt();
}
}
}

View file

@ -0,0 +1,41 @@
namespace Server.Items
{
public class QuiverOfRage : BaseQuiver
{
[Constructible]
public QuiverOfRage()
{
Hue = 0x24C;
WeightReduction = 25;
DamageIncrease = 10;
}
public QuiverOfRage(Serial serial) : base(serial)
{
}
public override int LabelNumber => 1075038; // Quiver of Rage
public override void AlterBowDamage(ref int phys, ref int fire, ref int cold, ref int pois, ref int nrgy,
ref int chaos, ref int direct)
{
chaos = direct = 0;
phys = fire = cold = pois = nrgy = 20;
}
public override void Serialize(GenericWriter writer)
{
base.Serialize(writer);
writer.WriteEncodedInt(0); // version
}
public override void Deserialize(GenericReader reader)
{
base.Deserialize(reader);
int version = reader.ReadEncodedInt();
}
}
}

View file

@ -0,0 +1,41 @@
namespace Server.Items
{
public class RaedsGlory : WarCleaver
{
[Constructible]
public RaedsGlory()
{
ItemID = 0x2D23;
Hue = 0x1E6;
Attributes.BonusMana = 8;
Attributes.SpellChanneling = 1;
Attributes.WeaponSpeed = 20;
WeaponAttributes.HitLeechHits = 40;
}
public RaedsGlory(Serial serial) : base(serial)
{
}
public override int LabelNumber => 1075036; // Raed's Glory
public override int InitMinHits => 255;
public override int InitMaxHits => 255;
public override void Serialize(GenericWriter writer)
{
base.Serialize(writer);
writer.WriteEncodedInt(0); // version
}
public override void Deserialize(GenericReader reader)
{
base.Deserialize(reader);
int version = reader.ReadEncodedInt();
}
}
}

View file

@ -0,0 +1,39 @@
namespace Server.Items
{
public class RighteousAnger : ElvenMachete
{
[Constructible]
public RighteousAnger()
{
Hue = 0x284;
Attributes.AttackChance = 15;
Attributes.DefendChance = 5;
Attributes.WeaponSpeed = 35;
Attributes.WeaponDamage = 40;
}
public RighteousAnger(Serial serial) : base(serial)
{
}
public override int LabelNumber => 1075049; // Righteous Anger
public override int InitMinHits => 255;
public override int InitMaxHits => 255;
public override void Serialize(GenericWriter writer)
{
base.Serialize(writer);
writer.WriteEncodedInt(0); // version
}
public override void Deserialize(GenericReader reader)
{
base.Deserialize(reader);
int version = reader.ReadEncodedInt();
}
}
}

View file

@ -0,0 +1,36 @@
namespace Server.Items
{
[Flippable(0x1F03, 0x1F04)]
public class RobeOfTheEclipse : BaseOuterTorso
{
[Constructible]
public RobeOfTheEclipse() : base(0x1F03, 0x486)
{
Weight = 3.0;
Attributes.Luck = 95;
// TODO: Supports arcane?
}
public RobeOfTheEclipse(Serial serial) : base(serial)
{
}
public override int LabelNumber => 1075082; // Robe of the Eclipse
public override void Serialize(GenericWriter writer)
{
base.Serialize(writer);
writer.WriteEncodedInt(0); // version
}
public override void Deserialize(GenericReader reader)
{
base.Deserialize(reader);
int version = reader.ReadEncodedInt();
}
}
}

View file

@ -0,0 +1,37 @@
namespace Server.Items
{
[Flippable(0x1F03, 0x1F04)]
public class RobeOfTheEquinox : BaseOuterTorso
{
[Constructible]
public RobeOfTheEquinox() : base(0x1F04, 0xD6)
{
Weight = 3.0;
Attributes.Luck = 95;
// TODO: Supports arcane?
// TODO: Elves Only
}
public RobeOfTheEquinox(Serial serial) : base(serial)
{
}
public override int LabelNumber => 1075042; // Robe of the Equinox
public override void Serialize(GenericWriter writer)
{
base.Serialize(writer);
writer.WriteEncodedInt(0); // version
}
public override void Deserialize(GenericReader reader)
{
base.Deserialize(reader);
int version = reader.ReadEncodedInt();
}
}
}

View file

@ -0,0 +1,48 @@
namespace Server.Items
{
public class SoulSeeker : RadiantScimitar
{
[Constructible]
public SoulSeeker()
{
Hue = 0x38C;
WeaponAttributes.HitLeechStam = 40;
WeaponAttributes.HitLeechMana = 40;
WeaponAttributes.HitLeechHits = 40;
Attributes.WeaponSpeed = 60;
Slayer = SlayerName.Repond;
}
public SoulSeeker(Serial serial) : base(serial)
{
}
public override int LabelNumber => 1075046; // Soul Seeker
public override int InitMinHits => 255;
public override int InitMaxHits => 255;
public override void GetDamageTypes(Mobile wielder, out int phys, out int fire, out int cold, out int pois,
out int nrgy, out int chaos, out int direct)
{
cold = 100;
pois = fire = phys = nrgy = chaos = direct = 0;
}
public override void Serialize(GenericWriter writer)
{
base.Serialize(writer);
writer.WriteEncodedInt(0); // version
}
public override void Deserialize(GenericReader reader)
{
base.Deserialize(reader);
int version = reader.ReadEncodedInt();
}
}
}

View file

@ -0,0 +1,44 @@
namespace Server.Items
{
public class TalonBite : OrnateAxe
{
[Constructible]
public TalonBite()
{
ItemID = 0x2D34;
Hue = 0x47E;
SkillBonuses.SetValues(0, SkillName.Tactics, 10.0);
Attributes.BonusDex = 8;
Attributes.WeaponSpeed = 20;
Attributes.WeaponDamage = 35;
WeaponAttributes.HitHarm = 33;
WeaponAttributes.UseBestSkill = 1;
}
public TalonBite(Serial serial) : base(serial)
{
}
public override int LabelNumber => 1075029; // Talon Bite
public override int InitMinHits => 255;
public override int InitMaxHits => 255;
public override void Serialize(GenericWriter writer)
{
base.Serialize(writer);
writer.WriteEncodedInt(0); // version
}
public override void Deserialize(GenericReader reader)
{
base.Deserialize(reader);
int version = reader.ReadEncodedInt();
}
}
}

View file

@ -0,0 +1,50 @@
using System;
using Server.Mobiles;
namespace Server.Items
{
public class TotemOfVoid : BaseTalisman
{
[Constructible]
public TotemOfVoid() : base(0x2F5B)
{
Hue = 0x2D0;
MaxChargeTime = 1800;
Blessed = GetRandomBlessed();
Protection = GetRandomProtection(false);
Attributes.RegenHits = 2;
Attributes.LowerManaCost = 10;
}
public TotemOfVoid(Serial serial) : base(serial)
{
}
public override int LabelNumber => 1075035; // Totem of the Void
public override bool ForceShowName => true;
public override Type GetSummoner()
{
return Utility.RandomBool() ? typeof(SummonedSkeletalKnight) : typeof(SummonedSheep);
}
public override void Serialize(GenericWriter writer)
{
base.Serialize(writer);
writer.Write(1); // version
}
public override void Deserialize(GenericReader reader)
{
base.Deserialize(reader);
int version = reader.ReadInt();
if (version == 0 && (Protection == null || Protection.IsEmpty))
Protection = GetRandomProtection(false);
}
}
}

View file

@ -0,0 +1,46 @@
namespace Server.Items
{
public class WildfireBow : ElvenCompositeLongbow
{
[Constructible]
public WildfireBow()
{
Hue = 0x489;
SkillBonuses.SetValues(0, SkillName.Archery, 10);
WeaponAttributes.ResistFireBonus = 25;
Velocity = 15;
}
public WildfireBow(Serial serial) : base(serial)
{
}
public override int LabelNumber => 1075044; // Wildfire Bow
public override int InitMinHits => 255;
public override int InitMaxHits => 255;
public override void GetDamageTypes(Mobile wielder, out int phys, out int fire, out int cold, out int pois,
out int nrgy, out int chaos, out int direct)
{
phys = cold = pois = nrgy = chaos = direct = 0;
fire = 100;
}
public override void Serialize(GenericWriter writer)
{
base.Serialize(writer);
writer.WriteEncodedInt(0); // version
}
public override void Deserialize(GenericReader reader)
{
base.Deserialize(reader);
int version = reader.ReadEncodedInt();
}
}
}

View file

@ -0,0 +1,39 @@
namespace Server.Items
{
public class Windsong : MagicalShortbow
{
[Constructible]
public Windsong()
{
Hue = 0xF7;
Attributes.WeaponDamage = 35;
WeaponAttributes.SelfRepair = 3;
Velocity = 25;
}
public Windsong(Serial serial) : base(serial)
{
}
public override int LabelNumber => 1075031; // Windsong
public override int InitMinHits => 255;
public override int InitMaxHits => 255;
public override void Serialize(GenericWriter writer)
{
base.Serialize(writer);
writer.WriteEncodedInt(0); // version
}
public override void Deserialize(GenericReader reader)
{
base.Deserialize(reader);
int version = reader.ReadEncodedInt();
}
}
}