Send the Standing Guard rune to guards and contract mobs

The client sets its is-guard flag only for rune 252623 (0x67AB1B), and
that flag drives the CloseToGuard passive help hint. The server sent
252621 Guard, so the hint never fired. Contract mobs and player guards
now get 252623 in place of 252621.

No server value change: both runes add +100 to all five attributes
with the same max, the only fields the server reads from the sent runes.
The runes differ only in their effects (252621 MOVE-B-15%, OCV-B-20%,
RES-ELEMENTS-B-50; 252623 GUARD), which the server never applied.
The dead 100570/100962/100965 branches keep 252621.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
MagicBotandClaude Opus 5.5 committed 2026-10-24 13:28:32 -04:00
1 parent ac5d1548b7
commit 717166e655
1 file changed
+2 -2
+2 -2
View File
@@ -184,7 +184,7 @@ public class Mob extends AbstractIntelligenceAgent implements Delayed {
} else if (mob.contract != null || mob.isPlayerGuard()) {
writer.putInt(3);
serializeRune(mob, writer, 3, GameObjectType.NPCClassRuneTwo.ordinal(), 2518); //warrior class
serializeRune(mob, writer, 5, GameObjectType.NPCClassRuneThree.ordinal(), 252621); //guard rune
serializeRune(mob, writer, 5, GameObjectType.NPCClassRuneThree.ordinal(), 252623); //standing guard rune; the client fires its CloseToGuard hint only for 252623 (0x67AB1B)
} else
writer.putInt(1);
@@ -736,7 +736,7 @@ public class Mob extends AbstractIntelligenceAgent implements Delayed {
runeIDs.add(2522);
else if (this.contract != null || this.isPlayerGuard()) {
runeIDs.add(2518);
runeIDs.add(252621);
runeIDs.add(252623);
}
runeIDs.add((this.mobBase != null) ? this.mobBase.getObjectUUID() : this.loadID);