v0.0.1-Alpha (#42)

This commit is contained in:
Kamron Batman 2019-08-02 18:16:11 -07:00 • committed by GitHub
parent d30f93c454
commit a36796c2c1
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
3552 changed files with 2476 additions and 15223 deletions

View file

@ -0,0 +1,61 @@
using System;
using Server.Engines.ConPVP;
namespace Server.Items
{
public abstract class BaseSpear : BaseMeleeWeapon
{
public BaseSpear(int itemID) : base(itemID)
{
}
public BaseSpear(Serial serial) : base(serial)
{
}
public override int DefHitSound => 0x23C;
public override int DefMissSound => 0x238;
public override SkillName DefSkill => SkillName.Fencing;
public override WeaponType DefType => WeaponType.Piercing;
public override WeaponAnimation DefAnimation => WeaponAnimation.Pierce2H;
public override void Serialize(GenericWriter writer)
{
base.Serialize(writer);
writer.Write(0); // version
}
public override void Deserialize(GenericReader reader)
{
base.Deserialize(reader);
int version = reader.ReadInt();
}
public override void OnHit(Mobile attacker, Mobile defender, double damageBonus = 1)
{
base.OnHit(attacker, defender, damageBonus);
if (!Core.AOS && Layer == Layer.TwoHanded &&
attacker.Skills.Anatomy.Value / 400.0 >= Utility.RandomDouble() &&
DuelContext.AllowSpecialAbility(attacker, "Paralyzing Blow", false))
{
defender.SendMessage("You receive a paralyzing blow!"); // Is this not localized?
defender.Freeze(TimeSpan.FromSeconds(2.0));
attacker.SendMessage("You deliver a paralyzing blow!"); // Is this not localized?
attacker.PlaySound(0x11C);
}
if (!Core.AOS && Poison != null && PoisonCharges > 0)
{
--PoisonCharges;
if (Utility.RandomDouble() >= 0.5) // 50% chance to poison
defender.ApplyPoison(attacker, Poison);
}
}
}
}

View file

@ -0,0 +1,49 @@
namespace Server.Items
{
[Flippable(0x26BD, 0x26C7)]
public class BladedStaff : BaseSpear
{
[Constructible]
public BladedStaff() : base(0x26BD)
{
Weight = 4.0;
}
public BladedStaff(Serial serial) : base(serial)
{
}
public override WeaponAbility PrimaryAbility => WeaponAbility.ArmorIgnore;
public override WeaponAbility SecondaryAbility => WeaponAbility.Dismount;
public override int AosStrengthReq => 40;
public override int AosMinDamage => 14;
public override int AosMaxDamage => 16;
public override int AosSpeed => 37;
public override float MlSpeed => 3.00f;
public override int OldStrengthReq => 40;
public override int OldMinDamage => 14;
public override int OldMaxDamage => 16;
public override int OldSpeed => 37;
public override int InitMinHits => 21;
public override int InitMaxHits => 110;
public override SkillName DefSkill => SkillName.Swords;
public override void Serialize(GenericWriter writer)
{
base.Serialize(writer);
writer.Write(0); // version
}
public override void Deserialize(GenericReader reader)
{
base.Deserialize(reader);
int version = reader.ReadInt();
}
}
}

View file

@ -0,0 +1,47 @@
namespace Server.Items
{
[Flippable(0x26BF, 0x26C9)]
public class DoubleBladedStaff : BaseSpear
{
[Constructible]
public DoubleBladedStaff() : base(0x26BF)
{
Weight = 2.0;
}
public DoubleBladedStaff(Serial serial) : base(serial)
{
}
public override WeaponAbility PrimaryAbility => WeaponAbility.DoubleStrike;
public override WeaponAbility SecondaryAbility => WeaponAbility.InfectiousStrike;
public override int AosStrengthReq => 50;
public override int AosMinDamage => 12;
public override int AosMaxDamage => 13;
public override int AosSpeed => 49;
public override float MlSpeed => 2.25f;
public override int OldStrengthReq => 50;
public override int OldMinDamage => 12;
public override int OldMaxDamage => 13;
public override int OldSpeed => 49;
public override int InitMinHits => 31;
public override int InitMaxHits => 80;
public override void Serialize(GenericWriter writer)
{
base.Serialize(writer);
writer.Write(0); // version
}
public override void Deserialize(GenericReader reader)
{
base.Deserialize(reader);
int version = reader.ReadInt();
}
}
}

View file

@ -0,0 +1,47 @@
namespace Server.Items
{
[Flippable(0x26BE, 0x26C8)]
public class Pike : BaseSpear
{
[Constructible]
public Pike() : base(0x26BE)
{
Weight = 8.0;
}
public Pike(Serial serial) : base(serial)
{
}
public override WeaponAbility PrimaryAbility => WeaponAbility.ParalyzingBlow;
public override WeaponAbility SecondaryAbility => WeaponAbility.InfectiousStrike;
public override int AosStrengthReq => 50;
public override int AosMinDamage => 14;
public override int AosMaxDamage => 16;
public override int AosSpeed => 37;
public override float MlSpeed => 3.00f;
public override int OldStrengthReq => 50;
public override int OldMinDamage => 14;
public override int OldMaxDamage => 16;
public override int OldSpeed => 37;
public override int InitMinHits => 31;
public override int InitMaxHits => 110;
public override void Serialize(GenericWriter writer)
{
base.Serialize(writer);
writer.Write(0); // version
}
public override void Deserialize(GenericReader reader)
{
base.Deserialize(reader);
int version = reader.ReadInt();
}
}
}

View file

@ -0,0 +1,50 @@
namespace Server.Items
{
[Flippable(0xE87, 0xE88)]
public class Pitchfork : BaseSpear
{
[Constructible]
public Pitchfork() : base(0xE87)
{
Weight = 11.0;
}
public Pitchfork(Serial serial) : base(serial)
{
}
public override WeaponAbility PrimaryAbility => WeaponAbility.BleedAttack;
public override WeaponAbility SecondaryAbility => WeaponAbility.Dismount;
public override int AosStrengthReq => 55;
public override int AosMinDamage => 13;
public override int AosMaxDamage => 14;
public override int AosSpeed => 43;
public override float MlSpeed => 2.50f;
public override int OldStrengthReq => 15;
public override int OldMinDamage => 4;
public override int OldMaxDamage => 16;
public override int OldSpeed => 45;
public override int InitMinHits => 31;
public override int InitMaxHits => 60;
public override void Serialize(GenericWriter writer)
{
base.Serialize(writer);
writer.Write(0); // version
}
public override void Deserialize(GenericReader reader)
{
base.Deserialize(reader);
int version = reader.ReadInt();
if (Weight == 10.0)
Weight = 11.0;
}
}
}

View file

@ -0,0 +1,49 @@
namespace Server.Items
{
[Flippable(0x1403, 0x1402)]
public class ShortSpear : BaseSpear
{
[Constructible]
public ShortSpear() : base(0x1403)
{
Weight = 4.0;
}
public ShortSpear(Serial serial) : base(serial)
{
}
public override WeaponAbility PrimaryAbility => WeaponAbility.ShadowStrike;
public override WeaponAbility SecondaryAbility => WeaponAbility.MortalStrike;
public override int AosStrengthReq => 40;
public override int AosMinDamage => 10;
public override int AosMaxDamage => 13;
public override int AosSpeed => 55;
public override float MlSpeed => 2.00f;
public override int OldStrengthReq => 15;
public override int OldMinDamage => 4;
public override int OldMaxDamage => 32;
public override int OldSpeed => 50;
public override int InitMinHits => 31;
public override int InitMaxHits => 70;
public override WeaponAnimation DefAnimation => WeaponAnimation.Pierce1H;
public override void Serialize(GenericWriter writer)
{
base.Serialize(writer);
writer.Write(0); // version
}
public override void Deserialize(GenericReader reader)
{
base.Deserialize(reader);
int version = reader.ReadInt();
}
}
}

View file

@ -0,0 +1,47 @@
namespace Server.Items
{
[Flippable(0xF62, 0xF63)]
public class Spear : BaseSpear
{
[Constructible]
public Spear() : base(0xF62)
{
Weight = 7.0;
}
public Spear(Serial serial) : base(serial)
{
}
public override WeaponAbility PrimaryAbility => WeaponAbility.ArmorIgnore;
public override WeaponAbility SecondaryAbility => WeaponAbility.ParalyzingBlow;
public override int AosStrengthReq => 50;
public override int AosMinDamage => 13;
public override int AosMaxDamage => 15;
public override int AosSpeed => 42;
public override float MlSpeed => 2.75f;
public override int OldStrengthReq => 30;
public override int OldMinDamage => 2;
public override int OldMaxDamage => 36;
public override int OldSpeed => 46;
public override int InitMinHits => 31;
public override int InitMaxHits => 80;
public override void Serialize(GenericWriter writer)
{
base.Serialize(writer);
writer.Write(0); // version
}
public override void Deserialize(GenericReader reader)
{
base.Deserialize(reader);
int version = reader.ReadInt();
}
}
}

View file

@ -0,0 +1,52 @@
namespace Server.Items
{
[Flippable(0xF62, 0xF63)]
public class TribalSpear : BaseSpear
{
[Constructible]
public TribalSpear() : base(0xF62)
{
Weight = 7.0;
Hue = 837;
}
public TribalSpear(Serial serial) : base(serial)
{
}
public override WeaponAbility PrimaryAbility => WeaponAbility.ArmorIgnore;
public override WeaponAbility SecondaryAbility => WeaponAbility.ParalyzingBlow;
public override int AosStrengthReq => 50;
public override int AosMinDamage => 13;
public override int AosMaxDamage => 15;
public override int AosSpeed => 42;
public override float MlSpeed => 2.75f;
public override int OldStrengthReq => 30;
public override int OldMinDamage => 2;
public override int OldMaxDamage => 36;
public override int OldSpeed => 46;
public override int InitMinHits => 31;
public override int InitMaxHits => 80;
public override int VirtualDamageBonus => 25;
public override string DefaultName => "a tribal spear";
public override void Serialize(GenericWriter writer)
{
base.Serialize(writer);
writer.Write(0); // version
}
public override void Deserialize(GenericReader reader)
{
base.Deserialize(reader);
int version = reader.ReadInt();
}
}
}

View file

@ -0,0 +1,52 @@
namespace Server.Items
{
[Flippable(0x1405, 0x1404)]
public class WarFork : BaseSpear
{
[Constructible]
public WarFork() : base(0x1405)
{
Weight = 9.0;
}
public WarFork(Serial serial) : base(serial)
{
}
public override WeaponAbility PrimaryAbility => WeaponAbility.BleedAttack;
public override WeaponAbility SecondaryAbility => WeaponAbility.Disarm;
public override int AosStrengthReq => 45;
public override int AosMinDamage => 12;
public override int AosMaxDamage => 13;
public override int AosSpeed => 43;
public override float MlSpeed => 2.50f;
public override int OldStrengthReq => 35;
public override int OldMinDamage => 4;
public override int OldMaxDamage => 32;
public override int OldSpeed => 45;
public override int DefHitSound => 0x236;
public override int DefMissSound => 0x238;
public override int InitMinHits => 31;
public override int InitMaxHits => 110;
public override WeaponAnimation DefAnimation => WeaponAnimation.Pierce1H;
public override void Serialize(GenericWriter writer)
{
base.Serialize(writer);
writer.Write(0); // version
}
public override void Deserialize(GenericReader reader)
{
base.Deserialize(reader);
int version = reader.ReadInt();
}
}
}