Reorganizes Project (#41)
This commit is contained in:
parent
08bf44af9a
commit
3614a66aee
3499 changed files with 79 additions and 55 deletions
47
Projects/Scripts/Items/Weapons/Axes/Axe.cs
Normal file
47
Projects/Scripts/Items/Weapons/Axes/Axe.cs
Normal file
|
|
@ -0,0 +1,47 @@
|
|||
namespace Server.Items
|
||||
{
|
||||
[Flippable(0xF49, 0xF4a)]
|
||||
public class Axe : BaseAxe
|
||||
{
|
||||
[Constructible]
|
||||
public Axe() : base(0xF49)
|
||||
{
|
||||
Weight = 4.0;
|
||||
}
|
||||
|
||||
public Axe(Serial serial) : base(serial)
|
||||
{
|
||||
}
|
||||
|
||||
public override WeaponAbility PrimaryAbility => WeaponAbility.CrushingBlow;
|
||||
public override WeaponAbility SecondaryAbility => WeaponAbility.Dismount;
|
||||
|
||||
public override int AosStrengthReq => 35;
|
||||
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 => 35;
|
||||
public override int OldMinDamage => 6;
|
||||
public override int OldMaxDamage => 33;
|
||||
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();
|
||||
}
|
||||
}
|
||||
}
|
||||
184
Projects/Scripts/Items/Weapons/Axes/BaseAxe.cs
Normal file
184
Projects/Scripts/Items/Weapons/Axes/BaseAxe.cs
Normal file
|
|
@ -0,0 +1,184 @@
|
|||
using System;
|
||||
using System.Collections.Generic;
|
||||
using Server.ContextMenus;
|
||||
using Server.Engines.ConPVP;
|
||||
using Server.Engines.Harvest;
|
||||
using Server.Network;
|
||||
|
||||
namespace Server.Items
|
||||
{
|
||||
public interface IAxe
|
||||
{
|
||||
bool Axe(Mobile from, BaseAxe axe);
|
||||
}
|
||||
|
||||
public abstract class BaseAxe : BaseMeleeWeapon
|
||||
{
|
||||
private bool m_ShowUsesRemaining;
|
||||
|
||||
private int m_UsesRemaining;
|
||||
|
||||
public BaseAxe(int itemID) : base(itemID)
|
||||
{
|
||||
m_UsesRemaining = 150;
|
||||
}
|
||||
|
||||
public BaseAxe(Serial serial) : base(serial)
|
||||
{
|
||||
}
|
||||
|
||||
public override int DefHitSound => 0x232;
|
||||
public override int DefMissSound => 0x23A;
|
||||
|
||||
public override SkillName DefSkill => SkillName.Swords;
|
||||
public override WeaponType DefType => WeaponType.Axe;
|
||||
public override WeaponAnimation DefAnimation => WeaponAnimation.Slash2H;
|
||||
|
||||
public virtual HarvestSystem HarvestSystem => Lumberjacking.System;
|
||||
|
||||
[CommandProperty(AccessLevel.GameMaster)]
|
||||
public int UsesRemaining
|
||||
{
|
||||
get => m_UsesRemaining;
|
||||
set
|
||||
{
|
||||
m_UsesRemaining = value;
|
||||
InvalidateProperties();
|
||||
}
|
||||
}
|
||||
|
||||
[CommandProperty(AccessLevel.GameMaster)]
|
||||
public bool ShowUsesRemaining
|
||||
{
|
||||
get => m_ShowUsesRemaining;
|
||||
set
|
||||
{
|
||||
m_ShowUsesRemaining = value;
|
||||
InvalidateProperties();
|
||||
}
|
||||
}
|
||||
|
||||
public virtual int GetUsesScalar()
|
||||
{
|
||||
if (Quality == WeaponQuality.Exceptional)
|
||||
return 200;
|
||||
|
||||
return 100;
|
||||
}
|
||||
|
||||
public override void UnscaleDurability()
|
||||
{
|
||||
base.UnscaleDurability();
|
||||
|
||||
int scale = GetUsesScalar();
|
||||
|
||||
m_UsesRemaining = (m_UsesRemaining * 100 + (scale - 1)) / scale;
|
||||
InvalidateProperties();
|
||||
}
|
||||
|
||||
public override void ScaleDurability()
|
||||
{
|
||||
base.ScaleDurability();
|
||||
|
||||
int scale = GetUsesScalar();
|
||||
|
||||
m_UsesRemaining = (m_UsesRemaining * scale + 99) / 100;
|
||||
InvalidateProperties();
|
||||
}
|
||||
|
||||
public override void OnDoubleClick(Mobile from)
|
||||
{
|
||||
if (HarvestSystem == null || Deleted)
|
||||
return;
|
||||
|
||||
Point3D loc = GetWorldLocation();
|
||||
|
||||
if (!from.InLOS(loc) || !from.InRange(loc, 2))
|
||||
{
|
||||
from.LocalOverheadMessage(MessageType.Regular, 0x3E9, 1019045); // I can't reach that
|
||||
return;
|
||||
}
|
||||
|
||||
if (!IsAccessibleTo(from))
|
||||
{
|
||||
PublicOverheadMessage(MessageType.Regular, 0x3E9, 1061637); // You are not allowed to access this.
|
||||
return;
|
||||
}
|
||||
|
||||
if (!(HarvestSystem is Mining))
|
||||
from.SendLocalizedMessage(1010018); // What do you want to use this item on?
|
||||
|
||||
HarvestSystem.BeginHarvesting(from, this);
|
||||
}
|
||||
|
||||
public override void GetContextMenuEntries(Mobile from, List<ContextMenuEntry> list)
|
||||
{
|
||||
base.GetContextMenuEntries(from, list);
|
||||
|
||||
if (HarvestSystem != null)
|
||||
BaseHarvestTool.AddContextMenuEntries(from, this, list, HarvestSystem);
|
||||
}
|
||||
|
||||
public override void Serialize(GenericWriter writer)
|
||||
{
|
||||
base.Serialize(writer);
|
||||
|
||||
writer.Write(2); // version
|
||||
|
||||
writer.Write(m_ShowUsesRemaining);
|
||||
|
||||
writer.Write(m_UsesRemaining);
|
||||
}
|
||||
|
||||
public override void Deserialize(GenericReader reader)
|
||||
{
|
||||
base.Deserialize(reader);
|
||||
|
||||
int version = reader.ReadInt();
|
||||
|
||||
switch (version)
|
||||
{
|
||||
case 2:
|
||||
{
|
||||
m_ShowUsesRemaining = reader.ReadBool();
|
||||
goto case 1;
|
||||
}
|
||||
case 1:
|
||||
{
|
||||
m_UsesRemaining = reader.ReadInt();
|
||||
goto case 0;
|
||||
}
|
||||
case 0:
|
||||
{
|
||||
if (m_UsesRemaining < 1)
|
||||
m_UsesRemaining = 150;
|
||||
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public override void OnHit(Mobile attacker, Mobile defender, double damageBonus = 1)
|
||||
{
|
||||
base.OnHit(attacker, defender, damageBonus);
|
||||
|
||||
if (!Core.AOS && (attacker.Player || attacker.Body.IsHuman) && Layer == Layer.TwoHanded &&
|
||||
attacker.Skills.Anatomy.Value >= 80 &&
|
||||
attacker.Skills.Anatomy.Value / 400.0 >= Utility.RandomDouble() &&
|
||||
DuelContext.AllowSpecialAbility(attacker, "Concussion Blow", false))
|
||||
{
|
||||
StatMod mod = defender.GetStatMod("Concussion");
|
||||
|
||||
if (mod == null)
|
||||
{
|
||||
defender.SendMessage("You receive a concussion blow!");
|
||||
defender.AddStatMod(new StatMod(StatType.Int, "Concussion", -(defender.RawInt / 2),
|
||||
TimeSpan.FromSeconds(30.0)));
|
||||
|
||||
attacker.SendMessage("You deliver a concussion blow!");
|
||||
attacker.PlaySound(0x308);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
48
Projects/Scripts/Items/Weapons/Axes/BattleAxe.cs
Normal file
48
Projects/Scripts/Items/Weapons/Axes/BattleAxe.cs
Normal file
|
|
@ -0,0 +1,48 @@
|
|||
namespace Server.Items
|
||||
{
|
||||
[Flippable(0xF47, 0xF48)]
|
||||
public class BattleAxe : BaseAxe
|
||||
{
|
||||
[Constructible]
|
||||
public BattleAxe() : base(0xF47)
|
||||
{
|
||||
Weight = 4.0;
|
||||
Layer = Layer.TwoHanded;
|
||||
}
|
||||
|
||||
public BattleAxe(Serial serial) : base(serial)
|
||||
{
|
||||
}
|
||||
|
||||
public override WeaponAbility PrimaryAbility => WeaponAbility.BleedAttack;
|
||||
public override WeaponAbility SecondaryAbility => WeaponAbility.ConcussionBlow;
|
||||
|
||||
public override int AosStrengthReq => 35;
|
||||
public override int AosMinDamage => 15;
|
||||
public override int AosMaxDamage => 17;
|
||||
public override int AosSpeed => 31;
|
||||
public override float MlSpeed => 3.50f;
|
||||
|
||||
public override int OldStrengthReq => 40;
|
||||
public override int OldMinDamage => 6;
|
||||
public override int OldMaxDamage => 38;
|
||||
public override int OldSpeed => 30;
|
||||
|
||||
public override int InitMinHits => 31;
|
||||
public override int InitMaxHits => 70;
|
||||
|
||||
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();
|
||||
}
|
||||
}
|
||||
}
|
||||
47
Projects/Scripts/Items/Weapons/Axes/DoubleAxe.cs
Normal file
47
Projects/Scripts/Items/Weapons/Axes/DoubleAxe.cs
Normal file
|
|
@ -0,0 +1,47 @@
|
|||
namespace Server.Items
|
||||
{
|
||||
[Flippable(0xf4b, 0xf4c)]
|
||||
public class DoubleAxe : BaseAxe
|
||||
{
|
||||
[Constructible]
|
||||
public DoubleAxe() : base(0xF4B)
|
||||
{
|
||||
Weight = 8.0;
|
||||
}
|
||||
|
||||
public DoubleAxe(Serial serial) : base(serial)
|
||||
{
|
||||
}
|
||||
|
||||
public override WeaponAbility PrimaryAbility => WeaponAbility.DoubleStrike;
|
||||
public override WeaponAbility SecondaryAbility => WeaponAbility.WhirlwindAttack;
|
||||
|
||||
public override int AosStrengthReq => 45;
|
||||
public override int AosMinDamage => 15;
|
||||
public override int AosMaxDamage => 17;
|
||||
public override int AosSpeed => 33;
|
||||
public override float MlSpeed => 3.25f;
|
||||
|
||||
public override int OldStrengthReq => 45;
|
||||
public override int OldMinDamage => 5;
|
||||
public override int OldMaxDamage => 35;
|
||||
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();
|
||||
}
|
||||
}
|
||||
}
|
||||
47
Projects/Scripts/Items/Weapons/Axes/ExecutionersAxe.cs
Normal file
47
Projects/Scripts/Items/Weapons/Axes/ExecutionersAxe.cs
Normal file
|
|
@ -0,0 +1,47 @@
|
|||
namespace Server.Items
|
||||
{
|
||||
[Flippable(0xf45, 0xf46)]
|
||||
public class ExecutionersAxe : BaseAxe
|
||||
{
|
||||
[Constructible]
|
||||
public ExecutionersAxe() : base(0xF45)
|
||||
{
|
||||
Weight = 8.0;
|
||||
}
|
||||
|
||||
public ExecutionersAxe(Serial serial) : base(serial)
|
||||
{
|
||||
}
|
||||
|
||||
public override WeaponAbility PrimaryAbility => WeaponAbility.BleedAttack;
|
||||
public override WeaponAbility SecondaryAbility => WeaponAbility.MortalStrike;
|
||||
|
||||
public override int AosStrengthReq => 40;
|
||||
public override int AosMinDamage => 15;
|
||||
public override int AosMaxDamage => 17;
|
||||
public override int AosSpeed => 33;
|
||||
public override float MlSpeed => 3.25f;
|
||||
|
||||
public override int OldStrengthReq => 35;
|
||||
public override int OldMinDamage => 6;
|
||||
public override int OldMaxDamage => 33;
|
||||
public override int OldSpeed => 37;
|
||||
|
||||
public override int InitMinHits => 31;
|
||||
public override int InitMaxHits => 70;
|
||||
|
||||
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();
|
||||
}
|
||||
}
|
||||
}
|
||||
32
Projects/Scripts/Items/Weapons/Axes/GuardianAxe.cs
Normal file
32
Projects/Scripts/Items/Weapons/Axes/GuardianAxe.cs
Normal file
|
|
@ -0,0 +1,32 @@
|
|||
namespace Server.Items
|
||||
{
|
||||
public class GuardianAxe : OrnateAxe
|
||||
{
|
||||
[Constructible]
|
||||
public GuardianAxe()
|
||||
{
|
||||
Attributes.BonusHits = 4;
|
||||
Attributes.RegenHits = 1;
|
||||
}
|
||||
|
||||
public GuardianAxe(Serial serial) : base(serial)
|
||||
{
|
||||
}
|
||||
|
||||
public override int LabelNumber => 1073545; // guardian axe
|
||||
|
||||
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();
|
||||
}
|
||||
}
|
||||
}
|
||||
47
Projects/Scripts/Items/Weapons/Axes/Hatchet.cs
Normal file
47
Projects/Scripts/Items/Weapons/Axes/Hatchet.cs
Normal file
|
|
@ -0,0 +1,47 @@
|
|||
namespace Server.Items
|
||||
{
|
||||
[Flippable(0xF43, 0xF44)]
|
||||
public class Hatchet : BaseAxe
|
||||
{
|
||||
[Constructible]
|
||||
public Hatchet() : base(0xF43)
|
||||
{
|
||||
Weight = 4.0;
|
||||
}
|
||||
|
||||
public Hatchet(Serial serial) : base(serial)
|
||||
{
|
||||
}
|
||||
|
||||
public override WeaponAbility PrimaryAbility => WeaponAbility.ArmorIgnore;
|
||||
public override WeaponAbility SecondaryAbility => WeaponAbility.Disarm;
|
||||
|
||||
public override int AosStrengthReq => 20;
|
||||
public override int AosMinDamage => 13;
|
||||
public override int AosMaxDamage => 15;
|
||||
public override int AosSpeed => 41;
|
||||
public override float MlSpeed => 2.75f;
|
||||
|
||||
public override int OldStrengthReq => 15;
|
||||
public override int OldMinDamage => 2;
|
||||
public override int OldMaxDamage => 17;
|
||||
public override int OldSpeed => 40;
|
||||
|
||||
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();
|
||||
}
|
||||
}
|
||||
}
|
||||
31
Projects/Scripts/Items/Weapons/Axes/HeavyOrnateAxe.cs
Normal file
31
Projects/Scripts/Items/Weapons/Axes/HeavyOrnateAxe.cs
Normal file
|
|
@ -0,0 +1,31 @@
|
|||
namespace Server.Items
|
||||
{
|
||||
public class HeavyOrnateAxe : OrnateAxe
|
||||
{
|
||||
[Constructible]
|
||||
public HeavyOrnateAxe()
|
||||
{
|
||||
Attributes.WeaponDamage = 8;
|
||||
}
|
||||
|
||||
public HeavyOrnateAxe(Serial serial) : base(serial)
|
||||
{
|
||||
}
|
||||
|
||||
public override int LabelNumber => 1073548; // heavy ornate axe
|
||||
|
||||
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();
|
||||
}
|
||||
}
|
||||
}
|
||||
47
Projects/Scripts/Items/Weapons/Axes/LargeBattleAxe.cs
Normal file
47
Projects/Scripts/Items/Weapons/Axes/LargeBattleAxe.cs
Normal file
|
|
@ -0,0 +1,47 @@
|
|||
namespace Server.Items
|
||||
{
|
||||
[Flippable(0x13FB, 0x13FA)]
|
||||
public class LargeBattleAxe : BaseAxe
|
||||
{
|
||||
[Constructible]
|
||||
public LargeBattleAxe() : base(0x13FB)
|
||||
{
|
||||
Weight = 6.0;
|
||||
}
|
||||
|
||||
public LargeBattleAxe(Serial serial) : base(serial)
|
||||
{
|
||||
}
|
||||
|
||||
public override WeaponAbility PrimaryAbility => WeaponAbility.WhirlwindAttack;
|
||||
public override WeaponAbility SecondaryAbility => WeaponAbility.BleedAttack;
|
||||
|
||||
public override int AosStrengthReq => 80;
|
||||
public override int AosMinDamage => 16;
|
||||
public override int AosMaxDamage => 17;
|
||||
public override int AosSpeed => 29;
|
||||
public override float MlSpeed => 3.75f;
|
||||
|
||||
public override int OldStrengthReq => 40;
|
||||
public override int OldMinDamage => 6;
|
||||
public override int OldMaxDamage => 38;
|
||||
public override int OldSpeed => 30;
|
||||
|
||||
public override int InitMinHits => 31;
|
||||
public override int InitMaxHits => 70;
|
||||
|
||||
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();
|
||||
}
|
||||
}
|
||||
}
|
||||
56
Projects/Scripts/Items/Weapons/Axes/Pickaxe.cs
Normal file
56
Projects/Scripts/Items/Weapons/Axes/Pickaxe.cs
Normal file
|
|
@ -0,0 +1,56 @@
|
|||
using Server.Engines.Harvest;
|
||||
|
||||
namespace Server.Items
|
||||
{
|
||||
[Flippable(0xE86, 0xE85)]
|
||||
public class Pickaxe : BaseAxe, IUsesRemaining
|
||||
{
|
||||
[Constructible]
|
||||
public Pickaxe() : base(0xE86)
|
||||
{
|
||||
Weight = 11.0;
|
||||
UsesRemaining = 50;
|
||||
ShowUsesRemaining = true;
|
||||
}
|
||||
|
||||
public Pickaxe(Serial serial) : base(serial)
|
||||
{
|
||||
}
|
||||
|
||||
public override HarvestSystem HarvestSystem => Mining.System;
|
||||
|
||||
public override WeaponAbility PrimaryAbility => WeaponAbility.DoubleStrike;
|
||||
public override WeaponAbility SecondaryAbility => WeaponAbility.Disarm;
|
||||
|
||||
public override int AosStrengthReq => 50;
|
||||
public override int AosMinDamage => 13;
|
||||
public override int AosMaxDamage => 15;
|
||||
public override int AosSpeed => 35;
|
||||
public override float MlSpeed => 3.00f;
|
||||
|
||||
public override int OldStrengthReq => 25;
|
||||
public override int OldMinDamage => 1;
|
||||
public override int OldMaxDamage => 15;
|
||||
public override int OldSpeed => 35;
|
||||
|
||||
public override int InitMinHits => 31;
|
||||
public override int InitMaxHits => 60;
|
||||
|
||||
public override WeaponAnimation DefAnimation => WeaponAnimation.Slash1H;
|
||||
|
||||
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();
|
||||
ShowUsesRemaining = true;
|
||||
}
|
||||
}
|
||||
}
|
||||
31
Projects/Scripts/Items/Weapons/Axes/SingingAxe.cs
Normal file
31
Projects/Scripts/Items/Weapons/Axes/SingingAxe.cs
Normal file
|
|
@ -0,0 +1,31 @@
|
|||
namespace Server.Items
|
||||
{
|
||||
public class SingingAxe : OrnateAxe
|
||||
{
|
||||
[Constructible]
|
||||
public SingingAxe()
|
||||
{
|
||||
SkillBonuses.SetValues(0, SkillName.Musicianship, 5);
|
||||
}
|
||||
|
||||
public SingingAxe(Serial serial) : base(serial)
|
||||
{
|
||||
}
|
||||
|
||||
public override int LabelNumber => 1073546; // singing axe
|
||||
|
||||
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();
|
||||
}
|
||||
}
|
||||
}
|
||||
31
Projects/Scripts/Items/Weapons/Axes/ThunderingAxe.cs
Normal file
31
Projects/Scripts/Items/Weapons/Axes/ThunderingAxe.cs
Normal file
|
|
@ -0,0 +1,31 @@
|
|||
namespace Server.Items
|
||||
{
|
||||
public class ThunderingAxe : OrnateAxe
|
||||
{
|
||||
[Constructible]
|
||||
public ThunderingAxe()
|
||||
{
|
||||
WeaponAttributes.HitLightning = 10;
|
||||
}
|
||||
|
||||
public ThunderingAxe(Serial serial) : base(serial)
|
||||
{
|
||||
}
|
||||
|
||||
public override int LabelNumber => 1073547; // thundering axe
|
||||
|
||||
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();
|
||||
}
|
||||
}
|
||||
}
|
||||
47
Projects/Scripts/Items/Weapons/Axes/TwoHandedAxe.cs
Normal file
47
Projects/Scripts/Items/Weapons/Axes/TwoHandedAxe.cs
Normal file
|
|
@ -0,0 +1,47 @@
|
|||
namespace Server.Items
|
||||
{
|
||||
[Flippable(0x1443, 0x1442)]
|
||||
public class TwoHandedAxe : BaseAxe
|
||||
{
|
||||
[Constructible]
|
||||
public TwoHandedAxe() : base(0x1443)
|
||||
{
|
||||
Weight = 8.0;
|
||||
}
|
||||
|
||||
public TwoHandedAxe(Serial serial) : base(serial)
|
||||
{
|
||||
}
|
||||
|
||||
public override WeaponAbility PrimaryAbility => WeaponAbility.DoubleStrike;
|
||||
public override WeaponAbility SecondaryAbility => WeaponAbility.ShadowStrike;
|
||||
|
||||
public override int AosStrengthReq => 40;
|
||||
public override int AosMinDamage => 16;
|
||||
public override int AosMaxDamage => 17;
|
||||
public override int AosSpeed => 31;
|
||||
public override float MlSpeed => 3.50f;
|
||||
|
||||
public override int OldStrengthReq => 35;
|
||||
public override int OldMinDamage => 5;
|
||||
public override int OldMaxDamage => 39;
|
||||
public override int OldSpeed => 30;
|
||||
|
||||
public override int InitMinHits => 31;
|
||||
public override int InitMaxHits => 90;
|
||||
|
||||
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();
|
||||
}
|
||||
}
|
||||
}
|
||||
58
Projects/Scripts/Items/Weapons/Axes/WarAxe.cs
Normal file
58
Projects/Scripts/Items/Weapons/Axes/WarAxe.cs
Normal file
|
|
@ -0,0 +1,58 @@
|
|||
using Server.Engines.Harvest;
|
||||
|
||||
namespace Server.Items
|
||||
{
|
||||
[Flippable(0x13B0, 0x13AF)]
|
||||
public class WarAxe : BaseAxe
|
||||
{
|
||||
[Constructible]
|
||||
public WarAxe() : base(0x13B0)
|
||||
{
|
||||
Weight = 8.0;
|
||||
}
|
||||
|
||||
public WarAxe(Serial serial) : base(serial)
|
||||
{
|
||||
}
|
||||
|
||||
public override WeaponAbility PrimaryAbility => WeaponAbility.ArmorIgnore;
|
||||
public override WeaponAbility SecondaryAbility => WeaponAbility.BleedAttack;
|
||||
|
||||
public override int AosStrengthReq => 35;
|
||||
public override int AosMinDamage => 14;
|
||||
public override int AosMaxDamage => 15;
|
||||
public override int AosSpeed => 33;
|
||||
public override float MlSpeed => 3.25f;
|
||||
|
||||
public override int OldStrengthReq => 35;
|
||||
public override int OldMinDamage => 9;
|
||||
public override int OldMaxDamage => 27;
|
||||
public override int OldSpeed => 40;
|
||||
|
||||
public override int DefHitSound => 0x233;
|
||||
public override int DefMissSound => 0x239;
|
||||
|
||||
public override int InitMinHits => 31;
|
||||
public override int InitMaxHits => 80;
|
||||
|
||||
public override SkillName DefSkill => SkillName.Macing;
|
||||
public override WeaponType DefType => WeaponType.Bashing;
|
||||
public override WeaponAnimation DefAnimation => WeaponAnimation.Bash1H;
|
||||
|
||||
public override HarvestSystem HarvestSystem => null;
|
||||
|
||||
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();
|
||||
}
|
||||
}
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue