diff --git a/pkg/data/npc.go b/pkg/data/npc.go index eb3774a..e7ad26e 100644 --- a/pkg/data/npc.go +++ b/pkg/data/npc.go @@ -162,7 +162,7 @@ func (m Monster) IsMerc() bool { func (m Monster) IsPet() bool { // Necromancer revive. - if m.States.HasState(state.Revive) { + if m.States.HasState(state.Revive) || m.States.HasState(state.BindDemon) || m.States.HasState(state.BindDemonUnderling) { return true } @@ -171,7 +171,7 @@ func (m Monster) IsPet() bool { npc.OakSage, npc.DruBear, npc.DruPlaguePoppy, npc.VineCreature, npc.DruCycleOfLife, npc.ClayGolem, npc.BloodGolem, npc.IronGolem, npc.FireGolem, npc.NecroSkeleton, npc.NecroMage, npc.Valkyrie, npc.Decoy, - npc.ShadowWarrior, npc.ShadowMaster: + npc.ShadowWarrior, npc.ShadowMaster, npc.Tainted3, npc.WarGoatman, npc.WarDefiler: return true } diff --git a/pkg/memory/player.go b/pkg/memory/player.go index cc6d02d..e96dc34 100644 --- a/pkg/memory/player.go +++ b/pkg/memory/player.go @@ -212,7 +212,7 @@ func (gd *GameReader) getSkills(skillListPtr uintptr) map[skill.ID]skill.Points func (gd *GameReader) GetStates(statsListExPtr uintptr) state.States { var states state.States - for i := 0; i < 6; i++ { + for i := 0; i < 8; i++ { offset := i * 4 stateByte := gd.Process.ReadUInt(statsListExPtr+0xAF0+uintptr(offset), Uint32)