feat(throwing): add Ter Mur reptiles (Raptor + slith family) and their SA claws (#2515)
Follow-up to the gargoyle Throwing work (#2510/#2512/#2514). Ports two Stygian Abyss creatures from ServUO so two of the throwing artifacts finally have a real OSI drop source instead of being `[add`-only. ## Changes - **`Raptor`** and **`StoneSlith`** — ported stat-for-stat from ServUO. They **spawn automatically**: `Distribution/Data/Spawns/post-uoml/termur/TerMur.json` already contained Raptor/StoneSlith spawner entries referencing these class names, so no spawn-file edits were needed. - **`RaptorClaw`** (Boomerang-based) and **`StoneSlithClaw`** (Cyclone-based) artifacts, dropped from each creature's `OnDeath` at ServUO's 0.5% rate (uncontrolled only). - StoneSlith retains its `GraspingClaw` monster ability; both use `BleedAttack`. ## ModernUO idioms Default range perception (16) / fight range, derived `GetSpeeds` (no `SetSpeed`), `[SerializationGenerator(0)]` codegen, collection-expression arrays. ## Documented omissions vs ServUO Flagged as TODO in-code — all are content missing from ModernUO, not silent drops: Raptor's friend-spawn timer + its 25% `AncientPotteryFragments` drop; StoneSlith's `TailSwipe`, `DragonBlood`, and `SlithEye`/`TatteredAncientScroll`/`AncientPotteryFragments` drops; plus `HideType.Horned/Spined` and `PackInstinct.Ostard` (no ModernUO equivalents yet). ## Not included The other three throwing artifacts (Storm Caller, Banshee's Call, Wind of Corruption) drop from renowned/boss creatures via a `BaseRenowned` artifact-list system that doesn't exist in ModernUO yet — a separate, larger effort. AbyssReaver stays with the (deferred) Into-the-Void quest. Verified: server builds clean; throwing suite 14/14.
This commit is contained in:
parent
9c376cb06c
commit
158e7f2e5f
16 changed files with 372 additions and 1 deletions
|
|
@ -342,6 +342,7 @@ namespace Server.Items
|
|||
typeof(OphidianMage),
|
||||
typeof(OphidianMatriarch),
|
||||
typeof(OphidianWarrior),
|
||||
typeof(Raptor),
|
||||
typeof(Reptalon),
|
||||
typeof(SeaSerpent),
|
||||
typeof(Serado),
|
||||
|
|
@ -350,6 +351,9 @@ namespace Server.Items
|
|||
typeof(SilverSerpent),
|
||||
typeof(SkeletalDragon),
|
||||
typeof(Snake),
|
||||
typeof(Slith),
|
||||
typeof(StoneSlith),
|
||||
typeof(ToxicSlith),
|
||||
typeof(SwampDragon),
|
||||
typeof(WhiteWyrm),
|
||||
typeof(Wyvern),
|
||||
|
|
|
|||
23
Projects/UOContent/Items/Weapons/Throwing/RaptorClaw.cs
Normal file
23
Projects/UOContent/Items/Weapons/Throwing/RaptorClaw.cs
Normal file
|
|
@ -0,0 +1,23 @@
|
|||
using ModernUO.Serialization;
|
||||
|
||||
namespace Server.Items;
|
||||
|
||||
[SerializationGenerator(0)]
|
||||
public partial class RaptorClaw : Boomerang
|
||||
{
|
||||
[Constructible]
|
||||
public RaptorClaw()
|
||||
{
|
||||
Hue = 53;
|
||||
Attributes.AttackChance = 12;
|
||||
Attributes.WeaponSpeed = 30;
|
||||
Attributes.WeaponDamage = 35;
|
||||
Slayer = SlayerName.Silver;
|
||||
WeaponAttributes.HitLeechStam = 40;
|
||||
}
|
||||
|
||||
public override int LabelNumber => 1112394; // Raptor Claw
|
||||
|
||||
public override int InitMinHits => 255;
|
||||
public override int InitMaxHits => 255;
|
||||
}
|
||||
23
Projects/UOContent/Items/Weapons/Throwing/StoneSlithClaw.cs
Normal file
23
Projects/UOContent/Items/Weapons/Throwing/StoneSlithClaw.cs
Normal file
|
|
@ -0,0 +1,23 @@
|
|||
using ModernUO.Serialization;
|
||||
|
||||
namespace Server.Items;
|
||||
|
||||
[SerializationGenerator(0)]
|
||||
public partial class StoneSlithClaw : Cyclone
|
||||
{
|
||||
[Constructible]
|
||||
public StoneSlithClaw()
|
||||
{
|
||||
Hue = 1150;
|
||||
Attributes.WeaponSpeed = 25;
|
||||
Attributes.WeaponDamage = 45;
|
||||
Slayer = SlayerName.DaemonDismissal;
|
||||
WeaponAttributes.HitHarm = 40;
|
||||
WeaponAttributes.HitLowerDefend = 40;
|
||||
}
|
||||
|
||||
public override int LabelNumber => 1112393; // Stone Slith Claw
|
||||
|
||||
public override int InitMinHits => 255;
|
||||
public override int InitMaxHits => 255;
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue