mirror of
https://github.com/2006-Scape/2006Scape.git
synced 2026-07-03 00:31:51 +00:00
20135d096f
* add blurite ore * update randomness * remove randomness * refactor mining * add gems
1152 lines
33 KiB
Java
1152 lines
33 KiB
Java
package redone.net.packets.impl;
|
|
|
|
import redone.Server;
|
|
import redone.event.CycleEvent;
|
|
import redone.event.CycleEventContainer;
|
|
import redone.event.CycleEventHandler;
|
|
import redone.game.content.minigames.castlewars.CastleWarObjects;
|
|
import redone.game.content.minigames.castlewars.CastleWars;
|
|
import redone.game.content.skills.core.Mining;
|
|
import redone.game.content.skills.core.Woodcutting;
|
|
import redone.game.content.skills.thieving.Stalls;
|
|
import redone.game.globalworldobjects.Doors;
|
|
import redone.game.npcs.NpcHandler;
|
|
import redone.game.players.Client;
|
|
import redone.net.packets.PacketType;
|
|
|
|
public class ClickObject implements PacketType {
|
|
|
|
public static final int FIRST_CLICK = 132, SECOND_CLICK = 252,
|
|
THIRD_CLICK = 70, FOURTH_CLICK = 234;
|
|
|
|
@Override
|
|
public void processPacket(final Client player, int packetType,
|
|
int packetSize) {
|
|
player.clickObjectType = player.objectX = player.objectId = player.objectY = 0;
|
|
player.objectYOffset = player.objectXOffset = 0;
|
|
player.getPlayerAssistant().resetFollow();
|
|
player.getCombatAssistant().resetPlayerAttack();
|
|
player.getPlayerAssistant().requestUpdates();
|
|
switch (packetType) {
|
|
|
|
case FIRST_CLICK:
|
|
player.objectX = player.getInStream().readSignedWordBigEndianA();
|
|
player.objectId = player.getInStream().readUnsignedWord();
|
|
player.objectY = player.getInStream().readUnsignedWordA();
|
|
player.objectDistance = 1;
|
|
player.turnPlayerTo(player.objectX, player.objectY);
|
|
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));
|
|
}
|
|
//if(player.goodDistance(player.getX(), player.getY(), player.objectX, player.objectY, 1)) {
|
|
if (Doors.getSingleton().handleDoor(player.objectId, player.objectX, player.objectY, player.heightLevel)) {
|
|
//System.out.println("Door debug?");
|
|
}
|
|
//}
|
|
|
|
/*if (client.performingAction) {
|
|
return;
|
|
}*/
|
|
|
|
if (Stalls.isObject(player.objectId)) {
|
|
Stalls.attemptStall(player, player.objectId, player.objectX, player.objectX);
|
|
return;
|
|
}
|
|
|
|
if (player.teleTimer > 0) {
|
|
player.getActionSender().sendMessage(
|
|
"You cannot use objects while teleporting.");
|
|
return;
|
|
}
|
|
if (Math.abs(player.getX() - player.objectX) > 25 || Math.abs(player.getY() - player.objectY) > 25) {
|
|
player.resetWalkingQueue();
|
|
break;
|
|
}
|
|
if (Mining.rockExists(player.objectId)) {
|
|
player.objectDistance = 5;
|
|
}
|
|
if (Woodcutting.playerTrees(player, player.objectId)) {
|
|
player.objectDistance = 3;
|
|
}
|
|
switch (player.objectId) {
|
|
case 1276:
|
|
Woodcutting.startWoodcutting(player, 0, player.objectX, player.objectY, player.clickObjectType);
|
|
break;
|
|
case 1278:
|
|
Woodcutting.startWoodcutting(player, 1, player.objectX, player.objectY, player.clickObjectType);
|
|
break;
|
|
case 1286:
|
|
Woodcutting.startWoodcutting(player, 2, player.objectX, player.objectY, player.clickObjectType);
|
|
break;
|
|
case 1281:
|
|
Woodcutting.startWoodcutting(player, 3, player.objectX, player.objectY, player.clickObjectType);
|
|
break;
|
|
case 1308:
|
|
Woodcutting.startWoodcutting(player, 4, player.objectX, player.objectY, player.clickObjectType);
|
|
break;
|
|
case 5552:
|
|
Woodcutting.startWoodcutting(player, 5, player.objectX, player.objectY, player.clickObjectType);
|
|
break;
|
|
case 1307:
|
|
Woodcutting.startWoodcutting(player, 6, player.objectX, player.objectY, player.clickObjectType);
|
|
break;
|
|
case 1309:
|
|
Woodcutting.startWoodcutting(player, 7, player.objectX, player.objectY, player.clickObjectType);
|
|
break;
|
|
case 1306:
|
|
Woodcutting.startWoodcutting(player, 8, player.objectX, player.objectY, player.clickObjectType);
|
|
break;
|
|
case 5551:
|
|
Woodcutting.startWoodcutting(player, 9, player.objectX, player.objectY, player.clickObjectType);
|
|
break;
|
|
case 5553:
|
|
Woodcutting.startWoodcutting(player, 10, player.objectX, player.objectY, player.clickObjectType);
|
|
break;
|
|
case 3033:
|
|
Woodcutting.startWoodcutting(player, 11, player.objectX, player.objectY, player.clickObjectType);
|
|
break;
|
|
case 3037:
|
|
Woodcutting.startWoodcutting(player, 12, player.objectX, player.objectY, player.clickObjectType);
|
|
break;
|
|
case 1282:
|
|
Woodcutting.startWoodcutting(player, 13, player.objectX, player.objectY, player.clickObjectType);
|
|
break;
|
|
case 1383:
|
|
Woodcutting.startWoodcutting(player, 14, player.objectX, player.objectY, player.clickObjectType);
|
|
break;
|
|
case 2023:
|
|
Woodcutting.startWoodcutting(player, 15, player.objectX, player.objectY, player.clickObjectType);
|
|
break;
|
|
case 1319:
|
|
Woodcutting.startWoodcutting(player, 16, player.objectX, player.objectY, player.clickObjectType);
|
|
break;
|
|
case 1318:
|
|
Woodcutting.startWoodcutting(player, 17, player.objectX, player.objectY, player.clickObjectType);
|
|
break;
|
|
case 1315:
|
|
Woodcutting.startWoodcutting(player, 18, player.objectX, player.objectY, player.clickObjectType);
|
|
break;
|
|
case 1316:
|
|
Woodcutting.startWoodcutting(player, 19, player.objectX, player.objectY, player.clickObjectType);
|
|
break;
|
|
case 1332:
|
|
Woodcutting.startWoodcutting(player, 20, player.objectX, player.objectY, player.clickObjectType);
|
|
break;
|
|
|
|
case 1292:
|
|
if (player.spiritTree == false && player.clickedTree == true) {
|
|
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.");
|
|
NpcHandler.spawnNpc(player, 655, player.getX(), player.getY(), 0, 0, 225, 20, 80, 80, true, false);
|
|
player.clickedTree = true;
|
|
} else if (player.spiritTree == true) {
|
|
Woodcutting.startWoodcutting(player, 21, player.objectX, player.objectY, player.clickObjectType);
|
|
}
|
|
break;
|
|
|
|
case 1294:
|
|
case 1293:
|
|
case 1317:
|
|
player.getPlayerAssistant().spiritTree();
|
|
break;
|
|
|
|
case 2164:
|
|
case 2165:
|
|
Server.trawler.fixNet(player);
|
|
break;
|
|
|
|
case 4462:
|
|
case 4460:
|
|
case 4461:
|
|
case 4463:
|
|
case 4464:
|
|
case 4459:
|
|
if (!CastleWars.isInCw(player)) {
|
|
player.getActionSender().sendMessage("You have to be in castle wars to use these objects.");
|
|
CastleWars.resetPlayer(player);
|
|
return;
|
|
}
|
|
CastleWarObjects.handleObject(player, player.objectId, player.objectX, player.objectY);
|
|
break;
|
|
|
|
case 2513:
|
|
player.getRangersGuild().fireAtTarget();
|
|
break;
|
|
|
|
case 12163:
|
|
case 12164:
|
|
case 12165:
|
|
case 12166:
|
|
player.objectDistance = 4;
|
|
break;
|
|
|
|
case 8930:
|
|
player.fade(1975, 4409, 3);
|
|
break;
|
|
case 8929:
|
|
player.fade(2442, 10147, 0);
|
|
break;
|
|
|
|
case 12982:
|
|
if (player.absY == 3278) {
|
|
player.objectYOffset = 2;
|
|
}
|
|
break;
|
|
|
|
case 300:
|
|
if (player.objectX == 3093 && player.objectY == 3509) {
|
|
player.objectDistance = 2;
|
|
}
|
|
break;
|
|
case 2479:
|
|
case 2482:
|
|
case 10596:
|
|
case 10595:
|
|
case 1725:
|
|
case 2483:
|
|
case 4568:
|
|
case 2145:
|
|
player.objectDistance = 3;
|
|
break;
|
|
|
|
case 11993:
|
|
case 245:
|
|
case 246:
|
|
case 273:
|
|
case 272:
|
|
case 8959:
|
|
player.objectDistance = 1;
|
|
break;
|
|
|
|
case 492:
|
|
case 5100:
|
|
case 12127:
|
|
case 5083:
|
|
case 4551:
|
|
case 4558:
|
|
case 2634:
|
|
case 1742:
|
|
case 2484:
|
|
case 8966:
|
|
case 993:
|
|
case 2230:
|
|
case 2265:
|
|
case 4569:
|
|
case 5098:
|
|
case 5096:
|
|
case 5094:
|
|
case 3828:
|
|
player.objectDistance = 2;
|
|
break;
|
|
|
|
|
|
case 2617:
|
|
if (player.objectX == 3077 && player.objectY == 9768) {
|
|
player.objectDistance = 3;
|
|
}
|
|
break;
|
|
|
|
case 2781:
|
|
if (player.objectX == 3272 && player.objectY == 3185) {
|
|
player.objectDistance = 3;
|
|
}
|
|
break;
|
|
|
|
case 2216:
|
|
if (player.absX == 2880) {
|
|
player.objectXOffset = 3;
|
|
player.objectYOffset = 1;
|
|
}
|
|
break;
|
|
|
|
case 3760:
|
|
if (player.objectX == 2892 && player.objectY == 10072) {
|
|
player.objectYOffset = 2;
|
|
}
|
|
break;
|
|
|
|
case 96:
|
|
if (player.objectX == 2638 && player.objectY == 9763
|
|
|| player.objectY == 9740) {
|
|
player.objectXOffset = 3;
|
|
player.objectYOffset = 1;
|
|
}
|
|
break;
|
|
|
|
case 2323:
|
|
if (player.objectX == 2703 && player.objectY == 3205) {
|
|
player.objectXOffset = 2;
|
|
}
|
|
break;
|
|
|
|
case 2322:
|
|
if (player.objectX == 2705 && player.objectY == 3209) {
|
|
player.objectXOffset = 4;
|
|
}
|
|
break;
|
|
|
|
case 190:
|
|
player.objectDistance = 3;
|
|
break;
|
|
|
|
case 154:
|
|
player.objectDistance = 2;
|
|
break;
|
|
|
|
case 10885:
|
|
player.objectYOffset = -3;
|
|
player.objectXOffset = 1;
|
|
break;
|
|
|
|
case 10859:
|
|
if (player.objectX == 3356 && player.objectY == 2847) {
|
|
player.objectXOffset = 1;
|
|
player.objectYOffset = -1;
|
|
} else if (player.objectX == 3364 && player.objectY == 2833) {
|
|
player.objectXOffset = 2;
|
|
player.objectYOffset = 1;
|
|
} else {
|
|
player.objectYOffset = 2;
|
|
}
|
|
break;
|
|
|
|
case 10860:
|
|
if (player.objectX == 3372 && player.objectY == 2839) {
|
|
player.objectYOffset = 2;
|
|
}
|
|
break;
|
|
|
|
case 10886:
|
|
player.objectXOffset = 2;
|
|
player.objectYOffset = 1;
|
|
break;
|
|
|
|
case 10862:
|
|
if (player.objectX == 3362 && player.objectY == 2849) {
|
|
player.objectXOffset = -3;
|
|
}
|
|
break;
|
|
|
|
case 6552:
|
|
if (player.absX == 3234) {
|
|
player.objectXOffset = 2;
|
|
player.objectYOffset = 1;
|
|
}
|
|
break;
|
|
|
|
case 2711:
|
|
if (player.objectX == 2631 && player.objectY == 3322) {
|
|
player.objectXOffset = 1;
|
|
player.objectYOffset = 3;
|
|
}
|
|
break;
|
|
|
|
case 3044:
|
|
if (player.objectX == 3078 && player.objectY == 9495) {
|
|
player.objectDistance = 3;
|
|
}
|
|
break;
|
|
|
|
case 1737:
|
|
if (player.objectX == 2662 && player.objectY == 3291) {
|
|
player.objectYOffset = 3;
|
|
}
|
|
break;
|
|
|
|
case 11737:
|
|
player.objectYOffset = 1;
|
|
break;
|
|
|
|
case 11724:
|
|
if (player.absX == 2971) {
|
|
player.objectXOffset = 3;
|
|
}
|
|
break;
|
|
|
|
case 11729:
|
|
if (player.absY == 3340) {
|
|
player.objectYOffset = 2;
|
|
}
|
|
break;
|
|
|
|
case 11732:
|
|
if (player.objectX == 3034 && player.objectY == 3363) {
|
|
player.objectXOffset = 2;
|
|
} else if (player.objectX == 3048 && player.objectY == 3352) {
|
|
player.objectYOffset = 2;
|
|
}
|
|
break;
|
|
|
|
case 11735:
|
|
if (player.absY == 3340 || player.absY == 3384) {
|
|
player.objectYOffset = 2;
|
|
}
|
|
break;
|
|
|
|
case 11725:
|
|
if (player.absY == 3348) {
|
|
player.objectYOffset = 1;
|
|
}
|
|
break;
|
|
|
|
case 5097:
|
|
if (player.objectX == 2635 && player.objectY == 9514) {
|
|
player.objectXOffset = 2;
|
|
player.objectYOffset = 3;
|
|
}
|
|
break;
|
|
|
|
case 1726:
|
|
if (player.absX == 3285 && player.absY == 3492) {
|
|
player.objectDistance = 1;
|
|
} else {
|
|
player.objectXOffset = 2;
|
|
}
|
|
break;
|
|
|
|
case 1568:
|
|
if (player.objectX == 2399 && player.objectY == 3099) {
|
|
player.getActionSender()
|
|
.object(9472, 2399, 3099, 0, 10);
|
|
}
|
|
if (player.objectX == 2400 && player.objectY == 3108) {
|
|
player.getActionSender()
|
|
.object(9472, 2400, 3108, 2, 10);
|
|
}
|
|
break;
|
|
|
|
case 4437:
|
|
if (player.getItemAssistant().playerHasItem(1265, 1)) {
|
|
player.getActionSender().sendMessage(
|
|
"You start to break up the rocks...");
|
|
player.startAnimation(625);
|
|
CycleEventHandler.getSingleton().addEvent(player, new CycleEvent() {
|
|
@Override
|
|
public void execute(CycleEventContainer container) {
|
|
container.stop();
|
|
player.startAnimation(65535);
|
|
}
|
|
|
|
@Override
|
|
public void stop() {
|
|
player.getActionSender().object(-1,
|
|
player.objectX, player.objectY, 0, 10);
|
|
player.getActionSender().object(4438,
|
|
player.objectX, player.objectY, 0, 10);
|
|
player.getActionSender().sendMessage(
|
|
"You break up the rocks.");
|
|
}
|
|
}, 3);
|
|
}
|
|
break;
|
|
|
|
case 4438:
|
|
if (player.getItemAssistant().playerHasItem(1265, 1)) {
|
|
player.getActionSender().sendMessage(
|
|
"You start to break up the rocks...");
|
|
player.startAnimation(625);
|
|
CycleEventHandler.getSingleton().addEvent(player, new CycleEvent() {
|
|
@Override
|
|
public void execute(CycleEventContainer container) {
|
|
stop();
|
|
player.startAnimation(65535);
|
|
}
|
|
|
|
@Override
|
|
public void stop() {
|
|
player.getActionSender().object(-1,
|
|
player.objectX, player.objectY, 0, 10);
|
|
player.getActionSender().sendMessage(
|
|
"You break up the rocks.");
|
|
}
|
|
}, 3);
|
|
}
|
|
break;
|
|
|
|
case 4448:
|
|
if (player.getItemAssistant().playerHasItem(1265, 1)) {
|
|
player.getActionSender().sendMessage(
|
|
"You start to mine the wall...");
|
|
player.startAnimation(625);
|
|
CycleEventHandler.getSingleton().addEvent(player, new CycleEvent() {
|
|
@Override
|
|
public void execute(CycleEventContainer container) {
|
|
stop();
|
|
player.startAnimation(65535);
|
|
player.getActionSender().sendMessage(
|
|
"You collapse the cave wall.");
|
|
}
|
|
|
|
@Override
|
|
public void stop() {
|
|
if ((player.objectX == 2390 || player.objectX == 2393)
|
|
&& (player.objectY == 9503 || player.objectY == 9500)) { // east
|
|
// cave
|
|
// side
|
|
player.getActionSender().object(-1, 2391,
|
|
9501, 0, 10);
|
|
player.getActionSender().object(4437, 2391,
|
|
9501, 0, 10);
|
|
CastleWars.collapseCave(1);
|
|
}
|
|
if ((player.objectX == 2399 || player.objectX == 2402)
|
|
&& (player.objectY == 9511 || player.objectY == 9514)) { // north
|
|
// cave
|
|
// side
|
|
player.getActionSender().object(-1, 2400,
|
|
9512, 1, 10);
|
|
player.getActionSender().object(4437, 2400,
|
|
9512, 1, 10);
|
|
CastleWars.collapseCave(0);
|
|
}
|
|
if ((player.objectX == 2408 || player.objectX == 2411)
|
|
&& (player.objectY == 9502 || player.objectY == 9505)) { // west
|
|
// cave
|
|
// side
|
|
player.getActionSender().object(-1, 2409,
|
|
9503, 0, 10);
|
|
player.getActionSender().object(4437, 2409,
|
|
9503, 0, 10);
|
|
CastleWars.collapseCave(3);
|
|
}
|
|
if ((player.objectX == 2400 || player.objectX == 2403)
|
|
&& (player.objectY == 9496 || player.objectY == 9493)) { // south
|
|
// cave
|
|
// side
|
|
player.getActionSender().object(-1, 2401,
|
|
9494, 1, 10);
|
|
player.getActionSender().object(4437, 2401,
|
|
9494, 1, 10);
|
|
CastleWars.collapseCave(2);
|
|
}
|
|
}
|
|
}, 3);
|
|
}
|
|
break;
|
|
|
|
case 1733:
|
|
if (player.objectX == 3058 && player.objectY == 3376) {
|
|
player.getPlayerAssistant().movePlayer(3058, 9776, 0);
|
|
} else if (player.objectX == 2603 && player.objectY == 3078) {
|
|
player.objectXOffset = 3;
|
|
player.objectYOffset = 1;
|
|
}
|
|
break;
|
|
|
|
case 55:
|
|
if (player.objectX == 3061 && player.objectY == 3374) {
|
|
player.getPlayerAssistant().movePlayer(3058, 9776, 0);
|
|
}
|
|
break;
|
|
|
|
case 9472:
|
|
if (player.objectX == 2399 && player.objectY == 3099) {
|
|
player.startAnimation(828);
|
|
player.stopMovement();
|
|
player.resetWalkingQueue();
|
|
player.getPlayerAssistant().requestUpdates();
|
|
player.getPlayerAssistant().removeAllWindows();
|
|
CycleEventHandler.getSingleton().addEvent(player, new CycleEvent() {
|
|
@Override
|
|
public void execute(CycleEventContainer container) {
|
|
container.stop();
|
|
player.startAnimation(65535);
|
|
player.getPlayerAssistant().movePlayer(2400, 9507,
|
|
0);
|
|
}
|
|
|
|
@Override
|
|
public void stop() {
|
|
|
|
}
|
|
}, 1);
|
|
}
|
|
if (player.objectX == 2400 && player.objectY == 3108) {
|
|
player.startAnimation(828);
|
|
player.stopMovement();
|
|
player.resetWalkingQueue();
|
|
player.getPlayerAssistant().requestUpdates();
|
|
player.getPlayerAssistant().removeAllWindows();
|
|
CycleEventHandler.getSingleton().addEvent(player, new CycleEvent() {
|
|
@Override
|
|
public void execute(CycleEventContainer container) {
|
|
stop();
|
|
player.startAnimation(65535);
|
|
player.getPlayerAssistant().movePlayer(2399, 9500, 0);
|
|
}
|
|
|
|
@Override
|
|
public void stop() {
|
|
|
|
}
|
|
}, 1);
|
|
}
|
|
break;
|
|
|
|
case 4407:
|
|
player.objectXOffset = 2;
|
|
break;
|
|
|
|
case 4387:
|
|
CastleWars.addToWaitRoom(player, 1); // saradomin
|
|
break;
|
|
|
|
case 4388:
|
|
CastleWars.addToWaitRoom(player, 2); // zamorak
|
|
break;
|
|
|
|
case 4408:
|
|
CastleWars.addToWaitRoom(player, 3); // guthix
|
|
break;
|
|
|
|
case 4389: // sara
|
|
case 4390: // zammy waiting room portal
|
|
CastleWars.leaveWaitingRoom(player);
|
|
break;
|
|
|
|
/*
|
|
* werewolf agility course stepping stone
|
|
*/
|
|
case 5138:
|
|
case 5136:
|
|
case 5141:
|
|
case 5133:
|
|
case 5152:
|
|
player.objectDistance = 2;
|
|
break;
|
|
/*
|
|
* agility pyramid gap
|
|
*/
|
|
case 10863:
|
|
case 10857:
|
|
player.objectDistance = 4;
|
|
break;
|
|
/*
|
|
* rope swing in barbarian agility arena
|
|
*/
|
|
case 2282:
|
|
player.objectDistance = 4;
|
|
break;
|
|
|
|
case 2294:
|
|
player.objectDistance = 4;
|
|
break;
|
|
|
|
case 9295:
|
|
if (player.absX == 3155) {
|
|
player.objectDistance = 2;
|
|
}
|
|
break;
|
|
|
|
case 2491:
|
|
if (player.objectX == 2926 && player.objectY == 4817) {
|
|
player.objectXOffset = 1;
|
|
player.objectYOffset = -3;
|
|
}
|
|
if (player.objectX == 2927 && player.objectY == 4814) {
|
|
player.objectXOffset = -1;
|
|
player.objectYOffset = 3;
|
|
}
|
|
if (player.objectX == 2893 && player.objectY == 4812) {
|
|
player.objectXOffset = 2;
|
|
player.objectYOffset = 5;
|
|
}
|
|
if (player.objectX == 2925 && player.objectY == 4848) {
|
|
player.objectXOffset = 2;
|
|
player.objectYOffset = 5;
|
|
}
|
|
if (player.objectX == 2891 && player.objectY == 4847) {
|
|
player.objectXOffset = 2;
|
|
player.objectYOffset = -1;
|
|
}
|
|
break;
|
|
|
|
case 2609:
|
|
player.objectYOffset = 2;
|
|
break;
|
|
|
|
case 4755:
|
|
player.objectYOffset = 1;
|
|
break;
|
|
|
|
case 7056:
|
|
player.objectXOffset = 2;
|
|
break;
|
|
|
|
case 26983:
|
|
case 26982:
|
|
case 24355:
|
|
case 24354:
|
|
player.objectYOffset = 1;
|
|
player.objectDistance = 0;
|
|
break;
|
|
|
|
case 1722:
|
|
if (player.absX == 3159) {
|
|
player.objectXOffset = 3;
|
|
} else if (player.objectX == 3175 && player.objectY == 3420) {
|
|
player.objectXOffset = 1;
|
|
player.objectYOffset = 3;
|
|
} else if (player.objectX == 3177 && player.objectY == 3401) {
|
|
player.objectXOffset = 3;
|
|
player.objectYOffset = 1;
|
|
} else if (player.absY == 3298) {
|
|
player.objectYOffset = 3;
|
|
}
|
|
break;
|
|
|
|
case 11666:
|
|
player.objectXOffset = -1;
|
|
player.objectYOffset = -1;
|
|
break;
|
|
|
|
case 1723:
|
|
if (player.objectX == 3100 && player.objectY == 3266
|
|
|| player.objectX == 2663 && player.objectY == 3321) {
|
|
player.objectXOffset = 2;
|
|
player.objectYOffset = 1;
|
|
} else if (player.objectX == 3259 && player.objectY == 3447
|
|
|| player.objectX == 2590 && player.objectY == 3090
|
|
|| player.objectX == 3212 && player.objectY == 3474) {
|
|
player.objectYOffset = 2;
|
|
} else if (player.objectX == 2590 && player.objectY == 3085) {
|
|
player.objectXOffset = 1;
|
|
player.objectYOffset = 2;
|
|
}
|
|
break;
|
|
|
|
case 1738:
|
|
if (player.objectX == 3204 && player.objectY == 3207 || player.objectX == 2648 && player.objectY == 3310) {
|
|
player.objectXOffset = 1;
|
|
player.objectYOffset = 2;
|
|
} else if (player.objectX == 3204 && player.objectY == 3229) {
|
|
player.objectXOffset = 2;
|
|
} else if (player.objectX == 2839 && player.objectY == 3537 || player.objectX == 2673 && player.objectY == 3300 || player.objectX == 2728 && player.objectY == 3460) {
|
|
player.objectXOffset = 2;
|
|
player.objectYOffset = 1;
|
|
} else if (player.absX == 2746) {
|
|
player.objectXOffset = 2;
|
|
} else if (player.objectX == 3010 && player.objectY == 3515 || player.objectX == 2648 && player.objectY == 3310) {
|
|
player.objectDistance = 2;
|
|
} else if (player.objectX == 2895 && player.objectY == 3513 || player.objectX == 3144 && player.objectY == 3447) {
|
|
player.objectDistance = 3;
|
|
}
|
|
break;
|
|
|
|
case 1739:
|
|
if (player.objectX == 3204 && player.objectY == 3207) {
|
|
player.objectDistance = 3;
|
|
} else if (player.objectX == 3204 && player.objectY == 3229) {
|
|
player.objectXOffset = 2;
|
|
} else if (player.objectX == 3204 && player.objectY == 3207) {
|
|
player.objectXOffset = 1;
|
|
player.objectYOffset = 2;
|
|
}
|
|
break;
|
|
|
|
case 1740:
|
|
if (player.objectX == 3205 && player.objectY == 3208) {
|
|
player.objectXOffset = 1;
|
|
player.objectYOffset = 2;
|
|
} else if (player.objectX == 3144 && player.objectY == 3448) {
|
|
player.objectDistance = 1;
|
|
}
|
|
break;
|
|
|
|
case 12536:
|
|
player.objectXOffset = 2;
|
|
player.objectYOffset = 1;
|
|
break;
|
|
|
|
case 12537:
|
|
player.objectXOffset = 1;
|
|
player.objectYOffset = 2;
|
|
break;
|
|
|
|
case 12538:
|
|
player.objectYOffset = 1;
|
|
break;
|
|
|
|
case 2287:
|
|
if (player.absX == 2552 && player.absY == 3561) {
|
|
player.objectYOffset = 2;
|
|
} else if (player.absX == 2552 && player.absY == 3558) {
|
|
player.objectYOffset = -1;
|
|
}
|
|
break;
|
|
|
|
case 1734:
|
|
if (player.objectX == 2569 && player.objectY == 9522) {
|
|
player.objectXOffset = 1;
|
|
player.objectYOffset = 3;
|
|
} else if (player.objectX == 3187 && player.objectY == 9833) {
|
|
player.objectXOffset = 3;
|
|
player.objectYOffset = 1;
|
|
}
|
|
break;
|
|
|
|
case 4493:
|
|
case 4494:
|
|
case 4495:
|
|
case 4496:
|
|
player.objectDistance = 5;
|
|
break;
|
|
|
|
case 6522:
|
|
case 10229:
|
|
player.objectDistance = 2;
|
|
break;
|
|
|
|
case 4417:
|
|
if (player.objectX == 2425 && player.objectY == 3074) {
|
|
player.objectYOffset = 2;
|
|
}
|
|
break;
|
|
|
|
case 4420:
|
|
if (player.getX() >= 2383 && player.getX() <= 2385) {
|
|
player.objectYOffset = 1;
|
|
} else {
|
|
player.objectYOffset = -2;
|
|
}
|
|
// fall through
|
|
break;
|
|
|
|
case 2878:
|
|
case 2879:
|
|
player.objectDistance = 3;
|
|
break;
|
|
|
|
case 2558:
|
|
player.objectDistance = 0;
|
|
if (player.absX > player.objectX && player.objectX == 3044) {
|
|
player.objectXOffset = 1;
|
|
}
|
|
if (player.absY > player.objectY) {
|
|
player.objectYOffset = 1;
|
|
}
|
|
if (player.absX < player.objectX && player.objectX == 3038) {
|
|
player.objectXOffset = -1;
|
|
}
|
|
break;
|
|
|
|
case 9356:
|
|
player.objectDistance = 2;
|
|
break;
|
|
|
|
case 1815:
|
|
case 1816:
|
|
case 5959:
|
|
case 5960:
|
|
player.objectDistance = 0;
|
|
break;
|
|
|
|
case 9293:
|
|
player.objectDistance = 2;
|
|
break;
|
|
|
|
case 4418:
|
|
if (player.objectX == 2374 && player.objectY == 3131) {
|
|
player.objectYOffset = -2;
|
|
} else if (player.objectX == 2369 && player.objectY == 3126) {
|
|
player.objectXOffset = 2;
|
|
} else if (player.objectX == 2380 && player.objectY == 3127) {
|
|
player.objectYOffset = 2;
|
|
} else if (player.objectX == 2369 && player.objectY == 3126) {
|
|
player.objectXOffset = 2;
|
|
} else if (player.objectX == 2374 && player.objectY == 3131) {
|
|
player.objectYOffset = -2;
|
|
}
|
|
break;
|
|
|
|
case 9706:
|
|
player.objectDistance = 0;
|
|
player.objectXOffset = 1;
|
|
break;
|
|
|
|
case 9707:
|
|
player.objectDistance = 0;
|
|
player.objectYOffset = -1;
|
|
break;
|
|
|
|
case 4419:
|
|
if (player.getX() >= 2417 && player.getX() <= 2418) {
|
|
player.objectYOffset = 3;
|
|
} else {
|
|
player.objectYOffset = -1;
|
|
player.objectXOffset = -3;
|
|
player.objectDistance = 3;
|
|
}
|
|
break;
|
|
|
|
case 6707:
|
|
player.objectYOffset = 3;
|
|
break;
|
|
|
|
case 6823:
|
|
player.objectDistance = 2;
|
|
player.objectYOffset = 1;
|
|
break;
|
|
|
|
case 6706:
|
|
player.objectXOffset = 2;
|
|
break;
|
|
|
|
case 6772:
|
|
player.objectDistance = 2;
|
|
player.objectYOffset = 1;
|
|
break;
|
|
|
|
case 6705:
|
|
player.objectYOffset = -1;
|
|
break;
|
|
|
|
case 6822:
|
|
player.objectDistance = 2;
|
|
player.objectYOffset = 1;
|
|
break;
|
|
|
|
case 6704:
|
|
player.objectYOffset = -1;
|
|
break;
|
|
|
|
case 6773:
|
|
player.objectDistance = 2;
|
|
player.objectXOffset = 1;
|
|
player.objectYOffset = 1;
|
|
break;
|
|
|
|
case 6703:
|
|
player.objectXOffset = -1;
|
|
break;
|
|
|
|
case 6771:
|
|
player.objectDistance = 2;
|
|
player.objectXOffset = 1;
|
|
player.objectYOffset = 1;
|
|
break;
|
|
|
|
case 6702:
|
|
player.objectXOffset = -1;
|
|
break;
|
|
|
|
case 6821:
|
|
player.objectDistance = 2;
|
|
player.objectXOffset = 1;
|
|
player.objectYOffset = 1;
|
|
break;
|
|
|
|
/*
|
|
* case 1276: case 1278: case 1306: case 1307: case 1308: case 1309:
|
|
* case 1281: case 1319: case 1332: case 1318: case 1330:
|
|
* client.objectDistance = 3; break;
|
|
*/
|
|
|
|
default:
|
|
player.objectDistance = 1;
|
|
player.objectXOffset = 0;
|
|
player.objectYOffset = 0;
|
|
break;
|
|
}
|
|
if (player.goodDistance(player.objectX + player.objectXOffset,
|
|
player.objectY + player.objectYOffset, player.getX(),
|
|
player.getY(), player.objectDistance)) {
|
|
player.getObjects().firstClickObject(player.objectId,
|
|
player.objectX, player.objectY);
|
|
} else {
|
|
player.clickObjectType = 1;
|
|
CycleEventHandler.getSingleton().addEvent(player, new CycleEvent() {
|
|
@Override
|
|
public void execute(CycleEventContainer container) {
|
|
if (player.clickObjectType == 1
|
|
&& player.goodDistance(player.objectX
|
|
+ player.objectXOffset, player.objectY
|
|
+ player.objectYOffset, player.getX(),
|
|
player.getY(), player.objectDistance)) {
|
|
player.getObjects().firstClickObject(
|
|
player.objectId, player.objectX,
|
|
player.objectY);
|
|
container.stop();
|
|
}
|
|
if (player.clickObjectType > 1
|
|
|| player.clickObjectType == 0) {
|
|
container.stop();
|
|
}
|
|
}
|
|
|
|
@Override
|
|
public void stop() {
|
|
player.clickObjectType = 0;
|
|
}
|
|
}, 1);
|
|
}
|
|
break;
|
|
|
|
case SECOND_CLICK:
|
|
player.objectId = player.getInStream().readUnsignedWordBigEndianA();
|
|
player.objectY = player.getInStream().readSignedWordBigEndian();
|
|
player.objectX = player.getInStream().readUnsignedWordA();
|
|
player.objectDistance = 1;
|
|
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);
|
|
return;
|
|
}
|
|
switch (player.objectId) {
|
|
case 6162:
|
|
case 6163:
|
|
case 6164:
|
|
case 6165:
|
|
case 6166:
|
|
case 9390:
|
|
player.objectDistance = 2;
|
|
break;
|
|
|
|
case 12537:
|
|
player.objectDistance = 2;
|
|
break;
|
|
|
|
case 2781:
|
|
if (player.objectX == 3272 && player.objectY == 3185) {
|
|
player.objectDistance = 3;
|
|
}
|
|
break;
|
|
|
|
case 1739:
|
|
if (player.objectX == 3204 && player.objectY == 3207) {
|
|
player.objectDistance = 3;
|
|
} else if (player.objectX == 3204 && player.objectY == 3229) {
|
|
player.objectXOffset = 2;
|
|
} else if (player.objectX == 3204 && player.objectY == 3207) {
|
|
player.objectXOffset = 1;
|
|
player.objectYOffset = 2;
|
|
}
|
|
break;
|
|
|
|
default:
|
|
player.objectDistance = 1;
|
|
player.objectXOffset = 0;
|
|
player.objectYOffset = 0;
|
|
break;
|
|
}
|
|
if (player.goodDistance(player.objectX + player.objectXOffset, player.objectY + player.objectYOffset, player.getX(), player.getY(), player.objectDistance)) {
|
|
player.getObjects().secondClickObject(player.objectId, player.objectX, player.objectY);
|
|
} else {
|
|
player.clickObjectType = 2;
|
|
CycleEventHandler.getSingleton().addEvent(player, new CycleEvent() {
|
|
@Override
|
|
public void execute(CycleEventContainer container) {
|
|
if (player.clickObjectType == 2 && player.goodDistance(player.objectX + player.objectXOffset, player.objectY + player.objectYOffset, player.getX(), player.getY(), player.objectDistance)) {
|
|
player.getObjects().secondClickObject(player.objectId, player.objectX, player.objectY);
|
|
container.stop();
|
|
}
|
|
if (player.clickObjectType != 2) {
|
|
container.stop();
|
|
}
|
|
}
|
|
@Override
|
|
public void stop() {
|
|
player.clickObjectType = 0;
|
|
}
|
|
}, 1);
|
|
}
|
|
break;
|
|
|
|
case THIRD_CLICK: // 'F'
|
|
player.objectX = player.getInStream().readSignedWordBigEndian();
|
|
player.objectY = player.getInStream().readUnsignedWord();
|
|
player.objectId = player.getInStream().readUnsignedWordBigEndianA();
|
|
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));
|
|
}
|
|
switch (player.objectId) {
|
|
case 12537:
|
|
player.objectDistance = 2;
|
|
break;
|
|
case 1739:
|
|
if (player.objectX == 3204 && player.objectY == 3207) {
|
|
player.objectDistance = 3;
|
|
} else if (player.objectX == 3204 && player.objectY == 3229) {
|
|
player.objectXOffset = 2;
|
|
} else if (player.objectX == 3204 && player.objectY == 3207) {
|
|
player.objectXOffset = 1;
|
|
player.objectYOffset = 2;
|
|
}
|
|
break;
|
|
default:
|
|
player.objectDistance = 1;
|
|
break;
|
|
}
|
|
player.objectXOffset = 0;
|
|
player.objectYOffset = 0;
|
|
if (player.goodDistance(player.objectX + player.objectXOffset, player.objectY + player.objectYOffset, player.getX(), player.getY(), player.objectDistance)) {
|
|
player.getObjects().thirdClickObject(player.objectId, player.objectX, player.objectY);
|
|
} else {
|
|
player.clickObjectType = 3;
|
|
CycleEventHandler.getSingleton().addEvent(player, new CycleEvent() {
|
|
@Override
|
|
public void execute(CycleEventContainer container) {
|
|
if (player.clickObjectType == 3 && player.goodDistance(player.objectX + player.objectXOffset, player.objectY + player.objectYOffset, player.getX(), player.getY(), player.objectDistance)) {
|
|
player.getObjects().thirdClickObject(player.objectId, player.objectX, player.objectY);
|
|
container.stop();
|
|
}
|
|
if (player.clickObjectType < 3) {
|
|
container.stop();
|
|
}
|
|
}
|
|
|
|
@Override
|
|
public void stop() {
|
|
player.clickObjectType = 0;
|
|
}
|
|
}, 1);
|
|
}
|
|
break;
|
|
|
|
|
|
case FOURTH_CLICK:
|
|
player.objectX = player.getInStream().readSignedWordBigEndianA();
|
|
player.objectId = player.getInStream().readUnsignedWordA();
|
|
player.objectY = player.getInStream().readUnsignedWordBigEndianA();
|
|
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));
|
|
}
|
|
switch (player.objectId) {
|
|
default:
|
|
player.objectDistance = 1;
|
|
break;
|
|
}
|
|
player.objectXOffset = 0;
|
|
player.objectYOffset = 0;
|
|
if (player.goodDistance(player.objectX + player.objectXOffset, player.objectY + player.objectYOffset, player.getX(), player.getY(), player.objectDistance)) {
|
|
player.getObjects().fourthClickObject(player.objectId, player.objectX, player.objectY);
|
|
} else {
|
|
player.clickObjectType = 4;
|
|
CycleEventHandler.getSingleton().addEvent(player, new CycleEvent() {
|
|
@Override
|
|
public void execute(CycleEventContainer container) {
|
|
if (player.clickObjectType == 4 && player.goodDistance(player.objectX + player.objectXOffset, player.objectY + player.objectYOffset, player.getX(), player.getY(), player.objectDistance)) {
|
|
player.getObjects().fourthClickObject(player.objectId, player.objectX, player.objectY);
|
|
container.stop();
|
|
}
|
|
if (player.clickObjectType < 4) {
|
|
container.stop();
|
|
}
|
|
}
|
|
|
|
@Override
|
|
public void stop() {
|
|
player.clickObjectType = 0;
|
|
}
|
|
}, 1);
|
|
}
|
|
break;
|
|
}
|
|
}
|
|
}
|