From bd1bafc799a75a75b60c5376d55a5bc028e85072 Mon Sep 17 00:00:00 2001 From: Ben Culkin Date: Tue, 29 Dec 2020 18:30:32 -0500 Subject: Implement 'effect groups' as an explicit concept --- src/main/java/tlIItools/Affix.java | 22 +++++++++++++--------- 1 file changed, 13 insertions(+), 9 deletions(-) (limited to 'src/main/java/tlIItools/Affix.java') diff --git a/src/main/java/tlIItools/Affix.java b/src/main/java/tlIItools/Affix.java index b147ab0b..00fff77a 100644 --- a/src/main/java/tlIItools/Affix.java +++ b/src/main/java/tlIItools/Affix.java @@ -88,10 +88,18 @@ public class Affix { if (effects == null) { if (afx.effects != null) return false; } else if (!effects.equals(afx.effects)) { - // TODO this isn't actually an equals; maybe make this a 'isEquivalent' or 'isSimilarEffect'? - // -bculkin, 12/29/2020 - return false; - } else if (enchantSources == null) { + Iterator leftIter = effects.iterator(); + Iterator rightIter = afx.effects.iterator(); + + while (leftIter.hasNext() && rightIter.hasNext()) { + Effect left = leftIter.next(); + Effect right = rightIter.next(); + + if (!left.group.equals(right.group)) return false; + } + } + + if (enchantSources == null) { if (afx.enchantSources != null) return false; } else if (!enchantSources.equals(afx.enchantSources)) { return false; @@ -133,14 +141,10 @@ public class Affix { public String getAffixGroupName() { StringBuilder sb = new StringBuilder(); - for (Effect eft : effects) sb.append(eft.getEffectGroup()); - + for (Effect eft : effects) sb.append(eft.group); for (String enchantSource : enchantSources) sb.append(enchantSource); - for (String equipType : equipTypes) sb.append(equipType); - for (String nonEquipType : nonequipTypes) sb.append(nonEquipType); - for (String socketableType : socketableTypes) sb.append(socketableType); return sb.toString(); -- cgit v1.2.3