ModernUO/Projects/UOContent/Items/Weapons/Throwing/Cyclone.cs
Joe Valentine cf3efaa2b7 feat: Implements Throwing skill, weapons, artifacts, and crafting (SA)
Interim Commit.  TODO: NPC/creature work.

- Adds BaseThrown with close-quarters/range/shield hit chance modifiers,
  returning weapon effect, STR-scaled max range, and overthrow penalty
- Adds Boomerang, Cyclone, and SoulGlaive (Gargoyle-only throwing weapons)
- Adds Bladeweaver NPC vendor selling throwing weapons and ammo
- Adds DefBlacksmithy recipes for all three throwing weapons (Core.SA)
- Adds SA weapon type arrays to Loot (SAWeaponTypes, SARangedWeaponTypes)
  with isStygian parameter on random weapon/ranged/jewelry helpers
- Adds AbyssReaver, BansheesCall, RaptorClaw, StoneSlithClaw, StormCaller,
  ValkyriesGlaive, WindOfCorruption throwing weapon artifacts
- Fixes MovingShot BaseMana (15 -> 20) and TOL-conditional accuracy penalty
- Adds 58 unit tests covering weapon properties, race restrictions,
  hit chance math, artifact properties, and loot table contents
2026-07-02 20:24:48 -07:00

24 lines
799 B
C#

using ModernUO.Serialization;
namespace Server.Items;
[SerializationGenerator(0)]
public partial class Cyclone : BaseThrown
{
[Constructible]
public Cyclone() : base(0x901) => Layer = Layer.OneHanded;
public override double DefaultWeight => 6.0;
public override int MinThrowRange => 6;
public override WeaponAbility PrimaryAbility => WeaponAbility.MovingShot;
public override WeaponAbility SecondaryAbility => WeaponAbility.InfusedThrow;
public override int AosStrengthReq => 40;
public override int AosMinDamage => 13;
public override int AosMaxDamage => 17;
public override float MlSpeed => 3.25f;
public override int InitMinHits => 31;
public override int InitMaxHits => 60;
public override int RequiredRaces => Race.AllowGargoylesOnly;
}