From 754f4be60d9d95d306b7f4320bd2e399f9425676 Mon Sep 17 00:00:00 2001 From: Collin Smith Date: Thu, 28 Mar 2019 03:27:13 -0700 Subject: [PATCH] Switched to correct gem mode by using gemapplytype column (See #24) --- .../com/riiablo/codec/excel/ItemEntry.java | 1 + core/src/com/riiablo/item/Item.java | 25 +++++-------------- 2 files changed, 7 insertions(+), 19 deletions(-) diff --git a/core/src/com/riiablo/codec/excel/ItemEntry.java b/core/src/com/riiablo/codec/excel/ItemEntry.java index e8abb982..717b7d8a 100644 --- a/core/src/com/riiablo/codec/excel/ItemEntry.java +++ b/core/src/com/riiablo/codec/excel/ItemEntry.java @@ -39,4 +39,5 @@ public class ItemEntry extends Excel.Entry { @Column public int mindam; @Column public int maxdam; @Column public int speed; + @Column public int gemapplytype; } diff --git a/core/src/com/riiablo/item/Item.java b/core/src/com/riiablo/item/Item.java index 6a4a4952..53ab9305 100644 --- a/core/src/com/riiablo/item/Item.java +++ b/core/src/com/riiablo/item/Item.java @@ -79,9 +79,8 @@ public class Item extends Actor implements Disposable { private static final int WEAPON_PROPS = 0; private static final int ARMOR_PROPS = 1; - private static final int HELM_PROPS = 2; - private static final int SHIELD_PROPS = 3; - private static final int NUM_GEM_PROPS = 4; + private static final int SHIELD_PROPS = 2; + private static final int NUM_GEM_PROPS = 3; private static final PropertyList[] EMPTY_STAT_ARRAY = new PropertyList[NUM_PROPS]; @@ -222,7 +221,6 @@ public class Item extends Actor implements Disposable { stats = new PropertyList[NUM_GEM_PROPS]; stats[WEAPON_PROPS] = new PropertyList().add(gem.weaponModCode, gem.weaponModParam, gem.weaponModMin, gem.weaponModMax); stats[ARMOR_PROPS ] = new PropertyList().add(gem.helmModCode, gem.helmModParam, gem.helmModMin, gem.helmModMax); - stats[HELM_PROPS ] = stats[ARMOR_PROPS]; stats[SHIELD_PROPS] = new PropertyList().add(gem.shieldModCode, gem.shieldModParam, gem.shieldModMin, gem.shieldModMax); } else { stats = EMPTY_STAT_ARRAY; @@ -862,8 +860,9 @@ public class Item extends Actor implements Disposable { assert stats.length == NUM_GEM_PROPS; add().height(font.getLineHeight()).space(SPACING).row(); add(new Label(Riiablo.string.lookup("GemXp3") + " " + stats[WEAPON_PROPS].copy().reduce().get().format(), font, Riiablo.colors.white)).center().space(SPACING).row(); - add(new Label(Riiablo.string.lookup("GemXp4") + " " + stats[ARMOR_PROPS ].copy().reduce().get().format(), font, Riiablo.colors.white)).center().space(SPACING).row(); - add(new Label(Riiablo.string.lookup("GemXp1") + " " + stats[HELM_PROPS ].copy().reduce().get().format(), font, Riiablo.colors.white)).center().space(SPACING).row(); + String tmp = stats[ARMOR_PROPS].copy().reduce().get().format(); + add(new Label(Riiablo.string.lookup("GemXp4") + " " + tmp, font, Riiablo.colors.white)).center().space(SPACING).row(); + add(new Label(Riiablo.string.lookup("GemXp1") + " " + tmp, font, Riiablo.colors.white)).center().space(SPACING).row(); add(new Label(Riiablo.string.lookup("GemXp2") + " " + stats[SHIELD_PROPS].copy().reduce().get().format(), font, Riiablo.colors.white)).center().space(SPACING).row(); add().height(font.getLineHeight()).space(SPACING).row(); } @@ -931,19 +930,7 @@ public class Item extends Actor implements Disposable { PropertyList magicPropsAggregate = magicProps.copy(); for (Item socket : socketed) { if (socket.type.is("gem") | socket.type.is("rune")) { - int socketType; - if (Item.this.type.is("weap")) { - socketType = WEAPON_PROPS; - } else if (Item.this.type.is("shld")) { - socketType = SHIELD_PROPS; - } else if (Item.this.type.is("helm")) { - socketType = HELM_PROPS; - } else { - assert Item.this.type.is("armo"); - socketType = ARMOR_PROPS; - } - - magicPropsAggregate.addAll(socket.stats[socketType]); + magicPropsAggregate.addAll(socket.stats[base.gemapplytype]); } else { magicPropsAggregate.addAll(socket.stats[MAGIC_PROPS]); }