11 AIR_RUNE(556,
new int[]{4695, 4696, 4697},
new int[]{1381, 1397, 1405, 11998, 12000, 20730, 20733, 20736, 20739}),
12 FIRE_RUNE(554,
new int[]{4694, 4697, 4699},
new int[]{1387, 1393, 1401, 11998, 12000, 11787, 3053, 3054, 12795}),
13 WATER_RUNE(555,
new int[]{4694, 4695, 4698},
new int[]{1383, 1395, 1403, 20730, 20733, 6562, 6563, 11787, 11789, 12795, 21006}),
14 EARTH_RUNE(557,
new int[]{4698, 4696, 4699},
new int[]{3053, 3054, 1385, 1399, 1407, 6562, 6563, 20736, 20739}),
51 if (rune.mainId ==
id)
58 if (
staffs ==
null)
return false;
68 if (
combos ==
null)
return false;
70 if (container.
contains(combo, amount)) {
79 for (
Item item : required) {
104 Item wepon = player.equipment.getWeapon();
105 boolean refresh =
false;
106 player.inventory.setFiringEvents(
false);
107 for (
Item item : required) {
116 if (player.runePouch.contains(item)) {
117 player.runePouch.remove(item);
121 if (player.inventory.contains(rune.
mainId, item.getAmount())) {
122 refresh |= player.inventory.remove(rune.
mainId, item.getAmount());
127 for (
int combo : rune.
combos) {
128 if (player.inventory.contains(combo, item.getAmount())) {
129 refresh |= player.inventory.remove(combo, item.getAmount());
136 player.inventory.setFiringEvents(
true);
137 if (refresh) player.inventory.refresh();
141 List<Item> required =
new LinkedList<>();
143 required.add(
new Item(rune.getMainId(), rune.getAmount()));
145 return hasRunes(player, required.toArray(
new Item[required.size()]));
149 List<Item> required =
new LinkedList<>();
151 required.add(
new Item(rune.getMainId(), rune.getAmount()));
153 remove(player, required.toArray(
new Item[required.size()]));
boolean contains(Item item)