From 9efcb103f11d7eec246e98e464edc5fb9e2077c4 Mon Sep 17 00:00:00 2001 From: jamix77 <> Date: Sun, 29 Mar 2020 18:07:38 +0100 Subject: [PATCH 1/3] Fixed many small bugs. Fixed the small stuff for the big picture. --- Server/data/eco/grand_exchange_db.emp | Bin 138082 -> 138082 bytes Server/data/eco/offer_dispatch_db.emp | Bin 3583221 -> 3597974 bytes .../plugin/dialogue/AnjaDialoguePlugin.java | 144 ++++++++++++++++++ .../dialogue/GoblinVillageGuardDialogue.java | 77 ++++++++++ .../plugin/dialogue/HengelDialoguePlugin.java | 115 ++++++++++++++ Server/src/plugin/dialogue/LeelaDialogue.java | 2 +- Server/src/plugin/dialogue/NarfsDialogue.java | 2 +- .../object/ReadSignPostPlugin.java | 17 ++- Server/src/plugin/npc/other/GuardNPC.java | 2 + 9 files changed, 352 insertions(+), 7 deletions(-) create mode 100644 Server/src/plugin/dialogue/AnjaDialoguePlugin.java create mode 100644 Server/src/plugin/dialogue/GoblinVillageGuardDialogue.java create mode 100644 Server/src/plugin/dialogue/HengelDialoguePlugin.java diff --git a/Server/data/eco/grand_exchange_db.emp b/Server/data/eco/grand_exchange_db.emp index a464ce8d5a4c1a2a5b30b4822f81cb7ba9b2d11d..819a139f215a0ebdb3addb37d012894405abe2b0 100644 GIT binary patch delta 25 gcmaE~jpNZa4h{we#zGa5kg!IMRu0Ck986Kt0BZ;a=l}o! delta 25 gcmaE~jpNZa4h{we#zJ}jsE>^ttsIP7IhdlP0d%qlzW@LL diff --git a/Server/data/eco/offer_dispatch_db.emp b/Server/data/eco/offer_dispatch_db.emp index e72a0c90ee35cc5a764251b19d5e246f2614cd35..697287cefcb0c9b2cfa3bfcdab6e62442b0e9a2e 100644 GIT binary patch delta 14044 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 w1m9#fqt)Zl<{R2(wE8&c@>bF2b%7 delta 199 zcmW-bw?P5{004ax$4d}Fkt87D0Tb~jaSeu`xD{XtT02%?0AL16dyy-yxayYML-4!X z2VDFUe9sq1AeV9_*K#Abl8{qRN+@@dlC)$bEBBI<2gyr89_2}j@+>7OOGT Varrock.", "The River Lum lies to
the south.", "West to
Lumbridge.", "East to Al
Kharid - toll
gate; bring some
money."), NEAR_VARROCK(24263, "Varrock", "Lumbridge", "Draynor Manor", "Dig Site"); + NEAR_LUMBRIDGE(18493, "North to farms and
Varrock.", "The River Lum lies to
the south.", "West to
Lumbridge.", "East to Al
Kharid - toll
gate; bring some
money."), NEAR_VARROCK(24263, "Sheep lay this way.", "South through farms
to Al Kharid and
Lumbridge", "West to Champion's Guild
and Varrock south
gate.", "East to Al Kharid mine and
follow the path north to
Varrock east gate."); public static Signs forId(int id) { for (Signs sign : Signs.values()) { @@ -76,10 +76,17 @@ public class ReadSignPostPlugin extends OptionHandler { if (sign == null) { return false; } - player.getPacketDispatch().sendString(sign.directions[0], 135, 3); // North - player.getPacketDispatch().sendString(sign.directions[1], 135, 9); // South - player.getPacketDispatch().sendString(sign.directions[2], 135, 12); // West - player.getPacketDispatch().sendString(sign.directions[3], 135, 8); // East + String[] dirs = sign.directions; + if (object.getLocation().getX() == 3107 && object.getLocation().getY() == 3296) { + dirs[0] = "North to Draynor
Manor"; + dirs[1] = "South to Draynor
Village"; + dirs[2] = "West to Port
Sarim"; + dirs[3] = "East to
Lumbridge"; + } + player.getPacketDispatch().sendString(dirs[0], 135, 3); // North + player.getPacketDispatch().sendString(dirs[1], 135, 9); // South + player.getPacketDispatch().sendString(dirs[2], 135, 12); // West + player.getPacketDispatch().sendString(dirs[3], 135, 8); // East return true; } diff --git a/Server/src/plugin/npc/other/GuardNPC.java b/Server/src/plugin/npc/other/GuardNPC.java index 150d52a2b..c142f510b 100644 --- a/Server/src/plugin/npc/other/GuardNPC.java +++ b/Server/src/plugin/npc/other/GuardNPC.java @@ -22,6 +22,7 @@ public final class GuardNPC extends AbstractNPC { */ public GuardNPC() { super(0, null, true); + this.setAggressive(false); } /** @@ -31,6 +32,7 @@ public final class GuardNPC extends AbstractNPC { */ private GuardNPC(int id, Location location) { super(id, location, true); + this.setAggressive(false); } @Override From 9f11a21858f03109d79ff7ca1346661b79b61213 Mon Sep 17 00:00:00 2001 From: jamix77 <> Date: Sun, 29 Mar 2020 18:10:04 +0100 Subject: [PATCH 2/3] Revert "Fixed many small bugs." This reverts commit 9efcb103f11d7eec246e98e464edc5fb9e2077c4. --- Server/data/eco/grand_exchange_db.emp | Bin 138082 -> 138082 bytes Server/data/eco/offer_dispatch_db.emp | Bin 3597974 -> 3583221 bytes .../plugin/dialogue/AnjaDialoguePlugin.java | 144 ------------------ .../dialogue/GoblinVillageGuardDialogue.java | 77 ---------- .../plugin/dialogue/HengelDialoguePlugin.java | 115 -------------- Server/src/plugin/dialogue/LeelaDialogue.java | 2 +- Server/src/plugin/dialogue/NarfsDialogue.java | 2 +- .../object/ReadSignPostPlugin.java | 17 +-- Server/src/plugin/npc/other/GuardNPC.java | 2 - 9 files changed, 7 insertions(+), 352 deletions(-) delete mode 100644 Server/src/plugin/dialogue/AnjaDialoguePlugin.java delete mode 100644 Server/src/plugin/dialogue/GoblinVillageGuardDialogue.java delete mode 100644 Server/src/plugin/dialogue/HengelDialoguePlugin.java diff --git a/Server/data/eco/grand_exchange_db.emp b/Server/data/eco/grand_exchange_db.emp index 819a139f215a0ebdb3addb37d012894405abe2b0..a464ce8d5a4c1a2a5b30b4822f81cb7ba9b2d11d 100644 GIT binary patch delta 25 gcmaE~jpNZa4h{we#zJ}jsE>^ttsIP7IhdlP0d%qlzW@LL delta 25 gcmaE~jpNZa4h{we#zGa5kg!IMRu0Ck986Kt0BZ;a=l}o! diff --git a/Server/data/eco/offer_dispatch_db.emp b/Server/data/eco/offer_dispatch_db.emp index 697287cefcb0c9b2cfa3bfcdab6e62442b0e9a2e..e72a0c90ee35cc5a764251b19d5e246f2614cd35 100644 GIT binary patch delta 199 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 w1m9#fqt)Zl<{R2(wE8&c@>bF2b%7 diff --git a/Server/src/plugin/dialogue/AnjaDialoguePlugin.java b/Server/src/plugin/dialogue/AnjaDialoguePlugin.java deleted file mode 100644 index 83b1819ad..000000000 --- a/Server/src/plugin/dialogue/AnjaDialoguePlugin.java +++ /dev/null @@ -1,144 +0,0 @@ -package plugin.dialogue; - -import org.crandor.game.content.dialogue.DialoguePlugin; -import org.crandor.game.content.dialogue.FacialExpression; -import org.crandor.game.node.entity.npc.NPC; -import org.crandor.game.node.entity.player.Player; -import org.crandor.game.node.item.Item; -import org.crandor.game.world.map.RegionManager; -import org.crandor.plugin.InitializablePlugin; -import org.crandor.tools.RandomFunction; - -/** - * Represents the dialogue plugin used for the anja npc. - * @author jamix77 - */ -@InitializablePlugin -public final class AnjaDialoguePlugin extends DialoguePlugin { - - /** - * - * Constructs a new @{Code AnjaDialoguePlugin} object. - */ - public AnjaDialoguePlugin() { - /** - * empty. - */ - } - - /** - * Constructs a new {@code AjjatDialoguePlugin} {@code Object}. - * @param player the player. - */ - public AnjaDialoguePlugin(Player player) { - super(player); - } - - @Override - public DialoguePlugin newInstance(Player player) { - return new AnjaDialoguePlugin(player); - } - - @Override - public boolean open(Object... args) { - npc = (NPC) args[0]; - player("Hello."); - stage = 0; - return true; - } - - @Override - public boolean handle(int interfaceId, int buttonId) { - switch (stage) { - case 0: - npc("Hello sir. What are you doing in my house?"); - stage = 1; - break; - case 1: - interpreter.sendOptions("Select an Option", "I'm just wandering around.", "I was hoping you'd give me some free stuff.", "I've come to kill you."); - stage = 2; - break; - case 2: - if (buttonId == 1) { - player("I'm just wondering around."); - stage = 3; - } else if (buttonId == 2) { - player("I was hoping you'd give me some free stuff."); - stage = 10; - } else if (buttonId == 3) { - player("I've come to kill you."); - stage = 13; - } - break; - case 3: - npc("Oh dear are you lost?"); - stage++; - break; - case 4: - interpreter.sendOptions("Select an Option.", "Yes, I'm lost.", "No, I know where I am."); - stage++; - break; - case 5: - switch (buttonId) { - case 1: - player("Yes, I'm lost."); - stage =6; - break; - case 2: - player("No I know where I am."); - stage = 8; - break; - } - break; - case 6: - npc("Okay, just walk north-east when you leave this house,","and soon you'll reach the big city of Falador."); - stage++; - break; - case 7: - player("Thanks a lot."); - stage = 605; - break; - case 8: - npc("Oh? Well, would you mind wandering somewhere else?", "This is my house."); - stage++; - break; - case 9: - player("Meh!"); - stage = 605; - break; - case 10: - String[] dialogues = {"Do you REALLY need it","I don't have much on me...", "I don't know..."}; - npc(dialogues[RandomFunction.random(0, 2)]); - stage++; - break; - case 11: - interpreter.sendDialogues(player, FacialExpression.ASKING, "I promise I'll stop bothering you!", "Pleeease!","Pwetty pleathe wiv thugar on top!"); - stage++; - break; - case 12: - npc("Oh, alright. Here you go."); - player.getInventory().add(new Item(995,RandomFunction.random(1, 3))); - stage = 605; - break; - case 13: - npc.sendChat("Eeeek!"); - for (NPC npc1 : RegionManager.getLocalNpcs(player)) { - if (npc1.getName().equalsIgnoreCase("Hengel")) { - npc1.sendChat("Aaaaarrgh!"); - break; - } - } - end(); - break; - case 605: - end(); - break; - } - return true; - } - - @Override - public int[] getIds() { - return new int[] { 2684 }; - } -} diff --git a/Server/src/plugin/dialogue/GoblinVillageGuardDialogue.java b/Server/src/plugin/dialogue/GoblinVillageGuardDialogue.java deleted file mode 100644 index 2b44206ec..000000000 --- a/Server/src/plugin/dialogue/GoblinVillageGuardDialogue.java +++ /dev/null @@ -1,77 +0,0 @@ -package plugin.dialogue; - -import org.crandor.game.content.dialogue.DialoguePlugin; -import org.crandor.game.node.entity.npc.NPC; -import org.crandor.game.node.entity.player.Player; -import org.crandor.plugin.InitializablePlugin; - -/** - * Represents the dialogue plugin used for the goblin village guard npc. - * @author jamix77 - */ -@InitializablePlugin -public final class GoblinVillageGuardDialogue extends DialoguePlugin { - - /** - * - * Constructs a new @{Code HengelDialoguePlugin} object. - */ - public GoblinVillageGuardDialogue() { - /** - * empty. - */ - } - - /** - * - * Constructs a new @{Code GoblinVillageGuardDialogue} object. - * @param player - */ - public GoblinVillageGuardDialogue(Player player) { - super(player); - } - - @Override - public DialoguePlugin newInstance(Player player) { - return new GoblinVillageGuardDialogue(player); - } - - @Override - public boolean open(Object... args) { - npc = (NPC) args[0]; - player("You're a long way out from the city."); - stage = 0; - return true; - } - - @Override - public boolean handle(int interfaceId, int buttonId) { - switch (stage) { - case 0: - npc("I know. We guards uaully stay by banks and shops,", "but I got sent all the way out here to keep an eye on","the brigands loitering just south of here."); - stage = 1; - break; - case 1: - player("Sounds more exciting than standing", "around guarding banks and shops."); - stage = 2; - break; - case 2: - npc("It's not too bad. At least I don't get attacked so often", "out here. Guards in the cities get killed all the time."); - stage++; - break; - case 3: - player("Honestly people these days just don't know how to behave!"); - stage++; - break; - case 4: - end(); - break; - } - return true; - } - - @Override - public int[] getIds() { - return new int[] { 3241 }; - } -} diff --git a/Server/src/plugin/dialogue/HengelDialoguePlugin.java b/Server/src/plugin/dialogue/HengelDialoguePlugin.java deleted file mode 100644 index 3ac4ce64e..000000000 --- a/Server/src/plugin/dialogue/HengelDialoguePlugin.java +++ /dev/null @@ -1,115 +0,0 @@ -package plugin.dialogue; - -import org.crandor.game.content.dialogue.DialoguePlugin; -import org.crandor.game.node.entity.npc.NPC; -import org.crandor.game.node.entity.player.Player; -import org.crandor.game.world.map.RegionManager; -import org.crandor.plugin.InitializablePlugin; - -/** - * Represents the dialogue plugin used for the hengel npc. - * @author jamix77 - */ -@InitializablePlugin -public final class HengelDialoguePlugin extends DialoguePlugin { - - /** - * - * Constructs a new @{Code HengelDialoguePlugin} object. - */ - public HengelDialoguePlugin() { - /** - * empty. - */ - } - - /** - * Constructs a new {@code AjjatDialoguePlugin} {@code Object}. - * @param player the player. - */ - public HengelDialoguePlugin(Player player) { - super(player); - } - - @Override - public DialoguePlugin newInstance(Player player) { - return new HengelDialoguePlugin(player); - } - - @Override - public boolean open(Object... args) { - npc = (NPC) args[0]; - player("Hello."); - stage = 0; - return true; - } - - @Override - public boolean handle(int interfaceId, int buttonId) { - switch (stage) { - case 0: - npc("What are you doing here?"); - stage = 1; - break; - case 1: - interpreter.sendOptions("Select an Option", "I'm just wandering around.", "I was hoping you'd give me some free stuff.", "I've come to kill you."); - stage = 2; - break; - case 2: - if (buttonId == 1) { - player("I'm just wondering around."); - stage = 3; - } else if (buttonId == 2) { - player("I was hoping you'd give me some free stuff."); - stage = 7; - } else if (buttonId == 3) { - player("I've come to kill you."); - stage = 9; - } - break; - case 3: - npc("You do realise you're wandering around in my house?"); - stage++; - break; - case 4: - player("Yep."); - stage++; - break; - case 5: - npc("Well please get out!"); - stage++; - break; - case 6: - player("Sheesh, keep your wig on!"); - stage = 605; - break; - case 7: - npc("No, I jolly well wouldn't!","Get out of my house"); - stage++; - break; - case 8: - player("Meanie!"); - stage = 605; - break; - case 9: - npc.sendChat("Aaaaarrgh!"); - for (NPC npc1 : RegionManager.getLocalNpcs(player)) { - if (npc1.getName().equalsIgnoreCase("anja")) { - npc1.sendChat("Eeeek!"); - break; - } - } - end(); - break; - case 605: - end(); - break; - } - return true; - } - - @Override - public int[] getIds() { - return new int[] { 2683 }; - } -} diff --git a/Server/src/plugin/dialogue/LeelaDialogue.java b/Server/src/plugin/dialogue/LeelaDialogue.java index 9bccce231..95c8af6ae 100644 --- a/Server/src/plugin/dialogue/LeelaDialogue.java +++ b/Server/src/plugin/dialogue/LeelaDialogue.java @@ -305,7 +305,7 @@ public final class LeelaDialogue extends DialoguePlugin { stage = 21; break; case 21: - interpreter.sendDialogues(npc, null, "Get some soft clay and get her to show you the key", "somehow. Then take the print, with bronze, to my", "father."); + interpreter.sendDialogues(npc, null, "Get some soft clay and get her to sho you the key", "somehow. Then take the print, with bronze, to my", "father."); stage = 22; break; case 22: diff --git a/Server/src/plugin/dialogue/NarfsDialogue.java b/Server/src/plugin/dialogue/NarfsDialogue.java index 2effd8426..bc88e3d60 100644 --- a/Server/src/plugin/dialogue/NarfsDialogue.java +++ b/Server/src/plugin/dialogue/NarfsDialogue.java @@ -58,7 +58,7 @@ public class NarfsDialogue extends DialoguePlugin { @Override public boolean open(Object... args) { npc = (NPC) args[0]; - interpreter.sendDialogues(player, FacialExpression.HALF_GUILTY, "That's a funny name you've got."); + interpreter.sendDialogues(npc, FacialExpression.HALF_GUILTY, "That's a funny name you've got."); stage = 1; return true; } diff --git a/Server/src/plugin/interaction/object/ReadSignPostPlugin.java b/Server/src/plugin/interaction/object/ReadSignPostPlugin.java index 82bd962bd..2ea0be403 100644 --- a/Server/src/plugin/interaction/object/ReadSignPostPlugin.java +++ b/Server/src/plugin/interaction/object/ReadSignPostPlugin.java @@ -25,7 +25,7 @@ public class ReadSignPostPlugin extends OptionHandler { * @author 'Vexia */ public enum Signs { - NEAR_LUMBRIDGE(18493, "North to farms and
Varrock.", "The River Lum lies to
the south.", "West to
Lumbridge.", "East to Al
Kharid - toll
gate; bring some
money."), NEAR_VARROCK(24263, "Sheep lay this way.", "South through farms
to Al Kharid and
Lumbridge", "West to Champion's Guild
and Varrock south
gate.", "East to Al Kharid mine and
follow the path north to
Varrock east gate."); + NEAR_LUMBRIDGE(18493, "North to farms and
Varrock.", "The River Lum lies to
the south.", "West to
Lumbridge.", "East to Al
Kharid - toll
gate; bring some
money."), NEAR_VARROCK(24263, "Varrock", "Lumbridge", "Draynor Manor", "Dig Site"); public static Signs forId(int id) { for (Signs sign : Signs.values()) { @@ -76,17 +76,10 @@ public class ReadSignPostPlugin extends OptionHandler { if (sign == null) { return false; } - String[] dirs = sign.directions; - if (object.getLocation().getX() == 3107 && object.getLocation().getY() == 3296) { - dirs[0] = "North to Draynor
Manor"; - dirs[1] = "South to Draynor
Village"; - dirs[2] = "West to Port
Sarim"; - dirs[3] = "East to
Lumbridge"; - } - player.getPacketDispatch().sendString(dirs[0], 135, 3); // North - player.getPacketDispatch().sendString(dirs[1], 135, 9); // South - player.getPacketDispatch().sendString(dirs[2], 135, 12); // West - player.getPacketDispatch().sendString(dirs[3], 135, 8); // East + player.getPacketDispatch().sendString(sign.directions[0], 135, 3); // North + player.getPacketDispatch().sendString(sign.directions[1], 135, 9); // South + player.getPacketDispatch().sendString(sign.directions[2], 135, 12); // West + player.getPacketDispatch().sendString(sign.directions[3], 135, 8); // East return true; } diff --git a/Server/src/plugin/npc/other/GuardNPC.java b/Server/src/plugin/npc/other/GuardNPC.java index c142f510b..150d52a2b 100644 --- a/Server/src/plugin/npc/other/GuardNPC.java +++ b/Server/src/plugin/npc/other/GuardNPC.java @@ -22,7 +22,6 @@ public final class GuardNPC extends AbstractNPC { */ public GuardNPC() { super(0, null, true); - this.setAggressive(false); } /** @@ -32,7 +31,6 @@ public final class GuardNPC extends AbstractNPC { */ private GuardNPC(int id, Location location) { super(id, location, true); - this.setAggressive(false); } @Override From 2bbde08a014f0fc99c8bd200b4fd956e222f16b7 Mon Sep 17 00:00:00 2001 From: jamix77 <> Date: Sun, 29 Mar 2020 18:13:01 +0100 Subject: [PATCH 3/3] Fixes yeah fixes stuff tyvm --- .../plugin/dialogue/AnjaDialoguePlugin.java | 144 ++++++++++++++++++ .../dialogue/GoblinVillageGuardDialogue.java | 77 ++++++++++ .../plugin/dialogue/HengelDialoguePlugin.java | 115 ++++++++++++++ Server/src/plugin/dialogue/LeelaDialogue.java | 2 +- Server/src/plugin/dialogue/NarfsDialogue.java | 2 +- .../object/ReadSignPostPlugin.java | 17 ++- Server/src/plugin/npc/other/GuardNPC.java | 2 + 7 files changed, 352 insertions(+), 7 deletions(-) create mode 100644 Server/src/plugin/dialogue/AnjaDialoguePlugin.java create mode 100644 Server/src/plugin/dialogue/GoblinVillageGuardDialogue.java create mode 100644 Server/src/plugin/dialogue/HengelDialoguePlugin.java diff --git a/Server/src/plugin/dialogue/AnjaDialoguePlugin.java b/Server/src/plugin/dialogue/AnjaDialoguePlugin.java new file mode 100644 index 000000000..83b1819ad --- /dev/null +++ b/Server/src/plugin/dialogue/AnjaDialoguePlugin.java @@ -0,0 +1,144 @@ +package plugin.dialogue; + +import org.crandor.game.content.dialogue.DialoguePlugin; +import org.crandor.game.content.dialogue.FacialExpression; +import org.crandor.game.node.entity.npc.NPC; +import org.crandor.game.node.entity.player.Player; +import org.crandor.game.node.item.Item; +import org.crandor.game.world.map.RegionManager; +import org.crandor.plugin.InitializablePlugin; +import org.crandor.tools.RandomFunction; + +/** + * Represents the dialogue plugin used for the anja npc. + * @author jamix77 + */ +@InitializablePlugin +public final class AnjaDialoguePlugin extends DialoguePlugin { + + /** + * + * Constructs a new @{Code AnjaDialoguePlugin} object. + */ + public AnjaDialoguePlugin() { + /** + * empty. + */ + } + + /** + * Constructs a new {@code AjjatDialoguePlugin} {@code Object}. + * @param player the player. + */ + public AnjaDialoguePlugin(Player player) { + super(player); + } + + @Override + public DialoguePlugin newInstance(Player player) { + return new AnjaDialoguePlugin(player); + } + + @Override + public boolean open(Object... args) { + npc = (NPC) args[0]; + player("Hello."); + stage = 0; + return true; + } + + @Override + public boolean handle(int interfaceId, int buttonId) { + switch (stage) { + case 0: + npc("Hello sir. What are you doing in my house?"); + stage = 1; + break; + case 1: + interpreter.sendOptions("Select an Option", "I'm just wandering around.", "I was hoping you'd give me some free stuff.", "I've come to kill you."); + stage = 2; + break; + case 2: + if (buttonId == 1) { + player("I'm just wondering around."); + stage = 3; + } else if (buttonId == 2) { + player("I was hoping you'd give me some free stuff."); + stage = 10; + } else if (buttonId == 3) { + player("I've come to kill you."); + stage = 13; + } + break; + case 3: + npc("Oh dear are you lost?"); + stage++; + break; + case 4: + interpreter.sendOptions("Select an Option.", "Yes, I'm lost.", "No, I know where I am."); + stage++; + break; + case 5: + switch (buttonId) { + case 1: + player("Yes, I'm lost."); + stage =6; + break; + case 2: + player("No I know where I am."); + stage = 8; + break; + } + break; + case 6: + npc("Okay, just walk north-east when you leave this house,","and soon you'll reach the big city of Falador."); + stage++; + break; + case 7: + player("Thanks a lot."); + stage = 605; + break; + case 8: + npc("Oh? Well, would you mind wandering somewhere else?", "This is my house."); + stage++; + break; + case 9: + player("Meh!"); + stage = 605; + break; + case 10: + String[] dialogues = {"Do you REALLY need it","I don't have much on me...", "I don't know..."}; + npc(dialogues[RandomFunction.random(0, 2)]); + stage++; + break; + case 11: + interpreter.sendDialogues(player, FacialExpression.ASKING, "I promise I'll stop bothering you!", "Pleeease!","Pwetty pleathe wiv thugar on top!"); + stage++; + break; + case 12: + npc("Oh, alright. Here you go."); + player.getInventory().add(new Item(995,RandomFunction.random(1, 3))); + stage = 605; + break; + case 13: + npc.sendChat("Eeeek!"); + for (NPC npc1 : RegionManager.getLocalNpcs(player)) { + if (npc1.getName().equalsIgnoreCase("Hengel")) { + npc1.sendChat("Aaaaarrgh!"); + break; + } + } + end(); + break; + case 605: + end(); + break; + } + return true; + } + + @Override + public int[] getIds() { + return new int[] { 2684 }; + } +} diff --git a/Server/src/plugin/dialogue/GoblinVillageGuardDialogue.java b/Server/src/plugin/dialogue/GoblinVillageGuardDialogue.java new file mode 100644 index 000000000..2b44206ec --- /dev/null +++ b/Server/src/plugin/dialogue/GoblinVillageGuardDialogue.java @@ -0,0 +1,77 @@ +package plugin.dialogue; + +import org.crandor.game.content.dialogue.DialoguePlugin; +import org.crandor.game.node.entity.npc.NPC; +import org.crandor.game.node.entity.player.Player; +import org.crandor.plugin.InitializablePlugin; + +/** + * Represents the dialogue plugin used for the goblin village guard npc. + * @author jamix77 + */ +@InitializablePlugin +public final class GoblinVillageGuardDialogue extends DialoguePlugin { + + /** + * + * Constructs a new @{Code HengelDialoguePlugin} object. + */ + public GoblinVillageGuardDialogue() { + /** + * empty. + */ + } + + /** + * + * Constructs a new @{Code GoblinVillageGuardDialogue} object. + * @param player + */ + public GoblinVillageGuardDialogue(Player player) { + super(player); + } + + @Override + public DialoguePlugin newInstance(Player player) { + return new GoblinVillageGuardDialogue(player); + } + + @Override + public boolean open(Object... args) { + npc = (NPC) args[0]; + player("You're a long way out from the city."); + stage = 0; + return true; + } + + @Override + public boolean handle(int interfaceId, int buttonId) { + switch (stage) { + case 0: + npc("I know. We guards uaully stay by banks and shops,", "but I got sent all the way out here to keep an eye on","the brigands loitering just south of here."); + stage = 1; + break; + case 1: + player("Sounds more exciting than standing", "around guarding banks and shops."); + stage = 2; + break; + case 2: + npc("It's not too bad. At least I don't get attacked so often", "out here. Guards in the cities get killed all the time."); + stage++; + break; + case 3: + player("Honestly people these days just don't know how to behave!"); + stage++; + break; + case 4: + end(); + break; + } + return true; + } + + @Override + public int[] getIds() { + return new int[] { 3241 }; + } +} diff --git a/Server/src/plugin/dialogue/HengelDialoguePlugin.java b/Server/src/plugin/dialogue/HengelDialoguePlugin.java new file mode 100644 index 000000000..3ac4ce64e --- /dev/null +++ b/Server/src/plugin/dialogue/HengelDialoguePlugin.java @@ -0,0 +1,115 @@ +package plugin.dialogue; + +import org.crandor.game.content.dialogue.DialoguePlugin; +import org.crandor.game.node.entity.npc.NPC; +import org.crandor.game.node.entity.player.Player; +import org.crandor.game.world.map.RegionManager; +import org.crandor.plugin.InitializablePlugin; + +/** + * Represents the dialogue plugin used for the hengel npc. + * @author jamix77 + */ +@InitializablePlugin +public final class HengelDialoguePlugin extends DialoguePlugin { + + /** + * + * Constructs a new @{Code HengelDialoguePlugin} object. + */ + public HengelDialoguePlugin() { + /** + * empty. + */ + } + + /** + * Constructs a new {@code AjjatDialoguePlugin} {@code Object}. + * @param player the player. + */ + public HengelDialoguePlugin(Player player) { + super(player); + } + + @Override + public DialoguePlugin newInstance(Player player) { + return new HengelDialoguePlugin(player); + } + + @Override + public boolean open(Object... args) { + npc = (NPC) args[0]; + player("Hello."); + stage = 0; + return true; + } + + @Override + public boolean handle(int interfaceId, int buttonId) { + switch (stage) { + case 0: + npc("What are you doing here?"); + stage = 1; + break; + case 1: + interpreter.sendOptions("Select an Option", "I'm just wandering around.", "I was hoping you'd give me some free stuff.", "I've come to kill you."); + stage = 2; + break; + case 2: + if (buttonId == 1) { + player("I'm just wondering around."); + stage = 3; + } else if (buttonId == 2) { + player("I was hoping you'd give me some free stuff."); + stage = 7; + } else if (buttonId == 3) { + player("I've come to kill you."); + stage = 9; + } + break; + case 3: + npc("You do realise you're wandering around in my house?"); + stage++; + break; + case 4: + player("Yep."); + stage++; + break; + case 5: + npc("Well please get out!"); + stage++; + break; + case 6: + player("Sheesh, keep your wig on!"); + stage = 605; + break; + case 7: + npc("No, I jolly well wouldn't!","Get out of my house"); + stage++; + break; + case 8: + player("Meanie!"); + stage = 605; + break; + case 9: + npc.sendChat("Aaaaarrgh!"); + for (NPC npc1 : RegionManager.getLocalNpcs(player)) { + if (npc1.getName().equalsIgnoreCase("anja")) { + npc1.sendChat("Eeeek!"); + break; + } + } + end(); + break; + case 605: + end(); + break; + } + return true; + } + + @Override + public int[] getIds() { + return new int[] { 2683 }; + } +} diff --git a/Server/src/plugin/dialogue/LeelaDialogue.java b/Server/src/plugin/dialogue/LeelaDialogue.java index 95c8af6ae..9bccce231 100644 --- a/Server/src/plugin/dialogue/LeelaDialogue.java +++ b/Server/src/plugin/dialogue/LeelaDialogue.java @@ -305,7 +305,7 @@ public final class LeelaDialogue extends DialoguePlugin { stage = 21; break; case 21: - interpreter.sendDialogues(npc, null, "Get some soft clay and get her to sho you the key", "somehow. Then take the print, with bronze, to my", "father."); + interpreter.sendDialogues(npc, null, "Get some soft clay and get her to show you the key", "somehow. Then take the print, with bronze, to my", "father."); stage = 22; break; case 22: diff --git a/Server/src/plugin/dialogue/NarfsDialogue.java b/Server/src/plugin/dialogue/NarfsDialogue.java index bc88e3d60..2effd8426 100644 --- a/Server/src/plugin/dialogue/NarfsDialogue.java +++ b/Server/src/plugin/dialogue/NarfsDialogue.java @@ -58,7 +58,7 @@ public class NarfsDialogue extends DialoguePlugin { @Override public boolean open(Object... args) { npc = (NPC) args[0]; - interpreter.sendDialogues(npc, FacialExpression.HALF_GUILTY, "That's a funny name you've got."); + interpreter.sendDialogues(player, FacialExpression.HALF_GUILTY, "That's a funny name you've got."); stage = 1; return true; } diff --git a/Server/src/plugin/interaction/object/ReadSignPostPlugin.java b/Server/src/plugin/interaction/object/ReadSignPostPlugin.java index 2ea0be403..82bd962bd 100644 --- a/Server/src/plugin/interaction/object/ReadSignPostPlugin.java +++ b/Server/src/plugin/interaction/object/ReadSignPostPlugin.java @@ -25,7 +25,7 @@ public class ReadSignPostPlugin extends OptionHandler { * @author 'Vexia */ public enum Signs { - NEAR_LUMBRIDGE(18493, "North to farms and
Varrock.", "The River Lum lies to
the south.", "West to
Lumbridge.", "East to Al
Kharid - toll
gate; bring some
money."), NEAR_VARROCK(24263, "Varrock", "Lumbridge", "Draynor Manor", "Dig Site"); + NEAR_LUMBRIDGE(18493, "North to farms and
Varrock.", "The River Lum lies to
the south.", "West to
Lumbridge.", "East to Al
Kharid - toll
gate; bring some
money."), NEAR_VARROCK(24263, "Sheep lay this way.", "South through farms
to Al Kharid and
Lumbridge", "West to Champion's Guild
and Varrock south
gate.", "East to Al Kharid mine and
follow the path north to
Varrock east gate."); public static Signs forId(int id) { for (Signs sign : Signs.values()) { @@ -76,10 +76,17 @@ public class ReadSignPostPlugin extends OptionHandler { if (sign == null) { return false; } - player.getPacketDispatch().sendString(sign.directions[0], 135, 3); // North - player.getPacketDispatch().sendString(sign.directions[1], 135, 9); // South - player.getPacketDispatch().sendString(sign.directions[2], 135, 12); // West - player.getPacketDispatch().sendString(sign.directions[3], 135, 8); // East + String[] dirs = sign.directions; + if (object.getLocation().getX() == 3107 && object.getLocation().getY() == 3296) { + dirs[0] = "North to Draynor
Manor"; + dirs[1] = "South to Draynor
Village"; + dirs[2] = "West to Port
Sarim"; + dirs[3] = "East to
Lumbridge"; + } + player.getPacketDispatch().sendString(dirs[0], 135, 3); // North + player.getPacketDispatch().sendString(dirs[1], 135, 9); // South + player.getPacketDispatch().sendString(dirs[2], 135, 12); // West + player.getPacketDispatch().sendString(dirs[3], 135, 8); // East return true; } diff --git a/Server/src/plugin/npc/other/GuardNPC.java b/Server/src/plugin/npc/other/GuardNPC.java index 150d52a2b..c142f510b 100644 --- a/Server/src/plugin/npc/other/GuardNPC.java +++ b/Server/src/plugin/npc/other/GuardNPC.java @@ -22,6 +22,7 @@ public final class GuardNPC extends AbstractNPC { */ public GuardNPC() { super(0, null, true); + this.setAggressive(false); } /** @@ -31,6 +32,7 @@ public final class GuardNPC extends AbstractNPC { */ private GuardNPC(int id, Location location) { super(id, location, true); + this.setAggressive(false); } @Override