diff --git a/scripts/radial/lifeday_gift.py b/scripts/radial/lifeday_gift.py index f498c4bc..696d7662 100644 --- a/scripts/radial/lifeday_gift.py +++ b/scripts/radial/lifeday_gift.py @@ -53,5 +53,5 @@ def handleSelection(core, actor, object, option): inventory.add(reward1) inventory.add(reward2) - core.commandService.callCommand(actor, 'serverdestroyobject', object, None) + core.objectService.destroyObject(object) return diff --git a/scripts/radial/travel_ticket.py b/scripts/radial/travel_ticket.py index fd898498..fbb150e9 100644 --- a/scripts/radial/travel_ticket.py +++ b/scripts/radial/travel_ticket.py @@ -2,7 +2,7 @@ from resources.common import RadialOptions import sys def createRadial(core, owner, target, radials): - radials.clear + radials.clear() radials.add(RadialOptions(0, 21, 1, 'Use Travel Ticket')) #radials.add(RadialOptions(0, 7, 1, '')) @@ -21,7 +21,7 @@ def handleSelection(core, owner, target, option): if tp.isShuttleAvailable() is True: core.travelService.doTransport(owner, core.travelService.getTravelPointByName(target.getStringAttribute('@obj_attr_n:travel_arrival_planet'), target.getStringAttribute('@obj_attr_n:travel_arrival_point'))) - core.commandService.callCommand(owner, 'serverdestroyobject', target, None) + core.objectService.destroyObject(target) return return else: @@ -31,7 +31,7 @@ def handleSelection(core, owner, target, option): return if option == 15 and target: - core.commandService.callCommand(owner, 'serverdestroyobject', target, None) + core.objectService.destroyObject(target) return return diff --git a/src/services/object/ObjectService.java b/src/services/object/ObjectService.java index 78fcda73..3378b9fb 100644 --- a/src/services/object/ObjectService.java +++ b/src/services/object/ObjectService.java @@ -410,7 +410,7 @@ public class ObjectService implements INetworkDispatch { } }); objectList.remove(object.getObjectID()); - //core.simulationService.remove(object, object.getPosition().x, object.getPosition().y); + core.simulationService.remove(object, object.getPosition().x, object.getPosition().y); } diff --git a/src/services/travel/TravelService.java b/src/services/travel/TravelService.java index 488ae1e7..6b58f364 100644 --- a/src/services/travel/TravelService.java +++ b/src/services/travel/TravelService.java @@ -50,6 +50,7 @@ import engine.resources.service.INetworkRemoteEvent; import main.NGECore; import resources.common.Console; import resources.common.Opcodes; +import resources.common.SpawnPoint; import resources.objects.creature.CreatureObject; import resources.objects.tangible.TangibleObject; import services.sui.SUIService.ListBoxType; @@ -323,22 +324,9 @@ public class TravelService implements INetworkDispatch { Planet planet = core.terrainService.getPlanetByName(tp.getPlanetName()); - Random ran = new Random(); + Point3D spawnLocation = SpawnPoint.getRandomPosition(tp.getShuttle().getPosition(), 10, 50, actor.getPlanetId()); - float oY = tp.getShuttle().getOrientation().y; - float dirDg = (float) ((Math.acos(oY) * 180 / Math.PI) * 2); - - ran.setSeed(32); - dirDg = dirDg - 18 + ran.nextFloat(); - float dirRadian = (float) (dirDg * Math.PI / 180); - ran.setSeed(3); - float distance = 13 + ran.nextFloat(); - - float x = (float) (tp.getSpawnLocation().getPosition().x + Math.sin(dirRadian) * distance); - float y = (float) (tp.getSpawnLocation().getPosition().y + Math.cos(dirRadian) * distance); - - Point3D spawnPoint = new Point3D(x, y, tp.getSpawnLocation().getPosition().z); - core.simulationService.transferToPlanet(actor, planet, spawnPoint, new Quaternion(0, 0, 0, 0), null); + core.simulationService.transferToPlanet(actor, planet, spawnLocation, new Quaternion(0, 0, 0, 0), null); }