From 60239a38cf3b76cbd2de4ccc090a84eec8681b72 Mon Sep 17 00:00:00 2001 From: Mr Extremez Date: Mon, 13 Jan 2020 06:53:18 -0600 Subject: [PATCH] A few changes (#362) - Stalls now dissapear when thieving them - Added the missing coal rock in barbarian village - Added some height level checks for object spawns --- .../game/content/skills/core/Mining.java | 2 +- .../game/content/skills/thieving/Stalls.java | 28 ++++++++++++++----- .../game/content/traveling/Desert.java | 4 +-- .../com/rebotted/game/items/impl/Flowers.java | 6 ++-- .../rebotted/game/objects/ObjectsActions.java | 13 +++++++-- .../game/objects/impl/SpecialObjects.java | 6 ++-- .../net/packets/impl/ClickObject.java | 9 ------ .../src/com/rebotted/world/ObjectHandler.java | 4 +-- 8 files changed, 42 insertions(+), 30 deletions(-) diff --git a/2006Redone Server/src/com/rebotted/game/content/skills/core/Mining.java b/2006Redone Server/src/com/rebotted/game/content/skills/core/Mining.java index 37bfdb27..d45d9fe3 100644 --- a/2006Redone Server/src/com/rebotted/game/content/skills/core/Mining.java +++ b/2006Redone Server/src/com/rebotted/game/content/skills/core/Mining.java @@ -58,7 +58,7 @@ public class Mining { BLURITE(new int[] { 10574, 10583, 10584, 2110 }, 10, 20, 1, 42, new int[] { 668 }), IRON(new int[] { 2093, 2092, 9717, 9718, 9719, 11962, 11956, 11954, 14856, 14857, 14858, 14914, 14913 }, 15, 35, 2, 9, new int[] { 440 }), 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 }, 30, 50, 4, 50, new int[] { 453 }), + 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 }), diff --git a/2006Redone Server/src/com/rebotted/game/content/skills/thieving/Stalls.java b/2006Redone Server/src/com/rebotted/game/content/skills/thieving/Stalls.java index b2830ab2..37627522 100644 --- a/2006Redone Server/src/com/rebotted/game/content/skills/thieving/Stalls.java +++ b/2006Redone Server/src/com/rebotted/game/content/skills/thieving/Stalls.java @@ -26,12 +26,14 @@ public class Stalls { new int[] { i("cabbage seed"), 1 }, new int[] {i("tomato seed"), 1 }, new int[] { i("sweetcorn seed"), 1 }, new int[] { i("strawberry seed"), 1 }, new int[] {i("watermelon seed"), 1 }, new int[] {i("barley seed"), 1 }, new int[] { i("jute seed"), 1 }, new int[] { i("marigold seed"), 1 }, new int[] {i("rosemary seed"), 1 }, new int[] {i("hammerstone seed"), 1 }, new int[] {i("asgarnain seed"), 1 }, new int[] {i("yanillian seed"), 1 }, - new int[] {i("krandorian seed"), 1 }, new int[] {i("wildblood seed"), 1 }), FUR_STALL(2563, 35, 36, 0, new int[] { 6814, 1 }, new int[] { 958, 1 }), + new int[] {i("krandorian seed"), 1 }, new int[] {i("wildblood seed"), 1 }), + FUR_STALL(2563, 35, 36, 0, new int[] { 6814, 1 }, new int[] { 958, 1 }), FUR_STALL2(4278, 35, 36, 0, new int[] { 6814, 1 }, new int[] { 958, 1 }), FISH_STALL(4705, 42, 42, 0, new int[] { 359, 1 }), FISH_STALL2(4277, 42, 42, 0, new int[] { 359, 1 }), SILVER_STALL(2565, 50, 54, 2, new int[] { 442, 1 }, new int[] { 2355, 1 }), - SPICE_STALL(2564, 65, 81.3, 0, new int[] { 2007, 1 }, new int[] { 946, 1 }, new int[] { 1550, 1 }), GEM_STALL(2562, 75, 160, 3, + SPICE_STALL(2564, 65, 81.3, 0, new int[] { 2007, 1 }, new int[] { 946, 1 }, new int[] { 1550, 1 }), + GEM_STALL(2562, 75, 160, 3, new int[] { 1617, 1 }, new int[] { 1619, 1 }, new int[] { 1621, 1 }, new int[] { 1623, 1 }), MAGIC_STALL(4877, 65, 100, 0, new int[] {i("air rune"), 1}, new int[] {i("water rune"), 1}, new int[] {i("fire rune"), 1}, new int[] {i("law rune"), 1}), SCIMITAR_STALL(4878, 65, 100, 0, new int[] {i("iron scimitar"), 1}, new int[] {i("steel scimitar"), 1}); @@ -140,9 +142,8 @@ public class Stalls { } p.startAnimation(832); RandomEventHandler.addRandom(p); - int respawnTime = getRespawnTime(objectId); - GameEngine.objectHandler.createAnObject(p, 634, x, y, s.getFace()); - //new Object(634, x, y, 0, s.getFace(), 10, objectId, respawnTime); + int respawnTime = getRespawnTime(s.getObject()); + GameEngine.objectHandler.createAnObject(p, 634, x, y, 0, getSpecialFace(p, s)); p.getPlayerAssistant().addSkillXP((int) s.getXp(), p.playerThieving); int[] random = s.getStalls()[Misc.random(s.getStalls().length-1)]; s.respawnTime = System.currentTimeMillis() + (respawnTime * GameConstants.CYCLE_TIME); @@ -152,8 +153,7 @@ public class Stalls { CycleEventHandler.getSingleton().addEvent(p, new CycleEvent() { @Override public void execute(CycleEventContainer container) { - GameEngine.objectHandler.createAnObject(p, s.getObject(), x, y, s.getFace()); - //new Object(objectId, x, y, 0, s.getFace(), 10, j, getRespawnTime(objectId)); + GameEngine.objectHandler.createAnObject(p, s.getObject(), x, y, 0, getSpecialFace(p, s)); p.setHasThievedStall(false); container.stop(); } @@ -164,6 +164,20 @@ public class Stalls { } } } + + private static int getSpecialFace(Player player, stallData s) { + int face; + if (player.objectX == 3083 && player.objectY == 3251) { + face = 3; + } else if (player.objectX == 3075 && player.objectY == 3249) { + face = 1; + } else if (player.objectX == 3079 && player.objectY == 3253) { + face = 2; + } else { + face = s.getFace(); + } + return face; + } private static int getRespawnTime(int i) { switch (i) { diff --git a/2006Redone Server/src/com/rebotted/game/content/traveling/Desert.java b/2006Redone Server/src/com/rebotted/game/content/traveling/Desert.java index 07d4ddf7..c68affa2 100644 --- a/2006Redone Server/src/com/rebotted/game/content/traveling/Desert.java +++ b/2006Redone Server/src/com/rebotted/game/content/traveling/Desert.java @@ -87,7 +87,7 @@ public class Desert { } c.startAnimation(CUTTING_ANIMATION); c.getPacketSender().sendMessage("You slash away the cactus."); - GameEngine.objectHandler.createAnObject(c, DRY_CACTUS, obX, obY, -1); + GameEngine.objectHandler.createAnObject(c, DRY_CACTUS, obX, obY, c.heightLevel, -1); for (int element[] : FILLS) { if (c.getItemAssistant().playerHasItem(element[0])) { c.getItemAssistant().deleteItem(element[0], c.getItemAssistant().getItemSlot(element[0]), 1); @@ -118,7 +118,7 @@ public class Desert { CycleEventHandler.getSingleton().addEvent(c, new CycleEvent() { @Override public void execute(CycleEventContainer container) { - GameEngine.objectHandler.createAnObject(c, objectId, obX, obY, -1); + GameEngine.objectHandler.createAnObject(c, objectId, obX, obY, c.heightLevel, -1); container.stop(); } @Override diff --git a/2006Redone Server/src/com/rebotted/game/items/impl/Flowers.java b/2006Redone Server/src/com/rebotted/game/items/impl/Flowers.java index 332223b3..f8cfa981 100644 --- a/2006Redone Server/src/com/rebotted/game/items/impl/Flowers.java +++ b/2006Redone Server/src/com/rebotted/game/items/impl/Flowers.java @@ -77,7 +77,7 @@ public class Flowers { coords[0] = c.absX; coords[1] = c.absY; updateConstants(newFlower, c); - GameEngine.objectHandler.createAnObject(c, newFlower, coords[0], coords[1], + GameEngine.objectHandler.createAnObject(c, newFlower, coords[0], coords[1], c.heightLevel, 1); deleteSeeds(c); sendOptions(c); @@ -87,7 +87,7 @@ public class Flowers { CycleEventHandler.getSingleton().addEvent(c, new CycleEvent() { @Override public void execute(CycleEventContainer container) { - GameEngine.objectHandler.createAnObject(c, -1, coords[0], coords[1], 1); + GameEngine.objectHandler.createAnObject(c, -1, coords[0], coords[1], c.heightLevel, 1); c.getPacketSender().sendMessage( "Your flower is no longer flourishing."); container.stop(); } @@ -165,7 +165,7 @@ public class Flowers { player.startAnimation(827); // c.getPA().checkObjectSpawn(c,-1, c.getX()+1, c.getY(), 1, 10); // c.getPA().object(c,-1, c.getX()+1, c.getY(), 1, 10); - GameEngine.objectHandler.createAnObject(player, -1, player.getX() + 1, player.getY(), 1); + GameEngine.objectHandler.createAnObject(player, -1, player.getX() + 1, player.getY(), player.getH(), 1); player.turnPlayerTo(player.getX() + 1, player.getY()); } diff --git a/2006Redone Server/src/com/rebotted/game/objects/ObjectsActions.java b/2006Redone Server/src/com/rebotted/game/objects/ObjectsActions.java index d9ec3c38..6db0e7f8 100644 --- a/2006Redone Server/src/com/rebotted/game/objects/ObjectsActions.java +++ b/2006Redone Server/src/com/rebotted/game/objects/ObjectsActions.java @@ -70,7 +70,6 @@ public class ObjectsActions { if (player.stopPlayerPacket) { return; } - //LogCutting.resetFletching(player); if (player.getGnomeStrongHold().gnomeCourse(objectType)) { return; } @@ -114,6 +113,10 @@ public class ObjectsActions { // if its a rock we can mine, mine it if (Mining.rockExists(objectType)) player.getMining().startMining(player, objectType, player.objectX, player.objectY, player.clickObjectType); + if (Stalls.isObject(objectType)) { + Stalls.attemptStall(player, objectType, objectX, objectY); + return; + } switch (objectType) { case 6: player.getCannon().clickCannon(objectX, objectY); @@ -2091,7 +2094,7 @@ public class ObjectsActions { case 2403:// should be 2418 but not working if (player.shieldArrav >= 6 && player.getItemAssistant().playerHasItem(759)) { - GameEngine.objectHandler.createAnObject(player, 2604, objectX, objectY, 0); + GameEngine.objectHandler.createAnObject(player, 2604, objectX, objectY, player.heightLevel, 0); Region.addObject(2604, objectX, objectY, 0, 0, 0, false); } else { @@ -2115,7 +2118,7 @@ public class ObjectsActions { player.getPacketSender().object(3194, 3381, 3269, 0, 2, 10); Region.addObject(3194, 3381, 3269, 0, 10, 2, false); } else { - GameEngine.objectHandler.createAnObject(player, 3194, objectX, objectY, -1); + GameEngine.objectHandler.createAnObject(player, 3194, objectX, objectY, player.heightLevel, -1); } break; @@ -2555,6 +2558,10 @@ public class ObjectsActions { if (!Region.objectExists(objectType, obX, obY, player.heightLevel)) { return; } + if (Stalls.isObject(objectType)) { + Stalls.attemptStall(player, objectType, obX, obY); + return; + } switch (objectType) { case 6: player.getCannon().loadCannon(obX, obY); diff --git a/2006Redone Server/src/com/rebotted/game/objects/impl/SpecialObjects.java b/2006Redone Server/src/com/rebotted/game/objects/impl/SpecialObjects.java index 31bdaaec..04481990 100644 --- a/2006Redone Server/src/com/rebotted/game/objects/impl/SpecialObjects.java +++ b/2006Redone Server/src/com/rebotted/game/objects/impl/SpecialObjects.java @@ -54,9 +54,9 @@ public class SpecialObjects { public static void openShantayChest(Player player, int objectId, int obX, int obY, String type) { if (type == "open") { - GameEngine.objectHandler.createAnObject(player, 104, obX, obY, -1); + GameEngine.objectHandler.createAnObject(player, 104, obX, obY, player.heightLevel, -1); } else if (type == "shut") { - GameEngine.objectHandler.createAnObject(player, 2693, obX, obY, -1); + GameEngine.objectHandler.createAnObject(player, 2693, obX, obY, player.heightLevel, -1); } } @@ -66,7 +66,7 @@ public class SpecialObjects { player.nextChat = 0; return; } - GameEngine.objectHandler.createAnObject(player, -1, player.objectX, player.objectY, -1); + GameEngine.objectHandler.createAnObject(player, -1, player.objectX, player.objectY, player.heightLevel, -1); final int[] coords = new int[2]; openKharid(player, objectId); if (player.absX == 3267) { diff --git a/2006Redone Server/src/com/rebotted/net/packets/impl/ClickObject.java b/2006Redone Server/src/com/rebotted/net/packets/impl/ClickObject.java index 47d94073..6fb18350 100644 --- a/2006Redone Server/src/com/rebotted/net/packets/impl/ClickObject.java +++ b/2006Redone Server/src/com/rebotted/net/packets/impl/ClickObject.java @@ -126,11 +126,6 @@ public class ClickObject implements PacketType { //todo: check if it's a door before fire handle Doors.getSingleton().handleDoor(p, p.objectId, p.objectX, p.objectY, p.heightLevel); - if (Stalls.isObject(p.objectId)) { - Stalls.attemptStall(p, p.objectId, p.objectX, p.objectX); - return; - } - if (p.teleTimer > 0) { p.getPacketSender().sendMessage("You cannot use objects while teleporting."); return; @@ -394,10 +389,6 @@ public class ClickObject implements PacketType { if (p.playerRights == 3) { p.getPacketSender().sendMessage("ObjectId: " + p.objectId + " ObjectX: " + p.objectX + " ObjectY: " + p.objectY + " Objectclick = 2, Xoff: " + (p.getX() - p.objectX) + " Yoff: " + (p.getY() - p.objectY)); } - if (Stalls.isObject(p.objectId)) { - Stalls.attemptStall(p, p.objectId, p.objectX, p.objectX); - return; - } p.getObjects().secondClickObject(p.objectId, p.objectX, p.objectY); break; diff --git a/2006Redone Server/src/com/rebotted/world/ObjectHandler.java b/2006Redone Server/src/com/rebotted/world/ObjectHandler.java index c05932eb..3db0c9c6 100644 --- a/2006Redone Server/src/com/rebotted/world/ObjectHandler.java +++ b/2006Redone Server/src/com/rebotted/world/ObjectHandler.java @@ -63,8 +63,8 @@ public class ObjectHandler { GameEngine.objectHandler.placeObject(OBJECT); } - public void createAnObject(Player player, int id, int x, int y, int face) { - Objects OBJECT = new Objects(id, x, y, 0, face, 10, 0); + public void createAnObject(Player player, int id, int x, int y, int h, int face) { + Objects OBJECT = new Objects(id, x, y, h, face, 10, 0); if (id == -1) { removeObject(OBJECT); } else {