Random stuff 3 (#308)

* Make ::update automatically restart server as well

* Add bank area checks back since previously you could open a bank, and as long as you didn't open another interface you could abuse it

* Fix noclip (NEEDS TESTING)

* Revert "Fix noclip  (#302)"

This reverts commit 521ae52e4c.

* ::clip command removed, fixed a typo, reordered some stuff, fixed a bug with others cannon

-Removed the clip command from the client;
-Fixed a typo in a dialogue;
-Fixed mud battlestaff nto working as runes (water and earth);
-Fixed a bug with other cannons near you preventing you from setting down a cannon. Somehow your player would glitch himself and make it impossible to spawn a cannon at certain spot;

* Snow improvement

Nothing major

* Fixed Click to teleport command

Fixed Click to teleport command;

* cleaned stuff

Co-authored-by: Daniel Ginovker <dcress01@uoguelph.ca>
This commit is contained in:
Gptaqbc
2019-12-21 12:49:54 -05:00
committed by Daniel Ginovker
parent 7157020ac6
commit f6e8f2d851
5 changed files with 43 additions and 35 deletions
-1
View File
@@ -5970,7 +5970,6 @@ public class Game extends RSApplet {
} }
} }
int j3 = j2; int j3 = j2;
int k3 = j1; int k3 = j1;
anIntArrayArray901[j2][j1] = 99; anIntArrayArray901[j2][j1] = 99;
@@ -117,17 +117,12 @@ public class DwarfCannon {
} }
}, 2); }, 2);
} }
public boolean needsCannon() {
return (player.lostCannon == true);
}
public void loginCheck() { public void loginCheck() {
if (needsCannon()) { if (player.lostCannon) {
player.getPacketSender().sendMessage("@red@You can collect your cannon from Nulodion."); player.getPacketSender().sendMessage("@red@You can collect your cannon from Nulodion.");
} }
} }
private boolean canSetUp() { private boolean canSetUp() {
if (setUpStage == 0) { if (setUpStage == 0) {
if (player.getItemAssistant().playerHasItem(ITEM_PARTS[0]) && player.getItemAssistant().playerHasItem(ITEM_PARTS[1]) && player.getItemAssistant().playerHasItem(ITEM_PARTS[2]) && player.getItemAssistant().playerHasItem(ITEM_PARTS[3])) { if (player.getItemAssistant().playerHasItem(ITEM_PARTS[0]) && player.getItemAssistant().playerHasItem(ITEM_PARTS[1]) && player.getItemAssistant().playerHasItem(ITEM_PARTS[2]) && player.getItemAssistant().playerHasItem(ITEM_PARTS[3])) {
@@ -6843,7 +6843,7 @@ public class DialogueHandler {
* @author Andrew * @author Andrew
*/ */
case 3500: case 3500:
if (player.getCannon().needsCannon()) { if (player.lostCannon) {
sendNpcChat2("Hello, " + Misc.capitalize(player.playerName) + ".", "I see that you lost your cannon.", player.talkingNpc, "Nulodion"); sendNpcChat2("Hello, " + Misc.capitalize(player.playerName) + ".", "I see that you lost your cannon.", player.talkingNpc, "Nulodion");
player.nextChat = 3501; player.nextChat = 3501;
} else { } else {
@@ -6853,7 +6853,7 @@ public class DialogueHandler {
break; break;
case 3501: case 3501:
if (player.getCannon().needsCannon()) { if (player.lostCannon) {
if (player.getItemAssistant().freeSlots() >= 4) { if (player.getItemAssistant().freeSlots() >= 4) {
sendNpcChat1("Here is your cannon, try not to lose it again.", player.talkingNpc, "Nulodion"); sendNpcChat1("Here is your cannon, try not to lose it again.", player.talkingNpc, "Nulodion");
for (int i = 0; i < 4; i++) { for (int i = 0; i < 4; i++) {
@@ -161,35 +161,49 @@ public class Walking implements PacketType {
packetSize -= 14; packetSize -= 14;
} }
int steps = (packetSize - 5) / 2; if (player.clickToTele) {
player.getNewWalkCmdX()[0] = player.getNewWalkCmdY()[0] = 0; player.newWalkCmdSteps = (packetSize - 5) / 2;
if (++player.newWalkCmdSteps > player.walkingQueueSize) {
int[][] path = new int[steps][2]; player.newWalkCmdSteps = 0;
int firstStepX = player.getInStream().readSignedWordBigEndianA();
for (int i = 0; i < steps; i++) {
path[i][0] = player.getInStream().readSignedByte();
path[i][1] = player.getInStream().readSignedByte();
}
int firstStepY = player.getInStream().readSignedWordBigEndian();
int x = firstStepX;
int y = firstStepY;
player.setNewWalkCmdIsRunning(player.isRunning2 && player.playerEnergy > 0);
for (int i = 0; i < steps; i++) {
path[i][0] += firstStepX;
path[i][1] += firstStepY;
x = path[i][0];
y = path[i][1];
}
if (!player.clickToTele) {
if (player.distanceToPoint(x, y) > 30) {
return; return;
} }
player.getNewWalkCmdX()[0] = player.getNewWalkCmdY()[0] = 0;
int firstStepX, firstStepY;
firstStepX = player.getInStream().readSignedWordBigEndianA();
for (int i = 1; i < player.newWalkCmdSteps; i++) {
player.getNewWalkCmdX()[i] = player.getInStream().readSignedByte();
player.getNewWalkCmdY()[i] = player.getInStream().readSignedByte();
}
firstStepY = player.getInStream().readSignedWordBigEndian();
player.setNewWalkCmdIsRunning(player.getInStream().readSignedByteC() == 1 && player.playerEnergy > 0);
for (int i1 = 0; i1 < player.newWalkCmdSteps; i1++) {
player.getPlayerAssistant().movePlayer(player.getNewWalkCmdX()[i1] + firstStepX, player.getNewWalkCmdY()[i1] + firstStepY, player.heightLevel);
player.getNewWalkCmdX()[i1] += firstStepX;
player.getNewWalkCmdY()[i1] += firstStepY;
}
} }
//System.out.println("Player has requested to walk to: "+x+","+y); else {
player.getPlayerAssistant().playerWalk(x, y); player.getNewWalkCmdX()[0] = player.getNewWalkCmdY()[0] = 0;
int steps = (packetSize - 5) / 2;
int[][] path = new int[steps][2];
int firstStepX = player.getInStream().readSignedWordBigEndianA();
for (int i = 0; i < steps; i++) {
path[i][0] = player.getInStream().readSignedByte();
path[i][1] = player.getInStream().readSignedByte();
}
int firstStepY = player.getInStream().readSignedWordBigEndian();
int x = firstStepX;
int y = firstStepY;
player.setNewWalkCmdIsRunning(player.isRunning2 && player.playerEnergy > 0);
for (int i = 0; i < steps; i++) {
path[i][0] += firstStepX;
path[i][1] += firstStepY;
x = path[i][0];
y = path[i][1];
}
//System.out.println("Player has requested to walk to: "+x+","+y);
player.getPlayerAssistant().playerWalk(x, y);
}
} }
} }