Compare commits

..

1 Commits

Author SHA1 Message Date
dginovker 488ff99c7f Fixed some items dcing client 2019-12-27 12:40:17 -05:00
43 changed files with 1145 additions and 772 deletions
Binary file not shown.
+4 -4
View File
@@ -9503,13 +9503,13 @@ public class Game extends RSApplet {
if (loginScreenState == 3) { if (loginScreenState == 3) {
chatTextDrawingArea.method382(0xffff00, c / 2, "Create a free account", c1 / 2 - 60, true); chatTextDrawingArea.method382(0xffff00, c / 2, "Create a free account", c1 / 2 - 60, true);
int k = c1 / 2 - 35; int k = c1 / 2 - 35;
chatTextDrawingArea.method382(0xffffff, c / 2, "To create a new account just click", k, true); chatTextDrawingArea.method382(0xffffff, c / 2, "To create a new account you need to", k, true);
k += 15; k += 15;
chatTextDrawingArea.method382(0xffffff, c / 2, "\"Cancel\" below, and click \"Existing User\".", k, true); chatTextDrawingArea.method382(0xffffff, c / 2, "go back to the main " + ClientSettings.SERVER_NAME + " webpage", k, true);
k += 15; k += 15;
chatTextDrawingArea.method382(0xffffff, c / 2, "Log in with any credentials you want and an", k, true); chatTextDrawingArea.method382(0xffffff, c / 2, "and choose the red 'create account'", k, true);
k += 15; k += 15;
chatTextDrawingArea.method382(0xffffff, c / 2, "account will automatically be created for you.", k, true); chatTextDrawingArea.method382(0xffffff, c / 2, "button at the top right of that page.", k, true);
k += 15; k += 15;
int j1 = c / 2; int j1 = c / 2;
int i2 = c1 / 2 + 50; int i2 = c1 / 2 + 50;
+1 -1
View File
@@ -103,7 +103,7 @@ shop = 102 Zanaris_General_Store 1 1 1931 30 1935 10 1735 10 1925 30 1923 10 590
shop = 103 Shantay_Store 2 2 1823 30 1831 30 1937 10 1921 10 1929 10 946 10 1833 10 1835 10 1837 10 2349 0 314 1000 2347 10 1925 30 1923 10 1935 10 954 100 1854 100 shop = 103 Shantay_Store 2 2 1823 30 1831 30 1937 10 1921 10 1929 10 946 10 1833 10 1835 10 1837 10 2349 0 314 1000 2347 10 1925 30 1923 10 1935 10 954 100 1854 100
shop = 104 Varrock_Sword_Shop 2 2 1277 10 1279 10 1281 10 1283 10 1285 10 1287 10 1291 10 1293 10 1295 10 1297 10 1299 10 1301 10 1205 10 1203 10 1207 10 1209 10 1211 10 shop = 104 Varrock_Sword_Shop 2 2 1277 10 1279 10 1281 10 1283 10 1285 10 1287 10 1291 10 1293 10 1295 10 1297 10 1299 10 1301 10 1205 10 1203 10 1207 10 1209 10 1211 10
shop = 105 Taverly_Sword_Shop 2 2 1307 10 1309 10 1311 10 1313 10 1315 10 1317 10 shop = 105 Taverly_Sword_Shop 2 2 1307 10 1309 10 1311 10 1313 10 1315 10 1317 10
shop = 106 Jukats_Sword_Shop 2 2 1305 2 1215 2 shop = 106 Jukats_Sword_Shop 2 2 1305 10 1215 30
shop = 107 Oziachs_Armour 2 2 1127 10 1135 10 shop = 107 Oziachs_Armour 2 2 1127 10 1135 10
shop = 108 Fur_Trader 2 2 948 10 958 10 shop = 108 Fur_Trader 2 2 948 10 958 10
shop = 109 Slayer_Shop 2 2 4155 10 4166 10 4161 20 6696 20 7051 10 4551 10 7159 10 6720 10 4168 10 4164 10 4158 10 4172 50000 4170 10 7432 10 7421 1000 4162 10 4156 10 shop = 109 Slayer_Shop 2 2 4155 10 4166 10 4161 20 6696 20 7051 10 4551 10 7159 10 6720 10 4168 10 4164 10 4158 10 4172 50000 4170 10 7432 10 7421 1000 4162 10 4156 10
+1 -1
View File
@@ -4,5 +4,5 @@ for i in {0..50}
do do
rm -rf com/ rm -rf com/
cp -r ../CompiledServer/production/2006rebotted/com . cp -r ../CompiledServer/production/2006rebotted/com .
java -Xmx15G -cp ".:./libs/*" com.rebotted.GameEngine | tee -a server_running_output.txt java -Xmx15G -cp ".:./libs/*" com.rebotted.GameEngine
done done
@@ -62,9 +62,6 @@ public class CombatAssistant {
NpcHandler.npcs[i].updateRequired = true; NpcHandler.npcs[i].updateRequired = true;
} }
if (CombatConstants.COMBAT_SOUNDS) { if (CombatConstants.COMBAT_SOUNDS) {
if (PestControl.npcIsPCMonster(NpcHandler.npcs[i].npcType) || PestControl.isPCPortal(NpcHandler.npcs[i].npcType)) {
return;
}
c.getPacketSender().sendSound(CombatSounds.getNpcBlockSound(NpcHandler.npcs[c.oldNpcIndex].npcType), 100, 0); c.getPacketSender().sendSound(CombatSounds.getNpcBlockSound(NpcHandler.npcs[c.oldNpcIndex].npcType), 100, 0);
} }
NpcHandler.npcs[i].facePlayer(c.playerId); NpcHandler.npcs[i].facePlayer(c.playerId);
@@ -155,7 +152,7 @@ public class CombatAssistant {
c.getPlayerAssistant().refreshSkill(4); c.getPlayerAssistant().refreshSkill(4);
} }
if (damage > 0) { if (damage > 0) {
if (PestControl.npcIsPCMonster(NpcHandler.npcs[i].npcType) || PestControl.isPCPortal(NpcHandler.npcs[i].npcType)) { if (NpcHandler.npcs[i].npcType >= 3777 && NpcHandler.npcs[i].npcType <= 3780 || PestControl.npcIsPCMonster(NpcHandler.npcs[i].npcType)) {
c.pcDamage += damage; c.pcDamage += damage;
} }
} }
@@ -235,7 +232,7 @@ public class CombatAssistant {
c.getPlayerAssistant().refreshSkill(6); c.getPlayerAssistant().refreshSkill(6);
if (damage > 0) { if (damage > 0) {
if (PestControl.npcIsPCMonster(NpcHandler.npcs[i].npcType) || PestControl.isPCPortal(NpcHandler.npcs[i].npcType)) { if (NpcHandler.npcs[i].npcType >= 3777 && NpcHandler.npcs[i].npcType <= 3780 || PestControl.npcIsPCMonster(NpcHandler.npcs[i].npcType)) {
c.pcDamage += damage; c.pcDamage += damage;
} }
} }
@@ -356,7 +353,7 @@ public class CombatAssistant {
} }
} }
if (damage > 0) { if (damage > 0) {
if (PestControl.npcIsPCMonster(NpcHandler.npcs[i].npcType) || PestControl.isPCPortal(NpcHandler.npcs[i].npcType)) { if (NpcHandler.npcs[i].npcType >= 3777 && NpcHandler.npcs[i].npcType <= 3780 || PestControl.npcIsPCMonster(NpcHandler.npcs[i].npcType)) {
c.pcDamage += damage; c.pcDamage += damage;
} }
} }
@@ -2,9 +2,15 @@ package com.rebotted.game.content.combat.magic;
import com.rebotted.game.content.randomevents.RandomEventHandler; import com.rebotted.game.content.randomevents.RandomEventHandler;
import com.rebotted.game.players.Player; import com.rebotted.game.players.Player;
import com.rebotted.util.Misc;
public class MagicTeleports { public class MagicTeleports {
public static final int AIR_RUNE = 556, FIRE_RUNE = 554,
WATER_RUNE = 555, EARTH_RUNE = 557,
LAW_RUNE = 563, BLOOD_RUNE = 565,
SOUL_RUNE = 566, BANANA = 1963;
public static void handleLoginText(Player player) { public static void handleLoginText(Player player) {
player.getPacketSender().sendFrame126("Level 25: Varrock Teleport", 1300); player.getPacketSender().sendFrame126("Level 25: Varrock Teleport", 1300);
player.getPacketSender().sendFrame126("Level 31: Lumbridge Teleport", 1325); player.getPacketSender().sendFrame126("Level 31: Lumbridge Teleport", 1325);
@@ -18,44 +24,402 @@ public class MagicTeleports {
player.getPacketSender().sendFrame126("Level 78: Dareeyak Teleport", 13071); player.getPacketSender().sendFrame126("Level 78: Dareeyak Teleport", 13071);
} }
/**
* Modern Teleports
*/
public static final int VARROCK_X = 3213, VARROCK_Y = 3423;
public static final int LUMBRIDGE_X = 3222, LUMBRIDGE_Y = 3218;
public static final int FALADOR_X = 2964, FALADOR_Y = 3378;
public static final int CAMELOT_X = 2757, CAMELOT_Y = 3479;
public static final int ARDOUGNE_X = 2662, ARDOUGNE_Y = 3305;
public static final int WATCHTOWER_X = 2547, WATCHTOWER_Y = 3112;
public static final int TROLLHEIM_X = 2910, TROLLHEIM_Y = 3612;
public static final int APE_ATOLL_X = 2754, APE_ATOLL_Y = 2784;
/**
* Ancient Teleports
*/
public static final int PADDEWWA_X = 3098, PADDEWWA_Y = 9884;
public static final int SENNTISTEN_X = 3321, SENNTISTEN_Y = 3335;
public static final int KHARYRLL_X = 3493, KHARYRLL_Y = 3472;
public static final int LASSAR_X = 3006, LASSAR_Y = 3471;
public static final int DAREEYAK_X = 3161, DAREEYAK_Y = 3671;
public static final int CARRALLANGAR_X = 3157, CARRALLANGAR_Y = 3669;
public static final int ANNAKARL_X = 3286, ANNAKARL_Y = 3884;
public static final int GHORROCK_X = 2977, GHORROCK_Y = 3873;
public static final boolean MAGIC_LEVEL_REQUIRED = true, RUNES_REQUIRED = true; public static final boolean MAGIC_LEVEL_REQUIRED = true, RUNES_REQUIRED = true;
public static void handleSpellTeleport(Player player, SpellTeleport teleport) { public static boolean teleportCheck(Player player) {
if (player.teleTimer > 0) { if (player.teleTimer > 0) {
return; return false;
} }
if (player.wildLevel > 20) { return true;
player.getPacketSender().sendMessage("You can't teleport above level 20 wilderness."); }
return;
} public static void paddewwaTeleport(Player player) {
if (player.playerLevel[player.playerMagic] < teleport.getRequiredLevel()) { if (!teleportCheck(player)) {
player.getPacketSender().sendMessage("You need a magic level of " + teleport.getRequiredLevel() + " to cast this spell.");
return;
}
if (!CastRequirements.hasRunes(player, teleport.getRequiredRunes())) {
player.getPacketSender().sendMessage("You don't have the required runes to cast this spell.");
return; return;
} }
RandomEventHandler.addRandom(player); RandomEventHandler.addRandom(player);
CastRequirements.deleteRunes(player, teleport.getRequiredRunes()); if (RUNES_REQUIRED) {
player.getPlayerAssistant().startTeleport(teleport.getDestX(), teleport.getDestY(), teleport.getDestZ(), teleport.getType()); if (!CastRequirements.hasRunes(player, new int[][]{{LAW_RUNE, 2}, {FIRE_RUNE, 1}, {AIR_RUNE, 1}})) {
player.getPlayerAssistant().addSkillXP(teleport.getExperienceGained(), player.playerMagic); player.getPacketSender().sendMessage("You don't have the required runes to cast this spell.");
return;
}
}
if (MAGIC_LEVEL_REQUIRED) {
if (player.playerLevel[player.playerMagic] < 54) {
player.getPacketSender().sendMessage("You need a magic level of 54 to cast this spell.");
return;
}
}
CastRequirements.deleteRunes(player, new int[][]{{LAW_RUNE, 2}, {FIRE_RUNE, 1}, {AIR_RUNE, 1}});
player.getPlayerAssistant().startTeleport(PADDEWWA_X + Misc.random(2), PADDEWWA_Y - Misc.random(2), 0, "ancient");
player.getPlayerAssistant().addSkillXP(64, player.playerMagic);
} }
public static void senntisenTeleport(Player player) {
if (!teleportCheck(player)) {
return;
}
RandomEventHandler.addRandom(player);
if (RUNES_REQUIRED) {
if (!CastRequirements.hasRunes(player, new int[][]{{LAW_RUNE, 2}, {SOUL_RUNE, 1}})) {
player.getPacketSender().sendMessage("You don't have the required runes to cast this spell.");
return;
}
}
if (MAGIC_LEVEL_REQUIRED) {
if (player.playerLevel[player.playerMagic] < 60) {
player.getPacketSender().sendMessage("You need a magic level of 60 to cast this spell.");
return;
}
}
CastRequirements.deleteRunes(player, new int[][]{{LAW_RUNE, 2}, {SOUL_RUNE, 1}});
player.getPlayerAssistant().startTeleport(SENNTISTEN_X + Misc.random(1), SENNTISTEN_Y - Misc.random(1), 0, "ancient");
player.getPlayerAssistant().addSkillXP(70, player.playerMagic);
}
public static void kharyllTeleport(Player player) {
if (!teleportCheck(player)) {
return;
}
RandomEventHandler.addRandom(player);
if (RUNES_REQUIRED) {
if (!CastRequirements.hasRunes(player, new int[][]{{LAW_RUNE, 2}, {BLOOD_RUNE, 1}})) {
player.getPacketSender().sendMessage("You don't have the required runes to cast this spell.");
return;
}
}
if (MAGIC_LEVEL_REQUIRED) {
if (player.playerLevel[player.playerMagic] < 66) {
player.getPacketSender().sendMessage("You need a magic level of 66 to cast this spell.");
return;
}
}
CastRequirements.deleteRunes(player, new int[][]{{LAW_RUNE, 2}, {BLOOD_RUNE, 1}});
player.getPlayerAssistant().startTeleport(KHARYRLL_X, KHARYRLL_Y, 0, "ancient");
player.getPlayerAssistant().addSkillXP(76, player.playerMagic);
}
public static void lassarTeleport(Player player) {
if (!teleportCheck(player)) {
return;
}
RandomEventHandler.addRandom(player);
if (RUNES_REQUIRED) {
if (!CastRequirements.hasRunes(player, new int[][]{{LAW_RUNE, 2}, {WATER_RUNE, 4}})) {
player.getPacketSender().sendMessage("You don't have the required runes to cast this spell.");
return;
}
}
if (MAGIC_LEVEL_REQUIRED) {
if (player.playerLevel[player.playerMagic] < 72) {
player.getPacketSender().sendMessage("You need a magic level of 72 to cast this spell.");
return;
}
}
CastRequirements.deleteRunes(player, new int[][]{{LAW_RUNE, 2}, {WATER_RUNE, 4}});
player.getPlayerAssistant().startTeleport(LASSAR_X + Misc.random(2), LASSAR_Y - Misc.random(2), 0, "ancient");
player.getPlayerAssistant().addSkillXP(82, player.playerMagic);
}
public static void dareeyakTeleport(Player player) {
if (!teleportCheck(player)) {
return;
}
RandomEventHandler.addRandom(player);
if (RUNES_REQUIRED) {
if (!CastRequirements.hasRunes(player, new int[][]{{LAW_RUNE, 2}, {FIRE_RUNE, 3}, {AIR_RUNE, 2}})) {
player.getPacketSender().sendMessage("You don't have the required runes to cast this spell.");
return;
}
}
if (MAGIC_LEVEL_REQUIRED) {
if (player.playerLevel[player.playerMagic] < 78) {
player.getPacketSender().sendMessage("You need a magic level of 78 to cast this spell.");
return;
}
}
CastRequirements.deleteRunes(player, new int[][]{{LAW_RUNE, 2}, {FIRE_RUNE, 3}, {AIR_RUNE, 2}});
player.getPlayerAssistant().startTeleport(
DAREEYAK_X + Misc.random(1),
DAREEYAK_Y - Misc.random(1), 0, "ancient");
player.getPlayerAssistant().addSkillXP(88, player.playerMagic);
}
public static void carrallangarTeleport(Player player) {
if (!teleportCheck(player)) {
return;
}
RandomEventHandler.addRandom(player);
if (RUNES_REQUIRED) {
if (!CastRequirements.hasRunes(player, new int[][]{{LAW_RUNE, 2}, {SOUL_RUNE, 2}})) {
player.getPacketSender()
.sendMessage(
"You don't have the required runes to cast this spell.");
return;
}
}
if (MAGIC_LEVEL_REQUIRED) {
if (player.playerLevel[player.playerMagic] < 84) {
player.getPacketSender().sendMessage("You need a magic level of 84 to cast this spell.");
return;
}
}
CastRequirements.deleteRunes(player, new int[][]{{LAW_RUNE, 2}, {SOUL_RUNE, 2}});
player.getPlayerAssistant().startTeleport(CARRALLANGAR_X + Misc.random(2), CARRALLANGAR_Y - Misc.random(2), 0, "ancient");
player.getPlayerAssistant().addSkillXP(94, player.playerMagic);
}
public static void annakarlTeleport(Player player) {
if (!teleportCheck(player)) {
return;
}
RandomEventHandler.addRandom(player);
if (RUNES_REQUIRED) {
if (!CastRequirements.hasRunes(player, new int[][]{{LAW_RUNE, 2}, {BLOOD_RUNE, 2}})) {
player.getPacketSender().sendMessage("You don't have the required runes to cast this spell.");
return;
}
}
if (MAGIC_LEVEL_REQUIRED) {
if (player.playerLevel[player.playerMagic] < 90) {
player.getPacketSender().sendMessage("You need a magic level of 90 to cast this spell.");
return;
}
}
CastRequirements.deleteRunes(player, new int[][]{{LAW_RUNE, 2}, {BLOOD_RUNE, 2}});
player.getPlayerAssistant().startTeleport(ANNAKARL_X + Misc.random(1), ANNAKARL_Y - Misc.random(1), 0, "ancient");
player.getPlayerAssistant().addSkillXP(100, player.playerMagic);
}
public static void ghorrockTeleport(Player player) {
if (!teleportCheck(player)) {
return;
}
RandomEventHandler.addRandom(player);
if (RUNES_REQUIRED) {
if (!CastRequirements.hasRunes(player, new int[][]{{LAW_RUNE, 2}, {WATER_RUNE, 8}})) {
player.getPacketSender().sendMessage("You don't have the required runes to cast this spell.");
return;
}
}
if (MAGIC_LEVEL_REQUIRED) {
if (player.playerLevel[player.playerMagic] < 96) {
player.getPacketSender().sendMessage("You need a magic level of 96 to cast this spell.");
return;
}
}
CastRequirements.deleteRunes(player, new int[][]{{LAW_RUNE, 2}, {WATER_RUNE, 8}});
player.getPlayerAssistant().startTeleport(GHORROCK_X + Misc.random(3),
GHORROCK_Y - Misc.random(3), 0, "ancient");
player.getPlayerAssistant().addSkillXP(106, player.playerMagic);
}
public static void varrockTeleport(Player player) {
if (!teleportCheck(player)) {
return;
}
RandomEventHandler.addRandom(player);
if (RUNES_REQUIRED) {
if (!CastRequirements.hasRunes(player, new int[][]{{LAW_RUNE, 1}, {FIRE_RUNE, 1}, {AIR_RUNE, 3}})) {
player.getPacketSender().sendMessage("You don't have the required runes to cast this spell.");
return;
}
}
if (MAGIC_LEVEL_REQUIRED) {
if (player.playerLevel[player.playerMagic] < 25) {
player.getPacketSender().sendMessage("You need a magic level of 25 to cast this spell.");
return;
}
}
CastRequirements.deleteRunes(player, new int[][]{{LAW_RUNE, 1}, {FIRE_RUNE, 1}, {AIR_RUNE, 3}});
player.getPlayerAssistant().startTeleport(VARROCK_X + Misc.random(2), VARROCK_Y - Misc.random(2), 0, "modern");
player.getPlayerAssistant().addSkillXP(35, player.playerMagic);
}
public static void lumbridgeTeleport(Player player) {
if (!teleportCheck(player)) {
return;
}
RandomEventHandler.addRandom(player);
if (RUNES_REQUIRED) {
if (!CastRequirements.hasRunes(player, new int[][]{{LAW_RUNE, 1}, {EARTH_RUNE, 1}, {AIR_RUNE, 3}})) {
player.getPacketSender().sendMessage("You don't have the required runes to cast this spell.");
return;
}
}
if (MAGIC_LEVEL_REQUIRED) {
if (player.playerLevel[player.playerMagic] < 31) {
player.getPacketSender().sendMessage("You need a magic level of 31 to cast this spell.");
return;
}
}
CastRequirements.deleteRunes(player, new int[][]{{LAW_RUNE, 1}, {EARTH_RUNE, 1}, {AIR_RUNE, 3}});
player.getPlayerAssistant().startTeleport(LUMBRIDGE_X, LUMBRIDGE_Y, 0, "modern");
player.getPlayerAssistant().addSkillXP(35, player.playerMagic);
}
public static void faladorTeleport(Player player) {
/*if (!teleportCheck(player)) {
return;
}*/
RandomEventHandler.addRandom(player);
if (RUNES_REQUIRED) {
if (!CastRequirements.hasRunes(player, new int[][]{{LAW_RUNE, 1}, {WATER_RUNE, 1}, {AIR_RUNE, 3}})) {
player.getPacketSender().sendMessage("You don't have the required runes to cast this spell.");
return;
}
}
if (MAGIC_LEVEL_REQUIRED) {
if (player.playerLevel[player.playerMagic] < 37) {
player.getPacketSender().sendMessage("You need a magic level of 37 to cast this spell.");
return;
}
}
CastRequirements.deleteRunes(player, new int[][]{{LAW_RUNE, 1}, {WATER_RUNE, 1}, {AIR_RUNE, 3}});
player.getPlayerAssistant().startTeleport(FALADOR_X + Misc.random(4), FALADOR_Y - Misc.random(4), 0, "modern");
player.getPlayerAssistant().addSkillXP(48, player.playerMagic);
}
public static void camelotTeleport(Player player) {
if (!teleportCheck(player)) {
return;
}
RandomEventHandler.addRandom(player);
if (RUNES_REQUIRED) {
if (!CastRequirements.hasRunes(player, new int[][]{{LAW_RUNE, 1}, {AIR_RUNE, 5}})) {
player.getPacketSender().sendMessage("You don't have the required runes to cast this spell.");
return;
}
}
if (MAGIC_LEVEL_REQUIRED) {
if (player.playerLevel[player.playerMagic] < 45) {
player.getPacketSender().sendMessage("You need a magic level of 45 to cast this spell.");
return;
}
}
CastRequirements.deleteRunes(player, new int[][]{{LAW_RUNE, 1}, {AIR_RUNE, 5}});
// 2757, 3479
player.getPlayerAssistant().startTeleport(CAMELOT_X + Misc.random(1), CAMELOT_Y - Misc.random(1), 0, "modern");
player.getPlayerAssistant().addSkillXP(55.5, player.playerMagic);
}
public static void ardougneTeleport(Player player) {
if (!teleportCheck(player)) {
return;
}
RandomEventHandler.addRandom(player);
if (RUNES_REQUIRED) {
if (!CastRequirements.hasRunes(player, new int[][]{{LAW_RUNE, 2}, {WATER_RUNE, 2}})) {
player.getPacketSender().sendMessage("You don't have the required runes to cast this spell.");
return;
}
}
if (MAGIC_LEVEL_REQUIRED) {
if (player.playerLevel[player.playerMagic] < 51) {
player.getPacketSender().sendMessage("You need a magic level of 51 to cast this spell.");
return;
}
}
CastRequirements.deleteRunes(player, new int[][]{{LAW_RUNE, 2}, {WATER_RUNE, 2}});
player.getPlayerAssistant().startTeleport(ARDOUGNE_X + Misc.random(4),
ARDOUGNE_Y - Misc.random(4), 0, "modern");
player.getPlayerAssistant().addSkillXP(61, player.playerMagic);
}
public static void watchTowerTeleport(Player player) {
if (!teleportCheck(player)) {
return;
}
RandomEventHandler.addRandom(player);
if (RUNES_REQUIRED) {
if (!CastRequirements.hasRunes(player, new int[][]{{LAW_RUNE, 2}, {EARTH_RUNE, 2}})) {
player.getPacketSender().sendMessage("You don't have the required runes to cast this spell.");
return;
}
}
if (MAGIC_LEVEL_REQUIRED) {
if (player.playerLevel[player.playerMagic] < 58) {
player.getPacketSender().sendMessage(
"You need a magic level of 58 to cast this spell.");
return;
}
}
CastRequirements.deleteRunes(player, new int[][]{{LAW_RUNE, 2}, {EARTH_RUNE, 2}});
player.getPlayerAssistant().startTeleport(WATCHTOWER_X, WATCHTOWER_Y, 1, "modern");
player.getPlayerAssistant().addSkillXP(68, player.playerMagic);
}
public static void trollhiemTeleport(Player player) {
if (!teleportCheck(player)) {
return;
}
RandomEventHandler.addRandom(player);
if (RUNES_REQUIRED) {
if (!CastRequirements.hasRunes(player, new int[][]{{LAW_RUNE, 2}, {FIRE_RUNE, 2}})) {
player.getPacketSender().sendMessage("You don't have the required runes to cast this spell.");
return;
}
}
if (MAGIC_LEVEL_REQUIRED) {
if (player.playerLevel[player.playerMagic] < 61) {
player.getPacketSender().sendMessage("You need a magic level of 61 to cast this spell.");
return;
}
}
CastRequirements.deleteRunes(player, new int[][]{{LAW_RUNE, 2}, {FIRE_RUNE, 2}});
player.getPlayerAssistant().startTeleport(2892 + Misc.random(2),
3679 - Misc.random(2), 0, "modern");
player.getPlayerAssistant().addSkillXP(68, player.playerMagic);
}
public static void apeAtollTeleport(Player player) {
if (!teleportCheck(player)) {
return;
}
RandomEventHandler.addRandom(player);
if (RUNES_REQUIRED) {
if (!CastRequirements.hasRunes(player, new int[][]{{LAW_RUNE, 2}, {FIRE_RUNE, 2}, {WATER_RUNE, 2}}) || !player.getItemAssistant().playerHasItem(BANANA, 1)) {
player.getPacketSender().sendMessage("You don't have the required items to cast this spell.");
return;
}
}
if (player.questPoints < 19) {
player.getPacketSender().sendMessage("You need " + 19 + " quest points to teleport here.");
return;
}
if (MAGIC_LEVEL_REQUIRED) {
if (player.playerLevel[player.playerMagic] < 64) {
player.getPacketSender().sendMessage("You need a magic level of 64 to cast this spell.");
return;
}
}
CastRequirements.deleteRunes(player, new int[][]{{LAW_RUNE, 2}, {FIRE_RUNE, 2}, {WATER_RUNE, 2}});
player.getItemAssistant().deleteItem(BANANA, 1);
player.getPlayerAssistant().startTeleport(2798 + Misc.random(1), 2798 - Misc.random(1), 1, "modern");
player.getPlayerAssistant().addSkillXP(76, player.playerMagic);
}
} }
@@ -1,82 +0,0 @@
package com.rebotted.game.content.combat.magic;
public enum SpellTeleport {
VARROCK(25, 4140, 35, 3213, 3422, 0, new int[][]{{563, 1}, {554, 1}, {556, 3}}, "modern"),
LUMBRIDGE(31,4143, 41, 3222, 3218, 0, new int[][]{{563, 1}, {557, 1}, {556, 3}}, "modern"),
FALADOR(37, 4146, 48, 2965, 3378, 0, new int[][]{{563, 1}, {555, 1}, {556, 3}}, "modern"),
CAMELOT(45, 4150, 55.5, 2757, 3479, 0, new int[][]{{563, 1}, {556, 5}}, "modern"),
ARDOUGNE(51, 6004, 61, 2662, 3304, 0, new int[][]{{563, 2}, {555, 2}}, "modern"),
WATCHTOWER(58, 6005, 68, 2547, 3112, 1, new int[][]{{563, 2}, {557, 2}}, "modern"),
TROLLHEIM(61, 29031, 68, 2893, 3679, 0, new int[][]{{563, 2}, {554, 2}}, "modern"),
APE_ATOLL(64, 72038, 74, 2798, 2798, 1, new int[][]{{563, 2}, {554, 2}, {555, 2}, {1963, 1}}, "modern"),
PADDEWWA(54, 50235, 64, 3098, 9884, 0, new int[][] {{563, 2}, {554, 1}, {556, 1}}, "ancient"),
SENNTISTEN(60, 50245, 70, 3321, 3335, 0, new int[][] {{566, 1}, {563, 2}}, "ancient"),
KHARYLL(66, 50253, 76, 3493, 3472, 0, new int[][] {{565, 1}, {563, 2}}, "ancient"),
LASSAR(72, 51005, 82, 3006, 3471, 0, new int[][] {{563, 2}, {555, 4}}, "ancient"),
DAREEYAK(78, 51013, 88, 3161, 3671, 0, new int[][] {{563, 2}, {554, 3}, {556, 2}}, "ancient"),
CARRALLANGAR(84, 51023, 94, 3157, 3669, 0, new int[][] {{566, 2}, {563, 2}}, "ancient"),
ANNAKARL(90, 51031, 100, 3286, 3884, 0, new int[][] {{565, 2}, {563, 2}}, "ancient"),
GHORROCK(96, 51039, 106, 2977, 3873, 0, new int[][] {{563, 2}, {555, 8}}, "ancient");
int requiredLevel, buttonId, destX, destY, destZ;
double experienceGained;
int[][] requiredRunes;
String type;
SpellTeleport(int requiredLevel, int buttonId, double experienceGained, int destX, int destY, int destZ, int[][] requiredRunes, String type) {
this.requiredLevel = requiredLevel;
this.buttonId = buttonId;
this.experienceGained = experienceGained;
this.destX = destX;
this.destY = destY;
this.destZ = destZ;
this.requiredRunes = requiredRunes;
this.type = type;
}
public int getRequiredLevel() {
return requiredLevel;
}
public int getButtonId() {
return buttonId;
}
public int getDestX() {
return destX;
}
public int getDestY() {
return destY;
}
public int getDestZ(){
return destZ;
}
public int[][] getRequiredRunes() {
return requiredRunes;
}
public double getExperienceGained() {
return experienceGained;
}
public String getType() {
return type;
}
public static SpellTeleport forButtonId(int id) {
for (SpellTeleport t : values()) {
if (t != null) {
if (t.getButtonId() == id) {
return t;
}
}
}
return null;
}
}
@@ -5,7 +5,6 @@ import com.rebotted.game.content.combat.CombatAssistant;
import com.rebotted.game.content.combat.CombatConstants; import com.rebotted.game.content.combat.CombatConstants;
import com.rebotted.game.content.combat.melee.MeleeData; import com.rebotted.game.content.combat.melee.MeleeData;
import com.rebotted.game.content.minigames.FightCaves; import com.rebotted.game.content.minigames.FightCaves;
import com.rebotted.game.content.minigames.PestControl;
import com.rebotted.game.content.music.sound.CombatSounds; import com.rebotted.game.content.music.sound.CombatSounds;
import com.rebotted.game.content.music.sound.SoundList; import com.rebotted.game.content.music.sound.SoundList;
import com.rebotted.game.npcs.NpcData; import com.rebotted.game.npcs.NpcData;
@@ -183,11 +182,14 @@ public class NpcCombat {
NpcHandler.npcs[i].attackTimer = NpcData.getNpcDelay(i); NpcHandler.npcs[i].attackTimer = NpcData.getNpcDelay(i);
NpcHandler.npcs[i].hitDelayTimer = NpcData.getHitDelay(i); NpcHandler.npcs[i].hitDelayTimer = NpcData.getHitDelay(i);
NpcHandler.npcs[i].attackType = 0; NpcHandler.npcs[i].attackType = 0;
if (CombatConstants.COMBAT_SOUNDS) { if (CombatConstants.COMBAT_SOUNDS
if (PestControl.npcIsPCMonster(NpcHandler.npcs[i].npcType) || PestControl.isPCPortal(NpcHandler.npcs[i].npcType)) { && NpcHandler.npcs[i].npcType < 3177
return; && NpcHandler.npcs[i].npcType > 3180) {
} c.getPacketSender()
c.getPacketSender().sendSound(CombatSounds.getNpcAttackSounds(NpcHandler.npcs[i].npcType), 100, 0); .sendSound(
CombatSounds
.getNpcAttackSounds(NpcHandler.npcs[i].npcType),
100, 0);
} }
if (special) { if (special) {
loadSpell2(i); loadSpell2(i);
@@ -200,11 +202,14 @@ public class NpcCombat {
if (NpcHandler.multiAttacks(i)) { if (NpcHandler.multiAttacks(i)) {
multiAttackGfx(i, NpcHandler.npcs[i].projectileId); multiAttackGfx(i, NpcHandler.npcs[i].projectileId);
NpcData.startAnimation(NpcEmotes.getAttackEmote(i), i); NpcData.startAnimation(NpcEmotes.getAttackEmote(i), i);
if (CombatConstants.COMBAT_SOUNDS) { if (CombatConstants.COMBAT_SOUNDS
if (PestControl.npcIsPCMonster(NpcHandler.npcs[i].npcType) || PestControl.isPCPortal(NpcHandler.npcs[i].npcType)) { && NpcHandler.npcs[i].npcType < 3177
return; && NpcHandler.npcs[i].npcType > 3180) {
} c.getPacketSender()
c.getPacketSender().sendSound(CombatSounds.getNpcAttackSounds(NpcHandler.npcs[i].npcType), 100, 0); .sendSound(
CombatSounds
.getNpcAttackSounds(NpcHandler.npcs[i].npcType),
100, 0);
} }
NpcHandler.npcs[i].oldIndex = c.playerId; NpcHandler.npcs[i].oldIndex = c.playerId;
return; return;
@@ -237,10 +242,11 @@ public class NpcCombat {
NpcHandler.npcs[i].oldIndex = c.playerId; NpcHandler.npcs[i].oldIndex = c.playerId;
NpcData.startAnimation(NpcEmotes.getAttackEmote(i), i); NpcData.startAnimation(NpcEmotes.getAttackEmote(i), i);
if (CombatConstants.COMBAT_SOUNDS) { if (CombatConstants.COMBAT_SOUNDS) {
if (PestControl.npcIsPCMonster(NpcHandler.npcs[i].npcType) || PestControl.isPCPortal(NpcHandler.npcs[i].npcType)) { c.getPacketSender()
return; .sendSound(
} CombatSounds
c.getPacketSender().sendSound(CombatSounds.getNpcAttackSounds(NpcHandler.npcs[i].npcType), 100, 0); .getNpcAttackSounds(NpcHandler.npcs[i].npcType),
100, 0);
} }
c.getPacketSender().closeAllWindows(); c.getPacketSender().closeAllWindows();
} }
@@ -5,10 +5,14 @@ import com.rebotted.event.CycleEvent;
import com.rebotted.event.CycleEventContainer; import com.rebotted.event.CycleEventContainer;
import com.rebotted.event.CycleEventHandler; import com.rebotted.event.CycleEventHandler;
import com.rebotted.game.content.combat.CombatConstants; import com.rebotted.game.content.combat.CombatConstants;
import com.rebotted.game.content.skills.fletching.LogCuttingInterface;
import com.rebotted.game.items.ItemAssistant;
import com.rebotted.game.npcs.Npc; import com.rebotted.game.npcs.Npc;
import com.rebotted.game.npcs.NpcHandler; import com.rebotted.game.npcs.NpcHandler;
import com.rebotted.game.objects.Objects; import com.rebotted.game.objects.Objects;
import com.rebotted.game.players.Client;
import com.rebotted.game.players.Player; import com.rebotted.game.players.Player;
import com.rebotted.game.players.PlayerHandler;
import com.rebotted.util.Misc; import com.rebotted.util.Misc;
import com.rebotted.world.clip.Region; import com.rebotted.world.clip.Region;
@@ -33,6 +37,8 @@ public class DwarfCannon {
public final int steelBarID = 2353; public final int steelBarID = 2353;
private final int ammoMouldID = 4;
public boolean settingUp = false; public boolean settingUp = false;
private int setUpStage = 0; private int setUpStage = 0;
@@ -7,7 +7,7 @@ public class RangeData {
public final static int[] BOWS = { 9185, 839, 845, 847, 851, 855, 859, 841, public final static int[] BOWS = { 9185, 839, 845, 847, 851, 855, 859, 841,
843, 849, 853, 857, 861, 4212, 4214, 4215, 11235, 4216, 4217, 4218, 843, 849, 853, 857, 861, 4212, 4214, 4215, 11235, 4216, 4217, 4218,
4219, 4220, 4221, 4222, 4223, 6724, 4734, 4934, 4935, 4936, 4937 }; 4219, 4220, 4221, 4222, 4223, 6724, 4734, 4934, 4935, 4936, 4937 };
public final static int[] ARROWS = { 882, 883, 884, 885, 886, 887, 888, 889, 890, 891, 892, 893, 4740, public final static int[] ARROWS = { 882, 884, 886, 888, 890, 892, 4740,
11212, 9140, 9141, 4142, 9143, 9144, 9240, 9241, 9242, 9243, 9244, 11212, 9140, 9141, 4142, 9143, 9144, 9240, 9241, 9242, 9243, 9244,
9245, 4150, 4160, 4172 }; 9245, 4150, 4160, 4172 };
public final static int[] NO_ARROW_DROP = { 4212, 4214, 4215, 4216, 4217, public final static int[] NO_ARROW_DROP = { 4212, 4214, 4215, 4216, 4217,
@@ -50,8 +50,10 @@ public class RangeData {
case 3202: case 3202:
case 3204: case 3204:
return true; return true;
default:
return false;
} }
return false;
} }
public static int correctBowAndArrows(Player c) { public static int correctBowAndArrows(Player c) {
@@ -1,6 +1,7 @@
package com.rebotted.game.content.minigames; package com.rebotted.game.content.minigames;
import java.util.concurrent.CopyOnWriteArrayList; import java.util.concurrent.CopyOnWriteArrayList;
import com.rebotted.GameConstants; import com.rebotted.GameConstants;
import com.rebotted.GameEngine; import com.rebotted.GameEngine;
import com.rebotted.game.content.combat.prayer.PrayerDrain; import com.rebotted.game.content.combat.prayer.PrayerDrain;
@@ -16,6 +17,8 @@ import com.rebotted.game.players.PlayerSave;
import com.rebotted.util.GameLogger; import com.rebotted.util.GameLogger;
import com.rebotted.util.Misc; import com.rebotted.util.Misc;
import static com.rebotted.game.content.music.sound.SoundList.DUEL_WON;
public class Dueling { public class Dueling {
private final Player player; private final Player player;
@@ -403,9 +406,7 @@ public class Dueling {
public void confirmDuel() { public void confirmDuel() {
Client o = (Client) PlayerHandler.players[player.duelingWith]; Client o = (Client) PlayerHandler.players[player.duelingWith];
if (o == null || ((o.getDueling().stakedItems.size() + o.getDueling().otherStakedItems.size()) > player.getItemAssistant().freeSlots())) { if (o == null) {
player.getPacketSender().sendMessage("Not enough inventory spaces.");
o.getPacketSender().sendMessage("Not enough inventory spaces.");
declineDuel(); declineDuel();
return; return;
} }
@@ -572,7 +573,7 @@ public class Dueling {
player.getPlayerAssistant().requestUpdates(); player.getPlayerAssistant().requestUpdates();
} }
public static void handleForfeit(Player player) public static void HandleForfeit(Player player)
{ {
Client opponent = (Client) PlayerHandler.players[player.duelingWith]; Client opponent = (Client) PlayerHandler.players[player.duelingWith];
opponent.getDueling().duelVictory(); opponent.getDueling().duelVictory();
@@ -702,10 +703,8 @@ public class Dueling {
} }
player.getPacketSender().closeAllWindows(); player.getPacketSender().closeAllWindows();
player.duelStatus = 0; player.duelStatus = 0;
o.duelStatus = 0;
player.openDuel = false; player.openDuel = false;
o.openDuel = false; o.openDuel = false;
player.duelingWith = 0; player.duelingWith = 0;
player.duelSpaceReq = 0; player.duelSpaceReq = 0;
player.duelRequested = false; player.duelRequested = false;
@@ -53,7 +53,6 @@ public class PestControl {
public int torcher = 3752 + Misc.random(7); public int torcher = 3752 + Misc.random(7);
public int splater = 3727 + Misc.random(4); public int splater = 3727 + Misc.random(4);
private final int[][] pcNPCData = { { 3777, 2628, 2591 }, // portal private final int[][] pcNPCData = { { 3777, 2628, 2591 }, // portal
{ 3778, 2680, 2588 }, // portal { 3778, 2680, 2588 }, // portal
{ 3779, 2669, 2570 }, // portal { 3779, 2669, 2570 }, // portal
@@ -151,6 +150,40 @@ public class PestControl {
} }
} }
/*
* private void setBoatInterface() { try { for (Client c :
* waitingBoat.keySet()) { if (c != null) { try { if (gameStarted) {
* c.getPlayerAssistant().sendString("Next Departure: " + (waitTimer +
* gameTimer)/60 + " minutes", 21120); } else {
* c.getPlayerAssistant().sendString("Next Departure: " + waitTimer + "",
* 21120); } c.getPlayerAssistant().sendString("Players Ready: " +
* playersInBoat() + "", 21121); c.getPlayerAssistant().sendString("(Need "
* + PLAYERS_REQUIRED + " to 25 players)", 21122);
* c.getPlayerAssistant().sendString("Points: " + c.pcPoints + "", 21123);
* switch (waitTimer) { case 60: c.getPacketDispatcher
* ().sendMessage("Next game will start in: 60 seconds."); break; case 30:
* c.
* getPacketDispatcher().sendMessage("Next game will start in: 30 seconds."
* ); break; } } catch (RuntimeException e) { // TODO Auto-generated catch
* block e.printStackTrace(); } } } } catch (RuntimeException e) {
* System.out.println("Failed to set interfaces"); e.printStackTrace(); } }
*/
/*
* private void setGameInterface() { for (Client player :
* gamePlayers.keySet()) { if (player != null) { for (int i = 0; i <
* portalHealth.length; i++) { if (portalHealth[i] > 0) {
* player.getPlayerAssistant().sendString("" + portalHealth[i] + "", 21111 +
* i); } else player.getPlayerAssistant().sendString("Dead", 21111 + i); }
* player.getPlayerAssistant().sendString("" + KNIGHTS_HEALTH, 21115);
* player.getPlayerAssistant().sendString("" + player.pcDamage, 21116); if
* (gameTimer > 60) {
* player.getPlayerAssistant().sendString("Time remaining: " +
* (gameTimer/60) + " minutes", 21117); } else {
* player.getPlayerAssistant().sendString("Time remaining: " + gameTimer +
* " seconds", 21117); } } } }
*/
/*** /***
* Moving players to arena if there's enough players * Moving players to arena if there's enough players
*/ */
@@ -175,10 +208,10 @@ public class PestControl {
} }
player.getPlayerAssistant().movePlayer(2656 + Misc.random3(3), 2614 - Misc.random3(4), 0); player.getPlayerAssistant().movePlayer(2656 + Misc.random3(3), 2614 - Misc.random3(4), 0);
player.getDialogueHandler().sendDialogues(599, 3790); player.getDialogueHandler().sendDialogues(599, 3790);
player.getPacketSender().sendMessage("The Pest Control game has begun!"); player.getPacketSender().sendMessage("The Pest Control Game has begun!");
player.npcCanAttack = true;
gamePlayers.put(player, team); gamePlayers.put(player, team);
} }
waitingBoat.clear(); waitingBoat.clear();
} }
@@ -289,12 +322,14 @@ public class PestControl {
player.poisonDamage = 0; player.poisonDamage = 0;
PrayerDrain.resetPrayers(player); PrayerDrain.resetPrayers(player);
for (int i = 0; i < 24; i++) { for (int i = 0; i < 24; i++) {
player.playerLevel[i] = player.getPlayerAssistant().getLevelForXP(player.playerXP[i]); player.playerLevel[i] = player.getPlayerAssistant()
.getLevelForXP(player.playerXP[i]);
player.getPlayerAssistant().refreshSkill(i); player.getPlayerAssistant().refreshSkill(i);
} }
player.specAmount = 10; player.specAmount = 10;
player.pcDamage = 0; player.pcDamage = 0;
player.getItemAssistant().addSpecialBar(player.playerEquipment[player.playerWeapon]); player.getItemAssistant().addSpecialBar(
player.playerEquipment[player.playerWeapon]);
} }
} }
@@ -390,11 +425,7 @@ public class PestControl {
} }
public static boolean npcIsPCMonster(int npcType) { public static boolean npcIsPCMonster(int npcType) {
return (npcType >= 3727 && npcType <= 3776); return npcType >= 3727 && npcType <= 3776;
}
public static boolean isPCPortal(int npcType) {
return (npcType >= 3777 && npcType <= 3780);
} }
private void spawnNPC() { private void spawnNPC() {
@@ -403,8 +434,8 @@ public class PestControl {
GameEngine.npcHandler.spawnNpc2(aPcNPCData[0], aPcNPCData[1], aPcNPCData[2], 0, 0, 200, 0, 0, playersInGame() * 200, false); GameEngine.npcHandler.spawnNpc2(aPcNPCData[0], aPcNPCData[1], aPcNPCData[2], 0, 0, 200, 0, 0, playersInGame() * 200, false);
} }
for (int[] voidMonsters : voidMonsterData) { for (int[] voidMonsters : voidMonsterData) {
//GameEngine.npcHandler.spawnNpc2(voidMonsters[0], voidMonsters[1], voidMonsters[2], 0, 1, voidMonsters[NpcHandler.getNpcListHP(voidMonsters[0])], NpcHandler.getNpcListCombat(voidMonsters[0])/10, NpcHandler.getNpcListCombat(voidMonsters[0]), playersInGame() * 200); //Server.npcHandler.spawnNpc2(voidMonsters[0], voidMonsters[1], voidMonsters[2], 0, 1, voidMonsters[NpcHandler.getNpcListHP(voidMonsters[0])], NpcHandler.getNpcListCombat(voidMonsters[0])/10, NpcHandler.getNpcListCombat(voidMonsters[0]), playersInGame() * 200);
GameEngine.npcHandler.spawnNpc2(voidMonsters[0], voidMonsters[1], voidMonsters[2], 0, 1, 50, 20, 75, 50, true); GameEngine.npcHandler.spawnNpc2(voidMonsters[0], voidMonsters[1], voidMonsters[2], 0, 1, 500, 20, 200, 25, false);
} }
} }
} }
@@ -13,10 +13,10 @@ public class BlackKnightsFortress {
client.getPacketSender().sendFrame126("I can start this quest by speaking to Sir Amik Varze in", 8147); client.getPacketSender().sendFrame126("I can start this quest by speaking to Sir Amik Varze in", 8147);
client.getPacketSender().sendFrame126("Falador Castle.", 8148); client.getPacketSender().sendFrame126("Falador Castle.", 8148);
client.getPacketSender().sendFrame126("", 8149); client.getPacketSender().sendFrame126("", 8149);
client.getPacketSender().sendFrame126("Quest Requirements:", 8150); client.getPacketSender().sendFrame126("QUEST REQUIREMENTS:", 8150);
client.getPacketSender().sendFrame126("12 Quest Points", 8151); client.getPacketSender().sendFrame126("12 Quest Points", 8151);
} else if (client.blackKnight == 1) { } else if (client.blackKnight == 1) {
client.getPacketSender().sendFrame126("@str@I've talked with Sir Amik Varze", 8147); client.getPacketSender().sendFrame126("@str@I've Talked with Sir Amik Varze", 8147);
client.getPacketSender().sendFrame126("He wants me to kill 30 Black Knights and", 8148); client.getPacketSender().sendFrame126("He wants me to kill 30 Black Knights and", 8148);
client.getPacketSender().sendFrame126("collect their notes.", 8149); client.getPacketSender().sendFrame126("collect their notes.", 8149);
client.getPacketSender().sendFrame126("", 8150); client.getPacketSender().sendFrame126("", 8150);
@@ -24,7 +24,7 @@ public class PiratesTreasure {
client.getPacketSender().sendFrame126("Port Sarim", 8148); client.getPacketSender().sendFrame126("Port Sarim", 8148);
client.getPacketSender().sendFrame126("", 8149); client.getPacketSender().sendFrame126("", 8149);
client.getPacketSender().sendFrame126( client.getPacketSender().sendFrame126(
"There are no minimum requirements.", 8150); "There are no minimum requirments.", 8150);
} else if (client.pirateTreasure == 1) { } else if (client.pirateTreasure == 1) {
client.getPacketSender().sendFrame126("Pirate's Treasure", 8144); client.getPacketSender().sendFrame126("Pirate's Treasure", 8144);
client.getPacketSender().sendFrame126( client.getPacketSender().sendFrame126(
@@ -10,6 +10,7 @@ import com.rebotted.game.content.skills.SkillHandler;
import com.rebotted.game.items.ItemAssistant; import com.rebotted.game.items.ItemAssistant;
import com.rebotted.game.items.ItemList; import com.rebotted.game.items.ItemList;
import com.rebotted.game.npcs.NpcHandler; import com.rebotted.game.npcs.NpcHandler;
import com.rebotted.game.objects.Object;
import com.rebotted.game.players.Player; import com.rebotted.game.players.Player;
import com.rebotted.util.Misc; import com.rebotted.util.Misc;
@@ -22,17 +23,17 @@ public class Stalls {
TEA_STALL(635, 5, 16, 0, new int[] {712, 1 }), TEA_STALL(635, 5, 16, 0, new int[] {712, 1 }),
SILK_STALL(2560, 20, 24, 2, new int[] { 950, 1 }), SILK_STALL(2560, 20, 24, 2, new int[] { 950, 1 }),
WINE_STALL(14011, 22, 27, 0, new int[] { 1935, 1 }, new int[] {i("jug of water"), 1 }, new int[] { i("jug of wine"), 1 }, WINE_STALL(14011, 22, 27, 0, new int[] { 1935, 1 }, new int[] {i("jug of water"), 1 }, new int[] { i("jug of wine"), 1 },
new int[] { i("grapes"), 1 }), SEED_STALL(7053, 27, 10, 0, new int[] { i("potato seed"), 1 }, new int[] {i("onion seed"), 1 }, new int[] { i("grapes"), 1 }), SEED_STALL(7053, 27, 10, 0, new int[] { i("potato seed"), 1 }, new int[] {i("onion seed"), 1 },
new int[] { i("cabbage seed"), 1 }, new int[] {i("tomato seed"), 1 }, new int[] { i("sweetcorn seed"), 1 }, new int[] { i("strawberry seed"), 1 }, new int[] { i("cabbage seed"), 1 }, new int[] {i("tomato seed"), 1 }, new int[] { i("sweetcorn seed"), 1 }, new int[] { i("strawberry seed"), 1 },
new int[] {i("watermelon seed"), 1 }, new int[] {i("barley seed"), 1 }, new int[] { i("jute seed"), 1 }, new int[] { i("marigold seed"), 1 }, new int[] {i("watermelon seed"), 1 }, new int[] {i("barley seed"), 1 }, new int[] { i("jute seed"), 1 }, new int[] { i("marigold seed"), 1 },
new int[] {i("rosemary seed"), 1 }, new int[] {i("hammerstone seed"), 1 }, new int[] {i("asgarnain seed"), 1 }, new int[] {i("yanillian seed"), 1 }, new int[] {i("rosemary seed"), 1 }, new int[] {i("hammerstone seed"), 1 }, new int[] {i("asgarnain seed"), 1 }, new int[] {i("yanillian seed"), 1 },
new int[] {i("krandorian seed"), 1 }, new int[] {i("wildblood seed"), 1 }), FUR_STALL(2563, 35, 36, 0, new int[] { 6814, 1 }, new int[] { 958, 1 }), new int[] {i("krandorian seed"), 1 }, new int[] {i("wildblood seed"), 1 }), FUR_STALL(2563, 35, 36, 0, new int[] { 6814, 1 }, new int[] { 958, 1 }),
FUR_STALL2(4278, 35, 36, 0, new int[] { 6814, 1 }, new int[] { 958, 1 }), FUR_STALL2(4278, 35, 36, 0, new int[] { 6814, 1 }, new int[] { 958, 1 }),
FISH_STALL(4705, 42, 42, 0, new int[] { 359, 1 }), FISH_STALL(4705, 42, 42, 0, new int[] { 359, 1 }),
FISH_STALL2(4277, 42, 42, 0, new int[] { 359, 1 }), FISH_STALL2(4277, 42, 42, 0, new int[] { 359, 1 }),
SILVER_STALL(2565, 50, 54, 2, new int[] { 442, 1 }, new int[] { 2355, 1 }), SILVER_STALL(2565, 50, 54, 2, new int[] { 442, 1 }, new int[] { 2355, 1 }),
SPICE_STALL(2564, 65, 81.3, 0, new int[] { 2007, 1 }, new int[] { 946, 1 }, new int[] { 1550, 1 }), GEM_STALL(2562, 75, 160, 3, SPICE_STALL(2564, 65, 81.3, 0, new int[] { 2007, 1 }, new int[] { 946, 1 }, new int[] { 1550, 1 }), GEM_STALL(2562, 75, 160, 3,
new int[] { 1617, 1 }, new int[] { 1619, 1 }, new int[] { 1621, 1 }, new int[] { 1623, 1 }), new int[] { 1617, 1 }, new int[] { 1619, 1 }, new int[] { 1621, 1 }, new int[] { 1623, 1 }),
MAGIC_STALL(4877, 65, 100, 0, new int[] {i("air rune"), 1}, new int[] {i("water rune"), 1}, new int[] {i("fire rune"), 1}, new int[] {i("law rune"), 1}), MAGIC_STALL(4877, 65, 100, 0, new int[] {i("air rune"), 1}, new int[] {i("water rune"), 1}, new int[] {i("fire rune"), 1}, new int[] {i("law rune"), 1}),
SCIMITAR_STALL(4878, 65, 100, 0, new int[] {i("iron scimitar"), 1}, new int[] {i("steel scimitar"), 1}); SCIMITAR_STALL(4878, 65, 100, 0, new int[] {i("iron scimitar"), 1}, new int[] {i("steel scimitar"), 1});
@@ -120,13 +121,8 @@ public class Stalls {
if(objectId == s.getObject()) { if(objectId == s.getObject()) {
// Wait for respawn // Wait for respawn
if (System.currentTimeMillis() < s.respawnTime) { if (System.currentTimeMillis() < s.respawnTime) {
long timeFirstStealFromStall = s.respawnTime - (GameConstants.CYCLE_TIME * getRespawnTime(s.objectId)); p.getPacketSender().sendMessage("You need to wait longer before you can thieve this stall!");
return;
// If stealing from stall at the same tick as another player
if(p.hasThievedStall() || System.currentTimeMillis() - timeFirstStealFromStall >= GameConstants.CYCLE_TIME) {
p.getPacketSender().sendMessage("You need to wait longer before you can thieve this stall!");
return;
}
} }
// Thieving level too low // Thieving level too low
if (p.playerLevel[p.playerThieving] < s.getLevel()) { if (p.playerLevel[p.playerThieving] < s.getLevel()) {
@@ -148,13 +144,11 @@ public class Stalls {
s.respawnTime = System.currentTimeMillis() + (respawnTime * GameConstants.CYCLE_TIME); s.respawnTime = System.currentTimeMillis() + (respawnTime * GameConstants.CYCLE_TIME);
p.getPacketSender().sendMessage("You steal a " + ItemAssistant.getItemName(random[0]) + " from the stall."); p.getPacketSender().sendMessage("You steal a " + ItemAssistant.getItemName(random[0]) + " from the stall.");
p.getItemAssistant().addItem(random[0], random[1]); p.getItemAssistant().addItem(random[0], random[1]);
p.setHasThievedStall(true);
CycleEventHandler.getSingleton().addEvent(p, new CycleEvent() { CycleEventHandler.getSingleton().addEvent(p, new CycleEvent() {
@Override @Override
public void execute(CycleEventContainer container) { public void execute(CycleEventContainer container) {
GameEngine.objectHandler.createAnObject(p, s.getObject(), x, y, s.getFace()); GameEngine.objectHandler.createAnObject(p, s.getObject(), x, y, s.getFace());
//new Object(objectId, x, y, 0, s.getFace(), 10, j, getRespawnTime(objectId)); //new Object(objectId, x, y, 0, s.getFace(), 10, j, getRespawnTime(objectId));
p.setHasThievedStall(false);
container.stop(); container.stop();
} }
@Override @Override
@@ -200,7 +194,7 @@ public class Stalls {
if (NpcHandler.npcs[i] != null) { if (NpcHandler.npcs[i] != null) {
if (NpcHandler.npcs[i].npcType == 32 || NpcHandler.npcs[i].npcType == 1317 || NpcHandler.npcs[i].npcType == 2236 || NpcHandler.npcs[i].npcType == 2571) { if (NpcHandler.npcs[i].npcType == 32 || NpcHandler.npcs[i].npcType == 1317 || NpcHandler.npcs[i].npcType == 2236 || NpcHandler.npcs[i].npcType == 2571) {
if (p.goodDistance(p.absX, p.absY, NpcHandler.npcs[i].absX, NpcHandler.npcs[i].absY, 7) if (p.goodDistance(p.absX, p.absY, NpcHandler.npcs[i].absX, NpcHandler.npcs[i].absY, 7)
&& p.heightLevel == NpcHandler.npcs[i].heightLevel) { && p.heightLevel == NpcHandler.npcs[i].heightLevel) {
if (!NpcHandler.npcs[i].underAttack) { if (!NpcHandler.npcs[i].underAttack) {
NpcHandler.npcs[i].forceChat("What do you think you're doing?!?"); NpcHandler.npcs[i].forceChat("What do you think you're doing?!?");
NpcHandler.npcs[i].underAttack = true; NpcHandler.npcs[i].underAttack = true;
@@ -520,7 +520,7 @@ public class DialogueHandler {
player.getItemAssistant().deleteItem(436, 4); player.getItemAssistant().deleteItem(436, 4);
player.getItemAssistant().deleteItem(440, 2); player.getItemAssistant().deleteItem(440, 2);
player.doricQuest = 2; player.doricQuest = 2;
sendNpcChat2("You brought me everything I need.", "Thank You!", sendNpcChat2("You brought me everything i need.", "Thank You!",
player.talkingNpc, "Doric"); player.talkingNpc, "Doric");
player.nextChat = 87; player.nextChat = 87;
break; break;
@@ -1008,7 +1008,7 @@ public class DialogueHandler {
break; break;
case 215: case 215:
sendNpcChat3( sendNpcChat3(
"I need time to study this, " + Misc.capitalize(player.playerName) + ".", "I need time to study this, " + player.playerName + ".",
"Can you please do me this task while I study this talisman you have brought me?", "Can you please do me this task while I study this talisman you have brought me?",
"In the mighty town of Varrock, which", player.talkingNpc, "In the mighty town of Varrock, which", player.talkingNpc,
"Sedridor"); "Sedridor");
@@ -1046,7 +1046,7 @@ public class DialogueHandler {
player.nextChat = 220; player.nextChat = 220;
break; break;
case 220: case 220:
sendNpcChat2("Do this thing for me " + Misc.capitalize(player.playerName) + ".", sendNpcChat2("Do this thing for me " + player.playerName + ".",
" Be rewarded in a way you can never imagine.", " Be rewarded in a way you can never imagine.",
player.talkingNpc, "Sedridor"); player.talkingNpc, "Sedridor");
player.nextChat = 222; player.nextChat = 222;
@@ -1152,7 +1152,7 @@ public class DialogueHandler {
player.nextChat = 239; player.nextChat = 239;
break; break;
case 239: case 239:
sendNpcChat2("Ah, " + Misc.capitalize(player.playerName) + ". How goes your quest?", sendNpcChat2("Ah, " + player.playerName + ". How goes your quest?",
"Have you delivered the research notes to my friend yet?", "Have you delivered the research notes to my friend yet?",
player.talkingNpc, "Sedridor"); player.talkingNpc, "Sedridor");
player.nextChat = 240; player.nextChat = 240;
@@ -3046,7 +3046,7 @@ public class DialogueHandler {
break; break;
case 590: case 590:
sendNpcChat1("Hello " + Misc.capitalize(player.playerName) + ".", player.talkingNpc, sendNpcChat1("Hello " + player.playerName + ".", player.talkingNpc,
"Gnome Pilot"); "Gnome Pilot");
player.nextChat = 591; player.nextChat = 591;
break; break;
@@ -4285,7 +4285,7 @@ public class DialogueHandler {
break; break;
case 1237: case 1237:
sendNpcChat2("You have been assigned " + player.taskAmount + " " + player.getSlayer().getTaskName(player.slayerTask) + ",", sendNpcChat2("You have been assigned " + player.taskAmount + " " + player.getSlayer().getTaskName(player.slayerTask) + ",",
"Good luck " + Misc.capitalize(player.playerName) + ".", "Good luck " + player.playerName + ".",
player.talkingNpc, player.talkingNpc,
NpcHandler.getNpcListName(player.talkingNpc)); NpcHandler.getNpcListName(player.talkingNpc));
player.nextChat = 0; player.nextChat = 0;
@@ -4440,7 +4440,7 @@ public class DialogueHandler {
case 1318: case 1318:
if (player.getSlayer().hasTask()) { if (player.getSlayer().hasTask()) {
sendNpcChat3( sendNpcChat3(
"Hello " + Misc.capitalize(player.playerName) + ".", "Hello " + player.playerName + ".",
"You currently need to kill " "You currently need to kill "
+ player.taskAmount + player.taskAmount
+ " more " + " more "
@@ -4476,7 +4476,7 @@ public class DialogueHandler {
case 1320: case 1320:
if (player.getSlayer().hasTask()) { if (player.getSlayer().hasTask()) {
sendNpcChat2( sendNpcChat2(
"Hello " + Misc.capitalize(player.playerName) + ".", "Hello " + player.playerName + ".",
"I am located in " "I am located in "
+ player.getSlayer().getMasterLocation( + player.getSlayer().getMasterLocation(
player.SlayerMaster) + ".", player.SlayerMaster) + ".",
@@ -4495,7 +4495,7 @@ public class DialogueHandler {
break; break;
case 1322: case 1322:
sendNpcChat2("Hello " + Misc.capitalize(player.playerName) + ".", "Are you interested in buying anything?", player.talkingNpc, NpcHandler.getNpcListName(player.talkingNpc)); sendNpcChat2("Hello " + player.playerName + ".", "Are you interested in buying anything?", player.talkingNpc, NpcHandler.getNpcListName(player.talkingNpc));
player.nextChat = 1323; player.nextChat = 1323;
break; break;
@@ -4527,7 +4527,7 @@ public class DialogueHandler {
break; break;
case 1329: case 1329:
sendNpcChat2("Hello " + Misc.capitalize(player.playerName) + ".", sendNpcChat2("Hello " + player.playerName + ".",
"Are you interested in buying anything?", "Are you interested in buying anything?",
player.talkingNpc, player.talkingNpc,
NpcHandler.getNpcListName(player.talkingNpc)); NpcHandler.getNpcListName(player.talkingNpc));
@@ -4856,7 +4856,7 @@ public class DialogueHandler {
case 1368: case 1368:
sendNpcChat2("You have been assigned " + player.taskAmount + " " sendNpcChat2("You have been assigned " + player.taskAmount + " "
+ player.getSlayer().getTaskName(player.slayerTask) + ",", + player.getSlayer().getTaskName(player.slayerTask) + ",",
"Good luck " + Misc.capitalize(player.playerName) + ".", player.talkingNpc, "Good luck " + player.playerName + ".", player.talkingNpc,
NpcHandler.getNpcListName(player.talkingNpc)); NpcHandler.getNpcListName(player.talkingNpc));
player.nextChat = 0; player.nextChat = 0;
break; break;
@@ -4895,7 +4895,7 @@ public class DialogueHandler {
break; break;
case 1373: case 1373:
sendNpcChat2("Hello " + Misc.capitalize(player.playerName) + ".", sendNpcChat2("Hello " + player.playerName + ".",
"Are you interested in buying anything?", "Are you interested in buying anything?",
player.talkingNpc, player.talkingNpc,
NpcHandler.getNpcListName(player.talkingNpc)); NpcHandler.getNpcListName(player.talkingNpc));
@@ -4928,7 +4928,7 @@ public class DialogueHandler {
break; break;
case 1378: case 1378:
sendNpcChat2("Hello " + Misc.capitalize(player.playerName) + ".", sendNpcChat2("Hello " + player.playerName + ".",
"Are you interested in buying a candle for 1k?", "Are you interested in buying a candle for 1k?",
player.talkingNpc, "Candle Seller"); player.talkingNpc, "Candle Seller");
player.nextChat = 1379; player.nextChat = 1379;
@@ -6123,7 +6123,7 @@ public class DialogueHandler {
break; break;
case 3118: case 3118:
sendNpcChat2("Hello " + Misc.capitalize(player.playerName) + ".", sendNpcChat2("Hello " + player.playerName + ".",
"Are you interested in buying any beer?", "Are you interested in buying any beer?",
player.talkingNpc, player.talkingNpc,
NpcHandler.getNpcListName(player.talkingNpc)); NpcHandler.getNpcListName(player.talkingNpc));
@@ -6383,7 +6383,7 @@ public class DialogueHandler {
break; break;
case 3158: case 3158:
sendNpcChat1("Hello, " + Misc.capitalize(player.playerName) + " what would you like to do?", player.talkingNpc, "Wyson the Gardener"); sendNpcChat1("Hello, " + player.playerName + " what would you like to do?", player.talkingNpc, "Wyson the Gardener");
player.nextChat = 3159; player.nextChat = 3159;
break; break;
@@ -6733,8 +6733,29 @@ public class DialogueHandler {
player.dialogueAction = 3205;//187 player.dialogueAction = 3205;//187
break; break;
/*case 3206:
if (Constants.HALLOWEEN == false) {
sendNpcChat2("The halloween event is now over,", "what would you like?", 945, "" + Constants.SERVER_NAME + " Guide");
client.nextChat = 3207;
} else if (client.recievedMask == false && Constants.HALLOWEEN) {
sendNpcChat2("Thank you so much for voting!", "Enjoy your mask!", 945, "" + Constants.SERVER_NAME + " Guide");
client.getItemAssistant().addOrDropItem(client.getPlayerAssistant().randomReward(), 1);
VotingHandler.setAsReceived(client.playerName);
client.recievedMask = true;
client.nextChat = 0;
} else if (client.recievedMask && Constants.HALLOWEEN) {
sendNpcChat2("You have already recieved a halloween mask.", "What reward would you like?", 945, "" + Constants.SERVER_NAME + " Guide");
client.nextChat = 3207;
}
break;
case 3207:
sendOption3("Experience Lamp (Depends on Level of Skill)", "Coins (1-4k)", "Energy Lamp");
client.dialogueAction = 188;
break;*/
case 3208: case 3208:
sendNpcChat1("Hello, " + Misc.capitalize(player.playerName) + " what would you like to do?", 958, "Fadli"); sendNpcChat1("Hello, " + player.playerName + " what would you like to do?", 958, "Fadli");
player.nextChat = 3209; player.nextChat = 3209;
break; break;
@@ -6803,7 +6824,7 @@ public class DialogueHandler {
break; break;
case 3221://28 case 3221://28
sendStatement("Congratulations, " + Misc.capitalize(player.playerName) + ". You've completed the barrows challenge & your reward has been delivered."); sendStatement("Congratulations, " + player.playerName + ". You've completed the barrows challenge & your reward has been delivered.");
player.nextChat = 0; player.nextChat = 0;
break; break;
@@ -6898,7 +6919,7 @@ public class DialogueHandler {
player.nextChat = 3509; player.nextChat = 3509;
break; break;
case 3509: case 3509:
sendNpcChat1("Thank you so much " + Misc.capitalize(player.playerName) + "!", player.talkingNpc, "Sir Amik Varze"); sendNpcChat1("Thank you so much " + player.playerName + "!", player.talkingNpc, "Sir Amik Varze");
player.nextChat = 0; player.nextChat = 0;
break; break;
case 3510: case 3510:
@@ -6912,7 +6933,7 @@ public class DialogueHandler {
} }
break; break;
case 3511: case 3511:
sendNpcChat1("Thank you very much " + Misc.capitalize(player.playerName) + "!", sendNpcChat1("Thank you very much " + player.playerName + "!",
player.talkingNpc, "Sir Amik Varze"); player.talkingNpc, "Sir Amik Varze");
player.nextChat = 3512; player.nextChat = 3512;
break; break;
@@ -84,11 +84,11 @@ public class ItemAssistant {
c.getPacketSender().sendMessage("You find a " + getItemName(reward) + "."); c.getPacketSender().sendMessage("You find a " + getItemName(reward) + ".");
} }
public void updateInventory() { public void updateInventory() {
this.resetItems(3214); this.resetItems(3214);
} }
public void destroyInterface(int itemId) { public void destroyInterface(int itemId) {
itemId = c.droppedItem; itemId = c.droppedItem;
String itemName = getItemName(c.droppedItem); String itemName = getItemName(c.droppedItem);
String[][] info = { String[][] info = {
@@ -98,7 +98,7 @@ public class ItemAssistant {
{ itemName, "14184" } };// make some kind of c.getItemInfo { itemName, "14184" } };// make some kind of c.getItemInfo
c.getPacketSender().sendFrame34(itemId, 0, 14171, 1); c.getPacketSender().sendFrame34(itemId, 0, 14171, 1);
for (int i = 0; i < info.length; i++) for (int i = 0; i < info.length; i++)
c.getPacketSender().sendFrame126(info[i][0], Integer.parseInt(info[i][1])); c.getPacketSender().sendFrame126(info[i][0], Integer.parseInt(info[i][1]));
c.getPacketSender().sendChatInterface(14170); c.getPacketSender().sendChatInterface(14170);
} }
@@ -135,12 +135,12 @@ public class ItemAssistant {
return freeSlots() >= slots; return freeSlots() >= slots;
} }
public void replaceItem(int itemToReplace, int replaceWith) { public void replaceItem(int itemToReplace, int replaceWith) {
if(playerHasItem(itemToReplace)) { if(playerHasItem(itemToReplace)) {
deleteItem(itemToReplace, 1); deleteItem(itemToReplace, 1);
addItem(replaceWith, 1); addItem(replaceWith, 1);
} }
} }
public static int getTotalAmountEquipment(Client c) { public static int getTotalAmountEquipment(Client c) {
int total = 0; int total = 0;
@@ -385,13 +385,13 @@ public class ItemAssistant {
*/ */
public void clearBank() { public void clearBank() {
try { try {
for (int i = 0; i < c.bankItems[i]; i++) { for (int i = 0; i < c.bankItems[i]; i++) {
c.bankItems[i] = 0; c.bankItems[i] = 0;
c.bankItemsN[i] = 0; c.bankItemsN[i] = 0;
} }
resetTempItems(); resetTempItems();
resetBank(); resetBank();
} catch (Exception e) { } catch (Exception e) {
e.printStackTrace(); e.printStackTrace();
} }
@@ -456,25 +456,25 @@ public class ItemAssistant {
public int getUntradePrice(int item) { public int getUntradePrice(int item) {
switch (item) { switch (item) {
case 2518: case 2518:
case 2524: case 2524:
case 2526: case 2526:
return 100000; return 100000;
case 2520: case 2520:
case 2522: case 2522:
return 150000; return 150000;
} }
return 0; return 0;
} }
public boolean specialCase(int itemId) { public boolean specialCase(int itemId) {
switch (itemId) { switch (itemId) {
case 2518: case 2518:
case 2520: case 2520:
case 2522: case 2522:
case 2524: case 2524:
case 2526: case 2526:
return true; return true;
} }
return false; return false;
} }
@@ -511,7 +511,7 @@ public class ItemAssistant {
} else { } else {
c.playerItemsN[i] = GameConstants.MAXITEM_AMOUNT; c.playerItemsN[i] = GameConstants.MAXITEM_AMOUNT;
} }
if (c.getOutStream() != null && c != null) { if (c.getOutStream() != null) {
c.getOutStream().createFrameVarSizeWord(34); c.getOutStream().createFrameVarSizeWord(34);
c.getOutStream().writeWord(3214); c.getOutStream().writeWord(3214);
c.getOutStream().writeByte(i); c.getOutStream().writeByte(i);
@@ -526,7 +526,7 @@ public class ItemAssistant {
c.flushOutStream(); c.flushOutStream();
} }
i = 30; i = 30;
Weight.calcWeight(c, item, "additem"); Weight.updateWeight(c);
return true; return true;
} }
} }
@@ -544,12 +544,15 @@ public class ItemAssistant {
} }
resetItems(3214); resetItems(3214);
i = 30; i = 30;
Weight.calcWeight(c, item, "additem");
Weight.updateWeight(c);
return true; return true;
} }
} }
return false; return false;
} else { } else {
GameEngine.itemHandler.createGroundItem(c, item,
c.getX(), c.getY(), 1, c.getId());
resetItems(3214); resetItems(3214);
c.getPacketSender().sendMessage("Not enough space in your inventory."); c.getPacketSender().sendMessage("Not enough space in your inventory.");
return false; return false;
@@ -606,29 +609,29 @@ public class ItemAssistant {
newWeapon = newWeapon.trim(); newWeapon = newWeapon.trim();
if (weaponName.equals("Unarmed")) { if (weaponName.equals("Unarmed")) {
c.getPacketSender().setSidebarInterface(0, 5855); // punch, c.getPacketSender().setSidebarInterface(0, 5855); // punch,
// kick, // kick,
// block // block
c.getPacketSender().sendFrame126(weaponName, 5857); c.getPacketSender().sendFrame126(weaponName, 5857);
} else if (weaponName.endsWith("whip")) { } else if (weaponName.endsWith("whip")) {
c.getPacketSender().setSidebarInterface(0, 12290); // flick, c.getPacketSender().setSidebarInterface(0, 12290); // flick,
// lash, // lash,
// deflect // deflect
c.getPacketSender().sendFrame246(12291, 200, weapon); c.getPacketSender().sendFrame246(12291, 200, weapon);
c.getPacketSender().sendFrame126(weaponName, 12293); c.getPacketSender().sendFrame126(weaponName, 12293);
} else if (weaponName.endsWith("bow") || weaponName.endsWith("10") } else if (weaponName.endsWith("bow") || weaponName.endsWith("10")
|| weaponName.endsWith("full") || weaponName.endsWith("full")
|| weaponName.startsWith("seercull")) { || weaponName.startsWith("seercull")) {
c.getPacketSender().setSidebarInterface(0, 1764); // accurate, c.getPacketSender().setSidebarInterface(0, 1764); // accurate,
// rapid, // rapid,
// longrange // longrange
c.getPacketSender().sendFrame246(1765, 200, weapon); c.getPacketSender().sendFrame246(1765, 200, weapon);
c.getPacketSender().sendFrame126(weaponName, 1767); c.getPacketSender().sendFrame126(weaponName, 1767);
} else if (weaponName.startsWith("Staff") } else if (weaponName.startsWith("Staff")
|| weaponName.endsWith("staff") || weaponName.endsWith("wand")) { || weaponName.endsWith("staff") || weaponName.endsWith("wand")) {
c.getPacketSender().setSidebarInterface(0, 328); // spike, c.getPacketSender().setSidebarInterface(0, 328); // spike,
// impale, // impale,
// smash, // smash,
// block // block
c.getPacketSender().sendFrame246(329, 200, weapon); c.getPacketSender().sendFrame246(329, 200, weapon);
c.getPacketSender().sendFrame126(weaponName, 331); c.getPacketSender().sendFrame126(weaponName, 331);
} else if (newWeapon.startsWith("dart") } else if (newWeapon.startsWith("dart")
@@ -636,50 +639,50 @@ public class ItemAssistant {
|| newWeapon.startsWith("javelin") || newWeapon.startsWith("javelin")
|| weaponName.equalsIgnoreCase("toktz-xil-ul")) { || weaponName.equalsIgnoreCase("toktz-xil-ul")) {
c.getPacketSender().setSidebarInterface(0, 4446); // accurate, c.getPacketSender().setSidebarInterface(0, 4446); // accurate,
// rapid, // rapid,
// longrange // longrange
c.getPacketSender().sendFrame246(4447, 200, weapon); c.getPacketSender().sendFrame246(4447, 200, weapon);
c.getPacketSender().sendFrame126(weaponName, 4449); c.getPacketSender().sendFrame126(weaponName, 4449);
} else if (newWeapon.startsWith("dagger") } else if (newWeapon.startsWith("dagger")
|| newWeapon.contains("sword")) { || newWeapon.contains("sword")) {
c.getPacketSender().setSidebarInterface(0, 2276); // stab, c.getPacketSender().setSidebarInterface(0, 2276); // stab,
// lunge, // lunge,
// slash, // slash,
// block // block
c.getPacketSender().sendFrame246(2277, 200, weapon); c.getPacketSender().sendFrame246(2277, 200, weapon);
c.getPacketSender().sendFrame126(weaponName, 2279); c.getPacketSender().sendFrame126(weaponName, 2279);
} else if (newWeapon.startsWith("pickaxe")) { } else if (newWeapon.startsWith("pickaxe")) {
c.getPacketSender().setSidebarInterface(0, 5570); // spike, c.getPacketSender().setSidebarInterface(0, 5570); // spike,
// impale, // impale,
// smash, // smash,
// block // block
c.getPacketSender().sendFrame246(5571, 200, weapon); c.getPacketSender().sendFrame246(5571, 200, weapon);
c.getPacketSender().sendFrame126(weaponName, 5573); c.getPacketSender().sendFrame126(weaponName, 5573);
} else if (newWeapon.startsWith("axe") } else if (newWeapon.startsWith("axe")
|| newWeapon.startsWith("battleaxe")) { || newWeapon.startsWith("battleaxe")) {
c.getPacketSender().setSidebarInterface(0, 1698); // chop, c.getPacketSender().setSidebarInterface(0, 1698); // chop,
// hack, // hack,
// smash, // smash,
// block // block
c.getPacketSender().sendFrame246(1699, 200, weapon); c.getPacketSender().sendFrame246(1699, 200, weapon);
c.getPacketSender().sendFrame126(weaponName, 1701); c.getPacketSender().sendFrame126(weaponName, 1701);
} else if (newWeapon.startsWith("halberd")) { } else if (newWeapon.startsWith("halberd")) {
c.getPacketSender().setSidebarInterface(0, 8460); // jab, c.getPacketSender().setSidebarInterface(0, 8460); // jab,
// swipe, // swipe,
// fend // fend
c.getPacketSender().sendFrame246(8461, 200, weapon); c.getPacketSender().sendFrame246(8461, 200, weapon);
c.getPacketSender().sendFrame126(weaponName, 8463); c.getPacketSender().sendFrame126(weaponName, 8463);
} else if (newWeapon.startsWith("Scythe")) { } else if (newWeapon.startsWith("Scythe")) {
c.getPacketSender().setSidebarInterface(0, 8460); // jab, c.getPacketSender().setSidebarInterface(0, 8460); // jab,
// swipe, // swipe,
// fend // fend
c.getPacketSender().sendFrame246(8461, 200, weapon); c.getPacketSender().sendFrame246(8461, 200, weapon);
c.getPacketSender().sendFrame126(weaponName, 8463); c.getPacketSender().sendFrame126(weaponName, 8463);
} else if (newWeapon.startsWith("spear")) { } else if (newWeapon.startsWith("spear")) {
c.getPacketSender().setSidebarInterface(0, 4679); // lunge, c.getPacketSender().setSidebarInterface(0, 4679); // lunge,
// swipe, // swipe,
// pound, // pound,
// block // block
c.getPacketSender().sendFrame246(4680, 200, weapon); c.getPacketSender().sendFrame246(4680, 200, weapon);
c.getPacketSender().sendFrame126(weaponName, 4682); c.getPacketSender().sendFrame126(weaponName, 4682);
} else if (newWeapon.toLowerCase().contains("mace")) { } else if (newWeapon.toLowerCase().contains("mace")) {
@@ -689,14 +692,14 @@ public class ItemAssistant {
} else if (c.playerEquipment[c.playerWeapon] == 4153) { } else if (c.playerEquipment[c.playerWeapon] == 4153) {
c.getPacketSender().setSidebarInterface(0, 425); // war hamer c.getPacketSender().setSidebarInterface(0, 425); // war hamer
// equip. // equip.
c.getPacketSender().sendFrame246(426, 200, weapon); c.getPacketSender().sendFrame246(426, 200, weapon);
c.getPacketSender().sendFrame126(weaponName, 428); c.getPacketSender().sendFrame126(weaponName, 428);
} else { } else {
c.getPacketSender().setSidebarInterface(0, 2423); // chop, c.getPacketSender().setSidebarInterface(0, 2423); // chop,
// slash, // slash,
// lunge, // lunge,
// block // block
c.getPacketSender().sendFrame246(2424, 200, weapon); c.getPacketSender().sendFrame246(2424, 200, weapon);
c.getPacketSender().sendFrame126(weaponName, 2426); c.getPacketSender().sendFrame126(weaponName, 2426);
} }
@@ -873,241 +876,241 @@ public class ItemAssistant {
} }
switch (itemId) { switch (itemId) {
case 8839: case 8839:
case 8840: case 8840:
case 8842: case 8842:
case 11663: case 11663:
case 11664: case 11664:
case 11665: case 11665:
c.attackLevelReq = 42; c.attackLevelReq = 42;
c.rangeLevelReq = 42; c.rangeLevelReq = 42;
c.strengthLevelReq = 42; c.strengthLevelReq = 42;
c.magicLevelReq = 42; c.magicLevelReq = 42;
c.defenceLevelReq = 42; c.defenceLevelReq = 42;
return; return;
case 10551: case 10551:
case 2503: case 2503:
case 2501: case 2501:
case 2499: case 2499:
case 1135: case 1135:
c.defenceLevelReq = 40; c.defenceLevelReq = 40;
return; return;
case 1133: case 1133:
c.defenceLevelReq = 20; c.defenceLevelReq = 20;
c.rangeLevelReq = 20; c.rangeLevelReq = 20;
return; return;
case 11235: case 11235:
case 6522: case 6522:
c.rangeLevelReq = 60; c.rangeLevelReq = 60;
break; break;
case 1097: case 1097:
c.rangeLevelReq = 20; c.rangeLevelReq = 20;
break; break;
case 864: case 864:
case 863: case 863:
c.rangeLevelReq = 1; c.rangeLevelReq = 1;
break; break;
case 865: case 865:
c.rangeLevelReq = 5; c.rangeLevelReq = 5;
break; break;
case 866: case 866:
c.rangeLevelReq = 20; c.rangeLevelReq = 20;
break; break;
case 867: case 867:
c.rangeLevelReq = 30; c.rangeLevelReq = 30;
break; break;
case 868: case 868:
c.rangeLevelReq = 40; c.rangeLevelReq = 40;
break; break;
case 6524: case 6524:
c.defenceLevelReq = 60; c.defenceLevelReq = 60;
break; break;
case 11284: case 11284:
c.defenceLevelReq = 75; c.defenceLevelReq = 75;
return; return;
case 6889: case 6889:
case 6914: case 6914:
c.magicLevelReq = 60; c.magicLevelReq = 60;
break; break;
case 10828: case 10828:
c.defenceLevelReq = 55; c.defenceLevelReq = 55;
break; break;
case 11724: case 11724:
case 11726: case 11726:
case 11728: case 11728:
c.defenceLevelReq = 65; c.defenceLevelReq = 65;
break; break;
case 847: case 847:
case 849: case 849:
c.rangeLevelReq = 20; c.rangeLevelReq = 20;
break; break;
case 843: case 843:
case 845: case 845:
c.rangeLevelReq = 5; c.rangeLevelReq = 5;
break; break;
case 851: case 851:
case 853: case 853:
c.rangeLevelReq = 30; c.rangeLevelReq = 30;
break; break;
case 855: case 855:
case 857: case 857:
c.rangeLevelReq = 40; c.rangeLevelReq = 40;
break; break;
case 859: case 859:
case 861: case 861:
c.rangeLevelReq = 50; c.rangeLevelReq = 50;
break; break;
case 3749: case 3749:
case 3751: case 3751:
case 3755: case 3755:
case 3753: case 3753:
c.defenceLevelReq = 45; c.defenceLevelReq = 45;
break; break;
case 7462: case 7462:
case 7461: case 7461:
c.defenceLevelReq = 40; c.defenceLevelReq = 40;
break; break;
case 8846: case 8846:
c.defenceLevelReq = 5; c.defenceLevelReq = 5;
break; break;
case 8847: case 8847:
c.defenceLevelReq = 10; c.defenceLevelReq = 10;
break; break;
case 8848: case 8848:
c.defenceLevelReq = 20; c.defenceLevelReq = 20;
break; break;
case 8849: case 8849:
c.defenceLevelReq = 30; c.defenceLevelReq = 30;
break; break;
case 8850: case 8850:
c.defenceLevelReq = 40; c.defenceLevelReq = 40;
break; break;
case 7460: case 7460:
c.defenceLevelReq = 40; c.defenceLevelReq = 40;
break; break;
case 837: case 837:
c.rangeLevelReq = 61; c.rangeLevelReq = 61;
break; break;
case 4151: // if you don't want to use names case 4151: // if you don't want to use names
c.attackLevelReq = 70; c.attackLevelReq = 70;
return; return;
case 6724: // seercull case 6724: // seercull
c.rangeLevelReq = 60; // idk if that is correct c.rangeLevelReq = 60; // idk if that is correct
return; return;
case 6523: case 6523:
case 6525: case 6525:
case 6527: case 6527:
c.attackLevelReq = 60; c.attackLevelReq = 60;
return; return;
case 6526: case 6526:
c.attackLevelReq = 60; c.attackLevelReq = 60;
c.magicLevelReq = 60; c.magicLevelReq = 60;
return; return;
case 4156: case 4156:
c.defenceLevelReq = 20; c.defenceLevelReq = 20;
c.slayerLevelReq = 25; c.slayerLevelReq = 25;
return; return;
case 1391: case 1391:
case 1393: case 1393:
case 1395: case 1395:
case 1397: case 1397:
case 1399: case 1399:
case 3053: case 3053:
c.attackLevelReq = 30; c.attackLevelReq = 30;
c.magicLevelReq = 30; c.magicLevelReq = 30;
return; return;
case 4158: case 4158:
c.slayerLevelReq = 55; c.slayerLevelReq = 55;
c.attackLevelReq = 50; c.attackLevelReq = 50;
return; return;
case 4153: case 4153:
c.attackLevelReq = 50; c.attackLevelReq = 50;
c.strengthLevelReq = 50; c.strengthLevelReq = 50;
return; return;
case 6528: case 6528:
c.strengthLevelReq = 60; c.strengthLevelReq = 60;
return; return;
case 4161: case 4161:
c.slayerLevelReq = 20; c.slayerLevelReq = 20;
return; return;
case 4168: case 4168:
c.slayerLevelReq = 60; c.slayerLevelReq = 60;
return; return;
case 6696: case 6696:
c.slayerLevelReq = 22; c.slayerLevelReq = 22;
return; return;
case 8923: case 8923:
c.slayerLevelReq = 35; c.slayerLevelReq = 35;
return; return;
case 7159: case 7159:
c.slayerLevelReq = 37; c.slayerLevelReq = 37;
return; return;
case 6708: case 6708:
c.slayerLevelReq = 42; c.slayerLevelReq = 42;
return; return;
case 4170: case 4170:
c.slayerLevelReq = 55; c.slayerLevelReq = 55;
return; return;
case 4162: case 4162:
c.slayerLevelReq = 75; c.slayerLevelReq = 75;
return; return;
case 7421: case 7421:
case 7422: case 7422:
case 7423: case 7423:
case 7424: case 7424:
case 7425: case 7425:
case 7426: case 7426:
case 7427: case 7427:
case 7428: case 7428:
case 7429: case 7429:
case 7430: case 7430:
case 7431: case 7431:
case 7432: case 7432:
c.slayerLevelReq = 57; c.slayerLevelReq = 57;
return; return;
case 4212: case 4212:
case 4214: case 4214:
case 4215: case 4215:
case 4216: case 4216:
case 4217: case 4217:
case 4218: case 4218:
case 4219: case 4219:
case 4220: case 4220:
case 4221: case 4221:
case 4222: case 4222:
case 4223: case 4223:
c.agilityLevelReq = 50; c.agilityLevelReq = 50;
c.rangeLevelReq = 70; c.rangeLevelReq = 70;
return; return;
case 4150: case 4150:
case 4160: case 4160:
case 4172: case 4172:
case 4174: case 4174:
c.slayerLevelReq = 55; c.slayerLevelReq = 55;
return; return;
case 1015: case 1015:
c.defenceLevelReq = 1; c.defenceLevelReq = 1;
return; return;
case 6664: case 6664:
c.slayerLevelReq = 32; c.slayerLevelReq = 32;
return; return;
case 4551: case 4551:
c.defenceLevelReq = 5; c.defenceLevelReq = 5;
return; return;
case 7051: case 7051:
c.slayerLevelReq = 33; c.slayerLevelReq = 33;
return; return;
case 4166: case 4166:
c.slayerLevelReq = 15; c.slayerLevelReq = 15;
return; return;
case 4164: case 4164:
c.slayerLevelReq = 10; c.slayerLevelReq = 10;
return; return;
} }
} }
@@ -1148,78 +1151,78 @@ public class ItemAssistant {
public void addSpecialBar(int weapon) { public void addSpecialBar(int weapon) {
switch (weapon) { switch (weapon) {
case 4151: // whip case 4151: // whip
c.getPacketSender().sendFrame171(0, 12323); c.getPacketSender().sendFrame171(0, 12323);
specialAmount(weapon, c.specAmount, 12335); specialAmount(weapon, c.specAmount, 12335);
break; break;
case 859: // magic bows case 859: // magic bows
case 861: case 861:
case 11235: case 11235:
c.getPacketSender().sendFrame171(0, 7549); c.getPacketSender().sendFrame171(0, 7549);
specialAmount(weapon, c.specAmount, 7561); specialAmount(weapon, c.specAmount, 7561);
break; break;
case 4587: // dscimmy case 4587: // dscimmy
c.getPacketSender().sendFrame171(0, 7599); c.getPacketSender().sendFrame171(0, 7599);
specialAmount(weapon, c.specAmount, 7611); specialAmount(weapon, c.specAmount, 7611);
break; break;
case 3204: // d hally case 3204: // d hally
c.getPacketSender().sendFrame171(0, 8493); c.getPacketSender().sendFrame171(0, 8493);
specialAmount(weapon, c.specAmount, 8505); specialAmount(weapon, c.specAmount, 8505);
break; break;
case 1377: // d battleaxe case 1377: // d battleaxe
c.getPacketSender().sendFrame171(0, 7499); c.getPacketSender().sendFrame171(0, 7499);
specialAmount(weapon, c.specAmount, 7511); specialAmount(weapon, c.specAmount, 7511);
break; break;
case 4153: // gmaul case 4153: // gmaul
c.getPacketSender().sendFrame171(0, 7474); c.getPacketSender().sendFrame171(0, 7474);
specialAmount(weapon, c.specAmount, 7486); specialAmount(weapon, c.specAmount, 7486);
break; break;
case 1249: // dspear case 1249: // dspear
c.getPacketSender().sendFrame171(0, 7674); c.getPacketSender().sendFrame171(0, 7674);
specialAmount(weapon, c.specAmount, 7686); specialAmount(weapon, c.specAmount, 7686);
break; break;
case 1215:// dragon dagger case 1215:// dragon dagger
case 1231: case 1231:
case 5680: case 5680:
case 5698: case 5698:
case 1305: // dragon long case 1305: // dragon long
case 11694: case 11694:
case 11698: case 11698:
case 11700: case 11700:
case 11730: case 11730:
case 11696: case 11696:
c.getPacketSender().sendFrame171(0, 7574); c.getPacketSender().sendFrame171(0, 7574);
specialAmount(weapon, c.specAmount, 7586); specialAmount(weapon, c.specAmount, 7586);
break; break;
case 1434: // dragon mace case 1434: // dragon mace
c.getPacketSender().sendFrame171(0, 7624); c.getPacketSender().sendFrame171(0, 7624);
specialAmount(weapon, c.specAmount, 7636); specialAmount(weapon, c.specAmount, 7636);
break; break;
default: default:
c.getPacketSender().sendFrame171(1, 7624); // mace c.getPacketSender().sendFrame171(1, 7624); // mace
// interface // interface
c.getPacketSender().sendFrame171(1, 7474); // hammer, gmaul c.getPacketSender().sendFrame171(1, 7474); // hammer, gmaul
c.getPacketSender().sendFrame171(1, 7499); // axe c.getPacketSender().sendFrame171(1, 7499); // axe
c.getPacketSender().sendFrame171(1, 7549); // bow interface c.getPacketSender().sendFrame171(1, 7549); // bow interface
c.getPacketSender().sendFrame171(1, 7574); // sword c.getPacketSender().sendFrame171(1, 7574); // sword
// interface // interface
c.getPacketSender().sendFrame171(1, 7599); // scimmy sword c.getPacketSender().sendFrame171(1, 7599); // scimmy sword
// interface, // interface,
// for most // for most
// swords // swords
c.getPacketSender().sendFrame171(1, 8493); c.getPacketSender().sendFrame171(1, 8493);
c.getPacketSender().sendFrame171(1, 12323); // whip c.getPacketSender().sendFrame171(1, 12323); // whip
// interface // interface
break; break;
} }
} }
@@ -1250,33 +1253,33 @@ public class ItemAssistant {
public void updateSpecialBar() { public void updateSpecialBar() {
if (c.usingSpecial) { if (c.usingSpecial) {
c.getPacketSender().sendFrame126( c.getPacketSender().sendFrame126(
"" ""
+ (c.specAmount >= 2 ? "@yel@S P" + (c.specAmount >= 2 ? "@yel@S P"
: "@bla@S P") : "@bla@S P")
+ "" + ""
+ (c.specAmount >= 3 ? "@yel@ E" + (c.specAmount >= 3 ? "@yel@ E"
: "@bla@ E") : "@bla@ E")
+ "" + ""
+ (c.specAmount >= 4 ? "@yel@ C I" + (c.specAmount >= 4 ? "@yel@ C I"
: "@bla@ C I") : "@bla@ C I")
+ "" + ""
+ (c.specAmount >= 5 ? "@yel@ A L" + (c.specAmount >= 5 ? "@yel@ A L"
: "@bla@ A L") : "@bla@ A L")
+ "" + ""
+ (c.specAmount >= 6 ? "@yel@ A" + (c.specAmount >= 6 ? "@yel@ A"
: "@bla@ A") : "@bla@ A")
+ "" + ""
+ (c.specAmount >= 7 ? "@yel@ T T" + (c.specAmount >= 7 ? "@yel@ T T"
: "@bla@ T T") : "@bla@ T T")
+ "" + ""
+ (c.specAmount >= 8 ? "@yel@ A" + (c.specAmount >= 8 ? "@yel@ A"
: "@bla@ A") : "@bla@ A")
+ "" + ""
+ (c.specAmount >= 9 ? "@yel@ C" + (c.specAmount >= 9 ? "@yel@ C"
: "@bla@ C") : "@bla@ C")
+ "" + ""
+ (c.specAmount >= 10 ? "@yel@ K" + (c.specAmount >= 10 ? "@yel@ K"
: "@bla@ K"), c.specBarId); : "@bla@ K"), c.specBarId);
} else { } else {
c.getPacketSender().sendFrame126( c.getPacketSender().sendFrame126(
"@bla@S P E C I A L A T T A C K", c.specBarId); "@bla@S P E C I A L A T T A C K", c.specBarId);
@@ -1662,7 +1665,7 @@ public class ItemAssistant {
c.flushOutStream(); c.flushOutStream();
c.updateRequired = true; c.updateRequired = true;
c.setAppearanceUpdateRequired(true); c.setAppearanceUpdateRequired(true);
Weight.calcWeight(c, wearID, "deleteitem"); Weight.updateWeight(c);
} }
} }
} }
@@ -1799,7 +1802,7 @@ public class ItemAssistant {
if (!CastleWars.deleteCastleWarsItems(c, itemID)) { if (!CastleWars.deleteCastleWarsItems(c, itemID)) {
return false; return false;
} }
if (c.otherBank == true) { if (c.otherBank) {
c.getPacketSender().closeAllWindows(); c.getPacketSender().closeAllWindows();
c.getPacketSender().sendMessage("You can't bank while viewing someones bank!"); c.getPacketSender().sendMessage("You can't bank while viewing someones bank!");
c.otherBank = false; c.otherBank = false;
@@ -2072,11 +2075,11 @@ public class ItemAssistant {
public int freeBankSlots() { public int freeBankSlots() {
int freeS = 0; int freeS = 0;
for (int i = 0; i < GameConstants.BANK_SIZE; i++) { for (int i = 0; i < GameConstants.BANK_SIZE; i++) {
if (c.bankItems[i] <= 0) { if (c.bankItems[i] <= 0) {
freeS++; freeS++;
}
} }
}
return freeS; return freeS;
} }
@@ -2100,9 +2103,9 @@ public class ItemAssistant {
} }
if (amount > 0) { if (amount > 0) {
if (c.bankItems[fromSlot] > 0) { if (c.bankItems[fromSlot] > 0) {
if (c.getItemAssistant().playerHasItem(itemID)) if (c.getItemAssistant().playerHasItem(itemID))
{ {
for (int i = 0; i <= 27;i++) for (int i = 0; i <= 27;i++)
{ {
if (itemID == c.playerItems[i] || (itemID == 995 && c.playerItems[i] - 1 == 995)) if (itemID == c.playerItems[i] || (itemID == 995 && c.playerItems[i] - 1 == 995))
{ {
@@ -2113,7 +2116,7 @@ public class ItemAssistant {
} }
} }
} }
} }
if (!cantWithdrawCuzMaxStack) if (!cantWithdrawCuzMaxStack)
{ {
if (!c.takeAsNote) { if (!c.takeAsNote) {
@@ -2367,7 +2370,7 @@ public class ItemAssistant {
} }
} }
resetItems(3214); resetItems(3214);
Weight.calcWeight(c, id, "deleteitem"); Weight.updateWeight(c);
} }
public void deleteItem(int id, int slot, int amount) { public void deleteItem(int id, int slot, int amount) {
@@ -2382,7 +2385,7 @@ public class ItemAssistant {
c.playerItems[slot] = 0; c.playerItems[slot] = 0;
} }
resetItems(3214); resetItems(3214);
Weight.calcWeight(c, id, "deleteitem"); Weight.updateWeight(c);
} }
} }
@@ -8,62 +8,62 @@ import com.rebotted.game.players.Player;
*/ */
public class Weight extends ItemDefinitions { public class Weight extends ItemDefinitions {
/** /**
* Calculates the weight when doing actions * Calculates the weight when doing actions
* *
* @param c * @param c
* @param item * @param item
* @param action * @param action
* - deleteitem, additem, equip, unequip. * - deleteitem, additem, equip, unequip.
*/ */
public static void calcWeight(Player c, int item, String action) { private static void calcWeight(Player c, int item, String action) {
if (action.equalsIgnoreCase("deleteitem")) { if (action.equalsIgnoreCase("deleteitem")) {
if (getWeight(item) > 99.20) { if (getWeight(item) > 99.20) {
c.weight -= getWeight(item) / 100; c.weight -= getWeight(item) / 100;
if (c.weight < 0) { if (c.weight < 0) {
c.weight = 0.0; c.weight = 0.0;
} }
c.getPacketSender().writeWeight((int) c.weight); c.getPacketSender().writeWeight((int) c.weight);
return; return;
} }
c.weight -= getWeight(item) / 10; c.weight -= getWeight(item) / 10;
if (c.weight < 0) { if (c.weight < 0) {
c.weight = 0.0; c.weight = 0.0;
} }
c.getPacketSender().writeWeight((int) c.weight); c.getPacketSender().writeWeight((int) c.weight);
} else if (action.equalsIgnoreCase("additem")) { } else if (action.equalsIgnoreCase("additem")) {
if (getWeight(item) > 99.20) { if (getWeight(item) > 99.20) {
c.weight += getWeight(item) / 100; c.weight += getWeight(item) / 100;
c.getPacketSender().writeWeight((int) c.weight); c.getPacketSender().writeWeight((int) c.weight);
return; return;
} }
c.weight += getWeight(item) / 10; c.weight += getWeight(item) / 10;
c.getPacketSender().writeWeight((int) c.weight); c.getPacketSender().writeWeight((int) c.weight);
} }
} }
/** /**
* Updates the weight for inventory and equipment. * Updates the weight for inventory and equipment.
* *
* @param player * @param player
*/ */
public static void updateWeight(Player player) { public static void updateWeight(Player player) {
if (player != null) { if (player != null) {
player.weight = 0; player.weight = 0;
// Inventory items // Inventory items
for (int playerItem : player.playerItems) { for (int playerItem : player.playerItems) {
if (playerItem > -1) {// inventory if (playerItem > -1) {// inventory
calcWeight(player, playerItem, "addItem"); calcWeight(player, playerItem, "addItem");
} }
} }
// Equiped items // Equiped items
for (int element : player.playerEquipment) { for (int element : player.playerEquipment) {
if (element > -1) {// equipment if (element > -1) {// equipment
if (element == 88) player.weight -= 4.5; if (element == 88) player.weight -= 4.5;
else calcWeight(player, element, "addItem"); else calcWeight(player, element, "addItem");
} }
} }
} player.getPacketSender().writeWeight((int) player.weight);
player.getPacketSender().writeWeight((int) player.weight); }
} }
} }
@@ -4,6 +4,7 @@ import java.io.BufferedReader;
import java.io.FileNotFoundException; import java.io.FileNotFoundException;
import java.io.FileReader; import java.io.FileReader;
import java.io.IOException; import java.io.IOException;
import com.rebotted.GameConstants; import com.rebotted.GameConstants;
import com.rebotted.GameEngine; import com.rebotted.GameEngine;
import com.rebotted.event.CycleEvent; import com.rebotted.event.CycleEvent;
@@ -649,14 +650,12 @@ public class NpcHandler {
if (npcs[i].actionTimer == 0 && npcs[i].applyDead == false && npcs[i].needRespawn == false) { if (npcs[i].actionTimer == 0 && npcs[i].applyDead == false && npcs[i].needRespawn == false) {
npcs[i].updateRequired = true; npcs[i].updateRequired = true;
npcs[i].facePlayer(0); npcs[i].facePlayer(0);
npcs[i].killedBy = NpcData.getNpcKillerId(i); if (npcs[i].killedBy <= 0)
npcs[i].killedBy = NpcData.getNpcKillerId(i);
Player c = (Client) PlayerHandler.players[npcs[i].killedBy]; Player c = (Client) PlayerHandler.players[npcs[i].killedBy];
if (c != null) { if (c != null) {
npcs[i].animNumber = NpcEmotes.getDeadEmote(c, i); // dead emote npcs[i].animNumber = NpcEmotes.getDeadEmote(c, i); // dead emote
if (CombatConstants.COMBAT_SOUNDS) { if (CombatConstants.COMBAT_SOUNDS) {
if (PestControl.npcIsPCMonster(NpcHandler.npcs[i].npcType) || PestControl.isPCPortal(NpcHandler.npcs[i].npcType)) {
return;
}
c.getPacketSender().sendSound(CombatSounds.getNpcDeathSounds(npcs[i].npcType), 100, 0); c.getPacketSender().sendSound(CombatSounds.getNpcDeathSounds(npcs[i].npcType), 100, 0);
} }
} }
@@ -2012,10 +2012,10 @@ public class NPCDrops extends NPCDropsHandler {
public static final ItemDrop[] imp = { public static final ItemDrop[] imp = {
new ItemDrop(i("ashes"), 1, ALWAYS), new ItemDrop(i("ashes"), 1, ALWAYS),
new ItemDrop(i("red bead"), 1, COMMON), new ItemDrop(i("red bead"), 1, UNCOMMON),
new ItemDrop(i("yellow bead"), 1, COMMON), new ItemDrop(i("yellow bead"), 1, UNCOMMON),
new ItemDrop(i("black bead"), 1, COMMON), new ItemDrop(i("black bead"), 1, UNCOMMON),
new ItemDrop(i("white bead"), 1, COMMON), new ItemDrop(i("white bead"), 1, UNCOMMON),
new ItemDrop(i("tinderbox"), 1, UNCOMMON), new ItemDrop(i("tinderbox"), 1, UNCOMMON),
new ItemDrop(i("ball of wool"), 1, COMMON), new ItemDrop(i("ball of wool"), 1, COMMON),
new ItemDrop(i("hammer"), 1, COMMON), new ItemDrop(i("hammer"), 1, COMMON),
@@ -1462,7 +1462,7 @@ public class ObjectsActions {
break; break;
case 14315: case 14315:
if (!PestControl.waitingBoat.containsKey(player) && player.absX == 2657 && player.absY > 2638 && player.absY < 2640) { if (!PestControl.waitingBoat.containsKey(player) && player.absX == 2657 && player.absY > 2638 && player.absY < 264) {
PestControl.addToWaitRoom(player); PestControl.addToWaitRoom(player);
} else { } else {
if (player.absX == 2657 && player.absY > 2638 && player.absY < 2641) { if (player.absX == 2657 && player.absY > 2638 && player.absY < 2641) {
@@ -1691,7 +1691,7 @@ public class ObjectsActions {
RuneCraftingActions.handleRuneCrafting(player, objectType); RuneCraftingActions.handleRuneCrafting(player, objectType);
break; break;
case 3203: case 3203:
Dueling.handleForfeit(player); Dueling.HandleForfeit(player);
break; break;
case 6481: case 6481:
player.getPlayerAssistant().movePlayer(3233, 9317, 0); player.getPlayerAssistant().movePlayer(3233, 9317, 0);
@@ -1582,16 +1582,6 @@ public abstract class Player {
public int XremoveSlot, XinterfaceID, XremoveID, Xamount; public int XremoveSlot, XinterfaceID, XremoveID, Xamount;
public boolean isMining; public boolean isMining;
public boolean hasThievedStall;
public boolean hasThievedStall() {
return hasThievedStall;
}
public void setHasThievedStall(boolean hasThievedStall) {
this.hasThievedStall = hasThievedStall;
}
public boolean antiFirePot = false; public boolean antiFirePot = false;
public boolean underWater = false; public boolean underWater = false;
@@ -1781,7 +1771,6 @@ public abstract class Player {
isInArea(2379, 4453, 2386, 4462) || // Zanaris isInArea(2379, 4453, 2386, 4462) || // Zanaris
isInArea(2582, 3423, 2591, 3417) || //Fishing Guild isInArea(2582, 3423, 2591, 3417) || //Fishing Guild
isInArea(3509, 3483, 3516, 3476) || //Canifis isInArea(3509, 3483, 3516, 3476) || //Canifis
isInArea(3297, 3133, 3311, 3115) || //Shantay Pass
false; false;
} }
@@ -693,13 +693,6 @@ public class PlayerAssistant {
player.getPacketSender().sendMessage("You can't teleport from a Fight pits Game!"); player.getPacketSender().sendMessage("You can't teleport from a Fight pits Game!");
return; return;
} }
if (player.inWild() && player.wildLevel > GameConstants.NO_TELEPORT_WILD_LEVEL) {
player.getPacketSender().sendMessage(
"You can't teleport above level "
+ GameConstants.NO_TELEPORT_WILD_LEVEL
+ " in the wilderness.");
return;
}
if (player.tutorialProgress < 36) { if (player.tutorialProgress < 36) {
player.getPacketSender().sendMessage("You can't teleport from tutorial island!"); player.getPacketSender().sendMessage("You can't teleport from tutorial island!");
return; return;
@@ -726,6 +719,14 @@ public class PlayerAssistant {
player.getPacketSender().sendMessage("This feature is curently disabled."); player.getPacketSender().sendMessage("This feature is curently disabled.");
return; return;
} }
if (player.inWild()
&& player.wildLevel > GameConstants.NO_TELEPORT_WILD_LEVEL) {
player.getPacketSender().sendMessage(
"You can't teleport above level "
+ GameConstants.NO_TELEPORT_WILD_LEVEL
+ " in the wilderness.");
return;
}
if (System.currentTimeMillis() - player.teleBlockDelay < player.teleBlockLength) { if (System.currentTimeMillis() - player.teleBlockDelay < player.teleBlockLength) {
player.getPacketSender().sendMessage( player.getPacketSender().sendMessage(
"You are teleblocked and can't teleport."); "You are teleblocked and can't teleport.");
@@ -1068,8 +1068,7 @@ public class PacketSender {
*/ */
public PacketSender sendSong(int id) { public PacketSender sendSong(int id) {
if (player.getOutStream() == null) if (player.getOutStream() == null) return this;
return this;
if (player != null && id != -1) { if (player != null && id != -1) {
player.getOutStream().createFrame(74); player.getOutStream().createFrame(74);
player.getOutStream().writeWordBigEndian(id); player.getOutStream().writeWordBigEndian(id);
@@ -1082,8 +1081,7 @@ public class PacketSender {
*/ */
public PacketSender sendQuickSong(int id, int songDelay) { public PacketSender sendQuickSong(int id, int songDelay) {
if (player.getOutStream() == null) if (player.getOutStream() == null) return this;
return this;
if (player != null) { if (player != null) {
player.getOutStream().createFrame(121); player.getOutStream().createFrame(121);
player.getOutStream().writeWordBigEndian(id); player.getOutStream().writeWordBigEndian(id);
@@ -1098,8 +1096,7 @@ public class PacketSender {
*/ */
public PacketSender sendSound(int id, int type, int delay, int volume) { public PacketSender sendSound(int id, int type, int delay, int volume) {
if (player.getOutStream() == null) if (player.getOutStream() == null) return this;
return this;
if (player != null && id != -1) { if (player != null && id != -1) {
player.getOutStream().createFrame(174); player.getOutStream().createFrame(174);
player.getOutStream().writeWord(id); player.getOutStream().writeWord(id);
@@ -2,13 +2,14 @@ package com.rebotted.net.packets.impl;
import com.rebotted.game.content.combat.CombatConstants; import com.rebotted.game.content.combat.CombatConstants;
import com.rebotted.game.content.combat.Specials; import com.rebotted.game.content.combat.Specials;
import com.rebotted.game.content.combat.magic.*; import com.rebotted.game.content.combat.magic.CastOnOther;
import com.rebotted.game.content.combat.magic.MagicData;
import com.rebotted.game.content.combat.magic.MagicTeleports;
import com.rebotted.game.content.combat.prayer.ActivatePrayers; import com.rebotted.game.content.combat.prayer.ActivatePrayers;
import com.rebotted.game.content.music.Music; import com.rebotted.game.content.music.Music;
import com.rebotted.game.content.music.sound.SoundList; import com.rebotted.game.content.music.sound.SoundList;
import com.rebotted.game.content.quests.QuestAssistant; import com.rebotted.game.content.quests.QuestAssistant;
import com.rebotted.game.content.random.PartyRoom; import com.rebotted.game.content.random.PartyRoom;
import com.rebotted.game.content.randomevents.RandomEventHandler;
import com.rebotted.game.content.randomevents.SandwhichLady; import com.rebotted.game.content.randomevents.SandwhichLady;
import com.rebotted.game.content.skills.cooking.Cooking; import com.rebotted.game.content.skills.cooking.Cooking;
import com.rebotted.game.content.skills.cooking.CookingTutorialIsland; import com.rebotted.game.content.skills.cooking.CookingTutorialIsland;
@@ -91,30 +92,73 @@ public class ClickingButtons implements PacketType {
player.droppedItem = -1; player.droppedItem = -1;
break; break;
case 50235:
MagicTeleports.paddewwaTeleport(player);
break;
/** case 50245:
* Spellbook Teleports MagicTeleports.senntisenTeleport(player);
*/ break;
case 50235: case 50253:
case 50245: MagicTeleports.kharyllTeleport(player);
case 50253: break;
case 51005:
case 51013:
case 51023:
case 51031:
case 51039:
case 4140:
case 4143:
case 4146:
case 4150:
case 6004:
case 6005:
case 29031:
case 72038:
MagicTeleports.handleSpellTeleport(player, SpellTeleport.forButtonId(actionButtonId));
break;
case 51005:
MagicTeleports.lassarTeleport(player);
break;
case 51013:
MagicTeleports.dareeyakTeleport(player);
break;
case 51023:
MagicTeleports.carrallangarTeleport(player);
break;
case 51031:
MagicTeleports.annakarlTeleport(player);
break;
case 51039:
MagicTeleports.ghorrockTeleport(player);
break;
case 4140:
MagicTeleports.varrockTeleport(player);
break;
case 4143:
MagicTeleports.lumbridgeTeleport(player);
break;
case 4146:
MagicTeleports.faladorTeleport(player);
break;
case 4150:
MagicTeleports.camelotTeleport(player);
break;
case 6004:
MagicTeleports.ardougneTeleport(player);
break;
case 6005:
MagicTeleports.watchTowerTeleport(player);
break;
case 29031:
MagicTeleports.trollhiemTeleport(player);
break;
case 72038:
MagicTeleports.apeAtollTeleport(player);
break;
/**
* End of Modern Teleports
*/
case 4135: case 4135:
if (player.inTrade) { if (player.inTrade) {
@@ -1365,7 +1409,7 @@ public class ClickingButtons implements PacketType {
player.getPacketSender().sendFrame126( player.getPacketSender().sendFrame126(
"Waiting for other player...", 6571); "Waiting for other player...", 6571);
o1.getPacketSender().sendFrame126( o1.getPacketSender().sendFrame126(
"Other player has accepted.", 6571); "Other player has accepted", 6571);
} }
} else { } else {
Client o = (Client) PlayerHandler.players[player.duelingWith]; Client o = (Client) PlayerHandler.players[player.duelingWith];
@@ -1607,7 +1651,7 @@ public class ClickingButtons implements PacketType {
} }
player.getPacketSender().sendFrame126( player.getPacketSender().sendFrame126(
"Waiting for other player...", 3431); "Waiting for other player...", 3431);
ot.getPacketSender().sendFrame126("Other player has accepted.", ot.getPacketSender().sendFrame126("Other player has accepted",
3431); 3431);
player.goodTrade = true; player.goodTrade = true;
ot.goodTrade = true; ot.goodTrade = true;
@@ -1637,15 +1681,15 @@ public class ClickingButtons implements PacketType {
player.goodTrade = false; player.goodTrade = false;
ot.goodTrade = false; ot.goodTrade = false;
player.getPacketSender().sendFrame126( player.getPacketSender().sendFrame126(
"Not enough inventory spaces.", 3431); "Not enough space in your inventory.", 3431);
ot.getPacketSender().sendFrame126( ot.getPacketSender().sendFrame126(
"Not enough inventory spaces.", 3431); "Not enough space in your inventory.", 3431);
break; break;
} else { } else {
player.getPacketSender().sendFrame126( player.getPacketSender().sendFrame126(
"Waiting for other player...", 3431); "Waiting for other player...", 3431);
ot.getPacketSender().sendFrame126( ot.getPacketSender().sendFrame126(
"Other player has accepted.", 3431); "Other player has accepted", 3431);
player.goodTrade = true; player.goodTrade = true;
ot.goodTrade = true; ot.goodTrade = true;
} }
@@ -1,12 +1,13 @@
package com.rebotted.net.packets.impl; package com.rebotted.net.packets.impl;
import static com.rebotted.game.content.combat.magic.MagicTeleports.LUMBRIDGE_X;
import static com.rebotted.game.content.combat.magic.MagicTeleports.LUMBRIDGE_Y;
import static com.rebotted.util.GameLogger.writeLog; import static com.rebotted.util.GameLogger.writeLog;
import java.util.Arrays; import java.util.Arrays;
import com.rebotted.Connection; import com.rebotted.Connection;
import com.rebotted.GameConstants; import com.rebotted.GameConstants;
import com.rebotted.GameEngine; import com.rebotted.GameEngine;
import com.rebotted.game.bots.BotHandler; import com.rebotted.game.bots.BotHandler;
import com.rebotted.game.content.combat.magic.SpellTeleport;
import com.rebotted.game.items.ItemAssistant; import com.rebotted.game.items.ItemAssistant;
import com.rebotted.game.npcs.NpcHandler; import com.rebotted.game.npcs.NpcHandler;
import com.rebotted.game.players.*; import com.rebotted.game.players.*;
@@ -253,7 +254,7 @@ public class Commands implements PacketType {
player.getPacketSender().showInterface(8134); player.getPacketSender().showInterface(8134);
break; break;
case "stuck": case "stuck":
player.getPlayerAssistant().startTeleport(SpellTeleport.LUMBRIDGE.getDestX(), SpellTeleport.LUMBRIDGE.getDestY(), 0, "modern"); player.getPlayerAssistant().startTeleport(LUMBRIDGE_X, LUMBRIDGE_Y, 0, "modern");
player.getPacketSender().sendMessage("How did you manage that one... If it's bug related, please report on Github/Discord!"); player.getPacketSender().sendMessage("How did you manage that one... If it's bug related, please report on Github/Discord!");
player.gfx100(80); player.gfx100(80);
player.startAnimation(404); player.startAnimation(404);
@@ -642,11 +643,11 @@ public class Commands implements PacketType {
player.specAmount = 100.0; player.specAmount = 100.0;
break; break;
case "hp": case "hp":
player.getPacketSender().sendMessage("You attributed yourself 999,999 hitpoints."); player.getPacketSender().sendMessage("You attributed yourself 999 999 hitpoints.");
player.playerLevel[3] = 999999; player.playerLevel[3] = 999999;
break; break;
case "pray": case "pray":
player.getPacketSender().sendMessage("You attributed yourself 999,999 prayer points."); player.getPacketSender().sendMessage("You attributed yourself 999 999 prayer points.");
player.playerLevel[5] = 999999; player.playerLevel[5] = 999999;
break; break;
case "setlevel": case "setlevel":
@@ -654,7 +655,7 @@ public class Commands implements PacketType {
case "skill": case "skill":
try { try {
if (arguments.length < 2) { if (arguments.length < 2) {
player.getPacketSender().sendMessage("Must specify a skill and level - ::setlevel 1 99"); player.getPacketSender().sendMessage("Must specify a skill and level: ::setlevel 1 99");
return; return;
} }
int skill = Integer.parseInt(arguments[0]); int skill = Integer.parseInt(arguments[0]);
@@ -33,6 +33,7 @@ public class ItemHandler {
ItemList[i] = null; ItemList[i] = null;
} }
loadItemList("item.cfg"); loadItemList("item.cfg");
loadItemPrices("prices.txt");
} }
/** /**
Binary file not shown.
Binary file not shown.