ModernUO/Projects/UOContent/Mobiles/Monsters/Reptile/ToxicSlith.cs
Kamron Batman 158e7f2e5f
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.
2026-07-02 23:58:29 -07:00

56 lines
1.7 KiB
C#

using ModernUO.Serialization;
namespace Server.Mobiles;
[SerializationGenerator(0)]
public partial class ToxicSlith : BaseCreature
{
// ServUO SpecialAbility.DragonBreath -> closest ModernUO monster ability.
private static readonly MonsterAbility[] _abilities = [MonsterAbilities.FireBreath];
[Constructible]
public ToxicSlith() : base(AIType.AI_Melee)
{
Body = 734;
Hue = 476;
SetStr(223, 306);
SetDex(231, 258);
SetInt(30, 35);
SetHits(197, 215);
SetStam(231, 258);
SetDamage(6, 24);
SetDamageType(ResistanceType.Physical, 100);
SetResistance(ResistanceType.Physical, 35, 45);
SetResistance(ResistanceType.Fire, 0, 9);
SetResistance(ResistanceType.Cold, 5, 10);
SetResistance(ResistanceType.Poison, 100, 100);
SetResistance(ResistanceType.Energy, 5, 7);
SetSkill(SkillName.MagicResist, 95.4, 98.3);
SetSkill(SkillName.Tactics, 85.5, 90.9);
SetSkill(SkillName.Wrestling, 90.4, 95.1);
SetSkill(SkillName.Poisoning, 90.0, 110.0);
// TODO(SA-creatures): unported vs ServUO — DragonBlood carving and the minor drops
// ToxicVenomSac / SlithEye / AncientPotteryFragments / TatteredAncientScroll (not yet in ModernUO).
}
public override string CorpseName => "a slith corpse";
public override string DefaultName => "a toxic slith";
public override int Meat => 6;
public override int Hides => 11;
public override HideType HideType => HideType.Horned;
public override MonsterAbility[] GetMonsterAbilities() => _abilities;
public override void GenerateLoot()
{
AddLoot(LootPack.Average, 2);
}
}