Key MobBase on its ID and stop reading loadID

Every static_npc_mobbase row has ID = loadID since 3.6 dropped the
server-made rows, so the race rune and rune effects are looked up by ID and
the loaders no longer filter on loadID. No value change (dev: 2375 of 2375
rows have ID = loadID). Mob.loadID and NPC.loadID are unchanged.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
MagicBotandClaude Opus 5.5 committed 2026-10-24 09:37:16 -04:00
1 parent 7027000ba1
commit 236bddc93b
5 files changed
+10 -18

No files matched your search

+3 -3
View File
@@ -164,7 +164,7 @@ public class Mob extends AbstractIntelligenceAgent implements Delayed {
writer.putInt(0);
writer.putInt(0);
int tid = (mob.mobBase != null) ? mob.mobBase.getLoadID() : 0;
int tid = (mob.mobBase != null) ? mob.mobBase.getObjectUUID() : 0;
if (mob.isPet()) {
writer.putInt(2);
writer.putInt(3);
@@ -191,7 +191,7 @@ public class Mob extends AbstractIntelligenceAgent implements Delayed {
writer.putInt(0);
if (mob.mobBase != null)
writer.putInt(mob.mobBase.getLoadID());
writer.putInt(mob.mobBase.getObjectUUID());
else
writer.putInt(mob.loadID);
@@ -768,7 +768,7 @@ public class Mob extends AbstractIntelligenceAgent implements Delayed {
bonus *= (1 + this.bonuses.getFloatPercentAll(ModType.Speed, SourceType.None));
if (this.isPlayerGuard())
switch (this.mobBase.getLoadID()) {
switch (this.mobBase.getObjectUUID()) {
case 2111:
if (this.isWalk())
if (this.isCombat())