minor fix for door glitch (#123)

* running locally env - null password given

* open door from distance fix, needs improvment
This commit is contained in:
LeonBeilis
2019-10-27 21:14:53 +02:00
committed by Daniel Ginovker
parent dd206ece70
commit abcb1133d8
2 changed files with 494 additions and 492 deletions
@@ -7,7 +7,7 @@ import java.util.Scanner;
import redone.Server; import redone.Server;
import redone.game.objects.Objects; import redone.game.objects.Objects;
import redone.game.players.Player;
public class Doors { public class Doors {
@@ -53,17 +53,21 @@ public class Doors {
} }
return null; return null;
} }
public boolean handleDoor(int id, int x, int y, int z) { public boolean handleDoor(int id, int x, int y, int z, Player player) {
Doors d = getDoor(id, x, y, z); Doors d = getDoor(id, x, y, z);
if (d == null) { if (d == null) {
if (DoubleDoors.getSingleton().handleDoor(id, x, y, z)) { if (DoubleDoors.getSingleton().handleDoor(id, x, y, z)) {
return true; return true;
} }
return false; return false;
} }
//todo: improvment: if player manage to get to door then open the door.
if(player.distanceToPoint(x, y) > 1) return false;
int xAdjustment = 0, yAdjustment = 0; int xAdjustment = 0, yAdjustment = 0;
if (d.type == 0) { if (d.type == 0) {
if (d.open == 0) { if (d.open == 0) {
@@ -1,488 +1,486 @@
package redone.net.packets.impl; package redone.net.packets.impl;
import redone.Server; import redone.Server;
import redone.event.CycleEvent; import redone.event.CycleEvent;
import redone.event.CycleEventContainer; import redone.event.CycleEventContainer;
import redone.event.CycleEventHandler; import redone.event.CycleEventHandler;
import redone.game.content.minigames.castlewars.CastleWarObjects; import redone.game.content.minigames.castlewars.CastleWarObjects;
import redone.game.content.minigames.castlewars.CastleWars; import redone.game.content.minigames.castlewars.CastleWars;
import redone.game.content.skills.core.Mining; import redone.game.content.skills.core.Mining;
import redone.game.content.skills.core.Woodcutting; import redone.game.content.skills.core.Woodcutting;
import redone.game.content.skills.thieving.Stalls; import redone.game.content.skills.thieving.Stalls;
import redone.game.globalworldobjects.Doors; import redone.game.globalworldobjects.Doors;
import redone.game.npcs.NpcHandler; import redone.game.npcs.NpcHandler;
import redone.game.objects.Objects; import redone.game.objects.Objects;
import redone.game.players.Client; import redone.game.players.Client;
import redone.net.packets.PacketType; import redone.net.packets.PacketType;
import redone.util.Misc; import redone.util.Misc;
import redone.world.clip.ObjectDef; import redone.world.clip.ObjectDef;
import redone.world.clip.Region; import redone.world.clip.Region;
import java.util.function.Consumer; import java.util.function.Consumer;
public class ClickObject implements PacketType { public class ClickObject implements PacketType {
public static final int FIRST_CLICK = 132, SECOND_CLICK = 252, public static final int FIRST_CLICK = 132, SECOND_CLICK = 252,
THIRD_CLICK = 70, FOURTH_CLICK = 234; THIRD_CLICK = 70, FOURTH_CLICK = 234;
public void onObjectReached(Client player, Consumer<Client> consumer) { public void onObjectReached(Client player, Consumer<Client> consumer) {
final int objectX = player.objectX; final int objectX = player.objectX;
final int objectY = player.objectY; final int objectY = player.objectY;
final int objectId = player.objectId; final int objectId = player.objectId;
Objects object = Region.getObject(objectId, objectX, objectY, player.heightLevel); Objects object = Region.getObject(objectId, objectX, objectY, player.heightLevel);
if (object == null) { if (object == null) {
// Since most content is coded poorly we will have to assume the object is valid // Since most content is coded poorly we will have to assume the object is valid
// but we won't know the face direction, so some objects will behave incorrectly // but we won't know the face direction, so some objects will behave incorrectly
// if the object size is not equal on both axes and the face // if the object size is not equal on both axes and the face
// is not set to zero. The proper fix would be when an object is removed or added // is not set to zero. The proper fix would be when an object is removed or added
// they are added into the region configuration properly so we can retrieve // they are added into the region configuration properly so we can retrieve
// the object at runtime. This will suffice for now. // the object at runtime. This will suffice for now.
object = new Objects(objectId, objectX, objectY, player.heightLevel, 0, 10, 0); object = new Objects(objectId, objectX, objectY, player.heightLevel, 0, 10, 0);
} }
int[] size = object.getObjectSize(); int[] size = object.getObjectSize();
player.startCurrentTask(1, new CycleEvent() { player.startCurrentTask(1, new CycleEvent() {
@Override @Override
public void execute(CycleEventContainer container) { public void execute(CycleEventContainer container) {
if (objectX != player.objectX || objectY != player.objectY || objectId != player.objectId) { if (objectX != player.objectX || objectY != player.objectY || objectId != player.objectId) {
container.stop(); container.stop();
return; return;
} }
int x = player.absX; int x = player.absX;
int y = player.absY; int y = player.absY;
int xMin = objectX - 1; int xMin = objectX - 1;
int xMax = xMin + size[0] + 1; int xMax = xMin + size[0] + 1;
int yMin = objectY - 1; int yMin = objectY - 1;
int yMax = yMin + size[1] + 1; int yMax = yMin + size[1] + 1;
if (x >= xMin && y >= yMin && x <= xMax && y <= yMax) { if (x >= xMin && y >= yMin && x <= xMax && y <= yMax) {
consumer.accept(player); consumer.accept(player);
container.stop(); container.stop();
} }
} }
@Override @Override
public void stop() {} public void stop() {}
}); });
} }
@Override @Override
public void processPacket(final Client player, int packetType, int packetSize) { public void processPacket(final Client player, int packetType, int packetSize) {
player.clickObjectType = player.objectX = player.objectId = player.objectY = 0; player.clickObjectType = player.objectX = player.objectId = player.objectY = 0;
player.getPlayerAssistant().resetFollow(); player.getPlayerAssistant().resetFollow();
player.getCombatAssistant().resetPlayerAttack(); player.getCombatAssistant().resetPlayerAttack();
player.getPlayerAssistant().requestUpdates(); player.getPlayerAssistant().requestUpdates();
player.endCurrentTask(); player.endCurrentTask();
switch (packetType) { switch (packetType) {
case FIRST_CLICK: case FIRST_CLICK:
player.objectX = player.getInStream().readSignedWordBigEndianA(); player.objectX = player.getInStream().readSignedWordBigEndianA();
player.objectId = player.getInStream().readUnsignedWord(); player.objectId = player.getInStream().readUnsignedWord();
player.objectY = player.getInStream().readUnsignedWordA(); player.objectY = player.getInStream().readUnsignedWordA();
onObjectReached(player, (p) -> completeObjectClick(p, 1)); onObjectReached(player, (p) -> completeObjectClick(p, 1));
break; break;
case SECOND_CLICK: case SECOND_CLICK:
player.objectId = player.getInStream().readUnsignedWordBigEndianA(); player.objectId = player.getInStream().readUnsignedWordBigEndianA();
player.objectY = player.getInStream().readSignedWordBigEndian(); player.objectY = player.getInStream().readSignedWordBigEndian();
player.objectX = player.getInStream().readUnsignedWordA(); player.objectX = player.getInStream().readUnsignedWordA();
onObjectReached(player, (p) -> completeObjectClick(p, 2)); onObjectReached(player, (p) -> completeObjectClick(p, 2));
break; break;
case THIRD_CLICK: // 'F' case THIRD_CLICK: // 'F'
player.objectX = player.getInStream().readSignedWordBigEndian(); player.objectX = player.getInStream().readSignedWordBigEndian();
player.objectY = player.getInStream().readUnsignedWord(); player.objectY = player.getInStream().readUnsignedWord();
player.objectId = player.getInStream().readUnsignedWordBigEndianA(); player.objectId = player.getInStream().readUnsignedWordBigEndianA();
onObjectReached(player, (p) -> completeObjectClick(p, 3)); onObjectReached(player, (p) -> completeObjectClick(p, 3));
break; break;
case FOURTH_CLICK: case FOURTH_CLICK:
player.objectX = player.getInStream().readSignedWordBigEndianA(); player.objectX = player.getInStream().readSignedWordBigEndianA();
player.objectId = player.getInStream().readUnsignedWordA(); player.objectId = player.getInStream().readUnsignedWordA();
player.objectY = player.getInStream().readUnsignedWordBigEndianA(); player.objectY = player.getInStream().readUnsignedWordBigEndianA();
onObjectReached(player, (p) -> completeObjectClick(p, 4)); onObjectReached(player, (p) -> completeObjectClick(p, 4));
break; break;
} }
} }
public void completeObjectClick(final Client player, int objectOption) { public void completeObjectClick(final Client player, int objectOption) {
player.turnPlayerTo(player.objectX, player.objectY); player.turnPlayerTo(player.objectX, player.objectY);
switch (objectOption) { switch (objectOption) {
case 1: case 1:
if (player.playerRights == 3 || player.debugMode) { if (player.playerRights == 3 || player.debugMode) {
player.getActionSender().sendMessage("ObjectId: " + player.objectId + " ObjectX: " + player.objectX + " ObjectY: " + player.objectY + " Objectclick = 1, Xoff: " + (player.getX() - player.objectX) + " Yoff: " + (player.getY() - player.objectY)); player.getActionSender().sendMessage("ObjectId: " + player.objectId + " ObjectX: " + player.objectX + " ObjectY: " + player.objectY + " Objectclick = 1, Xoff: " + (player.getX() - player.objectX) + " Yoff: " + (player.getY() - player.objectY));
} }
//if(player.goodDistance(player.getX(), player.getY(), player.objectX, player.objectY, 1)) {
if (Doors.getSingleton().handleDoor(player.objectId, player.objectX, player.objectY, player.heightLevel)) { //todo: check if it's a door before fire handle
//System.out.println("Door debug?"); Doors.getSingleton().handleDoor(player.objectId, player.objectX, player.objectY, player.heightLevel, player);
}
//} /*if (client.performingAction) {
return;
/*if (client.performingAction) { }*/
return;
}*/ if (Stalls.isObject(player.objectId)) {
Stalls.attemptStall(player, player.objectId, player.objectX, player.objectX);
if (Stalls.isObject(player.objectId)) { return;
Stalls.attemptStall(player, player.objectId, player.objectX, player.objectX); }
return;
} if (player.teleTimer > 0) {
player.getActionSender().sendMessage(
if (player.teleTimer > 0) { "You cannot use objects while teleporting.");
player.getActionSender().sendMessage( return;
"You cannot use objects while teleporting."); }
return; if (Math.abs(player.getX() - player.objectX) > 25 || Math.abs(player.getY() - player.objectY) > 25) {
} player.resetWalkingQueue();
if (Math.abs(player.getX() - player.objectX) > 25 || Math.abs(player.getY() - player.objectY) > 25) { break;
player.resetWalkingQueue(); }
break; switch (player.objectId) {
} case 1276:
switch (player.objectId) { Woodcutting.startWoodcutting(player, 0, player.objectX, player.objectY, player.clickObjectType);
case 1276: break;
Woodcutting.startWoodcutting(player, 0, player.objectX, player.objectY, player.clickObjectType); case 1278:
break; Woodcutting.startWoodcutting(player, 1, player.objectX, player.objectY, player.clickObjectType);
case 1278: break;
Woodcutting.startWoodcutting(player, 1, player.objectX, player.objectY, player.clickObjectType); case 1286:
break; Woodcutting.startWoodcutting(player, 2, player.objectX, player.objectY, player.clickObjectType);
case 1286: break;
Woodcutting.startWoodcutting(player, 2, player.objectX, player.objectY, player.clickObjectType); case 1281:
break; Woodcutting.startWoodcutting(player, 3, player.objectX, player.objectY, player.clickObjectType);
case 1281: break;
Woodcutting.startWoodcutting(player, 3, player.objectX, player.objectY, player.clickObjectType); case 1308:
break; Woodcutting.startWoodcutting(player, 4, player.objectX, player.objectY, player.clickObjectType);
case 1308: break;
Woodcutting.startWoodcutting(player, 4, player.objectX, player.objectY, player.clickObjectType); case 5552:
break; Woodcutting.startWoodcutting(player, 5, player.objectX, player.objectY, player.clickObjectType);
case 5552: break;
Woodcutting.startWoodcutting(player, 5, player.objectX, player.objectY, player.clickObjectType); case 1307:
break; Woodcutting.startWoodcutting(player, 6, player.objectX, player.objectY, player.clickObjectType);
case 1307: break;
Woodcutting.startWoodcutting(player, 6, player.objectX, player.objectY, player.clickObjectType); case 1309:
break; Woodcutting.startWoodcutting(player, 7, player.objectX, player.objectY, player.clickObjectType);
case 1309: break;
Woodcutting.startWoodcutting(player, 7, player.objectX, player.objectY, player.clickObjectType); case 1306:
break; Woodcutting.startWoodcutting(player, 8, player.objectX, player.objectY, player.clickObjectType);
case 1306: break;
Woodcutting.startWoodcutting(player, 8, player.objectX, player.objectY, player.clickObjectType); case 5551:
break; Woodcutting.startWoodcutting(player, 9, player.objectX, player.objectY, player.clickObjectType);
case 5551: break;
Woodcutting.startWoodcutting(player, 9, player.objectX, player.objectY, player.clickObjectType); case 5553:
break; Woodcutting.startWoodcutting(player, 10, player.objectX, player.objectY, player.clickObjectType);
case 5553: break;
Woodcutting.startWoodcutting(player, 10, player.objectX, player.objectY, player.clickObjectType); case 3033:
break; Woodcutting.startWoodcutting(player, 11, player.objectX, player.objectY, player.clickObjectType);
case 3033: break;
Woodcutting.startWoodcutting(player, 11, player.objectX, player.objectY, player.clickObjectType); case 3037:
break; Woodcutting.startWoodcutting(player, 12, player.objectX, player.objectY, player.clickObjectType);
case 3037: break;
Woodcutting.startWoodcutting(player, 12, player.objectX, player.objectY, player.clickObjectType); case 1282:
break; Woodcutting.startWoodcutting(player, 13, player.objectX, player.objectY, player.clickObjectType);
case 1282: break;
Woodcutting.startWoodcutting(player, 13, player.objectX, player.objectY, player.clickObjectType); case 1383:
break; Woodcutting.startWoodcutting(player, 14, player.objectX, player.objectY, player.clickObjectType);
case 1383: break;
Woodcutting.startWoodcutting(player, 14, player.objectX, player.objectY, player.clickObjectType); case 2023:
break; Woodcutting.startWoodcutting(player, 15, player.objectX, player.objectY, player.clickObjectType);
case 2023: break;
Woodcutting.startWoodcutting(player, 15, player.objectX, player.objectY, player.clickObjectType); case 1319:
break; Woodcutting.startWoodcutting(player, 16, player.objectX, player.objectY, player.clickObjectType);
case 1319: break;
Woodcutting.startWoodcutting(player, 16, player.objectX, player.objectY, player.clickObjectType); case 1318:
break; Woodcutting.startWoodcutting(player, 17, player.objectX, player.objectY, player.clickObjectType);
case 1318: break;
Woodcutting.startWoodcutting(player, 17, player.objectX, player.objectY, player.clickObjectType); case 1315:
break; Woodcutting.startWoodcutting(player, 18, player.objectX, player.objectY, player.clickObjectType);
case 1315: break;
Woodcutting.startWoodcutting(player, 18, player.objectX, player.objectY, player.clickObjectType); case 1316:
break; Woodcutting.startWoodcutting(player, 19, player.objectX, player.objectY, player.clickObjectType);
case 1316: break;
Woodcutting.startWoodcutting(player, 19, player.objectX, player.objectY, player.clickObjectType); case 1332:
break; Woodcutting.startWoodcutting(player, 20, player.objectX, player.objectY, player.clickObjectType);
case 1332: break;
Woodcutting.startWoodcutting(player, 20, player.objectX, player.objectY, player.clickObjectType);
break; case 1292:
if (player.spiritTree == false && player.clickedTree == true) {
case 1292: player.getActionSender().sendMessage("You have already spawned a tree spirit.");
if (player.spiritTree == false && player.clickedTree == true) { return;
player.getActionSender().sendMessage("You have already spawned a tree spirit."); }
return; if (player.spiritTree == false && player.clickedTree == false) {
} player.getActionSender().sendMessage("You attempt to chop the tree, and a tree spirit appears.");
if (player.spiritTree == false && player.clickedTree == false) { NpcHandler.spawnNpc(player, 655, player.getX(), player.getY(), 0, 0, 225, 20, 80, 80, true, false);
player.getActionSender().sendMessage("You attempt to chop the tree, and a tree spirit appears."); player.clickedTree = true;
NpcHandler.spawnNpc(player, 655, player.getX(), player.getY(), 0, 0, 225, 20, 80, 80, true, false); } else if (player.spiritTree == true) {
player.clickedTree = true; Woodcutting.startWoodcutting(player, 21, player.objectX, player.objectY, player.clickObjectType);
} else if (player.spiritTree == true) { }
Woodcutting.startWoodcutting(player, 21, player.objectX, player.objectY, player.clickObjectType); break;
}
break; case 1294:
case 1293:
case 1294: case 1317:
case 1293: player.getPlayerAssistant().spiritTree();
case 1317: break;
player.getPlayerAssistant().spiritTree();
break; case 2164:
case 2165:
case 2164: Server.trawler.fixNet(player);
case 2165: break;
Server.trawler.fixNet(player);
break; case 4462:
case 4460:
case 4462: case 4461:
case 4460: case 4463:
case 4461: case 4464:
case 4463: case 4459:
case 4464: if (!CastleWars.isInCw(player)) {
case 4459: player.getActionSender().sendMessage("You have to be in castle wars to use these objects.");
if (!CastleWars.isInCw(player)) { CastleWars.resetPlayer(player);
player.getActionSender().sendMessage("You have to be in castle wars to use these objects."); return;
CastleWars.resetPlayer(player); }
return; CastleWarObjects.handleObject(player, player.objectId, player.objectX, player.objectY);
} break;
CastleWarObjects.handleObject(player, player.objectId, player.objectX, player.objectY);
break; case 2513:
player.getRangersGuild().fireAtTarget();
case 2513: break;
player.getRangersGuild().fireAtTarget();
break; case 8930:
player.fade(1975, 4409, 3);
case 8930: break;
player.fade(1975, 4409, 3); case 8929:
break; player.fade(2442, 10147, 0);
case 8929: break;
player.fade(2442, 10147, 0);
break; case 1568:
if (player.objectX == 2399 && player.objectY == 3099) {
case 1568: player.getActionSender()
if (player.objectX == 2399 && player.objectY == 3099) { .object(9472, 2399, 3099, 0, 10);
player.getActionSender() }
.object(9472, 2399, 3099, 0, 10); if (player.objectX == 2400 && player.objectY == 3108) {
} player.getActionSender()
if (player.objectX == 2400 && player.objectY == 3108) { .object(9472, 2400, 3108, 2, 10);
player.getActionSender() }
.object(9472, 2400, 3108, 2, 10); break;
}
break; case 4437:
if (player.getItemAssistant().playerHasItem(1265, 1)) {
case 4437: player.getActionSender().sendMessage(
if (player.getItemAssistant().playerHasItem(1265, 1)) { "You start to break up the rocks...");
player.getActionSender().sendMessage( player.startAnimation(625);
"You start to break up the rocks..."); CycleEventHandler.getSingleton().addEvent(player, new CycleEvent() {
player.startAnimation(625); @Override
CycleEventHandler.getSingleton().addEvent(player, new CycleEvent() { public void execute(CycleEventContainer container) {
@Override container.stop();
public void execute(CycleEventContainer container) { player.startAnimation(65535);
container.stop(); }
player.startAnimation(65535);
} @Override
public void stop() {
@Override player.getActionSender().object(-1,
public void stop() { player.objectX, player.objectY, 0, 10);
player.getActionSender().object(-1, player.getActionSender().object(4438,
player.objectX, player.objectY, 0, 10); player.objectX, player.objectY, 0, 10);
player.getActionSender().object(4438, player.getActionSender().sendMessage(
player.objectX, player.objectY, 0, 10); "You break up the rocks.");
player.getActionSender().sendMessage( }
"You break up the rocks."); }, 3);
} }
}, 3); break;
}
break; case 4438:
if (player.getItemAssistant().playerHasItem(1265, 1)) {
case 4438: player.getActionSender().sendMessage(
if (player.getItemAssistant().playerHasItem(1265, 1)) { "You start to break up the rocks...");
player.getActionSender().sendMessage( player.startAnimation(625);
"You start to break up the rocks..."); CycleEventHandler.getSingleton().addEvent(player, new CycleEvent() {
player.startAnimation(625); @Override
CycleEventHandler.getSingleton().addEvent(player, new CycleEvent() { public void execute(CycleEventContainer container) {
@Override stop();
public void execute(CycleEventContainer container) { player.startAnimation(65535);
stop(); }
player.startAnimation(65535);
} @Override
public void stop() {
@Override player.getActionSender().object(-1,
public void stop() { player.objectX, player.objectY, 0, 10);
player.getActionSender().object(-1, player.getActionSender().sendMessage(
player.objectX, player.objectY, 0, 10); "You break up the rocks.");
player.getActionSender().sendMessage( }
"You break up the rocks."); }, 3);
} }
}, 3); break;
}
break; case 4448:
if (player.getItemAssistant().playerHasItem(1265, 1)) {
case 4448: player.getActionSender().sendMessage(
if (player.getItemAssistant().playerHasItem(1265, 1)) { "You start to mine the wall...");
player.getActionSender().sendMessage( player.startAnimation(625);
"You start to mine the wall..."); CycleEventHandler.getSingleton().addEvent(player, new CycleEvent() {
player.startAnimation(625); @Override
CycleEventHandler.getSingleton().addEvent(player, new CycleEvent() { public void execute(CycleEventContainer container) {
@Override stop();
public void execute(CycleEventContainer container) { player.startAnimation(65535);
stop(); player.getActionSender().sendMessage(
player.startAnimation(65535); "You collapse the cave wall.");
player.getActionSender().sendMessage( }
"You collapse the cave wall.");
} @Override
public void stop() {
@Override if ((player.objectX == 2390 || player.objectX == 2393)
public void stop() { && (player.objectY == 9503 || player.objectY == 9500)) { // east
if ((player.objectX == 2390 || player.objectX == 2393) // cave
&& (player.objectY == 9503 || player.objectY == 9500)) { // east // side
// cave player.getActionSender().object(-1, 2391,
// side 9501, 0, 10);
player.getActionSender().object(-1, 2391, player.getActionSender().object(4437, 2391,
9501, 0, 10); 9501, 0, 10);
player.getActionSender().object(4437, 2391, CastleWars.collapseCave(1);
9501, 0, 10); }
CastleWars.collapseCave(1); if ((player.objectX == 2399 || player.objectX == 2402)
} && (player.objectY == 9511 || player.objectY == 9514)) { // north
if ((player.objectX == 2399 || player.objectX == 2402) // cave
&& (player.objectY == 9511 || player.objectY == 9514)) { // north // side
// cave player.getActionSender().object(-1, 2400,
// side 9512, 1, 10);
player.getActionSender().object(-1, 2400, player.getActionSender().object(4437, 2400,
9512, 1, 10); 9512, 1, 10);
player.getActionSender().object(4437, 2400, CastleWars.collapseCave(0);
9512, 1, 10); }
CastleWars.collapseCave(0); if ((player.objectX == 2408 || player.objectX == 2411)
} && (player.objectY == 9502 || player.objectY == 9505)) { // west
if ((player.objectX == 2408 || player.objectX == 2411) // cave
&& (player.objectY == 9502 || player.objectY == 9505)) { // west // side
// cave player.getActionSender().object(-1, 2409,
// side 9503, 0, 10);
player.getActionSender().object(-1, 2409, player.getActionSender().object(4437, 2409,
9503, 0, 10); 9503, 0, 10);
player.getActionSender().object(4437, 2409, CastleWars.collapseCave(3);
9503, 0, 10); }
CastleWars.collapseCave(3); if ((player.objectX == 2400 || player.objectX == 2403)
} && (player.objectY == 9496 || player.objectY == 9493)) { // south
if ((player.objectX == 2400 || player.objectX == 2403) // cave
&& (player.objectY == 9496 || player.objectY == 9493)) { // south // side
// cave player.getActionSender().object(-1, 2401,
// side 9494, 1, 10);
player.getActionSender().object(-1, 2401, player.getActionSender().object(4437, 2401,
9494, 1, 10); 9494, 1, 10);
player.getActionSender().object(4437, 2401, CastleWars.collapseCave(2);
9494, 1, 10); }
CastleWars.collapseCave(2); }
} }, 3);
} }
}, 3); break;
}
break; case 1733:
if (player.objectX == 3058 && player.objectY == 3376) {
case 1733: player.getPlayerAssistant().movePlayer(3058, 9776, 0);
if (player.objectX == 3058 && player.objectY == 3376) { } else if (player.objectX == 2603 && player.objectY == 3078) {
player.getPlayerAssistant().movePlayer(3058, 9776, 0); }
} else if (player.objectX == 2603 && player.objectY == 3078) { break;
}
break; case 55:
if (player.objectX == 3061 && player.objectY == 3374) {
case 55: player.getPlayerAssistant().movePlayer(3058, 9776, 0);
if (player.objectX == 3061 && player.objectY == 3374) { }
player.getPlayerAssistant().movePlayer(3058, 9776, 0); break;
}
break; case 9472:
if (player.objectX == 2399 && player.objectY == 3099) {
case 9472: player.startAnimation(828);
if (player.objectX == 2399 && player.objectY == 3099) { player.stopMovement();
player.startAnimation(828); player.resetWalkingQueue();
player.stopMovement(); player.getPlayerAssistant().requestUpdates();
player.resetWalkingQueue(); player.getPlayerAssistant().removeAllWindows();
player.getPlayerAssistant().requestUpdates(); CycleEventHandler.getSingleton().addEvent(player, new CycleEvent() {
player.getPlayerAssistant().removeAllWindows(); @Override
CycleEventHandler.getSingleton().addEvent(player, new CycleEvent() { public void execute(CycleEventContainer container) {
@Override container.stop();
public void execute(CycleEventContainer container) { player.startAnimation(65535);
container.stop(); player.getPlayerAssistant().movePlayer(2400, 9507,
player.startAnimation(65535); 0);
player.getPlayerAssistant().movePlayer(2400, 9507, }
0);
} @Override
public void stop() {
@Override
public void stop() { }
}, 1);
} }
}, 1); if (player.objectX == 2400 && player.objectY == 3108) {
} player.startAnimation(828);
if (player.objectX == 2400 && player.objectY == 3108) { player.stopMovement();
player.startAnimation(828); player.resetWalkingQueue();
player.stopMovement(); player.getPlayerAssistant().requestUpdates();
player.resetWalkingQueue(); player.getPlayerAssistant().removeAllWindows();
player.getPlayerAssistant().requestUpdates(); CycleEventHandler.getSingleton().addEvent(player, new CycleEvent() {
player.getPlayerAssistant().removeAllWindows(); @Override
CycleEventHandler.getSingleton().addEvent(player, new CycleEvent() { public void execute(CycleEventContainer container) {
@Override stop();
public void execute(CycleEventContainer container) { player.startAnimation(65535);
stop(); player.getPlayerAssistant().movePlayer(2399, 9500, 0);
player.startAnimation(65535); }
player.getPlayerAssistant().movePlayer(2399, 9500, 0);
} @Override
public void stop() {
@Override
public void stop() { }
}, 1);
} }
}, 1); break;
}
break; case 4387:
CastleWars.addToWaitRoom(player, 1); // saradomin
case 4387: break;
CastleWars.addToWaitRoom(player, 1); // saradomin
break; case 4388:
CastleWars.addToWaitRoom(player, 2); // zamorak
case 4388: break;
CastleWars.addToWaitRoom(player, 2); // zamorak
break; case 4408:
CastleWars.addToWaitRoom(player, 3); // guthix
case 4408: break;
CastleWars.addToWaitRoom(player, 3); // guthix
break; case 4389: // sara
case 4390: // zammy waiting room portal
case 4389: // sara CastleWars.leaveWaitingRoom(player);
case 4390: // zammy waiting room portal break;
CastleWars.leaveWaitingRoom(player); }
break; player.getObjects().firstClickObject(player.objectId, player.objectX, player.objectY);
} break;
player.getObjects().firstClickObject(player.objectId, player.objectX, player.objectY);
break; case 2:
if (player.playerRights == 3) {
case 2: player.getActionSender().sendMessage("ObjectId: " + player.objectId + " ObjectX: " + player.objectX + " ObjectY: " + player.objectY + " Objectclick = 2, Xoff: " + (player.getX() - player.objectX) + " Yoff: " + (player.getY() - player.objectY));
if (player.playerRights == 3) { }
player.getActionSender().sendMessage("ObjectId: " + player.objectId + " ObjectX: " + player.objectX + " ObjectY: " + player.objectY + " Objectclick = 2, Xoff: " + (player.getX() - player.objectX) + " Yoff: " + (player.getY() - player.objectY)); if (Stalls.isObject(player.objectId)) {
} Stalls.attemptStall(player, player.objectId, player.objectX, player.objectX);
if (Stalls.isObject(player.objectId)) { return;
Stalls.attemptStall(player, player.objectId, player.objectX, player.objectX); }
return; player.getObjects().secondClickObject(player.objectId, player.objectX, player.objectY);
} break;
player.getObjects().secondClickObject(player.objectId, player.objectX, player.objectY);
break; case 3: // 'F'
if (player.playerRights == 3) {
case 3: // 'F' player.getActionSender().sendMessage("ObjectId: " + player.objectId + " ObjectX: " + player.objectX + " ObjectY: " + player.objectY + " Objectclick = 3, Xoff: " + (player.getX() - player.objectX) + " Yoff: " + (player.getY() - player.objectY));
if (player.playerRights == 3) { }
player.getActionSender().sendMessage("ObjectId: " + player.objectId + " ObjectX: " + player.objectX + " ObjectY: " + player.objectY + " Objectclick = 3, Xoff: " + (player.getX() - player.objectX) + " Yoff: " + (player.getY() - player.objectY));
} player.getObjects().thirdClickObject(player.objectId, player.objectX, player.objectY);
break;
player.getObjects().thirdClickObject(player.objectId, player.objectX, player.objectY);
break;
case 4:
if (player.playerRights == 3) {
case 4: player.getActionSender().sendMessage("ObjectId: " + player.objectId + " ObjectX: " + player.objectX + " ObjectY: " + player.objectY + " Objectclick = 4, Xoff: " + (player.getX() - player.objectX) + " Yoff: " + (player.getY() - player.objectY));
if (player.playerRights == 3) { }
player.getActionSender().sendMessage("ObjectId: " + player.objectId + " ObjectX: " + player.objectX + " ObjectY: " + player.objectY + " Objectclick = 4, Xoff: " + (player.getX() - player.objectX) + " Yoff: " + (player.getY() - player.objectY));
} player.getObjects().fourthClickObject(player.objectId, player.objectX, player.objectY);
break;
player.getObjects().fourthClickObject(player.objectId, player.objectX, player.objectY); }
break; }
}
}
}
}