mirror of
https://github.com/collinsmith/riiablo.git
synced 2025-02-20 19:49:47 +07:00
Implemented SetItems and UniqueItems priority for item images/sounds, resolves #27
This commit is contained in:
parent
90c992899f
commit
e818baaf61
@ -29,7 +29,7 @@ public class SetItems extends Excel<SetItems.Entry> {
|
||||
@Column public String invfile;
|
||||
@Column public String flippyfile;
|
||||
@Column public String dropsound;
|
||||
@Column public String dropsfxframe;
|
||||
@Column public int dropsfxframe;
|
||||
@Column public String usesound;
|
||||
@Column(format = "cost mult")
|
||||
public int cost_mult;
|
||||
|
@ -1,7 +1,5 @@
|
||||
package com.riiablo.codec.excel;
|
||||
|
||||
import com.riiablo.codec.excel.Excel;
|
||||
|
||||
public class UniqueItems extends Excel<UniqueItems.Entry> {
|
||||
public static class Entry extends Excel.Entry {
|
||||
@Override
|
||||
@ -35,7 +33,7 @@ public class UniqueItems extends Excel<UniqueItems.Entry> {
|
||||
@Column public String flippyfile;
|
||||
@Column public String invfile;
|
||||
@Column public String dropsound;
|
||||
@Column public String dropsfxframe;
|
||||
@Column public int dropsfxframe;
|
||||
@Column public String usesound;
|
||||
@Column public String prop1;
|
||||
@Column public int par1;
|
||||
|
@ -569,32 +569,26 @@ public class Item extends Actor implements Disposable {
|
||||
}
|
||||
|
||||
private String getInvFileName() {
|
||||
if (pictureId >= 0) {
|
||||
if (isIdentified() && quality == Quality.UNIQUE) {
|
||||
if (qualityId == 381) { // Annihilus
|
||||
return "invmss";
|
||||
} else if (qualityId == 400) { // Hellfire Torch
|
||||
return "invtrch";
|
||||
}
|
||||
if (isIdentified()) {
|
||||
switch (quality) {
|
||||
case SET:
|
||||
SetItems.Entry setItem = (SetItems.Entry) qualityData;
|
||||
if (!setItem.invfile.isEmpty()) return setItem.invfile;
|
||||
break;
|
||||
case UNIQUE:
|
||||
UniqueItems.Entry uniqueItem = (UniqueItems.Entry) qualityData;
|
||||
if (!uniqueItem.invfile.isEmpty()) return uniqueItem.invfile;
|
||||
break;
|
||||
default:
|
||||
// do nothing
|
||||
}
|
||||
return typeEntry.InvGfx[pictureId];
|
||||
}
|
||||
switch (quality) {
|
||||
case SET:
|
||||
return !base.setinvfile.isEmpty()
|
||||
? base.setinvfile
|
||||
: base.invfile;
|
||||
case UNIQUE:
|
||||
return !base.uniqueinvfile.isEmpty()
|
||||
? base.uniqueinvfile
|
||||
: base.invfile;
|
||||
default:
|
||||
return base.invfile;
|
||||
}
|
||||
|
||||
return pictureId >= 0 ? typeEntry.InvGfx[pictureId] : base.invfile;
|
||||
}
|
||||
|
||||
public String getInvColor() {
|
||||
if (base.InvTrans == 0) return null;
|
||||
if (base.InvTrans == 0 || !isIdentified()) return null;
|
||||
switch (quality) {
|
||||
case MAGIC: {
|
||||
MagicAffix affix;
|
||||
@ -634,7 +628,7 @@ public class Item extends Actor implements Disposable {
|
||||
}
|
||||
|
||||
public String getCharColor() {
|
||||
if (base.Transform == 0) return null;
|
||||
if (base.Transform == 0 || !isIdentified()) return null;
|
||||
switch (quality) {
|
||||
case MAGIC: {
|
||||
MagicAffix affix;
|
||||
@ -674,11 +668,18 @@ public class Item extends Actor implements Disposable {
|
||||
}
|
||||
|
||||
public String getFlippyFile() {
|
||||
if (isIdentified() && quality == Quality.UNIQUE) {
|
||||
if (qualityId == 381) { // Annihilus
|
||||
return findBase("mss").flippyfile;
|
||||
} else if (qualityId == 400) { // Hellfire Torch
|
||||
return findBase("tch").flippyfile;
|
||||
if (isIdentified()) {
|
||||
switch (quality) {
|
||||
case SET:
|
||||
SetItems.Entry setItem = (SetItems.Entry) qualityData;
|
||||
if (!setItem.flippyfile.isEmpty()) return setItem.flippyfile;
|
||||
break;
|
||||
case UNIQUE:
|
||||
UniqueItems.Entry uniqueItem = (UniqueItems.Entry) qualityData;
|
||||
if (!uniqueItem.flippyfile.isEmpty()) return uniqueItem.flippyfile;
|
||||
break;
|
||||
default:
|
||||
// do nothing
|
||||
}
|
||||
}
|
||||
|
||||
@ -686,11 +687,18 @@ public class Item extends Actor implements Disposable {
|
||||
}
|
||||
|
||||
public int getDropFxFrame() {
|
||||
if (isIdentified() && quality == Quality.UNIQUE) {
|
||||
if (qualityId == 381) { // Annihilus
|
||||
return findBase("mss").dropsfxframe;
|
||||
} else if (qualityId == 400) { // Hellfire Torch
|
||||
return findBase("tch").dropsfxframe;
|
||||
if (isIdentified()) {
|
||||
switch (quality) {
|
||||
case SET:
|
||||
SetItems.Entry setItem = (SetItems.Entry) qualityData;
|
||||
if (setItem.dropsfxframe > 0) return setItem.dropsfxframe;
|
||||
break;
|
||||
case UNIQUE:
|
||||
UniqueItems.Entry uniqueItem = (UniqueItems.Entry) qualityData;
|
||||
if (uniqueItem.dropsfxframe > 0) return uniqueItem.dropsfxframe;
|
||||
break;
|
||||
default:
|
||||
// do nothing
|
||||
}
|
||||
}
|
||||
|
||||
@ -698,11 +706,18 @@ public class Item extends Actor implements Disposable {
|
||||
}
|
||||
|
||||
public String getDropSound() {
|
||||
if (isIdentified() && quality == Quality.UNIQUE) {
|
||||
if (qualityId == 381) { // Annihilus
|
||||
return "item_gem";
|
||||
} else if (qualityId == 400) { // Hellfire Torch
|
||||
return "item_gem";
|
||||
if (isIdentified()) {
|
||||
switch (quality) {
|
||||
case SET:
|
||||
SetItems.Entry setItem = (SetItems.Entry) qualityData;
|
||||
if (!setItem.dropsound.isEmpty()) return setItem.dropsound;
|
||||
break;
|
||||
case UNIQUE:
|
||||
UniqueItems.Entry uniqueItem = (UniqueItems.Entry) qualityData;
|
||||
if (!uniqueItem.dropsound.isEmpty()) return uniqueItem.dropsound;
|
||||
break;
|
||||
default:
|
||||
// do nothing
|
||||
}
|
||||
}
|
||||
|
||||
@ -710,16 +725,20 @@ public class Item extends Actor implements Disposable {
|
||||
}
|
||||
|
||||
public String getUseSound() {
|
||||
/*
|
||||
// Neither are usable
|
||||
if (isIdentified() && quality == Quality.UNIQUE) {
|
||||
if (qualityId == 381) { // Annihilus
|
||||
return "item_gem";
|
||||
} else if (qualityId == 400) { // Hellfire Torch
|
||||
return "item_gem";
|
||||
if (isIdentified()) {
|
||||
switch (quality) {
|
||||
case SET:
|
||||
SetItems.Entry setItem = (SetItems.Entry) qualityData;
|
||||
if (!setItem.usesound.isEmpty()) return setItem.usesound;
|
||||
break;
|
||||
case UNIQUE:
|
||||
UniqueItems.Entry uniqueItem = (UniqueItems.Entry) qualityData;
|
||||
if (!uniqueItem.usesound.isEmpty()) return uniqueItem.usesound;
|
||||
break;
|
||||
default:
|
||||
// do nothing
|
||||
}
|
||||
}
|
||||
*/
|
||||
|
||||
return base.usesound;
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user