public static void handleLever(Player p, int id, Location loc) { if ((p.getTemporaryAttribute("teleporting") != null )) { return; } for (int i = 0 ; i < LEVER_COORDINATES.Length; i++) { Location loc1 = new Location(LEVER_COORDINATES[i][0], LEVER_COORDINATES[i][1], LEVER_COORDINATES[i][2]); if (loc.Equals(loc1)) { int index = i; Location loc2 = new Location(LEVER_FACE_COORDINATES[i][0], LEVER_FACE_COORDINATES[i][1], LEVER_FACE_COORDINATES[i][2]); CoordinateEvent wildernessHandleLeverCoordinateEvent = new CoordinateEvent(p, loc); wildernessHandleLeverCoordinateEvent.setAction(() => { p.setFaceLocation(loc2); displayWildernessLeverOptions(p, index); }); Server.registerCoordinateEvent(wildernessHandleLeverCoordinateEvent); return; } } LaddersAndStairs.useLever(p, id, loc); // Used for default levers/levers with no options }
private void handleSecondClickObject(Player player, Packet packet) { int objectY = packet.readLEShortA(); int objectX = packet.readLEShort(); ushort objectId = packet.readUShort(); Console.WriteLine("Second object click = " + objectId + " " + objectX + " " + objectY); if (player.getTemporaryAttribute("unmovable") != null) { return; } if (objectX < 1000 || objectY < 1000 || player.isDead() || player.getTemporaryAttribute("cantDoAnything") != null) { return; } SkillHandler.resetAllSkills(player); player.getPackets().closeInterfaces(); player.setFaceLocation(new Location(objectX, objectY, player.getLocation().getZ())); if (Thieving.wantToThieveStall(player, objectId, objectX, objectY)) { return; } else if (Farming.interactWithPatch(player, objectId, objectX, objectY, -1)) { return; } else if (LaddersAndStairs.useObject(player, objectId, new Location(objectX, objectY, player.getLocation().getZ()), 2)) { return; } switch(objectId) { case 28089: // GE desk Server.getGrandExchange().clickDesk(player, objectX, objectY, 2); break; case 25824: // Spinning wheel (Seers) case 36970: // Spinning wheel (Lumbridge Spinning.displaySpinningInterface(player); break; case 6: // Dwarf multicannon DwarfCannon cannon = player.getCannon(); Location l = new Location(objectX, objectY, player.getLocation().getZ()); if (cannon == null || (cannon != null & !l.Equals(cannon.getLocation()))) { player.getPackets().sendMessage("This isn't your cannon!"); break; } cannon.pickupCannon(); break; case 11666: // Falador furnace case 36956: // Lumbridge furnace Smelting.displaySmeltOptions(player); break; case 11959: // Tin rocks case 11958: case 11957: case 11933: case 11934: case 11935: case 31077: case 31078: case 31079: Mining.prospectRock(player, objectX, objectY, "tin"); break; case 11960: // Copper rocks case 11961: case 11962: case 11936: case 11937: case 11938: case 31080: case 31081: case 31082: Mining.prospectRock(player, objectX, objectY, "copper"); break; case 15504: // Clay rocks case 15503: case 15505: case 11189: case 11190: case 11191: case 31062: case 31063: case 31064: case 32429: case 32430: case 32431: Mining.prospectRock(player, objectX, objectY, "clay"); break; case 11948: // Silver rocks case 11949: case 11950: case 11165: case 11186: case 11187: case 11188: case 31074: case 31075: case 31076: case 32444: case 32445: case 32446: case 15579: case 15580: case 15581: Mining.prospectRock(player, objectX, objectY, "silver"); break; case 11930: // Coal rocks case 11931: case 11932: case 14850: case 14851: case 14852: case 31068: case 31069: case 31070: case 32426: case 32427: case 32428: Mining.prospectRock(player, objectX, objectY, "coal"); break; case 11945: // Mithril rocks case 11946: case 11947: case 11942: case 11943: case 11944: case 14853: case 14854: case 14855: case 31086: case 31087: case 31088: case 32438: case 32439: case 32440: Mining.prospectRock(player, objectX, objectY, "mithril"); break; case 11954: // Iron rocks case 11955: case 11956: case 14856: case 14857: case 14858: case 31071: case 31072: case 31073: case 32441: case 32442: case 32443: Mining.prospectRock(player, objectX, objectY, "iron"); break; case 14859: // Rune rocks case 14860: case 14861: Mining.prospectRock(player, objectX, objectY, "runite"); break; case 11951: // Gold rocks case 11952: case 11953: case 11183: case 11184: case 11185: case 31065: case 31066: case 31067: case 32432: case 32433: case 32434: case 15576: case 15577: case 15578: Mining.prospectRock(player, objectX, objectY, "gold"); break; case 11963: // Adamant rocks case 11964: case 11965: case 11939: case 11940: case 11941: case 14862: case 14863: case 14864: case 31083: case 31084: case 31085: case 32435: case 32436: case 32437: Mining.prospectRock(player, objectX, objectY, "adamantite"); break; case 11552: // Empty rocks case 11553: case 11554: case 11555: case 11556: case 31059: case 31060: case 31061: case 14832: case 14833: case 14834: case 33400: case 33401: case 33402: case 15582: case 15583: case 15584: Mining.displayEmptyRockMessage(player, new Location(objectX, objectY, player.getLocation().getZ())); break; case 2491: // Rune essence Mining.prospectRock(player, objectX, objectY, "Rune essence"); break; case 27663: // Duel arena bank chest. case 2213: // Catherby bank booth. case 11402: // Varrock bank booth. case 11758: // Falador bank booth. case 36786: // Lumbridge bank booth. case 35647: // Al-Kharid bank booth. case 25808: // Seers bank booth. case 34752: // Ardougne bank booth. case 26972: // Edgeville bank booth. case 29085: // Ooglog bank booth. player.getBank().openBank(false, objectX, objectY); break; } }