diff --git a/GameServer/src/org/moparscape/msc/config/Formulae.java b/GameServer/src/org/moparscape/msc/config/Formulae.java index 1f3aa3d..7c0f9be 100644 --- a/GameServer/src/org/moparscape/msc/config/Formulae.java +++ b/GameServer/src/org/moparscape/msc/config/Formulae.java @@ -132,7 +132,20 @@ public class Formulae { } return 1.0D; } - + public static int[] getBoltIDs() { + final int[] freeBolts = {190}; + if(!Config.members) { + return freeBolts; + } + return boltIDs; + } + public static int[] getArrowIDs() { + final int[] freeArrows = {11}; + if(!Config.members) { + return freeArrows; + } + return boltIDs; + } /** * Returns a power to assosiate with each arrow */ diff --git a/GameServer/src/org/moparscape/msc/gs/event/RangeEvent.java b/GameServer/src/org/moparscape/msc/gs/event/RangeEvent.java index 9dbc014..be066b3 100644 --- a/GameServer/src/org/moparscape/msc/gs/event/RangeEvent.java +++ b/GameServer/src/org/moparscape/msc/gs/event/RangeEvent.java @@ -92,7 +92,7 @@ public class RangeEvent extends DelayedEvent { } boolean xbow = DataConversions.inArray(Formulae.xbowIDs, bowID); int arrowID = -1; - for (int aID : (xbow ? Formulae.boltIDs : Formulae.arrowIDs)) { + for (int aID : (xbow ? Formulae.getBoltIDs() : Formulae.getArrowIDs())) { int slot = owner.getInventory().getLastIndexById(aID); if (slot < 0) { continue; diff --git a/GameServer/src/org/moparscape/msc/gs/model/Npc.java b/GameServer/src/org/moparscape/msc/gs/model/Npc.java index 64bffbf..41bd1c2 100644 --- a/GameServer/src/org/moparscape/msc/gs/model/Npc.java +++ b/GameServer/src/org/moparscape/msc/gs/model/Npc.java @@ -351,7 +351,7 @@ public class Npc extends Mob { || !p.nextTo(this) || !p.getLocation().inBounds(loc.minX - 4, loc.minY - 4, loc.maxX + 4, - loc.maxY + 4)) { + loc.maxY + 4) || GameEngine.getTime() - p.getLastPing() > 60000) { continue; }