From 49f293c4941e353cc167dbb9c872a69fd173d757 Mon Sep 17 00:00:00 2001 From: Collin Smith Date: Sun, 6 Sep 2020 00:17:25 -0700 Subject: [PATCH] Added method to validate flags for gem stat lists --- core/src/com/riiablo/attributes/AttributesUpdater.java | 5 +++++ core/src/com/riiablo/attributes/StatListFlags.java | 4 ++++ 2 files changed, 9 insertions(+) diff --git a/core/src/com/riiablo/attributes/AttributesUpdater.java b/core/src/com/riiablo/attributes/AttributesUpdater.java index 8c21d03b..c7ce076f 100644 --- a/core/src/com/riiablo/attributes/AttributesUpdater.java +++ b/core/src/com/riiablo/attributes/AttributesUpdater.java @@ -22,6 +22,11 @@ public class AttributesUpdater { if (setItemListCount > 1) { log.warnf("listFlags(0x%x) contains more than 1 set list", listFlags); } + } else { + final int gemListCount = StatListFlags.countGemFlags(listFlags); + if (gemListCount > 1) { + log.warnf("listFlags(0x%x) contains more than 1 gem list", listFlags); + } } final StatList list = attrs.list(); diff --git a/core/src/com/riiablo/attributes/StatListFlags.java b/core/src/com/riiablo/attributes/StatListFlags.java index e495ee02..111d3bce 100644 --- a/core/src/com/riiablo/attributes/StatListFlags.java +++ b/core/src/com/riiablo/attributes/StatListFlags.java @@ -95,5 +95,9 @@ public class StatListFlags { } } + static int countGemFlags(int flags) { + return Integer.bitCount(flags); + } + private StatListFlags() {} }