diff --git a/scripts/expertise/expertise_fs_path_saber_reflect_1.py b/scripts/expertise/expertise_fs_path_saber_reflect_1.py index 8a78f62b..ff019b2d 100644 --- a/scripts/expertise/expertise_fs_path_saber_reflect_1.py +++ b/scripts/expertise/expertise_fs_path_saber_reflect_1.py @@ -1,9 +1,9 @@ import sys def addAbilities(core, actor, player): - actor.addAbility("fs_saber_reflect") + actor.addAbility("fs_saber_reflect_buff") return def removeAbilities(core, actor, player): - actor.removeAbility("fs_saber_reflect") + actor.removeAbility("fs_saber_reflect_buff") return diff --git a/scripts/object/intangible/vehicle/barc_speeder_pcd.py b/scripts/object/intangible/vehicle/barc_speeder_pcd.py index ccad8904..e9fa1234 100644 --- a/scripts/object/intangible/vehicle/barc_speeder_pcd.py +++ b/scripts/object/intangible/vehicle/barc_speeder_pcd.py @@ -1,4 +1,15 @@ import sys def setup(core, object): + object.setAttachment('radial_filename', 'vehicle_pcd') + return + +def use(core, actor, object): + if object and actor.getAttachment('activeVehicleID') == None: + barc = core.objectService.createObject('object/mobile/vehicle/shared_barc_speeder.iff', 0, actor.getPlanet(), actor.getPosition(), actor.getOrientation()) + + barc.setOwnerId(actor.getObjectID()) + actor.setAttachment('activeVehicleID', barc.getObjectID()) + + core.simulationService.add(barc, barc.getPosition().x, barc.getPosition().z, True) return \ No newline at end of file diff --git a/scripts/object/intangible/vehicle/landspeeder_tantive4_pcd.py b/scripts/object/intangible/vehicle/landspeeder_tantive4_pcd.py index ccad8904..ff8849f4 100644 --- a/scripts/object/intangible/vehicle/landspeeder_tantive4_pcd.py +++ b/scripts/object/intangible/vehicle/landspeeder_tantive4_pcd.py @@ -1,4 +1,15 @@ import sys def setup(core, object): + object.setAttachment('radial_filename', 'vehicle_pcd') + return + +def use(core, actor, object): + if object and actor.getAttachment('activeVehicleID') == None: + tantive4 = core.objectService.createObject('object/mobile/vehicle/shared_landspeeder_tantive4.iff', 0, actor.getPlanet(), actor.getPosition(), actor.getOrientation()) + + tantive4.setOwnerId(actor.getObjectID()) + actor.setAttachment('activeVehicleID', tantive4.getObjectID()) + + core.simulationService.add(tantive4, tantive4.getPosition().x, tantive4.getPosition().z, True) return \ No newline at end of file diff --git a/scripts/object/mobile/vehicle/barc_speeder.py b/scripts/object/mobile/vehicle/barc_speeder.py index ccad8904..4626c764 100644 --- a/scripts/object/mobile/vehicle/barc_speeder.py +++ b/scripts/object/mobile/vehicle/barc_speeder.py @@ -1,4 +1,16 @@ import sys def setup(core, object): + object.setAttachment('radial_filename', 'vehicle') + return + +def use(core, actor, object): + vehicle = actor.getContainer() + + if vehicle: + if vehicle.getObjectID() == object.getObjectID(): + vehicle.remove(actor) + else: + vehicle.add(actor) + return \ No newline at end of file diff --git a/scripts/object/mobile/vehicle/landspeeder_tantive4.py b/scripts/object/mobile/vehicle/landspeeder_tantive4.py index ccad8904..1e2994c6 100644 --- a/scripts/object/mobile/vehicle/landspeeder_tantive4.py +++ b/scripts/object/mobile/vehicle/landspeeder_tantive4.py @@ -1,4 +1,20 @@ import sys +def setup(core, object): + object.setAttachment('radial_filename', 'vehicle') + return + +def use(core, actor, object): + vehicle = actor.getContainer() + + if vehicle: + if vehicle.getObjectID() == object.getObjectID(): + vehicle.remove(actor) + else: + vehicle.add(actor) + + return +import sys + def setup(core, object): return \ No newline at end of file diff --git a/scripts/object/tangible/deed/vehicle_deed/barc_speeder_deed.py b/scripts/object/tangible/deed/vehicle_deed/barc_speeder_deed.py index ccad8904..af21fb67 100644 --- a/scripts/object/tangible/deed/vehicle_deed/barc_speeder_deed.py +++ b/scripts/object/tangible/deed/vehicle_deed/barc_speeder_deed.py @@ -1,4 +1,24 @@ import sys def setup(core, object): + object.setAttachment('radial_filename', 'vehicleDeed') + return + +def use(core, actor, object): + datapad = actor.getSlottedObject('datapad') + pcd = core.objectService.createObject('object/intangible/vehicle/shared_barc_speeder_pcd.iff', actor.getPlanet(), actor.getPosition().x, actor.getPosition().z,actor.getPosition().y) + + if datapad and pcd: + + datapad.add(pcd) + core.objectService.destroyObject(object) + + vehicleId = actor.getAttachment('activeVehicleID') + + if vehicleId == None: + vehicle = core.objectService.createObject('object/mobile/vehicle/shared_barc_speeder.iff', actor.getPlanet(), actor.getPosition().x, actor.getPosition().z,actor.getPosition().y) + vehicle.setOwnerId(actor.getObjectID()) + core.simulationService.add(vehicle, vehicle.getPosition().x, vehicle.getPosition().z, True) + actor.setAttachment('activeVehicleID', vehicle.getObjectID()) + return \ No newline at end of file diff --git a/scripts/object/tangible/deed/vehicle_deed/landspeeder_tantive4_deed.py b/scripts/object/tangible/deed/vehicle_deed/landspeeder_tantive4_deed.py index ccad8904..92a45a9d 100644 --- a/scripts/object/tangible/deed/vehicle_deed/landspeeder_tantive4_deed.py +++ b/scripts/object/tangible/deed/vehicle_deed/landspeeder_tantive4_deed.py @@ -1,4 +1,24 @@ import sys def setup(core, object): + object.setAttachment('radial_filename', 'vehicleDeed') + return + +def use(core, actor, object): + datapad = actor.getSlottedObject('datapad') + pcd = core.objectService.createObject('object/intangible/vehicle/shared_landspeeder_tantive4_pcd.iff', actor.getPlanet(), actor.getPosition().x, actor.getPosition().z,actor.getPosition().y) + + if datapad and pcd: + + datapad.add(pcd) + core.objectService.destroyObject(object) + + vehicleId = actor.getAttachment('activeVehicleID') + + if vehicleId == None: + vehicle = core.objectService.createObject('object/mobile/vehicle/shared_landspeeder_tantive4.iff', actor.getPlanet(), actor.getPosition().x, actor.getPosition().z,actor.getPosition().y) + vehicle.setOwnerId(actor.getObjectID()) + core.simulationService.add(vehicle, vehicle.getPosition().x, vehicle.getPosition().z, True) + actor.setAttachment('activeVehicleID', vehicle.getObjectID()) + return \ No newline at end of file diff --git a/scripts/radial/vehicle.py b/scripts/radial/vehicle.py index 2cf9f19b..9c5a8e96 100644 --- a/scripts/radial/vehicle.py +++ b/scripts/radial/vehicle.py @@ -23,7 +23,7 @@ def handleSelection(core, owner, target, option): target.unmount(owner) if option == 60: - if owner.isMounted(): vehicleObject.unmount(owner) + if owner.isMounted(): target.unmount(owner) core.objectService.destroyObject(target) owner.setAttachment('activeVehicleID', None) return \ No newline at end of file diff --git a/src/services/BuffService.java b/src/services/BuffService.java index 36a0154f..71f44a0d 100644 --- a/src/services/BuffService.java +++ b/src/services/BuffService.java @@ -88,6 +88,9 @@ public class BuffService implements INetworkDispatch { }*/ Buff buff = buffMap.get(buffName); + + if(buff == null) return false; + if(buff.isGroupBuff()) { addGroupBuff(buffer, buffName, buffer); return true; diff --git a/src/services/SimulationService.java b/src/services/SimulationService.java index 67406a06..36ae2775 100644 --- a/src/services/SimulationService.java +++ b/src/services/SimulationService.java @@ -763,7 +763,6 @@ public class SimulationService implements INetworkDispatch { core.combatService.handleEndDuel(object, opponent, true); } } - System.out.print(object.getAttachment("activeVehicleID")); if(object.getAttachment("activeVehicleID") != null) {