Switched to correct gem mode by using gemapplytype column (See #24)

This commit is contained in:
Collin Smith 2019-03-28 03:27:13 -07:00
parent 20b84c80b9
commit 754f4be60d
2 changed files with 7 additions and 19 deletions

View File

@ -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;
}

View File

@ -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]);
}