forked from 2009Scape/Server
Changed crystal equipment to recharge with rune arrows and kiteshields instead of coins
New Crystal Bows require 3600 rune arrows, recharging requires 3000. New Shields cost 24 Rune Kite shields, recharging requires 20.
This commit is contained in:
parent
d21452a8bf
commit
de4f67832b
1 changed files with 38 additions and 24 deletions
|
|
@ -235,7 +235,7 @@ public class IslwynDialogue extends DialoguePlugin {
|
|||
case 33:
|
||||
switch (buttonId) {
|
||||
case 1:
|
||||
interpreter.sendDialogues(1680, FacialExpression.HALF_GUILTY, "Ah, very well.", "I will sell you a new bow or shield for 900,000 coins.");
|
||||
interpreter.sendDialogues(1680, FacialExpression.HALF_GUILTY, "Ah, very well.", "I will make you a new bow from 3,600 Rune Arrows", "or a shield from 24 Rune Kiteshields.");
|
||||
stage = 37;
|
||||
break;
|
||||
case 2:
|
||||
|
|
@ -245,7 +245,7 @@ public class IslwynDialogue extends DialoguePlugin {
|
|||
}
|
||||
break;
|
||||
case 34:
|
||||
interpreter.sendOptions("Select an Option", "Recharge seed into bow", "Recharge seed into shield");
|
||||
interpreter.sendOptions("Select an Option", "Recharge seed into bow with 3000 Rune Arrows", "Recharge seed into shield with 20 Rune Kiteshields");
|
||||
stage = 35;
|
||||
break;
|
||||
case 35:
|
||||
|
|
@ -266,13 +266,13 @@ public class IslwynDialogue extends DialoguePlugin {
|
|||
stage = 500;
|
||||
}
|
||||
int timesRecharged = player.getAttribute("rovingelves:crystal-equip-recharges", 0);
|
||||
int price = crystalWeaponPrice(timesRecharged);
|
||||
if (!player.getInventory().contains(995, price)) {
|
||||
interpreter.sendDialogue(String.format("You don't have enough coins, you need %d.", price));
|
||||
int price = crystalBowPrice(false);
|
||||
if (!player.getInventory().contains(892, price)) {
|
||||
interpreter.sendDialogue(String.format("You don't have enough Rune Arrows, you need %d.", price));
|
||||
stage = 500;
|
||||
}
|
||||
if (player.getInventory().contains(995, price) && player.getInventory().contains(RovingElves.CRYSTAL_SEED.getId(), 1)) {
|
||||
if (player.getInventory().remove(RovingElves.CRYSTAL_SEED) && player.getInventory().remove(new Item(995, price))) {
|
||||
if (player.getInventory().contains(892, price) && player.getInventory().contains(RovingElves.CRYSTAL_SEED.getId(), 1)) {
|
||||
if (player.getInventory().remove(RovingElves.CRYSTAL_SEED) && player.getInventory().remove(new Item(892, price))) {
|
||||
player.getInventory().add(new Item(4214, 1));
|
||||
player.incrementAttribute("/save:rovingelves:crystal-equip-recharges", 1);
|
||||
end();
|
||||
|
|
@ -285,13 +285,13 @@ public class IslwynDialogue extends DialoguePlugin {
|
|||
stage = 500;
|
||||
}
|
||||
timesRecharged = player.getAttribute("rovingelves:crystal-equip-recharges", 0);
|
||||
price = crystalWeaponPrice(timesRecharged);
|
||||
if (!player.getInventory().contains(995, price)) {
|
||||
interpreter.sendDialogue("You don't have enough coins.");
|
||||
price = crystalShieldPrice(false);
|
||||
if (!player.getInventory().contains(1201, price)) {
|
||||
interpreter.sendDialogue(String.format("You don't have enough Rune Kiteshields, you need %d.", price));
|
||||
stage = 500;
|
||||
}
|
||||
if (player.getInventory().contains(995, price) && player.getInventory().contains(RovingElves.CRYSTAL_SEED.getId(), 1)) {
|
||||
if (player.getInventory().remove(RovingElves.CRYSTAL_SEED) && player.getInventory().remove(new Item(995, price))) {
|
||||
if (player.getInventory().contains(1201, price) && player.getInventory().contains(RovingElves.CRYSTAL_SEED.getId(), 1)) {
|
||||
if (player.getInventory().remove(RovingElves.CRYSTAL_SEED) && player.getInventory().remove(new Item(1201, price))) {
|
||||
player.getInventory().add(new Item(4225, 1));
|
||||
player.incrementAttribute("/save:rovingelves:crystal-equip-recharges", 1);
|
||||
end();
|
||||
|
|
@ -315,13 +315,13 @@ public class IslwynDialogue extends DialoguePlugin {
|
|||
}
|
||||
break;
|
||||
case 39:
|
||||
price = crystalWeaponPrice(0);
|
||||
if (!player.getInventory().contains(995, price)) {
|
||||
interpreter.sendDialogue("You don't have enough coins.");
|
||||
price = crystalBowPrice(true);
|
||||
if (!player.getInventory().contains(892, price)) {
|
||||
interpreter.sendDialogue(String.format("You don't have enough Rune Arrows, you need %d.", price));
|
||||
stage = 500;
|
||||
}
|
||||
if (player.getInventory().contains(995, price)) {
|
||||
if (player.getInventory().remove(new Item(995, price))) {
|
||||
if (player.getInventory().contains(892, price)) {
|
||||
if (player.getInventory().remove(new Item(892, price))) {
|
||||
if (!player.getInventory().add(new Item(4212, 1))) {
|
||||
GroundItemManager.create(new Item(4212, 1), player);
|
||||
}
|
||||
|
|
@ -330,13 +330,13 @@ public class IslwynDialogue extends DialoguePlugin {
|
|||
}
|
||||
break;
|
||||
case 40:
|
||||
price = crystalWeaponPrice(0);
|
||||
if (!player.getInventory().contains(995, price)) {
|
||||
interpreter.sendDialogue("You don't have enough coins.");
|
||||
price = crystalShieldPrice(true);
|
||||
if (!player.getInventory().contains(1201, price)) {
|
||||
interpreter.sendDialogue(String.format("You don't have enough Rune Kiteshields, you need %d.", price));
|
||||
stage = 500;
|
||||
}
|
||||
if (player.getInventory().contains(995, price)) {
|
||||
if (player.getInventory().remove(new Item(995, price))) {
|
||||
if (player.getInventory().contains(1201, price)) {
|
||||
if (player.getInventory().remove(new Item(1201, price))) {
|
||||
if (!player.getInventory().add(new Item(4224, 1))) {
|
||||
GroundItemManager.create(new Item(4224, 1), player);
|
||||
}
|
||||
|
|
@ -377,7 +377,21 @@ public class IslwynDialogue extends DialoguePlugin {
|
|||
}
|
||||
|
||||
// 900k for the 0th recharge (or for new bows), decreasing by 180k per recharge down to 180k
|
||||
public int crystalWeaponPrice(int timesRecharged) {
|
||||
return Math.max(900000 - 180000 * timesRecharged, 180000);
|
||||
//public int crystalWeaponPrice(int timesRecharged) {
|
||||
// return Math.max(900000 - 180000 * timesRecharged, 180000);
|
||||
//}
|
||||
public int crystalBowPrice(boolean isNew) {
|
||||
if (isNew) {
|
||||
return 3600;
|
||||
} else {
|
||||
return 3000;
|
||||
}
|
||||
}
|
||||
public int crystalShieldPrice(boolean isNew) {
|
||||
if (isNew) {
|
||||
return 24;
|
||||
} else {
|
||||
return 20;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue