Rename & Repackage

This commit is contained in:
dark98
2021-03-11 00:21:56 +00:00
parent caa4625efa
commit 3bf473129d
1921 changed files with 2017 additions and 2010 deletions
@@ -0,0 +1,34 @@
package com.rs2.game.objects;
import com.rs2.GameEngine;
public class Object {
public int objectId;
public int objectX;
public int objectY;
public int height;
public int face, faceOriginal;
public int type;
public int newId;
public int tick;
public Object(int ID, int X, int Y, int Height, int Face, int Type, int NewId, int Tick) {
Object p = GameEngine.objectManager.getObject(X, Y, Height);
if (p != null) {
if (ID == p.objectId) {
return;
}
}
objectId = ID;
objectX = X;
objectY = Y;
height = Height;
face = Face;
type = Type;
newId = NewId;
tick = Tick;
GameEngine.objectManager.addObject(this);
}
}
@@ -0,0 +1,144 @@
package com.rs2.game.objects;
import com.rs2.game.players.Player;
import com.rs2.world.clip.ObjectDefinition;
/**
* ObjectDefaults
* @author Andrew (Mr Extremez)
*/
public class ObjectDefaults {
private static int
SOUTH = 0,
NORTH = 1,
EAST = 2,
WEST = 3;
public static int getObjectType(Player player, int objectType) {
String objectName = ObjectDefinition.getObjectDef(objectType).name;
if (objectName.contains("Wardrobe") || objectName.contains("chest") || objectName.contains("Cupboard") || objectName.contains("Coffin")) {
return 10;
} else if (objectName.contains("Curtain")) {
if ((player.getX() >= 3298 && player.getX() <= 3300) && (player.getY() >= 3186 && player.getY() <= 3188)) {
return 9;
}
}
return 0;
}
/**
* object x
* object y
* object face
* object height
*/
private static final int[][] GET_FACE = {
{3209, 3217, 2, 1}, {3382, 3270, 1, 0}, {3381, 3269, 2, 0},
{3309, 3120, 3, 0}, {3112, 3355, 2, 0}, {3112, 3356, 2, 0},
{3104, 3360, 2, 0}, {3104, 3356, 2, 0}, {3096, 3356, 2, 0},
{3096, 3361, 2, 0}, {3114, 3362, 3, 1}, {3118, 3362, 3, 1},
{3113, 3368, 1, 1}, {3104, 3368, 1, 1}, {3118, 3359, 2, 1},
{3112, 3360, 2, 2}, {3112, 3358, 2, 2}, {3049, 3383, 2, 0},
{3042, 3375, 2, 0}, {3042, 3376, 2, 0}, {3046, 3367, 1, 0},
{3047, 3367, 1, 0}, {3045, 3361, 3, 1}, {3216, 3487, 3, 1},
{3224, 3493, 2, 1}, {3224, 3495, 2, 1}, {3201, 3483, 1, 0},
{3201, 3484, 1, 0}, {3203, 3481, 1, 0}, {3192, 3273, 3, 0},
{3185, 3274, 2, 0}, {3096, 3266, 1, 0}, {3096, 3267, 1, 0},
{3087, 3261, 1, 0}, {3084, 3256, 3, 0}, {3024, 3259, 3, 0},
{3023, 3259, 3, 0}, {3027, 3262, 1, 1}, {3026, 3259, 3, 1},
{3013, 3249, 1, 0}, {3013, 3234, 3, 1}, {3014, 3234, 3, 1},
{3016, 3205, 3, 1}, {3009, 3206, 1, 1}, {3009, 3207, 1, 1},
{3016, 3207, 3, 0}, {2657, 3322, 2, 1}, {3090, 3479, 2, 0},
{3090, 3476, 2, 0}, {3096, 3469, 3, 0}, {2970, 3214, 2, 1},
{2765, 3505, 1, 1}, {2748, 3495, 2, 2}, {3303, 3172, 2, 0},
{3300, 3177, 1, 0}, {3282, 3169, 1, 0}, {3282, 3168, 1, 0},
{3299, 3169, 2, 1}, {3300, 3169, 2, 1}, {3301, 3169, 2, 1},
{3319, 3137, 3, 0}, {3324, 3137, 3, 0}, {3099, 3373, 1, 0},
{2620, 3291, 3, 1}, {2578, 3295, 1, 1}, {2575, 3292, 3, 0},
{2578, 3295, 2, 1}, {2579, 3295, 2, 1}, {3023, 3259, 3, 1},
{3012, 3452, 3, 0}, {3021, 3449, 3, 0}, {3016, 3256, 2, 0},
{3016, 3261, 2, 0}, {2649, 3361, 3, 0}, {3090, 9899, 2, 0},
{3089, 9899, 2, 0}
};
public static int getObjectFace(Player player, int objectType) {
//default face
int face = SOUTH;
for (final int[] element : GET_FACE) {
if (player.objectX == element[0] && player.objectY == element[1] && player.getH() == element[3]) {
return face = element[2];
} else {
switch (objectType) {
case 6910:
if (player.objectX == 3263) {
return face = WEST;
}
case 1529:
case 1528:
if (getObjectType(player, objectType) == 9 || player.objectX == 3315 || player.objectX == 3172 || player.objectX == 3259) {
return face = WEST;
} else if (player.objectX == 3313 || player.objectX == 3317) {
return face = EAST;
} else if (player.objectX == 3287 || player.objectX == 3292) {
return face = NORTH;
}
case 388:
case 389:
if (player.objectX == 3112 || player.objectX == 3104 || player.objectX == 3096) {
return face = EAST;
}
case 14879:
return face = NORTH;
case 1568:
return face = (player.objectX == 3405) ? EAST : SOUTH;
case 375:
case 376:
case 377:
if (player.objectX == 3096) {
return face = NORTH;
} else if (player.objectX == 3263) {
return face = WEST;
} else if (player.objectX == 2892) {
return face = WEST;
}
case 399:
case 398:
return face = (player.objectX == 3096 && player.objectY == 3469) ? WEST : (player.objectX == 3096) ? SOUTH : EAST;
case 3193:
return face = (player.objectX == 3381) ? EAST : NORTH;
case 378:
if (player.objectX == 3096) {
return face = NORTH;
} else if (player.objectX == 3263) {
return face = WEST;
} else if (player.objectX == 2892) {
return face = WEST;
}
case 3194:
switch (player.objectX) {
case 3381:
return face = EAST;
case 3309:
return face = WEST;
default:
return face = NORTH;
}
case 348:
case 349:
if (player.objectX == 2971) {
return face = NORTH;
}
case 350:
case 351:
if (player.objectY == 3382) {
return face = WEST;
}
}
}
}
return face;
}
}
@@ -0,0 +1,84 @@
package com.rs2.game.objects;
import com.rs2.world.clip.ObjectDefinition;
public class Objects {
public long delay, oDelay;
public int xp, item, owner, target, times;
public boolean bait;
public String belongsTo;
public int objectId;
public int objectX;
public int objectY;
public int objectHeight;
public int objectFace;
public int objectType;
public int objectTicks;
public int getObjectId() {
return objectId;
}
public int getObjectX() {
return objectX;
}
public int getObjectY() {
return objectY;
}
public Objects(int id, int x, int y, int height, int face, int type, int ticks) {
objectId = id;
objectX = x;
objectY = y;
objectHeight = height;
objectFace = face;
objectType = type;
objectTicks = ticks;
}
public int[] getObjectSize() {
ObjectDefinition def = ObjectDefinition.getObjectDef(objectId);
if (def == null) {
return new int[] {1, 1};
}
if (objectId == 2781) {
return new int[] {3, 3};
}
int xLength;
int yLength;
if (objectFace != 1 && objectFace != 3) {
xLength = def.xLength();
yLength = def.yLength();
} else {
xLength = def.yLength();
yLength = def.xLength();
}
return new int[] {xLength, yLength};
}
@Override
public String toString() {
return "Objects{" +
"objectId=" + objectId +
", objectX=" + objectX +
", objectY=" + objectY +
", objectHeight=" + objectHeight +
'}';
}
public int getObjectHeight() {
return objectHeight;
}
public int getObjectFace() {
return objectFace;
}
public int getObjectType() {
return objectType;
}
}
File diff suppressed because it is too large Load Diff
@@ -0,0 +1,19 @@
package com.rs2.game.objects.impl;
import com.rs2.game.objects.Object;
import com.rs2.game.players.Player;
public class AxeInLog {
public static void pullAxeFromLog(Player player, int x, int y) {
if (player.getItemAssistant().freeSlots() <= 0) {
player.getPacketSender().sendMessage("Not enough space in your inventory.");
return;
}
player.startAnimation(832);
player.getItemAssistant().addItem(1351, 1);
player.getPacketSender().sendMessage("You take the axe from the log.");
new Object(5582, x, y, player.heightLevel, 2, 10, 5581, 100);
}
}
@@ -0,0 +1,61 @@
package com.rs2.game.objects.impl;
import com.rs2.game.content.skills.woodcutting.Woodcutting;
import com.rs2.game.players.Player;
/**
* @author Genesis
*/
public class BrimhavenVines {
public static void handleBrimhavenVines(Player player, int objectType) {
if (!Woodcutting.hasAxe(player)) {
player.getPacketSender().sendMessage("You will need an axe to chop through these!");
return;
}
player.getPacketSender().sendMessage("You chop your way through the vines.");
switch (objectType) {
case 12987:
case 12986:
BrimhavenVines.moveThroughVinesX(player, 3213, -2, 0, 2, 0);
break;
case 5103:
BrimhavenVines.moveThroughVinesX(player, 2689, 2, 0, -2, 0);
break;
case 5104:
BrimhavenVines.moveThroughVinesY(player, 9568, 0, 2, 0, -2);
break;
case 5105:
BrimhavenVines.moveThroughVinesX(player, 2672, 2, 0, -2, 0);
break;
case 5106:
BrimhavenVines.moveThroughVinesX(player, 2675, 2, 0, -2, 0);
break;
case 5107:
BrimhavenVines.moveThroughVinesX(player, 2694, 2, 0, -2, 0);
break;
}
}
public static void moveThroughVinesX(Player player, int originX, int x1, int y1, int x2, int y2) {
int x = player.getX();
int y = player.getY();
if (player.absX <= originX) {
player.getPlayerAssistant().movePlayer(x + x1, y + y1, 0);
} else {
player.getPlayerAssistant().movePlayer(x + x2, y + y2, 0);
}
}
public static void moveThroughVinesY(Player player, int originY, int x1, int y1, int x2, int y2) {
int x = player.getX();
int y = player.getY();
if (player.absY <= originY) {
player.getPlayerAssistant().movePlayer(x + x1, y + y1, 0);
} else {
player.getPlayerAssistant().movePlayer(x + x2, y + y2, 0);
}
}
}
@@ -0,0 +1,920 @@
package com.rs2.game.objects.impl;
import com.rs2.event.CycleEvent;
import com.rs2.event.CycleEventContainer;
import com.rs2.event.CycleEventHandler;
import com.rs2.game.content.quests.QuestAssistant;
import com.rs2.game.items.impl.LightSources;
import com.rs2.game.players.Player;
import com.rs2.util.Misc;
/**
* Climbing handles stairs, ladders
* @author Andrew (Mr Extremez)
*/
public class Climbing {
private static final int CLIMB_UP = 828, CLIMB_DOWN = CLIMB_UP;
public static void handleClimbing(final Player client) {
if (System.currentTimeMillis() - client.climbDelay < 1200) {
return;
}
client.stopPlayer = true;
CycleEventHandler.getSingleton().addEvent(client, new CycleEvent() {
@Override
public void execute(CycleEventContainer container) {
processClimbing(client);
client.getPlayerAssistant().requestUpdates();
container.stop();
}
@Override
public void stop() {
client.climbDelay = System.currentTimeMillis();
client.stopPlayer = false;
}
}, 1);
}
public static void processClimbing(Player client) {
int chapionsGuildRequiredQP = Math.min(32, QuestAssistant.MAXIMUM_QUESTPOINTS);
switch (client.objectId) {
case 9584:
if (client.objectX == 2932 && client.objectY == 3282) {
client.getPlayerAssistant().movePlayer(2933, 3282, 0);
client.resetWalkingQueue();
}
break;
case 272:
client.getPlayerAssistant().movePlayer(client.absX, client.absY, 1);
client.resetWalkingQueue();
break;
case 273:
client.getPlayerAssistant().movePlayer(client.absX, client.absY, 0);
client.resetWalkingQueue();
break;
case 245:
if (client.objectY == 3224) {
client.getPlayerAssistant().movePlayer(client.absX, client.absY+2, 2);
client.resetWalkingQueue();
} else if (client.objectY == 3139 || client.objectX == 2835 || client.objectX == 2963) {
client.getPlayerAssistant().movePlayer(client.absX+2, client.absY, 2);
client.resetWalkingQueue();
} else {
client.getPlayerAssistant().movePlayer(client.absX-2, client.absY, 2);
client.resetWalkingQueue();
}
break;
case 246:
if (client.objectY == 3224) {
client.getPlayerAssistant().movePlayer(client.absX, client.absY-2, 1);
client.resetWalkingQueue();
} else if (client.objectY == 3139 || client.objectX == 2835 || client.objectX == 2963) {
client.getPlayerAssistant().movePlayer(client.absX-2, client.absY, 1);
client.resetWalkingQueue();
} else {
client.getPlayerAssistant().movePlayer(client.absX+2, client.absY, 1);
client.resetWalkingQueue();
}
break;
case 11888:
if (client.absX == 2908 && client.absY == 3336) {
climbUp(client);
client.resetWalkingQueue();
}
break;
case 4568:
if (client.objectX == 2506 && client.objectY == 3640) {
climbUp(client);
client.resetWalkingQueue();
}
break;
case 4569:
if (client.objectX == 2506 && client.objectY == 3640) {
handleLadder(client);
client.resetWalkingQueue();
}
break;
case 4570:
if (client.objectX == 2506 && client.objectY == 3641) {
climbDown(client);
client.resetWalkingQueue();
}
break;
case 11889:
if (client.absX == 2908 && client.absY == 3336) {
handleLadder(client);
client.resetWalkingQueue();
}
break;
case 11890:
if (client.absX == 2908 && client.absY == 3336) {
climbDown(client);
client.resetWalkingQueue();
}
break;
case 9582:
if (client.objectX == 2931 && client.objectY == 3282) {
client.getPlayerAssistant().movePlayer(2933, 3282, 1);
client.resetWalkingQueue();
}
break;
case 1722:
if (client.objectX == 2590 && client.objectY == 3089 && client.heightLevel == 0 && client.absY == 3088) {
client.getPlayerAssistant().movePlayer(client.absX, 3092, 1);
} else if (client.objectX == 2590 && client.objectY == 3089 && client.heightLevel == 0 && client.absY != 3088) {
return;
}
if (client.objectX == 3175 && client.objectY == 3420 && client.heightLevel == 0 && client.absX == 3177 && client.absX > 3418 && client.absX < 3425) {
return;
} else if (client.absY == 3423) {
client.getPlayerAssistant().movePlayer(client.absX, 3419, 1);
client.resetWalkingQueue();
}
if (client.absX == 3098) {
client.getPlayerAssistant().movePlayer(3102, 3266, 1);
client.resetWalkingQueue();
} else if (client.absY == 3445) {
client.getPlayerAssistant().movePlayer(3260, 3449, 1);
client.resetWalkingQueue();
} else if (client.absY == 3358 && client.questPoints >= chapionsGuildRequiredQP) {
client.getPlayerAssistant().movePlayer(client.absX, 3354, 1);
client.resetWalkingQueue();
} else if (client.absY == 3358 && client.questPoints < chapionsGuildRequiredQP) {
client.getPacketSender().sendMessage("You need " + chapionsGuildRequiredQP + " quest points to use these stairs.");
} else if (client.absX == 3180) {
client.getPlayerAssistant().movePlayer(3176, client.absY, 1);
client.resetWalkingQueue();
} else if (client.absX == 3159) {
client.getPlayerAssistant().movePlayer(3155, 3435, 1);
client.resetWalkingQueue();
} else if (client.absX == 2661) {
client.getPlayerAssistant().movePlayer(2665, client.absY, 1);
client.resetWalkingQueue();
} else if (client.absY == 3083) {
client.getPlayerAssistant().movePlayer(client.absX, 3087, 2);
client.resetWalkingQueue();
} else if (client.absY == 3298) {
client.getPlayerAssistant().movePlayer(client.absX, 3294, 1);
client.resetWalkingQueue();
} else if (client.absY == 3472) {
client.getPlayerAssistant().movePlayer(client.absX, 3476, 1);
client.resetWalkingQueue();
}
break;
case 1723:
if (client.absX == 3102) {
client.getPlayerAssistant().movePlayer(3098, 3266, 0);
client.resetWalkingQueue();
} else if (client.absY == 3354 && client.questPoints >= chapionsGuildRequiredQP) {
client.getPlayerAssistant().movePlayer(client.absX, 3358, 0);
client.resetWalkingQueue();
} else if (client.absY == 3358 && client.questPoints < chapionsGuildRequiredQP) {
client.getPacketSender().sendMessage("You need " + chapionsGuildRequiredQP + " quest points to use these stairs");
} else if (client.absY == 3449) {
client.getPlayerAssistant().movePlayer(3259, 3445, 0);
client.resetWalkingQueue();
} else if (client.absX == 3155) {
client.getPlayerAssistant().movePlayer(3159, 3435, 0);
client.resetWalkingQueue();
} else if (client.absX == 2665) {
client.getPlayerAssistant().movePlayer(2661, client.absY, 0);
client.resetWalkingQueue();
} else if (client.absY == 3092) {
client.getPlayerAssistant().movePlayer(client.absX, 3088, 0);
client.resetWalkingQueue();
} else if (client.absY == 3087) {
client.getPlayerAssistant().movePlayer(client.absX, 3083, 1);
client.resetWalkingQueue();
} else if (client.absY == 3419) {
client.getPlayerAssistant().movePlayer(client.absX, 3423, 0);
client.resetWalkingQueue();
} else if (client.absX == 3176) {
client.getPlayerAssistant().movePlayer(3180, client.absY, 0);
client.resetWalkingQueue();
} else if (client.absY == 3321) {
client.getPlayerAssistant().movePlayer(client.absX, 3325, 0);
client.resetWalkingQueue();
} else if (client.absY == 3294) {
client.getPlayerAssistant().movePlayer(client.absX, 3298, 0);
client.resetWalkingQueue();
} else if (client.absY == 3476) {
client.getPlayerAssistant().movePlayer(client.absX, 3472, 0);
client.resetWalkingQueue();
}
break;
case 1733:
if (client.objectX == 2569 && client.objectY == 3122) {
client.getPlayerAssistant().movePlayer(2569, 9525, 0);
client.resetWalkingQueue();
} else if (client.absX == 3186) {
client.getPlayerAssistant().movePlayer(3190, 9834, 0);
client.resetWalkingQueue();
} else if (client.objectX == 2603 && client.objectY == 3078) {
client.getPlayerAssistant().feature("using this staircase");
client.resetWalkingQueue();
} else if (client.absX != 3186) {
client.getPlayerAssistant().movePlayer(client.absX,
client.absY + 6393, 0);
client.resetWalkingQueue();
}
break;
case 1734:
if (client.objectX == 2569 && client.objectY == 9522) {
client.getPlayerAssistant().movePlayer(2569, 3121, 0);
client.resetWalkingQueue();
} else if (client.absX == 3190) {
client.getPlayerAssistant().movePlayer(3186, 3434, 0);
client.resetWalkingQueue();
} else if (client.objectX == 3059 && client.objectY == 9776) {
client.getPlayerAssistant().movePlayer(3061,
client.absY - 6400, 0);
client.resetWalkingQueue();
} else if (client.absX != 3190) {
client.getPlayerAssistant().movePlayer(client.absX,
client.absY - 6396, 0);
client.resetWalkingQueue();
}
break;
case 1737:
if (client.absY == 3294) {
client.getPlayerAssistant().movePlayer(2661, 3291, 1);
client.resetWalkingQueue();
} else if (client.absY == 3302) {
client.getPlayerAssistant().movePlayer(2648, 3301, 1);
client.resetWalkingQueue();
} else if (client.absY == 3293) {
client.getPlayerAssistant().movePlayer(2649, 3296, 1);
client.resetWalkingQueue();
}
break;
case 1736:
if (client.absY == 3291) {
client.getPlayerAssistant().movePlayer(2662, 3294, 0);
client.resetWalkingQueue();
} else if (client.absY == 3301) {
client.getPlayerAssistant().movePlayer(2645, 3302, 0);
client.resetWalkingQueue();
} else if (client.absX == 2649) {
client.getPlayerAssistant().movePlayer(2648, 3293, 0);
client.resetWalkingQueue();
}
break;
case 1742:
if (client.objectX == 2445 && client.objectY == 3434) {
client.getPlayerAssistant().movePlayer(2445, 3433, 1);
client.startAnimation(CLIMB_UP);
client.resetWalkingQueue();
} else if (client.objectX == 2444 && client.objectY == 3414) {
client.getPlayerAssistant().movePlayer(2445, 3416, 1);
client.startAnimation(CLIMB_UP);
client.resetWalkingQueue();
} else if (client.objectX == 2455 && client.objectY == 3417) {
client.getPlayerAssistant().movePlayer(2457, 3417, 1);
client.startAnimation(CLIMB_UP);
client.resetWalkingQueue();
} else if (client.objectX == 2461 && client.objectY == 3416) {
client.getPlayerAssistant().movePlayer(2460, 3417, 1);
client.startAnimation(CLIMB_UP);
client.resetWalkingQueue();
} else if (client.objectX == 2440 && client.objectY == 3404) {
client.getPlayerAssistant().movePlayer(2440, 3403, 1);
client.startAnimation(CLIMB_UP);
client.resetWalkingQueue();
}
break;
case 1744:
if (client.objectX == 2445 && client.objectY == 3434) {
client.getPlayerAssistant().movePlayer(2445, 3433, 0);
client.startAnimation(CLIMB_DOWN);
client.resetWalkingQueue();
} else if (client.objectX == 2444 || client.objectX == 2445
&& client.objectY == 3415) {
client.getPlayerAssistant().movePlayer(2444, 3413, 0);
client.startAnimation(CLIMB_DOWN);
client.resetWalkingQueue();
} else if (client.objectX == 2456 && client.objectY == 3417) {
client.getPlayerAssistant().movePlayer(2457, 3417, 0);
client.startAnimation(CLIMB_DOWN);
client.resetWalkingQueue();
} else if (client.objectX == 2461 && client.objectY == 3417) {
client.getPlayerAssistant().movePlayer(2460, 3417, 0);
client.startAnimation(CLIMB_DOWN);
client.resetWalkingQueue();
} else if (client.objectX == 2440 && client.objectY == 3404) {
client.getPlayerAssistant().movePlayer(2440, 3403, 0);
client.startAnimation(CLIMB_DOWN);
client.resetWalkingQueue();
}
break;
case 7257:
client.getPlayerAssistant().movePlayer(3044, 4973, 1);
client.startAnimation(827);
client.getPacketSender().sendMessage("You climb down.");
client.resetWalkingQueue();
break;
case 6279:
if (client.getItemAssistant().playerHasItem(954, 1)) {
client.getPlayerAssistant().movePlayer(3206, 9379, 0);
client.startAnimation(827);
client.getPacketSender().sendMessage("You climb down.");
client.resetWalkingQueue();
} else {
client.getPacketSender().sendMessage(
"You need a rope to enter.");
return;
}
break;
case 6436:
UseOther.useUp(client, client.objectId);
client.resetWalkingQueue();
break;
case 6434:
case 5167:
UseOther.useDown(client, client.objectId);
client.resetWalkingQueue();
break;
case 1767:
if (client.objectX == 3069 && client.objectY == 3856) {
UseOther.useDown(client, client.objectId);
client.resetWalkingQueue();
}
break;
case 6439:
client.getPlayerAssistant().movePlayer(3309, 2963, 0);
client.getPacketSender().sendMessage("You climb up.");
client.resetWalkingQueue();
break;
case 2408:
if (client.playerLevel[5] > 0) {
client.playerLevel[5] = 0;
}
client.getPlayerAssistant().refreshSkill(5);
client.getPacketSender().sendMessage(
"Your prayer is drained as you enter the dungeon.");
client.getPlayerAssistant().movePlayer(2823, 9771, 0);
client.startAnimation(827);
client.getPacketSender().sendMessage("You climb down.");
client.resetWalkingQueue();
break;
case 2147:
client.getPlayerAssistant().movePlayer(3104, 9576, 0);
client.startAnimation(827);
client.getPacketSender().sendMessage("You climb down.");
client.resetWalkingQueue();
break;
case 2148:
client.getPlayerAssistant().movePlayer(3103, 3162, 0);
client.startAnimation(828);
client.getPacketSender().sendMessage("You climb up.");
client.resetWalkingQueue();
break;
case 4383:
client.getPlayerAssistant().movePlayer(2515, 10007, 0);
client.startAnimation(827);
client.getPacketSender().sendMessage("You climb down.");
client.resetWalkingQueue();
break;
case 5131:
client.getPlayerAssistant().movePlayer(3549, 9865, 0);
client.getPacketSender().sendMessage("You climb down.");
client.resetWalkingQueue();
break;
case 5130:
client.getPlayerAssistant().movePlayer(3543, 3463, 0);
client.getPacketSender().sendMessage("You climb up.");
client.resetWalkingQueue();
break;
case 4413:
client.getPlayerAssistant().movePlayer(2510, 3644, 0);
client.startAnimation(828);
client.getPacketSender().sendMessage("You climb up.");
client.resetWalkingQueue();
break;
case 3432:
client.getPlayerAssistant().movePlayer(3440, 9887, 0);
client.resetWalkingQueue();
break;
case 1738:
if (client.objectX == 2728 && client.objectY == 3460
&& client.heightLevel == 0) {
client.getPlayerAssistant().movePlayer(2749, 3462, 1);
client.resetWalkingQueue();
} else if (client.objectX == 2746 && client.objectY == 3460
&& client.heightLevel == 0) {
client.getPlayerAssistant().movePlayer(2745, 3461, 1);
client.resetWalkingQueue();
} else if (client.objectX == 2648 && client.objectY == 3310) {
Climbing.climbUp(client);
client.resetWalkingQueue();
} else if (client.objectX == 2673 && client.objectY == 3300) {
client.getPlayerAssistant().movePlayer(2675, 3300, 1);
client.resetWalkingQueue();
} else if (client.objectX == 3204 && client.objectY == 3207) {
client.getPlayerAssistant().movePlayer(3205, 3209, 1);
client.resetWalkingQueue();
} else if (client.objectX == 3204 && client.objectY == 3229) {
client.getPlayerAssistant().movePlayer(3205, 3228, 1);
client.resetWalkingQueue();
} else if (client.objectX == 3258 && client.objectY == 3487) {
client.getPlayerAssistant().movePlayer(3257, 3487, 1);
client.resetWalkingQueue();
} else if (client.objectX == 3144 && client.objectY == 3447 && client.playerLevel[client.playerCooking] > 31 && client.playerEquipment[client.playerHat] == 1949) {
client.getPlayerAssistant().movePlayer(3143, 3448, 1);
client.resetWalkingQueue();
} else if (client.objectX == 3010 && client.objectY == 3515) {
client.getPlayerAssistant().movePlayer(3012, 3515, 1);
client.resetWalkingQueue();
} else if (client.objectX == 2895 && client.objectY == 3513) {
client.getPlayerAssistant().movePlayer(2897, 3513, 1);
client.resetWalkingQueue();
}
break;
case 3443:
client.getPlayerAssistant().movePlayer(3423, 3485, 0);
break;
case 1754:
if (client.objectX == 3116 && client.objectY == 3452) {
client.getPlayerAssistant().movePlayer(3222, 3218, 0);
client.startAnimation(CLIMB_DOWN);
client.resetWalkingQueue();
}
break;
case 1755:
if (client.objectX == 3116 && client.objectY == 9852) {
client.getPlayerAssistant().movePlayer(3116, 3451, 0);
client.startAnimation(CLIMB_UP);
client.resetWalkingQueue();
} else if (client.objectX == 3097 && client.objectY == 9867) {
client.getPlayerAssistant().movePlayer(3096, 3468, 0);
client.startAnimation(CLIMB_UP);
client.resetWalkingQueue();
} else if (client.objectX == 3237 && client.objectY == 9858) {
client.getPlayerAssistant().movePlayer(3238, 3458, 0);
client.startAnimation(CLIMB_UP);
client.resetWalkingQueue();
} else if (client.objectX == 3088 && client.objectY == 9971) {
UseOther.useUp(client, client.objectId);
client.resetWalkingQueue();
// client.startAnimation(CLIMB_UP);
} else if (client.objectX == 3209 && client.objectY == 9616) {
// OtherObjects.useUp(client, client.objectId);
client.getPlayerAssistant().movePlayer(3209, 3215, 0);
client.startAnimation(CLIMB_UP);
client.resetWalkingQueue();
client.getPacketSender().sendMessage("You climb up.");
} else if (client.objectX == 3019 && client.objectY == 9740) {// noord
client.getPlayerAssistant().movePlayer(3019, 3341, 0);
client.startAnimation(CLIMB_UP);
client.resetWalkingQueue();
} else if (client.objectX == 3020 && client.objectY == 9739) {// oost
client.getPlayerAssistant().movePlayer(3021, 3339, 0);
client.startAnimation(CLIMB_UP);
client.resetWalkingQueue();
} else if (client.objectX == 3018 && client.objectY == 9739) {// wst
client.getPlayerAssistant().movePlayer(3017, 3339, 0);
client.startAnimation(CLIMB_UP);
client.resetWalkingQueue();
} else if (client.objectX == 3019 && client.objectY == 9738) {// zuid
client.getPlayerAssistant().movePlayer(3019, 3337, 0);
client.startAnimation(CLIMB_UP);
client.resetWalkingQueue();
} else {
UseOther.useUp(client, client.objectId);
}
break;
case 2405:
UseOther.useUp(client, client.objectId);
client.resetWalkingQueue();
break;
case 98:
if (client.inWild()) {
return;
}
if (!LightSources.playerHasLightSource(client)) {
client.getPlayerAssistant().movePlayer(2641, 9740, 0);
client.resetWalkingQueue();
return;
} else if (LightSources.playerHasLightSource(client)) {
client.getPlayerAssistant().movePlayer(2641, 9764, 0);
client.resetWalkingQueue();
return;
}
break;
case 96:
if (client.inWild()) {
return;
}
LightSources.brightness3(client);
client.getPlayerAssistant().movePlayer(2649, 9804, 0);
client.resetWalkingQueue();
break;
case 2711:
if (client.absY == 3325) {
client.getPlayerAssistant().movePlayer(client.absX, 3321, 1);
client.resetWalkingQueue();
}
break;
case 4755:
if (client.absY == 2797) {
client.getPlayerAssistant().movePlayer(client.absX, 2793, 0);
client.resetWalkingQueue();
}
break;
case 4756:
if (client.absY == 2793) {
client.getPlayerAssistant().movePlayer(client.absX, 2797, 1);
client.resetWalkingQueue();
}
break;
case 4879:
client.getPlayerAssistant().movePlayer(2807, 9200, 0);
client.getPacketSender().sendMessage(
"You go down the trapdoor.");
client.startAnimation(827);
client.getPacketSender().closeAllWindows();
client.resetWalkingQueue();
break;
case 5492:
if (client.getItemAssistant().playerHasItem(1523, 1)
&& Misc.random(4) < 3) {
client.getPlayerAssistant().movePlayer(3149, 9652, 0);
client.getPacketSender().sendMessage(
"You go down the trapdoor.");
client.startAnimation(827);
client.getPlayerAssistant().addSkillXP(.5,
client.playerThieving);
client.getPacketSender().closeAllWindows();
} else if (!client.getItemAssistant().playerHasItem(1523, 1)
&& Misc.random(5) < 2) {
client.getPlayerAssistant().movePlayer(3149, 9652, 0);
client.getPacketSender().sendMessage(
"You go down the trapdoor.");
client.startAnimation(827);
client.getPlayerAssistant().addSkillXP(.5,
client.playerThieving);
client.getPacketSender().closeAllWindows();
client.resetWalkingQueue();
} else if (client.getItemAssistant().playerHasItem(1523, 1)
&& Misc.random(4) > 3) {
client.getPacketSender().sendMessage(
"You fail to pick the lock.");
client.getPacketSender()
.sendMessage(
"Your thieving has been drained, your fingers feel numb.");
client.playerLevel[17] = client.getPlayerAssistant()
.getLevelForXP(client.playerXP[17]) - 1;
client.getPlayerAssistant().refreshSkill(17);
client.getItemAssistant().deleteItem(1523, 1);
} else if (!client.getItemAssistant().playerHasItem(1523, 1)
&& Misc.random(5) > 2) {
client.getPacketSender().sendMessage(
"You fail to pick the lock.");
client.getPacketSender()
.sendMessage(
"Your thieving has been drained, your fingers feel numb.");
client.playerLevel[17] = client.getPlayerAssistant()
.getLevelForXP(client.playerXP[17]) - 1;
client.getPlayerAssistant().refreshSkill(17);
}
break;
case 6278:
if (client.objectX == 2637 && client.objectY == 3408) {
UseOther.useDown(client, 6278);
}
break;
case 11724:
if (client.absX == 2971) {
client.getPlayerAssistant().movePlayer(2968, 3348, 1);
client.resetWalkingQueue();
}
break;
case 11725:
if (client.absY == 3348) {
client.getPlayerAssistant().movePlayer(2971, 3347, 0);
client.resetWalkingQueue();
}
break;
case 1725:
if (client.absY == 3376) {
client.getPlayerAssistant().movePlayer(client.absX, 3380, 1);
client.resetWalkingQueue();
} else if (client.absX == 3285 || client.absX == 3286 && client.heightLevel == 0) {
client.getPlayerAssistant().movePlayer(client.absX, 3492, 1);
client.resetWalkingQueue();
} else if (client.absY == 3509) {
client.getPlayerAssistant().movePlayer(2751, 3513, 1);
client.resetWalkingQueue();
} else if (client.absX == 3226) {
client.getPlayerAssistant().movePlayer(3230, 3394, 1);
client.resetWalkingQueue();
}
break;
case 5096:
client.getPlayerAssistant().movePlayer(2649, 9591, 0);
client.resetWalkingQueue();
break;
case 1726:
if (client.absY == 3380 ) {
client.getPlayerAssistant().movePlayer(client.absX, 3376, 0);
client.resetWalkingQueue();
} else if (client.absY == 3513) {
client.getPlayerAssistant().movePlayer(2751, 3509, 0);
client.resetWalkingQueue();
} else if (client.absX == 3230) {
client.getPlayerAssistant().movePlayer(3226, 3394, 0);
client.resetWalkingQueue();
} else if (client.absX == 3285 || client.absX == 3286
&& client.heightLevel == 1) {
client.getPlayerAssistant().movePlayer(client.absX, 3496, 0);
client.resetWalkingQueue();
}
break;
case 11727:
if (client.absY == 3350 || client.absY == 3351
|| client.absY == 3340 || client.absY == 3341
|| client.absY == 3342) {
climbUp(client);
client.resetWalkingQueue();
}
break;
case 11728:
if (client.absY == 3350 || client.absY == 3351
|| client.absY == 3340 || client.absY == 3341
|| client.absY == 3342) {
climbDown(client);
client.resetWalkingQueue();
}
break;
case 11729:
if (client.objectX == 2954 && client.objectY == 3338) {
client.getPlayerAssistant().movePlayer(2956, 3338, 1);
client.resetWalkingQueue();
} else if (client.objectX == 2960 && client.objectY == 3338) {
client.getPlayerAssistant().movePlayer(2959, 3339, 2);
client.resetWalkingQueue();
} else if (client.objectX == 2957 && client.objectY == 3338) {
client.getPlayerAssistant().movePlayer(2959, 3338, 3);
client.resetWalkingQueue();
}
break;
case 11731:
if (client.objectX == 2955 && client.objectY == 3338) {
client.getPlayerAssistant().movePlayer(2956, 3338, 0);
} else if (client.objectX == 2960 && client.objectY == 3339) {
client.getPlayerAssistant().movePlayer(2959, 3338, 1);
} else if (client.objectX == 2958 && client.objectY == 3338) {
client.getPlayerAssistant().movePlayer(2957, 3337, 2);
}
break;
case 11732:
if (client.objectX == 3034 && client.objectY == 3363) {
client.getPlayerAssistant().movePlayer(3036, 3363, 1);
} else if (client.objectX == 3048 && client.objectY == 3352) {
client.getPlayerAssistant().movePlayer(3049, 3354, 1);
}
break;
case 11733:
if (client.objectX == 3035 && client.objectY == 3363) {
client.getPlayerAssistant().movePlayer(3036, 3362, 0);
} else if (client.objectX == 3049 && client.objectY == 3353) {
client.getPlayerAssistant().movePlayer(3049, 3354, 0);
}
break;
case 11734:
if (client.absY == 3336) {
client.getPlayerAssistant().movePlayer(2984, 3340, 2);
} else if (client.absY == 3380) {
client.getPlayerAssistant().movePlayer(client.absX, 3384, 1);
}
break;
case 11735:
if (client.absY == 3340) {
client.getPlayerAssistant().movePlayer(2984, 3336, 1);
} else if (client.absY == 3384) {
client.getPlayerAssistant().movePlayer(client.absX, 3380, 0);
}
break;
case 11736:
if (client.absY == 3368) {
client.getPlayerAssistant().movePlayer(client.absX, 3372, 1);
} else if (client.absY == 3362) {
client.getPlayerAssistant().movePlayer(client.absX, 3366, 1);
}
break;
case 11737:
if (client.absY == 3366) {
client.getPlayerAssistant().movePlayer(client.absX, 3362, 0);
} else {
client.getPlayerAssistant().movePlayer(client.absX, 3368, 0);
}
break;
case 12266:
if (client.objectX == 3077 && client.objectY == 3493) {
client.getPlayerAssistant().movePlayer(3077, 9893, 0);
client.startAnimation(827);
client.resetWalkingQueue();
client.getPacketSender().sendMessage("You climb down.");
}
break;
case 12265:
if (client.objectX == 3076 && client.objectY == 9893) {
client.getPlayerAssistant().movePlayer(3078, 3493, 0);
client.startAnimation(828);
client.resetWalkingQueue();
client.getPacketSender().sendMessage("You climb up.");
}
break;
}
}
public static void climbUp(Player player) {
if (System.currentTimeMillis() - player.climbDelay < 1200) {
return;
}
switch (player.heightLevel) {
case -1:
player.getPlayerAssistant().movePlayer(player.absX, player.absY, 0);
player.climbDelay = System.currentTimeMillis();
player.getPacketSender().sendMessage("You climb up.");
player.startAnimation(CLIMB_UP);
player.resetWalkingQueue();
player.getPacketSender().closeAllWindows();
break;
case 0:
player.getPlayerAssistant().movePlayer(player.absX, player.absY, 1);
player.climbDelay = System.currentTimeMillis();
player.getPacketSender().sendMessage("You climb up.");
player.startAnimation(CLIMB_UP);
player.resetWalkingQueue();
player.getPacketSender().closeAllWindows();
break;
case 1:
player.getPlayerAssistant().movePlayer(player.absX, player.absY, 2);
player.climbDelay = System.currentTimeMillis();
player.getPacketSender().sendMessage("You climb up.");
player.startAnimation(CLIMB_UP);
player.resetWalkingQueue();
player.getPacketSender().closeAllWindows();
break;
case 2:
player.getPlayerAssistant().movePlayer(player.absX, player.absY, 3);
player.climbDelay = System.currentTimeMillis();
player.getPacketSender().sendMessage("You climb up.");
player.startAnimation(CLIMB_UP);
player.resetWalkingQueue();
player.getPacketSender().closeAllWindows();
break;
default:
if (player.heightLevel > 3) {
climbDown(player);
player.resetWalkingQueue();
}
player.getPacketSender().sendMessage("This object is currently not supported.");
System.out.println("Bug detected with climbing up object " + player.objectId + " objectX " + player.objectX + " objectY " + player.objectY + ".");
break;
}
}
public static void climbDown(Player player) {
if (System.currentTimeMillis() - player.climbDelay < 1200) {
return;
}
if (player.heightLevel > 3) {
player.getPlayerAssistant().movePlayer(player.absX, player.absY, 3);
player.climbDelay = System.currentTimeMillis();
player.getPacketSender().sendMessage("You climb down.");
player.startAnimation(CLIMB_DOWN);
player.resetWalkingQueue();
player.getPacketSender().closeAllWindows();
}
switch (player.heightLevel) {
case 1:
player.getPlayerAssistant().movePlayer(player.absX, player.absY, 0);
player.climbDelay = System.currentTimeMillis();
player.getPacketSender().sendMessage("You climb down.");
player.startAnimation(CLIMB_DOWN);
player.resetWalkingQueue();
player.getPacketSender().closeAllWindows();
break;
case 2:
player.getPlayerAssistant().movePlayer(player.absX, player.absY, 1);
player.climbDelay = System.currentTimeMillis();
player.getPacketSender().sendMessage("You climb down.");
player.startAnimation(CLIMB_DOWN);
player.resetWalkingQueue();
player.getPacketSender().closeAllWindows();
break;
case 3:
player.getPlayerAssistant().movePlayer(player.absX, player.absY, 2);
player.climbDelay = System.currentTimeMillis();
player.getPacketSender().sendMessage("You climb down.");
player.startAnimation(CLIMB_DOWN);
player.resetWalkingQueue();
player.getPacketSender().closeAllWindows();
break;
default:
if (player.heightLevel < 0) {
climbUp(player);
}
player.getPacketSender().sendMessage("This object is currently not supported.");
System.out.println("Bug detected with climbing down object " + player.objectId + " objectX " + player.objectX + " objectY " + player.objectY + ".");
break;
}
}
public static void handleLadder(Player player) {
player.getDialogueHandler().sendOption("Climb Up.", "Climb Down.");
player.dialogueAction = 147;
}
private static void close(Player client, int actionButtonId) {
if (actionButtonId == 9157) {
client.getPacketSender().sendMessage("You climb up.");
client.startAnimation(CLIMB_UP);
client.resetWalkingQueue();
} else if (actionButtonId == 9158) {
client.getPacketSender().sendMessage("You climb down.");
client.startAnimation(827);
client.resetWalkingQueue();
}
client.getPacketSender().closeAllWindows();
client.nextChat = 0;
}
public static void handleLadderButtons(Player client, int actionButtonId) {
if (client.dialogueAction != 147) {
return;
}
switch (actionButtonId) {
case 9157:
if (client.heightLevel == 1) {
client.getPlayerAssistant().movePlayer(client.absX, client.absY, 2);
close(client, actionButtonId);
} else if (client.heightLevel == 2) {
client.getPlayerAssistant().movePlayer(client.absX, client.absY, 3);
close(client, actionButtonId);
}
break;
case 9158:
if (client.heightLevel == 2) {
client.getPlayerAssistant().movePlayer(client.absX, client.absY, 1);
close(client, actionButtonId);
} else if (client.heightLevel == 1) {
client.getPlayerAssistant().movePlayer(client.absX, client.absY, 0);
close(client, actionButtonId);
}
break;
}
}
}
@@ -0,0 +1,75 @@
package com.rs2.game.objects.impl;
import com.rs2.event.CycleEvent;
import com.rs2.event.CycleEventContainer;
import com.rs2.event.CycleEventHandler;
import com.rs2.game.players.Player;
import com.rs2.util.Misc;
public class CrystalChest {
private static final int[] CHEST_REWARDS = { 1079, 1093, 526, 1969, 371,
2363, 451 };
public static final int[] KEY_HALVES = { 985, 987 };
public static final int KEY = 989;
private static final int DRAGONSTONE = 1631;
private static final int OPEN_ANIMATION = 881;
public static void makeKey(Player c) {
if (c.getItemAssistant().playerHasItem(toothHalf(), 1)
&& c.getItemAssistant().playerHasItem(loopHalf(), 1)) {
c.getItemAssistant().deleteItem(toothHalf(), 1);
c.getItemAssistant().deleteItem(loopHalf(), 1);
c.getItemAssistant().addItem(KEY, 1);
}
}
public static boolean canOpen(Player c) {
if (c.getItemAssistant().playerHasItem(KEY)) {
return true;
} else {
c.getPacketSender().sendMessage("The chest is locked");
return false;
}
}
public static void searchChest(final Player c, final int id, final int x,
final int y) {
if (canOpen(c)) {
c.getPacketSender().sendMessage(
"You unlock the chest with your key.");
c.getItemAssistant().deleteItem(KEY, 1);
c.startAnimation(OPEN_ANIMATION);
c.getPacketSender().checkObjectSpawn(id + 1, x, y, 2, 10);
CycleEventHandler.getSingleton().addEvent(c, new CycleEvent() {
@Override
public void execute(CycleEventContainer container) {
c.getItemAssistant().addItem(DRAGONSTONE, 1);
c.getItemAssistant().addItem(995, Misc.random(8230));
c.getItemAssistant().addItem(
CHEST_REWARDS[Misc.random(getLength() - 1)], 1);
c.getPacketSender().sendMessage(
"You find some treasure in the chest.");
c.getPacketSender().checkObjectSpawn(id, x, y, 2, 10);
container.stop();
}
@Override
public void stop() {
}
}, 3);
}
}
public static int getLength() {
return CHEST_REWARDS.length;
}
public static int toothHalf() {
return KEY_HALVES[0];
}
public static int loopHalf() {
return KEY_HALVES[1];
}
}
@@ -0,0 +1,116 @@
package com.rs2.game.objects.impl;
import com.rs2.event.CycleEvent;
import com.rs2.event.CycleEventContainer;
import com.rs2.event.CycleEventHandler;
import com.rs2.game.players.Player;
import com.rs2.world.clip.Region;
/**
* @author darkside1222
*/
public class FlourMill {
public final static int EMPTY_POT = 1931, POT_OF_FLOUR = 1933,
GRAIN = 1947, EMPTY_FLOUR_BIN = 1781, FULL_FLOUR_BIN = 1782;
/**
* Limits the amount of flour. (RS-Limit = 30)
*/
public static int LIMIT = 30;
/**
* Item on object.(Use grain on hopper)
*
* @param c
*/
public static void grainOnHopper(Player c, int objectID, int itemId) {
if (itemId == GRAIN) {
// Grain amount - flour amount. Prevents putting more than 30
if (c.grain == LIMIT - c.flourAmount || c.flourAmount == LIMIT) {
c.getPacketSender().sendMessage(
"You can't put anymore grain into the hopper.");
return;
}
c.startAnimation(832);
c.getItemAssistant().deleteItem(GRAIN, 1);
c.grain++;// + 1
c.getPacketSender().sendMessage(
"You put the grain in the hopper.");
} else {
c.getPacketSender().sendMessage("Nothing interesting happens.");
}
}
/**
* When player operates the lever.
*
* @param c
*/
public static void hopperControl(final Player c) {
if (c.grain > 0) {
if (c.flourAmount == LIMIT) {
c.getPacketSender().sendMessage(
"There is currently too much grain in the hopper.");
return;
}
c.getPacketSender().sendMessage(
"You operate the hopper. The grain slides down the chute.");
c.startAnimation(832);
CycleEventHandler.getSingleton().addEvent(c, new CycleEvent() {
@Override
public void execute(CycleEventContainer container) {
if (c.heightLevel == 2) {
return;
}
if (c.heightLevel == 0) {
c.getPacketSender().object(FULL_FLOUR_BIN, 3166, 3306, 0, 10);
Region.addObject(FULL_FLOUR_BIN, 3166, 3306, 0, 10, 0, false);
container.stop();
}
}
@Override
public void stop() {
}
}, 1);
c.flourAmount += c.grain;
if (c.flourAmount > LIMIT) {
c.flourAmount = LIMIT;// Flour amount returns to limit.
}
c.grain = 0;
} else {
c.startAnimation(832);
c.getPacketSender().sendMessage(
"You operate the hopper. Nothing interesting happens.");
}
}
/**
* Emptys the flour bin...
*
* @param player
*/
public static void emptyFlourBin(Player player) {
if (player.getItemAssistant().playerHasItem(EMPTY_POT, 1)
&& player.flourAmount > 0) {
player.getItemAssistant().deleteItem(EMPTY_POT, 1);
player.getItemAssistant().addItem(POT_OF_FLOUR, 1);
player.getPacketSender().sendMessage(
"You fill a pot with flour from the bin.");
player.flourAmount--;
if (player.flourAmount < 0) {
player.flourAmount = 0;
}
if (player.flourAmount == 0) {
player.getPacketSender().object(EMPTY_FLOUR_BIN, 3166, 3306, 0, 10);
Region.addObject(EMPTY_FLOUR_BIN, 3166, 3306, 0, 10, 0, false);
player.getPacketSender().sendMessage(
"The flour bin is now empty.");
}
} else {
player.getPacketSender().sendMessage(
"You don't have an empty pot to fill flour with.");
}
}
}
@@ -0,0 +1,53 @@
package com.rs2.game.objects.impl;
import com.rs2.event.CycleEvent;
import com.rs2.event.CycleEventContainer;
import com.rs2.event.CycleEventHandler;
import com.rs2.game.players.Player;
import com.rs2.world.clip.ObjectDefinition;
/**
* Levers
* @author Andrew (Mr Extremez)
*/
public class Levers {
/**
* ObjectX, ObjectY, PlayerX, PlayerY
*/
private final static int[][] LEVERS = {
{3090, 3956, 2539, 4712}, {2539, 4712, 3090, 3956}, {2271, 4680, 3067, 10253},
{3067, 10253, 2271, 4680}, {3153, 3923, 2561, 3311}, {2561, 3311, 3153, 3923}
};
public static void pullLever(final Player player, int objectType) {
String objectName = ObjectDefinition.getObjectDef(objectType).name;
for (final int[] element : LEVERS) {
if (player.objectX == element[0] && player.objectY == element[1] && objectName.equalsIgnoreCase("Lever")) {
if (System.currentTimeMillis() - player.leverDelay > 3750) {
player.leverDelay = System.currentTimeMillis();
player.stopPlayerPacket = true;
player.getPacketSender().sendMessage("You pull the lever...");
CycleEventHandler.getSingleton().addEvent(player, new CycleEvent() {
@Override
public void execute(CycleEventContainer container) {
if (player.wildLevel > 20) {
player.getPlayerAssistant().startTeleport2(element[2], element[3], 0);
container.stop();
} else {
player.getPlayerAssistant().startTeleport(element[2], element[3], 0, "modern");
container.stop();
}
}
@Override
public void stop() {
player.stopPlayerPacket = false;
}
}, 1);
}
}
}
}
}
@@ -0,0 +1,41 @@
package com.rs2.game.objects.impl;
import com.rs2.GameEngine;
import com.rs2.game.objects.ObjectDefaults;
import com.rs2.game.objects.Objects;
import com.rs2.game.players.Player;
import com.rs2.world.clip.Region;
/**
* Feb 17, 2018 : 6:44:26 AM
* OpenObject.java
*
* @author Andrew (Mr Extremez)
*/
public class OpenObject {
/**
* Object old
* Object new
*/
private static final int[][] OBJECT_DATA = {
{ 375, 378 }, { 6910, 378 }, { 3193, 3194 },
{ 2693, 3194 }, { 388, 389 }, { 350, 351 },
{ 348, 349 }, { 5622, 5623 }, { 2612, 2613 },
{ 352, 353 }, { 398, 399 }, { 376, 379 }
};
public static void interactObject(Player player, int objectType) {
for (final int[] element : OBJECT_DATA) {
if (objectType == element[0]) {
GameEngine.objectHandler.placeObject(new Objects(element[1], player.objectX, player.objectY, player.getH(), ObjectDefaults.getObjectFace(player, objectType), 10, 0));
Region.addObject(element[1], player.objectX, player.objectY, player.getH(), ObjectDefaults.getObjectFace(player, objectType), 10, false);
player.startAnimation(832);
} else if (objectType == element[1]) {
GameEngine.objectHandler.placeObject(new Objects(element[0], player.objectX, player.objectY, player.getH(), ObjectDefaults.getObjectFace(player, objectType), 10, 0));
Region.addObject(element[0], player.objectX, player.objectY, player.getH(), ObjectDefaults.getObjectFace(player, objectType), 10, false);
player.startAnimation(832);
}
}
}
}
@@ -0,0 +1,237 @@
package com.rs2.game.objects.impl;
import com.rs2.GameEngine;
import com.rs2.event.CycleEvent;
import com.rs2.event.CycleEventContainer;
import com.rs2.event.CycleEventHandler;
import com.rs2.game.content.traveling.DesertHeat;
import com.rs2.game.objects.ObjectDefaults;
import com.rs2.game.players.Player;
import com.rs2.util.Misc;
import com.rs2.world.clip.ObjectDefinition;
import com.rs2.world.clip.Region;
public class OtherObjects {
public static boolean openKharid(Player player, int objectId) {
return (objectId == 2882 || objectId == 2883);
}
public static boolean openShantay(Player player, int objectId) {
return (objectId == 4033 || objectId == 4031);
}
public static void movePlayer(Player player) {
if (Region.getClipping(player.getX() - 1, player.getY(), player.getH(), -1, 0)) {
player.getPlayerAssistant().movePlayer(player.getX() + 1, player.getY(), 0);
} else if (Region.getClipping(player.getX() + 1, player.getY(), player.getH(), 1, 0)) {
player.getPlayerAssistant().movePlayer(player.getX() - 1, player.getY(), 0);
} else if (Region.getClipping(player.getX(), player.getY() - 1, player.getH(), 0, -1)) {
player.getPlayerAssistant().movePlayer(player.getX(), player.getY() + 1, 0);
} else if (Region.getClipping(player.getX(), player.getY() + 1, player.getH(), 0, 1)) {
player.getPlayerAssistant().movePlayer(player.getX(), player.getY() - 1, 0);
}
}
public static void interactCurtain(Player player, int objectType, int x, int y) {
if (objectType == 1529) {
GameEngine.objectHandler.createAnObject(1528, x, y, player.getH(), ObjectDefaults.getObjectFace(player, objectType), ObjectDefaults.getObjectType(player, objectType));
} else if (objectType == 1528) {
GameEngine.objectHandler.createAnObject(1529, x, y, player.getH(), ObjectDefaults.getObjectFace(player, objectType), ObjectDefaults.getObjectType(player, objectType));
}
}
public static void initKharid(Player player, int objectId) {
if (!player.getItemAssistant().playerHasItem(995, 10)) {
player.getDialogueHandler().itemMessage("You need 10 coins to pass through this gate.", 995, 200);
player.getDialogueHandler().endDialogue();
return;
}
if (openKharid(player, objectId)) {
//GameEngine.objectHandler.createAnObject(player, -1, player.objectX, player.objectY, -1);
final int[] coords = new int[2];
if (player.getX() == 3267) {
player.getPlayerAssistant().movePlayer(player.getX() + 1, player.getY(), 0);
} else if (player.getX() == 3268) {
player.getPlayerAssistant().movePlayer(player.getX() - 1, player.getY(), 0);
}
player.turnPlayerTo(player.objectX, player.objectY);
coords[0] = player.objectX;
coords[1] = player.objectY;
player.getItemAssistant().deleteItem(995, player.getItemAssistant().getItemSlot(995), 10);
}
}
private static boolean movePlayer2(Player player) {
if (player.getY() == 3117) {
player.getPlayerAssistant().movePlayer(player.getX(), player.getY() - 2, 0);
return true;
} else if (player.getY() == 3115) {
player.getPlayerAssistant().movePlayer(player.getX(), player.getY() + 2, 0);
return true;
}
player.getPacketSender().sendMessage("Move closer so you can use the gate.");
return false;
}
public static void initShantay(Player player, int objectId) {
if (!player.getItemAssistant().playerHasItem(1854, 1) && player.getY() == 3117) {
player.getDialogueHandler().sendStatement("You need a Shantay pass to go through.");
return;
}
final int[] coords = new int[2];
if (openShantay(player, objectId)) {
player.getPacketSender().sendMessage("You pass through the gate.");
movePlayer2(player);
player.turnPlayerTo(player.objectX, player.objectY);
coords[0] = player.objectX;
coords[1] = player.objectY;
if (player.desertWarning == false && player.getY() == 3117) {
DesertHeat.showWarning(player);
player.desertWarning = true;
}
}
if (player.getY() == 3117) {
player.getItemAssistant().deleteItem(1854, player.getItemAssistant().getItemSlot(1854), 1);
}
}
private final static int[] SPECIAL_OBJECTS = {160, 155, 156, 298, 299, 300, 304, 1181, 5253, 5254, 5255, 5256, 5257, 5258};
public static void searchSpecialObject(Player player, int objectType) {
for (int i = 0; i < SPECIAL_OBJECTS.length; i++) {
if (objectType == SPECIAL_OBJECTS[i]) {
if (System.currentTimeMillis() - player.getObjectDelay() < 1200 || objectType == 160 && player.getX() != 3096 || objectType > 154 && objectType < 157 && player.getX() != 3098 || player.getY() == 3301) {
return;
}
player.stopPlayer(true);
player.setObjectDelay(System.currentTimeMillis());
handleSpecialObject(player, objectType);
}
}
}
private static void object(Player player, int id, int x, int y) {
player.getPacketSender().object(id, x, y, 0, ObjectDefaults.getObjectFace(player, id), 10);
}
private static void handleSpecialObject(final Player player, final int objectType) {
String objectName = ObjectDefinition.getObjectDef(objectType).name;
if (objectType == 160 && player.getX() == 3096) {
player.getPlayerAssistant().walkTo(0, 1);
CycleEventHandler.getSingleton().addEvent(player, new CycleEvent() {
@Override
public void execute(CycleEventContainer container) {
player.getPlayerAssistant().movePlayer(3098, player.getY(), 0);
container.stop();
}
@Override
public void stop() {
}
}, 2);
CycleEventHandler.getSingleton().addEvent(player, new CycleEvent() {
@Override
public void execute(CycleEventContainer container) {
object(player, -1, 3097, 3358);
object(player, -1, 3097, 3359);
container.stop();
CycleEventHandler.getSingleton().addEvent(player, new CycleEvent() {
@Override
public void execute(CycleEventContainer container) {
object(player, -1, 3097, 3357);
object(player, -1, 3097, 3360);
container.stop();
}
@Override
public void stop() {
object(player, 155, 3097, 3358);
object(player, 156, 3097, 3359);
player.stopPlayer(false);
}
}, 2);
}
@Override
public void stop() {
object(player, 155, 3097, 3357);
object(player, 156, 3097, 3360);
}
}, 1);
} else if (objectType > 154 && objectType < 157 && player.getX() == 3098) {
player.getPlayerAssistant().walkTo(-2, 0);
CycleEventHandler.getSingleton().addEvent(player, new CycleEvent() {
@Override
public void execute(CycleEventContainer container) {
object(player, -1, 3097, 3358);
object(player, -1, 3097, 3359);
container.stop();
CycleEventHandler.getSingleton().addEvent(player, new CycleEvent() {
@Override
public void execute(CycleEventContainer container) {
object(player, -1, 3097, 3357);
object(player, -1, 3097, 3360);
container.stop();
}
@Override
public void stop() {
object(player, 155, 3097, 3358);
object(player, 156, 3097, 3359);
player.stopPlayer(false);
}
}, 2);
}
@Override
public void stop() {
object(player, 155, 3097, 3357);
object(player, 156, 3097, 3360);
}
}, 1);
} else if (objectName.contains("Nettles")) {
int nettlesDamage = 1 + Misc.random(1);
if (player.playerEquipment[player.playerHands] > 0) {
player.startAnimation(827);
player.getItemAssistant().addItem(4241, 1);
player.stopPlayer(false);
} else {
player.setHitUpdateRequired2(true);
player.setHitDiff2(nettlesDamage);
player.updateRequired = true;
player.poisonMask = 2;
player.dealDamage(nettlesDamage);
player.getPlayerAssistant().refreshSkill(3);
player.getPacketSender().sendMessage("You have been stung by the nettles.");
player.stopPlayer(false);
}
} else if (objectName.startsWith("Hay") || objectName.startsWith("hay")) {
final int damage = 1, random = Misc.random(15);
player.startAnimation(832);
player.getPacketSender().sendMessage("You search the " + objectName.toLowerCase() + "...");
CycleEventHandler.getSingleton().addEvent(player, new CycleEvent() {
@Override
public void execute(CycleEventContainer container) {
if (random == 1) {
player.getDialogueHandler().sendStatement("Wow! A needle!", "Now what are the chances of finding that?");
player.getDialogueHandler().endDialogue();
player.getItemAssistant().addItem(1733, 1);
container.stop();
} else if (random == 9) {
player.handleHitMask(damage);
player.dealDamage(damage);
player.getPlayerAssistant().refreshSkill(3);
container.stop();
} else {
player.getPacketSender().sendMessage("You find nothing of interest.");
container.stop();
}
}
@Override
public void stop() {
player.stopPlayer(false);
}
}, 2);
}
}
}
@@ -0,0 +1,75 @@
package com.rs2.game.objects.impl;
import com.rs2.GameEngine;
import com.rs2.event.CycleEvent;
import com.rs2.event.CycleEventContainer;
import com.rs2.event.CycleEventHandler;
import com.rs2.game.content.music.sound.SoundList;
import com.rs2.game.players.Player;
import com.rs2.world.Boundary;
/**
* Pickables
* @author Andrew (Mr Extremez)
*/
public class Pickable {
private final static int[][] PICKABLE_ITEMS = {
{ 1161, 1965 }, // Cabbage
{ 2646, 1779 }, // Flax
{ 313, 1947 }, // Wheat
{ 5585, 1947 }, // Wheat
{ 5584, 1947 }, // Wheat
{ 5585, 1947 }, // Wheat
{ 312, 1942 }, // Potato
{ 3366, 1957 }, // Onion
};
public static void pickObject(final Player player, final int objectType, final int objectX, final int objectY) {
if (player.miscTimer + 1800 > System.currentTimeMillis()) {
return;
}
for (int[] data : PICKABLE_ITEMS) {
final int objectId = data[0];
int itemId = data[1];
if (objectType == objectId) {
if (objectType == 1161 && Boundary.isIn(player, Boundary.FALADOR)) {//Cabbage falador
player.getItemAssistant().addItem(1967, 1);
} else {
player.getItemAssistant().addItem(itemId, 1);
}
break;
}
}
if (player.getItemAssistant().freeSlots() > 0) {
player.turnPlayerTo(objectX, objectY);
player.startAnimation(827);
if (objectType == 2646 && random(3) == 0 || objectType != 2646) {
if (player.outStream != null) {
GameEngine.objectHandler.createAnObject(-1, objectX, objectY);
CycleEventHandler.getSingleton().addEvent(player, new CycleEvent() {
@Override
public void execute(CycleEventContainer container) {
container.stop();
}
@Override
public void stop() {
if (player.outStream != null) {
GameEngine.objectHandler.createAnObject(objectType, objectX, objectY);
}
}
}, 5);
}
}
player.getPacketSender().sendSound(SoundList.PICKABLE, 100, 1);
player.miscTimer = System.currentTimeMillis();
} else {
player.getPacketSender().sendMessage("Your inventory is too full to hold any more items!");
}
}
private static int random(int range) {
return (int) (java.lang.Math.random() * (range + 1));
}
}
@@ -0,0 +1,42 @@
package com.rs2.game.objects.impl;
import com.rs2.game.players.Player;
public class Searching {
private enum SearchData {
BOXES(new int[] {359, 361, 9536, 12545}, "There is nothing interesting in these boxes."),
CRATES(new int[] {354, 355, 356, 357, 358, 366, 4714, 4715, 4716, 4717, 4718, 4719, 4721, 4722, 4723, 9533, 9534, 9535, 11485, 11486, 12548, 12547}, "You search the crate but find nothing."),
SACKS(new int[] {365}, "There is nothing interesting in these sacks."),
BOOKCASE(new int[] {380, 381, 4617, 4671, 9611}, "The bookcase is empty."),
WARDROBE(new int[] {389}, "The wardrobe is empty."),
DRAWER(new int[] {348, 350, 5618}, "The drawer is empty."),
CHEST(new int[] {378}, "The chest is empty.");
private final int[] objectId;
private final String searchText;
private SearchData(int[] objectId, String searchText) {
this.objectId = objectId;
this.searchText = searchText;
}
private int[] getObjectId() {
return objectId;
}
private String getObjectText() {
return searchText;
}
}
public static void searchObject(final Player player, int objectType) {
for (SearchData s: SearchData.values()) {
for (int i = 0; i < s.getObjectId().length; i++) {
if (objectType == s.getObjectId()[i]) {
player.searchObjectDelay = System.currentTimeMillis();
player.getPacketSender().sendMessage(s.getObjectText());
}
}
}
}
}
@@ -0,0 +1,30 @@
package com.rs2.game.objects.impl;
import com.rs2.game.players.Player;
public class UseOther {
public static void useUp(final Player player, final int objectId) {
player.stopPlayerPacket = true;
player.startAnimation(828);
player.getPacketSender().closeAllWindows();
player.teleportToX = player.absX;
player.teleportToY = player.absY - 6400;
player.getPacketSender().sendMessage("You climb up.");
player.stopPlayerPacket = false;
}
public static void useDown(final Player player, final int objectId) {
if (player.objectX == 2647 && player.objectY == 3657 || player.objectX == 2650 && player.objectY == 3661) {
player.getPacketSender().sendMessage("This trapdoor is currently disabled.");
return;
}
player.stopMovement();
player.startAnimation(827);
player.getPacketSender().closeAllWindows();
player.teleportToX = player.absX;
player.teleportToY = player.absY + 6400;
player.getPacketSender().sendMessage("You climb down.");
}
}
@@ -0,0 +1,40 @@
package com.rs2.game.objects.impl;
import com.rs2.GameEngine;
import com.rs2.game.content.music.sound.SoundList;
import com.rs2.game.players.Player;
import com.rs2.util.Misc;
/**
* @author Andrew (Mr Extremez)
*/
public class Webs {
public static int[] CLICKING_OBJECTS = { 733 };
public static boolean webs(Player player, int object) {
for (int element : CLICKING_OBJECTS) {
if (object == element) {
return true;
}
}
return false;
}
public static void slashWeb(Player player, final int objectClickId, final int objectX, final int objectY) {
if (System.currentTimeMillis() - player.webSlashDelay > 1800) {
if (Misc.random(3) > 0) {
GameEngine.objectHandler.createAnObject(-1, objectX, objectY);
// c.startAnimation(451);
player.startAnimation(player.getCombatAssistant().getWepAnim());
player.webSlashDelay = System.currentTimeMillis();
player.getPacketSender().sendSound(SoundList.SLASH_WEB, 100, 0);
player.getPacketSender().sendMessage("You successfully slash open the web.");
} else {
player.getPacketSender().sendMessage("You fail to slash through the web.");
return;
}
}
}
}