[Mage Training Arena] Enchanting, and some other stuff (#507)

* Handle some more stairs...

* Remove message sent to player

* Bolts/Tips making

* Tidy up

* Free alchs occasionally within training arena

* [Mage Training Arena] Enchanting

* Remove enchanting room specific items when leaving area
This commit is contained in:
Danial
2021-10-03 06:38:45 +13:00
committed by GitHub
parent 865ef4ed29
commit c526aa5f4d
16 changed files with 430 additions and 138 deletions
@@ -822,6 +822,8 @@ public abstract class Player {
getPacketSender().showOption(3, 0, "Attack", 1);
} else if (Boundary.isIn(this, Boundary.MAGE_TRAINING_ARENA_ALCHEMY)) {
getPacketSender().walkableInterface(15892);
} else if (Boundary.isIn(this, Boundary.MAGE_TRAINING_ARENA_ENCHANTING)) {
getPacketSender().walkableInterface(15917);
} else {
getPacketSender().sendMapState(0);
if (!isSnowy) {
@@ -2157,6 +2159,10 @@ public abstract class Player {
// remove any alchemy training items
getMageTrainingArena().alchemy.clearItems();
}
if (Boundary.isIn(this, Boundary.MAGE_TRAINING_ARENA_ENCHANTING) && !Boundary.isIn(teleportToX, teleportToY, teleHeight, Boundary.MAGE_TRAINING_ARENA_ENCHANTING)) {
// remove any alchemy training items
getMageTrainingArena().enchanting.clearItems();
}
currentX = teleportToX - 8 * mapRegionX;
currentY = teleportToY - 8 * mapRegionY;
absX = teleportToX;
@@ -1175,13 +1175,13 @@ public class PlayerAssistant {
if (System.currentTimeMillis() - player.alchDelay <= 1000) {
return;
}
if (!player.getCombatAssistant().checkMagicReqs(49)) {
return;
}
if (Boundary.isIn(player, Boundary.MAGE_TRAINING_ARENA)) {
player.getMageTrainingArena().alchItem(itemId, spellId);
return;
}
if (!player.getCombatAssistant().checkMagicReqs(49)) {
return;
}
canAlch = true;
for (int i : ItemConstants.ITEM_UNALCHABLE) {
if (itemId == i) {
@@ -1233,6 +1233,7 @@ public class PlayerAssistant {
case 1180: // Lvl-4 enchant diamond
case 1187: // Lvl-5 enchant dragonstone
case 6003: // Lvl-6 enchant onyx
player.getPacketSender().sendShowTab(6);
if (Boundary.isIn(player, Boundary.MAGE_TRAINING_ARENA)) {
player.getMageTrainingArena().enchantItem(itemId, spellId);
} else {
@@ -1249,13 +1250,13 @@ public class PlayerAssistant {
if (System.currentTimeMillis() - player.alchDelay <= 1000) {
return;
}
if (!player.getCombatAssistant().checkMagicReqs(50)) {
break;
}
if (Boundary.isIn(player, Boundary.MAGE_TRAINING_ARENA)) {
player.getMageTrainingArena().alchItem(itemId, spellId);
return;
}
if (!player.getCombatAssistant().checkMagicReqs(50)) {
break;
}
canAlch = true;
for (int i : ItemConstants.ITEM_UNALCHABLE) {
if (itemId == i) {