Closes #393
- Sophanem city gates now functioning
Closes #392
- Improved rug travel, added missing travel options
Closes #391
- Added those curtains, along with many more curtains and other functional objects
Closes #390
- Dramen branch now untradeable/same with staff
Closes #389
- Lumbridge door should no longer get stuck, should fix other doors aswell
Closes #388
- Added Rasolo npc spawn
Closes #385
- Added missing fishing guild spawns
Closes #384
- Added missing port khazard npcs and a few other missing npcs too
Closes #379
- Added smelt x option
Closes #334
- Fixed dragon dagger store price and fixed high alch/low alch value for it
Closes #278
- Fixed strange numbers on runecrafting interface
Closes #244
-These were previously fixed

Also included:
- Added recieving random gems when mining (thanks to ben for pointing this out)
- Reduced door usage delay
- Random cleanup and deleted some unsued files/code
- Fixed many npc item drop names (thanks to iizyy for pointing them out)
- Fixed a few wizard tower doors
- Did more cleanup with the some of the old boundary methods
- Tidied up the discord commands and added the proper urls for them
This commit is contained in:
Mr Extremez
2020-03-12 18:13:22 -05:00
committed by GitHub
parent db58bc868b
commit cb65d89297
52 changed files with 1088 additions and 1046 deletions
+35
View File
@@ -0,0 +1,35 @@
/Animable.class
/Animable_Sub3.class
/Animable_Sub4.class
/Animable_Sub5.class
/Animation.class
/Background.class
/Censor.class
/Class11.class
/Class13.class
/Class18.class
/Class21.class
/Class29.class
/Class30_Sub1.class
/Class32.class
/Class33.class
/Class36.class
/Class39.class
/Class4.class
/Class40.class
/Class43.class
/Class47.class
/Class56.class
/Class56_Sub1.class
/Class56_Sub1_Sub1.class
/Class56_Sub1_Sub2.class
/Class6.class
/Client.class
/ClientSettings.class
/CollisionMap.class
/Decompressor.class
/DrawingArea.class
/DummyClass.class
/Entity.class
/EntityDef.class
/Flo.class
+12 -2
View File
@@ -180,6 +180,7 @@ spawn = 32 2662 3306 0 1 4 5 10 1
spawn = 32 2659 3308 0 1 4 5 10 1
spawn = 32 2664 3310 0 1 4 5 10 1
spawn = 32 2663 3301 0 1 4 5 10 1
spawn = 714 2569 3333 0 1 0 0 0 0 Edmond
//ardounge zoo
spawn = 1216 2611 3285 0 1 0 0 0 Parroty_Pete
spawn = 1215 2612 3287 0 3 0 0 0 Parrots
@@ -912,7 +913,10 @@ spawn = 2296 3311 3109 0 0 0 0 0 RUG MERCHANT
spawn = 2294 3350 3001 0 0 0 0 0 RUG MERCHANT
spawn = 2294 3182 3042 0 0 0 0 0 RUG MERCHANT
spawn = 2294 3467 3110 0 0 0 0 0 RUG MERCHANT
spawn = 2294 3400 2918 0 0 0 0 0 RUG MERCHANT
spawn = 2293 3400 2918 0 1 0 0 0 RUG MERCHANT
spawn = 2293 3348 2942 0 1 0 0 0 RUG MERCHANT
spawn = 2293 3287 2813 0 1 0 0 0 RUG MERCHANT
spawn = 2293 3243 2814 0 1 0 0 0 RUG MERCHANT
spawn = 107 3298 3280 0 1 4 20 20 Scorpion
spawn = 107 3300 3287 0 1 4 20 20 Scorpion
spawn = 107 3296 3294 0 1 4 20 20 Scorpion
@@ -1609,6 +1613,9 @@ spawn = 253 2597 3147 0 1 10 60 210 Khazard Guard
spawn = 253 2580 3163 0 1 10 60 210 Khazard Guard
spawn = 255 2577 3167 0 1 10 60 210 Khazard Guard
spawn = 254 2580 3174 0 1 10 60 210
spawn = 555 2656 3153 0 1 0 0 0 General Store
spawn = 555 2641 3172 0 1 0 0 0 General Store
spawn = 466 2667 3162 0 1 0 0 0 Murphy
//gnome village
spawn = 162 2471 3427 0 1 0 0 0 gnome trainer
spawn = 162 2476 3423 1 1 0 0 0 gnome trainer
@@ -2327,6 +2334,7 @@ spawn = 310 2604 3417 0 0 0 0 0 FISHING SPOT
spawn = 311 2612 3415 0 0 0 0 0 FISHING SPOT
spawn = 312 2602 3414 0 0 0 0 0 FISHING SPOT
spawn = 313 2602 3419 0 0 0 0 0 FISHING SPOT
spawn = 1972 2596 3403 0 0 0 0 0 GUILD SHOP
/*karamja fishing*/
spawn = 316 2921 3178 0 0 0 0 0 FISHING SPOT
spawn = 316 2924 3181 0 0 0 0 0 FISHING SPOT
@@ -2448,4 +2456,6 @@ spawn = 646 3256 3448 0 1 0 0 0 Curator Haig Halen
// LEGENDS GUILD
spawn = 932 2728 3378 1 1 0 0 0 Fionella
spawn = 933 2725 3381 2 0 0 0 0 Siegfried Erkle
[ENDOFSPAWNLIST]
//Near ardougne
spawn = 1972 2535 3433 0 1 0 0 0 Rasolo
[ENDOFSPAWNLIST]
+2 -2
View File
@@ -1213,8 +1213,8 @@
{name:"Adamant dagger", itemDescription:"Short and deadly.", shopValue:800, lowAlch:320, highAlch:480, isStackable:true, isNoteable:true, weight:4.0, bonuses:[15.0, 8.0, -4.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 14.0, 0.0, 0.0, 0.0], stand:0, walk:0, run:0, turn90left:0, turn90right:0, turn180:0, attack:0, block:0, id:1212}
{name:"Rune dagger", itemDescription:"A powerful dagger.", shopValue:8000, lowAlch:3200, highAlch:4800, isStackable:false, isNoteable:false, weight:4.0, bonuses:[25.0, 12.0, -4.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 24.0, 0.0, 0.0, 0.0], stand:0, walk:0, run:0, turn90left:0, turn90right:0, turn180:0, attack:0, block:0, id:1213}
{name:"Rune dagger", itemDescription:"A powerful dagger.", shopValue:8000, lowAlch:3200, highAlch:4800, isStackable:true, isNoteable:true, weight:4.0, bonuses:[25.0, 12.0, -4.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 24.0, 0.0, 0.0, 0.0], stand:0, walk:0, run:0, turn90left:0, turn90right:0, turn180:0, attack:0, block:0, id:1214}
{name:"Dragon dagger", itemDescription:"A powerful dagger.", shopValue:30000, lowAlch:0, highAlch:0, isStackable:false, isNoteable:false, weight:4.0, bonuses:[40.0, 25.0, -4.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 40.0, 0.0, 0.0, 0.0], stand:0, walk:0, run:0, turn90left:0, turn90right:0, turn180:0, attack:0, block:0, id:1215}
{name:"Dragon dagger", itemDescription:"A powerful dagger.", shopValue:30000, lowAlch:0, highAlch:0, isStackable:true, isNoteable:true, weight:4.0, bonuses:[40.0, 25.0, -4.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 40.0, 0.0, 0.0, 0.0], stand:0, walk:0, run:0, turn90left:0, turn90right:0, turn180:0, attack:0, block:0, id:1216}
{name:"Dragon dagger", itemDescription:"A powerful dagger.", shopValue:30000, lowAlch:12000, highAlch:18000, isStackable:false, isNoteable:false, weight:4.0, bonuses:[40.0, 25.0, -4.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 40.0, 0.0, 0.0, 0.0], stand:0, walk:0, run:0, turn90left:0, turn90right:0, turn180:0, attack:0, block:0, id:1215}
{name:"Dragon dagger", itemDescription:"A powerful dagger.", shopValue:30000, lowAlch:12000, highAlch:18000, isStackable:true, isNoteable:true, weight:4.0, bonuses:[40.0, 25.0, -4.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 40.0, 0.0, 0.0, 0.0], stand:0, walk:0, run:0, turn90left:0, turn90right:0, turn180:0, attack:0, block:0, id:1216}
{name:"Black dagger", itemDescription:"A vicious black dagger.", shopValue:240, lowAlch:96, highAlch:144, isStackable:false, isNoteable:false, weight:4.0, bonuses:[10.0, 5.0, -4.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 7.0, 0.0, 0.0, 0.0], stand:0, walk:0, run:0, turn90left:0, turn90right:0, turn180:0, attack:0, block:0, id:1217}
{name:"Black dagger", itemDescription:"A vicious black dagger.", shopValue:240, lowAlch:96, highAlch:144, isStackable:true, isNoteable:true, weight:4.0, bonuses:[10.0, 5.0, -4.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 7.0, 0.0, 0.0, 0.0], stand:0, walk:0, run:0, turn90left:0, turn90right:0, turn180:0, attack:0, block:0, id:1218}
{name:"Iron dagger (p)", itemDescription:"Short but pointy.", shopValue:35, lowAlch:14, highAlch:21, isStackable:false, isNoteable:false, weight:4.0, bonuses:[5.0, 3.0, -4.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 4.0, 0.0, 0.0, 0.0], stand:0, walk:0, run:0, turn90left:0, turn90right:0, turn180:0, attack:0, block:0, id:1219}
@@ -109,7 +109,7 @@ public class GameEngine {
public static int[] cannonsY = new int [50];
public static String[] cannonsO = new String [50];
public static boolean sleeping;
public static boolean UpdateServer = false;
public static boolean updateServer = false;
public static long lastMassSave = System.currentTimeMillis();
private static IoAcceptor acceptor;
private static ConnectionHandler connectionHandler;
@@ -13,6 +13,7 @@ import com.rebotted.game.players.Client;
import com.rebotted.game.players.Player;
import com.rebotted.game.players.PlayerHandler;
import com.rebotted.util.Misc;
import com.rebotted.world.Boundary;
public class NpcCombat {
@@ -99,7 +100,7 @@ public class NpcCombat {
if (NpcHandler.npcs[i].absY == 3228 && c.absY == 3227
|| NpcHandler.npcs[i].absY == 3224 && c.absY == 3225
|| NpcHandler.npcs[i].absY == 3226 && c.absY == 3227
|| c.inDraynorBuilding() && (NpcHandler.npcs[i].npcType == 172 || NpcHandler.npcs[i].npcType == 174)
|| Boundary.isIn(c, Boundary.DRAYNOR_BUILDING) && (NpcHandler.npcs[i].npcType == 172 || NpcHandler.npcs[i].npcType == 174)
|| NpcHandler.npcs[i].inLesserNpc()
|| !c.npcCanAttack
|| NpcHandler.npcs[i].isDead) {
@@ -114,7 +115,7 @@ public class NpcCombat {
|| NpcHandler.npcs[i].npcType == 752) {
return;
}
if (NpcHandler.npcs[i].npcType == 1401 && c.isInTut() || c.tutorialProgress < 36) {
if (NpcHandler.npcs[i].npcType == 1401 && Boundary.isIn(c, Boundary.TUTORIAL) || c.tutorialProgress < 36) {
return;
}
if (NpcHandler.npcs[i].npcType == 9 && c.absX == 3180 && c.absY > 3433 && c.absY < 3447) {
@@ -4,6 +4,7 @@ import com.rebotted.game.content.quests.QuestRewards;
import com.rebotted.game.npcs.NpcHandler;
import com.rebotted.game.players.Player;
import com.rebotted.util.Misc;
import com.rebotted.world.Boundary;
public class Barrows {
@@ -106,7 +107,7 @@ public class Barrows {
* Stair data
*/
public void useStairs() {
if (c.isInBarrows2()) {
if (Boundary.isIn(c, Boundary.BARROWS_UNDERGROUND)) {
switch(c.objectId) {
case 6703:
c.getPlayerAssistant().movePlayer(barrowData[0][5], barrowData[0][6], 0);
@@ -134,7 +135,7 @@ public class Barrows {
public void checkCoffins() {
if (c.isInBarrows2()) {
if (Boundary.isIn(c, Boundary.BARROWS_UNDERGROUND)) {
if (c.barrowsKillCount < 5) {
c.getPacketSender().sendMessage("You still have to kill the following brothers:");
if (c.barrowsNpcs[2][1] == 0) {
@@ -170,7 +171,7 @@ public class Barrows {
* Grabs the reward based on random chance depending on what your killcount is.
*/
public void reward() {
if (c.isInBarrows2()) {
if (Boundary.isIn(c, Boundary.BARROWS_UNDERGROUND)) {
c.getItemAssistant().addItem(randomRunes(), Misc.random(150) + 100);
c.getItemAssistant().addItem(randomRunes(), Misc.random(150) + 100);
c.getItemAssistant().addItem(randomPots(), 1);
@@ -214,7 +215,7 @@ public class Barrows {
* Using the chest.
*/
public void useChest() {
if (c.isInBarrows2()) {
if (Boundary.isIn(c, Boundary.BARROWS_UNDERGROUND)) {
if (!checkBarrows()) {
c.getPacketSender().sendMessage("You haven't killed all the brothers!");
return;
@@ -1,12 +1,12 @@
package com.rebotted.game.content.minigames.trawler;
import com.rebotted.game.players.Location;
import com.rebotted.game.players.Player;
import com.rebotted.world.Boundary;
public class TrawlerWaitingRoom extends WaitingRoom {
private Trawler trawler;
private Location boat = new Location(2668,2674,3165,3185);
private Boundary boat = new Boundary(2668,2674,3165,3185);
//private Location boat = new Location(2808, 2811,3415,3425);
@@ -53,7 +53,7 @@ public class TrawlerWaitingRoom extends WaitingRoom {
}
}
public Location getLocation() {
public Boundary getLocation() {
return boat;
}
@@ -4,8 +4,8 @@ import java.util.ArrayList;
import com.rebotted.event.CycleEvent;
import com.rebotted.event.CycleEventContainer;
import com.rebotted.event.CycleEventHandler;
import com.rebotted.game.players.Location;
import com.rebotted.game.players.Player;
import com.rebotted.world.Boundary;
public abstract class WaitingRoom {
@@ -15,7 +15,7 @@ public abstract class WaitingRoom {
private int minutes_remaining;
private boolean active;
public abstract Location getLocation();
public abstract Boundary getLocation();
public abstract boolean startGame();
public abstract void onStart();
public abstract void onLeave(Player player);
@@ -28,7 +28,7 @@ public enum SkillData {
THIEVING(17, 4261, 4263, 4264, 4022, 4023, 4098, 4099),
SLAYER(18, 12122, 12123, 12124, 12166, 12167, 12171, 12172),
FARMING(19, 12122, 12123, 12124, 13926, 13927, 13921, 13922),
RUNECRAFTING(20, 4267, 4268, 4269, 4152, 4153, 4157, 4158);
RUNECRAFTING(20, 4267, 4268, 4269, 4152, 4153, 4157, 4159);
/**
* The identifier for this skill.
@@ -10,6 +10,29 @@ import com.rebotted.world.clip.Region;
public class Mining {
/**
* Andrew (Mr Extremez)
*/
private static final int[] RANDOM_GEMS = {1617, 1619, 1621, 1623};
private static final int[] GLORIES = {1706, 1708, 1710, 1712};
public boolean giveGem(Player player) {
for (int i = 0; i < GLORIES.length; i++) {
if ((player.playerEquipment[player.playerAmulet] == GLORIES[i] && Misc.random(86) == 1) || Misc.random(256) == 1) {
return true;
}
}
return false;
}
public void obtainGem(Player player) {
int reward = RANDOM_GEMS[(int)(RANDOM_GEMS.length * Math.random())];
if (giveGem(player)) {
player.getItemAssistant().addItem(reward, 1);
player.getPacketSender().sendMessage("You found an " + ItemAssistant.getItemName(reward) + ".");
}
}
public final int[][] Pick_Settings = {
{1265, 1, 1, 625}, //Bronze
{1267, 1, 2, 626}, //Iron
@@ -56,7 +79,7 @@ public class Mining {
COPPER(new int[] { 3042, 2091, 2090, 9708, 9709, 9710, 11960, 14906, 14907 }, 1, 18, 1, 4, new int[] { 436 }),
TIN(new int[] { 2094, 2095, 3043, 9716, 9714, 11958, 11957, 11959, 11933, 11934, 11935, 14903, 14902 }, 1, 18, 1, 4, new int[] { 438 }),
BLURITE(new int[] { 10574, 10583, 10584, 2110 }, 10, 20, 1, 42, new int[] { 668 }),
IRON(new int[] { 2093, 2092, 9717, 9718, 9719, 11962, 11956, 11954, 14856, 14857, 14858, 14914, 14913 }, 15, 35, 2, 9, new int[] { 440 }),
IRON(new int[] { 450, 2093, 2092, 9717, 9718, 9719, 11962, 11956, 11954, 14856, 14857, 14858, 14914, 14913 }, 15, 35, 2, 9, new int[] { 440 }),
SILVER(new int[] { 2101, 11186, 11187, 11188, 2100 }, 20, 40, 3, 100, new int[] { 442 }),
COAL(new int[] { 2096, 2097, 11963, 11964, 14850, 14851, 14852, 11930, 11931, 11932 }, 30, 50, 4, 50, new int[] { 453 }),
GOLD(new int[] { 2099, 2098, 11183, 11184, 11185, 9720, 9722 }, 40, 65, 6, 100, new int[] { 444 }),
@@ -204,9 +227,13 @@ public class Mining {
return;
}
if (player.isMining) {
player.getItemAssistant().addItem(oreID, 1);
player.getPlayerAssistant().addSkillXP(rock.getXp(), player.playerMining);
player.getPacketSender().sendMessage("You manage to mine some " + ItemAssistant.getItemName(oreID).toLowerCase() + ".");
if (!giveGem(player)) {
player.getItemAssistant().addItem(oreID, 1);
player.getPlayerAssistant().addSkillXP(rock.getXp(), player.playerMining);
player.getPacketSender().sendMessage("You manage to mine some " + ItemAssistant.getItemName(oreID).toLowerCase() + ".");
} else {
obtainGem(player);
}
}
if (player.tutorialProgress == 17) {
if (rock != rockData.TIN) {
@@ -303,9 +330,7 @@ public class Mining {
@Override
public void execute(CycleEventContainer container) {
if (player.tutorialProgress == 15) {
player.getPacketSender().sendMessage(
"This rock contains "
+ itemName.toLowerCase() + ".");
player.getPacketSender().sendMessage("This rock contains " + itemName.toLowerCase() + ".");
player.getPacketSender().chatbox(6180);
player.getDialogueHandler()
.chatboxText(
@@ -320,9 +345,7 @@ public class Mining {
container.stop();
return;
} else if (player.tutorialProgress == 16) {
player.getPacketSender().sendMessage(
"This rock contains "
+ itemName.toLowerCase() + ".");
player.getPacketSender().sendMessage("This rock contains " + itemName.toLowerCase() + ".");
player.getPacketSender().chatbox(6180);
player.getDialogueHandler()
.chatboxText(
@@ -335,10 +358,8 @@ public class Mining {
container.stop();
return;
}
player.getPacketSender().sendMessage(
"This rock contains "
+ itemName.toLowerCase() + ".");
stop();
player.getPacketSender().sendMessage("This rock contains " + itemName.toLowerCase() + ".");
container.stop();
}
@Override
@@ -365,8 +386,8 @@ public class Mining {
public static void prospectNothing(final Player c) {
c.getPacketSender().sendMessage("You examine the rock for ores...");
CycleEventHandler.getSingleton().addEvent(c, new CycleEvent() {
@Override
CycleEventHandler.getSingleton().addEvent(c, new CycleEvent() {
@Override
public void execute(CycleEventContainer container) {
c.getPacketSender().sendMessage("There is no ore left in this rock.");
container.stop();
@@ -58,8 +58,7 @@ public class JewelryMaking {
c.getPacketSender().sendString("", 4236);
} else {
c.getPacketSender().sendFrame246(4235, 120, 1597);
c.getPacketSender().sendString(
"You need a necklace mould to craft necklaces", 4236);
c.getPacketSender().sendString("You need a necklace mould to craft necklaces", 4236);
for (int i = 0; i < MOULD_INTERFACE_IDS[1].length; i++) {
c.getPacketSender().sendFrame34(-1, i, 4239, 1);
}
@@ -83,8 +82,7 @@ public class JewelryMaking {
}
}
public static void stringAmulet(final Player c, final int itemUsed,
final int usedWith) {
public static void stringAmulet(final Player c, final int itemUsed, final int usedWith) {
final int amuletId = itemUsed == 1759 ? usedWith : itemUsed;
for (final CraftingData.amuletData a : CraftingData.amuletData.values()) {
if (amuletId == a.getAmuletId()) {
@@ -138,17 +136,14 @@ public class JewelryMaking {
return;
}
if (player.playerLevel[player.playerCrafting] >= lvl) {
if (ItemAssistant.getItemName(itemAdd).toLowerCase()
.contains("gold")
if (ItemAssistant.getItemName(itemAdd).toLowerCase().contains("gold")
&& !player.getItemAssistant().playerHasItem(GOLD_BAR, 1)
|| !player.getItemAssistant().playerHasItem(GOLD_BAR, 1)) {
player.getPacketSender().sendMessage(
"You need a Gold bar to make this.");
player.getPacketSender().sendMessage("You need a Gold bar to make this.");
return;
} else if (!player.getItemAssistant().playerHasItem(gem, 1)
&& player.getItemAssistant().playerHasItem(GOLD_BAR, 1)) {
player.getPacketSender().sendMessage(
getRequiredMessage(ItemAssistant.getItemName(gem)));
player.getPacketSender().sendMessage(getRequiredMessage(ItemAssistant.getItemName(gem)));
return;
}
player.getPacketSender().closeAllWindows();
@@ -166,9 +161,7 @@ public class JewelryMaking {
done++;
}
if (done == 1) {
player.getPacketSender().sendMessage(
"You craft the gold to form a "
+ ItemAssistant.getItemName(itemAdd) + ".");
player.getPacketSender().sendMessage("You craft the gold to form a " + ItemAssistant.getItemName(itemAdd) + ".");
} else if (done > 1) {
player.getPacketSender().sendMessage(
"You craft the gold to form " + done
@@ -176,8 +169,7 @@ public class JewelryMaking {
+ "'s.");
}
} else {
player.getPacketSender().sendMessage(
"You need a Crafting level of " + lvl + " to craft this.");
player.getPacketSender().sendMessage("You need a Crafting level of " + lvl + " to craft this.");
return;
}
}
@@ -74,24 +74,19 @@ public class Pottery {
c.startAnimation(unFire);
c.getItemAssistant().deleteItem(softClay, 1);
c.getItemAssistant().addItem(id, 1);
c.getPacketSender().sendMessage(
"You make the soft clay into a "
+ ItemAssistant.getItemName(id) + ".");
c.getPacketSender().sendMessage("You make the soft clay into a " + ItemAssistant.getItemName(id) + ".");
c.getPlayerAssistant().addSkillXP(xp, c.playerCrafting);
c.doAmount--;
}
if (c.playerLevel[12] < level) {
container.stop();
c.getPacketSender().sendMessage(
"You need a crafting level of " + level
+ " to make this.");
c.getPacketSender().sendMessage("You need a crafting level of " + level + " to make this.");
}
if (!c.getItemAssistant().playerHasItem(softClay)) {
container.stop();
c.getPacketSender().sendMessage(
"You need soft clay to do this.");
c.getPacketSender().sendMessage("You need soft clay to do this.");
}
if (c.isPotCrafting == false) {
@@ -123,46 +118,31 @@ public class Pottery {
player.getItemAssistant().addItem(finishId, 1);
player.startAnimation(Fire);
player.getPacketSender().sendSound(469, 100, 0);
player.getPacketSender().sendMessage(
"You put a " + ItemAssistant.getItemName(startId)
+ " into the oven.");
player.getPacketSender().sendMessage(
"You retrieve the " + ItemAssistant.getItemName(finishId)
+ " from the oven.");
player.getPacketSender().sendMessage("You put a " + ItemAssistant.getItemName(startId) + " into the oven.");
player.getPacketSender().sendMessage("You retrieve the " + ItemAssistant.getItemName(finishId) + " from the oven.");
player.getPlayerAssistant().addSkillXP(xp, player.playerCrafting);
player.doAmount--;
}
if (player.playerLevel[12] < level) {
player.getPacketSender().sendMessage(
"You need a crafting level of " + level + " to make this.");
player.getPacketSender().sendMessage("You need a crafting level of " + level + " to make this.");
}
if (!player.getItemAssistant().playerHasItem(startId)
&& player.playerLevel[12] >= level) {
player.getPacketSender().sendMessage(
"You need an " + ItemAssistant.getItemName(startId)
+ " to do this.");
if (!player.getItemAssistant().playerHasItem(startId) && player.playerLevel[12] >= level) {
player.getPacketSender().sendMessage("You need an " + ItemAssistant.getItemName(startId) + " to do this.");
}
CycleEventHandler.getSingleton().addEvent(player, new CycleEvent() {
@Override
public void execute(CycleEventContainer container) {
if (player.getItemAssistant().playerHasItem(startId)
&& player.playerLevel[12] >= level
&& player.isPotCrafting && !(player.doAmount <= 0)) {
if (player.getItemAssistant().playerHasItem(startId) && player.playerLevel[12] >= level && player.isPotCrafting && !(player.doAmount <= 0)) {
player.getItemAssistant().deleteItem(startId, 1);
player.getItemAssistant().addItem(finishId, 1);
player.startAnimation(Fire);
player.getPacketSender().sendSound(469, 100, 0);
player.getPacketSender().sendMessage(
"You put a " + ItemAssistant.getItemName(startId)
+ " into the oven.");
player.getPacketSender().sendMessage(
"You retrieve the "
+ ItemAssistant.getItemName(finishId)
+ " from the oven.");
player.getPacketSender().sendMessage("You put a " + ItemAssistant.getItemName(startId) + " into the oven.");
player.getPacketSender().sendMessage("You retrieve the " + ItemAssistant.getItemName(finishId) + " from the oven.");
player.getPlayerAssistant().addSkillXP(xp, player.playerCrafting);
player.doAmount--;
}
@@ -43,9 +43,7 @@ public class Spinning extends CraftingData {
if (player.isSpinning == true) {
if (player.getItemAssistant().playerHasItem(before)) {
if (player.playerLevel[player.playerCrafting] < level) {
player.getDialogueHandler().sendStatement(
"You need a crafting level of " + level
+ " to do this.");
player.getDialogueHandler().sendStatement("You need a crafting level of " + level + " to do this.");
return;
}
player.startAnimation(896);
@@ -46,7 +46,7 @@ public class Firemaking {
c.getPacketSender().sendMessage("You need a firemaking level of " + l.getLevel() + " to light " + ItemAssistant.getItemName(logId));
return;
}
if (Boundary.isIn(c, Boundary.BANK_AREA) || c.inLumbBuilding() || c.inDraynorBuilding()) {
if (Boundary.isIn(c, Boundary.BANK_AREA) || Boundary.isIn(c, Boundary.LUMB_BUILDING) || Boundary.isIn(c, Boundary.DRAYNOR_BUILDING)) {
c.getPacketSender().sendMessage("You cannot light a fire here.");
return;
}
@@ -29,8 +29,7 @@ public class LogCutting {
player.getPacketSender().sendMessage("You need a fletching level of " + level + " to make this.");
return;
}
if (!player.playerIsFletching)
{
if (!player.playerIsFletching) {
player.playerIsFletching = true;
CycleEventHandler.getSingleton().addEvent(player, new CycleEvent() {
@Override
@@ -43,19 +42,14 @@ public class LogCutting {
|| player.playerIsCooking || player.isPotCrafting) {
container.stop();
return;
}
else
{
} else {
player.startAnimation(1248);
player.getItemAssistant().deleteItem(player.getFletching().log, 1);
if (product == 52)
{
if (product == 52) {
player.getItemAssistant().addItem(product, 15);
player.getPacketSender().sendMessage("You carefully cut the " + ItemAssistant.getItemName(player.getFletching().log) + " into 15 " + ItemAssistant.getItemName(product) + "s.");
}
else
{
} else {
player.getItemAssistant().addItem(product, 1);
player.getPacketSender().sendMessage("You carefully cut the " + ItemAssistant.getItemName(player.getFletching().log) + " into a " + ItemAssistant.getItemName(product) + ".");
@@ -291,14 +285,11 @@ public class LogCutting {
}
public static void wolfBoneArrow(Player c) {
if (c.getItemAssistant().playerHasItem(2859)
&& c.getItemAssistant().playerHasItem(1755)) {
if (c.getItemAssistant().playerHasItem(2859) && c.getItemAssistant().playerHasItem(1755)) {
final int amount = c.getItemAssistant().getItemAmount(2859);
final int makeAmount = c.getItemAssistant().getItemAmount(2859)
+ c.getItemAssistant().getItemAmount(2859) * Misc.random(4);
final int makeAmount = c.getItemAssistant().getItemAmount(2859) + c.getItemAssistant().getItemAmount(2859) * Misc.random(4);
if (!c.getItemAssistant().playerHasItem(2859)) {
c.getDialogueHandler().sendStatement(
"You don't have any bones left to chisel.");
c.getDialogueHandler().sendStatement("You don't have any bones left to chisel.");
c.nextChat = 0;
return;
}
@@ -321,10 +312,8 @@ public class LogCutting {
c.nextChat = 0;
return;
}
if (c.getItemAssistant().playerHasItem(314)
&& c.getItemAssistant().playerHasItem(2864)) {
final int feather = c.getItemAssistant().getItemAmount(314), arrowShaft = c
.getItemAssistant().getItemAmount(2864);
if (c.getItemAssistant().playerHasItem(314) && c.getItemAssistant().playerHasItem(2864)) {
final int feather = c.getItemAssistant().getItemAmount(314), arrowShaft = c.getItemAssistant().getItemAmount(2864);
if (feather == arrowShaft * 4) {
c.startAnimation(1248);
c.getItemAssistant().deleteItem(314, feather * 4);
@@ -349,8 +338,7 @@ public class LogCutting {
return;
}
final int wolfBoneArrow = c.getItemAssistant().getItemAmount(2861), flightedArrow = c.getItemAssistant().getItemAmount(2865);
if (c.getItemAssistant().playerHasItem(2861)
&& c.getItemAssistant().playerHasItem(2865)) {
if (c.getItemAssistant().playerHasItem(2861) && c.getItemAssistant().playerHasItem(2865)) {
if (wolfBoneArrow == flightedArrow) {
c.startAnimation(1248);
c.getItemAssistant().addItem(2866, wolfBoneArrow);
@@ -15,9 +15,7 @@ public class Tiaras {
if (player.getItemAssistant().playerHasItem(5525)) {
player.getItemAssistant().deleteItem(5525, 1);
player.getItemAssistant().addItem(ruin[1], 1);
player.getPacketSender()
.sendMessage(
"You bind the power of the talisman into the tiara.");
player.getPacketSender().sendMessage("You bind the power of the talisman into the tiara.");
}
return true;
}
@@ -57,7 +57,12 @@ public class Smelting extends SkillHandler {
*/
public static void doAmount(Player c, int amount, int bartype) {
c.doAmount = amount;
smeltBar(c, bartype);
if (amount == 28) {
c.smeltingItem = bartype;
c.getOutStream().createFrame(27);
} else {
smeltBar(c, bartype);
}
}
/**
@@ -65,7 +70,7 @@ public class Smelting extends SkillHandler {
*
* @param c
*/
private static void smeltBar(final Player c, int bartype) {
public static void smeltBar(final Player c, int bartype) {
for (int i = 0; i < data.length; i++) {
if (bartype == data[i][0]) {
// Check player has the correct smithing level
@@ -329,4 +334,4 @@ public class Smelting extends SkillHandler {
}
}
}
}
@@ -9,19 +9,23 @@ import com.rebotted.game.players.Player;
public class Smithing {
private int addItem, xp, removeItem, removeAmount, makeTimes;
private boolean hasItem(Player player, int type, String string) {
return (ItemAssistant.getItemName(type).contains(string));
}
public void readInput(Player player, int levelReq, int type, int amountToMake) {
if (ItemAssistant.getItemName(type).contains("Bronze")) {
if (hasItem(player, type, "Bronze")) {
removeItem = 2349;
} else if (ItemAssistant.getItemName(type).contains("Iron")) {
} else if (hasItem(player, type, "Iron")) {
removeItem = 2351;
} else if (ItemAssistant.getItemName(type).contains("Steel")) {
} else if (hasItem(player, type, "Steel")) {
removeItem = 2353;
} else if (ItemAssistant.getItemName(type).contains("Mith")) {
} else if (hasItem(player, type, "Mith")) {
removeItem = 2359;
} else if (ItemAssistant.getItemName(type).contains("Adam") || ItemAssistant.getItemName(type).contains("Addy")) {
} else if (hasItem(player, type, "Adam") || hasItem(player, type, "Addy")) {
removeItem = 2361;
} else if (ItemAssistant.getItemName(type).contains("Rune") || ItemAssistant.getItemName(type).contains("Runite")) {
} else if (hasItem(player, type, "Rune") || hasItem(player, type, "Runite")) {
removeItem = 2363;
}
checkBar(player, levelReq, amountToMake, type);
@@ -56,15 +60,8 @@ public class Smithing {
@Override
public void execute(CycleEventContainer container) {
if (player.doAmount <= 0 || !player.getItemAssistant().playerHasItem(removeItem, removeItem2)
|| !player.isSmithing || player.isWoodcutting
|| player.isCrafting || player.isMoving
|| player.isMining || player.isBusy
|| player.isShopping || player.isFletching
|| player.isFiremaking || player.isSpinning
|| player.isPotionMaking || player.playerIsFishing
|| player.isBanking || player.isSmelting
|| player.isTeleporting || player.isHarvesting
|| player.playerIsCooking || player.isPotCrafting) {
|| !player.isSmithing || player.isBanking
|| player.isSmelting) {
container.stop();
} else {
player.startAnimation(898);
@@ -0,0 +1,59 @@
package com.rebotted.game.content.traveling;
import com.rebotted.event.CycleEvent;
import com.rebotted.event.CycleEventContainer;
import com.rebotted.event.CycleEventHandler;
import com.rebotted.game.players.Player;
/**
* Aug 31, 2017 : 6:54:30 AM
* CarpetTravel.java
* @author Andrew (Mr Extremez)
*/
public class CarpetTravel {
public static void carpetTravel(final Player player, final int x, final int y) {
if (!player.getItemAssistant().playerHasItem(995, 200)) {
player.getDialogueHandler().itemMessage("You need 200 gold to ride my rug.", 995, 200);
player.getDialogueHandler().endDialogue();
return;
}
player.getPacketSender().sendMessage("You travel into the desert on your magic carpet.");
player.getItemAssistant().deleteItem(995, 200);
CycleEventHandler.getSingleton().addEvent(player, new CycleEvent() {
@Override
public void execute(CycleEventContainer container) {
// TODO Auto-generated method stub
player.startAnimation(2262);
CycleEventHandler.getSingleton().addEvent(player, new CycleEvent() {
@Override
public void execute(CycleEventContainer container) {
// TODO Auto-generated method stub
player.getPlayerAssistant().movePlayer(x, y, 0);
//PlayerAssistant.playerWalk(c,x,y);
player.getPacketSender().closeAllWindows();
player.getPacketSender().sendMessage("You arrive at your destination.");
container.stop();
}
@Override
public void stop() {
// TODO Auto-generated method stub
}
}, 1);
container.stop();
}
@Override
public void stop() {
// TODO Auto-generated method stub
}
}, 2);
player.getPacketSender().closeAllWindows();
}
}
@@ -9,10 +9,11 @@ import com.rebotted.game.content.randomevents.RandomEventHandler;
import com.rebotted.game.content.skills.SkillHandler;
import com.rebotted.game.content.skills.farming.Farmers;
import com.rebotted.game.content.skills.slayer.Slayer;
import com.rebotted.game.content.traveling.CarpetTravel;
import com.rebotted.game.content.traveling.Sailing;
import com.rebotted.game.globalworldobjects.PassDoor;
import com.rebotted.game.npcs.NpcHandler;
import com.rebotted.game.objects.impl.SpecialObjects;
import com.rebotted.game.objects.impl.OtherObjects;
import com.rebotted.game.players.Player;
import com.rebotted.game.players.PlayerAssistant;
import com.rebotted.game.shops.Shops.Shop;
@@ -30,6 +31,14 @@ public class DialogueHandler {
player.nextChat = 0;
player.dialogueAction = 0;
}
public void setOptionId(int id) {
player.dialogueAction = id;
}
public void setNextDialogue(int id) {
player.nextChat = id;
}
public void sendDialogues(int dialogue, int npcId) {
int MOLE_SKIN = player.getItemAssistant().getItemAmount(7418), MOLE_CLAW = player.getItemAssistant().getItemAmount(7416);
@@ -209,73 +218,8 @@ public class DialogueHandler {
player.nextChat = 0;
break;
case 24:
if (player.getItemAssistant().playerHasItem(995, 200)) {
sendNpcChat3("Hello Fair Traveler.",
"Can i interest you in a ride back to shantay",
"for 200 coins?", player.talkingNpc, "Rug Merchant");
player.nextChat = 25;
} else {
sendNpcChat1("You need 200 coins to travel my rug.",
player.talkingNpc, "Rug Merchant");
player.nextChat = 0;
}
break;
case 25:
sendPlayerChat("Yes please.");
player.getPlayerAssistant().startTeleport(3308, 3108, 0, "modern");
player.getItemAssistant().deleteItem(995, 200);
player.nextChat = 0;
break;
case 26:
if (player.getItemAssistant().playerHasItem(995, 200)) {
sendNpcChat2("Hello Fair Traveler.",
"Can i interest you in a ride for 200 coins?",
player.talkingNpc, "Rug Merchant");
player.nextChat = 27;
} else {
sendNpcChat1("You need 200 coins to travel my rug.",
player.talkingNpc, "Rug Merchant");
player.nextChat = 0;
}
break;
case 27:
sendOption("Pollnivneach (North)", "Bedabin Camp", "Uzer",
"Shantay Pass");
player.dialogueAction = 700;
break;
case 28:
sendPlayerChat("Pollnivneach please.");
player.getPlayerAssistant().startTeleport(3350, 3004, 0, "modern");
player.nextChat = 32;
break;
case 29:
sendPlayerChat("Bedabin Camp please.");
player.getPlayerAssistant().startTeleport(3180, 3043, 0, "modern");
player.nextChat = 32;
break;
case 30:
sendPlayerChat("Uzer please.");
player.getPlayerAssistant().startTeleport(3469, 3111, 0, "modern");
player.nextChat = 32;
break;
case 31:
sendPlayerChat("Shantay pass please.");
player.getPlayerAssistant().startTeleport(3308, 3108, 0, "modern");
player.nextChat = 32;
break;
case 32:
sendNpcChat1("Enjoy!", player.talkingNpc, "Rug Merchant");
player.getItemAssistant().deleteItem(995, 200);
player.nextChat = 0;
break;
case 33:
sendNpcChat1("The trip to karamja will cost you 30 coins.",
player.talkingNpc, "Sailor");
sendNpcChat1("The trip to karamja will cost you 30 coins.", player.talkingNpc, "Sailor");
player.nextChat = 34;
break;
@@ -4081,16 +4025,10 @@ public class DialogueHandler {
case 1027:
player.getDialogueHandler().sendStatement(
"10 coins are removed from your inventory.");
SpecialObjects.initKharid(player, player.objectId);
OtherObjects.initKharid(player, player.objectId);
player.nextChat = 0;
break;
/*
* case 1028: client.getDialogueHandlers().sendStatement(
* "10 coins are removed from your inventory."); client.nextChat = 0;
* break;
*/
case 1033:
sendOption(
"I would like to skip tutorial Island and go to Mainland",
@@ -7044,6 +6982,111 @@ public class DialogueHandler {
player.getDialogueHandler().sendPlayerChat(ChatEmotes.DEFAULT, "That's all, thanks");
player.getDialogueHandler().endDialogue();
break;
//24 - 32:
//=700
case 3555:
player.getDialogueHandler().sendNpcChat(player.npcType, ChatEmotes.DEFAULT, "Hello Fair Traveler.",
"Can I interest you in a ride back to Shantay",
"for 200 coins?");
player.getDialogueHandler().setNextDialogue(3556);
break;
case 3556:
player.getDialogueHandler().sendOption("Yes please", "No thanks");
player.getDialogueHandler().setOptionId(700);
break;
case 3557:
CarpetTravel.carpetTravel(player, 3308, 3108);
break;
case 3558:
player.getDialogueHandler().sendPlayerChat(ChatEmotes.DEFAULT, "No thanks.");
player.getDialogueHandler().endDialogue();
break;
case 3559:
if (player.getItemAssistant().playerHasItem(995, 200)) {
player.getDialogueHandler().sendNpcChat(player.npcType, ChatEmotes.DEFAULT, "Hello Fair Traveler.",
"Can I interest you in a ride for 200 coins?");
player.getDialogueHandler().setNextDialogue(3560);
} else {
player.getDialogueHandler().sendNpcChat(player.npcType, ChatEmotes.DEFAULT, "You need 200 coins to travel my rug.");
player.getDialogueHandler().endDialogue();
}
break;
case 3560:
player.getDialogueHandler().sendOption("Pollnivneach (North)", "Bedabin Camp", "Uzer", "Shantay Pass");
player.getDialogueHandler().setOptionId(701);
break;
case 3561:
player.getDialogueHandler().sendPlayerChat(ChatEmotes.DEFAULT, "Pollnivneach please.");
CarpetTravel.carpetTravel(player, 3350, 3004);
player.getDialogueHandler().endDialogue();
break;
case 3562:
player.getDialogueHandler().sendPlayerChat(ChatEmotes.DEFAULT, "Bedabin Camp please.");
CarpetTravel.carpetTravel(player, 3180, 3043);
player.getDialogueHandler().endDialogue();
break;
case 3563:
player.getDialogueHandler().sendPlayerChat(ChatEmotes.DEFAULT, "Uzer please.");
CarpetTravel.carpetTravel(player, 3469, 3111);
player.getDialogueHandler().endDialogue();
break;
case 3564:
player.getDialogueHandler().sendPlayerChat(ChatEmotes.DEFAULT, "Shantay pass please.");
CarpetTravel.carpetTravel(player, 3309, 3109);
player.getDialogueHandler().endDialogue();
break;
case 3565:
if (player.getItemAssistant().playerHasItem(995, 200)) {
player.getDialogueHandler().sendNpcChat(player.npcType, ChatEmotes.DEFAULT, "Hello Fair Traveler.",
"Can I interest you in a ride for 200 coins?");
player.getDialogueHandler().setNextDialogue(3566);
} else {
player.getDialogueHandler().sendNpcChat(player.npcType, ChatEmotes.DEFAULT, "You need 200 coins to travel my rug.");
player.getDialogueHandler().endDialogue();
}
break;
case 3566:
player.getDialogueHandler().sendOption("Sophanem", "Menaphos", "Nardah");
player.getDialogueHandler().setOptionId(702);
break;
case 3567:
player.getDialogueHandler().sendPlayerChat(ChatEmotes.DEFAULT, "Sophanem please.");
CarpetTravel.carpetTravel(player, 3284, 2813);
player.getDialogueHandler().endDialogue();
break;
case 3568:
player.getDialogueHandler().sendPlayerChat(ChatEmotes.DEFAULT, "Menaphos please.");
CarpetTravel.carpetTravel(player, 3246, 2813);
player.getDialogueHandler().endDialogue();
break;
case 3569:
player.getDialogueHandler().sendPlayerChat(ChatEmotes.DEFAULT, "Nardah please.");
CarpetTravel.carpetTravel(player, 3401, 2915);
player.getDialogueHandler().endDialogue();
break;
case 3570:
player.getDialogueHandler().sendNpcChat(player.npcType, ChatEmotes.DEFAULT, "Hello Fair Traveler.",
"Can I interest you in a ride back to Pollnivneach",
"for 200 coins?");
player.getDialogueHandler().setNextDialogue(3571);
break;
case 3571:
player.getDialogueHandler().sendOption("Yes please", "No thanks");
player.getDialogueHandler().setOptionId(703);
break;
case 3572:
CarpetTravel.carpetTravel(player, 3347, 2944);
break;
case 3573:
player.getDialogueHandler().sendPlayerChat(ChatEmotes.DEFAULT, "No thanks.");
player.getDialogueHandler().endDialogue();
break;
}
}
@@ -14,6 +14,251 @@ public class DialogueOptions {
public static void handleDialogueOptions(Player player, int buttonId) {
switch (buttonId) {
case 9167:
switch (player.dialogueAction) {
case 63:
player.getDialogueHandler().sendDialogues(166, player.npcType);
return;
case 64:
player.getDialogueHandler().sendDialogues(173, player.npcType);
return;
case 60:
player.getDialogueHandler().sendDialogues(277, player.npcType);
return;
case 61:
player.getDialogueHandler().sendDialogues(295, player.npcType);
return;
case 129:
player.getDialogueHandler().sendDialogues(231, player.npcType);
return;
case 58:
player.getDialogueHandler().sendDialogues(540, player.npcType);
return;
case 68:
player.getDialogueHandler().sendDialogues(39, player.npcType);
return;
case 124:
player.getDialogueHandler().sendDialogues(194, player.npcType);
return;
case 230:
player.getDialogueHandler().sendDialogues(1053, player.npcType);
return;
case 251:
player.getPacketSender().openUpBank();
player.nextChat = 0;
return;
case 144:
player.getDialogueHandler().sendDialogues(1314, player.npcType);
return;
case 502:
player.getDialogueHandler().sendDialogues(1026, player.npcType);
return;
case 1301: // first option haircut.
player.getDialogueHandler().sendDialogues(1302, 598);
return;
case 53:
if (player.objectId == 1293 || player.objectId == 1317) {
player.getPlayerAssistant().startTeleport(2542, 3169, 0, "modern");
} else {
player.getPacketSender().sendMessage("You can't teleport there, because you are already there!");
player.getPacketSender().closeAllWindows();
}
return;
case 159:
player.getDialogueHandler().sendDialogues(3161, player.npcType);
return;
case 167:
player.getDialogueHandler().sendDialogues(1343, player.npcType);
return;
case 222:
player.getDialogueHandler().sendDialogues(911, player.npcType);
player.dialogueAction = -1;
return;
case 182:
player.getDialogueHandler().sendNpcChat1("No, I was hoping someone could help me find it though.", player.talkingNpc, "Squire");
player.nextChat = 0;
return;
case 188:
player.getDialogueHandler().sendDialogues(3129, 945);
return;
case 185:
player.getDialogueHandler().sendDialogues(629, player.npcType);
return;
case 186: // Shield of Arrav
player.getDialogueHandler().sendDialogues(629, player.npcType);
return;
case 702:
player.getDialogueHandler().sendDialogues(3567, player.npcType);
return;
}
player.dialogueAction = 0;
player.getPacketSender().closeAllWindows();
break;
case 9168:
switch (player.dialogueAction) {
case 63:
player.getDialogueHandler().sendDialogues(167, player.npcType);
return;
case 64:
player.getDialogueHandler().sendDialogues(174, player.npcType);
return;
case 60:
player.getDialogueHandler().sendDialogues(279, player.npcType);
return;
case 61:
player.getDialogueHandler().sendDialogues(297, player.npcType);
return;
case 124:
player.getDialogueHandler().sendDialogues(192, player.npcType);
return;
case 126:
player.getDialogueHandler().sendDialogues(203, player.npcType);
return;
case 58:
player.getDialogueHandler().sendDialogues(538, player.npcType);
return;
case 68:
player.getDialogueHandler().sendDialogues(40, player.npcType);
return;
case 230:
player.getDialogueHandler().sendDialogues(1049, player.npcType);
break;
case 251:
player.getBankPin().bankPinSettings();
player.nextChat = 0;
return;
case 502:
player.getDialogueHandler().sendDialogues(1022, player.npcType);
return;
case 1301:
player.getDialogueHandler().sendDialogues(1308, 598);
return;
case 144:
player.getDialogueHandler().sendDialogues(1315, player.npcType);
return;
case 53:
if (player.objectId == 1294 || player.objectId == 1317) {
player.getPlayerAssistant().startTeleport(2461, 3444, 0,
"modern");
} else {
player.getPacketSender().sendMessage("You can't teleport there, because you are already there!");
player.getPacketSender().closeAllWindows();
}
return;
case 159:
player.getDialogueHandler().sendDialogues(3195, player.npcType);
return;
case 167:
player.getDialogueHandler().sendDialogues(1344, player.npcType);
return;
case 222:
player.getDialogueHandler().sendDialogues(912, player.npcType);
player.dialogueAction = -1;
return;
case 182:
player.getDialogueHandler().sendDialogues(615, player.npcType);
return;
case 188:
player.getDialogueHandler().sendDialogues(3130, 945);
return;
case 185:
player.getDialogueHandler().sendDialogues(628, player.npcType);
return;
case 186: // Shield of Arrav
player.getDialogueHandler().sendDialogues(628, player.npcType);
return;
case 702:
player.getDialogueHandler().sendDialogues(3568, player.npcType);
return;
}
player.dialogueAction = 0;
player.getPacketSender().closeAllWindows();
break;
case 9169:
switch (player.dialogueAction) {
case 63:
player.getDialogueHandler().sendDialogues(168, player.npcType);
return;
case 64:
player.getDialogueHandler().sendDialogues(175, player.npcType);
return;
case 60:
player.getDialogueHandler().sendDialogues(278, player.npcType);
return;
case 61:
player.getDialogueHandler().sendDialogues(296, player.npcType);
return;
case 53:
if (player.objectId == 1294 || player.objectId == 1293) {
player.getPlayerAssistant().startTeleport(3179, 3507, 0,
"modern");
} else {
player.getPacketSender().sendMessage("You can't teleport there, because you are already there!");
player.getPacketSender().closeAllWindows();
}
return;
case 129:
player.getDialogueHandler().sendDialogues(232, player.npcType);
return;
case 126:
player.getDialogueHandler().sendDialogues(204, player.npcType);
return;
case 144:
player.getDialogueHandler().sendDialogues(1316, player.npcType);
return;
case 124:
player.getDialogueHandler().sendDialogues(3193, 741);
return;
case 58:
player.getDialogueHandler().sendDialogues(539, player.npcType);
return;
case 68:
player.getDialogueHandler().sendDialogues(41, player.npcType);
return;
case 230:
player.getDialogueHandler().sendDialogues(1050, player.npcType);
break;
case 251:
player.getDialogueHandler().sendDialogues(1015, 494);
return;
case 502:
player.getDialogueHandler().sendDialogues(1025, player.npcType);
return;
case 1301:
player.getDialogueHandler().sendDialogues(1306, 598);
return;
case 222:
player.getDialogueHandler().sendDialogues(913, player.npcType);
player.dialogueAction = -1;
return;
case 167:
player.getDialogueHandler().sendDialogues(1342, player.npcType);
return;
case 159:
player.getDialogueHandler().sendDialogues(3160, player.npcType);
return;
case 182:
player.getDialogueHandler().sendNpcChat1("Of course he is angry...", player.talkingNpc, "Squire");
player.nextChat = 0;
return;
case 188:
player.getDialogueHandler().sendDialogues(3131, 945);
return;
case 185:
player.getDialogueHandler().sendDialogues(630, player.npcType);
return;
case 186: // Shield of Arrav
player.getDialogueHandler().sendDialogues(691, player.npcType);
return;
case 702:
player.getDialogueHandler().sendDialogues(3569, player.npcType);
return;
}
player.dialogueAction = 0;
player.getPacketSender().closeAllWindows();
break;
case 9190:
switch (player.dialogueAction) {
case 112:
@@ -307,6 +552,9 @@ public class DialogueOptions {
player.getPlayerAssistant().startTeleport(3313, 3234, 0, "modern");
Teles.necklaces(player);
return;
} else if (player.dialogueAction == 703) {
player.getDialogueHandler().sendDialogues(3572, player.npcType);
return;
}
player.dialogueAction = 0;
player.getPacketSender().closeAllWindows();
@@ -511,6 +759,12 @@ public class DialogueOptions {
} else if (player.dialogueAction == 189) {
player.getDialogueHandler().sendDialogues(3212, player.npcType);
return;
} else if (player.dialogueAction == 700) {
player.getDialogueHandler().sendDialogues(3558, player.npcType);
return;
} else if (player.dialogueAction == 703) {
player.getDialogueHandler().sendDialogues(3573, player.npcType);
return;
}
player.dialogueAction = 0;
player.getPacketSender().closeAllWindows();
@@ -524,8 +778,8 @@ public class DialogueOptions {
player.getPlayerAssistant().startTeleport(3112, 3410, 0, "modern");
} else if (player.objectId == 12165) {
if (player.dialogueAction == 122) {
player.getPacketSender().sendMessage("You can't take the canoe to barbarian village because you're already there!");
player.getPlayerAssistant().handleCanoe();
player.getPacketSender().sendMessage("You can't take the canoe to barbarian village because you're already there!");
player.getPlayerAssistant().handleCanoe();
}
}
if (player.dialogueAction == 4) {
@@ -582,8 +836,8 @@ public class DialogueOptions {
if (player.dialogueAction == 485) {
player.getRangersGuild().buyArrows();
}
if (player.dialogueAction == 700) {
player.getDialogueHandler().sendDialogues(28, player.npcType);
if (player.dialogueAction == 701) {
player.getDialogueHandler().sendDialogues(3561, player.npcType);
}
break;
@@ -651,8 +905,8 @@ public class DialogueOptions {
if (player.dialogueAction == 485) {
player.getRangersGuild().exchangePoints();
}
if (player.dialogueAction == 700) {
player.getDialogueHandler().sendDialogues(29, player.npcType);
if (player.dialogueAction == 701) {
player.getDialogueHandler().sendDialogues(3562, player.npcType);
}
break;
@@ -702,9 +956,6 @@ public class DialogueOptions {
if (player.dialogueAction == 1000) {
player.getDialogueHandler().sendDialogues(3523,player.npcType);
}
if (player.dialogueAction == 700) {
player.getDialogueHandler().sendDialogues(30, player.npcType);
}
if (player.dialogueAction == 228) {
player.getDialogueHandler().sendDialogues(1041, player.npcType);
}
@@ -726,6 +977,9 @@ public class DialogueOptions {
if (player.dialogueAction == 69) {
player.getDialogueHandler().sendDialogues(1003, player.npcType);
}
if (player.dialogueAction == 701) {
player.getDialogueHandler().sendDialogues(3563, player.npcType);
}
break;
case 9181:
@@ -759,9 +1013,6 @@ public class DialogueOptions {
if (player.dialogueAction == 1000) {
player.getDialogueHandler().sendDialogues(3523, player.npcType);
}
if (player.dialogueAction == 700) {
player.getDialogueHandler().sendDialogues(31, player.npcType);
}
if (player.dialogueAction == 69) {
player.getDialogueHandler().sendDialogues(1004, player.npcType);
}
@@ -783,8 +1034,8 @@ public class DialogueOptions {
if (player.dialogueAction == 485) {
player.getPacketSender().closeAllWindows();
}
if (player.dialogueAction == 700) {
player.getDialogueHandler().sendDialogues(28, player.npcType);
if (player.dialogueAction == 701) {
player.getDialogueHandler().sendDialogues(3564, player.npcType);
}
break;
}
@@ -16,8 +16,7 @@ public class PassDoor {
private static long doorDelay;
public static boolean passThroughDoor(final Player player, final int objectType, int face1, final int face2, final int type, int x, int y, final int height) {
if (System.currentTimeMillis() - doorDelay < 1200) {
player.getPacketSender().sendMessage("You must wait longer to pass this door.");
if (System.currentTimeMillis() - doorDelay < 800) {
return false;
}
@@ -76,6 +75,10 @@ public class PassDoor {
passThroughDoor(player, objectType, 1, 2, 0, 1, 0, 2);
} else if (Position.checkPosition(player, 3108, 3162, 2)) {
passThroughDoor(player, objectType, 1, 2, 0, -1, 0, 2);
} else if (Position.checkPosition(player, 3109, 3162, 1)) {
passThroughDoor(player, objectType, 1, 2, 0, 1, 0, 1);
} else if (Position.checkPosition(player, 3110, 3162, 1)) {
passThroughDoor(player, objectType, 1, 2, 0, -1, 0, 1);
} else if (Position.checkPosition(player, 3109, 3159, 1)) {
passThroughDoor(player, objectType, 1, 2, 0, 1, 0, 1);
} else if (Position.checkPosition(player, 3110, 3159, 1)) {
@@ -80,7 +80,7 @@ public class ItemAssistant {
public void dropItem(int itemId) {
itemId = c.droppedItem;
GameEngine.itemHandler.createGroundItem(c, itemId, c.absX, c.absY, c.playerItemsN[getItemSlot(itemId)], c.getId());
GameEngine.itemHandler.createGroundItem(c, itemId, c.getX(), c.getY(), c.playerItemsN[getItemSlot(itemId)], c.getId());
deleteItem(itemId,getItemSlot(itemId), c.playerItemsN[getItemSlot(itemId)]);
c.getPacketSender().closeAllWindows();
}
@@ -89,11 +89,8 @@ public class ItemAssistant {
if (isStackable(item) && hasFreeSlots(1)) {
addItem(item, amount);
} else if (!hasFreeSlots(amount) && !isStackable(item)) {
GameEngine.itemHandler.createGroundItem(c, item, c.absX, c.absY,
amount, c.playerId);
c.getPacketSender()
.sendMessage(
"You have no inventory space, so the item(s) appear beneath you.");
GameEngine.itemHandler.createGroundItem(c, item, c.getX(), c.getY(), amount, c.playerId);
c.getPacketSender().sendMessage("You have no inventory space, so the item(s) appear beneath you.");
} else {
addItem(item, amount);
}
@@ -579,93 +576,63 @@ public class ItemAssistant {
// block
c.getPacketSender().sendString(weaponName, 5857);
} else if (weaponName.endsWith("whip")) {
c.getPacketSender().setSidebarInterface(0, 12290); // flick,
// lash,
// deflect
c.getPacketSender().setSidebarInterface(0, 12290); // flick, lash, deflect
c.getPacketSender().sendFrame246(12291, 200, weapon);
c.getPacketSender().sendString(weaponName, 12293);
} else if (weaponName.endsWith("bow") || weaponName.endsWith("10")
|| weaponName.endsWith("full")
|| weaponName.startsWith("seercull")) {
c.getPacketSender().setSidebarInterface(0, 1764); // accurate,
// rapid,
// longrange
c.getPacketSender().setSidebarInterface(0, 1764); // accurate, rapid, longrange
c.getPacketSender().sendFrame246(1765, 200, weapon);
c.getPacketSender().sendString(weaponName, 1767);
} else if (weaponName.startsWith("Staff")
|| weaponName.endsWith("staff") || weaponName.endsWith("wand")) {
c.getPacketSender().setSidebarInterface(0, 328); // spike,
// impale,
// smash,
// block
c.getPacketSender().setSidebarInterface(0, 328); // spike, impale, smash, block
c.getPacketSender().sendFrame246(329, 200, weapon);
c.getPacketSender().sendString(weaponName, 331);
} else if (newWeapon.startsWith("dart")
|| newWeapon.startsWith("knife")
|| newWeapon.startsWith("javelin")
|| weaponName.equalsIgnoreCase("toktz-xil-ul")) {
c.getPacketSender().setSidebarInterface(0, 4446); // accurate,
// rapid,
// longrange
c.getPacketSender().setSidebarInterface(0, 4446); // accurate, rapid, longrange
c.getPacketSender().sendFrame246(4447, 200, weapon);
c.getPacketSender().sendString(weaponName, 4449);
} else if (newWeapon.startsWith("dagger")
|| newWeapon.contains("sword")) {
c.getPacketSender().setSidebarInterface(0, 2276); // stab,
// lunge,
// slash,
// block
c.getPacketSender().setSidebarInterface(0, 2276); // stab, lunge, slash, block
c.getPacketSender().sendFrame246(2277, 200, weapon);
c.getPacketSender().sendString(weaponName, 2279);
} else if (newWeapon.startsWith("pickaxe")) {
c.getPacketSender().setSidebarInterface(0, 5570); // spike,
// impale,
// smash,
// block
c.getPacketSender().setSidebarInterface(0, 5570); // spike, impale, smash, block
c.getPacketSender().sendFrame246(5571, 200, weapon);
c.getPacketSender().sendString(weaponName, 5573);
} else if (newWeapon.startsWith("axe")
|| newWeapon.startsWith("battleaxe")) {
c.getPacketSender().setSidebarInterface(0, 1698); // chop,
// hack,
// smash,
// block
c.getPacketSender().setSidebarInterface(0, 1698); // chop, hack, smash, block
c.getPacketSender().sendFrame246(1699, 200, weapon);
c.getPacketSender().sendString(weaponName, 1701);
} else if (newWeapon.startsWith("halberd")) {
c.getPacketSender().setSidebarInterface(0, 8460); // jab,
// swipe,
// fend
c.getPacketSender().setSidebarInterface(0, 8460); // jab, swipe, fend
c.getPacketSender().sendFrame246(8461, 200, weapon);
c.getPacketSender().sendString(weaponName, 8463);
} else if (newWeapon.startsWith("Scythe")) {
c.getPacketSender().setSidebarInterface(0, 8460); // jab,
// swipe,
// fend
c.getPacketSender().setSidebarInterface(0, 8460); // jab, swipe, fend
c.getPacketSender().sendFrame246(8461, 200, weapon);
c.getPacketSender().sendString(weaponName, 8463);
} else if (newWeapon.startsWith("spear")) {
c.getPacketSender().setSidebarInterface(0, 4679); // lunge,
// swipe,
// pound,
// block
c.getPacketSender().setSidebarInterface(0, 4679); // lunge, swipe, pound, block
c.getPacketSender().sendFrame246(4680, 200, weapon);
c.getPacketSender().sendString(weaponName, 4682);
} else if (newWeapon.toLowerCase().contains("mace")) {
c.getPacketSender().setSidebarInterface(0, 3796);
c.getPacketSender().sendFrame246(3797, 200, weapon);
c.getPacketSender().sendString(weaponName, 3799);
} else if (c.playerEquipment[c.playerWeapon] == 4153) {
c.getPacketSender().setSidebarInterface(0, 425); // war hamer
// equip.
c.getPacketSender().setSidebarInterface(0, 425); // war hamer equip
c.getPacketSender().sendFrame246(426, 200, weapon);
c.getPacketSender().sendString(weaponName, 428);
} else {
c.getPacketSender().setSidebarInterface(0, 2423); // chop,
// slash,
// lunge,
// block
c.getPacketSender().setSidebarInterface(0, 2423); // chop, slash, lung, block
c.getPacketSender().sendFrame246(2424, 200, weapon);
c.getPacketSender().sendString(weaponName, 2426);
}
@@ -105,6 +105,7 @@ public class ItemConstants {
1560, 1561, 1562, 1563, 1564, 1565, 7585, 7584, 300, 775, 776, 777,
6180, 6181, 6182, 6183, 6184, 6185, 6186, 6187, 6188, 2528, 4447,
290, 666, 667 };
public final static int[] ITEM_TRADEABLE = { 5317, 3842, 3844, 3840, 8844, 8845,
8846, 8847, 8848, 8849, 8850, 10551, 6570, 7462, 7461, 7460, 7459,
7458, 7457, 7456, 7455, 7454, 8839, 8840, 8842, 11663, 11664,
@@ -119,7 +120,7 @@ public class ItemConstants {
4218, 4219, 4220, 4221, 4222, 4223, 4224, 1555, 1556, 1557, 1558,
1559, 1560, 1561, 1562, 1563, 1564, 1565, 7585, 7584, 2714, 432,
433, 290, 5075, 5074, 5073, 5071, 5070, 7413, 6529, 4067, 2996, 1464, 666, 667,
2412, 2413, 2414 };
2412, 2413, 2414, 771, 772};
public final static int[] ITEM_UNALCHABLE = { 995, 1555, 1556, 1557, 1558,
1559, 1560, 1561, 1562, 1563, 1564, 1565, 7583, 1566, 7585, 2528,
@@ -720,16 +720,20 @@ public class NpcActions {
* End of Quests
*/
case 2293:
if (c.absY >= 2939 && c.absY <= 2945) {
c.getDialogueHandler().sendDialogues(3565, npcType);
} else {
c.getDialogueHandler().sendDialogues(3570, npcType);
}
break;
case 2294:
c.getDialogueHandler().sendDialogues(24, npcType);
c.getDialogueHandler().sendDialogues(3555, npcType);
break;
case 2296:
c.getDialogueHandler().sendDialogues(26, npcType);
break;
case 500:
c.getDialogueHandler().sendDialogues(21, npcType);
c.getDialogueHandler().sendDialogues(3559, npcType);
break;
case 659:
@@ -873,7 +873,7 @@ public class NpcHandler {
}
break;
case 87:
if (c.isInTut() || c.tutorialProgress < 36) {
if (Boundary.isIn(c, Boundary.TUTORIAL) || c.tutorialProgress < 36) {
return false;
}
break;
@@ -87,7 +87,7 @@ public class NPCDrops extends NPCDropsHandler {
new ItemDrop( i("toadflax seed"), 1, UNCOMMON ),
new ItemDrop( i("wildblood seed"), 1, UNCOMMON ),
new ItemDrop( i("whiteberry seed"), 1, UNCOMMON ),
new ItemDrop( i("marentill seed"), 1, UNCOMMON ),
new ItemDrop( i("marrentill seed"), 1, UNCOMMON ),
new ItemDrop( i("ranarr seed"), 1, RARE ),
new ItemDrop( i("dwarf weed seed"), 1, RARE ),
new ItemDrop( i("lantadyme seed"), 1, RARE ),
@@ -138,7 +138,7 @@ public class NPCDrops extends NPCDropsHandler {
new ItemDrop( 161, 1, UNCOMMON ),
new ItemDrop( i("tokkul"), new int[]{100, 1900}, COMMON ),
new ItemDrop( i("lobster"), 1, UNCOMMON ),
new ItemDrop( i("chilli potato"), new int[]{1, 3}, UNCOMMON ),
new ItemDrop( i("chili potato"), new int[]{1, 3}, UNCOMMON ),
new ItemDrop( i("pure essence"), 5, VERY_RARE ),
};
@@ -193,7 +193,7 @@ public class NPCDrops extends NPCDropsHandler {
new ItemDrop( i("fire rune"), new int[]{10, 80}, COMMON ),
new ItemDrop( i("air rune"), new int[]{10, 80}, UNCOMMON ),
new ItemDrop( i("water rune"), new int[]{10, 80}, UNCOMMON ),
new ItemDrop( i("choas rune"), new int[]{5, 10}, UNCOMMON ),
new ItemDrop( i("chaos rune"), new int[]{5, 10}, UNCOMMON ),
new ItemDrop( i("nature rune"), new int[]{1, 8}, UNCOMMON ),
new ItemDrop( i("law rune"), new int[]{2, 5}, UNCOMMON ),
new ItemDrop( i("death rune"), new int[]{1, 6}, RARE ),
@@ -309,11 +309,11 @@ public class NPCDrops extends NPCDropsHandler {
new ItemDrop( 526, new int[]{1, 3}, COMMON ),
new ItemDrop( i("banana"), 1, UNCOMMON ),
new ItemDrop( i("limpwurt seed"), 1, COMMON ),
new ItemDrop( i("marentill seed"), 1, COMMON ),
new ItemDrop( i("marrentill seed"), 1, COMMON ),
new ItemDrop( i("tarromin seed"), 1, COMMON ),
new ItemDrop( i("harralander seed"), 1, UNCOMMON ),
new ItemDrop( i("strawberry sed"), 1, UNCOMMON ),
new ItemDrop( i("watermelon seeed"), 1, UNCOMMON ),
new ItemDrop( i("strawberry seed"), 1, UNCOMMON ),
new ItemDrop( i("watermelon seed"), 1, UNCOMMON ),
new ItemDrop( i("wildblood seed"), 1, UNCOMMON ),
new ItemDrop( i("toadflax seed"), 1, UNCOMMON ),
new ItemDrop( i("avantoe seed"), 1, UNCOMMON ),
@@ -427,7 +427,7 @@ public class NPCDrops extends NPCDropsHandler {
};
public static final ItemDrop[] jelly = {
new ItemDrop( i("choas rune"), 15, UNCOMMON ),
new ItemDrop( i("chaos rune"), 15, UNCOMMON ),
new ItemDrop( i("death rune"), 5, UNCOMMON ),
new ItemDrop( i("water rune"), new int[]{5, 21}, RARE ),
new ItemDrop( i("blood rune"), 7, RARE ),
@@ -631,7 +631,7 @@ public class NPCDrops extends NPCDropsHandler {
new ItemDrop( 4113, 1, RARE ),
new ItemDrop( i("law rune"), 3, COMMON ),
new ItemDrop( i("nature rune"), new int[]{15, 45}, UNCOMMON ),
new ItemDrop( i("poision ivy seed"), 1, COMMON ),
new ItemDrop( i("poison ivy seed"), 1, COMMON ),
new ItemDrop( i("cactus seed"), 1, COMMON ),
new ItemDrop( i("belladonna seed"), 1, COMMON ),
new ItemDrop( i("toadflax seed"), 1, COMMON ),
@@ -904,8 +904,8 @@ public class NPCDrops extends NPCDropsHandler {
};
public static final ItemDrop[] dagannothprime = {
new ItemDrop( i("dagganoth bones"), 1, ALWAYS ),
new ItemDrop( i("dagganoth hide"), 1, ALWAYS ),
new ItemDrop( i("dagannoth bones"), 1, ALWAYS ),
new ItemDrop( i("dagannoth hide"), 1, ALWAYS ),
new ItemDrop( i("air battlestaff"), 1, COMMON ),
new ItemDrop( i("earth battlestaff"), 1, COMMON ),
new ItemDrop( i("water battlestaff"), 1, COMMON ),
@@ -944,8 +944,8 @@ public class NPCDrops extends NPCDropsHandler {
};
public static final ItemDrop[] daggannothrex = {
new ItemDrop( i("dagganoth bones"), 1, ALWAYS ),
new ItemDrop( i("dagganoth hide"), 1, ALWAYS ),
new ItemDrop( i("dagannoth bones"), 1, ALWAYS ),
new ItemDrop( i("dagannoth hide"), 1, ALWAYS ),
new ItemDrop( i("fremennik blade"), 1, COMMON ),
new ItemDrop( i("mithril warhammer"), 1, COMMON ), // fremy
// blade
@@ -1253,7 +1253,7 @@ public class NPCDrops extends NPCDropsHandler {
new ItemDrop( i("tarromin seed"), 1, COMMON ),
new ItemDrop( i("harralander seed"), 1, COMMON ),
new ItemDrop( i("jangerberry seed"), 1, COMMON ),
new ItemDrop( i("marentill seed"), 1, COMMON ),
new ItemDrop( i("marrentill seed"), 1, COMMON ),
new ItemDrop( i("belladonna seed"), 1, UNCOMMON ),
new ItemDrop( i("limpwurt seed"), 1, UNCOMMON ),
new ItemDrop( i("toadflax seed"), 1, UNCOMMON ),
@@ -1345,7 +1345,7 @@ public class NPCDrops extends NPCDropsHandler {
new ItemDrop( i("steel axe"), 1, COMMON ),
new ItemDrop( i("steel battleaxe"), 1, COMMON ),
new ItemDrop( i("steel 2h sword"), 1, COMMON ),
new ItemDrop( i("mithril kitesiheld"), 1, UNCOMMON ),
new ItemDrop( i("mithril kiteshield"), 1, UNCOMMON ),
new ItemDrop( i("black 2h sword"), 1, UNCOMMON ),
new ItemDrop( i("rune full helm"), 1, RARE ),
new ItemDrop( i("adamant platelegs"), 1, RARE ),
@@ -1442,9 +1442,9 @@ public class NPCDrops extends NPCDropsHandler {
new ItemDrop( i("strawberry seed"), 1, COMMON ),
new ItemDrop( i("rune longsword"), 1, VERY_RARE ),
new ItemDrop( i("jangerberry seed"), 1, COMMON ),
new ItemDrop( i("marentill seed"), 1, UNCOMMON ),
new ItemDrop( i("marrentill seed"), 1, UNCOMMON ),
new ItemDrop( i("cadantine seed"), 1, UNCOMMON ),
new ItemDrop( i("bittecape mushroom spore"), 1, UNCOMMON ),
new ItemDrop( i("bittercap mushroom spore"), 1, UNCOMMON ),
new ItemDrop( i("irit seed"), 1, UNCOMMON ),
new ItemDrop( i("avantoe seed"), 1, UNCOMMON ),
new ItemDrop( i("dwarf weed seed"), 1, RARE ),
@@ -1506,7 +1506,7 @@ public class NPCDrops extends NPCDropsHandler {
new ItemDrop( i("water rune"), new int[]{20, 47}, COMMON ),
new ItemDrop( i("body rune"), new int[]{9, 24}, COMMON ),
new ItemDrop( i("mind rune"), new int[]{5, 7}, COMMON ),
new ItemDrop( i("choas rune"), new int[]{2, 5}, UNCOMMON ),
new ItemDrop( i("chaos rune"), new int[]{2, 5}, UNCOMMON ),
new ItemDrop( i("nature rune"), new int[]{4, 7}, UNCOMMON ),
new ItemDrop( i("law rune"), new int[]{2, 5}, RARE ),
new ItemDrop( i("blood rune"), new int[]{2, 5}, RARE ), // members
@@ -2291,7 +2291,7 @@ public class NPCDrops extends NPCDropsHandler {
new ItemDrop( i("snapdragon seed"), 1, UNCOMMON ),
new ItemDrop( i("jangerberry seed"), 1, UNCOMMON ),
new ItemDrop( i("limpwurt seed"), 1, UNCOMMON ),
new ItemDrop( i("marentill seed"), 1, UNCOMMON ),
new ItemDrop( i("marrentill seed"), 1, UNCOMMON ),
new ItemDrop( 5282, 1, UNCOMMON ),
new ItemDrop( i("ranarr seed"), 1, UNCOMMON ),
new ItemDrop( i("strawberry seed"), 1, UNCOMMON ),
@@ -20,42 +20,118 @@ public class ObjectDefaults {
String objectName = ObjectDef.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) {
switch (objectType) {
case 388:
case 389:
if (player.objectX == 3112 || player.objectX == 3104 || player.objectX == 3096) {
return EAST;
//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 {
return SOUTH;
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:
return face = (player.objectX == 3381) ? EAST : NORTH;
case 348:
case 349:
if (player.objectX == 2971) {
return face = NORTH;
}
case 350:
case 351:
if (player.objectY == 3382) {
return face = WEST;
}
}
}
case 1528:
case 1529:
return player.objectX == 3172 ? WEST : EAST;
case 14879:
return 1;
case 1568:
return player.objectX == 3405 ? EAST : SOUTH;
case 375:
case 376:
case 377:
return player.objectX == 3096 ? NORTH : SOUTH;
case 399:
return player.objectX == 3096 && player.objectY == 3469 ? WEST : player.objectX == 3096 ? SOUTH : EAST;
case 398:
return player.objectX == 3096 && player.objectY == 3469 ? WEST : player.objectX == 3096 ? SOUTH : EAST;
case 3193:
return player.objectX == 3381 ? EAST : NORTH;
case 378:
return player.objectX == 3096 ? NORTH : SOUTH;
case 3194:
return player.objectX == 3381 ? EAST : NORTH;
}
return SOUTH;
return face;
}
}
}
@@ -38,10 +38,10 @@ import com.rebotted.game.objects.impl.BrimhavenVines;
import com.rebotted.game.objects.impl.Climbing;
import com.rebotted.game.objects.impl.FlourMill;
import com.rebotted.game.objects.impl.Levers;
import com.rebotted.game.objects.impl.OpenObject;
import com.rebotted.game.objects.impl.OtherObjects;
import com.rebotted.game.objects.impl.Pickable;
import com.rebotted.game.objects.impl.Searching;
import com.rebotted.game.objects.impl.SpecialObjects;
import com.rebotted.game.objects.impl.UseOther;
import com.rebotted.game.objects.impl.Webs;
import com.rebotted.game.players.Player;
@@ -105,6 +105,7 @@ public class ObjectsActions {
ClimbOther.useOther(player, objectType);
}
}
OtherObjects.interactCurtain(player, objectType, objectX, objectY);
OtherObjects.searchSpecialObject(player, objectType);
Searching.searchObject(player, objectType);
Levers.pullLever(player, objectType);
@@ -113,6 +114,7 @@ public class ObjectsActions {
player.getDoubleGates().useDoubleGate(player, objectType);
PassDoor.processDoor(player, objectType);
AbyssalHandler.handleAbyssalTeleport(player, objectType);
OpenObject.interactObject(player, objectType, objectType == 399 ? true : false);
// if its a rock we can mine, mine it
if (Mining.rockExists(objectType))
player.getMining().startMining(player, objectType, player.objectX, player.objectY, player.clickObjectType);
@@ -121,6 +123,13 @@ public class ObjectsActions {
return;
}
switch (objectType) {
case 6615:
if (player.absY == 2809) {
player.getPlayerAssistant().movePlayer(player.absX, 2810, 0);
} else if (player.absY == 2810) {
player.getPlayerAssistant().movePlayer(player.absX, 2809, 0);
}
break;
case 11163:
Ectofuntus.useBoneGrinder(player);
break;
@@ -792,15 +801,6 @@ public class ObjectsActions {
}
break;
case 1528:// curtain varrock pray altar
if (player.absY == 3390) {
player.getPlayerAssistant().movePlayer(player.absX,
player.absY + 1, 0);
} else if (player.absY == 3391) {
player.getPlayerAssistant().movePlayer(player.absX,
player.absY - 1, 0);
}
break;
case 95:
case 94:
@@ -1583,11 +1583,7 @@ public class ObjectsActions {
break;
case 4031:
SpecialObjects.initShantay(player, objectType);
break;
case 2693:
SpecialObjects.openShantayChest(player, objectType, objectX, objectY, "open");
OtherObjects.initShantay(player, objectType);
break;
case 2883:
@@ -0,0 +1,41 @@
package com.rebotted.game.objects.impl;
import com.rebotted.GameEngine;
import com.rebotted.game.objects.ObjectDefaults;
import com.rebotted.game.players.Player;
/**
* 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, boolean open) {
for (final int[] element : OBJECT_DATA) {
if (!open) {
if (objectType == element[0]) {
GameEngine.objectHandler.createAnObject(element[1], player.objectX, player.objectY, player.getH(), ObjectDefaults.getObjectFace(player, objectType), 10);
player.startAnimation(832);
}
} else {
if (objectType == element[1]) {
GameEngine.objectHandler.createAnObject(element[0], player.objectX, player.objectY, player.getH(), ObjectDefaults.getObjectFace(player, objectType), 10);
player.startAnimation(832);
}
}
}
}
}
@@ -1,25 +1,112 @@
package com.rebotted.game.objects.impl;
import com.rebotted.GameEngine;
import com.rebotted.event.CycleEvent;
import com.rebotted.event.CycleEventContainer;
import com.rebotted.event.CycleEventHandler;
import com.rebotted.game.content.traveling.DesertHeat;
import com.rebotted.game.objects.ObjectDefaults;
import com.rebotted.game.players.Player;
import com.rebotted.util.Misc;
import com.rebotted.world.clip.ObjectDef;
import com.rebotted.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.searchObjectDelay < 1200 || objectType == 160 && player.absX != 3096 || objectType > 154 && objectType < 157 && player.absX != 3098 || player.absY == 3301) {
if (System.currentTimeMillis() - player.getObjectDelay() < 1200 || objectType == 160 && player.getX() != 3096 || objectType > 154 && objectType < 157 && player.getX() != 3098 || player.getY() == 3301) {
return;
}
player.stopPlayerPacket = true;
player.searchObjectDelay = System.currentTimeMillis();
player.stopPlayer(true);
player.setObjectDelay(System.currentTimeMillis());
handleSpecialObject(player, objectType);
}
}
@@ -31,120 +118,120 @@ public class OtherObjects {
private static void handleSpecialObject(final Player player, final int objectType) {
String objectName = ObjectDef.getObjectDef(objectType).name;
if (objectType == 160 && player.absX == 3096) {
player.getPlayerAssistant().walkTo(0, 1);
CycleEventHandler.getSingleton().addEvent(player, new CycleEvent() {
@Override
public void execute(CycleEventContainer container) {
player.getPlayerAssistant().movePlayer(3098, player.absY, 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.stopPlayerPacket = false;
}
}, 2);
}
@Override
public void stop() {
object(player, 155, 3097, 3357);
object(player, 156, 3097, 3360);
}
}, 1);
} else if (objectType > 154 && objectType < 157 && player.absX == 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.stopPlayerPacket = 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.stopPlayerPacket = 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.stopPlayerPacket = 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() + "...");
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) {
if (random == 1) {
player.getDialogueHandler().sendStatement("Wow! A needle!", "Now what are the chances of finding that?");
player.nextChat = 0;
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();
}
object(player, -1, 3097, 3357);
object(player, -1, 3097, 3360);
container.stop();
}
@Override
public void stop() {
player.stopPlayerPacket = false;
}
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);
}
}
}
@@ -1,118 +0,0 @@
package com.rebotted.game.objects.impl;
import com.rebotted.GameEngine;
import com.rebotted.game.content.traveling.DesertHeat;
import com.rebotted.game.players.Player;
import com.rebotted.world.clip.Region;
public class SpecialObjects {
private final static int[] AL_KHARID_GATES = { 2882, 2883 };
private final static int[] SHANTAY_GATES = { 4031, 4033 };
public static void openLumbridgePipe(Player c, int objectType) {
c.isRunning = false;
c.getPacketSender().sendConfig(173, 0);
c.playerWalkIndex = 819;
c.getPlayerAssistant().requestUpdates();
c.getPlayerAssistant().walkTo(0, -1);
}
public static boolean openKharid(Player player, int objectId) {
for (int element : AL_KHARID_GATES) {
if (objectId == element) {
return true;
}
}
return false;
}
public static boolean openShantay(Player c, int objectId) {
for (int element : SHANTAY_GATES) {
if (objectId == element) {
return true;
}
}
return false;
}
public static void movePlayer(Player c) {
if (Region.getClipping(c.getX() - 1, c.getY(), c.heightLevel, -1, 0)) {
c.getPlayerAssistant().movePlayer(c.absX + 1, c.absY, 0);
} else if (Region.getClipping(c.getX() + 1, c.getY(), c.heightLevel, 1,
0)) {
c.getPlayerAssistant().movePlayer(c.absX - 1, c.absY, 0);
} else if (Region.getClipping(c.getX(), c.getY() - 1, c.heightLevel, 0,
-1)) {
c.getPlayerAssistant().movePlayer(c.absX, c.absY + 1, 0);
} else if (Region.getClipping(c.getX(), c.getY() + 1, c.heightLevel, 0,
1)) {
c.getPlayerAssistant().movePlayer(c.absX, c.absY - 1, 0);
}
}
public static void openShantayChest(Player player, int objectId, int obX,
int obY, String type) {
if (type == "open") {
GameEngine.objectHandler.createAnObject(player, 104, obX, obY, player.heightLevel, -1);
} else if (type == "shut") {
GameEngine.objectHandler.createAnObject(player, 2693, obX, obY, player.heightLevel, -1);
}
}
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.nextChat = 0;
return;
}
GameEngine.objectHandler.createAnObject(player, -1, player.objectX, player.objectY, player.heightLevel, -1);
final int[] coords = new int[2];
openKharid(player, objectId);
if (player.absX == 3267) {
player.getPlayerAssistant().movePlayer(player.absX + 1, player.absY, 0);
} else if (player.absX == 3268) {
player.getPlayerAssistant().movePlayer(player.absX - 1, player.absY, 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 c) {
if (c.absY == 3117) {
c.getPlayerAssistant().movePlayer(c.absX, c.absY - 2, 0);
return true;
} else if (c.absY == 3115) {
c.getPlayerAssistant().movePlayer(c.absX, c.absY + 2, 0);
return true;
}
c.getPacketSender().sendMessage(
"Move closer so you can use the gate.");
return false;
}
public static void initShantay(Player c, int objectId) {
if (!c.getItemAssistant().playerHasItem(1854, 1) && c.absY == 3117) {
c.getDialogueHandler().sendStatement("You need a Shantay pass to go through.");
return;
}
final int[] coords = new int[2];
openShantay(c, objectId);
c.getPacketSender().sendMessage("You pass through the gate.");
movePlayer2(c);
c.turnPlayerTo(c.objectX, c.objectY);
coords[0] = c.objectX;
coords[1] = c.objectY;
if (c.desertWarning == false && c.absY == 3117) {
DesertHeat.showWarning(c);
c.desertWarning = true;
}
if (c.absY == 3117) {
c.getItemAssistant().deleteItem(1854, c.getItemAssistant().getItemSlot(1854), 1);
}
}
}
@@ -1,21 +0,0 @@
package com.rebotted.game.players;
public class Location {
private int x1, x2, y1, y2;
public Location(int x1, int x2, int y1, int y2) {
this.x1 = x1;
this.x2 = x2;
this.y1 = y1;
this.y2 = y2;
}
public boolean playerInArea(Player p) {
if(p.inArea(x1, y1, x2, y2)) {
return true;
}
return false;
}
}
@@ -462,6 +462,16 @@ public abstract class Player {
public boolean stopPlayer(boolean stop) {
return (stop ? stopPlayerPacket == true : stopPlayerPacket == false);
}
public long objectDelay;
public long getObjectDelay() {
return (objectDelay);
}
public long setObjectDelay(long delay) {
return (objectDelay = delay);
}
public boolean isSnowy;
@@ -801,7 +811,7 @@ public abstract class Player {
} else if(GameEngine.trawler.players.contains(this)) {
getPacketSender().walkableInterface(11908);
isSnowy = false;
} else if (isInBarrows() || isInBarrows2()) {
} else if (Boundary.isIn(this, Boundary.BARROWS) || Boundary.isIn(this, Boundary.BARROWS_UNDERGROUND)) {
getPacketSender().sendString("Kill Count: " + barrowsKillCount, 4536);
getPacketSender().walkableInterface(4535);
isSnowy = false;
@@ -1384,7 +1394,7 @@ public abstract class Player {
bankPin1, bankPin2, bankPin3, bankPin4, pinDeleteDateRequested,
rememberNpcIndex, ratsCaught, lastLoginDate, selectedSkill, newHerb,
newItem, newXp, doingHerb, herbAmount, treeX, treeY, lastH,
cookingItem, cookingObject, summonId, npcId2 = 0, leatherType = -1,
cookingItem, smeltingItem, cookingObject, summonId, npcId2 = 0, leatherType = -1,
weightCarried, teleotherType, rockX, rockY, itemUsing, tzKekTimer,
bananas, flourAmount, grain, questPoints, questStages,
teleGrabItem, teleGrabX, teleGrabY, duelCount, underAttackBy,
@@ -1571,16 +1581,8 @@ public abstract class Player {
}
}
public boolean inZammyWait() {
return isInAreaxxyy(2409, 2431, 9511, 9535);
}
public boolean inSaraWait() {
return isInAreaxxyy(2368, 2392, 9479, 9498);
}
public boolean inCwGame() {
return isInAreaxxyy(2368, 2431, 9479, 9535) || isInAreaxxyy(2368, 2431, 3072, 3135) && !inSaraWait() && !inZammyWait();
return isInAreaxxyy(2368, 2431, 9479, 9535) || isInAreaxxyy(2368, 2431, 3072, 3135) && !Boundary.isIn(this, Boundary.SARA_WAIT) && !Boundary.isIn(this, Boundary.ZAMMY_WAIT);
}
public void gameInterface(int id) {
@@ -1736,13 +1738,6 @@ public abstract class Player {
return false;
}
public boolean isInTut() {
if (absX >= 2625 && absX <= 2687 && absY >= 4670 && absY <= 4735) {
return true;
}
return false;
}
public boolean FightPitsArea() {
return absX >= 2378 && absX <= 2415 && absY >= 5133 && absY <= 5167
|| absX >= 2394 && absX <= 2404 && absY >= 5169 && absY <= 5174;
@@ -1822,20 +1817,6 @@ public abstract class Player {
return false;
}
public boolean isInBarrows() {
if(absX > 3543 && absX < 3584 && absY > 3265 && absY < 3311) {
return true;
}
return false;
}
public boolean isInBarrows2() {
if(absX > 3529 && absX < 3581 && absY > 9673 && absY < 9722) {
return true;
}
return false;
}
public boolean inDuelArena() {
if (absX > 3322 && absX < 3394 && absY > 3195 && absY < 3291 || absX > 3311 && absX < 3323 && absY > 3223 && absY < 3248) {
return true;
@@ -1843,20 +1824,6 @@ public abstract class Player {
return false;
}
public boolean inLumbBuilding() {
return isInAreaxxyy(3205, 3216, 3209, 3228) || isInAreaxxyy(3229, 3233, 3206, 3208) || isInAreaxxyy(3228, 3233, 3201, 3205) || isInAreaxxyy(3230, 3237, 3195, 3198) || isInAreaxxyy(3238, 3229, 3209, 3211) ||
isInAreaxxyy(3240, 3247, 3204, 3215) || isInAreaxxyy(3247, 3252, 3190, 3195) || isInAreaxxyy(3227, 3230, 3212, 3216) || isInAreaxxyy(3227, 3230, 3221, 3225) || isInAreaxxyy(3229, 3232, 3236, 3241) ||
isInAreaxxyy(3209, 3213, 3243, 3250) || isInAreaxxyy(3222, 3229, 3252, 3257) || isInAreaxxyy(3184, 3192, 3270, 3275) || isInAreaxxyy(3222, 3224, 3292, 3294) || isInAreaxxyy(3225, 3230, 3287, 3228) ||
isInAreaxxyy(3243, 3248, 3244, 3248) || isInAreaxxyy(3202, 3205, 3167, 3170) || isInAreaxxyy(3231, 3238, 3151, 3155) || isInAreaxxyy(3233, 3234, 3156, 3156) || isInAreaxxyy(3163, 3170, 3305, 3308) ||
isInAreaxxyy(3165, 3168, 3303, 3310);
}
public boolean inDraynorBuilding() {
return isInAreaxxyy(3097, 3102, 3277, 3281) || isInAreaxxyy(3088, 3092, 3273, 3276) || isInAreaxxyy(3096, 3102, 3266, 3270) || isInAreaxxyy(3089, 3095, 3265, 3268) || isInAreaxxyy(3083, 3088, 3256, 3261) ||
isInAreaxxyy(3087, 3094, 3251, 3255) || isInAreaxxyy(3121, 3130, 3240, 3246) || isInAreaxxyy(3102, 3112, 3162, 3165) || isInAreaxxyy(3107, 3111, 3166, 3166) || isInAreaxxyy(3103, 3115, 3157, 3161) ||
isInAreaxxyy(3105, 3114, 3156, 3156) || isInAreaxxyy(3105, 3113, 3155, 3155) || isInAreaxxyy(3106, 3112, 3154, 3154) || isInAreaxxyy(3092, 3097, 3240, 3246);
}
public boolean isInArea(final int x1, final int y1, final int x2, final int y2) {
return (absX >= x1 && absX <= x2 || absX <= x1 && absX >= x2) && (absY >= y1 && absY <= y2 || absY <= y1 && absY >= y2);
}
@@ -1151,7 +1151,7 @@ public class PlayerAssistant {
switch (spellId) {
case 1162: // low alch
if (player.inTrade) {
player.getPacketSender().sendMessage("You can't alch while in trade!");
player.getPacketSender().sendMessage("You can't alch while in a trade!");
return;
}
if (System.currentTimeMillis() - player.alchDelay > 1000) {
@@ -1215,8 +1215,7 @@ public class PlayerAssistant {
case 1178: // high alch
if (player.inTrade) {
player.getPacketSender().sendMessage(
"You can't alch while in trade!");
player.getPacketSender().sendMessage("You can't alch while in a trade!");
return;
}
if (System.currentTimeMillis() - player.alchDelay > 1000) {
@@ -1455,7 +1454,7 @@ public class PlayerAssistant {
} else if (PestControl.isInGame(player) || Boundary.isIn(player, Boundary.PC_GAME)) {
player.getPlayerAssistant().movePlayer(2658, 2609, 0);
player.getDialogueHandler().sendDialogues(601, 3790);
} else if (player.tutorialProgress < 36 || player.isInTut()) {
} else if (player.tutorialProgress < 36 || Boundary.isIn(player, Boundary.TUTORIAL)) {
player.getPlayerAssistant().movePlayer(3094, 3107, 0);
player.diedOnTut = true;
player.getDialogueHandler().sendStatement(
@@ -263,7 +263,7 @@ public class PlayerHandler {
if (updateRunning && !updateAnnounced) {
updateAnnounced = true;
GameEngine.UpdateServer = true;
GameEngine.updateServer = true;
}
if (updateRunning
&& System.currentTimeMillis() - updateStartTime > updateSeconds * 1000) {
@@ -13,149 +13,42 @@ import com.rebotted.game.players.Player;
public class Shops {
public enum Shop {
SHOP1(588, 2),
SHOP2(550, 3),
SHOP3(575, 4),
SHOP4(2356, 5),
SHOP5(3796, 6),
SHOP6(1860, 7),
SHOP7(559, 9),
SHOP8(562, 10),
SHOP9(581, 11),
SHOP10(548, 12),
SHOP11(554, 13),
SHOP12(601, 14),
SHOP13(1301, 15),
SHOP14(1039, 16),
SHOP15(2353, 17),
SHOP16(3166, 18),
SHOP17(2161, 19),
SHOP18(2162, 20),
SHOP19(600, 21),
SHOP20(603, 22),
SHOP21(593, 23),
SHOP22(545, 24),
SHOP23(585, 25),
SHOP24(2305, 26),
SHOP25(2307, 27),
SHOP26(2304, 28),
SHOP27(2306, 29),
SHOP28(517, 30),
SHOP29(558, 31),
SHOP30(576, 32),
SHOP31(1369, 33),
SHOP32(1038, 35),
SHOP33(1433, 36),
SHOP34(584, 37),
SHOP35(540, 38),
SHOP36(2157, 39),
SHOP37(538, 40),
SHOP38(1303, 41),
SHOP39(578, 42),
SHOP40(587, 43),
SHOP41(1398, 44),
SHOP42(556, 45),
SHOP43(1865, 46),
SHOP44(543, 47),
SHOP45(2198, 48),
SHOP46(580, 49),
SHOP47(1862, 50),
SHOP48(583, 51),
SHOP49(553, 52),
SHOP50(461, 53),
SHOP51(903, 54),
SHOP551(2258, 55),
SHOP52(1435, 56),
SHOP53(3800, 57),
SHOP54(2623, 58),
SHOP55(594, 59),
SHOP56(579, 60),
SHOP57(2160, 61),
SHOP58(2191, 61),
SHOP59(589, 62),
SHOP60(549, 63),
SHOP61(542, 64),
SHOP62(3038, 65),
SHOP63(544, 66),
SHOP64(541, 67),
SHOP65(1434, 68),
SHOP66(577, 69),
SHOP67(539, 70),
SHOP68(1980, 71),
SHOP69(546, 72),
SHOP70(382, 73),
SHOP71(3541, 74),
SHOP72(520, 75),
SHOP73(1436, 76),
SHOP74(590, 77),
SHOP75(971, 78),
SHOP76(1917, 79),
SHOP77(1040, 80),
SHOP78(563, 81),
SHOP79(522, 82),
SHOP80(524, 83),
SHOP81(526, 84),
SHOP82(2154, 85),
SHOP83(1334, 86),
SHOP84(2552, 87),
SHOP85(528, 88),
SHOP86(1254, 89),
SHOP87(2086, 90),
SHOP88(3824, 91),
SHOP89(1866, 92),
SHOP90(1699, 93),
SHOP91(1282, 94),
SHOP92(530, 95),
SHOP93(516, 96),
SHOP94(560, 97),
SHOP95(471, 98),
//SHOP96(1208, 99),
SHOP97(532, 100),
SHOP98(3797, 101),
SHOP99(534, 102),
SHOP100(836, 103),
SHOP101(551, 104),
SHOP102(586, 105),
SHOP103(564, 106),
SHOP104(747, 107),
SHOP105(573, 108),
SHOP106(1316, 108),
SHOP107(547, 108),
SHOP114(1787, 110),
SHOP116(1526, 112),
SHOP115(568, 113),
SHOP118(1083, 114),
SHOP119(735, 115),
SHOP120(793, 116),
SHOP121(794, 116),
SHOP122(1079, 117),
SHOP123(682, 119),
SHOP124(683, 120),
SHOP125(692, 121),
SHOP126(1658, 122),
SHOP127(461, 123),
//SHOP128(537, 124),
//SHOP129(536, 125),
SHOP130(904, 126),
SHOP131(2152, 127),
SHOP132(2153, 128),
SHOP133(2151, 129),
SHOP134(2158, 130),
SHOP135(2156, 131),
SHOP136(2159, 132),
SHOP137(851, 133),
SHOP138(602, 134),
SHOP139(596, 135),
SHOP140(597, 136),
SHOP141(1784, 137),
SHOP142(2620, 138),
SHOP143(2622, 139),
SHOP144(552, 88),
SHOP145(1778, 140),
SHOP146(1782, 141),
SHOP147(849, 142),
SHOP148(933, 145),
SHOP149(932, 192);
SHOP1(588, 2), SHOP2(550, 3), SHOP3(575, 4), SHOP4(2356, 5),
SHOP5(3796, 6), SHOP6(1860, 7), SHOP7(559, 9), SHOP8(562, 10),
SHOP9(581, 11), SHOP10(548, 12), SHOP11(554, 13), SHOP12(601, 14),
SHOP13(1301, 15), SHOP14(1039, 16), SHOP15(2353, 17), SHOP16(3166, 18),
SHOP17(2161, 19), SHOP18(2162, 20), SHOP19(600, 21), SHOP20(603, 22),
SHOP21(593, 23), SHOP22(545, 24), SHOP23(585, 25), SHOP24(2305, 26),
SHOP25(2307, 27), SHOP26(2304, 28), SHOP27(2306, 29), SHOP28(517, 30),
SHOP29(558, 31), SHOP30(576, 32), SHOP31(1369, 33), SHOP32(1038, 35),
SHOP33(1433, 36), SHOP34(584, 37), SHOP35(540, 38), SHOP36(2157, 39),
SHOP37(538, 40), SHOP38(1303, 41), SHOP39(578, 42), SHOP40(587, 43),
SHOP41(1398, 44), SHOP42(556, 45), SHOP43(1865, 46), SHOP44(543, 47),
SHOP45(2198, 48), SHOP46(580, 49), SHOP47(1862, 50), SHOP48(583, 51),
SHOP49(553, 52), SHOP50(461, 53), SHOP51(903, 54), SHOP551(2258, 55),
SHOP52(1435, 56), SHOP53(3800, 57), SHOP54(2623, 58), SHOP55(594, 59),
SHOP56(579, 60), SHOP57(2160, 61), SHOP58(2191, 61), SHOP59(589, 62),
SHOP60(549, 63), SHOP61(542, 64), SHOP62(3038, 65), SHOP63(544, 66),
SHOP64(541, 67), SHOP65(1434, 68), SHOP66(577, 69), SHOP67(539, 70),
SHOP68(1980, 71), SHOP69(546, 72), SHOP70(382, 73), SHOP71(3541, 74),
SHOP72(520, 75), SHOP73(1436, 76), SHOP74(590, 77), SHOP75(971, 78),
SHOP76(1917, 79), SHOP77(1040, 80), SHOP78(563, 81), SHOP79(522, 82),
SHOP80(524, 83), SHOP81(526, 84), SHOP82(2154, 85), SHOP83(1334, 86),
SHOP84(2552, 87), SHOP85(528, 88), SHOP86(1254, 89), SHOP87(2086, 90),
SHOP88(3824, 91), SHOP89(1866, 92), SHOP90(1699, 93), SHOP91(1282, 94),
SHOP92(530, 95), SHOP93(516, 96), SHOP94(560, 97), SHOP95(471, 98),
SHOP97(532, 100), SHOP98(3797, 101), SHOP99(534, 102), SHOP100(836, 103),
SHOP101(551, 104), SHOP102(586, 105), SHOP103(564, 106), SHOP104(747, 107),
SHOP105(573, 108), SHOP106(1316, 108), SHOP114(1787, 110), SHOP115(568, 113),
SHOP116(1526, 112), SHOP117(1972, 190), SHOP118(1083, 114), SHOP119(735, 115),
SHOP120(793, 116), SHOP121(794, 116), SHOP122(1079, 117), SHOP123(682, 119),
SHOP124(683, 120), SHOP125(692, 121), SHOP126(1658, 122), SHOP127(461, 123),
SHOP130(904, 126), SHOP131(2152, 127), SHOP132(2153, 128), SHOP133(2151, 129),
SHOP134(2158, 130), SHOP135(2156, 131), SHOP136(2159, 132), SHOP137(851, 133),
SHOP138(602, 134), SHOP139(596, 135), SHOP140(597, 136), SHOP141(1784, 137),
SHOP142(2620, 138), SHOP143(2622, 139), SHOP144(552, 88), SHOP145(1778, 140),
SHOP146(1782, 141), SHOP147(849, 142), SHOP148(970, 145), SHOP149(555, 220);
private final int npcId, shopId;
@@ -26,7 +26,6 @@ public class JavaCord {
//System.out.println("You can invite the bot by using the following url: " + api.createBotInvite());
api.addListener(new Commands());
api.addListener(new Forum());
api.addListener(new HeatMap());
api.addListener(new Hiscores());
api.addListener(new Issues());
api.addListener(new Online());
@@ -13,8 +13,6 @@ public class Commands implements MessageCreateListener {
+ System.lineSeparator() +
"::forum/::forums"
+ System.lineSeparator() +
"::heatmap"
+ System.lineSeparator() +
"::hiscores/::highscores"
+ System.lineSeparator() +
"::issues/::bugs"
@@ -9,7 +9,7 @@ public class Forum implements MessageCreateListener {
public void onMessageCreate(MessageCreateEvent event) {
Message message = event.getMessage();
if (message.getContent().equalsIgnoreCase("::forum") || message.getContent().equalsIgnoreCase("::forums")) {
event.getChannel().sendMessage("https://2006rebotted.tk/forums/");
event.getChannel().sendMessage("https://rsrebotted.com/forums/index.php");
}
}
}
@@ -1,15 +0,0 @@
package com.rebotted.integrations.discord.commands;
import org.javacord.api.entity.message.Message;
import org.javacord.api.event.message.MessageCreateEvent;
import org.javacord.api.listener.message.MessageCreateListener;
public class HeatMap implements MessageCreateListener {
@Override
public void onMessageCreate(MessageCreateEvent event) {
Message message = event.getMessage();
if (message.getContent().equalsIgnoreCase("::heatmap")) {
event.getChannel().sendMessage("https://2006rebotted.tk/heatmap.html");
}
}
}
@@ -9,7 +9,7 @@ public class Hiscores implements MessageCreateListener {
public void onMessageCreate(MessageCreateEvent event) {
Message message = event.getMessage();
if (message.getContent().equalsIgnoreCase("::hiscores") || message.getContent().equalsIgnoreCase("::highscores")) {
event.getChannel().sendMessage("https://2006rebotted.tk/hiscores.html");
event.getChannel().sendMessage("https://rsrebotted.com/hiscores.html");
}
}
}
@@ -8,7 +8,7 @@ public class Vote implements MessageCreateListener {
public void onMessageCreate(MessageCreateEvent event) {
Message message = event.getMessage();
if (message.getContent().equalsIgnoreCase("::vote")) {
event.getChannel().sendMessage("Visit https://2006rebotted.tk/vote.html then type \"::claimvote\" in-game to receive your reward!");
event.getChannel().sendMessage("Visit https://rsrebotted.com/vote.html then type \"::claimvote\" in-game to receive your reward!");
}
}
}
@@ -9,7 +9,7 @@ public class Website implements MessageCreateListener {
public void onMessageCreate(MessageCreateEvent event) {
Message message = event.getMessage();
if (message.getContent().equalsIgnoreCase("::website") || message.getContent().equalsIgnoreCase("::site")) {
event.getChannel().sendMessage("https://2006rebotted.tk/");
event.getChannel().sendMessage("www.rsrebotted.com");
}
}
}
@@ -217,7 +217,7 @@ public class RS2LoginProtocolDecoder extends CumulativeProtocolDecoder {
returnCode = 7;
}
if (GameEngine.UpdateServer) {
if (GameEngine.updateServer) {
returnCode = 14;
}
@@ -8,7 +8,7 @@ import com.rebotted.net.packets.impl.Bank10;
import com.rebotted.net.packets.impl.Bank5;
import com.rebotted.net.packets.impl.BankAll;
import com.rebotted.net.packets.impl.BankX1;
import com.rebotted.net.packets.impl.BankX2;
import com.rebotted.net.packets.impl.InterfaceX;
import com.rebotted.net.packets.impl.ChallengePlayer;
import com.rebotted.net.packets.impl.ChangeAppearance;
import com.rebotted.net.packets.impl.ChangeRegions;
@@ -122,7 +122,7 @@ public class PacketHandler {
packetId[95] = pm;
packetId[133] = pm;
packetId[135] = new BankX1();
packetId[208] = new BankX2();
packetId[208] = new InterfaceX();
Walking w = new Walking();
packetId[98] = w;
packetId[164] = w;
@@ -19,9 +19,9 @@ public class ChangeRegions implements PacketType {
Music.playMusic(c);
}
GameEngine.objectHandler.updateObjects(c);//testing
Doors.getSingleton().load();
GameEngine.itemHandler.reloadItems(c);
GameEngine.objectManager.loadObjects(c);
Doors.getSingleton().load();
GlobalDropsHandler.reset(c);
c.getPlayerAssistant().removeObjects();// testing
c.saveFile = true;
@@ -933,243 +933,6 @@ public class ClickingButtons implements PacketType {
}
break;
case 9167:
switch (player.dialogueAction) {
case 63:
player.getDialogueHandler().sendDialogues(166, player.npcType);
return;
case 64:
player.getDialogueHandler().sendDialogues(173, player.npcType);
return;
case 60:
player.getDialogueHandler().sendDialogues(277, player.npcType);
return;
case 61:
player.getDialogueHandler().sendDialogues(295, player.npcType);
return;
case 129:
player.getDialogueHandler().sendDialogues(231, player.npcType);
return;
case 58:
player.getDialogueHandler().sendDialogues(540, player.npcType);
return;
case 68:
player.getDialogueHandler().sendDialogues(39, player.npcType);
return;
case 124:
player.getDialogueHandler().sendDialogues(194, player.npcType);
return;
case 230:
player.getDialogueHandler().sendDialogues(1053, player.npcType);
return;
case 251:
player.getPacketSender().openUpBank();
player.nextChat = 0;
return;
case 144:
player.getDialogueHandler().sendDialogues(1314, player.npcType);
return;
case 502:
player.getDialogueHandler().sendDialogues(1026, player.npcType);
return;
case 1301: // first option haircut.
player.getDialogueHandler().sendDialogues(1302, 598);
return;
case 53:
if (player.objectId == 1293 || player.objectId == 1317) {
player.getPlayerAssistant().startTeleport(2542, 3169, 0, "modern");
} else {
player.getPacketSender().sendMessage("You can't teleport there, because you are already there!");
player.getPacketSender().closeAllWindows();
}
return;
case 159:
player.getDialogueHandler().sendDialogues(3161, player.npcType);
return;
case 167:
player.getDialogueHandler().sendDialogues(1343, player.npcType);
return;
case 222:
player.getDialogueHandler().sendDialogues(911, player.npcType);
player.dialogueAction = -1;
return;
case 182:
player.getDialogueHandler().sendNpcChat1("No, I was hoping someone could help me find it though.", player.talkingNpc, "Squire");
player.nextChat = 0;
return;
case 188:
player.getDialogueHandler().sendDialogues(3129, 945);
return;
case 185:
player.getDialogueHandler().sendDialogues(629, player.npcType);
return;
case 186: // Shield of Arrav
player.getDialogueHandler().sendDialogues(629, player.npcType);
return;
}
player.dialogueAction = 0;
player.getPacketSender().closeAllWindows();
break;
case 9168:
switch (player.dialogueAction) {
case 63:
player.getDialogueHandler().sendDialogues(167, player.npcType);
return;
case 64:
player.getDialogueHandler().sendDialogues(174, player.npcType);
return;
case 60:
player.getDialogueHandler().sendDialogues(279, player.npcType);
return;
case 61:
player.getDialogueHandler().sendDialogues(297, player.npcType);
return;
case 124:
player.getDialogueHandler().sendDialogues(192, player.npcType);
return;
case 126:
player.getDialogueHandler().sendDialogues(203, player.npcType);
return;
case 58:
player.getDialogueHandler().sendDialogues(538, player.npcType);
return;
case 68:
player.getDialogueHandler().sendDialogues(40, player.npcType);
return;
case 230:
player.getDialogueHandler().sendDialogues(1049, player.npcType);
break;
case 251:
player.getBankPin().bankPinSettings();
player.nextChat = 0;
return;
case 502:
player.getDialogueHandler().sendDialogues(1022, player.npcType);
return;
case 1301:
player.getDialogueHandler().sendDialogues(1308, 598);
return;
case 144:
player.getDialogueHandler().sendDialogues(1315, player.npcType);
return;
case 53:
if (player.objectId == 1294 || player.objectId == 1317) {
player.getPlayerAssistant().startTeleport(2461, 3444, 0,
"modern");
} else {
player.getPacketSender().sendMessage("You can't teleport there, because you are already there!");
player.getPacketSender().closeAllWindows();
}
return;
case 159:
player.getDialogueHandler().sendDialogues(3195, player.npcType);
return;
case 167:
player.getDialogueHandler().sendDialogues(1344, player.npcType);
return;
case 222:
player.getDialogueHandler().sendDialogues(912, player.npcType);
player.dialogueAction = -1;
return;
case 182:
player.getDialogueHandler().sendDialogues(615, player.npcType);
return;
case 188:
player.getDialogueHandler().sendDialogues(3130, 945);
return;
case 185:
player.getDialogueHandler().sendDialogues(628, player.npcType);
return;
case 186: // Shield of Arrav
player.getDialogueHandler().sendDialogues(628, player.npcType);
return;
}
player.dialogueAction = 0;
player.getPacketSender().closeAllWindows();
break;
case 9169:
switch (player.dialogueAction) {
case 63:
player.getDialogueHandler().sendDialogues(168, player.npcType);
return;
case 64:
player.getDialogueHandler().sendDialogues(175, player.npcType);
return;
case 60:
player.getDialogueHandler().sendDialogues(278, player.npcType);
return;
case 61:
player.getDialogueHandler().sendDialogues(296, player.npcType);
return;
case 53:
if (player.objectId == 1294 || player.objectId == 1293) {
player.getPlayerAssistant().startTeleport(3179, 3507, 0,
"modern");
} else {
player.getPacketSender().sendMessage("You can't teleport there, because you are already there!");
player.getPacketSender().closeAllWindows();
}
return;
case 129:
player.getDialogueHandler().sendDialogues(232, player.npcType);
return;
case 126:
player.getDialogueHandler().sendDialogues(204, player.npcType);
return;
case 144:
player.getDialogueHandler().sendDialogues(1316, player.npcType);
return;
case 124:
player.getDialogueHandler().sendDialogues(3193, 741);
return;
case 58:
player.getDialogueHandler().sendDialogues(539, player.npcType);
return;
case 68:
player.getDialogueHandler().sendDialogues(41, player.npcType);
return;
case 230:
player.getDialogueHandler().sendDialogues(1050, player.npcType);
break;
case 251:
player.getDialogueHandler().sendDialogues(1015, 494);
return;
case 502:
player.getDialogueHandler().sendDialogues(1025, player.npcType);
return;
case 1301:
player.getDialogueHandler().sendDialogues(1306, 598);
return;
case 222:
player.getDialogueHandler().sendDialogues(913, player.npcType);
player.dialogueAction = -1;
return;
case 167:
player.getDialogueHandler().sendDialogues(1342, player.npcType);
return;
case 159:
player.getDialogueHandler().sendDialogues(3160, player.npcType);
return;
case 182:
player.getDialogueHandler().sendNpcChat1("Of course he is angry...", player.talkingNpc, "Squire");
player.nextChat = 0;
return;
case 188:
player.getDialogueHandler().sendDialogues(3131, 945);
return;
case 185:
player.getDialogueHandler().sendDialogues(630, player.npcType);
return;
case 186: // Shield of Arrav
player.getDialogueHandler().sendDialogues(691, player.npcType);
return;
}
player.dialogueAction = 0;
player.getPacketSender().closeAllWindows();
break;
/** Dueling **/
case 26065: // no forfeit
case 26040:
@@ -2,13 +2,11 @@ package com.rebotted.net.packets.impl;
import com.rebotted.game.content.random.PartyRoom;
import com.rebotted.game.content.skills.cooking.Cooking;
import com.rebotted.game.content.skills.smithing.Smelting;
import com.rebotted.game.players.Player;
import com.rebotted.net.packets.PacketType;
/**
* Bank X Items
**/
public class BankX2 implements PacketType {
public class InterfaceX implements PacketType {
@Override
public void processPacket(Player player, int packetType, int packetSize) {
@@ -23,6 +21,9 @@ public class BankX2 implements PacketType {
if (player.playerIsCooking && player.doAmount > 0) {
Cooking.cookItem(player, player.cookingItem, Xamount, player.cookingObject);
}
if (player.isSmelting && player.doAmount > 0) {
Smelting.smeltBar(player, player.smeltingItem);
}
switch (player.xInterfaceId) {
case 5064:
if (player.inPartyRoom) {
@@ -10,6 +10,7 @@ import com.rebotted.game.items.UseItem;
import com.rebotted.game.items.impl.Fillables;
import com.rebotted.game.players.Player;
import com.rebotted.net.packets.PacketType;
import com.rebotted.world.Boundary;
import com.rebotted.world.clip.Region;
public class ItemOnObject implements PacketType {
@@ -84,7 +85,7 @@ public class ItemOnObject implements PacketType {
&& player.absX < 2813 || player.absY > 3437 && player.absY < 3442) {
return;
}
if (player.tutorialProgress < 36 || player.isInTut()) {
if (player.tutorialProgress < 36 || Boundary.isIn(player, Boundary.TUTORIAL)) {
CookingTutorialIsland.cookThisFood(player, itemId, objectId);
} else {
Cooking.startCooking(player, itemId, objectId);
@@ -281,7 +281,6 @@ public class Boundary {
public static final Boundary ARDOUGNE_ZOO = new Boundary(2593, 2639, 3265, 3288);
public static final Boundary APE_ATOLL = new Boundary(2694, 2811, 2691, 2805);
public static final Boundary TUTORIAL_ISLAND = new Boundary(2625, 2687, 4670, 4735);
public static final Boundary BARROWS = new Boundary(3543, 3584, 3265, 3311);
public static final Boundary BARROWS_UNDERGROUND = new Boundary(3529, 3581, 9673, 9722);
public static final Boundary PC_BOAT = new Boundary(2660, 2663, 2638, 2643);
@@ -72,6 +72,28 @@ public class ObjectHandler {
}
GameEngine.objectHandler.placeObject(OBJECT);
}
public void createAnObject(Player player, int id, int x, int y, int h) {
Objects OBJECT = new Objects(id, x, y, h, 0, 10, 0);
if (id == -1) {
removeObject(OBJECT);
} else {
addObject(OBJECT);
}
GameEngine.objectHandler.placeObject(OBJECT);
}
public void createAnObject(int id, int x, int y, int h, int face, int type) {
Objects OBJECT = new Objects(id, x, y, h, face, type, 0);
if (id == -1) {
removeObject(OBJECT);
} else {
addObject(OBJECT);
}
//Server.canLoadObjects = true;
GameEngine.objectHandler.placeObject(OBJECT);
}
public void createAnObject(int id, int x, int y) {
Objects OBJECT = new Objects(id, x, y, 0, 0, 10, 0);