Essence mining (#33)

* Clay mining is now implemented.

* Partial implementation of Essence mining, this doesn't implement pure essence yet though there's boilerplate code to assist.
Considerations:
Node requires 1 click per essence
Node produces only Rune Essence (This can in theory be changed for pure, but let's find out how much of Runecrafting is even implemented first.)
This commit is contained in:
Ben Maher
2019-10-08 00:10:26 +01:00
committed by Daniel Ginovker
parent 1f04d2cbaa
commit 4c90e2c6a5
2 changed files with 402 additions and 382 deletions
@@ -43,6 +43,8 @@ public class Mining {
{3043, 1, 18, 3, 438}, //Tin
{2109, 1, 18, 3, 434}, //Clay
{2108, 1, 18, 3, 434}, //Clay
{2491, 1, 2, 0, 1436}, // Rune Essence
{2491, 30, 1, 0, 7936}, // Pure Rune Essence
};
public int getRandomAdd() {
@@ -167,7 +169,18 @@ public class Mining {
player.getActionSender().sendMessage("You have ran out of inventory slots.");
container.stop();
}
if (objectNumber != 22)
mineRock(Rock_Settings[objectNumber][3] + getRandomAdd(), objectX, objectY, type, Rock_Settings[objectNumber][0]);
if (objectNumber == 22)
if (miningLevel >= 30)
{
mineRock(Rock_Settings[objectNumber + 1][3] + getRandomAdd(), objectX, objectY, type, Rock_Settings[objectNumber + 1][0]);
}
else
{
mineRock(Rock_Settings[objectNumber][3] + getRandomAdd(), objectX, objectY, type, Rock_Settings[objectNumber][0]);
}
player.isMining = false;
container.stop();
}
@@ -203,8 +216,12 @@ public class Mining {
}
public void mineRock(int respawnTime, int x, int y, int type, int i) {
if (i != 2491)
{
new Object(452, x, y, 0, type, 10, i, respawnTime);
Region.addObject(452, x, y, 0, 10, type, false);
}
for (int t = 0; t < PlayerHandler.players.length; t++) {
if (PlayerHandler.players[t] != null) {
if (PlayerHandler.players[t].rockX == x && PlayerHandler.players[t].rockY == y) {
@@ -188,6 +188,9 @@ public class ObjectsActions {
case 3043:
player.getMining().startMining(player, 19, player.objectX, player.objectY, player.clickObjectType);
break;
case 2491:
player.getMining().startMining(player, 22, player.objectX, player.objectY, player.clickObjectType);
break;
case 6702:
case 6703: