From 691d8f7e84efe6f9f956ec53653e0150686710c3 Mon Sep 17 00:00:00 2001 From: guiyomu-dev <22749537+guiyomu-dev@users.noreply.github.com> Date: Tue, 6 Jan 2026 00:29:32 +0100 Subject: [PATCH] fix IsImmune function --- pkg/data/npc.go | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/pkg/data/npc.go b/pkg/data/npc.go index 8a6f70f..56fab42 100644 --- a/pkg/data/npc.go +++ b/pkg/data/npc.go @@ -99,8 +99,9 @@ func (m Monsters) FindByID(id UnitID) (Monster, bool) { func (m Monster) IsImmune(resist stat.Resist) bool { for st, value := range m.Stats { - // Only consider immunity threshold (>= 100). - if value < 100 { + // We only want max resistance + // Need to cast to int32 because type is uint32 and negative values are possible (e.g. -50 for Andariel) + if int32(value) < 100 { continue } if resist == stat.ColdImmune && st == stat.ColdResist { @@ -151,7 +152,7 @@ func (m Monster) IsPet() bool { func (m Monster) IsGoodNPC() bool { switch m.Name { - case 146, 154, 147, 150, 155, 148, 244, 210, 175, 199, 198, 177, 178, 201, 202, 200, 331, 245, 264, 255, 176, + case 146, 154, 147, 150, 155, 148, 244, 210, 175, 199, 198, 177, 178, 201, 202, 200, 331, 245, 264, 255, 176, 252, 254, 253, 297, 246, 251, 367, 521, 257, 405, 265, 520, 512, 518, 527, 515, 513, 511, 514, 266, 408, 406, 543: // Baal Throne return true