Smithing interface fixes

Now handles blurite correctly
Updated title
Fixed bullseye lanterns
Fixed bronze wire
Fixed glass lantern
This commit is contained in:
GregF 2024-03-18 12:22:49 +00:00 committed by Ryan
parent 675f0c1e37
commit bbfa1bb1e7
3 changed files with 48 additions and 15 deletions

View file

@ -360,8 +360,6 @@ public enum Bars {
/** /**
* Steel Lantern * Steel Lantern
*/ */
STEEL_LANTERN(BarType.STEEL, SmithingType.TYPE_LANTERN, 4527, 49),
STEEL_BULLSEYE(BarType.STEEL, SmithingType.TYPE_BULLSEYE, 4544, 49), STEEL_BULLSEYE(BarType.STEEL, SmithingType.TYPE_BULLSEYE, 4544, 49),
/** /**

View file

@ -41,7 +41,41 @@ public final class SmithingBuilder {
public void build(Player player) { public void build(Player player) {
player.getGameAttributes().removeAttribute("smith-type"); player.getGameAttributes().removeAttribute("smith-type");
player.getGameAttributes().setAttribute("smith-type", type); player.getGameAttributes().setAttribute("smith-type", type);
player.getPacketDispatch().sendInterfaceConfig(300, 267, false);// pickaxe if (type.name().equals("BLURITE")) {
// interface 300 spawns with most things already there. Hide everything except what we want
int[] values = {
17, // dagger
25, // axe
33, // mace
41, // med helm
// show this 49, // bolts
57, // sword
65, // dart tip
73, // nail
105, // arrow tip
113, // scimmy
// show this 121, // limbs
129, // long sword
137, // throwing knife
145, // full helm
153, // square shield
177, // warhammer
185, // battleaxe
193, // chain body
201, // kiteshield
217, // 2h
225, // plate sk
233, // plate l
241, // platebody
};
for (int childId : values) {
player.getPacketDispatch().sendInterfaceConfig(300, childId, true);
}
}
else {
player.getPacketDispatch().sendInterfaceConfig(300, 267, false);// pickaxe
}
final Bars bars[] = Bars.getBars(type); final Bars bars[] = Bars.getBars(type);
for (int i = 0; i < bars.length; i++) { for (int i = 0; i < bars.length; i++) {
if (bars[i].getSmithingType() == SmithingType.TYPE_GRAPPLE_TIP) { if (bars[i].getSmithingType() == SmithingType.TYPE_GRAPPLE_TIP) {
@ -50,17 +84,23 @@ public final class SmithingBuilder {
if (bars[i].getSmithingType() == SmithingType.TYPE_DART_TIP) { if (bars[i].getSmithingType() == SmithingType.TYPE_DART_TIP) {
player.getPacketDispatch().sendInterfaceConfig(300, 65, false); player.getPacketDispatch().sendInterfaceConfig(300, 65, false);
} }
if (bars[i].getSmithingType() == SmithingType.TYPE_SPIT_IRON || bars[i].getSmithingType() == SmithingType.TYPE_WIRE || bars[i].getSmithingType() == SmithingType.TYPE_BULLSEYE) { if (bars[i].getSmithingType() == SmithingType.TYPE_WIRE){
player.getPacketDispatch().sendInterfaceConfig(300, 81, false);
}
if (bars[i].getSmithingType() == SmithingType.TYPE_SPIT_IRON){
player.getPacketDispatch().sendInterfaceConfig(300, 89, false); player.getPacketDispatch().sendInterfaceConfig(300, 89, false);
} }
if ( bars[i].getSmithingType() == SmithingType.TYPE_BULLSEYE) {
player.getPacketDispatch().sendInterfaceConfig(300, 161, false);
}
if (bars[i].getSmithingType() == SmithingType.TYPE_CLAWS) { if (bars[i].getSmithingType() == SmithingType.TYPE_CLAWS) {
player.getPacketDispatch().sendInterfaceConfig(300, 209, false); player.getPacketDispatch().sendInterfaceConfig(300, 209, false);
} }
if (bars[i].getSmithingType() == SmithingType.TYPE_LANTERN || bars[i].getSmithingType() == SmithingType.TYPE_OIL_LANTERN) { if (bars[i].getSmithingType() == SmithingType.TYPE_OIL_LANTERN) {
player.getPacketDispatch().sendInterfaceConfig(300, 161, false); player.getPacketDispatch().sendInterfaceConfig(300, 161, false);
} }
if (bars[i].getSmithingType() == SmithingType.TYPE_STUDS) { if (bars[i].getSmithingType() == SmithingType.TYPE_STUDS) {
player.getPacketDispatch().sendInterfaceConfig(300, 169, false); player.getPacketDispatch().sendInterfaceConfig(300, 97, false);
} }
String color = ""; String color = "";
if (player.getSkills().getLevel(Skills.SMITHING) < bars[i].getLevel()) { if (player.getSkills().getLevel(Skills.SMITHING) < bars[i].getLevel()) {
@ -79,7 +119,7 @@ public final class SmithingBuilder {
} }
InterfaceContainer.generateItems(player, new Item[] { new Item(bars[i].getProduct(), bars[i].getSmithingType().getProductAmount()) }, new String[] { "" }, 300, bars[i].getSmithingType().getChild() - 1); InterfaceContainer.generateItems(player, new Item[] { new Item(bars[i].getProduct(), bars[i].getSmithingType().getProductAmount()) }, new String[] { "" }, 300, bars[i].getSmithingType().getChild() - 1);
} }
player.getPacketDispatch().sendString(type.getBarName(), 300, 15); player.getPacketDispatch().sendString(type.getBarName(), 300, 14);
player.getInterfaceManager().open(new Component(300)); player.getInterfaceManager().open(new Component(300));
} }

View file

@ -52,7 +52,7 @@ public enum SmithingType {
/** /**
* Bullseye * Bullseye
*/ */
TYPE_BULLSEYE(1, 90, 91, new int[] { 96, 95, 94, 93 }, 1), TYPE_BULLSEYE(1, 162, 163, new int[] { 168, 167, 166, 165 }, 1),
/** /**
* Spit Iron * Spit Iron
@ -61,7 +61,7 @@ public enum SmithingType {
/** /**
* *
*/ */
TYPE_WIRE(1, 90, 91, new int[] { 96, 95, 94, 93 }, 1), TYPE_WIRE(1, 82, 83, new int[] { 88, 87, 86, 85 }, 1),
/** /**
* Arrow Tips * Arrow Tips
@ -98,11 +98,6 @@ public enum SmithingType {
*/ */
TYPE_SQUARE_SHIELD(2, 154, 155, new int[] { 160, 159, 158, 157 }, 1), TYPE_SQUARE_SHIELD(2, 154, 155, new int[] { 160, 159, 158, 157 }, 1),
/**
* Latern
*/
TYPE_LANTERN(1, 162, 163, new int[] { 168, 167, 166, 165 }, 1),
/** /**
* Oil Lantern * Oil Lantern
*/ */
@ -116,7 +111,7 @@ public enum SmithingType {
/** /**
* The studs type. * The studs type.
*/ */
TYPE_STUDS(1, 170, 171, new int[] { 175, 176, 174, 173, 172 }, 1), TYPE_STUDS(1, 98, 99, new int[] { 104, 103, 102, 101, 100 }, 1),
/** /**
* Warhammer * Warhammer