diff --git a/ngengine_public.jar b/ngengine_public.jar index 326b2a85..c1ff368c 100644 Binary files a/ngengine_public.jar and b/ngengine_public.jar differ diff --git a/scripts/commands/boardshuttle.py b/scripts/commands/boardshuttle.py index f84f7e9b..398a4674 100644 --- a/scripts/commands/boardshuttle.py +++ b/scripts/commands/boardshuttle.py @@ -30,7 +30,7 @@ def run(core, actor, target, commandString): if nearestPoint.isShuttleAvailable() is False and nearestPoint.isShuttleDeparting() is True: actor.sendSystemMessage('@travel:shuttle_not_available', 0) return - elif nearestPoint.getSecondsRemaining() == 0: + elif nearestPoint.getSecondsRemaining() <= 0: actor.sendSystemMessage('The next shuttle is about to begin boarding.', 0) return else: diff --git a/scripts/object/building/corellia/bank_corellia.py b/scripts/object/building/corellia/bank_corellia.py index ccad8904..8a96a6ad 100644 --- a/scripts/object/building/corellia/bank_corellia.py +++ b/scripts/object/building/corellia/bank_corellia.py @@ -1,4 +1,12 @@ import sys def setup(core, object): + + objSvc = core.objectService + + objSvc.createChildObject(object, 'object/tangible/terminal/shared_terminal_bank.iff', 0, 0.5, 4.2, 0, 1) + objSvc.createChildObject(object, 'object/tangible/terminal/shared_terminal_bank.iff', 0, 0.5, -4.2, 1, 0) + objSvc.createChildObject(object, 'object/tangible/terminal/shared_terminal_bank.iff', 4.2, 0.5, 0.707107, 0.707107, 1) + objSvc.createChildObject(object, 'object/tangible/terminal/shared_terminal_bank.iff', -4.2, 0.5, 0, -0.707107, 0.707107) + return \ No newline at end of file diff --git a/scripts/object/building/naboo/bank_naboo.py b/scripts/object/building/naboo/bank_naboo.py index ccad8904..8a96a6ad 100644 --- a/scripts/object/building/naboo/bank_naboo.py +++ b/scripts/object/building/naboo/bank_naboo.py @@ -1,4 +1,12 @@ import sys def setup(core, object): + + objSvc = core.objectService + + objSvc.createChildObject(object, 'object/tangible/terminal/shared_terminal_bank.iff', 0, 0.5, 4.2, 0, 1) + objSvc.createChildObject(object, 'object/tangible/terminal/shared_terminal_bank.iff', 0, 0.5, -4.2, 1, 0) + objSvc.createChildObject(object, 'object/tangible/terminal/shared_terminal_bank.iff', 4.2, 0.5, 0.707107, 0.707107, 1) + objSvc.createChildObject(object, 'object/tangible/terminal/shared_terminal_bank.iff', -4.2, 0.5, 0, -0.707107, 0.707107) + return \ No newline at end of file diff --git a/scripts/object/building/tatooine/bank_tatooine.py b/scripts/object/building/tatooine/bank_tatooine.py index ccad8904..8a96a6ad 100644 --- a/scripts/object/building/tatooine/bank_tatooine.py +++ b/scripts/object/building/tatooine/bank_tatooine.py @@ -1,4 +1,12 @@ import sys def setup(core, object): + + objSvc = core.objectService + + objSvc.createChildObject(object, 'object/tangible/terminal/shared_terminal_bank.iff', 0, 0.5, 4.2, 0, 1) + objSvc.createChildObject(object, 'object/tangible/terminal/shared_terminal_bank.iff', 0, 0.5, -4.2, 1, 0) + objSvc.createChildObject(object, 'object/tangible/terminal/shared_terminal_bank.iff', 4.2, 0.5, 0.707107, 0.707107, 1) + objSvc.createChildObject(object, 'object/tangible/terminal/shared_terminal_bank.iff', -4.2, 0.5, 0, -0.707107, 0.707107) + return \ No newline at end of file diff --git a/scripts/object/creature/npc/theme_park/player_shuttle.py b/scripts/object/creature/npc/theme_park/player_shuttle.py index e1dd8242..57a5dcc3 100644 --- a/scripts/object/creature/npc/theme_park/player_shuttle.py +++ b/scripts/object/creature/npc/theme_park/player_shuttle.py @@ -2,6 +2,7 @@ import sys def setup(core, object): object.setPosture(0) # land = 0 : away = 2 + object.setOptionsBitmask(256) tp = core.travelService.getNearestTravelPoint(object) if tp: tp.setShuttle(object) diff --git a/scripts/object/creature/npc/theme_park/player_transport.py b/scripts/object/creature/npc/theme_park/player_transport.py index e1dd8242..57a5dcc3 100644 --- a/scripts/object/creature/npc/theme_park/player_transport.py +++ b/scripts/object/creature/npc/theme_park/player_transport.py @@ -2,6 +2,7 @@ import sys def setup(core, object): object.setPosture(0) # land = 0 : away = 2 + object.setOptionsBitmask(256) tp = core.travelService.getNearestTravelPoint(object) if tp: tp.setShuttle(object) diff --git a/src/resources/objects/creature/CreatureMessageBuilder.java b/src/resources/objects/creature/CreatureMessageBuilder.java index 0f5d71bf..0a09f314 100644 --- a/src/resources/objects/creature/CreatureMessageBuilder.java +++ b/src/resources/objects/creature/CreatureMessageBuilder.java @@ -119,14 +119,14 @@ public class CreatureMessageBuilder extends ObjectMessageBuilder { buffer.putInt(1); buffer.putInt(0); // TANO Data buffer.putInt(0); - buffer.putInt(0x80); // 0x80 = Player, 0x08 = Quest NPC, + buffer.putInt(creature.getOptionsBitmask()); // 0x80 = Player, 0x08 = Quest NPC, buffer.putInt(creature.getIncapTimer()); buffer.putInt(0); buffer.putInt(0x3A98); buffer.put((byte) 1); + buffer.put((byte) creature.getPosture()); buffer.put((byte) 0); - buffer.put((byte) 1); buffer.putLong(creature.getOwnerId()); diff --git a/src/resources/objects/creature/CreatureObject.java b/src/resources/objects/creature/CreatureObject.java index 23307378..705898a2 100644 --- a/src/resources/objects/creature/CreatureObject.java +++ b/src/resources/objects/creature/CreatureObject.java @@ -944,13 +944,13 @@ public class CreatureObject extends TangibleObject implements IPersistent { upvpm.setFaction(UpdatePVPStatusMessage.factionCRC.Rebel); upvpm.setStatus(55); } - if(factionStatus == 0 && faction == "neutral") { + if(factionStatus == 0 && faction == "neutral" && getClient() != null) { upvpm.setFaction(UpdatePVPStatusMessage.factionCRC.Neutral); upvpm.setStatus(16); } else { upvpm.setFaction(UpdatePVPStatusMessage.factionCRC.Neutral); - upvpm.setStatus(16); + upvpm.setStatus(0); } destination.getSession().write(upvpm.serialize()); } diff --git a/src/services/CharacterService.java b/src/services/CharacterService.java index 050b6ab7..4d60f425 100644 --- a/src/services/CharacterService.java +++ b/src/services/CharacterService.java @@ -217,6 +217,7 @@ public class CharacterService implements INetworkDispatch { object.setPosition(new Point3D(3528, 0, -4804)); object.setCashCredits(100); object.setBankCredits(1000); + object.setOptionsBitmask(0x80); //object.setPosition(new Point3D(0, 0, 0)); object.setOrientation(new Quaternion(1, 0, 0, 0)); float luck = (((((float) (core.scriptService.getMethod("scripts/roadmap/", clientCreateCharacter.getProfession(), "getLuck").__call__().asInt()) + (core.scriptService.getMethod("scripts/roadmap/", object.getStfName(), "getLuck").__call__().asInt())) / ((float) 90)) * ((float) object.getLevel())) - ((float) object.getSkillModBase("luck"))); diff --git a/src/services/object/ObjectService.java b/src/services/object/ObjectService.java index 3fe26398..f7595124 100644 --- a/src/services/object/ObjectService.java +++ b/src/services/object/ObjectService.java @@ -485,11 +485,11 @@ public class ObjectService implements INetworkDispatch { CmdStartScene startScene = new CmdStartScene((byte) 0, objectId, creature.getPlanet().getPath(), creature.getTemplate(), position.x, position.y, position.z, System.currentTimeMillis() / 1000, 0); session.write(startScene.serialize()); - creature.makeAware(creature); creature.makeAware(core.guildService.getGuildObject()); core.simulationService.handleZoneIn(client); + creature.makeAware(creature); CmdSceneReady sceneReady = new CmdSceneReady(); client.getSession().write(sceneReady.serialize()); diff --git a/src/services/travel/TravelPoint.java b/src/services/travel/TravelPoint.java index 6b1130ad..ce67d8f1 100644 --- a/src/services/travel/TravelPoint.java +++ b/src/services/travel/TravelPoint.java @@ -170,9 +170,9 @@ public class TravelPoint { setShuttleLanding(true); getShuttle().setPosture((byte) 0); if(isStarport()) - Thread.sleep(16000); + Thread.sleep(21000); else - Thread.sleep(13000); + Thread.sleep(17000); } catch (InterruptedException e) {