diff --git a/2006Scape Server/plugins/plugin/click/item/ItemFirstClick.kt b/2006Scape Server/plugins/plugin/click/item/ItemFirstClick.kt index 28425bda..0d5ac043 100644 --- a/2006Scape Server/plugins/plugin/click/item/ItemFirstClick.kt +++ b/2006Scape Server/plugins/plugin/click/item/ItemFirstClick.kt @@ -4,6 +4,7 @@ import com.rs2.event.EventContext import com.rs2.event.EventSubscriber import com.rs2.event.SubscribesTo import com.rs2.event.impl.ItemFirstClickEvent +import com.rs2.game.content.StaticItemList.YOYO import com.rs2.game.players.Player @@ -18,7 +19,7 @@ class ItemFirstClick : EventSubscriber { when(event.item) { - 4079 -> player.startAnimation(1457) // yo-yo + YOYO -> player.startAnimation(1457) } diff --git a/2006Scape Server/plugins/plugin/click/item/ItemOnItem.kt b/2006Scape Server/plugins/plugin/click/item/ItemOnItem.kt index 76e10611..d3d345f5 100644 --- a/2006Scape Server/plugins/plugin/click/item/ItemOnItem.kt +++ b/2006Scape Server/plugins/plugin/click/item/ItemOnItem.kt @@ -4,6 +4,7 @@ import com.rs2.event.EventContext import com.rs2.event.EventSubscriber import com.rs2.event.SubscribesTo import com.rs2.event.impl.ItemOnItemEvent +import com.rs2.game.content.StaticItemList.* import com.rs2.game.players.Player @SubscribesTo(ItemOnItemEvent::class) @@ -15,9 +16,9 @@ class ItemOnItem : EventSubscriber { player.packetSender.sendMessage("[ItemOnItem] - used: ${event.used} with: ${event.usedWith}") } - if (event.used == 38 && event.usedWith == 590) { - player.itemAssistant.addItem(32, 1) - player.itemAssistant.deleteItem(38, 1) + if (event.used == BLACK_CANDLE && event.usedWith == TINDERBOX) { + player.itemAssistant.addItem(LIT_BLACK_CANDLE, 1) + player.itemAssistant.deleteItem(BLACK_CANDLE, 1) } } diff --git a/2006Scape Server/plugins/plugin/click/item/ItemSecondClick.kt b/2006Scape Server/plugins/plugin/click/item/ItemSecondClick.kt index c9be4e07..2a33b327 100644 --- a/2006Scape Server/plugins/plugin/click/item/ItemSecondClick.kt +++ b/2006Scape Server/plugins/plugin/click/item/ItemSecondClick.kt @@ -4,6 +4,7 @@ import com.rs2.event.EventContext import com.rs2.event.EventSubscriber import com.rs2.event.SubscribesTo import com.rs2.event.impl.ItemSecondClickEvent +import com.rs2.game.content.StaticItemList.YOYO import com.rs2.game.players.Player @SubscribesTo(ItemSecondClickEvent::class) @@ -17,7 +18,7 @@ class ItemSecondClick : EventSubscriber { when(event.id) { - 4079 -> player.startAnimation(1459) //yo-yo + YOYO -> player.startAnimation(1459) } diff --git a/2006Scape Server/plugins/plugin/click/item/ItemThirdClick.kt b/2006Scape Server/plugins/plugin/click/item/ItemThirdClick.kt index 63600f00..29cf6997 100644 --- a/2006Scape Server/plugins/plugin/click/item/ItemThirdClick.kt +++ b/2006Scape Server/plugins/plugin/click/item/ItemThirdClick.kt @@ -4,6 +4,7 @@ import com.rs2.event.EventContext import com.rs2.event.EventSubscriber import com.rs2.event.SubscribesTo import com.rs2.event.impl.ItemThirdClickEvent +import com.rs2.game.content.StaticItemList.YOYO import com.rs2.game.players.Player @SubscribesTo(ItemThirdClickEvent::class) @@ -17,7 +18,7 @@ class ItemThirdClick : EventSubscriber { when(event.id) { - 4079 -> player.startAnimation(1460) //yo-yo + YOYO -> player.startAnimation(1460) } diff --git a/2006Scape Server/plugins/plugin/click/npc/NpcFirstClick.kt b/2006Scape Server/plugins/plugin/click/npc/NpcFirstClick.kt index 60cbb8f1..9350485f 100644 --- a/2006Scape Server/plugins/plugin/click/npc/NpcFirstClick.kt +++ b/2006Scape Server/plugins/plugin/click/npc/NpcFirstClick.kt @@ -1,11 +1,10 @@ package plugin.click.npc -import com.rs2.GameConstants import com.rs2.event.EventContext import com.rs2.event.EventSubscriber import com.rs2.event.SubscribesTo import com.rs2.event.impl.NpcFirstClickEvent -import com.rs2.game.npcs.Npc +import com.rs2.game.content.StaticNpcList.* import com.rs2.game.players.Player import com.rs2.util.Misc @@ -21,7 +20,7 @@ class NpcFirstClick : EventSubscriber { when(event.npc) { - 1,2,3,4,5,6 -> if (Misc.random(10) <= 5) { + MAN,MAN_2,MAN_3,WOMAN,WOMAN_5,WOMAN_6 -> if (Misc.random(10) <= 5) { player.dialogueHandler.sendDialogues(3869, player.npcType) } else { player.dialogueHandler.sendDialogues(3872, player.npcType) diff --git a/2006Scape Server/plugins/plugin/click/obj/ObjectFirstClick.kt b/2006Scape Server/plugins/plugin/click/obj/ObjectFirstClick.kt index 57ccda36..77d7ad43 100644 --- a/2006Scape Server/plugins/plugin/click/obj/ObjectFirstClick.kt +++ b/2006Scape Server/plugins/plugin/click/obj/ObjectFirstClick.kt @@ -6,6 +6,7 @@ import com.rs2.event.SubscribesTo import com.rs2.event.impl.ObjectFirstClickEvent import com.rs2.game.content.skills.core.Mining import com.rs2.game.players.Player +import com.rs2.world.clip.Region @SubscribesTo(ObjectFirstClickEvent::class) class ObjectFirstClick : EventSubscriber { @@ -16,6 +17,10 @@ class ObjectFirstClick : EventSubscriber { player.packetSender.sendMessage("[click= object], [type= first], [id= ${player.objectId}], [location= x:${player.objectX} y:${player.objectY} ]") } + if (!Region.objectExists(player.objectId, player.objectX, player.objectY, player.heightLevel)) { + return + } + // if its a rock we can mine, mine it if (Mining.rockExists(event.gameObject)) { player.mining.startMining(player, event.gameObject, player.objectX, player.objectY, player.clickObjectType) diff --git a/2006Scape Server/plugins/plugin/click/obj/ObjectSecondClick.kt b/2006Scape Server/plugins/plugin/click/obj/ObjectSecondClick.kt index fd95ac9e..1b06e169 100644 --- a/2006Scape Server/plugins/plugin/click/obj/ObjectSecondClick.kt +++ b/2006Scape Server/plugins/plugin/click/obj/ObjectSecondClick.kt @@ -6,6 +6,7 @@ import com.rs2.event.SubscribesTo import com.rs2.event.impl.ObjectSecondClickEvent import com.rs2.game.content.skills.thieving.Stalls import com.rs2.game.players.Player +import com.rs2.world.clip.Region @SubscribesTo(ObjectSecondClickEvent::class) class ObjectSecondClick : EventSubscriber { @@ -16,6 +17,10 @@ class ObjectSecondClick : EventSubscriber { player.packetSender.sendMessage("[click= object], [type= second], [id= ${player.objectId}], [location= x:${player.objectX} y:${player.objectY} ]"); } + if (!Region.objectExists(player.objectId, player.objectX, player.objectY, player.heightLevel)) { + return + } + if (Stalls.isObject(event.gameObject)) { Stalls.attemptStall(player, event.gameObject, player.objectX, player.objectY) return diff --git a/2006Scape Server/plugins/plugin/click/obj/ObjectThirdClick.kt b/2006Scape Server/plugins/plugin/click/obj/ObjectThirdClick.kt index 418235f9..5de7c5be 100644 --- a/2006Scape Server/plugins/plugin/click/obj/ObjectThirdClick.kt +++ b/2006Scape Server/plugins/plugin/click/obj/ObjectThirdClick.kt @@ -4,8 +4,10 @@ import com.rs2.event.EventContext import com.rs2.event.EventSubscriber import com.rs2.event.SubscribesTo import com.rs2.event.impl.ObjectThirdClickEvent +import com.rs2.game.content.StaticObjectList.IRON_LADDER_10177 import com.rs2.game.content.skills.thieving.Stalls import com.rs2.game.players.Player +import com.rs2.world.clip.Region @SubscribesTo(ObjectThirdClickEvent::class) class ObjectThirdClick : EventSubscriber { @@ -16,13 +18,17 @@ class ObjectThirdClick : EventSubscriber { player.packetSender.sendMessage("[click= object], [type= third], [id= ${player.objectId}], [location= x:${player.objectX} y:${player.objectY} ], [PLUGIN]"); } + if (!Region.objectExists(player.objectId, player.objectX, player.objectY, player.heightLevel)) { + return + } + if (Stalls.isObject(event.gameObject)) { Stalls.attemptStall(player, event.gameObject, player.objectX, player.objectY) return } when (event.gameObject) { - 10177 -> player.playerAssistant.movePlayer(1798, 4407, 3); + IRON_LADDER_10177 -> player.playerAssistant.movePlayer(1798, 4407, 3); } } diff --git a/2006Scape Server/plugins/plugin/npc/fadli/SecondClick.kt b/2006Scape Server/plugins/plugin/npc/fadli/SecondClick.kt index b1586e29..b922a681 100644 --- a/2006Scape Server/plugins/plugin/npc/fadli/SecondClick.kt +++ b/2006Scape Server/plugins/plugin/npc/fadli/SecondClick.kt @@ -5,12 +5,13 @@ import com.rs2.event.EventSubscriber import com.rs2.event.SubscribesTo import com.rs2.event.impl.NpcSecondClickEvent import com.rs2.game.players.Player +import com.rs2.game.content.StaticNpcList.FADLI @SubscribesTo(NpcSecondClickEvent::class) class SecondClick : EventSubscriber { override fun subscribe(context: EventContext, player: Player, event: NpcSecondClickEvent) { - if (event.npc == 958) { + if (event.npc == FADLI) { player.packetSender.openUpBank() } } diff --git a/2006Scape Server/src/main/java/com/rs2/game/content/consumables/Food.java b/2006Scape Server/src/main/java/com/rs2/game/content/consumables/Food.java index a2d74bd1..99f388ac 100644 --- a/2006Scape Server/src/main/java/com/rs2/game/content/consumables/Food.java +++ b/2006Scape Server/src/main/java/com/rs2/game/content/consumables/Food.java @@ -20,7 +20,7 @@ public class Food { PINEAPPLE(2114, 2, "Pineapple", 0, "Food", false), CHOCOLATE_BAR(1973, 2, "Chocolate Bar", 0, "Food", false), Wine(1993, 11, "Wine", 1935, "Drink", false), - MACKERAL(355, 6, "Mackeral", 0, "Food", false), + MACKEREL(355, 6, "Mackerel", 0, "Food", false), MANTA(391, 22, "Manta Ray", 0, "Food", false), SHARK(385, 20, "Shark", 0, "Food", false), LOBSTER(379, 12, "Lobster", 0, "Food", false), diff --git a/2006Scape Server/src/main/java/com/rs2/game/content/skills/cooking/Cooking.java b/2006Scape Server/src/main/java/com/rs2/game/content/skills/cooking/Cooking.java index 2fbb0572..99edd8e7 100644 --- a/2006Scape Server/src/main/java/com/rs2/game/content/skills/cooking/Cooking.java +++ b/2006Scape Server/src/main/java/com/rs2/game/content/skills/cooking/Cooking.java @@ -1,10 +1,11 @@ package com.rs2.game.content.skills.cooking; -import java.security.SecureRandom; import com.rs2.GameConstants; import com.rs2.event.CycleEvent; import com.rs2.event.CycleEventContainer; import com.rs2.event.CycleEventHandler; +import com.rs2.game.content.StaticItemList; +import com.rs2.game.content.StaticObjectList; import com.rs2.game.content.music.sound.SoundList; import com.rs2.game.content.randomevents.RandomEventHandler; import com.rs2.game.content.skills.SkillHandler; @@ -13,261 +14,263 @@ import com.rs2.game.items.ItemConstants; import com.rs2.game.players.Player; import com.rs2.util.Misc; +import java.security.SecureRandom; + public class Cooking extends SkillHandler { - private static SecureRandom cookingRandom = new SecureRandom(); // The random factor + private static SecureRandom cookingRandom = new SecureRandom(); // The random factor - private static enum CookingItems { - //raw, cooked, burnt, levelreq, exp, stopburn, stopburn w/gloves, name - SHRIMP(317, 315, 7954, 1, 30, 34, 30, "shrimp"), - SARDINE(327, 325, 369, 1, 40, 38, 38, "sardine"), - HERRING(345, 347, 357, 5, 50, 41, 41, "herring"), - TROUT(335, 333, 343, 15, 70, 50, 50, "trout"), - TUNA(359, 361, 367, 30, 100, 64, 63, "tuna"), - ANCHOVIES(321, 319, 323, 5, 45, 34, 34, "anchovies"), - RAW_BEEF(2132, 2142, 2146, 1, 30, 33, 33, "raw beef"), - RAW_RAT(2134, 2142, 2146, 1, 30, 33, 33, "raw rat meat"), - BURNT_MEAT(2142, 2146, 2146, 1, 1, 100, 100, "cooked meat"), - RAW_CHICKEN(2138, 2140, 2144, 1, 30, 33, 33, "raw chicken"), - RAW_BEAR_MEAT(2136, 2142, 2146, 1, 30, 33, 33, "raw bear meat"), - MACKERAL(353, 355, 357, 10, 60, 45, 45, "mackeral"), - SALMON(331, 329, 343, 25, 90, 58, 55, "salmon"), - UNCOOKED_BERRY_PIE(2321, 2325, 2329, 10, 78, 50, 50, "uncooked pie"), - PIKE(349, 351, 343, 20, 80, 59, 59, "pike"), - KARAMBWAN(3142, 3144, 3146, 1, 80, 20, 20, "karambwan"), - LOBSTER(377, 379, 381, 40, 120, 74, 68, "lobster"), - SWORDFISH(371, 373, 375, 50, 140, 86, 81, "swordfish"), - MONKFISH(7944, 7946, 7948, 62, 150, 92, 90, "monkfish"), - SHARK(383, 385, 387, 76, 210, 100, 94, "shark"), - SEA_TURTLE(395, 397, 399, 82, 211, 100, 100, "sea turtle"), - MANTA_RAY(389, 391, 393, 91, 216, 100, 100, "manta ray"), - SEAWEED(401, 1781, 1781, 1, 1, 1, 1, "sea weed"), - CURRY(2009, 2011, 2013, 60, 280, 74, 74, "curry"); + private static enum CookingItems { + //raw, cooked, burnt, levelreq, exp, stopburn, stopburn w/gloves, name + SHRIMP(StaticItemList.RAW_SHRIMPS, StaticItemList.SHRIMPS, StaticItemList.BURNT_SHRIMP, 1, 30, 34, 30, "shrimp"), + SARDINE(StaticItemList.RAW_SARDINE, StaticItemList.SARDINE, StaticItemList.BURNT_FISH_369, 1, 40, 38, 38, "sardine"), + HERRING(StaticItemList.RAW_HERRING, StaticItemList.HERRING, StaticItemList.BURNT_FISH_357, 5, 50, 41, 41, "herring"), + TROUT(StaticItemList.RAW_TROUT, StaticItemList.TROUT, StaticItemList.BURNT_FISH_343, 15, 70, 50, 50, "trout"), + TUNA(StaticItemList.RAW_TUNA, StaticItemList.TUNA, StaticItemList.BURNT_FISH_367, 30, 100, 64, 63, "tuna"), + ANCHOVIES(StaticItemList.RAW_ANCHOVIES, StaticItemList.ANCHOVIES, StaticItemList.BURNT_FISH, 5, 45, 34, 34, "anchovies"), + RAW_BEEF(StaticItemList.RAW_BEEF, StaticItemList.COOKED_MEAT, StaticItemList.BURNT_MEAT, 1, 30, 33, 33, "raw beef"), + RAW_RAT(StaticItemList.RAW_RAT_MEAT, StaticItemList.COOKED_MEAT, StaticItemList.BURNT_MEAT, 1, 30, 33, 33, "raw rat meat"), + BURNT_MEAT(StaticItemList.COOKED_MEAT, StaticItemList.BURNT_MEAT, StaticItemList.BURNT_MEAT, 1, 1, 100, 100, "cooked meat"), + RAW_CHICKEN(StaticItemList.RAW_CHICKEN, StaticItemList.COOKED_CHICKEN, StaticItemList.BURNT_CHICKEN, 1, 30, 33, 33, "raw chicken"), + RAW_BEAR_MEAT(StaticItemList.RAW_BEAR_MEAT, StaticItemList.COOKED_MEAT, StaticItemList.BURNT_MEAT, 1, 30, 33, 33, "raw bear meat"), + MACKEREL(StaticItemList.RAW_MACKEREL, StaticItemList.MACKEREL, StaticItemList.BURNT_FISH_357, 10, 60, 45, 45, "mackerel"), + SALMON(StaticItemList.RAW_SALMON, StaticItemList.SALMON, StaticItemList.BURNT_FISH_343, 25, 90, 58, 55, "salmon"), + UNCOOKED_BERRY_PIE(StaticItemList.UNCOOKED_BERRY_PIE, StaticItemList.REDBERRY_PIE, StaticItemList.BURNT_PIE, 10, 78, 50, 50, "uncooked pie"), + PIKE(StaticItemList.RAW_PIKE, StaticItemList.PIKE, StaticItemList.BURNT_FISH_343, 20, 80, 59, 59, "pike"), + KARAMBWAN(StaticItemList.RAW_KARAMBWAN, StaticItemList.COOKED_KARAMBWAN, StaticItemList.COOKED_KARAMBWAN_3146, 1, 80, 20, 20, "karambwan"), + LOBSTER(StaticItemList.RAW_LOBSTER, StaticItemList.LOBSTER, StaticItemList.BURNT_LOBSTER, 40, 120, 74, 68, "lobster"), + SWORDFISH(StaticItemList.RAW_SWORDFISH, StaticItemList.SWORDFISH, StaticItemList.BURNT_SWORDFISH, 50, 140, 86, 81, "swordfish"), + MONKFISH(StaticItemList.RAW_MONKFISH, StaticItemList.MONKFISH, StaticItemList.BURNT_MONKFISH, 62, 150, 92, 90, "monkfish"), + SHARK(StaticItemList.RAW_SHARK, StaticItemList.SHARK, StaticItemList.BURNT_SHARK, 76, 210, 100, 94, "shark"), + SEA_TURTLE(StaticItemList.RAW_SEA_TURTLE, StaticItemList.SEA_TURTLE, StaticItemList.BURNT_SEA_TURTLE, 82, 211, 100, 100, "sea turtle"), + MANTA_RAY(StaticItemList.RAW_MANTA_RAY, StaticItemList.MANTA_RAY, StaticItemList.BURNT_MANTA_RAY, 91, 216, 100, 100, "manta ray"), + SEAWEED(StaticItemList.SEAWEED, StaticItemList.SODA_ASH, StaticItemList.SODA_ASH, 1, 1, 1, 1, "sea weed"), + CURRY(StaticItemList.UNCOOKED_CURRY, StaticItemList.CURRY, StaticItemList.BURNT_CURRY, 60, 280, 74, 74, "curry"); - int rawItem, cookedItem, burntItem, levelReq, xp, stopBurn, stopBurnGloves; - String name; + int rawItem, cookedItem, burntItem, levelReq, xp, stopBurn, stopBurnGloves; + String name; - private CookingItems(int rawItem, int cookedItem, int burntItem, int levelReq, int xp, int stopBurn, int stopBurnGloves, String name) { - this.rawItem = rawItem; - this.cookedItem = cookedItem; - this.burntItem = burntItem; - this.levelReq = levelReq; - this.xp = xp; - this.stopBurn = stopBurn; - this.name = name; - } + private CookingItems(int rawItem, int cookedItem, int burntItem, int levelReq, int xp, int stopBurn, int stopBurnGloves, String name) { + this.rawItem = rawItem; + this.cookedItem = cookedItem; + this.burntItem = burntItem; + this.levelReq = levelReq; + this.xp = xp; + this.stopBurn = stopBurn; + this.name = name; + } - private int getRawItem() { - return rawItem; - } + private int getRawItem() { + return rawItem; + } - private int getCookedItem() { - return cookedItem; - } + private int getCookedItem() { + return cookedItem; + } - private int getBurntItem() { - return burntItem; - } + private int getBurntItem() { + return burntItem; + } - private int getLevelReq() { - return levelReq; - } + private int getLevelReq() { + return levelReq; + } - private int getXp() { - return xp; - } + private int getXp() { + return xp; + } - private int getStopBurn() { - return stopBurn; - } + private int getStopBurn() { + return stopBurn; + } - private int getStopBurnGloves() { - return stopBurnGloves; - } + private int getStopBurnGloves() { + return stopBurnGloves; + } - private String getName() { - return name; - } - } + private String getName() { + return name; + } + } - public static CookingItems forId(int itemId) { - for (CookingItems item : CookingItems.values()) { - if (itemId == item.getRawItem()) { - return item; - } - } - return null; - } + public static CookingItems forId(int itemId) { + for (CookingItems item : CookingItems.values()) { + if (itemId == item.getRawItem()) { + return item; + } + } + return null; + } - public static void makeBreadOptions(Player c, int item) { - if (c.getItemAssistant().playerHasItem(1929) && c.getItemAssistant().playerHasItem(1933) && item == c.breadID) { - c.getItemAssistant().deleteItem(1929, 1); - c.getItemAssistant().deleteItem(1933, 1); - c.getItemAssistant().addItem(1925, 1); - c.getItemAssistant().addItem(1931, 1); - c.getItemAssistant().addItem(item, 1); - c.getPacketSender().sendMessage("You mix the water and flour to make some " + ItemAssistant.getItemName(item) + "."); - } - c.getPacketSender().closeAllWindows(); - } + public static void makeBreadOptions(Player c, int item) { + if (c.getItemAssistant().playerHasItem(StaticItemList.BUCKET_OF_WATER) && c.getItemAssistant().playerHasItem(StaticItemList.POT_OF_FLOUR) && item == c.breadID) { + c.getItemAssistant().deleteItem(StaticItemList.BUCKET_OF_WATER, 1); + c.getItemAssistant().deleteItem(StaticItemList.POT_OF_FLOUR, 1); + c.getItemAssistant().addItem(StaticItemList.BUCKET, 1); + c.getItemAssistant().addItem(StaticItemList.POT, 1); + c.getItemAssistant().addItem(item, 1); + c.getPacketSender().sendMessage("You mix the water and flour to make some " + ItemAssistant.getItemName(item) + "."); + } + c.getPacketSender().closeAllWindows(); + } - public static void pastryCreation(Player c, int itemID1, int itemID2, int giveItem, String message) { - if (c.getItemAssistant().playerHasItem(itemID1) && c.getItemAssistant().playerHasItem(itemID2)) { - c.getItemAssistant().deleteItem(itemID1, 1); - c.getItemAssistant().deleteItem(itemID2, 1); - c.getItemAssistant().addItem(giveItem, 1); - if (message.equalsIgnoreCase("")) { - c.getPacketSender().sendMessage("You mix the two ingredients and get an " + ItemAssistant.getItemName(giveItem) + "."); - } else { - c.getPacketSender().sendMessage(message); - } - } - } + public static void pastryCreation(Player c, int itemID1, int itemID2, int giveItem, String message) { + if (c.getItemAssistant().playerHasItem(itemID1) && c.getItemAssistant().playerHasItem(itemID2)) { + c.getItemAssistant().deleteItem(itemID1, 1); + c.getItemAssistant().deleteItem(itemID2, 1); + c.getItemAssistant().addItem(giveItem, 1); + if (message.equalsIgnoreCase("")) { + c.getPacketSender().sendMessage("You mix the two ingredients and get an " + ItemAssistant.getItemName(giveItem) + "."); + } else { + c.getPacketSender().sendMessage(message); + } + } + } - public static void cookingAddon(Player c, int itemID1, int itemID2, int giveItem, int requiredLevel, int expGained) { - if (c.playerLevel[GameConstants.COOKING] >= requiredLevel) { - if (c.getItemAssistant().playerHasItem(itemID1) && c.getItemAssistant().playerHasItem(itemID2)) { - c.getItemAssistant().deleteItem(itemID1, 1); - c.getItemAssistant().deleteItem(itemID2, 1); - c.getItemAssistant().addItem(giveItem, 1); - c.getPlayerAssistant().addSkillXP(expGained, 7); - c.getPacketSender().sendMessage("You create a " + ItemAssistant.getItemName(giveItem) + "."); - } - } else { - c.getPacketSender().sendMessage("You don't have the required level to make an " + ItemAssistant.getItemName(giveItem)); - } - } + public static void cookingAddon(Player c, int itemID1, int itemID2, int giveItem, int requiredLevel, int expGained) { + if (c.playerLevel[GameConstants.COOKING] >= requiredLevel) { + if (c.getItemAssistant().playerHasItem(itemID1) && c.getItemAssistant().playerHasItem(itemID2)) { + c.getItemAssistant().deleteItem(itemID1, 1); + c.getItemAssistant().deleteItem(itemID2, 1); + c.getItemAssistant().addItem(giveItem, 1); + c.getPlayerAssistant().addSkillXP(expGained, 7); + c.getPacketSender().sendMessage("You create a " + ItemAssistant.getItemName(giveItem) + "."); + } + } else { + c.getPacketSender().sendMessage("You don't have the required level to make an " + ItemAssistant.getItemName(giveItem)); + } + } - public static void setCooking(Player player, boolean isCooking) { - player.playerIsCooking = isCooking; - player.stopPlayerSkill = isCooking; - } - - private static void viewCookInterface(Player c, int item) { - c.getPacketSender().sendChatInterface(1743); - c.getPacketSender().sendFrame246(13716, view190 ? 190 : 170, item); - c.getPacketSender().sendString(getLine(c) + "" + ItemAssistant.getItemName(item) + "", 13717); - } + public static void setCooking(Player player, boolean isCooking) { + player.playerIsCooking = isCooking; + player.stopPlayerSkill = isCooking; + } - public static boolean startCooking(Player c, int itemId, int objectId) { - CookingItems item = forId(itemId); - if (item != null) { - if (c.playerLevel[GameConstants.COOKING] < item.getLevelReq()) { - c.getPacketSender().closeAllWindows(); - c.getDialogueHandler().sendStatement("You need a Cooking level of " + item.getLevelReq() + " to cook this."); - c.nextChat = 0; - return false; - } - if (c.playerIsCooking) { - c.getPacketSender().closeAllWindows(); - return false; - } - if (!COOKING) { - c.getPacketSender().sendMessage("This skill is currently disabled."); - return false; - } - // save the id of the item and object for the cooking interface. - c.cookingItem = itemId; - c.cookingObject = objectId; - viewCookInterface(c, item.getRawItem()); - return true; - } - return false; - } + private static void viewCookInterface(Player c, int item) { + c.getPacketSender().sendChatInterface(1743); + c.getPacketSender().sendFrame246(13716, view190 ? 190 : 170, item); + c.getPacketSender().sendString(getLine(c) + "" + ItemAssistant.getItemName(item) + "", 13717); + } - private static boolean getSuccess(Player c, int burnBonus, int levelReq, int stopBurn) { - if (c.playerLevel[GameConstants.COOKING] >= stopBurn) { - return true; - } - double burn_chance = 55.0 - burnBonus; - double cook_level = c.playerLevel[GameConstants.COOKING]; - double lev_needed = levelReq; - double burn_stop = stopBurn; - double multi_a = burn_stop - lev_needed; - double burn_dec = burn_chance / multi_a; - double multi_b = cook_level - lev_needed; - burn_chance -= multi_b * burn_dec; - double randNum = cookingRandom.nextDouble() * 100.0; - return burn_chance <= randNum; - } + public static boolean startCooking(Player c, int itemId, int objectId) { + CookingItems item = forId(itemId); + if (item != null) { + if (c.playerLevel[GameConstants.COOKING] < item.getLevelReq()) { + c.getPacketSender().closeAllWindows(); + c.getDialogueHandler().sendStatement("You need a Cooking level of " + item.getLevelReq() + " to cook this."); + c.nextChat = 0; + return false; + } + if (c.playerIsCooking) { + c.getPacketSender().closeAllWindows(); + return false; + } + if (!COOKING) { + c.getPacketSender().sendMessage("This skill is currently disabled."); + return false; + } + // save the id of the item and object for the cooking interface. + c.cookingItem = itemId; + c.cookingObject = objectId; + viewCookInterface(c, item.getRawItem()); + return true; + } + return false; + } - public static void cookItem(final Player player, final int itemId, final int amount, final int objectId) { - CycleEventHandler.getSingleton().stopEvents(player, "cookingEvent".hashCode()); - final CookingItems item = forId(itemId); - if (item != null) { - setCooking(player, true); - RandomEventHandler.addRandom(player); - player.getPacketSender().closeAllWindows(); - player.doAmount = amount; - if (player.doAmount > player.getItemAssistant().getItemAmount(itemId)) { - player.doAmount = player.getItemAssistant().getItemAmount(itemId); - } - if (objectId > 0) { - player.startAnimation(objectId == 2732 ? 897 : 896); - } - CycleEventHandler.getSingleton().addEvent("cookingEvent".hashCode(), player, new CycleEvent() { - @Override - public void execute(CycleEventContainer container) { - if (!player.playerIsCooking) { - setCooking(player, false); - container.stop(); - return; - } - if (!player.getItemAssistant().playerHasItem(item.getRawItem(), 1)) { - player.getPacketSender().sendMessage("You have run out of " + item.getName() + " to cook."); - setCooking(player, false); - container.stop(); - return; - } - boolean burn; - if (player.playerEquipment[ItemConstants.HANDS] == 775) { - burn = !getSuccess(player, 3, item.getLevelReq(), item.getStopBurnGloves()); - } else { - burn = !getSuccess(player, 3, item.getLevelReq(), item.getStopBurn()); - } - player.getItemAssistant().deleteItem(item.getRawItem(), - player.getItemAssistant().getItemSlot(itemId), 1); - if (!burn) { - player.getPacketSender().sendMessage("You successfully cook the " + item.getName().toLowerCase() + "."); - if (GameConstants.SOUND) { - player.getPacketSender().sendSound(SoundList.COOK_ITEM, 100, 0); - } - player.getPlayerAssistant().addSkillXP(item.getXp(), GameConstants.COOKING); - player.getItemAssistant().addItem(item.getCookedItem(), 1); - } else { - player.getPacketSender().sendMessage( - "Oops! You accidentally burnt the " - + item.getName().toLowerCase() + "!"); - player.getItemAssistant().addItem(item.getBurntItem(), 1); - } - player.doAmount--; - if (player.disconnected) { - container.stop(); - return; - } - if (objectId < 0) { - container.stop(); - return; - } - if (player.playerIsCooking && !Misc.goodDistance(player.objectX, player.objectY, player.absX, player.absY, 2)) { - container.stop(); - return; - } - if (player.doAmount > 0) { - if (objectId > 0) { - player.startAnimation(objectId == 2732 ? 897 : 896); - } - } else if (player.doAmount == 0) { - setCooking(player, false); - container.stop(); - } - } + private static boolean getSuccess(Player c, int burnBonus, int levelReq, int stopBurn) { + if (c.playerLevel[GameConstants.COOKING] >= stopBurn) { + return true; + } + double burn_chance = 55.0 - burnBonus; + double cook_level = c.playerLevel[GameConstants.COOKING]; + double lev_needed = levelReq; + double burn_stop = stopBurn; + double multi_a = burn_stop - lev_needed; + double burn_dec = burn_chance / multi_a; + double multi_b = cook_level - lev_needed; + burn_chance -= multi_b * burn_dec; + double randNum = cookingRandom.nextDouble() * 100.0; + return burn_chance <= randNum; + } - @Override - public void stop() { - - } - }, 4); - } - } + public static void cookItem(final Player player, final int itemId, final int amount, final int objectId) { + CycleEventHandler.getSingleton().stopEvents(player, "cookingEvent".hashCode()); + final CookingItems item = forId(itemId); + if (item != null) { + setCooking(player, true); + RandomEventHandler.addRandom(player); + player.getPacketSender().closeAllWindows(); + player.doAmount = amount; + if (player.doAmount > player.getItemAssistant().getItemAmount(itemId)) { + player.doAmount = player.getItemAssistant().getItemAmount(itemId); + } + if (objectId > 0) { + player.startAnimation(objectId == StaticObjectList.FIRE ? 897 : 896); + } + CycleEventHandler.getSingleton().addEvent("cookingEvent".hashCode(), player, new CycleEvent() { + @Override + public void execute(CycleEventContainer container) { + if (!player.playerIsCooking) { + setCooking(player, false); + container.stop(); + return; + } + if (!player.getItemAssistant().playerHasItem(item.getRawItem(), 1)) { + player.getPacketSender().sendMessage("You have run out of " + item.getName() + " to cook."); + setCooking(player, false); + container.stop(); + return; + } + boolean burn; + if (player.playerEquipment[ItemConstants.HANDS] == StaticItemList.COOKING_GAUNTLETS) { + burn = !getSuccess(player, 3, item.getLevelReq(), item.getStopBurnGloves()); + } else { + burn = !getSuccess(player, 3, item.getLevelReq(), item.getStopBurn()); + } + player.getItemAssistant().deleteItem(item.getRawItem(), + player.getItemAssistant().getItemSlot(itemId), 1); + if (!burn) { + player.getPacketSender().sendMessage("You successfully cook the " + item.getName().toLowerCase() + "."); + if (GameConstants.SOUND) { + player.getPacketSender().sendSound(SoundList.COOK_ITEM, 100, 0); + } + player.getPlayerAssistant().addSkillXP(item.getXp(), GameConstants.COOKING); + player.getItemAssistant().addItem(item.getCookedItem(), 1); + } else { + player.getPacketSender().sendMessage( + "Oops! You accidentally burnt the " + + item.getName().toLowerCase() + "!"); + player.getItemAssistant().addItem(item.getBurntItem(), 1); + } + player.doAmount--; + if (player.disconnected) { + container.stop(); + return; + } + if (objectId < 0) { + container.stop(); + return; + } + if (player.playerIsCooking && !Misc.goodDistance(player.objectX, player.objectY, player.absX, player.absY, 2)) { + container.stop(); + return; + } + if (player.doAmount > 0) { + if (objectId > 0) { + player.startAnimation(objectId == StaticObjectList.FIRE ? 897 : 896); + } + } else if (player.doAmount == 0) { + setCooking(player, false); + container.stop(); + } + } + + @Override + public void stop() { + + } + }, 4); + } + } } diff --git a/2006Scape Server/src/main/java/com/rs2/game/content/skills/cooking/CookingTutorialIsland.java b/2006Scape Server/src/main/java/com/rs2/game/content/skills/cooking/CookingTutorialIsland.java index 8a84fa77..e334355f 100644 --- a/2006Scape Server/src/main/java/com/rs2/game/content/skills/cooking/CookingTutorialIsland.java +++ b/2006Scape Server/src/main/java/com/rs2/game/content/skills/cooking/CookingTutorialIsland.java @@ -4,6 +4,8 @@ import com.rs2.GameConstants; import com.rs2.event.CycleEvent; import com.rs2.event.CycleEventContainer; import com.rs2.event.CycleEventHandler; +import com.rs2.game.content.StaticItemList; +import com.rs2.game.content.StaticObjectList; import com.rs2.game.content.music.sound.SoundList; import com.rs2.game.content.skills.SkillHandler; import com.rs2.game.items.ItemAssistant; @@ -12,170 +14,170 @@ import com.rs2.util.Misc; public class CookingTutorialIsland extends SkillHandler { - public static void cookThisFood(Player p, int i, int object) { - switch (i) { - case 317: - cookFish(p, i, 30, 1, 323, 315, object); - break; - default: - p.getPacketSender().sendMessage("Nothing interesting happens."); - break; - } - } + public static void cookThisFood(Player p, int i, int object) { + switch (i) { + case StaticItemList.RAW_SHRIMPS: + cookFish(p, i, 30, 1, StaticItemList.BURNT_FISH, StaticItemList.SHRIMPS, object); + break; + default: + p.getPacketSender().sendMessage("Nothing interesting happens."); + break; + } + } - private static void cookFish(Player c, int itemID, int xpRecieved, - int levelRequired, int burntFish, int cookedFish, int object) { - if (!COOKING) { - c.getPacketSender().sendMessage( - "Cooking is currently disabled."); - return; - } - if (!hasRequiredLevel(c, 7, levelRequired, "cooking", "cook this")) { - return; - } - int chance = c.playerLevel[GameConstants.COOKING]; - if (c.playerEquipment[c.playerHands] == 775) { - chance = c.playerLevel[GameConstants.COOKING] + 8; - } - if (chance <= 0) { - chance = Misc.random(5); - } - c.playerSkillProp[GameConstants.COOKING][0] = itemID; - c.playerSkillProp[GameConstants.COOKING][1] = xpRecieved; - c.playerSkillProp[GameConstants.COOKING][2] = levelRequired; - c.playerSkillProp[GameConstants.COOKING][3] = burntFish; - c.playerSkillProp[GameConstants.COOKING][4] = cookedFish; - c.playerSkillProp[GameConstants.COOKING][5] = object; - c.playerSkillProp[GameConstants.COOKING][6] = chance; - c.stopPlayerSkill = false; - int item = c.getItemAssistant().getItemAmount(c.playerSkillProp[GameConstants.COOKING][0]); - if (item == 1) { - c.doAmount = 1; - cookTutFish(c); - return; - } - viewCookInterface(c, itemID); - } + private static void cookFish(Player c, int itemID, int xpRecieved, + int levelRequired, int burntFish, int cookedFish, int object) { + if (!COOKING) { + c.getPacketSender().sendMessage( + "Cooking is currently disabled."); + return; + } + if (!hasRequiredLevel(c, 7, levelRequired, "cooking", "cook this")) { + return; + } + int chance = c.playerLevel[GameConstants.COOKING]; + if (c.playerEquipment[c.playerHands] == StaticItemList.COOKING_GAUNTLETS) { + chance = c.playerLevel[GameConstants.COOKING] + 8; + } + if (chance <= 0) { + chance = Misc.random(5); + } + c.playerSkillProp[GameConstants.COOKING][0] = itemID; + c.playerSkillProp[GameConstants.COOKING][1] = xpRecieved; + c.playerSkillProp[GameConstants.COOKING][2] = levelRequired; + c.playerSkillProp[GameConstants.COOKING][3] = burntFish; + c.playerSkillProp[GameConstants.COOKING][4] = cookedFish; + c.playerSkillProp[GameConstants.COOKING][5] = object; + c.playerSkillProp[GameConstants.COOKING][6] = chance; + c.stopPlayerSkill = false; + int item = c.getItemAssistant().getItemAmount(c.playerSkillProp[GameConstants.COOKING][0]); + if (item == 1) { + c.doAmount = 1; + cookTutFish(c); + return; + } + viewCookInterface(c, itemID); + } - public static void getAmount(Player player, int amount) { - int item = player.getItemAssistant().getItemAmount(player.playerSkillProp[GameConstants.COOKING][0]); - if (amount > item) { - amount = item; - } - player.doAmount = amount; - cookTutFish(player); - } + public static void getAmount(Player player, int amount) { + int item = player.getItemAssistant().getItemAmount(player.playerSkillProp[GameConstants.COOKING][0]); + if (amount > item) { + amount = item; + } + player.doAmount = amount; + cookTutFish(player); + } - public static void resetCooking(Player c) { - c.playerSkilling[GameConstants.COOKING] = false; - c.stopPlayerSkill = false; - for (int i = 0; i < 6; i++) { - c.playerSkillProp[GameConstants.COOKING][i] = -1; - } - } + public static void resetCooking(Player c) { + c.playerSkilling[GameConstants.COOKING] = false; + c.stopPlayerSkill = false; + for (int i = 0; i < 6; i++) { + c.playerSkillProp[GameConstants.COOKING][i] = -1; + } + } - private static void viewCookInterface(Player c, int item) { - c.getPacketSender().sendChatInterface(1743); - c.getPacketSender().sendFrame246(13716, 190, item); - c.getPacketSender().sendString( - "" + ItemAssistant.getItemName(item) + "", 13717); - } + private static void viewCookInterface(Player c, int item) { + c.getPacketSender().sendChatInterface(1743); + c.getPacketSender().sendFrame246(13716, 190, item); + c.getPacketSender().sendString( + "" + ItemAssistant.getItemName(item) + "", 13717); + } - private static void cookTutFish(final Player c) { - if (c.playerSkilling[GameConstants.COOKING]) { - return; - } - if (c.tutorialProgress == 6) { - c.playerSkilling[GameConstants.COOKING] = true; - c.stopPlayerSkill = true; - c.getPacketSender().closeAllWindows(); - if (c.playerSkillProp[GameConstants.COOKING][5] > 0) { - // c.startAnimation(c.playerSkillProp[GameConstants.COOKING][5] == 2732 ? 897 : - // 896); - c.startAnimation(c.playerSkillProp[GameConstants.COOKING][5] == 2732 ? 897 - : c.playerSkillProp[GameConstants.COOKING][5] == 12269 ? 897 : 896); - if (GameConstants.SOUND) { - c.getPacketSender().sendSound(SoundList.COOK_ITEM, 100, - 0); - } + private static void cookTutFish(final Player c) { + if (c.playerSkilling[GameConstants.COOKING]) { + return; + } + if (c.tutorialProgress == 6) { + c.playerSkilling[GameConstants.COOKING] = true; + c.stopPlayerSkill = true; + c.getPacketSender().closeAllWindows(); + if (c.playerSkillProp[GameConstants.COOKING][5] > 0) { + // c.startAnimation(c.playerSkillProp[GameConstants.COOKING][5] == StaticObjectList.FIRE ? 897 : + // 896); + c.startAnimation(c.playerSkillProp[GameConstants.COOKING][5] == StaticObjectList.FIRE ? 897 + : c.playerSkillProp[GameConstants.COOKING][5] == StaticObjectList.STOVE_12269 ? 897 : 896); + if (GameConstants.SOUND) { + c.getPacketSender().sendSound(SoundList.COOK_ITEM, 100, + 0); + } - } - CycleEventHandler.getSingleton().addEvent(c, new CycleEvent() { + } + CycleEventHandler.getSingleton().addEvent(c, new CycleEvent() { - @Override - public void execute(CycleEventContainer container) { - c.getItemAssistant().deleteItem( - c.playerSkillProp[GameConstants.COOKING][0], - c.getItemAssistant().getItemSlot( - c.playerSkillProp[GameConstants.COOKING][0]), 1); - if (c.cookStage1 == 1) { - c.getPacketSender().chatbox(6180); - c.getDialogueHandler() - .chatboxText( - "You have just burned your first shrimp. This is normal. As you", - "get more experience in Cooking, you will burn stuff less often.", - "Let's try cooking without burning it this time. First catch some", - "more shrimp then use them on a fire.", - "Burning your shrimp."); - c.getPacketSender().chatbox(6179); - c.cookStage1 = 0; - c.getItemAssistant() - .addItem(c.playerSkillProp[GameConstants.COOKING][3], 1); - } else { - c.getPacketSender().chatbox(6180); - c.getDialogueHandler() - .chatboxText( - "If you'd like a recap on anything you've learnt so far, speak to", - "the Survival Expert. You can now move on to the next", - "instructor. Click on the gate shown and follow the path.", - "Remember, you can move the camera with the arrow keys.", - "Well done, you've just cooked your first RuneScape meal"); - c.getPacketSender().chatbox(6179); - c.getPacketSender().createArrow(3089, 3092, - c.getH(), 2); - c.getPlayerAssistant().addSkillXP( - c.playerSkillProp[GameConstants.COOKING][1], 7); - c.getItemAssistant() - .addItem(c.playerSkillProp[GameConstants.COOKING][4], 1); - c.tutorialProgress = 7; - } - deleteTime(c); - if (!c.getItemAssistant().playerHasItem( - c.playerSkillProp[GameConstants.COOKING][0], 1) - || c.doAmount <= 0) { - container.stop(); - } - if (!c.stopPlayerSkill) { - container.stop(); - } - } + @Override + public void execute(CycleEventContainer container) { + c.getItemAssistant().deleteItem( + c.playerSkillProp[GameConstants.COOKING][0], + c.getItemAssistant().getItemSlot( + c.playerSkillProp[GameConstants.COOKING][0]), 1); + if (c.cookStage1 == 1) { + c.getPacketSender().chatbox(6180); + c.getDialogueHandler() + .chatboxText( + "You have just burned your first shrimp. This is normal. As you", + "get more experience in Cooking, you will burn stuff less often.", + "Let's try cooking without burning it this time. First catch some", + "more shrimp then use them on a fire.", + "Burning your shrimp."); + c.getPacketSender().chatbox(6179); + c.cookStage1 = 0; + c.getItemAssistant() + .addItem(c.playerSkillProp[GameConstants.COOKING][3], 1); + } else { + c.getPacketSender().chatbox(6180); + c.getDialogueHandler() + .chatboxText( + "If you'd like a recap on anything you've learnt so far, speak to", + "the Survival Expert. You can now move on to the next", + "instructor. Click on the gate shown and follow the path.", + "Remember, you can move the camera with the arrow keys.", + "Well done, you've just cooked your first RuneScape meal"); + c.getPacketSender().chatbox(6179); + c.getPacketSender().createArrow(3089, 3092, + c.getH(), 2); + c.getPlayerAssistant().addSkillXP( + c.playerSkillProp[GameConstants.COOKING][1], 7); + c.getItemAssistant() + .addItem(c.playerSkillProp[GameConstants.COOKING][4], 1); + c.tutorialProgress = 7; + } + deleteTime(c); + if (!c.getItemAssistant().playerHasItem( + c.playerSkillProp[GameConstants.COOKING][0], 1) + || c.doAmount <= 0) { + container.stop(); + } + if (!c.stopPlayerSkill) { + container.stop(); + } + } - @Override - public void stop() { - resetCooking(c); - } - }, 4); - CycleEventHandler.getSingleton().addEvent(c, new CycleEvent() { + @Override + public void stop() { + resetCooking(c); + } + }, 4); + CycleEventHandler.getSingleton().addEvent(c, new CycleEvent() { - @Override - public void execute(CycleEventContainer container) { - if (c.playerSkillProp[GameConstants.COOKING][5] > 0) { - // c.getPacketSender().sendSound(357, 100, 1); // - // cook sound - c.startAnimation(c.playerSkillProp[GameConstants.COOKING][5] == 2732 ? 897 - : 896); - } - if (!c.stopPlayerSkill) { - container.stop(); - } - } + @Override + public void execute(CycleEventContainer container) { + if (c.playerSkillProp[GameConstants.COOKING][5] > 0) { + // c.getPacketSender().sendSound(357, 100, 1); // + // cook sound + c.startAnimation(c.playerSkillProp[GameConstants.COOKING][5] == StaticObjectList.FIRE ? 897 + : 896); + } + if (!c.stopPlayerSkill) { + container.stop(); + } + } - @Override - public void stop() { + @Override + public void stop() { - } - }, 4); - return; - } - } + } + }, 4); + return; + } + } } diff --git a/2006Scape Server/src/main/java/com/rs2/game/content/skills/cooking/DairyChurn.java b/2006Scape Server/src/main/java/com/rs2/game/content/skills/cooking/DairyChurn.java index ec6fbf65..34417195 100644 --- a/2006Scape Server/src/main/java/com/rs2/game/content/skills/cooking/DairyChurn.java +++ b/2006Scape Server/src/main/java/com/rs2/game/content/skills/cooking/DairyChurn.java @@ -1,115 +1,117 @@ package com.rs2.game.content.skills.cooking; -import java.util.HashMap; - import com.rs2.GameConstants; import com.rs2.event.CycleEvent; import com.rs2.event.CycleEventContainer; import com.rs2.event.CycleEventHandler; +import com.rs2.game.content.StaticItemList; import com.rs2.game.items.ItemAssistant; import com.rs2.game.players.Player; + +import java.util.HashMap; + /** * Created by IntelliJ IDEA. User: vayken Date: 23/12/11 Time: 20:42 To change * this template use File | Settings | File Templates. */ public class DairyChurn { - private static final int CHURN_ANIMATION = 894; + private static final int CHURN_ANIMATION = 894; - public static enum ChurnData { - CREAM(59238, new int[] { 1927 }, 2130, 21, 18), BUTTER(59239, - new int[] { 1927, 2130 }, 6697, 38, 40), CHEESE(59240, - new int[] { 1927, 2130, 6697 }, 1985, 48, 64); + public static enum ChurnData { + CREAM(59238, new int[]{StaticItemList.BUCKET_OF_MILK}, StaticItemList.POT_OF_CREAM, 21, 18), + BUTTER(59239, new int[]{StaticItemList.BUCKET_OF_MILK, StaticItemList.POT_OF_CREAM}, StaticItemList.PAT_OF_BUTTER, 38, 40), + CHEESE(59240, new int[]{StaticItemList.BUCKET_OF_MILK, StaticItemList.POT_OF_CREAM, StaticItemList.PAT_OF_BUTTER}, StaticItemList.CHEESE, 48, 64); - private int buttonId; - private int[] used; - private int result; - private int level; - private double experience; + private int buttonId; + private int[] used; + private int result; + private int level; + private double experience; - public static HashMap churnItems = new HashMap(); + public static HashMap churnItems = new HashMap(); - public static ChurnData forId(int id) { - return churnItems.get(id); - } + public static ChurnData forId(int id) { + return churnItems.get(id); + } - static { - for (ChurnData data : ChurnData.values()) { - churnItems.put(data.buttonId, data); - } - } + static { + for (ChurnData data : ChurnData.values()) { + churnItems.put(data.buttonId, data); + } + } - private ChurnData(int buttonId, int[] used, int result, int level, - double experience) { - this.buttonId = buttonId; - this.used = used; - this.result = result; - this.level = level; - this.experience = experience; - } + private ChurnData(int buttonId, int[] used, int result, int level, + double experience) { + this.buttonId = buttonId; + this.used = used; + this.result = result; + this.level = level; + this.experience = experience; + } - public int getButtonId() { - return buttonId; - } + public int getButtonId() { + return buttonId; + } - public int[] getUsed() { - return used; - } + public int[] getUsed() { + return used; + } - public int getResult() { - return result; - } + public int getResult() { + return result; + } - public int getLevel() { - return level; - } + public int getLevel() { + return level; + } - public double getExperience() { - return experience; - } + public double getExperience() { + return experience; + } - } + } - public static void churnItem(final Player player, int buttonId) { - final ChurnData churnData = ChurnData.forId(buttonId); - if (churnData == null || player.getStatedInterface() != "dairyChurn") { - return; - } - if (player.playerLevel[GameConstants.COOKING] < churnData.getLevel()) { - player.getDialogueHandler().sendStatement("You need a cooking level of " + churnData.getLevel() + " to make this."); - return; - } + public static void churnItem(final Player player, int buttonId) { + final ChurnData churnData = ChurnData.forId(buttonId); + if (churnData == null || player.getStatedInterface() != "dairyChurn") { + return; + } + if (player.playerLevel[GameConstants.COOKING] < churnData.getLevel()) { + player.getDialogueHandler().sendStatement("You need a cooking level of " + churnData.getLevel() + " to make this."); + return; + } - player.playerIsCooking = true; - player.getPacketSender().closeAllWindows(); - - CycleEventHandler.getSingleton().addEvent(player, new CycleEvent() { - @Override - public void execute(CycleEventContainer container) { - for (int i = 0; i <= churnData.getUsed().length - 1; i++) { - if (!player.getItemAssistant().playerHasItem(churnData.getUsed()[i])) { - player.getDialogueHandler().sendStatement("You don't have the required items to use the churn."); - container.stop(); - return; - } - } - if (!player.playerIsCooking) { - container.stop(); - return; - } - container.setTick(5); - player.startAnimation(CHURN_ANIMATION); - player.getPacketSender().sendMessage("You make a " + ItemAssistant.getItemName(churnData.getResult()).toLowerCase() + "."); - for (int i = 0; i < churnData.getUsed().length; i++) - player.getItemAssistant().deleteItem(churnData.getUsed()[i], 1); - player.getItemAssistant().addItem(churnData.getResult(), 1); - player.getItemAssistant().addItem(1925, 1); - player.getPlayerAssistant().addSkillXP(churnData.getExperience(), GameConstants.COOKING); - } + player.playerIsCooking = true; + player.getPacketSender().closeAllWindows(); - @Override - public void stop() { - player.getPlayerAssistant().resetAnimation(); - } - }, 1); - } + CycleEventHandler.getSingleton().addEvent(player, new CycleEvent() { + @Override + public void execute(CycleEventContainer container) { + for (int i = 0; i <= churnData.getUsed().length - 1; i++) { + if (!player.getItemAssistant().playerHasItem(churnData.getUsed()[i])) { + player.getDialogueHandler().sendStatement("You don't have the required items to use the churn."); + container.stop(); + return; + } + } + if (!player.playerIsCooking) { + container.stop(); + return; + } + container.setTick(5); + player.startAnimation(CHURN_ANIMATION); + player.getPacketSender().sendMessage("You make a " + ItemAssistant.getItemName(churnData.getResult()).toLowerCase() + "."); + for (int i = 0; i < churnData.getUsed().length; i++) + player.getItemAssistant().deleteItem(churnData.getUsed()[i], 1); + player.getItemAssistant().addItem(churnData.getResult(), 1); + player.getItemAssistant().addItem(StaticItemList.BUCKET, 1); + player.getPlayerAssistant().addSkillXP(churnData.getExperience(), GameConstants.COOKING); + } + + @Override + public void stop() { + player.getPlayerAssistant().resetAnimation(); + } + }, 1); + } } diff --git a/2006Scape Server/src/main/java/com/rs2/game/content/skills/cooking/Potatoes.java b/2006Scape Server/src/main/java/com/rs2/game/content/skills/cooking/Potatoes.java index 8de8dddc..c046a9e6 100644 --- a/2006Scape Server/src/main/java/com/rs2/game/content/skills/cooking/Potatoes.java +++ b/2006Scape Server/src/main/java/com/rs2/game/content/skills/cooking/Potatoes.java @@ -1,115 +1,118 @@ package com.rs2.game.content.skills.cooking; -import java.util.HashMap; -import java.util.Map; - import com.rs2.GameConstants; +import com.rs2.game.content.StaticItemList; import com.rs2.game.content.randomevents.RandomEventHandler; import com.rs2.game.content.skills.SkillHandler; import com.rs2.game.players.Player; +import java.util.HashMap; +import java.util.Map; + public class Potatoes extends SkillHandler { - Player c; + Player c; - public Potatoes(Player player) { - this.c = player; - } + public Potatoes(Player player) { + this.c = player; + } - public enum PotatoMaking { - // first item, new item, xp, level required - // BUTTERED(6701, 6703, 6697, 95, 39), - CHILLI(7062, 7054, 165, 41), CHEESE(1985, 6705, 199, 47), EGG(7064, - 7056, 195, 51), MUSHROOM(7066, 7058, 27, 64), TUNA(7068, 7060, - 309, 68); + public enum PotatoMaking { + // first item, new item, xp, level required + // BUTTERED(6701, 6703, 6697, 95, 39), + CHILLI(StaticItemList.CHILLI_CON_CARNE, StaticItemList.CHILLI_POTATO, 165, 41), + CHEESE(StaticItemList.CHEESE, StaticItemList.POTATO_WITH_CHEESE, 199, 47), + EGG(StaticItemList.EGG_AND_TOMATO, StaticItemList.EGG_POTATO, 195, 51), + MUSHROOM(StaticItemList.MUSHROOM__ONION, StaticItemList.MUSHROOM_POTATO, 27, 64), + TUNA(StaticItemList.TUNA_AND_CORN, StaticItemList.TUNA_POTATO, 309, 68); - /** - * Seperate integers for the id's. - */ - private int newPotatoID, ingredient, XP, levelReq; + /** + * Seperate integers for the id's. + */ + private int newPotatoID, ingredient, XP, levelReq; - /** - * @param ingredient - * @param newPotatoID - * @param XP - * @param levelReq - */ - private PotatoMaking(int ingredient, int newPotatoID, int XP, - int levelReq) { - // this.potatoID = potatoID; - this.ingredient = ingredient; - this.newPotatoID = newPotatoID; - this.levelReq = levelReq; - this.XP = XP; - } + /** + * @param ingredient + * @param newPotatoID + * @param XP + * @param levelReq + */ + private PotatoMaking(int ingredient, int newPotatoID, int XP, + int levelReq) { + // this.potatoID = potatoID; + this.ingredient = ingredient; + this.newPotatoID = newPotatoID; + this.levelReq = levelReq; + this.XP = XP; + } - public int getNewPotatoID() { - return newPotatoID; - } + public int getNewPotatoID() { + return newPotatoID; + } - public int getIngredient() { - return ingredient; - } + public int getIngredient() { + return ingredient; + } - public int getReq() { - return levelReq; - } + public int getReq() { + return levelReq; + } - public int getXP() { - return XP; - } + public int getXP() { + return XP; + } - private static final Map potato = new HashMap(); + private static final Map potato = new HashMap(); - public static PotatoMaking forId(int id) { - return potato.get(id); - } + public static PotatoMaking forId(int id) { + return potato.get(id); + } - static { - for (PotatoMaking p : PotatoMaking.values()) { - potato.put(p.getIngredient(), p); - } - } - } + static { + for (PotatoMaking p : PotatoMaking.values()) { + potato.put(p.getIngredient(), p); + } + } + } - /** - * Id used with one or the other - * - * @param id1 - * @param id2 - */ - public void handlePotato(int id1, int id2) { - makePotato(id1 == 6703 ? id2 : id1); - } + /** + * Id used with one or the other + * + * @param id1 + * @param id2 + */ + public void handlePotato(int id1, int id2) { + makePotato(id1 == StaticItemList.POTATO_WITH_BUTTER ? id2 : id1); + } - /** - * Creating the actual item and replacing the id's - * - * @param id - * @return - */ - public boolean makePotato(int id) { - PotatoMaking potato = PotatoMaking.forId(id); - if (potato == null) { - return false; - } - if (!COOKING) { - c.getPacketSender().sendMessage("This skill is currently disabled."); - return false; - } - if (c.getItemAssistant().playerHasItem(potato.getIngredient(), 1)) { - if (c.playerLevel[GameConstants.COOKING] >= potato.getReq()) { - c.getItemAssistant().deleteItem(potato.getIngredient(), 1); - c.getItemAssistant().deleteItem(6703, 1); - c.getPacketSender().sendMessage("You put the topping on."); - c.getItemAssistant().addItem(potato.getNewPotatoID(), 1); - c.getPlayerAssistant().addSkillXP(potato.getXP(), GameConstants.COOKING); - RandomEventHandler.addRandom(c); - } else { - c.getPacketSender().sendMessage("You need a cooking level of " + potato.getReq() + " to make this potato."); - } - } - return false; - } + /** + * Creating the actual item and replacing the id's + * + * @param id + * @return + */ + public boolean makePotato(int id) { + PotatoMaking potato = PotatoMaking.forId(id); + if (potato == null) { + return false; + } + if (!COOKING) { + c.getPacketSender().sendMessage("This skill is currently disabled."); + return false; + } + if (c.getItemAssistant().playerHasItem(potato.getIngredient(), 1)) { + if (c.playerLevel[GameConstants.COOKING] >= potato.getReq()) { + c.getItemAssistant().deleteItem(potato.getIngredient(), 1); + c.getItemAssistant().deleteItem(StaticItemList.POTATO_WITH_BUTTER, 1); + c.getPacketSender().sendMessage("You put the topping on."); + c.getItemAssistant().addItem(potato.getNewPotatoID(), 1); + c.getPlayerAssistant().addSkillXP(potato.getXP(), GameConstants.COOKING); + RandomEventHandler.addRandom(c); + } else { + c.getPacketSender().sendMessage("You need a cooking level of " + potato.getReq() + " to make this potato."); + } + } + return false; + } } diff --git a/2006Scape Server/src/main/java/com/rs2/game/content/skills/core/Fishing.java b/2006Scape Server/src/main/java/com/rs2/game/content/skills/core/Fishing.java index 5b563c6a..ec0b3524 100644 --- a/2006Scape Server/src/main/java/com/rs2/game/content/skills/core/Fishing.java +++ b/2006Scape Server/src/main/java/com/rs2/game/content/skills/core/Fishing.java @@ -11,535 +11,542 @@ import com.rs2.game.items.ItemAssistant; import com.rs2.game.players.Player; import com.rs2.util.Misc; +import static com.rs2.game.content.StaticItemList.*; +import static com.rs2.game.content.StaticNpcList.*; public class Fishing extends SkillHandler { - - public static void randomEvents(Player client) { - if (Misc.random(350) == 5) { - RiverTroll.spawnRiverTroll(client); - } - if (RiverTroll.hasRiverTroll == false) { - RandomEventHandler.addRandom(client); - } - } - /** - * Resets the Event according to the ID. id = 10 (According to skill.) - */ - protected static int eventId = 10; + public static void randomEvents(Player client) { + if (Misc.random(350) == 5) { + RiverTroll.spawnRiverTroll(client); + } + if (RiverTroll.hasRiverTroll == false) { + RandomEventHandler.addRandom(client); + } + } - public static int[][] data = { - // dataid, levelreq, item needed, bait, item recieved, exp, - // animation, - // secondfish, levelreq, secondexp - { 1, 1, 303, -1, 317, 10, 621, 321, 15, 40 }, // SHRIMP + ANCHOVIES - { 2, 5, 307, 313, 327, 20, 622, 345, 10, 30 }, // SARDINE + HERRING - { 3, 16, 305, -1, 353, 20, 620, -1, -1, -1 }, // MACKEREL - { 4, 20, 309, 314, 335, 50, 622, 331, 30, 70 }, // TROUT - { 5, 23, 305, -1, 341, 45, 619, 363, 46, 100 }, // BASS + COD - { 6, 25, 307, 313, 349, 60, 622, -1, -1, -1 }, // PIKE - { 7, 35, 311, -1, 359, 80, 618, 371, 50, 100 }, // TUNA + SWORDIE - { 8, 40, 301, -1, 377, 90, 619, -1, -1, -1 }, // LOBSTER - { 9, 62, 303, -1, 7944, 120, 621, -1, -1, -1 }, // Monkfish - { 10, 76, 311, -1, 383, 110, 618, -1, -1, -1 } // Shark - }; + /** + * Resets the Event according to the ID. id = 10 (According to skill.) + */ + protected static int eventId = 10; - private static String[][] messages = { { "You cast out your net." }, // SHRIMP - // + - // ANCHOVIES - { "You cast out your line." }, // SARDINE + HERRING - { "You start harpooning fish." }, // TUNA + SWORDIE - { "You attempt to catch a lobster." }, // LOBSTER - }; + public static int[][] data = { + // dataid, levelreq, item needed, bait, item recieved, exp, + // animation, + // secondfish, levelreq, secondexp + {1, 1, SMALL_FISHING_NET, -1, RAW_SHRIMPS, 10, 621, RAW_ANCHOVIES, 15, 40}, // SHRIMP + ANCHOVIES + {2, 5, FISHING_ROD, FISHING_BAIT, RAW_SARDINE, 20, 622, RAW_HERRING, 10, 30}, // SARDINE + HERRING + {3, 16, BIG_FISHING_NET, -1, RAW_MACKEREL, 20, 620, -1, -1, -1}, // MACKEREL + {4, 20, FLY_FISHING_ROD, FEATHER, RAW_TROUT, 50, 622, RAW_SALMON, 30, 70}, // TROUT + SALMON + {5, 23, BIG_FISHING_NET, -1, RAW_COD, 45, 619, RAW_BASS, 46, 100}, // BASS + COD + {6, 25, FISHING_ROD, FISHING_BAIT, RAW_PIKE, 60, 622, -1, -1, -1}, // PIKE + {7, 35, HARPOON, -1, RAW_TUNA, 80, 618, RAW_SWORDFISH, 50, 100}, // TUNA + SWORDFISH + {8, 40, LOBSTER_POT, -1, RAW_LOBSTER, 90, 619, -1, -1, -1}, // LOBSTER + {9, 62, SMALL_FISHING_NET, -1, RAW_MONKFISH, 120, 621, -1, -1, -1}, // MONKFISH + {10, 76, HARPOON, -1, RAW_SHARK, 110, 618, -1, -1, -1} // SHARK + }; - private static void attemptdata(final Player c, final int npcId) { - if (!FISHING) { - c.getPacketSender().sendMessage(c.disabled()); - return; - } - if (c.playerSkillProp[GameConstants.FISHING][4] > 0) { - c.playerSkilling[GameConstants.FISHING] = false; - return; - } - if (!noInventorySpace(c, "fishing")) { - return; - } - resetFishing(c); - for (int i = 0; i < data.length; i++) { - if (npcId == data[i][0]) { - if (c.playerLevel[GameConstants.FISHING] < data[i][1]) { - c.getDialogueHandler().sendStatement( - "You need a fishing level of at least " - + data[i][1] - + " in order to fish at this spot."); - return; - } - if (!hasFishingEquipment(c, data[i][2])) { - return; - } - if (data[i][3] > 0) { - if (!c.getItemAssistant().playerHasItem(data[i][3])) { - c.getDialogueHandler().sendStatement( - "You need more " - + ItemAssistant.getItemName(data[i][3]) - .toLowerCase().toLowerCase() - + " in order to fish at this spot."); - return; - } - } - c.playerSkillProp[GameConstants.FISHING][0] = data[i][6]; // ANIM - c.playerSkillProp[GameConstants.FISHING][1] = data[i][4]; // FISH - c.playerSkillProp[GameConstants.FISHING][2] = data[i][5]; // XP - c.playerSkillProp[GameConstants.FISHING][3] = data[i][3]; // BAIT - c.playerSkillProp[GameConstants.FISHING][4] = data[i][2]; // EQUIP - c.playerSkillProp[GameConstants.FISHING][5] = data[i][7]; // sFish - c.playerSkillProp[GameConstants.FISHING][6] = data[i][8]; // sLvl - c.playerSkillProp[GameConstants.FISHING][7] = data[i][4]; // FISH - c.playerSkillProp[GameConstants.FISHING][8] = data[i][9]; // sXP - c.playerSkillProp[GameConstants.FISHING][9] = Misc.random(1) == 0 ? 7 : 5; - c.playerSkillProp[GameConstants.FISHING][10] = data[i][0]; // INDEX + private static String[][] messages = { + {"You cast out your net."}, // SHRIMP + ANCHOVIES + {"You cast out your line."}, // SARDINE + HERRING + {"You start harpooning fish."}, // TUNA + SWORDIE + {"You attempt to catch a lobster."}, // LOBSTER + }; - if (c.playerSkilling[GameConstants.FISHING]) { - return; - } - c.playerSkilling[GameConstants.FISHING] = true; - if (c.tutorialProgress == 6) { // if tutorial prog = 6 - c.startAnimation(c.playerSkillProp[GameConstants.FISHING][0]); - c.stopPlayerSkill = true; - c.getPacketSender().drawHeadicon(0, 0, 0, 0); // deletes - // headicon - c.getPacketSender().chatbox(6180); - c.getDialogueHandler() - .chatboxText( - "This should only take a few seconds.", - "As you gain Fishing experience you'll find that there are many", - "types of fish and many ways to catch them.", - "", "Please wait"); - c.getPacketSender().chatbox(6179); - CycleEventHandler.getSingleton().addEvent(c, new CycleEvent() { - @Override - public void execute(CycleEventContainer container) { + private static void attemptdata(final Player c, final int npcId) { + if (!FISHING) { + c.getPacketSender().sendMessage(c.disabled()); + return; + } + if (c.playerSkillProp[GameConstants.FISHING][4] > 0) { + c.playerSkilling[GameConstants.FISHING] = false; + return; + } + if (!noInventorySpace(c, "fishing")) { + return; + } + resetFishing(c); + for (int i = 0; i < data.length; i++) { + if (npcId == data[i][0]) { + if (c.playerLevel[GameConstants.FISHING] < data[i][1]) { + c.getDialogueHandler().sendStatement( + "You need a fishing level of at least " + + data[i][1] + + " in order to fish at this spot."); + return; + } + if (!hasFishingEquipment(c, data[i][2])) { + return; + } + if (data[i][3] > 0) { + if (!c.getItemAssistant().playerHasItem(data[i][3])) { + c.getDialogueHandler().sendStatement( + "You need more " + + ItemAssistant.getItemName(data[i][3]) + .toLowerCase().toLowerCase() + + " in order to fish at this spot."); + return; + } + } + c.playerSkillProp[GameConstants.FISHING][0] = data[i][6]; // ANIM + c.playerSkillProp[GameConstants.FISHING][1] = data[i][4]; // FISH + c.playerSkillProp[GameConstants.FISHING][2] = data[i][5]; // XP + c.playerSkillProp[GameConstants.FISHING][3] = data[i][3]; // BAIT + c.playerSkillProp[GameConstants.FISHING][4] = data[i][2]; // EQUIP + c.playerSkillProp[GameConstants.FISHING][5] = data[i][7]; // sFish + c.playerSkillProp[GameConstants.FISHING][6] = data[i][8]; // sLvl + c.playerSkillProp[GameConstants.FISHING][7] = data[i][4]; // FISH + c.playerSkillProp[GameConstants.FISHING][8] = data[i][9]; // sXP + c.playerSkillProp[GameConstants.FISHING][9] = Misc.random(1) == 0 ? 7 : 5; + c.playerSkillProp[GameConstants.FISHING][10] = data[i][0]; // INDEX - if (c.playerSkillProp[GameConstants.FISHING][5] > 0) { - if (c.playerLevel[GameConstants.FISHING] >= c.playerSkillProp[GameConstants.FISHING][6]) { - c.playerSkillProp[GameConstants.FISHING][1] = c.playerSkillProp[GameConstants.FISHING][Misc - .random(1) == 0 ? 7 : 5]; - } - } + if (c.playerSkilling[GameConstants.FISHING]) { + return; + } + c.playerSkilling[GameConstants.FISHING] = true; + if (c.tutorialProgress == 6) { // if tutorial prog = 6 + c.startAnimation(c.playerSkillProp[GameConstants.FISHING][0]); + c.stopPlayerSkill = true; + c.getPacketSender().drawHeadicon(0, 0, 0, 0); // deletes + // headicon + c.getPacketSender().chatbox(6180); + c.getDialogueHandler() + .chatboxText( + "This should only take a few seconds.", + "As you gain Fishing experience you'll find that there are many", + "types of fish and many ways to catch them.", + "", "Please wait"); + c.getPacketSender().chatbox(6179); + CycleEventHandler.getSingleton().addEvent(c, new CycleEvent() { + @Override + public void execute(CycleEventContainer container) { - if (!c.stopPlayerSkill) { - container.stop(); - } - if (!c.playerSkilling[GameConstants.FISHING]) { - container.stop(); - } + if (c.playerSkillProp[GameConstants.FISHING][5] > 0) { + if (c.playerLevel[GameConstants.FISHING] >= c.playerSkillProp[GameConstants.FISHING][6]) { + c.playerSkillProp[GameConstants.FISHING][1] = c.playerSkillProp[GameConstants.FISHING][Misc + .random(1) == 0 ? 7 : 5]; + } + } - if (c.playerSkillProp[GameConstants.FISHING][1] > 0) { - c.startAnimation(c.playerSkillProp[GameConstants.FISHING][0]); - } + if (!c.stopPlayerSkill) { + container.stop(); + } + if (!c.playerSkilling[GameConstants.FISHING]) { + container.stop(); + } - } + if (c.playerSkillProp[GameConstants.FISHING][1] > 0) { + c.startAnimation(c.playerSkillProp[GameConstants.FISHING][0]); + } - @Override - public void stop() { - resetFishing(c); - } - }, 5); - CycleEventHandler.getSingleton().addEvent(c, - new CycleEvent() { + } - @Override - public void execute( - CycleEventContainer container) { - if (c.playerSkillProp[GameConstants.FISHING][5] > 0) { - if (c.playerLevel[GameConstants.FISHING] >= c.playerSkillProp[GameConstants.FISHING][6]) { - c.playerSkillProp[GameConstants.FISHING][1] = c.playerSkillProp[GameConstants.FISHING][Misc - .random(1) == 0 ? 7 : 5]; - } - } - if (c.playerSkillProp[GameConstants.FISHING][2] > 0) { - c.getPlayerAssistant().addSkillXP( - c.playerSkillProp[GameConstants.FISHING][2], - GameConstants.FISHING); - } - if (c.playerSkillProp[GameConstants.FISHING][1] > 0) { - c.getItemAssistant().addItem(c.playerSkillProp[GameConstants.FISHING][1], 1); - c.startAnimation(c.playerSkillProp[GameConstants.FISHING][0]); - c.getDialogueHandler().sendDialogues(3019, -1); - container.stop(); - } - if (!noInventorySpace(c, "fishing")) { - container.stop(); - } - if (!c.stopPlayerSkill) { - container.stop(); - } - if (!c.playerSkilling[GameConstants.FISHING]) { - container.stop(); - } - } + @Override + public void stop() { + resetFishing(c); + } + }, 5); + CycleEventHandler.getSingleton().addEvent(c, + new CycleEvent() { - @Override - public void stop() { - resetFishing(c); - } - }, getTimer(c, npcId) + 5 + playerFishingLevel(c)); - return; - } + @Override + public void execute( + CycleEventContainer container) { + if (c.playerSkillProp[GameConstants.FISHING][5] > 0) { + if (c.playerLevel[GameConstants.FISHING] >= c.playerSkillProp[GameConstants.FISHING][6]) { + c.playerSkillProp[GameConstants.FISHING][1] = c.playerSkillProp[GameConstants.FISHING][Misc + .random(1) == 0 ? 7 : 5]; + } + } + if (c.playerSkillProp[GameConstants.FISHING][2] > 0) { + c.getPlayerAssistant().addSkillXP( + c.playerSkillProp[GameConstants.FISHING][2], + GameConstants.FISHING); + } + if (c.playerSkillProp[GameConstants.FISHING][1] > 0) { + c.getItemAssistant().addItem(c.playerSkillProp[GameConstants.FISHING][1], 1); + c.startAnimation(c.playerSkillProp[GameConstants.FISHING][0]); + c.getDialogueHandler().sendDialogues(3019, -1); + container.stop(); + } + if (!noInventorySpace(c, "fishing")) { + container.stop(); + } + if (!c.stopPlayerSkill) { + container.stop(); + } + if (!c.playerSkilling[GameConstants.FISHING]) { + container.stop(); + } + } - // end of tutorial island fishing + @Override + public void stop() { + resetFishing(c); + } + }, getTimer(c, npcId) + 5 + playerFishingLevel(c)); + return; + } - c.getPacketSender().sendMessage("" + messages(c)); - // c.getPA().sendSound(379, 100, 1); // fishing - c.startAnimation(c.playerSkillProp[GameConstants.FISHING][0]); - c.stopPlayerSkill = true; - CycleEventHandler.getSingleton().addEvent(eventId, c, - new CycleEvent() { + // end of tutorial island fishing - @Override - public void execute(CycleEventContainer container) { - if (c.playerSkillProp[GameConstants.FISHING][3] > 0) { + c.getPacketSender().sendMessage("" + messages(c)); + // c.getPA().sendSound(379, 100, 1); // fishing + c.startAnimation(c.playerSkillProp[GameConstants.FISHING][0]); + c.stopPlayerSkill = true; + CycleEventHandler.getSingleton().addEvent(eventId, c, + new CycleEvent() { - if (!c.getItemAssistant().playerHasItem( - c.playerSkillProp[GameConstants.FISHING][3])) { - c.getPacketSender() - .sendMessage( - "You don't have any " - + ItemAssistant - .getItemName(c.playerSkillProp[GameConstants.FISHING][3]) - + " left!"); - c.getPacketSender() - .sendMessage( - "You need " - + ItemAssistant - .getItemName(c.playerSkillProp[GameConstants.FISHING][3]) - + " to fish here."); - resetFishing(c); - container.stop(); - } - } - if (c.playerSkillProp[GameConstants.FISHING][5] > 0) { - if (c.playerLevel[GameConstants.FISHING] >= c.playerSkillProp[GameConstants.FISHING][6]) { - c.playerSkillProp[GameConstants.FISHING][1] = c.playerSkillProp[GameConstants.FISHING][Misc - .random(1) == 0 ? 7 : 5]; - } - } - if (!hasFishingEquipment(c, - c.playerSkillProp[GameConstants.FISHING][4])) { - resetFishing(c); - container.stop(); - } - if (!noInventorySpace(c, "fishing")) { - resetFishing(c); - container.stop(); - } - if (!c.stopPlayerSkill) { - container.stop(); - } - if (!c.playerSkilling[GameConstants.FISHING]) { - resetFishing(c); - container.stop(); - } - if (c.playerSkillProp[GameConstants.FISHING][1] > 0) { - c.startAnimation(c.playerSkillProp[GameConstants.FISHING][0]); - // c.getPA().sendSound(379, 100, 1); // - // fishing - } + @Override + public void execute(CycleEventContainer container) { + if (c.playerSkillProp[GameConstants.FISHING][3] > 0) { - } + if (!c.getItemAssistant().playerHasItem( + c.playerSkillProp[GameConstants.FISHING][3])) { + c.getPacketSender() + .sendMessage( + "You don't have any " + + ItemAssistant + .getItemName(c.playerSkillProp[GameConstants.FISHING][3]) + + " left!"); + c.getPacketSender() + .sendMessage( + "You need " + + ItemAssistant + .getItemName(c.playerSkillProp[GameConstants.FISHING][3]) + + " to fish here."); + resetFishing(c); + container.stop(); + } + } + if (c.playerSkillProp[GameConstants.FISHING][5] > 0) { + if (c.playerLevel[GameConstants.FISHING] >= c.playerSkillProp[GameConstants.FISHING][6]) { + c.playerSkillProp[GameConstants.FISHING][1] = c.playerSkillProp[GameConstants.FISHING][Misc + .random(1) == 0 ? 7 : 5]; + } + } + if (!hasFishingEquipment(c, + c.playerSkillProp[GameConstants.FISHING][4])) { + resetFishing(c); + container.stop(); + } + if (!noInventorySpace(c, "fishing")) { + resetFishing(c); + container.stop(); + } + if (!c.stopPlayerSkill) { + container.stop(); + } + if (!c.playerSkilling[GameConstants.FISHING]) { + resetFishing(c); + container.stop(); + } + if (c.playerSkillProp[GameConstants.FISHING][1] > 0) { + c.startAnimation(c.playerSkillProp[GameConstants.FISHING][0]); + // c.getPA().sendSound(379, 100, 1); // + // fishing + } - @Override - public void stop() { - } - }, 5); - CycleEventHandler.getSingleton().addEvent(eventId, c, - new CycleEvent() { + } - @Override - public void execute(CycleEventContainer container) { - if (c.playerSkillProp[GameConstants.FISHING][5] > 0) { - if (c.playerLevel[GameConstants.FISHING] >= c.playerSkillProp[GameConstants.FISHING][6]) { - c.playerSkillProp[GameConstants.FISHING][1] = c.playerSkillProp[GameConstants.FISHING][Misc - .random(1) == 0 ? 7 : 5]; - } - } - if (c.playerSkillProp[GameConstants.FISHING][1] > 0) { - c.getPacketSender() - .sendMessage( - "You catch " - + (c.playerSkillProp[GameConstants.FISHING][1] == 321 - || c.playerSkillProp[GameConstants.FISHING][1] == 317 - || c.playerSkillProp[GameConstants.FISHING][1] == 7944 ? "some " - : "a ") - + ItemAssistant - .getItemName( - c.playerSkillProp[GameConstants.FISHING][1]) - .toLowerCase() - .replace( - "raw ", - "") - + "."); - } - if (c.playerSkillProp[GameConstants.FISHING][1] > 0 && c.randomEventsEnabled) { - randomEvents(c); - } - if (c.playerSkillProp[GameConstants.FISHING][1] > 0) { - c.getItemAssistant().deleteItem(c.playerSkillProp[GameConstants.FISHING][3], c.getItemAssistant().getItemSlot(c.playerSkillProp[GameConstants.FISHING][3]), 1); - c.getItemAssistant().addItem(c.playerSkillProp[GameConstants.FISHING][1], 1); - c.startAnimation(c.playerSkillProp[GameConstants.FISHING][0]); - } - if (c.playerSkillProp[GameConstants.FISHING][5] > 0 - && c.playerLevel[GameConstants.FISHING] >= c.playerSkillProp[GameConstants.FISHING][6]) { - c.getPlayerAssistant().addSkillXP( - c.playerSkillProp[GameConstants.FISHING][8], - GameConstants.FISHING); - } else if (c.playerSkillProp[GameConstants.FISHING][7] > 0) { - c.getPlayerAssistant().addSkillXP( - c.playerSkillProp[GameConstants.FISHING][2], - GameConstants.FISHING); - } - if (c.playerSkillProp[GameConstants.FISHING][3] > 0) { - if (!c.getItemAssistant().playerHasItem( - c.playerSkillProp[GameConstants.FISHING][3])) { - c.getDialogueHandler() - .sendStatement( - "You have run out of " - + ItemAssistant - .getItemName( - c.playerSkillProp[GameConstants.FISHING][3]) - .toLowerCase() - .toLowerCase() - + "."); - // c.getPacketDispatcher().sendMessage("You don't have any "+ - // ItemAssistant.getItemName(c.playerSkillProp[GameConstants.FISHING][3]) - // +" left!"); - // c.getPacketDispatcher().sendMessage("You need "+ - // ItemAssistant.getItemName(c.playerSkillProp[GameConstants.FISHING][3]) - // +" to fish here."); - container.stop(); - } - } - if (!hasFishingEquipment(c, - c.playerSkillProp[GameConstants.FISHING][4])) { - resetFishing(c); - container.stop(); - } - if (!noInventorySpace(c, "fishing")) { - resetFishing(c); - container.stop(); - } - if (!c.stopPlayerSkill) { - container.stop(); - } - if (!c.playerSkilling[GameConstants.FISHING]) { - resetFishing(c); - container.stop(); - } - } + @Override + public void stop() { + } + }, 5); + CycleEventHandler.getSingleton().addEvent(eventId, c, + new CycleEvent() { - @Override - public void stop() { - } - }, getTimer(c, npcId) + 5 + playerFishingLevel(c)); - } - } - } + @Override + public void execute(CycleEventContainer container) { + if (c.playerSkillProp[GameConstants.FISHING][5] > 0) { + if (c.playerLevel[GameConstants.FISHING] >= c.playerSkillProp[GameConstants.FISHING][6]) { + c.playerSkillProp[GameConstants.FISHING][1] = c.playerSkillProp[GameConstants.FISHING][Misc + .random(1) == 0 ? 7 : 5]; + } + } + if (c.playerSkillProp[GameConstants.FISHING][1] > 0) { + c.getPacketSender() + .sendMessage( + "You catch " + + (c.playerSkillProp[GameConstants.FISHING][1] == RAW_ANCHOVIES + || c.playerSkillProp[GameConstants.FISHING][1] == RAW_SHRIMPS + || c.playerSkillProp[GameConstants.FISHING][1] == RAW_MONKFISH ? "some " + : "a ") + + ItemAssistant + .getItemName( + c.playerSkillProp[GameConstants.FISHING][1]) + .toLowerCase() + .replace( + "raw ", + "") + + "."); + } + if (c.playerSkillProp[GameConstants.FISHING][1] > 0 && c.randomEventsEnabled) { + randomEvents(c); + } + if (c.playerSkillProp[GameConstants.FISHING][1] > 0) { + c.getItemAssistant().deleteItem(c.playerSkillProp[GameConstants.FISHING][3], c.getItemAssistant().getItemSlot(c.playerSkillProp[GameConstants.FISHING][3]), 1); + c.getItemAssistant().addItem(c.playerSkillProp[GameConstants.FISHING][1], 1); + c.startAnimation(c.playerSkillProp[GameConstants.FISHING][0]); + } + if (c.playerSkillProp[GameConstants.FISHING][5] > 0 + && c.playerLevel[GameConstants.FISHING] >= c.playerSkillProp[GameConstants.FISHING][6]) { + c.getPlayerAssistant().addSkillXP( + c.playerSkillProp[GameConstants.FISHING][8], + GameConstants.FISHING); + } else if (c.playerSkillProp[GameConstants.FISHING][7] > 0) { + c.getPlayerAssistant().addSkillXP( + c.playerSkillProp[GameConstants.FISHING][2], + GameConstants.FISHING); + } + if (c.playerSkillProp[GameConstants.FISHING][3] > 0) { + if (!c.getItemAssistant().playerHasItem( + c.playerSkillProp[GameConstants.FISHING][3])) { + c.getDialogueHandler() + .sendStatement( + "You have run out of " + + ItemAssistant + .getItemName( + c.playerSkillProp[GameConstants.FISHING][3]) + .toLowerCase() + .toLowerCase() + + "."); + // c.getPacketDispatcher().sendMessage("You don't have any "+ + // ItemAssistant.getItemName(c.playerSkillProp[GameConstants.FISHING][3]) + // +" left!"); + // c.getPacketDispatcher().sendMessage("You need "+ + // ItemAssistant.getItemName(c.playerSkillProp[GameConstants.FISHING][3]) + // +" to fish here."); + container.stop(); + } + } + if (!hasFishingEquipment(c, + c.playerSkillProp[GameConstants.FISHING][4])) { + resetFishing(c); + container.stop(); + } + if (!noInventorySpace(c, "fishing")) { + resetFishing(c); + container.stop(); + } + if (!c.stopPlayerSkill) { + container.stop(); + } + if (!c.playerSkilling[GameConstants.FISHING]) { + resetFishing(c); + container.stop(); + } + } - public static boolean hasFishingEquipment(Player c, int equipment) { - if (!c.getItemAssistant().playerHasItem(equipment)) { - if (equipment == 311) { - if (!c.getItemAssistant().playerHasItem(311) - && !c.getItemAssistant().playerHasItem(10129) - && c.playerEquipment[3] != 10129) { - c.getPacketSender().sendMessage( - "You need a " - + ItemAssistant.getItemName(equipment) - .toLowerCase() + " to fish here."); - resetFishing(c); - return false; - } - } else { - resetFishing(c); - c.getPacketSender().sendMessage( - "You need a " + ItemAssistant.getItemName(equipment) - + " to fish here."); - return false; - } - } - return true; - } + @Override + public void stop() { + } + }, getTimer(c, npcId) + 5 + playerFishingLevel(c)); + } + } + } - public static void resetFishing(Player player) { - player.startAnimation(65535); - player.stopPlayerSkill = false; - player.playerSkilling[GameConstants.FISHING] = false; - player.fishingWhirlPool = false; - stopEvents(player, eventId); - for (int i = 0; i < 11; i++) { - player.playerSkillProp[GameConstants.FISHING][i] = -1; - } - } + public static boolean hasFishingEquipment(Player c, int equipment) { + if (!c.getItemAssistant().playerHasItem(equipment)) { + if (equipment == HARPOON) { + if (!c.getItemAssistant().playerHasItem(HARPOON)) { + c.getPacketSender().sendMessage( + "You need a " + + ItemAssistant.getItemName(equipment) + .toLowerCase() + " to fish here."); + resetFishing(c); + return false; + } + } else { + resetFishing(c); + c.getPacketSender().sendMessage( + "You need a " + ItemAssistant.getItemName(equipment) + + " to fish here."); + return false; + } + } + return true; + } - public static String messages(Player c) { - if (c.playerSkillProp[GameConstants.FISHING][10] == 1 || c.playerSkillProp[GameConstants.FISHING][10] == 9) { - // etc - return messages[0][0]; - } + public static void resetFishing(Player player) { + player.startAnimation(65535); + player.stopPlayerSkill = false; + player.playerSkilling[GameConstants.FISHING] = false; + player.fishingWhirlPool = false; + stopEvents(player, eventId); + for (int i = 0; i < 11; i++) { + player.playerSkillProp[GameConstants.FISHING][i] = -1; + } + } - if (c.playerSkillProp[GameConstants.FISHING][10] == 2 || c.playerSkillProp[GameConstants.FISHING][10] == 3 - || c.playerSkillProp[GameConstants.FISHING][10] == 4 - || c.playerSkillProp[GameConstants.FISHING][10] == 5 - || c.playerSkillProp[GameConstants.FISHING][10] == 6) { - return messages[1][0]; - } + public static String messages(Player c) { + if (c.playerSkillProp[GameConstants.FISHING][10] == 1 || c.playerSkillProp[GameConstants.FISHING][10] == 9) { + // etc + return messages[0][0]; + } - if (c.playerSkillProp[GameConstants.FISHING][10] == 7 || c.playerSkillProp[GameConstants.FISHING][10] == 10) { - return messages[2][0]; - } + if (c.playerSkillProp[GameConstants.FISHING][10] == 2 || c.playerSkillProp[GameConstants.FISHING][10] == 3 + || c.playerSkillProp[GameConstants.FISHING][10] == 4 + || c.playerSkillProp[GameConstants.FISHING][10] == 5 + || c.playerSkillProp[GameConstants.FISHING][10] == 6) { + return messages[1][0]; + } - if (c.playerSkillProp[GameConstants.FISHING][10] == 8) { - return messages[3][0]; - } + if (c.playerSkillProp[GameConstants.FISHING][10] == 7 || c.playerSkillProp[GameConstants.FISHING][10] == 10) { + return messages[2][0]; + } - return null; - } + if (c.playerSkillProp[GameConstants.FISHING][10] == 8) { + return messages[3][0]; + } - private static int playerFishingLevel(Player c) { - return 10 - (int) Math.floor(c.playerLevel[GameConstants.FISHING] / 10); - } + return null; + } - private final static int getTimer(Player c, int npcId) { - switch (npcId) { - case 1: - return 2; - case 2: - return 3; - case 3: - return 4; - case 4: - return 4; - case 5: - return 4; - case 6: - return 5; - case 7: - return 5; - case 8: - return 5; - case 9: - return 8; - case 10: - return 12; - case 11: - return 13; - case 12: - return 13; - default: - return -1; - } - } + private static int playerFishingLevel(Player c) { + return 10 - (int) Math.floor(c.playerLevel[GameConstants.FISHING] / 10); + } - public static void fishingNPC(Player c, int i, int l) { - switch (i) { - case 1: - switch (l) { - case 319: - case 329: - case 323: - case 325: - case 326: - case 327: - case 330: - case 332: - case 404: - case 316: // NET + BAIT - Fishing.attemptdata(c, 1); - break; - case 334: - case 313: // NET + HARPOON - Fishing.attemptdata(c, 3); - break; - case 322: // NET + HARPOON - Fishing.attemptdata(c, 5); - break; + private final static int getTimer(Player c, int npcId) { + switch (npcId) { + case 1: + return 2; + case 2: + return 3; + case 3: + return 4; + case 4: + return 4; + case 5: + return 4; + case 6: + return 5; + case 7: + return 5; + case 8: + return 5; + case 9: + return 8; + case 10: + return 12; + case 11: + return 13; + case 12: + return 13; + default: + return -1; + } + } - case 309: // LURE - case 310: - case 403: - case 311: - case 314: - case 315: - case 317: - case 318: - case 328: - case 331: - Fishing.attemptdata(c, 4); - break; - case 1191: - Fishing.attemptdata(c, 9); - break; - case 312: - case 321: - case 405: - case 324: // CAGE + HARPOON - Fishing.attemptdata(c, 8); - break; - } - break; - case 2: - switch (l) { - case 326: - case 327: - case 330: - case 332: - case 404: - case 316: // BAIT + NET - Fishing.attemptdata(c, 2); - break; - case 319: - case 323: - case 325: // BAIT + NET - Fishing.attemptdata(c, 9); - break; - case 310: - case 311: - case 314: - case 315: - case 317: - case 318: - case 328: - case 329: - case 331: - case 403: - case 309: // BAIT + LURE - Fishing.attemptdata(c, 6); - break; - case 312: - case 321: - case 405: - case 1191: - case 324:// SWORDIES+TUNA-CAGE+HARPOON - Fishing.attemptdata(c, 7); - break; - case 313: - case 322: - case 334: // NET+HARPOON - Fishing.attemptdata(c, 10); - break; - } - break; - } - } + public static void fishingNPC(Player c, int i, int l) { + switch (i) { + case 1: + switch (l) { + // NET + BAIT + case FISHING_SPOT_316: + case FISHING_SPOT_319: + case FISHING_SPOT_323: + case FISHING_SPOT_325: + case FISHING_SPOT_326: + case FISHING_SPOT_327: + case FISHING_SPOT_329: + case FISHING_SPOT_330: + case FISHING_SPOT_333: + case FISHING_SPOT_404: + Fishing.attemptdata(c, 1); + break; + // NET + HARPOON + case FISHING_SPOT_313: + case FISHING_SPOT_334: + Fishing.attemptdata(c, 3); + break; + // NET + HARPOON + case FISHING_SPOT_322: + Fishing.attemptdata(c, 5); + break; + // LURE + case FISHING_SPOT_309: + case FISHING_SPOT_310: + case FISHING_SPOT_311: + case FISHING_SPOT_314: + case FISHING_SPOT_315: + case FISHING_SPOT_317: + case FISHING_SPOT_318: + case FISHING_SPOT_328: + case FISHING_SPOT_331: + case FISHING_SPOT_403: + Fishing.attemptdata(c, 4); + break; + case FISHING_SPOT_1191: + Fishing.attemptdata(c, 9); + break; + // CAGE + HARPOON + case FISHING_SPOT_312: + case FISHING_SPOT_321: + case FISHING_SPOT_324: + case FISHING_SPOT_405: + Fishing.attemptdata(c, 8); + break; + } + break; + case 2: + switch (l) { + // BAIT + NET + case FISHING_SPOT_316: + case FISHING_SPOT_326: + case FISHING_SPOT_327: + case FISHING_SPOT_330: + case FISHING_SPOT_332: + case FISHING_SPOT_404: + Fishing.attemptdata(c, 2); + break; + case FISHING_SPOT_319: + case FISHING_SPOT_323: + case FISHING_SPOT_325: // BAIT + NET + Fishing.attemptdata(c, 9); + break; + // BAIT + LURE + case FISHING_SPOT_309: + case FISHING_SPOT_310: + case FISHING_SPOT_311: + case FISHING_SPOT_314: + case FISHING_SPOT_315: + case FISHING_SPOT_317: + case FISHING_SPOT_318: + case FISHING_SPOT_328: + case FISHING_SPOT_329: + case FISHING_SPOT_331: + case FISHING_SPOT_403: + Fishing.attemptdata(c, 6); + break; + // SWORDIES+TUNA-CAGE+HARPOON + case FISHING_SPOT_312: + case FISHING_SPOT_321: + case FISHING_SPOT_324: + case FISHING_SPOT_405: + case FISHING_SPOT_1191: + Fishing.attemptdata(c, 7); + break; + // NET+HARPOON + case FISHING_SPOT_313: + case FISHING_SPOT_322: + case FISHING_SPOT_334: + Fishing.attemptdata(c, 10); + break; + } + break; + } + } - public static boolean fishingNPC(Player c, int npc) { - for (int i = 308; i < 335; i++) { - if (npc == i) { - return true; - } - if (npc == 1191) { - return true; - } - } - return false; - } -} + public static boolean fishingNPC(Player c, int npc) { + for (int i = MASTER_FISHER; i < NULL_335; i++) { + if (npc == i) { + return true; + } + if (npc == FISHING_SPOT_1191) { + return true; + } + } + return false; + } +} \ No newline at end of file diff --git a/2006Scape Server/src/main/java/com/rs2/game/content/skills/core/Mining.java b/2006Scape Server/src/main/java/com/rs2/game/content/skills/core/Mining.java index fb0475c3..c26589ad 100644 --- a/2006Scape Server/src/main/java/com/rs2/game/content/skills/core/Mining.java +++ b/2006Scape Server/src/main/java/com/rs2/game/content/skills/core/Mining.java @@ -1,7 +1,11 @@ package com.rs2.game.content.skills.core; import com.rs2.GameConstants; -import com.rs2.event.*; +import com.rs2.event.CycleEvent; +import com.rs2.event.CycleEventContainer; +import com.rs2.event.CycleEventHandler; +import com.rs2.game.content.StaticItemList; +import com.rs2.game.content.StaticObjectList; import com.rs2.game.items.ItemAssistant; import com.rs2.game.objects.Object; import com.rs2.game.players.Player; @@ -10,404 +14,408 @@ import com.rs2.util.Misc; import com.rs2.world.clip.Region; public class Mining { - - /** - * Andrew (Mr Extremez) - */ - private static final int[] RANDOM_GEMS = {1617, 1619, 1621, 1623}; - private static final int[] GLORIES = {1706, 1708, 1710, 1712}; - - public boolean giveGem(Player player) { - int chance = 256; - for (int i = 0; i < GLORIES.length; i++) { - if (player.playerEquipment[player.playerAmulet] == GLORIES[i]) { - chance = 86; - } - } - return Misc.random(chance) == 1; - } - public void obtainGem(Player player) { - int reward = RANDOM_GEMS[(int)(RANDOM_GEMS.length * Math.random())]; - player.getItemAssistant().addItem(reward, 1); - player.getPacketSender().sendMessage("You found an " + ItemAssistant.getItemName(reward) + "."); - } - - public final int[][] Pick_Settings = { - {1265, 1, 1, 625}, //Bronze - {1267, 1, 2, 626}, //Iron - {1269, 6, 3, 627}, //Steel - {1273, 21, 4, 629}, //Mithril - {1271, 31, 5, 628}, //Addy - {1275, 41, 6, 624}, //Rune - }; + /** + * Andrew (Mr Extremez) + */ + private static final int[] RANDOM_GEMS = {StaticItemList.UNCUT_DIAMOND, StaticItemList.UNCUT_RUBY, StaticItemList.UNCUT_EMERALD, StaticItemList.UNCUT_SAPPHIRE}; + private static final int[] GLORIES = {StaticItemList.AMULET_OF_GLORY1, StaticItemList.AMULET_OF_GLORY2, StaticItemList.AMULET_OF_GLORY3, StaticItemList.AMULET_OF_GLORY4}; - public static enum gems { - OPAL(1625, 60), - JADE(1627, 30), - RED_TOPAZ(1629, 15), - SAPHIRE(1623, 9), - EMERALD(1621, 5), - RUBY(1619, 5), - DIAMOND(1617, 4); + public boolean giveGem(Player player) { + int chance = 256; + for (int i = 0; i < GLORIES.length; i++) { + if (player.playerEquipment[player.playerAmulet] == GLORIES[i]) { + chance = 86; + } + } + return Misc.random(chance) == 1; + } - public final int itemID; - public final int chance; + public void obtainGem(Player player) { + int reward = RANDOM_GEMS[(int) (RANDOM_GEMS.length * Math.random())]; + player.getItemAssistant().addItem(reward, 1); + player.getPacketSender().sendMessage("You found an " + ItemAssistant.getItemName(reward) + "."); + } - gems(int itemID, int chance){ - this.itemID = itemID; - this.chance = chance; - } + public final int[][] Pick_Settings = { + {StaticItemList.BRONZE_PICKAXE, 1, 1, 625}, //Bronze + {StaticItemList.IRON_PICKAXE, 1, 2, 626}, //Iron + {StaticItemList.STEEL_PICKAXE, 6, 3, 627}, //Steel + {StaticItemList.MITHRIL_PICKAXE, 21, 4, 629}, //Mithril + {StaticItemList.ADAMANT_PICKAXE, 31, 5, 628}, //Addy + {StaticItemList.RUNE_PICKAXE, 41, 6, 624}, //Rune + }; + + public static enum gems { + OPAL(StaticItemList.UNCUT_OPAL, 60), + JADE(StaticItemList.UNCUT_JADE, 30), + RED_TOPAZ(StaticItemList.UNCUT_RED_TOPAZ, 15), + SAPHIRE(StaticItemList.UNCUT_SAPPHIRE, 9), + EMERALD(StaticItemList.UNCUT_EMERALD, 5), + RUBY(StaticItemList.UNCUT_RUBY, 5), + DIAMOND(StaticItemList.UNCUT_DIAMOND, 4); + + public final int itemID; + public final int chance; + + gems(int itemID, int chance) { + this.itemID = itemID; + this.chance = chance; + } - public static int getRandom(){ - final int maxChance = 128; - int random = (int) Math.floor(Math.random() * maxChance); - int index = 0; - for (gems gem: gems.values()){ - index += gem.chance; - if (index >= random) - return gem.itemID; - } - return gems.OPAL.itemID; - } - } + public static int getRandom() { + final int maxChance = 128; + int random = (int) Math.floor(Math.random() * maxChance); + int index = 0; + for (gems gem : gems.values()) { + index += gem.chance; + if (index >= random) + return gem.itemID; + } + return gems.OPAL.itemID; + } + } - public static enum rockData { - ESSENCE(new int[] { 2491 }, 1, 5, 2, 0, new int[] { 1436, 7936 }), - CLAY(new int[] { 2108, 2109, 11189, 11190, 11191, 9713, 9711, 14905, 14904 }, 1, 5, 1, 2, new int[] { 434 }), - COPPER(new int[] { 3042, 2091, 2090, 9708, 9709, 9710, 11960, 14906, 14907 }, 1, 18, 1, 4, new int[] { 436 }), - TIN(new int[] { 2094, 2095, 3043, 9716, 9714, 11958, 11957, 11959, 11933, 11934, 11935, 14903, 14902 }, 1, 18, 1, 4, new int[] { 438 }), - BLURITE(new int[] { 10574, 10583, 10584, 2110 }, 10, 20, 1, 42, new int[] { 668 }), - IRON(new int[] { 450, 2093, 2092, 9717, 9718, 9719, 11962, 11956, 11954, 14856, 14857, 14858, 14914, 14913 }, 15, 35, 2, 9, new int[] { 440 }), - SILVER(new int[] { 2101, 11186, 11187, 11188, 2100 }, 20, 40, 3, 100, new int[] { 442 }), - COAL(new int[] { 2096, 2097, 11963, 11964, 14850, 14851, 14852, 11930, 11931, 11932 }, 30, 50, 4, 50, new int[] { 453 }), - GOLD(new int[] { 2099, 2098, 11183, 11184, 11185, 9720, 9722 }, 40, 65, 6, 100, new int[] { 444 }), - MITHRIL(new int[] { 2103, 2102, 14853, 14854, 14855 }, 55, 80, 8, 200, new int[] { 447 }), - ADAMANT(new int[] { 2104, 2105, 14862, 14863, 14864 }, 70, 95, 10, 400, new int[] { 449 }), - RUNE(new int[] { 14859, 14860, 2106, 2107 }, 85, 125, 20, 1200, new int[] { 451 }), - GRANITE(new int[] { 10947 }, 45, 75, 10, 8, new int[] { 6979, 6981, 6983 }), - SANDSTONE(new int[] { 10946 }, 35, 60, 5, 8, new int[] { 6971, 6973, 6975, 6977 }), - GEM(new int[] {2111}, 40, 65, 6, 175, new int[] {}); + //Rock ID's, Level Req, XP, mineTimer, respawnTimer, Ore ID's + public static enum rockData { + ESSENCE(new int[]{StaticObjectList.RUNE_ESSENCE}, 1, 5, 2, 0, new int[]{StaticItemList.RUNE_ESSENCE, StaticItemList.PURE_ESSENCE}), + CLAY(new int[]{StaticObjectList.ROCKS_2108, StaticObjectList.ROCKS_2109, StaticObjectList.ROCKS_11189, StaticObjectList.ROCKS_11190, StaticObjectList.ROCKS_11191, StaticObjectList.ROCKS_9713, StaticObjectList.ROCKS_9711, StaticObjectList.ROCKS_14905, StaticObjectList.ROCKS_14904}, 1, 5, 1, 2, new int[]{StaticItemList.CLAY}), + COPPER(new int[]{StaticObjectList.ROCKS_3042, StaticObjectList.ROCKS_2091, StaticObjectList.ROCKS_2090, StaticObjectList.ROCKS_9708, StaticObjectList.ROCKS_9709, StaticObjectList.ROCKS_9710, StaticObjectList.ROCKS_11960, StaticObjectList.ROCKS_14906, StaticObjectList.ROCKS_14907}, 1, 18, 1, 4, new int[]{StaticItemList.COPPER_ORE}), + TIN(new int[]{StaticObjectList.ROCKS_2094, StaticObjectList.ROCKS_2095, StaticObjectList.ROCKS_3043, StaticObjectList.ROCKS_9716, StaticObjectList.ROCKS_9714, StaticObjectList.ROCKS_11958, StaticObjectList.ROCKS_11957, StaticObjectList.ROCKS_11959, StaticObjectList.ROCKS_11933, StaticObjectList.ROCKS_11934, StaticObjectList.ROCKS_11935, StaticObjectList.ROCKS_14903, StaticObjectList.ROCKS_14902}, 1, 18, 1, 4, new int[]{StaticItemList.TIN_ORE}), + BLURITE(new int[]{StaticObjectList.ROCKS_10583, StaticObjectList.ROCKS_10584, StaticObjectList.ROCKS_2110}, 10, 20, 1, 42, new int[]{StaticItemList.BLURITE_ORE}), + IRON(new int[]{StaticObjectList.ROCKS, StaticObjectList.ROCKS_2093, StaticObjectList.ROCKS_2092, StaticObjectList.ROCKS_9717, StaticObjectList.ROCKS_9718, StaticObjectList.ROCKS_9719, StaticObjectList.ROCKS_11962, StaticObjectList.ROCKS_11956, StaticObjectList.ROCKS_11954, StaticObjectList.ROCKS_14856, StaticObjectList.ROCKS_14857, StaticObjectList.ROCKS_14858, StaticObjectList.ROCKS_14914, StaticObjectList.ROCKS_14913}, 15, 35, 2, 9, new int[]{StaticItemList.IRON_ORE}), + SILVER(new int[]{StaticObjectList.ROCKS_2101, StaticObjectList.ROCKS_11186, StaticObjectList.ROCKS_11187, StaticObjectList.ROCKS_11188, StaticObjectList.ROCKS_2100}, 20, 40, 3, 100, new int[]{StaticItemList.SILVER_ORE}), + COAL(new int[]{StaticObjectList.ROCKS_2096, StaticObjectList.ROCKS_2097, StaticObjectList.ROCKS_11963, StaticObjectList.ROCKS_11964, StaticObjectList.ROCKS_14850, StaticObjectList.ROCKS_14851, StaticObjectList.ROCKS_14852, StaticObjectList.ROCKS_11930, StaticObjectList.ROCKS_11931, StaticObjectList.ROCKS_11932}, 30, 50, 4, 50, new int[]{StaticItemList.COAL}), + GOLD(new int[]{StaticObjectList.ROCKS_2099, StaticObjectList.ROCKS_2098, StaticObjectList.ROCKS_11183, StaticObjectList.ROCKS_11184, StaticObjectList.ROCKS_11185, StaticObjectList.ROCKS_9720, StaticObjectList.ROCKS_9722}, 40, 65, 6, 100, new int[]{StaticItemList.GOLD_ORE}), + MITHRIL(new int[]{StaticObjectList.ROCKS_2103, StaticObjectList.ROCKS_2102, StaticObjectList.ROCKS_14853, StaticObjectList.ROCKS_14854, StaticObjectList.ROCKS_14855}, 55, 80, 8, 200, new int[]{StaticItemList.MITHRIL_ORE}), + ADAMANT(new int[]{StaticObjectList.ROCKS_2104, StaticObjectList.ROCKS_2105, StaticObjectList.ROCKS_14862, StaticObjectList.ROCKS_14863, StaticObjectList.ROCKS_14864}, 70, 95, 10, 400, new int[]{StaticItemList.ADAMANTITE_ORE}), + RUNE(new int[]{StaticObjectList.ROCKS_14859, StaticObjectList.ROCKS_14860, StaticObjectList.ROCKS_2106, StaticObjectList.ROCKS_2107}, 85, 125, 20, 1200, new int[]{StaticItemList.RUNITE_ORE}), + GRANITE(new int[]{StaticObjectList.ROCKS_10947}, 45, 75, 10, 8, new int[]{StaticItemList.GRANITE_500G, StaticItemList.GRANITE_2KG, StaticItemList.GRANITE_5KG}), + SANDSTONE(new int[]{StaticObjectList.ROCKS_10946}, 35, 60, 5, 8, new int[]{StaticItemList.SANDSTONE_1KG, StaticItemList.SANDSTONE_2KG, StaticItemList.SANDSTONE_5KG, StaticItemList.SANDSTONE_10KG}), + GEM(new int[]{StaticObjectList.ROCKS_2111}, 40, 65, 6, 175, new int[]{}); - private final int levelReq, mineTimer, respawnTimer, xp; - private final int[] oreIds; - private final int[] objectId; + private final int levelReq, mineTimer, respawnTimer, xp; + private final int[] oreIds; + private final int[] objectId; - private rockData(final int[] objectId, final int levelReq, final int xp, final int mineTimer, final int respawnTimer, final int... oreIds) { - this.objectId = objectId; - this.levelReq = levelReq; - this.xp = xp; - this.mineTimer = mineTimer; - this.respawnTimer = respawnTimer; - this.oreIds = oreIds; - } + private rockData(final int[] objectId, final int levelReq, final int xp, final int mineTimer, final int respawnTimer, final int... oreIds) { + this.objectId = objectId; + this.levelReq = levelReq; + this.xp = xp; + this.mineTimer = mineTimer; + this.respawnTimer = respawnTimer; + this.oreIds = oreIds; + } - public int getObject(final int object) { - for (int element : objectId) { - if (object == element) { - return element; - } - } - return -1; - } + public int getObject(final int object) { + for (int element : objectId) { + if (object == element) { + return element; + } + } + return -1; + } - public static rockData getRock(final int object) { - for (final rockData rock : rockData.values()) { - if (object == rock.getObject(object)) { - return rock; - } - } - return null; - } + public static rockData getRock(final int object) { + for (final rockData rock : rockData.values()) { + if (object == rock.getObject(object)) { + return rock; + } + } + return null; + } - public int getRequiredLevel() { - return levelReq; - } + public int getRequiredLevel() { + return levelReq; + } - public int getXp() { - return xp; - } + public int getXp() { + return xp; + } - public int getTimer() { - return mineTimer; - } + public int getTimer() { + return mineTimer; + } - public int getRespawnTimer() { - return respawnTimer; - } + public int getRespawnTimer() { + return respawnTimer; + } - public int[] getOreIds() { - return oreIds; - } + public int[] getOreIds() { + return oreIds; + } - public int getOre(int playerLevel){ - if (this == rockData.ESSENCE) - return playerLevel < 30 ? oreIds[0] : oreIds[1]; - if (this == rockData.GEM) - return gems.getRandom(); + public int getOre(int playerLevel) { + if (this == rockData.ESSENCE) + return playerLevel < 30 ? oreIds[0] : oreIds[1]; + if (this == rockData.GEM) + return gems.getRandom(); - // return a random ore from the possibilities - return oreIds[(int) Math.floor(Math.random() * oreIds.length)]; - } - } - - public void repeatAnimation(final Player c) { - CycleEventHandler.getSingleton().addEvent(c, new CycleEvent() { - @Override - public void execute(CycleEventContainer container) { - if (c.isMining) { - c.startAnimation(Pick_Settings[c.miningAxe][3]); - c.getPacketSender().sendSound(432, 100, 0); - } else { - container.stop(); - } - } + // return a random ore from the possibilities + return oreIds[(int) Math.floor(Math.random() * oreIds.length)]; + } + } - @Override - public void stop() { - c.startAnimation(65535); - c.isMining = false; - } - }, 3); - } - - public void startMining(final Player player, final int objectID, final int objectX, final int objectY, final int type) { - CycleEventHandler.getSingleton().stopEvents(player, "miningEvent".hashCode()); - if (player.isMining || player.miningRock) - return; - int miningLevel = player.playerLevel[GameConstants.MINING]; - rockData rock = rockData.getRock(objectID); - player.miningAxe = -1; - player.turnPlayerTo(objectX, objectY); - // check if the player has required level for this rock - if (rock.getRequiredLevel() > miningLevel) { - player.getPacketSender().sendMessage("You need a Mining level of " + rock.getRequiredLevel() + " to mine this rock."); - return; - } - // check id the player has a pickaxe they can use on them - for (int i = 0; i < Pick_Settings.length; i++) { - if (player.getItemAssistant().playerHasItem(Pick_Settings[i][0]) || player.playerEquipment[player.playerWeapon] == Pick_Settings[i][0]) { - if (Pick_Settings[i][1] <= miningLevel) { - player.miningAxe = i; - } - } - } - if (player.miningAxe == -1) { - player.getPacketSender().sendMessage("You need a pickaxe to mine this rock."); - return; - } - if (player.getItemAssistant().freeSlots() < 1) { - player.getPacketSender().sendMessage("You do not have enough inventory slots to do that."); - return; - } + public void repeatAnimation(final Player c) { + CycleEventHandler.getSingleton().addEvent(c, new CycleEvent() { + @Override + public void execute(CycleEventContainer container) { + if (c.isMining) { + c.startAnimation(Pick_Settings[c.miningAxe][3]); + c.getPacketSender().sendSound(432, 100, 0); + } else { + container.stop(); + } + } - player.startAnimation(Pick_Settings[player.miningAxe][3]); - player.getPacketSender().sendSound(432, 100, 0); - player.isMining = true; - repeatAnimation(player); - player.rockX = objectX; - player.rockY = objectY; - player.miningRock = true; + @Override + public void stop() { + c.startAnimation(65535); + c.isMining = false; + } + }, 3); + } - // Tutorial only stuff - if (player.tutorialProgress == 17 || player.tutorialProgress == 18) { - player.getPacketSender().chatbox(6180); - player.getDialogueHandler().chatboxText("", "Your character is now attempting to mine the rock.", "This should only take a few seconds.", "", "Please wait"); - player.getPacketSender().chatbox(6179); - } else { - player.getPacketSender().sendMessage("You swing your pick at the rock."); - } + public void startMining(final Player player, final int objectID, final int objectX, final int objectY, final int type) { + CycleEventHandler.getSingleton().stopEvents(player, "miningEvent".hashCode()); + if (player.isMining || player.miningRock) + return; + int miningLevel = player.playerLevel[GameConstants.MINING]; + rockData rock = rockData.getRock(objectID); + player.miningAxe = -1; + player.turnPlayerTo(objectX, objectY); + // check if the player has required level for this rock + if (rock.getRequiredLevel() > miningLevel) { + player.getPacketSender().sendMessage("You need a Mining level of " + rock.getRequiredLevel() + " to mine this rock."); + return; + } + // check id the player has a pickaxe they can use on them + for (int i = 0; i < Pick_Settings.length; i++) { + if (player.getItemAssistant().playerHasItem(Pick_Settings[i][0]) || player.playerEquipment[player.playerWeapon] == Pick_Settings[i][0]) { + if (Pick_Settings[i][1] <= miningLevel) { + player.miningAxe = i; + } + } + } + if (player.miningAxe == -1) { + player.getPacketSender().sendMessage("You need a pickaxe to mine this rock."); + return; + } + if (player.getItemAssistant().freeSlots() < 1) { + player.getPacketSender().sendMessage("You do not have enough inventory slots to do that."); + return; + } - CycleEventHandler.getSingleton().addEvent("miningEvent".hashCode(), player, new CycleEvent() { - @Override - public void execute(CycleEventContainer container) { - int oreID = rock.getOre(miningLevel); - if (!player.isMining) { - container.stop(); - player.startAnimation(65535); - return; - } - if (player.isMining) { - if (!giveGem(player)) { - player.getItemAssistant().addItem(oreID, 1); - player.getPlayerAssistant().addSkillXP(rock.getXp(), GameConstants.MINING); - player.getPacketSender().sendMessage("You manage to mine some " + ItemAssistant.getItemName(oreID).toLowerCase() + "."); - } else { - obtainGem(player); - } - } - if (player.tutorialProgress == 17) { - if (rock != rockData.TIN) { - player.getDialogueHandler().sendStatement("You should mine tin first."); - resetMining(player); - return; - } - if (player.getItemAssistant().playerHasItem(438)) { - player.getPacketSender().createArrow(3086, 9501, player.getH(), 2); - player.getDialogueHandler().chatboxText("Now you have some tin ore you must need some copper ore, then", "you'll have all you need to create a bronze bar. As you did before", "riger click on the copper rock and select 'mine'.", "", "Mining"); - player.tutorialProgress = 18; - } - } else if (player.tutorialProgress == 18) { - if (rock != rockData.COPPER) { - player.getDialogueHandler().sendStatement("You have already mined this type of ore, now try the other."); - resetMining(player); - return; - } - if (player.getItemAssistant().playerHasItem(436)) { - player.getPacketSender().createArrow(3078, 9495, 0, 2); - player.getDialogueHandler().sendDialogues(3061, -1); - } - } - if (player.getItemAssistant().freeSlots() < 1) { - player.getPacketSender().sendMessage("You have ran out of inventory slots."); - container.stop(); - } - mineRock(rock.getRespawnTimer(), objectX, objectY, type, objectID); - container.stop(); - if (rock == rockData.ESSENCE) { - startMining(player, objectID, objectX, objectY, type); - } - } - @Override - public void stop() { - player.getPacketSender().closeAllWindows(); - player.startAnimation(65535); - player.isMining = false; - player.rockX = 0; - player.rockY = 0; - player.miningRock = false; - return; - } - }, getTimer(rock, player.miningAxe, miningLevel)); - } - - public static void resetMining(Player player) { - player.getPacketSender().closeAllWindows(); - player.startAnimation(65535); - player.isMining = false; - player.rockX = 0; - player.rockY = 0; - player.miningRock = false; - } + player.startAnimation(Pick_Settings[player.miningAxe][3]); + player.getPacketSender().sendSound(432, 100, 0); + player.isMining = true; + repeatAnimation(player); + player.rockX = objectX; + player.rockY = objectY; + player.miningRock = true; - public int getTimer(rockData rock, int pick, int level) { - double timer = (int)((rock.getRequiredLevel() * 2) + 20 + Misc.random(20))-((Pick_Settings[pick][2] * (Pick_Settings[pick][2] * 0.75)) + level); - if (timer < 2.0) { - return 2; - } else { - return (int)timer; - } - } + // Tutorial only stuff + if (player.tutorialProgress == 17 || player.tutorialProgress == 18) { + player.getPacketSender().chatbox(6180); + player.getDialogueHandler().chatboxText("", "Your character is now attempting to mine the rock.", "This should only take a few seconds.", "", "Please wait"); + player.getPacketSender().chatbox(6179); + } else { + player.getPacketSender().sendMessage("You swing your pick at the rock."); + } - public void mineRock(int respawnTime, int x, int y, int type, int i) { - if (i != 2491) { - new Object(452, x, y, 0, type, 10, i, respawnTime); - Region.addObject(452, x, y, 0, 10, type, false); + CycleEventHandler.getSingleton().addEvent("miningEvent".hashCode(), player, new CycleEvent() { + @Override + public void execute(CycleEventContainer container) { + int oreID = rock.getOre(miningLevel); + if (!player.isMining) { + container.stop(); + player.startAnimation(65535); + return; + } + if (player.isMining) { + if (!giveGem(player)) { + player.getItemAssistant().addItem(oreID, 1); + player.getPlayerAssistant().addSkillXP(rock.getXp(), GameConstants.MINING); + player.getPacketSender().sendMessage("You manage to mine some " + ItemAssistant.getItemName(oreID).toLowerCase() + "."); + } else { + obtainGem(player); + } + } + if (player.tutorialProgress == 17) { + if (rock != rockData.TIN) { + player.getDialogueHandler().sendStatement("You should mine tin first."); + resetMining(player); + return; + } + if (player.getItemAssistant().playerHasItem(StaticItemList.TIN_ORE)) { + player.getPacketSender().createArrow(3086, 9501, player.getH(), 2); + player.getDialogueHandler().chatboxText("Now you have some tin ore you must need some copper ore, then", "you'll have all you need to create a bronze bar. As you did before", "right click on the copper rock and select 'mine'.", "", "Mining"); + player.tutorialProgress = 18; + } + } else if (player.tutorialProgress == 18) { + if (rock != rockData.COPPER) { + player.getDialogueHandler().sendStatement("You have already mined this type of ore, now try the other."); + resetMining(player); + return; + } + if (player.getItemAssistant().playerHasItem(StaticItemList.COPPER_ORE)) { + player.getPacketSender().createArrow(3078, 9495, 0, 2); + player.getDialogueHandler().sendDialogues(3061, -1); + } + } + if (player.getItemAssistant().freeSlots() < 1) { + player.getPacketSender().sendMessage("You have ran out of inventory slots."); + container.stop(); + } + mineRock(rock.getRespawnTimer(), objectX, objectY, type, objectID); + container.stop(); + if (rock == rockData.ESSENCE) { + startMining(player, objectID, objectX, objectY, type); + } + } - for (int t = 0; t < PlayerHandler.players.length; t++) { - if (PlayerHandler.players[t] != null) { - if (PlayerHandler.players[t].rockX == x && PlayerHandler.players[t].rockY == y) { - PlayerHandler.players[t].isMining = false; - PlayerHandler.players[t].startAnimation(65535); - PlayerHandler.players[t].rockX = 0; - PlayerHandler.players[t].rockY = 0; - } - } - } - } - } - - public static void prospectRock(final Player player, final String itemName) { - if (player.tutorialProgress == 15 || player.tutorialProgress == 16) { - player.getPacketSender().closeAllWindows(); - player.getPacketSender().chatbox(6180); - player.getDialogueHandler() - .chatboxText( - "Please wait.", - "Your character is now attempting to prospect the rock. This should", - "only take a few seconds.", "", ""); - player.getPacketSender().chatbox(6179); - CycleEventHandler.getSingleton().addEvent(player, new CycleEvent() { - @Override - public void execute(CycleEventContainer container) { - if (player.tutorialProgress == 15) { - player.getPacketSender().sendMessage("This rock contains " + itemName.toLowerCase() + "."); - player.getPacketSender().chatbox(6180); - player.getDialogueHandler() - .chatboxText( - "", - "So now you know there's tin in the grey rocks. Try prospecting", - "the brown ones next.", "", - "It's tin"); - player.getPacketSender().createArrow(3086, 9501, - player.getH(), 2); - player.getPacketSender().chatbox(6179); - player.tutorialProgress = 16; - container.stop(); - return; - } else if (player.tutorialProgress == 16) { - player.getPacketSender().sendMessage("This rock contains " + itemName.toLowerCase() + "."); - player.getPacketSender().chatbox(6180); - player.getDialogueHandler() - .chatboxText( - "Talk to the Mining Instructor to find out about these types of", - "ore and how you can mine them. He'll even give you the", - "required tools.", "", - "It's copper"); - player.getPacketSender().createArrow(1, 5); - player.getPacketSender().chatbox(6179); - container.stop(); - return; - } - player.getPacketSender().sendMessage("This rock contains " + itemName.toLowerCase() + "."); - container.stop(); - } + @Override + public void stop() { + player.getPacketSender().closeAllWindows(); + player.startAnimation(65535); + player.isMining = false; + player.rockX = 0; + player.rockY = 0; + player.miningRock = false; + return; + } + }, getTimer(rock, player.miningAxe, miningLevel)); + } - @Override - public void stop() { - - } + public static void resetMining(Player player) { + player.getPacketSender().closeAllWindows(); + player.startAnimation(65535); + player.isMining = false; + player.rockX = 0; + player.rockY = 0; + player.miningRock = false; + } - }, 3); - return; - } - player.getPacketSender().sendMessage("You examine the rock for ores..."); - CycleEventHandler.getSingleton().addEvent(player, new CycleEvent() { - @Override - public void execute(CycleEventContainer container) { - player.getPacketSender().sendMessage("This rock contains " + itemName + "."); - container.stop(); - } - @Override - public void stop() { - - } - }, 3); - } + public int getTimer(rockData rock, int pick, int level) { + double timer = (int) ((rock.getRequiredLevel() * 2) + 20 + Misc.random(20)) - ((Pick_Settings[pick][2] * (Pick_Settings[pick][2] * 0.75)) + level); + if (timer < 2.0) { + return 2; + } else { + return (int) timer; + } + } - public static void prospectNothing(final Player c) { - c.getPacketSender().sendMessage("You examine the rock for ores..."); - CycleEventHandler.getSingleton().addEvent(c, new CycleEvent() { - @Override - public void execute(CycleEventContainer container) { - c.getPacketSender().sendMessage("There is no ore left in this rock."); - container.stop(); - } - @Override - public void stop() { - - } - }, 2); - } + public void mineRock(int respawnTime, int x, int y, int type, int i) { + if (i != StaticObjectList.RUNE_ESSENCE) { + new Object(StaticObjectList.ROCKS_452, x, y, 0, type, 10, i, respawnTime); + Region.addObject(StaticObjectList.ROCKS_452, x, y, 0, 10, type, false); - public static boolean rockExists(int rockID) { - for (final rockData rock : rockData.values()) { - if (rockID == rock.getObject(rockID)) { - return true; - } - } - return false; - } + for (int t = 0; t < PlayerHandler.players.length; t++) { + if (PlayerHandler.players[t] != null) { + if (PlayerHandler.players[t].rockX == x && PlayerHandler.players[t].rockY == y) { + PlayerHandler.players[t].isMining = false; + PlayerHandler.players[t].startAnimation(65535); + PlayerHandler.players[t].rockX = 0; + PlayerHandler.players[t].rockY = 0; + } + } + } + } + } + + public static void prospectRock(final Player player, final String itemName) { + if (player.tutorialProgress == 15 || player.tutorialProgress == 16) { + player.getPacketSender().closeAllWindows(); + player.getPacketSender().chatbox(6180); + player.getDialogueHandler() + .chatboxText( + "Please wait.", + "Your character is now attempting to prospect the rock. This should", + "only take a few seconds.", "", ""); + player.getPacketSender().chatbox(6179); + CycleEventHandler.getSingleton().addEvent(player, new CycleEvent() { + @Override + public void execute(CycleEventContainer container) { + if (player.tutorialProgress == 15) { + player.getPacketSender().sendMessage("This rock contains " + itemName.toLowerCase() + "."); + player.getPacketSender().chatbox(6180); + player.getDialogueHandler() + .chatboxText( + "", + "So now you know there's tin in the grey rocks. Try prospecting", + "the brown ones next.", "", + "It's tin"); + player.getPacketSender().createArrow(3086, 9501, + player.getH(), 2); + player.getPacketSender().chatbox(6179); + player.tutorialProgress = 16; + container.stop(); + return; + } else if (player.tutorialProgress == 16) { + player.getPacketSender().sendMessage("This rock contains " + itemName.toLowerCase() + "."); + player.getPacketSender().chatbox(6180); + player.getDialogueHandler() + .chatboxText( + "Talk to the Mining Instructor to find out about these types of", + "ore and how you can mine them. He'll even give you the", + "required tools.", "", + "It's copper"); + player.getPacketSender().createArrow(1, 5); + player.getPacketSender().chatbox(6179); + container.stop(); + return; + } + player.getPacketSender().sendMessage("This rock contains " + itemName.toLowerCase() + "."); + container.stop(); + } + + @Override + public void stop() { + + } + + }, 3); + return; + } + player.getPacketSender().sendMessage("You examine the rock for ores..."); + CycleEventHandler.getSingleton().addEvent(player, new CycleEvent() { + @Override + public void execute(CycleEventContainer container) { + player.getPacketSender().sendMessage("This rock contains " + itemName + "."); + container.stop(); + } + + @Override + public void stop() { + + } + }, 3); + } + + public static void prospectNothing(final Player c) { + c.getPacketSender().sendMessage("You examine the rock for ores..."); + CycleEventHandler.getSingleton().addEvent(c, new CycleEvent() { + @Override + public void execute(CycleEventContainer container) { + c.getPacketSender().sendMessage("There is no ore left in this rock."); + container.stop(); + } + + @Override + public void stop() { + + } + }, 2); + } + + public static boolean rockExists(int rockID) { + for (final rockData rock : rockData.values()) { + if (rockID == rock.getObject(rockID)) { + return true; + } + } + return false; + } } diff --git a/2006Scape Server/src/main/java/com/rs2/game/items/impl/Dye.java b/2006Scape Server/src/main/java/com/rs2/game/items/impl/Dye.java index 26b119d6..5d7b69de 100644 --- a/2006Scape Server/src/main/java/com/rs2/game/items/impl/Dye.java +++ b/2006Scape Server/src/main/java/com/rs2/game/items/impl/Dye.java @@ -1,77 +1,80 @@ package com.rs2.game.items.impl; -import com.rs2.game.items.ItemData; import com.rs2.GameConstants; import com.rs2.game.items.ItemAssistant; +import com.rs2.game.items.ItemData; import com.rs2.game.players.Player; +import static com.rs2.game.content.StaticItemList.*; + /** * Dye.java + * * @author Andrew (Mr Extremez) */ - + public enum Dye { - - RED_CAPE(1763, 1007), - BLUE_CAPE(1767, 1021), - GREEN_CAPE(1771, 1027), - PINK_CAPE(6955, 6959), - ORANGE_CAPE(1769, 1031), - YELLOW_CAPE(1765, 1023), - PURPLE_CAPE(1773, 1029); - - int reward, itemUsed; - - private Dye(int itemUsed, int reward) { - this.itemUsed = itemUsed; - this.reward = reward; - } - - private int getItemUsed() { - return itemUsed; - } - - private int getReward() { - return reward; - } - - //blue+yellow =green - //red+blue = purple - - public static final int[][] MAIL_DATA = { - {1769, 288, 286}, - {1769, 287, 286}, - {1767, 288, 287}, - {1767, 286, 287}, - {1767, 1765, 1771}, - {1763, 1767, 1773} - }; - - public static boolean blockDye(Player player, Dye dye, int itemUsed, int useWith) { - if (itemUsed == dye.getItemUsed() && ItemAssistant.getItemName(useWith).equalsIgnoreCase("Cape") && ItemData.itemIsNote[useWith]) { - player.getPacketSender().sendMessage("You can't dye a noted cape."); - return true; - } else if (itemUsed == dye.getItemUsed() && ItemAssistant.getItemName(useWith).equalsIgnoreCase("Cape") && useWith == dye.getReward() && !ItemData.itemIsNote[useWith]) { - player.getPacketSender().sendMessage("That cape is already that color."); - return true; - } else if (itemUsed == dye.getItemUsed() && !ItemAssistant.getItemName(useWith).equalsIgnoreCase("Cape")) { - return true; - } - return false; - } - - public static void dyeItem(Player player, int itemUsed, int useWith) { - for (Dye cape: Dye.values()) { - if (blockDye(player, cape, itemUsed, useWith)) { - return; - } - if (itemUsed == cape.getItemUsed() && ItemAssistant.getItemName(useWith).equalsIgnoreCase("Cape") && !ItemData.itemIsNote[useWith] && useWith != cape.getReward()) { - player.getItemAssistant().deleteItem(itemUsed, 1); - player.getItemAssistant().deleteItem(useWith, 1); - player.getItemAssistant().addItem(cape.getReward(), 1); - player.getPlayerAssistant().addSkillXP(2.5, GameConstants.CRAFTING); - } - } - } + + RED_CAPE(RED_DYE, CAPE), + BLUE_CAPE(BLUE_DYE, CAPE_1021), + GREEN_CAPE(GREEN_DYE, CAPE_1027), + PINK_CAPE(PINK_DYE, CAPE_6959), + ORANGE_CAPE(ORANGE_DYE, CAPE_1031), + YELLOW_CAPE(YELLOW_DYE, CAPE_1023), + PURPLE_CAPE(PURPLE_DYE, CAPE_1029); + + int reward, itemUsed; + + private Dye(int itemUsed, int reward) { + this.itemUsed = itemUsed; + this.reward = reward; + } + + private int getItemUsed() { + return itemUsed; + } + + private int getReward() { + return reward; + } + + //blue+yellow =green + //red+blue = purple + + public static final int[][] MAIL_DATA = { + {ORANGE_DYE, GOBLIN_MAIL, ORANGE_GOBLIN_MAIL}, + {ORANGE_DYE, BLUE_GOBLIN_MAIL, ORANGE_GOBLIN_MAIL}, + {BLUE_DYE, GOBLIN_MAIL, BLUE_GOBLIN_MAIL}, + {BLUE_DYE, ORANGE_GOBLIN_MAIL, BLUE_GOBLIN_MAIL}, + {BLUE_DYE, YELLOW_DYE, GREEN_DYE}, + {RED_DYE, BLUE_DYE, PURPLE_DYE} + }; + + public static boolean blockDye(Player player, Dye dye, int itemUsed, int useWith) { + if (itemUsed == dye.getItemUsed() && ItemAssistant.getItemName(useWith).equalsIgnoreCase("Cape") && ItemData.itemIsNote[useWith]) { + player.getPacketSender().sendMessage("You can't dye a noted cape."); + return true; + } else if (itemUsed == dye.getItemUsed() && ItemAssistant.getItemName(useWith).equalsIgnoreCase("Cape") && useWith == dye.getReward() && !ItemData.itemIsNote[useWith]) { + player.getPacketSender().sendMessage("That cape is already that color."); + return true; + } else if (itemUsed == dye.getItemUsed() && !ItemAssistant.getItemName(useWith).equalsIgnoreCase("Cape")) { + return true; + } + return false; + } + + public static void dyeItem(Player player, int itemUsed, int useWith) { + for (Dye cape : Dye.values()) { + if (blockDye(player, cape, itemUsed, useWith)) { + return; + } + if (itemUsed == cape.getItemUsed() && ItemAssistant.getItemName(useWith).equalsIgnoreCase("Cape") && !ItemData.itemIsNote[useWith] && useWith != cape.getReward()) { + player.getItemAssistant().deleteItem(itemUsed, 1); + player.getItemAssistant().deleteItem(useWith, 1); + player.getItemAssistant().addItem(cape.getReward(), 1); + player.getPlayerAssistant().addSkillXP(2.5, GameConstants.CRAFTING); + } + } + } } \ No newline at end of file diff --git a/2006Scape Server/src/main/java/com/rs2/game/npcs/NpcActions.java b/2006Scape Server/src/main/java/com/rs2/game/npcs/NpcActions.java index 5ad15959..3562b903 100644 --- a/2006Scape Server/src/main/java/com/rs2/game/npcs/NpcActions.java +++ b/2006Scape Server/src/main/java/com/rs2/game/npcs/NpcActions.java @@ -1,11 +1,10 @@ package com.rs2.game.npcs; import com.rs2.GameConstants; -import com.rs2.game.content.minigames.magetrainingarena.MageTrainingArena; +import com.rs2.game.content.StaticNpcList; import com.rs2.game.content.quests.QuestAssistant; import com.rs2.game.content.skills.core.Fishing; import com.rs2.game.content.skills.crafting.Tanning; -import com.rs2.game.content.skills.thieving.Pickpocket; import com.rs2.game.content.traveling.Sailing; import com.rs2.game.npcs.impl.Pets; import com.rs2.game.players.Player; @@ -14,1258 +13,1135 @@ import com.rs2.game.shops.ShopAssistant; import com.rs2.game.shops.Shops; import com.rs2.util.Misc; +import static com.rs2.game.content.StaticNpcList.*; + public class NpcActions { - private final Player player; + private final Player player; - public NpcActions(Player player2) { - player = player2; - } + public NpcActions(Player player2) { + player = player2; + } - public void firstClickNpc(int npcType) { - player.clickNpcType = 0; - player.rememberNpcIndex = player.npcClickIndex; - player.npcClickIndex = 0; - Shops.dialogueShop(player, npcType); - if (Fishing.fishingNPC(player, npcType)) { - Fishing.fishingNPC(player, 1, npcType); - } - if (Pets.isCat(npcType)) { - if (NpcHandler.npcs[player.rememberNpcIndex].spawnedBy == player.playerId) { - player.getSummon().pickUpPet(player, player.summonId); - player.hasNpc = false; - player.summonId = -1; - } else { - player.getPacketSender().sendMessage("This is not your pet."); - } - } - switch (npcType) { - case 389 : //thormac - player.getDialogueHandler().sendDialogues(3574, npcType); - break; - case 1686 : // Ghost Desciple - player.getDialogueHandler().sendDialogues(1390, npcType); - break; - case 1704 : // Ghost Captain - case 1705 : // Ghost Captain - player.getDialogueHandler().sendDialogues(1400, npcType); - break; - - case 2324 : - case 2323 : - case 2326 : - case 2325 : - case 2337 : - case 2336 : - case 2335 : - case 2338 : - case 2334 : - case 2332 : - case 2333 : - case 2327 : - case 2343 : - case 2331 : - case 2344 : - case 2330 : - case 2340 : - case 2339 : - case 2341 : - case 2342 : - player.getDialogueHandler().sendDialogues(3530, npcType); - break; - case 209: - player.getDialogueHandler().sendDialogues(3500, 209); - break; - - case 2238: - player.getDialogueHandler().sendDialogues(3214, npcType); - break; - - case 3156 : // Bill Teach - case 3157 : // Bill Teach - player.getDialogueHandler().sendDialogues(1410, npcType); - break; - - case 958: - player.getDialogueHandler().sendDialogues(3208, npcType); - break; - - case 606://squire - if (player.knightS == 0) { - player.getDialogueHandler().sendDialogues(610, 606); - } else if (player.knightS == 4) { - player.getDialogueHandler().sendDialogues(654, 606); - } else if (player.knightS == 8) { - player.getDialogueHandler().sendDialogues(682, 606); - } - break; - case 647://reldo - if (player.knightS == 1) { - player.getDialogueHandler().sendDialogues(626, 647); - } - else if (player.shieldArrav == 0) { - player.getDialogueHandler().sendDialogues(690, 647); + public void firstClickNpc(int npcType) { + player.clickNpcType = 0; + player.rememberNpcIndex = player.npcClickIndex; + player.npcClickIndex = 0; + Shops.dialogueShop(player, npcType); + if (Fishing.fishingNPC(player, npcType)) { + Fishing.fishingNPC(player, 1, npcType); } - else if (player.shieldArrav == 1) { - player.getDialogueHandler().sendDialogues(694, 647); + if (Pets.isCat(npcType)) { + if (NpcHandler.npcs[player.rememberNpcIndex].spawnedBy == player.playerId) { + player.getSummon().pickUpPet(player, player.summonId); + player.hasNpc = false; + player.summonId = -1; + } else { + player.getPacketSender().sendMessage("This is not your pet."); + } } - else if (player.shieldArrav == 2) { - player.getDialogueHandler().sendDialogues(697, 647); + switch (npcType) { + case THORMAC: + player.getDialogueHandler().sendDialogues(3574, npcType); + break; + case GHOST_DISCIPLE: + player.getDialogueHandler().sendDialogues(1390, npcType); + break; + case GHOST_CAPTAIN: + case GHOST_CAPTAIN_1705: + player.getDialogueHandler().sendDialogues(1400, npcType); + break; + case ELSTAN: + case DANTAERA: + case KRAGEN: + case LYRA: + case FRANCIS: + case GARTH: + case ELLENA: + case SELENA: + case VASQUEN: + case RHONEN: + case DREVEN: + case TARIA: + case RHAZIEN: + case TORRELL: + case ALAIN: + case HESKEL: + case TREZNOR: + case FAYETH: + case BOLONGO: + case GILETH: + player.getDialogueHandler().sendDialogues(3530, npcType); + break; + case NULODION: + player.getDialogueHandler().sendDialogues(3500, StaticNpcList.NULODION); + break; + case DONIE: + player.getDialogueHandler().sendDialogues(3214, npcType); + break; + case BILL_TEACH_3156: + case BILL_TEACH_3157: + player.getDialogueHandler().sendDialogues(1410, npcType); + break; + case FADLI: + player.getDialogueHandler().sendDialogues(3208, npcType); + break; + case SQUIRE: + if (player.knightS == 0) { + player.getDialogueHandler().sendDialogues(610, 606); + } else if (player.knightS == 4) { + player.getDialogueHandler().sendDialogues(654, 606); + } else if (player.knightS == 8) { + player.getDialogueHandler().sendDialogues(682, 606); + } + break; + case 647://TODO reldo + if (player.knightS == 1) { + player.getDialogueHandler().sendDialogues(626, 647); + } else if (player.shieldArrav == 0) { + player.getDialogueHandler().sendDialogues(690, 647); + } else if (player.shieldArrav == 1) { + player.getDialogueHandler().sendDialogues(694, 647); + } else if (player.shieldArrav == 2) { + player.getDialogueHandler().sendDialogues(697, 647); + } + break; + case StaticNpcList.THURGO: + if (player.knightS == 2) { + player.getDialogueHandler().sendDialogues(640, 604); + } else if (player.knightS == 3) { + player.getDialogueHandler().sendDialogues(648, 604); + } else if (player.knightS == 6) { + player.getDialogueHandler().sendDialogues(660, 604); + } else if (player.knightS == 7) { + player.getDialogueHandler().sendDialogues(669, 604); + } else if (player.knightS == 8) { + player.getDialogueHandler().sendDialogues(674, 604); + } + break; + case COMPETITION_JUDGE: + player.getDialogueHandler().sendDialogues(3201, npcType); + break; + case TICKET_MERCHANT: + player.getShopAssistant().openShop(111); + break; + case CANDLE_SELLER: + player.getDialogueHandler().sendDialogues(1378, npcType); + break; + case EASTER_BUNNY: + if (player.easterEvent == 0) + player.getDialogueHandler().sendDialogues(6000, npcType); + else if (player.easterEvent == 1) { + int easter1 = player.getInventory().getItemAmount(7928); + int easter2 = player.getInventory().getItemAmount(7929); + int easter3 = player.getInventory().getItemAmount(7930); + int easter4 = (easter1 + easter2 + easter3); + if (easter4 >= 3) + player.getDialogueHandler().sendDialogues(6017, npcType); + else { + player.getDialogueHandler().sendDialogues(6014, npcType); + } + } else { + player.getDialogueHandler().sendDialogues(6022, npcType); + } + break; + case VALAINE: + case SCAVVO: + int requiredQP = Math.min(32, QuestAssistant.MAXIMUM_QUESTPOINTS); + if (player.questPoints >= requiredQP) { + player.getDialogueHandler().sendDialogues(1373, npcType); + } else { + player.getPacketSender().sendMessage( + "You need " + requiredQP + " quest points to open this shop."); + } + break; + case BARAEK: + if (player.shieldArrav == 3) { + player.getDialogueHandler().sendDialogues(701, npcType); + } + break; + case MAKEOVER_MAGE: + player.getDialogueHandler().sendDialogues(1369, npcType); + break; + case ARCHER_649: + player.getDialogueHandler().sendDialogues(3840, npcType); + break; + case WARRIOR: + player.getDialogueHandler().sendDialogues(3578, npcType); + break; + case MONK_651: + player.getDialogueHandler().sendDialogues(3840, npcType); + break; + case WIZARD_652: + player.getDialogueHandler().sendDialogues(3840, npcType); + break; + case SHAMUS: + player.getDialogueHandler().sendDialogues(3848, npcType); + break; + case STRAVEN: + if (player.shieldArrav <= 4) { + player.getDialogueHandler().sendDialogues(711, npcType); + } else if (player.shieldArrav == 5) { + player.getDialogueHandler().sendDialogues(730, npcType); + } else if (player.shieldArrav > 5) { + player.getDialogueHandler().sendDialogues(741, npcType); + } + break; + case CURATOR: //Curator Haig Halen + player.getDialogueHandler().sendDialogues(745, npcType); + break; + case KING_ROALD: + if (player.shieldArrav == 7 && player.getItemAssistant().playerHasItem(769)) + player.getDialogueHandler().sendDialogues(756, npcType); + break; + case MAN_663: + player.getDialogueHandler().sendDialogues(3189, npcType); + break; + case BROTHER_JERED: + player.getDialogueHandler().sendDialogues(1358, npcType); + break; + case DWARVEN_BOATMAN_2205: + player.getDialogueHandler().sendDialogues(1353, npcType); + break; + case KATHY_CORKAT: + player.getDialogueHandler().sendDialogues(1349, npcType); + break; + case MARTIN_THWAIT: + if (player.playerLevel[GameConstants.THIEVING] > 98) { + player.getShopAssistant().openShop(118); + } else if (player.playerLevel[GameConstants.THIEVING] > 49 + && player.playerLevel[GameConstants.AGILITY] > 49) { + player.getShopAssistant().openShop(118); + } else { + player.getPacketSender().sendMessage( + "You don't have the required skills to open this shop"); + } + break; + case TENZING: + player.getDialogueHandler().sendDialogues(1345, npcType); + break; + case CALEB: + player.getDialogueHandler().sendDialogues(3183, npcType); + break; + case HAJEDY: + if (player.absY > 3209 && player.absY < 3215) { + player.getDialogueHandler().sendDialogues(3173, npcType); + } else { + player.getDialogueHandler().sendDialogues(3178, npcType); + } + break; + case ROAVAR: + player.getDialogueHandler().sendDialogues(3167, npcType); + break; + case BARTENDER_735: + player.getDialogueHandler().sendDialogues(3167, npcType); + break; + case WYSON_THE_GARDENER: + player.getDialogueHandler().sendDialogues(3158, npcType); + break; + case WIZARD_CROMPERTY: + if (player.runeMist < 4 && player.playerRights <= 1) { + player.getDialogueHandler().sendStatement("You need to beat rune mysteries first to do this."); + player.nextChat = 0; + return; + } + player.getDialogueHandler().sendDialogues(3144, npcType); + break; + case VELRAK_THE_EXPLORER: + player.getDialogueHandler().sendDialogues(3133, npcType); + break; + case EMILY: + case KAYLEE: + case TINA: + player.getDialogueHandler().sendDialogues(3118, npcType); + break; + + /* + * tutorial island + */ + case RUNESCAPE_GUIDE: + if (player.tutorialProgress == 0) { + player.getDialogueHandler().sendDialogues(3001, npcType); + } + if (player.tutorialProgress == 1) { + player.getDialogueHandler().sendDialogues(3008, npcType); + } + if (player.tutorialProgress == 2) { + player.getDialogueHandler().sendNpcChat1("You should move on now.", npcType, "Runescape Guide"); + } + break; + case SURVIVAL_EXPERT: + if (player.tutorialProgress == 2) { + player.getDialogueHandler().sendDialogues(3012, npcType); + } + if (player.tutorialProgress == 5) { + player.getDialogueHandler().sendDialogues(3017, npcType); + } + break; + case MASTER_CHEF: + if (player.tutorialProgress == 7) { + player.getDialogueHandler().sendDialogues(3021, npcType); + } + break; + case QUEST_GUIDE: + if (player.tutorialProgress == 12) { + player.getDialogueHandler().sendDialogues(3043, npcType); + } + if (player.tutorialProgress == 13) { + player.getDialogueHandler().sendDialogues(3045, npcType); + } + break; + case MINING_INSTRUCTOR: + if (player.tutorialProgress == 14) { + player.getDialogueHandler().sendDialogues(3052, npcType); + } + if (player.tutorialProgress == 16) { + player.getDialogueHandler().sendDialogues(3056, npcType); + } + if (player.tutorialProgress == 20) { + player.getDialogueHandler().sendDialogues(3063, npcType); + } + break; + case COMBAT_INSTRUCTOR: + if (player.tutorialProgress == 21) { + player.getDialogueHandler().sendDialogues(3067, npcType); + } else if (player.tutorialProgress == 23 + && !player.getItemAssistant().playerHasItem(1171) + && !player.getItemAssistant().playerHasItem(1277)) { + player.getDialogueHandler().sendDialogues(3072, npcType); + } else if (player.getItemAssistant().playerHasItem(1171) + && player.getItemAssistant().playerHasItem(1277) && player.tutorialProgress == 23) { + player.getPacketSender().sendMessage( + "I already gave you a sword and shield."); + player.nextChat = 0; + player.getDialogueHandler() + .chatboxText( + "In your worn inventory panel, right click on the dagger and", + "select the remove option from the drop down list. After you've", + "unequipped the dagger, wield the sword and shield. As you", + "pass the mouse over an item you will see its name.", + "Unequipping items"); + PlayerAssistant.removeHintIcon(player); + } else if (player.tutorialProgress == 25) { + player.getDialogueHandler().sendDialogues(3074, npcType); + } + break; + case FINANCIAL_ADVISOR: + if (player.tutorialProgress == 27) { + player.getDialogueHandler().sendDialogues(3079, npcType); + } + // c.getPacketDispatcher().createArrow(1, 7); + break; + case BROTHER_BRACE: + if (player.tutorialProgress == 28) { + player.getDialogueHandler().sendDialogues(3089, npcType); + } + if (player.tutorialProgress == 29) { + player.getDialogueHandler().sendDialogues(3092, npcType); + } + if (player.tutorialProgress == 31) { + player.getDialogueHandler().sendDialogues(3097, npcType); + } + break; + case MAGIC_INSTRUCTOR: + if (player.tutorialProgress == 32) { + player.getDialogueHandler().sendDialogues(3105, npcType); + } + if (player.tutorialProgress == 33) { + player.getDialogueHandler().sendDialogues(3108, npcType); + } + if (player.tutorialProgress == 34) { + player.getDialogueHandler().sendDialogues(3110, npcType); + } + if (player.tutorialProgress == 35) { + player.getDialogueHandler().sendDialogues(3112, npcType); + } + break; + case AGGIE: + player.getDialogueHandler().sendDialogues(1312, npcType); + break; + case MASTER_CRAFTER: + player.getDialogueHandler().sendDialogues(1317, npcType); + break; + case BOB: + player.getDialogueHandler().sendDialogues(15, npcType); // barrows fix + // barrows + break; + case HAIRDRESSER: + player.getDialogueHandler().sendDialogues(1300, npcType); + break; + case HIGH_PRIEST: + player.getDialogueHandler().sendDialogues(3867, npcType); + break; + case TURAEL: + case MAZCHNA: + case VANNAKA: + case CHAELDAR: + case DURADEL: + player.getDialogueHandler().sendDialogues(1228, npcType); + player.SlayerMaster = npcType; + break; + case SANIBOCH: + player.getDialogueHandler().sendDialogues(1036, npcType); + break; + case GNOME_PILOT: + player.getDialogueHandler().sendDialogues(591, npcType); + break; + case BORDER_GUARD: + case BORDER_GUARD_926: + player.getDialogueHandler().sendDialogues(1018, npcType); + break; + case MONK_OF_ENTRANA_2728: + case MONK_OF_ENTRANA_2729: + player.getDialogueHandler().sendDialogues(1011, npcType); + break; + case CAPTAIN_TOBIAS: + case SEAMAN_LORRIS: + case SEAMAN_THRESNOR: + if (player.getItemAssistant().playerHasItem(995, 30)) { + player.getDialogueHandler().sendDialogues(33, npcType); + } else { + player.getDialogueHandler().sendStatement( + "You need 30 coins to travel on this ship."); + } + break; + case CUSTOMS_OFFICER: + if (player.getItemAssistant().playerHasItem(995, 30)) { + player.getDialogueHandler().sendDialogues(584, npcType); + } else { + player.getDialogueHandler().sendStatement( + "You need 30 coins to travel on this ship."); + } + break; + + /** + * Start of Quests + */ + case WYDIN: + if (player.ptjob == 0) { + player.getDialogueHandler().sendDialogues(37, npcType); + } else if (player.ptjob == 1) { + player.getDialogueHandler().sendDialogues(47, npcType); + } else if (player.ptjob == 2) { + player.getDialogueHandler().sendDialogues(1000, npcType); + } + break; + case REDBEARD_FRANK: + if (player.pirateTreasure == 0) { + player.getDialogueHandler().sendDialogues(554, npcType); + } else if (player.pirateTreasure == 1) { + player.getDialogueHandler().sendStatement( + "Talk to lucas and help him transport the bannanas."); + } else if (player.pirateTreasure == 2) { + player.getDialogueHandler().sendDialogues(569, npcType); + } else if (player.pirateTreasure == 3) { + player.getDialogueHandler().sendDialogues(580, npcType); + } else { + player.getPacketSender().sendMessage( + "Arr! Thanks for me helping me."); + } + break; + case HETTY: + if (player.witchspot == 0) { + player.getDialogueHandler().sendDialogues(532, npcType); + } else if (player.witchspot == 1) { + player.getDialogueHandler().sendDialogues(546, npcType); + } else if (player.witchspot == 2) { + player.getDialogueHandler().sendDialogues(548, npcType); + } else if (player.witchspot == 3) { + player.getDialogueHandler().sendNpcChat1( + "Welcome back, thank you again for helping me.", + player.talkingNpc, "Hetty"); + } + break; + case MORGAN: + if (player.vampSlayer == 3) { + player.getDialogueHandler().sendDialogues(531, npcType); + } else if (player.vampSlayer == 4) { + player.getDialogueHandler().sendDialogues(529, npcType); + } else if (player.vampSlayer == 0) { + player.getDialogueHandler().sendDialogues(476, npcType); + } + break; + case NED: + if (player.vampSlayer == 0) { + player.getDialogueHandler().sendDialogues(211, npcType); + } else if (player.vampSlayer == 1) { + player.getDialogueHandler().sendStatement("I should go find harlow."); + } else if (player.vampSlayer > 1) { + player.getDialogueHandler().sendDialogues(1337, npcType); + } + break; + case DR_HARLOW: + if (player.vampSlayer == 1) { + player.getDialogueHandler().sendDialogues(498, npcType); + } else if (player.vampSlayer == 2) { + player.getDialogueHandler().sendDialogues(510, npcType); + } else if (player.vampSlayer == 3) { + player.getDialogueHandler().sendDialogues(531, npcType); + } else { + player.getDialogueHandler().sendStatement("I'm not on this step yet."); + } + break; + case FATHER_AERECK: + if (player.restGhost == 0) { + player.getDialogueHandler().sendDialogues(338, 456); + } + break; + case RESTLESS_GHOST: + if (player.restGhost == 2) { + player.getDialogueHandler().sendDialogues(371, npcType); + } + break; + case FATHER_URHNEY: + if (player.restGhost == 1) { + player.getDialogueHandler().sendDialogues(352, npcType); + } + break; + case GERTRUDES_CAT: + if (player.getItemAssistant().playerHasItem(1927, 1) && player.gertCat == 2) { + player.getDialogueHandler().sendDialogues(319, npcType); + player.getItemAssistant().deleteItem(1927, 1); + player.getItemAssistant().addItem(1925, 1); + player.gertCat = 3; + } else if (player.getItemAssistant().playerHasItem(1552, 1) + && player.gertCat == 3) { + player.getDialogueHandler().sendDialogues(323, npcType); + player.getItemAssistant().deleteItem(1552, 1); + player.gertCat = 4; + } else if (player.gertCat == 4) { + player.getDialogueHandler().sendStatement("Hiss!"); + player.getDialogueHandler().sendDialogues(325, npcType); + player.gertCat = 5; + } else if (player.getItemAssistant().playerHasItem(1554, 1) + && player.gertCat == 6) { + player.getItemAssistant().deleteItem(1554, 1); + player.getDialogueHandler().sendDialogues(326, npcType); + player.gertCat = 6; + } else if (player.gertCat == 2) { + player.getPacketSender().sendMessage("Hiss!"); + player.getDialogueHandler().sendStatement("Fluffs hisses but clearly wants something - maybe she is thirsty?"); + } + break; + case GERTRUDE: + if (player.playerLevel[GameConstants.FISHING] < 4) { + player.getDialogueHandler().sendStatement( + "You don't have the requirements to do this quest."); + return; + } + if (player.gertCat == 0) { + player.getDialogueHandler().sendDialogues(269, npcType); + } else if (player.gertCat == 1) { + player.getDialogueHandler().sendDialogues(276, npcType); + } else if (player.gertCat == 6) { + player.getDialogueHandler().sendDialogues(328, npcType); + } else { + player.getDialogueHandler() + .sendStatement("She has nothing to say to you."); + } + break; + case WILOUGH: + if (player.gertCat == 1) { + player.getDialogueHandler().sendDialogues(286, npcType); + } else if (player.gertCat == 2) { + player.getDialogueHandler().sendDialogues(314, npcType); + } + break; + case ROMEO: + if (player.romeojuliet == 0) { + player.getDialogueHandler().sendDialogues(389, npcType); + } else if (player.romeojuliet == 1) { + player.getDialogueHandler().sendDialogues(408, npcType); + } else if (player.romeojuliet == 3) { + player.getDialogueHandler().sendDialogues(415, npcType); + } else if (player.romeojuliet == 4) { + player.getDialogueHandler().sendDialogues(424, npcType); + } else if (player.romeojuliet == 5) { + player.getDialogueHandler().sendDialogues(431, npcType); + } else if (player.romeojuliet == 6) { + player.getDialogueHandler().sendDialogues(443, npcType); + } else if (player.romeojuliet == 8) { + player.getDialogueHandler().sendDialogues(469, npcType); + } else if (player.romeojuliet == 9) { + player.getPacketSender().sendMessage("Thanks for helping me!"); + } + if (player.romeojuliet == 2 + && player.getItemAssistant().playerHasItem(755, 1)) { + player.getDialogueHandler().sendDialogues(415, npcType); + } + if (player.romeojuliet == 2 + && !player.getItemAssistant().playerHasItem(755, 1)) { + player.getDialogueHandler().sendDialogues(421, npcType); + } + break; + case WINELDA: + if (player.romeojuliet == 5) { + player.getDialogueHandler().sendDialogues(432, npcType); + } + if (player.romeojuliet == 6 + && player.getItemAssistant().playerHasItem(300, 1) + && player.getItemAssistant().playerHasItem(227, 1) + && player.getItemAssistant().playerHasItem(526, 1)) { + player.getDialogueHandler().sendDialogues(448, npcType); + } else { + if (player.romeojuliet == 6) { + player.getDialogueHandler().sendDialogues(439, npcType); + } + } + break; + case JULIET: + if (player.romeojuliet == 0) { + player.getDialogueHandler().sendDialogues(409, npcType); + } else if (player.romeojuliet == 1) { + player.getDialogueHandler().sendDialogues(410, npcType); + } else if (player.romeojuliet == 2) { + player.getDialogueHandler().sendDialogues(414, npcType); + } else if (player.romeojuliet == 7) { + player.getDialogueHandler().sendDialogues(457, npcType); + } else if (player.romeojuliet == 8) { + player.getDialogueHandler().sendDialogues(468, npcType); + } + break; + case DUKE_HORACIO: + player.getDialogueHandler().sendDialogues(190, npcType); + break; + case AUBURY: + if (player.runeMist == 2) { + player.getDialogueHandler().sendDialogues(229, npcType); + } else if (player.runeMist == 3) { + player.getDialogueHandler().sendDialogues(237, npcType); + } + break; + case SEDRIDOR: + if (player.runeMist == 1) { + player.getDialogueHandler().sendDialogues(201, npcType); + } else if (player.runeMist == 2) { + player.getDialogueHandler().sendDialogues(213, npcType); + } else if (player.runeMist == 3) { + player.getDialogueHandler().sendDialogues(238, npcType); + } else if (player.runeMist > 3 || player.runeMist < 1) { + player.getPacketSender().sendMessage( + "He has nothing to say to you."); + } + break; + case DORIC: + if (player.doricQuest == 0) { + player.getDialogueHandler().sendDialogues(89, npcType); + } else if (player.doricQuest == 1) { + player.getDialogueHandler().sendDialogues(84, npcType); + } else if (player.doricQuest == 2) { + player.getDialogueHandler().sendDialogues(86, npcType); + } else if (player.doricQuest == 3) { + player.getDialogueHandler().sendDialogues(100, npcType); + } + break; + case WIZARD_MIZGOG: + if (player.impsC == 0) { + player.getDialogueHandler().sendDialogues(145, npcType); + } else if (player.impsC == 1) { + player.getDialogueHandler().sendDialogues(156, npcType); + } + if (player.impsC == 1 && player.getItemAssistant().playerHasItem(1470, 1) + && player.getItemAssistant().playerHasItem(1472, 1) + && player.getItemAssistant().playerHasItem(1474, 1) + && player.getItemAssistant().playerHasItem(1476, 1)) { + player.getDialogueHandler().sendDialogues(158, npcType); + } else if (player.impsC == 1) { + player.getDialogueHandler().sendDialogues(157, npcType); + } + break; + case COOK: + if (player.cookAss == 0) { + player.getDialogueHandler().sendDialogues(50, npcType); + } else if (player.cookAss == 1) { + player.getDialogueHandler().sendDialogues(67, npcType); + } else if (player.cookAss == 2) { + player.getDialogueHandler().sendDialogues(69, npcType); + } else if (player.cookAss == 3) { + player.getDialogueHandler().sendDialogues(76, npcType); + } + break; + case SIR_AMIK_VARZE: + if (player.blackKnight == 0 && player.questPoints >= 12) { + player.getDialogueHandler().sendDialogues(3902, npcType); + } else if (player.blackKnight == 1) { + player.getDialogueHandler().sendDialogues(3510, npcType); + } else if (player.blackKnight == 2) { + player.getDialogueHandler().sendDialogues(3502, npcType); + } else if (player.blackKnight == 3) { + player.getPacketSender().sendMessage( + "He has nothing to say to you."); + } + break; + case FRED_THE_FARMER: + if (player.sheepShear == 0) { + player.getDialogueHandler().sendDialogues(164, npcType); + } else if (player.sheepShear == 1) { + player.getDialogueHandler().sendDialogues(185, 1); + } else { + player.getPacketSender().sendMessage( + "He has nothing to say to you."); + } + break; + case LUTHAS: + if (player.bananas == 0 || !player.luthas) { + player.getDialogueHandler().sendDialogues(8, npcType); + } else if (player.bananas > 0) { + player.getDialogueHandler().sendDialogues(4, npcType); + } else { + player.getPacketSender() + .sendMessage( + "You may now talk to Luthas your bananna task has been reset."); + player.luthas = false; + player.bananas = 0; + } + break; + /** + * End of Quests + */ + case RUG_MERCHANT_2293: + if (player.absY >= 2939 && player.absY <= 2945) { + player.getDialogueHandler().sendDialogues(3565, npcType); + } else { + player.getDialogueHandler().sendDialogues(3570, npcType); + } + break; + case RUG_MERCHANT_2294: + player.getDialogueHandler().sendDialogues(3555, npcType); + break; + case RUG_MERCHANT_2296: + player.getDialogueHandler().sendDialogues(3559, npcType); + break; + case PARTY_PETE: + player.getDialogueHandler().sendDialogues(18, npcType); + break; + case LUMBRIDGE_GUIDE: + player.getDialogueHandler().sendDialogues(14, npcType); + break; + case TRAMP_641: + player.getDialogueHandler().sendDialogues(11, npcType); + break; + case FREAKY_FORESTER: + player.getDialogueHandler().sendDialogues(2, npcType); + break; + case BARTENDER: + player.getDialogueHandler().sendDialogues(19, npcType); + break; + case BARTENDER_732: + player.getDialogueHandler().sendDialogues(3150, npcType); + break; + + /** + * Bankers + */ + case GNOME_BANKER: + case BANKER: + case BANKER_495: + case BANKER_496: + case BANKER_497: + case BANKER_498: + case BANKER_499: + case FAIRY_567: + case BANKER_953: + case BANKER_1036: + case BANKER_1360: + case GHOST_BANKER: + case BANKER_2163: + case BANKER_2164: + case EMERALD_BENEDICT: + case BANKER_2354: + case BANKER_2355: + case BANKER_2568: + case BANKER_2569: + case BANKER_2570: + case TZHAARKETZUH: + player.getDialogueHandler().sendDialogues(1013, npcType); + break; + case WEIRD_OLD_MAN: + player.getDialogueHandler().sendDialogues(16, npcType); + break; + case KOLODION: + player.getDialogueHandler().sendDialogues(5, npcType); + break; + case WIZARD_FRUMSCONE: + player.getDialogueHandler().sendDialogues(3, npcType); + break; + case WIZARD_DISTENTOR: + player.getDialogueHandler().sendDialogues(3149, npcType); + break; + case MONK_OF_ENTRANA_658: + Sailing.startTravel(player, 2); + break; + case JARVALD_2437: + case JARVALD_2438: + if (!player.getItemAssistant().playerHasItem(995, 1000)) { + player.getDialogueHandler().sendStatement("You need 1000 coins to go here!"); + player.nextChat = 0; + return; + } + if (player.absX > 2619 && player.absX < 2622 && player.absY > 3680 && player.absY < 3689 && player.getItemAssistant().playerHasItem(995, 1000)) { + //Sailing.startTravel(c, 18); + player.getPlayerAssistant().startTeleport(2551, 3759, 0, "modern"); + player.getItemAssistant().deleteItem(995, 1000); + player.getDialogueHandler().sendStatement("You arrive safely."); + player.nextChat = 0; + } else { + if (player.getItemAssistant().playerHasItem(995, 1000)) { + //Sailing.startTravel(c, 17); + player.getPlayerAssistant().startTeleport(2620, 3686, 0, "modern"); + player.getItemAssistant().deleteItem(995, 1000); + player.getDialogueHandler().sendStatement("You arrive safely."); + player.nextChat = 0; + } + } + break; + case CAPTAIN_BARNABY: + if (player.absY > 3230 && player.absY < 3236) { + Sailing.startTravel(player, 8); + } else { + Sailing.startTravel(player, 7); + } + break; + case TANNER: + case SBOTT: + Tanning.sendTanningInterface(player); + break; + case MONK_OF_ENTRANA: + Sailing.startTravel(player, 1); + break; + case 8689: //TODO Apparently Doesn't Exist But Spawns Banker In-Game + if (System.currentTimeMillis() - player.buryDelay > 1500) { + if (player.getItemAssistant().playerHasItem(1925, 1)) { + player.turnPlayerTo(player.objectX, player.objectY); + player.startAnimation(2292); + player.getItemAssistant().addItem(1927, 1); + player.getItemAssistant().deleteItem(1925, 1); + player.buryDelay = System.currentTimeMillis(); + } else { + player.getPacketSender().sendMessage( + "You need a bucket to milk a cow!"); + } + } + break; + case VOID_KNIGHT_3789: + player.getPacketSender().sendMessage( + "You currently have " + + player.pcPoints + " pest control points."); + break; + + /* Shops */ + + /* + * case 588: c.getShops().openShop(2); break; case 550: + * c.getShops().openShop(3); break; case 575: c.getShops().openShop(4); + * break; case 2356: c.getShops().openShop(5); break; case 3796: + * c.getShops().openShop(6); break; case 1860: c.getShops().openShop(7); + * break; case 559: c.getShops().openShop(9); break; case 562: + * c.getShops().openShop(10); break; case 581: + * c.getShops().openShop(11); break; case 548: + * c.getShops().openShop(12); break; case 554: + * c.getShops().openShop(13); break; case 601: + * c.getShops().openShop(14); break; case 1301: + * c.getShops().openShop(15); break; case 1039: + * c.getShops().openShop(16); break; case 2353: + * c.getShops().openShop(17); break; case 3166: + * c.getShops().openShop(18); break; case 2161: + * c.getShops().openShop(19); break; case 2162: + * c.getShops().openShop(20); break; case 600: + * c.getShops().openShop(21); break; case 603: + * c.getShops().openShop(22); break; case 593: + * c.getShops().openShop(23); break; case 545: + * c.getShops().openShop(24); break; case 585: + * c.getShops().openShop(25); break; case 2305: + * c.getShops().openShop(26); break; case 2307: + * c.getShops().openShop(27); break; case 2304: + * c.getShops().openShop(28); break; case 2306: + * c.getShops().openShop(29); break; case 517: + * c.getShops().openShop(30); break; case 558: + * c.getShops().openShop(31); break; case 576: + * c.getShops().openShop(32); break; case 1369: + * c.getShops().openShop(33); break; case 1038: + * c.getShops().openShop(35); break; case 1433: + * c.getShops().openShop(36); break; case 584: + * c.getShops().openShop(37); break; case 540: + * c.getShops().openShop(38); break; case 2157: + * c.getShops().openShop(39); break; case 538: + * c.getShops().openShop(40); break; case 1303: + * c.getShops().openShop(41); break; case 578: + * c.getShops().openShop(42); break; case 587: + * c.getShops().openShop(43); break; case 1398: + * c.getShops().openShop(44); break; case 556: + * c.getShops().openShop(45); break; case 1865: + * c.getShops().openShop(46); break; case 543: + * c.getShops().openShop(47); break; case 2198: + * c.getShops().openShop(48); break; case 580: + * c.getShops().openShop(49); break; case 1862: + * c.getShops().openShop(50); break; case 583: + * c.getShops().openShop(51); break; case 553: + * c.getShops().openShop(52); break; case 461: + * c.getShops().openShop(53); break; case 903: + * c.getShops().openShop(54); break; case 1435: + * c.getShops().openShop(56); break; case 3800: + * c.getShops().openShop(57); break; case 2623: + * c.getShops().openShop(58); break; case 594: + * c.getShops().openShop(59); break; case 579: + * c.getShops().openShop(60); break; case 2160: + * c.getShops().openShop(61); break; case 2191: + * c.getShops().openShop(61); break; case 589: + * c.getShops().openShop(62); break; case 549: + * c.getShops().openShop(63); break; case 542: + * c.getShops().openShop(64); break; case 3038: + * c.getShops().openShop(65); break; case 544: + * c.getShops().openShop(66); break; case 541: + * c.getShops().openShop(67); break; case 1434: + * c.getShops().openShop(68); break; case 577: + * c.getShops().openShop(69); break; case 539: + * c.getShops().openShop(70); break; case 1980: + * c.getShops().openShop(71); break; case 546: + * c.getShops().openShop(72); break; case 382: + * c.getShops().openShop(73); break; case 3541: + * c.getShops().openShop(74); break; case 520: + * c.getShops().openShop(75); break; case 1436: + * c.getShops().openShop(76); break; case 590: + * c.getShops().openShop(77); break; case 971: + * c.getShops().openShop(78); break; case 1917: + * c.getShops().openShop(79); break; case 1040: + * c.getShops().openShop(80); break; case 563: + * c.getShops().openShop(81); break; case 522: + * c.getShops().openShop(82); break; case 524: + * c.getShops().openShop(83); break; case 526: + * c.getShops().openShop(84); break; case 2154: + * c.getShops().openShop(85); break; case 1334: + * c.getShops().openShop(86); break; case 2552: + * c.getShops().openShop(87); break; case 528: + * c.getShops().openShop(88); break; case 1254: + * c.getShops().openShop(89); break; case 2086: + * c.getShops().openShop(90); break; case 3824: + * c.getShops().openShop(91); break; case 1866: + * c.getShops().openShop(92); break; case 1699: + * c.getShops().openShop(93); break; case 1282: + * c.getShops().openShop(94); break; case 530: + * c.getShops().openShop(95); break; case 516: + * c.getShops().openShop(96); break; case 560: + * c.getShops().openShop(97); break; case 471: + * c.getShops().openShop(98); break; case 1208: + * c.getShops().openShop(99); break; case 532: + * c.getShops().openShop(100); break; case 555: + * c.getShops().openShop(101); break; case 534: + * c.getShops().openShop(102); break; case 551: + * c.getShops().openShop(104); break; case 586: + * c.getShops().openShop(105); break; case 564: + * c.getShops().openShop(106); break; case 747: + * c.getShops().openShop(107); break; case 573: + * c.getShops().openShop(108); break; case 1316: + * c.getShops().openShop(108); break; case 1787: + * c.getShops().openShop(110); break; case 694: + * c.getShops().openShop(111); break; case 1526: + * c.getShops().openShop(112); break; case 568: + * c.getShops().openShop(113); break; case 1079: + * c.getShops().openShop(114); break; + */ + } - break; - case 604://thurgo - if (player.knightS == 2) { - player.getDialogueHandler().sendDialogues(640, 604); - } else if (player.knightS == 3) { - player.getDialogueHandler().sendDialogues(648, 604); - } else if (player.knightS == 6) { - player.getDialogueHandler().sendDialogues(660, 604); - } else if (player.knightS == 7) { - player.getDialogueHandler().sendDialogues(669, 604); - } else if (player.knightS == 8) { - player.getDialogueHandler().sendDialogues(674, 604); - } - break; - - case 693: //rang guild shots - player.getDialogueHandler().sendDialogues(3201, npcType); - break; - - case 694: //rang guild store - player.getShopAssistant().openShop(111); - break; - - case 1834: - player.getDialogueHandler().sendDialogues(1378, npcType); - break; - - case 1835: - if (player.easterEvent == 0) - player.getDialogueHandler().sendDialogues(6000, npcType); - else if (player.easterEvent == 1) - { - int easter1 = player.getInventory().getItemAmount(7928); - int easter2 = player.getInventory().getItemAmount(7929); - int easter3 = player.getInventory().getItemAmount(7930); - int easter4 = (easter1 + easter2 + easter3); - if (easter4 >= 3) - player.getDialogueHandler().sendDialogues(6017, npcType); - else { - player.getDialogueHandler().sendDialogues(6014, npcType); - } - } - else - { - player.getDialogueHandler().sendDialogues(6022, npcType); - } - break; - - case 537: - case 536: - int requiredQP = Math.min(32, QuestAssistant.MAXIMUM_QUESTPOINTS); - if (player.questPoints >= requiredQP) { - player.getDialogueHandler().sendDialogues(1373, npcType); - } else { - player.getPacketSender().sendMessage( - "You need " + requiredQP + " quest points to open this shop."); - } - break; - - case 547: //Baraek - if (player.shieldArrav == 3) { - player.getDialogueHandler().sendDialogues(701, npcType); - } - break; - - case 599: - player.getDialogueHandler().sendDialogues(1369, npcType); - break; - case 649: - player.getDialogueHandler().sendDialogues(3840, npcType); - break; - case 650: - player.getDialogueHandler().sendDialogues(3578, npcType); - break; - case 651: - player.getDialogueHandler().sendDialogues(3840, npcType); - break; - case 652: - player.getDialogueHandler().sendDialogues(3840, npcType); - break; - case 654: - player.getDialogueHandler().sendDialogues(3848, npcType); - break; - - case 644: //Straven - if (player.shieldArrav <= 4) { - player.getDialogueHandler().sendDialogues(711, npcType); - } - else if (player.shieldArrav == 5) { - player.getDialogueHandler().sendDialogues(730, npcType); - } - else if (player.shieldArrav > 5) { - player.getDialogueHandler().sendDialogues(741, npcType); - } - break; - - case 646: //Curator Haig Halen - player.getDialogueHandler().sendDialogues(745, npcType); - break; - - case 648: //King Roald - if (player.shieldArrav == 7 && player.getItemAssistant().playerHasItem(769)) - player.getDialogueHandler().sendDialogues(756, npcType); - break; - - case 663: - player.getDialogueHandler().sendDialogues(3189, npcType); - break; - - case 802: - player.getDialogueHandler().sendDialogues(1358, npcType); - break; - - case 2205: - player.getDialogueHandler().sendDialogues(1353, npcType); - break; - - case 3830: - player.getDialogueHandler().sendDialogues(1349, npcType); - break; - - case 2270: - if (player.playerLevel[GameConstants.THIEVING] > 98) { - player.getShopAssistant().openShop(118); - } else if (player.playerLevel[GameConstants.THIEVING] > 49 - && player.playerLevel[GameConstants.AGILITY] > 49) { - player.getShopAssistant().openShop(118); - } else { - player.getPacketSender().sendMessage( - "You don't have the required skills to open this shop"); - } - break; - - case 1071: - player.getDialogueHandler().sendDialogues(1345, npcType); - break; - - case 666: - player.getDialogueHandler().sendDialogues(3183, npcType); - break; - - case 510: - if (player.absY > 3209 && player.absY < 3215) { - player.getDialogueHandler().sendDialogues(3173, npcType); - } else { - player.getDialogueHandler().sendDialogues(3178, npcType); - } - break; - - case 1042: - player.getDialogueHandler().sendDialogues(3167, npcType); - break; - - case 735: - player.getDialogueHandler().sendDialogues(3167, npcType); - break; - - case 36: - player.getDialogueHandler().sendDialogues(3158, npcType); - break; - - case 844: - if (player.runeMist < 4 && player.playerRights <= 1) { - player.getDialogueHandler().sendStatement("You need to beat rune mysteries first to do this."); - player.nextChat = 0; - return; - } - player.getDialogueHandler().sendDialogues(3144, npcType); - break; - - case 798: - player.getDialogueHandler().sendDialogues(3133, npcType); - break; - - case 736: - case 3217: - case 3218: - player.getDialogueHandler().sendDialogues(3118, npcType); - break; - - /* - * tutorial island - */ - case 945: - if (player.tutorialProgress == 0) { - player.getDialogueHandler().sendDialogues(3001, npcType); - } - if (player.tutorialProgress == 1) { - player.getDialogueHandler().sendDialogues(3008, npcType); - } - if (player.tutorialProgress == 2) { - player.getDialogueHandler().sendNpcChat1("You should move on now.", npcType, "Runescape Guide"); - } - break; - - case 943:// survival - if (player.tutorialProgress == 2) { - player.getDialogueHandler().sendDialogues(3012, npcType); - } - if (player.tutorialProgress == 5) { - player.getDialogueHandler().sendDialogues(3017, npcType); - } - break; - - case 942: // master chef - if (player.tutorialProgress == 7) { - player.getDialogueHandler().sendDialogues(3021, npcType); - } - break; - - case 949: // quest guide - if (player.tutorialProgress == 12) { - player.getDialogueHandler().sendDialogues(3043, npcType); - } - if (player.tutorialProgress == 13) { - player.getDialogueHandler().sendDialogues(3045, npcType); - } - break; - case 948: // mining tutor - if (player.tutorialProgress == 14) { - player.getDialogueHandler().sendDialogues(3052, npcType); - } - if (player.tutorialProgress == 16) { - player.getDialogueHandler().sendDialogues(3056, npcType); - } - if (player.tutorialProgress == 20) { - player.getDialogueHandler().sendDialogues(3063, npcType); - } - break; - case 944: // Combat deud - if (player.tutorialProgress == 21) { - player.getDialogueHandler().sendDialogues(3067, npcType); - } else if (player.tutorialProgress == 23 - && !player.getItemAssistant().playerHasItem(1171) - && !player.getItemAssistant().playerHasItem(1277)) { - player.getDialogueHandler().sendDialogues(3072, npcType); - } else if (player.getItemAssistant().playerHasItem(1171) - && player.getItemAssistant().playerHasItem(1277) && player.tutorialProgress == 23) { - player.getPacketSender().sendMessage( - "I already gave you a sword and shield."); - player.nextChat = 0; - player.getDialogueHandler() - .chatboxText( - "In your worn inventory panel, right click on the dagger and", - "select the remove option from the drop down list. After you've", - "unequipped the dagger, wield the sword and shield. As you", - "pass the mouse over an item you will see its name.", - "Unequipping items"); - PlayerAssistant.removeHintIcon(player); - } else if (player.tutorialProgress == 25) { - player.getDialogueHandler().sendDialogues(3074, npcType); - } - break; - - case 947: // fiancial dude - if (player.tutorialProgress == 27) { - player.getDialogueHandler().sendDialogues(3079, npcType); - } - // c.getPacketDispatcher().createArrow(1, 7); - break; - - case 954: // prayer dude - if (player.tutorialProgress == 28) { - player.getDialogueHandler().sendDialogues(3089, npcType); - } - if (player.tutorialProgress == 29) { - player.getDialogueHandler().sendDialogues(3092, npcType); - } - if (player.tutorialProgress == 31) { - player.getDialogueHandler().sendDialogues(3097, npcType); - } - break; - case 946:// mage - if (player.tutorialProgress == 32) { - player.getDialogueHandler().sendDialogues(3105, npcType); - } - if (player.tutorialProgress == 33) { - player.getDialogueHandler().sendDialogues(3108, npcType); - } - if (player.tutorialProgress == 34) { - player.getDialogueHandler().sendDialogues(3110, npcType); - } - if (player.tutorialProgress == 35) { - player.getDialogueHandler().sendDialogues(3112, npcType); - } - break; - - case 922: - player.getDialogueHandler().sendDialogues(1312, npcType); - break; - - case 805: - player.getDialogueHandler().sendDialogues(1317, npcType); - break; - - case 519: - player.getDialogueHandler().sendDialogues(15, npcType); // barrows fix - // barrows - break; - - case 598: - player.getDialogueHandler().sendDialogues(1300, npcType); - break; - - case 216: - player.getDialogueHandler().sendDialogues(3867, npcType); - break; - - case 70: - case 1596: - case 1597: - case 1598: - case 1599: - player.getDialogueHandler().sendDialogues(1228, npcType); - player.SlayerMaster = npcType; - break; - - case 1595: - player.getDialogueHandler().sendDialogues(1036, npcType); - break; - - case 170: - player.getDialogueHandler().sendDialogues(591, npcType); - break; - - case 925: - case 926: - player.getDialogueHandler().sendDialogues(1018, npcType); - break; - - case 2728: - case 2729: - player.getDialogueHandler().sendDialogues(1011, npcType); - break; - - case 376: - case 377: - case 378: - if (player.getItemAssistant().playerHasItem(995, 30)) { - player.getDialogueHandler().sendDialogues(33, npcType); - } else { - player.getDialogueHandler().sendStatement( - "You need 30 coins to travel on this ship."); - } - break; - - case 380: - if (player.getItemAssistant().playerHasItem(995, 30)) { - player.getDialogueHandler().sendDialogues(584, npcType); - } else { - player.getDialogueHandler().sendStatement( - "You need 30 coins to travel on this ship."); - } - break; - - /** - * Start of Quests - */ - - case 557: - if (player.ptjob == 0) { - player.getDialogueHandler().sendDialogues(37, npcType); - } else if (player.ptjob == 1) { - player.getDialogueHandler().sendDialogues(47, npcType); - } else if (player.ptjob == 2) { - player.getDialogueHandler().sendDialogues(1000, npcType); - } - break; - - case 375: - if (player.pirateTreasure == 0) { - player.getDialogueHandler().sendDialogues(554, npcType); - } else if (player.pirateTreasure == 1) { - player.getDialogueHandler().sendStatement( - "Talk to lucas and help him transport the bannanas."); - } else if (player.pirateTreasure == 2) { - player.getDialogueHandler().sendDialogues(569, npcType); - } else if (player.pirateTreasure == 3) { - player.getDialogueHandler().sendDialogues(580, npcType); - } else { - player.getPacketSender().sendMessage( - "Arr! Thanks for me helping me."); - } - break; - - case 307: - if (player.witchspot == 0) { - player.getDialogueHandler().sendDialogues(532, npcType); - } else if (player.witchspot == 1) { - player.getDialogueHandler().sendDialogues(546, npcType); - } else if (player.witchspot == 2) { - player.getDialogueHandler().sendDialogues(548, npcType); - } else if (player.witchspot == 3) { - player.getDialogueHandler().sendNpcChat1( - "Welcome back, thank you again for helping me.", - player.talkingNpc, "Hetty"); - } - break; - - case 755:// morgan - if (player.vampSlayer == 3) { - player.getDialogueHandler().sendDialogues(531, npcType); - } else if (player.vampSlayer == 4) { - player.getDialogueHandler().sendDialogues(529, npcType); - } else if (player.vampSlayer == 0) { - player.getDialogueHandler().sendDialogues(476, npcType); - } - break; - - case 743:// ned - if (player.vampSlayer == 0) { - player.getDialogueHandler().sendDialogues(211, npcType); - } else if (player.vampSlayer == 1) { - player.getDialogueHandler().sendStatement("I should go find harlow."); - } else if (player.vampSlayer > 1) { - player.getDialogueHandler().sendDialogues(1337, npcType); - } - break; - - case 756:// harlow - if (player.vampSlayer == 1) { - player.getDialogueHandler().sendDialogues(498, npcType); - } else if (player.vampSlayer == 2) { - player.getDialogueHandler().sendDialogues(510, npcType); - } else if (player.vampSlayer == 3) { - player.getDialogueHandler().sendDialogues(531, npcType); - } else { - player.getDialogueHandler().sendStatement("I'm not on this step yet."); - } - break; - - case 456: - if (player.restGhost == 0) { - player.getDialogueHandler().sendDialogues(338, 456); - } - break; - - case 457: - if (player.restGhost == 2) { - player.getDialogueHandler().sendDialogues(371, npcType); - } - break; - - case 458: - if (player.restGhost == 1) { - player.getDialogueHandler().sendDialogues(352, npcType); - } - break; - - case 759: - if (player.getItemAssistant().playerHasItem(1927, 1) && player.gertCat == 2) { - player.getDialogueHandler().sendDialogues(319, npcType); - player.getItemAssistant().deleteItem(1927, 1); - player.getItemAssistant().addItem(1925, 1); - player.gertCat = 3; - } else if (player.getItemAssistant().playerHasItem(1552, 1) - && player.gertCat == 3) { - player.getDialogueHandler().sendDialogues(323, npcType); - player.getItemAssistant().deleteItem(1552, 1); - player.gertCat = 4; - } else if (player.gertCat == 4) { - player.getDialogueHandler().sendStatement("Hiss!"); - player.getDialogueHandler().sendDialogues(325, npcType); - player.gertCat = 5; - } else if (player.getItemAssistant().playerHasItem(1554, 1) - && player.gertCat == 6) { - player.getItemAssistant().deleteItem(1554, 1); - player.getDialogueHandler().sendDialogues(326, npcType); - player.gertCat = 6; - } else if (player.gertCat == 2) { - player.getPacketSender().sendMessage("Hiss!"); - player.getDialogueHandler().sendStatement("Fluffs hisses but clearly wants something - maybe she is thirsty?"); - } - break; - - case 780: - if (player.playerLevel[GameConstants.FISHING] < 4) { - player.getDialogueHandler().sendStatement( - "You don't have the requirements to do this quest."); - return; - } - if (player.gertCat == 0) { - player.getDialogueHandler().sendDialogues(269, npcType); - } else if (player.gertCat == 1) { - player.getDialogueHandler().sendDialogues(276, npcType); - } else if (player.gertCat == 6) { - player.getDialogueHandler().sendDialogues(328, npcType); - } else { - player.getDialogueHandler() - .sendStatement("She has nothing to say to you."); - } - break; - - case 783: - if (player.gertCat == 1) { - player.getDialogueHandler().sendDialogues(286, npcType); - } else if (player.gertCat == 2) { - player.getDialogueHandler().sendDialogues(314, npcType); - } - break; - - case 639: - if (player.romeojuliet == 0) { - player.getDialogueHandler().sendDialogues(389, npcType); - } else if (player.romeojuliet == 1) { - player.getDialogueHandler().sendDialogues(408, npcType); - } else if (player.romeojuliet == 3) { - player.getDialogueHandler().sendDialogues(415, npcType); - } else if (player.romeojuliet == 4) { - player.getDialogueHandler().sendDialogues(424, npcType); - } else if (player.romeojuliet == 5) { - player.getDialogueHandler().sendDialogues(431, npcType); - } else if (player.romeojuliet == 6) { - player.getDialogueHandler().sendDialogues(443, npcType); - } else if (player.romeojuliet == 8) { - player.getDialogueHandler().sendDialogues(469, npcType); - } else if (player.romeojuliet == 9) { - player.getPacketSender().sendMessage("Thanks for helping me!"); - } - if (player.romeojuliet == 2 - && player.getItemAssistant().playerHasItem(755, 1)) { - player.getDialogueHandler().sendDialogues(415, npcType); - } - if (player.romeojuliet == 2 - && !player.getItemAssistant().playerHasItem(755, 1)) { - player.getDialogueHandler().sendDialogues(421, npcType); - } - break; - - case 276: - if (player.romeojuliet == 5) { - player.getDialogueHandler().sendDialogues(432, npcType); - } - if (player.romeojuliet == 6 - && player.getItemAssistant().playerHasItem(300, 1) - && player.getItemAssistant().playerHasItem(227, 1) - && player.getItemAssistant().playerHasItem(526, 1)) { - player.getDialogueHandler().sendDialogues(448, npcType); - } else { - if (player.romeojuliet == 6) { - player.getDialogueHandler().sendDialogues(439, npcType); - } - } - break; - - case 637: - if (player.romeojuliet == 0) { - player.getDialogueHandler().sendDialogues(409, npcType); - } else if (player.romeojuliet == 1) { - player.getDialogueHandler().sendDialogues(410, npcType); - } else if (player.romeojuliet == 2) { - player.getDialogueHandler().sendDialogues(414, npcType); - } else if (player.romeojuliet == 7) { - player.getDialogueHandler().sendDialogues(457, npcType); - } else if (player.romeojuliet == 8) { - player.getDialogueHandler().sendDialogues(468, npcType); - } - break; - - case 741: - player.getDialogueHandler().sendDialogues(190, npcType); - break; - - case 553: - if (player.runeMist == 2) { - player.getDialogueHandler().sendDialogues(229, npcType); - } else if (player.runeMist == 3) { - player.getDialogueHandler().sendDialogues(237, npcType); - } - break; - - case 300: - if (player.runeMist == 1) { - player.getDialogueHandler().sendDialogues(201, npcType); - } else if (player.runeMist == 2) { - player.getDialogueHandler().sendDialogues(213, npcType); - } else if (player.runeMist == 3) { - player.getDialogueHandler().sendDialogues(238, npcType); - } else if (player.runeMist > 3 || player.runeMist < 1) { - player.getPacketSender().sendMessage( - "He has nothing to say to you."); - } - break; - - case 284: - if (player.doricQuest == 0) { - player.getDialogueHandler().sendDialogues(89, npcType); - } else if (player.doricQuest == 1) { - player.getDialogueHandler().sendDialogues(84, npcType); - } else if (player.doricQuest == 2) { - player.getDialogueHandler().sendDialogues(86, npcType); - } else if (player.doricQuest == 3) { - player.getDialogueHandler().sendDialogues(100, npcType); - } - break; - - case 706: - if (player.impsC == 0) { - player.getDialogueHandler().sendDialogues(145, npcType); - } else if (player.impsC == 1) { - player.getDialogueHandler().sendDialogues(156, npcType); - } - if (player.impsC == 1 && player.getItemAssistant().playerHasItem(1470, 1) - && player.getItemAssistant().playerHasItem(1472, 1) - && player.getItemAssistant().playerHasItem(1474, 1) - && player.getItemAssistant().playerHasItem(1476, 1)) { - player.getDialogueHandler().sendDialogues(158, npcType); - } else if (player.impsC == 1) { - player.getDialogueHandler().sendDialogues(157, npcType); - } - break; - - case 278: - if (player.cookAss == 0) { - player.getDialogueHandler().sendDialogues(50, npcType); - } else if (player.cookAss == 1) { - player.getDialogueHandler().sendDialogues(67, npcType); - } else if (player.cookAss == 2) { - player.getDialogueHandler().sendDialogues(69, npcType); - } else if (player.cookAss == 3) { - player.getDialogueHandler().sendDialogues(76, npcType); - } - break; - - case 608: - if (player.blackKnight == 0 && player.questPoints >= 12) { - player.getDialogueHandler().sendDialogues(3902, npcType); - } else if (player.blackKnight == 1) { - player.getDialogueHandler().sendDialogues(3510, npcType); - }else if (player.blackKnight == 2) { - player.getDialogueHandler().sendDialogues(3502, npcType); - }else if (player.blackKnight == 3) { - player.getPacketSender().sendMessage( - "He has nothing to say to you."); - } - break; - - case 758: - if (player.sheepShear == 0) { - player.getDialogueHandler().sendDialogues(164, npcType); - } else if (player.sheepShear == 1) { - player.getDialogueHandler().sendDialogues(185, 1); - } else { - player.getPacketSender().sendMessage( - "He has nothing to say to you."); - } - break; - - case 379: - if (player.bananas == 0 || player.luthas == false) { - player.getDialogueHandler().sendDialogues(8, npcType); - } else if (player.bananas > 0) { - player.getDialogueHandler().sendDialogues(4, npcType); - } else { - player.getPacketSender() - .sendMessage( - "You may now talk to Luthas your bananna task has been reset."); - player.luthas = false; - player.bananas = 0; - } - break; - - /** - * End of Quests - */ - - case 2293: - if (player.absY >= 2939 && player.absY <= 2945) { - player.getDialogueHandler().sendDialogues(3565, npcType); - } else { - player.getDialogueHandler().sendDialogues(3570, npcType); - } - break; - - case 2294: - player.getDialogueHandler().sendDialogues(3555, npcType); - break; - - case 2296: - player.getDialogueHandler().sendDialogues(3559, npcType); - break; - - case 659: - player.getDialogueHandler().sendDialogues(18, npcType); - break; - - case 2244: - player.getDialogueHandler().sendDialogues(14, npcType); - break; - - case 641: - player.getDialogueHandler().sendDialogues(11, npcType); - break; - - case 2458: - player.getDialogueHandler().sendDialogues(2, npcType); - break; - - case 731: - player.getDialogueHandler().sendDialogues(19, npcType); - break; - - case 732: - player.getDialogueHandler().sendDialogues(3150, npcType); - break; - - /** - * Bankers - */ - case 953: - case 166: - case 1702: - case 495: - case 496: - case 497: - case 498: - case 499: - case 567: - case 1036: - case 1360: - case 2163: - case 2164: - case 2354: - case 2355: - case 2568: - case 2569: - case 2570: - case 2271: - case 494: - case 2619: - player.getDialogueHandler().sendDialogues(1013, npcType); - break; - - case 1152: - player.getDialogueHandler().sendDialogues(16, npcType); - break; - - case 905: - player.getDialogueHandler().sendDialogues(5, npcType); - break; - - case 460: - player.getDialogueHandler().sendDialogues(3, npcType); - break; - - case 462: - player.getDialogueHandler().sendDialogues(3149, npcType); - break; - - case 658: - Sailing.startTravel(player, 2); - break; - - case 2437: - case 2438: - if (!player.getItemAssistant().playerHasItem(995, 1000)) { - player.getDialogueHandler().sendStatement("You need 1000 coins to go here!"); - player.nextChat = 0; - return; - } - if (player.absX > 2619 && player.absX < 2622 && player.absY > 3680 && player.absY < 3689 && player.getItemAssistant().playerHasItem(995, 1000)) { - //Sailing.startTravel(c, 18); - player.getPlayerAssistant().startTeleport(2551, 3759, 0, "modern"); - player.getItemAssistant().deleteItem(995, 1000); - player.getDialogueHandler().sendStatement("You arrive safely."); - player.nextChat = 0; - } else { - if (player.getItemAssistant().playerHasItem(995, 1000)) { - //Sailing.startTravel(c, 17); - player.getPlayerAssistant().startTeleport(2620, 3686, 0, "modern"); - player.getItemAssistant().deleteItem(995, 1000); - player.getDialogueHandler().sendStatement("You arrive safely."); - player.nextChat = 0; - } - } - break; - - case 381: - if (player.absY > 3230 && player.absY < 3236) { - Sailing.startTravel(player, 8); - } else { - Sailing.startTravel(player, 7); - } - break; - - case 804: - case 1041: - Tanning.sendTanningInterface(player); - break; - - case 657: - Sailing.startTravel(player, 1); - break; - - case 8689: - if (System.currentTimeMillis() - player.buryDelay > 1500) { - if (player.getItemAssistant().playerHasItem(1925, 1)) { - player.turnPlayerTo(player.objectX, player.objectY); - player.startAnimation(2292); - player.getItemAssistant().addItem(1927, 1); - player.getItemAssistant().deleteItem(1925, 1); - player.buryDelay = System.currentTimeMillis(); - } else { - player.getPacketSender().sendMessage( - "You need a bucket to milk a cow!"); - } - } - break; - - case 3789: - player.getPacketSender().sendMessage( - new StringBuilder().append("You currently have ") - .append(player.pcPoints).append(" pest control points.") - .toString()); - break; - - /* Shops */ - - /* - * case 588: c.getShops().openShop(2); break; case 550: - * c.getShops().openShop(3); break; case 575: c.getShops().openShop(4); - * break; case 2356: c.getShops().openShop(5); break; case 3796: - * c.getShops().openShop(6); break; case 1860: c.getShops().openShop(7); - * break; case 559: c.getShops().openShop(9); break; case 562: - * c.getShops().openShop(10); break; case 581: - * c.getShops().openShop(11); break; case 548: - * c.getShops().openShop(12); break; case 554: - * c.getShops().openShop(13); break; case 601: - * c.getShops().openShop(14); break; case 1301: - * c.getShops().openShop(15); break; case 1039: - * c.getShops().openShop(16); break; case 2353: - * c.getShops().openShop(17); break; case 3166: - * c.getShops().openShop(18); break; case 2161: - * c.getShops().openShop(19); break; case 2162: - * c.getShops().openShop(20); break; case 600: - * c.getShops().openShop(21); break; case 603: - * c.getShops().openShop(22); break; case 593: - * c.getShops().openShop(23); break; case 545: - * c.getShops().openShop(24); break; case 585: - * c.getShops().openShop(25); break; case 2305: - * c.getShops().openShop(26); break; case 2307: - * c.getShops().openShop(27); break; case 2304: - * c.getShops().openShop(28); break; case 2306: - * c.getShops().openShop(29); break; case 517: - * c.getShops().openShop(30); break; case 558: - * c.getShops().openShop(31); break; case 576: - * c.getShops().openShop(32); break; case 1369: - * c.getShops().openShop(33); break; case 1038: - * c.getShops().openShop(35); break; case 1433: - * c.getShops().openShop(36); break; case 584: - * c.getShops().openShop(37); break; case 540: - * c.getShops().openShop(38); break; case 2157: - * c.getShops().openShop(39); break; case 538: - * c.getShops().openShop(40); break; case 1303: - * c.getShops().openShop(41); break; case 578: - * c.getShops().openShop(42); break; case 587: - * c.getShops().openShop(43); break; case 1398: - * c.getShops().openShop(44); break; case 556: - * c.getShops().openShop(45); break; case 1865: - * c.getShops().openShop(46); break; case 543: - * c.getShops().openShop(47); break; case 2198: - * c.getShops().openShop(48); break; case 580: - * c.getShops().openShop(49); break; case 1862: - * c.getShops().openShop(50); break; case 583: - * c.getShops().openShop(51); break; case 553: - * c.getShops().openShop(52); break; case 461: - * c.getShops().openShop(53); break; case 903: - * c.getShops().openShop(54); break; case 1435: - * c.getShops().openShop(56); break; case 3800: - * c.getShops().openShop(57); break; case 2623: - * c.getShops().openShop(58); break; case 594: - * c.getShops().openShop(59); break; case 579: - * c.getShops().openShop(60); break; case 2160: - * c.getShops().openShop(61); break; case 2191: - * c.getShops().openShop(61); break; case 589: - * c.getShops().openShop(62); break; case 549: - * c.getShops().openShop(63); break; case 542: - * c.getShops().openShop(64); break; case 3038: - * c.getShops().openShop(65); break; case 544: - * c.getShops().openShop(66); break; case 541: - * c.getShops().openShop(67); break; case 1434: - * c.getShops().openShop(68); break; case 577: - * c.getShops().openShop(69); break; case 539: - * c.getShops().openShop(70); break; case 1980: - * c.getShops().openShop(71); break; case 546: - * c.getShops().openShop(72); break; case 382: - * c.getShops().openShop(73); break; case 3541: - * c.getShops().openShop(74); break; case 520: - * c.getShops().openShop(75); break; case 1436: - * c.getShops().openShop(76); break; case 590: - * c.getShops().openShop(77); break; case 971: - * c.getShops().openShop(78); break; case 1917: - * c.getShops().openShop(79); break; case 1040: - * c.getShops().openShop(80); break; case 563: - * c.getShops().openShop(81); break; case 522: - * c.getShops().openShop(82); break; case 524: - * c.getShops().openShop(83); break; case 526: - * c.getShops().openShop(84); break; case 2154: - * c.getShops().openShop(85); break; case 1334: - * c.getShops().openShop(86); break; case 2552: - * c.getShops().openShop(87); break; case 528: - * c.getShops().openShop(88); break; case 1254: - * c.getShops().openShop(89); break; case 2086: - * c.getShops().openShop(90); break; case 3824: - * c.getShops().openShop(91); break; case 1866: - * c.getShops().openShop(92); break; case 1699: - * c.getShops().openShop(93); break; case 1282: - * c.getShops().openShop(94); break; case 530: - * c.getShops().openShop(95); break; case 516: - * c.getShops().openShop(96); break; case 560: - * c.getShops().openShop(97); break; case 471: - * c.getShops().openShop(98); break; case 1208: - * c.getShops().openShop(99); break; case 532: - * c.getShops().openShop(100); break; case 555: - * c.getShops().openShop(101); break; case 534: - * c.getShops().openShop(102); break; case 551: - * c.getShops().openShop(104); break; case 586: - * c.getShops().openShop(105); break; case 564: - * c.getShops().openShop(106); break; case 747: - * c.getShops().openShop(107); break; case 573: - * c.getShops().openShop(108); break; case 1316: - * c.getShops().openShop(108); break; case 1787: - * c.getShops().openShop(110); break; case 694: - * c.getShops().openShop(111); break; case 1526: - * c.getShops().openShop(112); break; case 568: - * c.getShops().openShop(113); break; case 1079: - * c.getShops().openShop(114); break; - */ - - } - } - - public void secondClickNpc(int npcType) { - String type = player.playerMagicBook == 0 ? "modern" : "ancient"; - player.clickNpcType = 0; - player.rememberNpcIndex = player.npcClickIndex; - player.npcClickIndex = 0; - Shops.openShop(player, npcType); - if (Fishing.fishingNPC(player, npcType)) { - Fishing.fishingNPC(player, 2, npcType); - } - if (Pets.isCat(npcType)) { - if (NpcHandler.npcs[player.rememberNpcIndex].spawnedBy == player.playerId) { - player.getDialogueHandler().sendDialogues(908, npcType); - } else { - player.getPacketSender().sendMessage("This is not your pet."); - } - } - switch (npcType) { - case 3021: - player.getFarmingTools().loadInterfaces(); - break; - + } + + public void secondClickNpc(int npcType) { + String type = player.playerMagicBook == 0 ? "modern" : "ancient"; + player.clickNpcType = 0; + player.rememberNpcIndex = player.npcClickIndex; + player.npcClickIndex = 0; + Shops.openShop(player, npcType); + if (Fishing.fishingNPC(player, npcType)) { + Fishing.fishingNPC(player, 2, npcType); + } + if (Pets.isCat(npcType)) { + if (NpcHandler.npcs[player.rememberNpcIndex].spawnedBy == player.playerId) { + player.getDialogueHandler().sendDialogues(908, npcType); + } else { + player.getPacketSender().sendMessage("This is not your pet."); + } + } + switch (npcType) { + case TOOL_LEPRECHAUN: + player.getFarmingTools().loadInterfaces(); + break; /*case 209: player.getShopAssistant().openShop(144); break;*/ - - - case 2437: - case 2438: - if (!player.getItemAssistant().playerHasItem(995, 1000)) { - player.getDialogueHandler().sendStatement("You need 1000 coins to go here!"); - return; - } - if (player.absX > 2619 && player.absX < 2622 && player.absY > 3680 && player.absY < 3689 && player.getItemAssistant().playerHasItem(995, 1000)) { - //Sailing.startTravel(c, 18); - player.getPlayerAssistant().startTeleport(2551, 3759, 0, "modern"); - player.getItemAssistant().deleteItem(995, 1000); - player.getDialogueHandler().sendStatement("You arrive safely."); - player.nextChat = 0; - } else { - if (player.getItemAssistant().playerHasItem(995, 1000)) { - //Sailing.startTravel(c, 17); - player.getPlayerAssistant().startTeleport(2620, 3686, 0, "modern"); - player.getItemAssistant().deleteItem(995, 1000); - player.getDialogueHandler().sendStatement("You arrive safely."); - player.nextChat = 0; - } - } - break; + case JARVALD_2437: + case JARVALD_2438: + if (!player.getItemAssistant().playerHasItem(995, 1000)) { + player.getDialogueHandler().sendStatement("You need 1000 coins to go here!"); + return; + } + if (player.absX > 2619 && player.absX < 2622 && player.absY > 3680 && player.absY < 3689 && player.getItemAssistant().playerHasItem(995, 1000)) { + //Sailing.startTravel(c, 18); + player.getPlayerAssistant().startTeleport(2551, 3759, 0, "modern"); + player.getItemAssistant().deleteItem(995, 1000); + player.getDialogueHandler().sendStatement("You arrive safely."); + player.nextChat = 0; + } else { + if (player.getItemAssistant().playerHasItem(995, 1000)) { + //Sailing.startTravel(c, 17); + player.getPlayerAssistant().startTeleport(2620, 3686, 0, "modern"); + player.getItemAssistant().deleteItem(995, 1000); + player.getDialogueHandler().sendStatement("You arrive safely."); + player.nextChat = 0; + } + } + break; + case VALAINE: + case SCAVVO: + int requiredQP = Math.min(32, QuestAssistant.MAXIMUM_QUESTPOINTS); + if (player.questPoints >= requiredQP) { + player.getShopAssistant().openShop(npcType); + } else { + player.getPacketSender().sendMessage("You need " + requiredQP + " quest points to open this shop."); + } + break; + case SEDRIDOR: + case WIZARD_DISTENTOR: + case WIZARD_CROMPERTY: + if (player.runeMist < 4 && player.playerRights <= 1) { + player.getDialogueHandler().sendStatement("You need to beat rune mysteries first to do this."); + player.nextChat = 0; + return; + } + player.getPlayerAssistant().startTeleport(2911, 4832, 0, type); + break; + case WYDIN: + player.getShopAssistant().openShop(34); + break; + case TANNER: + case SBOTT: + Tanning.sendTanningInterface(player); + break; + case MARTIN_THWAIT: + if (player.playerLevel[GameConstants.THIEVING] > 98) { + player.getShopAssistant().openShop(118); + } else if (player.playerLevel[GameConstants.THIEVING] > 49 + && player.playerLevel[GameConstants.AGILITY] > 49) { + player.getShopAssistant().openShop(118); + } else { + player.getPacketSender().sendMessage( + "You don't have the required skills to open this shop"); + } + break; + case ROAVAR: + if (player.getItemAssistant().playerHasItem(995, 5)) { + player.getItemAssistant().addItem(2955, 1); + player.getItemAssistant().deleteItem(995, 5); + } else { + player.getDialogueHandler().sendNpcChat1( + "You need 5 coins to buy a moonlight mead.", + player.talkingNpc, "Roavar"); + player.nextChat = 0; + } + break; + case BOB: + player.getShopAssistant().openShop(8); + break; + case SANIBOCH: + player.getDialogueHandler().sendDialogues(1053, npcType); + break; - case 537: - case 536: - int requiredQP = Math.min(32, QuestAssistant.MAXIMUM_QUESTPOINTS); - if (player.questPoints >= requiredQP) { - player.getShopAssistant().openShop(npcType); - } else { - player.getPacketSender().sendMessage("You need " + requiredQP + " quest points to open this shop."); - } - break; + /** + * Bankers + */ + case GNOME_BANKER: + case BANKER: + case BANKER_495: + case BANKER_496: + case BANKER_497: + case BANKER_498: + case BANKER_499: + case FAIRY_567: + case BANKER_953: + case BANKER_1036: + case BANKER_1360: + case GHOST_BANKER: + case BANKER_2163: + case BANKER_2164: + case EMERALD_BENEDICT: + case BANKER_2354: + case BANKER_2355: + case BANKER_2568: + case BANKER_2569: + case BANKER_2570: + case TZHAARKETZUH: + player.getPacketSender().openUpBank(); + break; + } + } - case 300: - if (player.runeMist < 4 && player.playerRights <= 1) { - player.getDialogueHandler().sendStatement("You need to beat rune mysteries first to do this."); - player.nextChat = 0; - return; - } - player.getPlayerAssistant().startTeleport(2911, 4832, 0, type); - break; + public void thirdClickNpc(int npcType) { + player.clickNpcType = 0; + player.rememberNpcIndex = player.npcClickIndex; + player.npcClickIndex = 0; + if (Pets.isCat(npcType)) { + if (NpcHandler.npcs[player.rememberNpcIndex].spawnedBy == player.playerId) { + player.getDialogueHandler().sendDialogues(910, npcType); + } else { + player.getPacketSender().sendMessage("This is not your pet."); + } + } + switch (npcType) { - case 557: - player.getShopAssistant().openShop(34); - break; + /** + * Banker + */ + case ARNOLD_LYDSPOR: + player.getPacketSender().openUpBank(); + break; + case FADLI: + player.getShopAssistant().openShop(143); + break; + case LANTHUS: + player.getShopAssistant().openShop(ShopAssistant.CASTLE_SHOP); + break; + case TURAEL: + case MAZCHNA: + case VANNAKA: + case CHAELDAR: + case DURADEL: + player.getShopAssistant().openShop(109); + break; + case SHANTAY: + if (player.getItemAssistant().playerHasItem(995, 5)) { + player.getPacketSender().sendMessage( + "You buy a shantay pass quickly."); + player.getItemAssistant().deleteItem(995, 5); + player.getItemAssistant().addItem(1854, 1); + } else { + player.getPacketSender().sendMessage( + "You need 5 coins to buy a pass."); + } + break; + case AUBURY: + if (player.runeMist < 4 && player.playerRights <= 1) { + player.getDialogueHandler().sendStatement("You need to beat rune mysteries first to do this."); + return; + } + String type = player.playerMagicBook == 0 ? "modern" : "ancient"; + player.getPlayerAssistant().startTeleport(2911, 4832, 0, type); + break; + case MAGE_OF_ZAMORAK: + if (player.playerLevel[GameConstants.RUNECRAFTING] < 35) { + player.getPacketSender().sendMessage("You need a Runecrafting level of 35 to enter the Abyss."); + return; + } + player.getPlayerAssistant().spellTeleport(3027, 4852, 0); + break; + case REWARDS_GUARDIAN: + player.getMageTrainingArena().openShop(); + break; + default: + if (player.playerRights == 3) { + Misc.println("Third Click NPC : " + npcType); + } + break; - case 804: - case 1041: - Tanning.sendTanningInterface(player); - break; - - case 2270: - if (player.playerLevel[GameConstants.THIEVING] > 98) { - player.getShopAssistant().openShop(118); - } else if (player.playerLevel[GameConstants.THIEVING] > 49 - && player.playerLevel[GameConstants.AGILITY] > 49) { - player.getShopAssistant().openShop(118); - } else { - player.getPacketSender().sendMessage( - "You don't have the required skills to open this shop"); - } - break; - - case 1042: - if (player.getItemAssistant().playerHasItem(995, 5)) { - player.getItemAssistant().addItem(2955, 1); - player.getItemAssistant().deleteItem(995, 5); - } else { - player.getDialogueHandler().sendNpcChat1( - "You need 5 coins to buy a moonlight mead.", - player.talkingNpc, "Roavar"); - player.nextChat = 0; - } - break; - - case 844: - case 462: - if (player.runeMist < 4 && player.playerRights <= 1) { - player.getDialogueHandler().sendStatement("You need to beat rune mysteries first to do this."); - player.nextChat = 0; - return; - } - player.getPlayerAssistant().startTeleport(2911, 4832, 0, type); - break; - - case 519: - player.getShopAssistant().openShop(8); - break; - - case 1595: - player.getDialogueHandler().sendDialogues(1053, npcType); - break; - - /** - * Bankers - */ - case 953: - case 166: - case 1702: - case 495: - case 496: - case 497: - case 498: - case 499: - case 567: - case 1036: - case 1360: - case 2163: - case 2164: - case 2354: - case 2355: - case 2568: - case 2569: - case 2570: - case 2271: - case 494: - case 2619: - player.getPacketSender().openUpBank(); - break; - } - } - - public void thirdClickNpc(int npcType) { - player.clickNpcType = 0; - player.rememberNpcIndex = player.npcClickIndex; - player.npcClickIndex = 0; - if (Pets.isCat(npcType)) { - if (NpcHandler.npcs[player.rememberNpcIndex].spawnedBy == player.playerId) { - player.getDialogueHandler().sendDialogues(910, npcType); - } else { - player.getPacketSender().sendMessage("This is not your pet."); - } - } - switch (npcType) { - - /** - * Banker - */ - case 3824: - player.getPacketSender().openUpBank(); - break; - - case 958: - player.getShopAssistant().openShop(143); - break; - - case 1526: - player.getShopAssistant().openShop(ShopAssistant.CASTLE_SHOP); - break; - - case 70: - case 1596: - case 1597: - case 1598: - case 1599: - player.getShopAssistant().openShop(109); - break; - - case 836: - if (player.getItemAssistant().playerHasItem(995, 5)) { - player.getPacketSender().sendMessage( - "You buy a shantay pass quickly."); - player.getItemAssistant().deleteItem(995, 5); - player.getItemAssistant().addItem(1854, 1); - } else { - player.getPacketSender().sendMessage( - "You need 5 coins to buy a pass."); - } - break; - case 553: - if (player.runeMist < 4 && player.playerRights <= 1) { - player.getDialogueHandler().sendStatement("You need to beat rune mysteries first to do this."); - return; - } - String type = player.playerMagicBook == 0 ? "modern" : "ancient"; - player.getPlayerAssistant().startTeleport(2911, 4832, 0, type); - break; - - case 2258: - if (player.playerLevel[GameConstants.RUNECRAFTING] < 35) { - player.getPacketSender().sendMessage("You need a Runecrafting level of 35 to enter the Abyss."); - return; - } - player.getPlayerAssistant().spellTeleport(3027, 4852, 0); - break; - - case 3103: // Mage arena point shop - player.getMageTrainingArena().openShop(); - - default: - if (player.playerRights == 3) { - Misc.println("Third Click NPC : " + npcType); - } - break; - - } - } + } + } }