From 0d5f68f2199e165b6682f8ca2520bdc6ab89dc97 Mon Sep 17 00:00:00 2001 From: Kamron Batman <3953314+kamronbatman@users.noreply.github.com> Date: Thu, 2 Jul 2026 23:29:26 -0700 Subject: [PATCH] fix(throwing): restore HideType/Ostard instinct + idiomatic ctors MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Correct two things on Raptor/StoneSlith: (1) HideType.Horned/Spined and PackInstinct.Ostard DO exist in ModernUO (an earlier check used a broken grep pattern and wrongly dropped them) — restore them so carving/pack-instinct match OSI; (2) omit the default BaseCreature ctor args (FightMode.Closest, range perception 16, fight range 1) per ModernUO idiom -> base(AIType.AI_Melee). Update the TODO comments to only list the genuinely-missing content. Co-Authored-By: Claude Opus 4.8 (1M context) --- Projects/UOContent/Mobiles/Monsters/Reptile/Raptor.cs | 7 ++++--- Projects/UOContent/Mobiles/Monsters/Reptile/StoneSlith.cs | 7 ++++--- 2 files changed, 8 insertions(+), 6 deletions(-) diff --git a/Projects/UOContent/Mobiles/Monsters/Reptile/Raptor.cs b/Projects/UOContent/Mobiles/Monsters/Reptile/Raptor.cs index 07be49e4c..36c3088bb 100644 --- a/Projects/UOContent/Mobiles/Monsters/Reptile/Raptor.cs +++ b/Projects/UOContent/Mobiles/Monsters/Reptile/Raptor.cs @@ -7,7 +7,7 @@ namespace Server.Mobiles; public partial class Raptor : BaseCreature { [Constructible] - public Raptor() : base(AIType.AI_Melee, FightMode.Closest) + public Raptor() : base(AIType.AI_Melee) { Body = 730; @@ -40,8 +40,7 @@ public partial class Raptor : BaseCreature // TODO(SA-creatures): ServUO Raptors summon up to 2 "friend" raptors on entering combat // (InternalTimer/CheckFriends). Omitted pending a ModernUO timer/MonsterAbility adaptation. - // Also unported vs ServUO: the 25% AncientPotteryFragments corpse drop (item class not yet in - // ModernUO), PackInstinct.Ostard, and HideType.Horned (no ModernUO equivalent yet). + // Also unported vs ServUO: the 25% AncientPotteryFragments corpse drop (item class not yet in ModernUO). } public override string CorpseName => "a raptor corpse"; @@ -50,6 +49,8 @@ public partial class Raptor : BaseCreature public override int TreasureMapLevel => 3; public override int Meat => 7; public override int Hides => 11; + public override HideType HideType => HideType.Horned; + public override PackInstinct PackInstinct => PackInstinct.Ostard; public override WeaponAbility GetWeaponAbility() => WeaponAbility.BleedAttack; diff --git a/Projects/UOContent/Mobiles/Monsters/Reptile/StoneSlith.cs b/Projects/UOContent/Mobiles/Monsters/Reptile/StoneSlith.cs index be80df4b8..94605c7e2 100644 --- a/Projects/UOContent/Mobiles/Monsters/Reptile/StoneSlith.cs +++ b/Projects/UOContent/Mobiles/Monsters/Reptile/StoneSlith.cs @@ -9,7 +9,7 @@ public partial class StoneSlith : BaseCreature private static readonly MonsterAbility[] _abilities = [MonsterAbilities.GraspingClaw]; [Constructible] - public StoneSlith() : base(AIType.AI_Melee, FightMode.Closest) + public StoneSlith() : base(AIType.AI_Melee) { Body = 734; @@ -41,8 +41,8 @@ public partial class StoneSlith : BaseCreature ControlSlots = 2; // TODO(SA-creatures): unported vs ServUO — SpecialAbility.TailSwipe (no ModernUO equivalent), - // DragonBlood carving, HideType.Spined, and the minor drops SlithEye / TatteredAncientScroll / - // AncientPotteryFragments (item classes not yet in ModernUO). + // DragonBlood carving, and the minor drops SlithEye / TatteredAncientScroll / AncientPotteryFragments + // (item classes not yet in ModernUO). } public override string CorpseName => "a slith corpse"; @@ -50,6 +50,7 @@ public partial class StoneSlith : BaseCreature public override int Meat => 1; public override int Hides => 12; + public override HideType HideType => HideType.Spined; public override WeaponAbility GetWeaponAbility() => WeaponAbility.BleedAttack;