Mage Training Arena and stuff (#504)

* Fixup door/stairs in mage training arena

* Fixup bedsheets, should be worn on head, not weapon slot

* [Mage Training Arena] spawn rewards guardian

* [Mage Training Arena] Add arena teleports (non functioning)

* Just adding some comments

* [Mage Training Arena] Basic mage training arena stuff

* [Mage Training Arena] Allow shop to open and show items correctly

* [Mage Training Arena] Show shop prices when clicked

* noclip

* [Mage Training Arena] Add 2nd option handler (filler)

* [Mage Training Arena] Be able to purchase stuff, lock bones to peaches

* Update MageArena.java

* [Mage Training Arena] setup boundary

* Readability

* Tidy up enchanting

* MageArena -> MageTrainingArena

* Create Alchemy.java

* Update RSInterface.java

* [Mage Training Arena] Spawn entrance npcs

* [Mage Training Arena] Initial Alchemy

* [Mage Training Arena]  Add comments

* [Mage Training Arena] Handle alchemy while in arena

* [Mage Training Arena] Show interface for alchemy room

* [Mage Training Arena] Display values, Search cupboards

* [Mage Training Arena] Don't allow the player to wear items from the Alchemy game

* [Mage Training Arena] Announce when items are changing

* Don't allow the player to bring any coins with them

* Sort by values

* [Mage Training Arena] Allow alching items etc

* Update method name

* Show magic tab after using alch even if can't alch

* [Mage Training Arena] Coin collector - temp

* [Mage Training Arena] Give player points, take items, add bonus xp, add bank items

* [Mage Training Arena] Remove items when player leaves the alchemy training area

* Fixup staffs for runes, Tidy up checks

Was missing all Mystic staff
This commit is contained in:
Danial
2021-10-01 10:25:48 +13:00
committed by GitHub
parent 8589277ece
commit bbe1587e20
23 changed files with 821 additions and 418 deletions
@@ -14,7 +14,6 @@ import com.rs2.game.items.ItemConstants;
import com.rs2.game.items.Weight;
import com.rs2.game.items.impl.LightSources;
import com.rs2.game.players.Client;
import com.rs2.game.players.MainFrameIDs;
import com.rs2.game.players.Player;
import com.rs2.game.players.PlayerHandler;
import com.rs2.util.Misc;
@@ -430,7 +429,8 @@ public class PacketSender {
return this;
}
public PacketSender sendFrame106(int sideIcon) { //Something to do with magic
// Show a certain tab
public PacketSender sendShowTab(int sideIcon) {
if (player.getOutStream() != null && player != null) {
player.getOutStream().createFrame(106);
player.getOutStream().writeByteC(sideIcon);
@@ -98,6 +98,10 @@ public class Bank5 implements PacketType {
case 1123:
player.getSmithing().readInput(player, player.playerLevel[GameConstants.SMITHING], removeId, 5);
break;
case 15948: // Mage Training Arena Shop
player.getMageTrainingArena().buyItem(removeId);
break;
}
}
@@ -153,7 +153,7 @@ public class ClickingButtons implements PacketType {
player.getPlayerAssistant().refreshSkill(GameConstants.MAGIC);
player.startAnimation(722);
player.gfx100(141);
player.getPacketSender().sendFrame106(6);
player.getPacketSender().sendShowTab(6);
player.getPacketSender().sendSound(
SoundList.BONES_TO_BANNAS, 100, 0);
player.boneDelay = System.currentTimeMillis();
@@ -175,9 +175,13 @@ public class ClickingButtons implements PacketType {
player.getPacketSender().sendChatInterface(356);
return;
}
if (!player.unlockedBonesToPeaches) {
player.getPacketSender().sendString("You haven't unlocked this spell yet.", 357);
player.getPacketSender().sendChatInterface(356);
return;
}
if (!player.getItemAssistant().playerHasItem(526, 1)) {
player.getPacketSender().sendMessage(
"You don't have any bones!");
player.getPacketSender().sendMessage("You don't have any bones!");
return;
}
if (!player.getItemAssistant().playerHasItem(561, 2)
@@ -197,7 +201,7 @@ public class ClickingButtons implements PacketType {
player.getPlayerAssistant().refreshSkill(GameConstants.MAGIC);
player.startAnimation(722);
player.gfx100(311);
player.getPacketSender().sendFrame106(6);
player.getPacketSender().sendShowTab(6);
player.boneDelay = System.currentTimeMillis();
do {
player.getItemAssistant().deleteItem(526, 1);
@@ -101,6 +101,9 @@ public class RemoveItem implements PacketType {
player.getSmithing().readInput(player, player.playerLevel[GameConstants.SMITHING], removeId, 1);
break;
case 15948: // Mage Training Arena Shop
player.getMageTrainingArena().sendItemValue(removeId);
break;
}
Weight.updateWeight(player);
}