diff --git a/scripts/character_builder_terminal.py b/scripts/character_builder_terminal.py index ae36a810..3bc8e25b 100644 --- a/scripts/character_builder_terminal.py +++ b/scripts/character_builder_terminal.py @@ -208,7 +208,7 @@ def adminHandler(owner): window.addHandler(0, '', Trigger.TRIGGER_OK, returnList, adminHandlerCallback) window.addListBoxMenuItem('Vehicle', 0) window.addListBoxMenuItem('Crafting', 1) - window.addListBoxMenuItem('Character Builder Terminal', 2) + window.addListBoxMenuItem('Frog + Travel Terminal', 2) window.addListBoxMenuItem('Placeholder', 3) core.suiService.openSUIWindow(window); @@ -664,7 +664,9 @@ def vehicleHandler(owner, inventory): def cbtHandler(owner, inventory): cbt = core.objectService.createObject('object/tangible/terminal/shared_terminal_character_builder.iff', owner.getPlanet()) + npe = core.objectService.createObject('object/tangible/terminal/shared_terminal_npe_transition.iff', owner.getPlanet()) inventory.add(cbt) + inventory.add(npe) screenOne(core, owner) return diff --git a/scripts/object/tangible/terminal/terminal_npe_transition.py b/scripts/object/tangible/terminal/terminal_npe_transition.py index ccad8904..6d697752 100644 --- a/scripts/object/tangible/terminal/terminal_npe_transition.py +++ b/scripts/object/tangible/terminal/terminal_npe_transition.py @@ -1,4 +1,9 @@ import sys - + def setup(core, object): - return \ No newline at end of file + object.setAttachment('radial_filename', 'object/usable') + return + +def use(core, owner, target): + core.scriptService.callScript("scripts/", "terminal_npe_transition", "screenOne", core, owner); + return \ No newline at end of file diff --git a/scripts/static_spawns/umbra/frog.py b/scripts/static_spawns/umbra/frog.py new file mode 100644 index 00000000..26c3387b --- /dev/null +++ b/scripts/static_spawns/umbra/frog.py @@ -0,0 +1,75 @@ +# Project SWG: +# (C)2014 ProjectSWG + +import sys +from resources.datatables import Options +from resources.datatables import State + +def addPlanetSpawns(core, planet): + + stcSvc = core.staticService + objSvc = core.objectService + + # New Player spawn spot + #stcSvc.spawnObject('object/tangible/terminal/shared_terminal_character_builder.iff', 'umbra', long(0), float(153), float(25), float(160), float(0), float(1)) + stcSvc.spawnObject('object/tangible/terminal/shared_terminal_npe_transition.iff', 'umbra', long(0), float(151), float(25), float(160), float(1), float(0)) + + # Corellia + stcSvc.spawnObject('object/tangible/terminal/shared_terminal_character_builder.iff', 'corellia', long(0), float(-166), float(28), float(-4747), float(0.70), float(0.71)) + stcSvc.spawnObject('object/tangible/terminal/shared_terminal_character_builder.iff', 'corellia', long(0), float(-5026.85302734), float(21), float(-2311.02832031), float(0.70), float(0.72)) + stcSvc.spawnObject('object/tangible/terminal/shared_terminal_character_builder.iff', 'corellia', long(0), float(6671), float(330), float(-5932), float(0.70), float(0.71)) + stcSvc.spawnObject('object/tangible/terminal/shared_terminal_character_builder.iff', 'corellia', long(0), float(-3733), float(86), float(3222), float(0.70), float(0.71)) + stcSvc.spawnObject('object/tangible/terminal/shared_terminal_character_builder.iff', 'corellia', long(0), float(3347), float(308), float(5524), float(0.70), float(0.71)) + stcSvc.spawnObject('object/tangible/terminal/shared_terminal_character_builder.iff', 'corellia', long(0), float(-5536), float(15.8184862137), float(-6059), float(0.70), float(0.71)) + + # Dantooine + stcSvc.spawnObject('object/tangible/terminal/shared_terminal_character_builder.iff', 'dantooine', long(0), float(-600), float(3), float(2490.29711914), float(0.70), float(0.71)) + stcSvc.spawnObject('object/tangible/terminal/shared_terminal_character_builder.iff', 'dantooine', long(0), float(-4203), float(3), float(-2349), float(0.70), float(0.71)) + stcSvc.spawnObject('object/tangible/terminal/shared_terminal_character_builder.iff', 'dantooine', long(0), float(1546), float(4), float(-6366.95507812), float(0), float(1)) + + # Dathomir + stcSvc.spawnObject('object/tangible/terminal/shared_terminal_character_builder.iff', 'dathomir', long(0), float(-28.8136539459), float(18), float(-1588.14794922), float(0.70), float(0.71)) + stcSvc.spawnObject('object/tangible/terminal/shared_terminal_character_builder.iff', 'dathomir', long(0), float(637), float(6), float(3087), float(0.70), float(0.71)) + stcSvc.spawnObject('object/tangible/terminal/shared_terminal_character_builder.iff', 'dathomir', long(0), float(-5674), float(511.885223389), float(-6472), float(0.70), float(0.71)) + + # Endor + stcSvc.spawnObject('object/tangible/terminal/shared_terminal_character_builder.iff', 'endor', long(0), float(-931), float(76), float(1551), float(0.70), float(0.71)) + stcSvc.spawnObject('object/tangible/terminal/shared_terminal_character_builder.iff', 'endor', long(0), float(3204.09521484), float(24), float(-3450.5456543), float(0), float(1)) + + # Lok + stcSvc.spawnObject('object/tangible/terminal/shared_terminal_character_builder.iff', 'lok', long(0), float(489), float(9), float(5489), float(0.70), float(0.71)) + stcSvc.spawnObject('object/tangible/terminal/shared_terminal_character_builder.iff', 'lok', long(0), float(-1822.56750488), float(12), float(-3098.45849609), float(1), float(0)) + + # Naboo + stcSvc.spawnObject('object/tangible/terminal/shared_terminal_character_builder.iff', 'naboo', long(0), float(5212), float(-192), float(6685), float(0.70), float(0.71)) + stcSvc.spawnObject('object/tangible/terminal/shared_terminal_character_builder.iff', 'naboo', long(0), float(5303.63916016), float(326), float(-1587.58911133), float(0.774), float(0.633)) + stcSvc.spawnObject('object/tangible/terminal/shared_terminal_character_builder.iff', 'naboo', long(0), float(4946.7109375), float(3.73088502884), float(-4891.52490234), float(0.718), float(0.695)) + stcSvc.spawnObject('object/tangible/terminal/shared_terminal_character_builder.iff', 'naboo', long(0), float(-5465), float(-150), float(-3), float(0.70), float(0.71)) + stcSvc.spawnObject('object/tangible/terminal/shared_terminal_character_builder.iff', 'naboo', long(0), float(1513.641), float(25), float(2758.568), float(0.757), float(-0.653)) + stcSvc.spawnObject('object/tangible/terminal/shared_terminal_character_builder.iff', 'naboo', long(0), float(-4912.171), float(6), float(4096.535), float(0.93), float(0.367)) + + # Rori + stcSvc.spawnObject('object/tangible/terminal/shared_terminal_character_builder.iff', 'rori', long(0), float(-5272), float(80), float(-2234), float(0.70), float(0.71)) + stcSvc.spawnObject('object/tangible/terminal/shared_terminal_character_builder.iff', 'rori', long(0), float(3702), float(96), float(-6404), float(0.70), float(0.71)) + stcSvc.spawnObject('object/tangible/terminal/shared_terminal_character_builder.iff', 'rori', long(0), float(5315), float(80), float(6187), float(0.70), float(0.71)) + + # Talus + stcSvc.spawnObject('object/tangible/terminal/shared_terminal_character_builder.iff', 'talus', long(0), float(391), float(6), float(-2930), float(0.70), float(0.71)) + stcSvc.spawnObject('object/tangible/terminal/shared_terminal_character_builder.iff', 'talus', long(0), float(4505.03), float(2), float(5252.344), float(0.87), float(-0.498)) + stcSvc.spawnObject('object/tangible/terminal/shared_terminal_character_builder.iff', 'talus', long(0), float(-2159.83), float(20), float(2344.023), float(0.024), float(1)) + + # Tatooine + stcSvc.spawnObject('object/tangible/terminal/shared_terminal_character_builder.iff', 'tatooine', long(0), float(-1271), float(12), float(-3590), float(0.70), float(0.71)) + stcSvc.spawnObject('object/tangible/terminal/shared_terminal_character_builder.iff', 'tatooine', long(0), float(3501.58), float(5), float(-4812.436), float(0.94), float(0.35)) + stcSvc.spawnObject('object/tangible/terminal/shared_terminal_character_builder.iff', 'tatooine', long(0), float(118), float(52), float(-5358), float(0.70), float(0.71)) + stcSvc.spawnObject('object/tangible/terminal/shared_terminal_character_builder.iff', 'tatooine', long(0), float(1326), float(7), float(3144), float(0.70), float(0.71)) + stcSvc.spawnObject('object/tangible/terminal/shared_terminal_character_builder.iff', 'tatooine', long(0), float(-5036.037), float(75), float(-6620.237), float(0.825), float(-0.564)) + stcSvc.spawnObject('object/tangible/terminal/shared_terminal_character_builder.iff', 'tatooine', long(0), float(-2889), float(5), float(2143), float(0.70), float(0.71)) + + # Yavin IV + stcSvc.spawnObject('object/tangible/terminal/shared_terminal_character_builder.iff', 'yavin4', long(0), float(4070), float(37), float(-6211), float(0.70), float(0.71)) + stcSvc.spawnObject('object/tangible/terminal/shared_terminal_character_builder.iff', 'yavin4', long(0), float(-6926.225), float(73), float(-5743.343), float(1), float(0.03)) + stcSvc.spawnObject('object/tangible/terminal/shared_terminal_character_builder.iff', 'yavin4', long(0), float(-250.775), float(35), float(4888.408), float(0.814), float(-0.58)) + + return + diff --git a/scripts/terminal_npe_transition.py b/scripts/terminal_npe_transition.py new file mode 100644 index 00000000..230a178c --- /dev/null +++ b/scripts/terminal_npe_transition.py @@ -0,0 +1,664 @@ +#This file is to only be edited by Project SWG Staff. +#Do not commit any changes to this file unless authorized. + + +from resources.common import RadialOptions +from resources.common import OutOfBand +from services.sui.SUIService import MessageBoxType +from services.sui.SUIWindow import Trigger +from java.util import Vector +from java.lang import System +from java.lang import Long +from java.util import Map +from java.util import TreeMap +from resources.datatables import WeaponType +from engine.resources.scene import Point3D +import main.NGECore +import sys +import math + +core = main.NGECore.getInstance() + +def screenOne (core, owner): + window = core.suiService.createSUIWindow('Script.listBox', owner, owner, 0); + window.setProperty('bg.caption.lblTitle:Text', 'Spawn Terminal') + window.setProperty('Prompt.lblPrompt:Text', 'Please select a planet and town. Our development team is working hard on fixing the crash to desktop problem. Try to avoid player populated areas. LEAVE THIS SPOT AS SOON AS POSSIBLE. Thank you.') + window.setProperty('btnOk:visible', 'True') + window.setProperty('btnCancel:visible', 'True') + window.setProperty('btnOk:Text', '@ok') + window.setProperty('btnCancel:Text', '@cancel') + returnList = Vector() + returnList.add('List.lstList:SelectedRow') + window.addHandler(0, '', Trigger.TRIGGER_OK, returnList, screenOneCallback) + window.addListBoxMenuItem('Corellia', 0) + window.addListBoxMenuItem('Dantooine', 1) + window.addListBoxMenuItem('Dathomir', 2) + window.addListBoxMenuItem('Endor', 3) + window.addListBoxMenuItem('Lok', 4) + window.addListBoxMenuItem('Naboo', 5) + window.addListBoxMenuItem('Rori', 6) + window.addListBoxMenuItem('Talus', 7) + window.addListBoxMenuItem('Tatooine', 8) + window.addListBoxMenuItem('Yavin 4', 9) + core.suiService.openSUIWindow(window); + +def screenOneCallback(owner, window, eventType, returnList): + if returnList.size()==0: + owner.sendSystemMessage('NULL', 0) + return + + if returnList.get(0)=='0': + corelliaHandler(owner) + return + if returnList.get(0)=='1': + dantooineHandler(owner) + return + if returnList.get(0)=='2': + dathomirHandler(owner) + return + if returnList.get(0)=='3': + endorHandler(owner) + return + if returnList.get(0)=='4': + lokHandler(owner) + return + if returnList.get(0)=='5': + nabooHandler(owner) + return + if returnList.get(0)=='6': + roriHandler(owner) + return + if returnList.get(0)=='7': + talusHandler(owner) + return + if returnList.get(0)=='8': + tatooineHandler(owner) + return + if returnList.get(0)=='9': + yavin4Handler(owner) + return + + return + +################################################################################################################################################# + +def corelliaHandler(owner): + window = core.suiService.createSUIWindow('Script.listBox', owner, owner, 0); + window.setProperty('bg.caption.lblTitle:Text', 'Character Builder Terminal') + window.setProperty('Prompt.lblPrompt:Text', 'Welcome to Project SWG Test Center.') + window.setProperty('btnOk:visible', 'True') + window.setProperty('btnCancel:visible', 'True') + window.setProperty('btnOk:Text', '@ok') + window.setProperty('btnCancel:Text', '@cancel') + returnList = Vector() + returnList.add('List.lstList:SelectedRow') + window.addHandler(0, '', Trigger.TRIGGER_OK, returnList, corelliaHandlerCallback) + window.addListBoxMenuItem('Coronet', 0) + window.addListBoxMenuItem('Tyrena', 1) + window.addListBoxMenuItem('Bela Vistal', 2) + window.addListBoxMenuItem('Kor Vella', 3) + window.addListBoxMenuItem('Doaba Guerfel', 4) + window.addListBoxMenuItem('Vreni Island', 5) + + core.suiService.openSUIWindow(window); + +def corelliaHandlerCallback(owner, window, eventType, returnList): + inventory = owner.getSlottedObject('inventory') + if returnList.size()==0: + owner.sendSystemMessage('NULL', 0) + return + + if returnList.get(0)=='0': + coronetTravel(owner) + return + if returnList.get(0)=='1': + tyrenaTravel(owner) + return + if returnList.get(0)=='2': + belavistalTravel(owner) + return + if returnList.get(0)=='3': + korvellaTravel(owner) + return + if returnList.get(0)=='4': + doabaguerfelTravel(owner) + return + if returnList.get(0)=='5': + vreniislandTravel(owner) + return + + return + +def coronetTravel(owner): + position = Point3D(-51, 28, -4735) + core.simulationService.transferToPlanet(owner, core.terrainService.getPlanetByName("corellia"), position, owner.getOrientation(), None) + return + +def tyrenaTravel(owner): + position = Point3D(-4975, 21, -2230) + core.simulationService.transferToPlanet(owner, core.terrainService.getPlanetByName("corellia"), position, owner.getOrientation(), None) + return + +def belavistalTravel(owner): + position = Point3D(6644, 330, -5922) + core.simulationService.transferToPlanet(owner, core.terrainService.getPlanetByName("corellia"), position, owner.getOrientation(), None) + return + +def korvellaTravel(owner): + position = Point3D(-3775, 86, -3234) + core.simulationService.transferToPlanet(owner, core.terrainService.getPlanetByName("corellia"), position, owner.getOrientation(), None) + return + +def doabaguerfelTravel(owner): + position = Point3D(3377, 308, 5605) + core.simulationService.transferToPlanet(owner, core.terrainService.getPlanetByName("corellia"), position, owner.getOrientation(), None) + return + +def vreniislandTravel(owner): + position = Point3D(-5551, 15, -6059) + core.simulationService.transferToPlanet(owner, core.terrainService.getPlanetByName("corellia"), position, owner.getOrientation(), None) + return + +################################################################################################################################################# + +def dantooineHandler(owner): + window = core.suiService.createSUIWindow('Script.listBox', owner, owner, 0); + window.setProperty('bg.caption.lblTitle:Text', 'Spawn Terminal') + window.setProperty('Prompt.lblPrompt:Text', 'Please try to avoid player populated areas. We are working on a fix for this problem.') + window.setProperty('btnOk:visible', 'True') + window.setProperty('btnCancel:visible', 'True') + window.setProperty('btnOk:Text', '@ok') + window.setProperty('btnCancel:Text', '@cancel') + returnList = Vector() + returnList.add('List.lstList:SelectedRow') + window.addHandler(0, '', Trigger.TRIGGER_OK, returnList, dantooineHandlerCallback) + window.addListBoxMenuItem('Mining Outpost', 0) + window.addListBoxMenuItem('Imperial Outpost', 1) + window.addListBoxMenuItem('Pirate Outpost', 2) + + core.suiService.openSUIWindow(window); + +def dantooineHandlerCallback(owner, window, eventType, returnList): + inventory = owner.getSlottedObject('inventory') + if returnList.size()==0: + owner.sendSystemMessage('NULL', 0) + return + + if returnList.get(0)=='0': + dantminingoutpostTravel(owner) + return + if returnList.get(0)=='1': + dantimperialoutpostTravel(owner) + return + if returnList.get(0)=='2': + dantpirateoutpostTravel(owner) + return + + return + +def dantminingoutpostTravel(owner): + position = Point3D(-635, 3, 2507) + core.simulationService.transferToPlanet(owner, core.terrainService.getPlanetByName("dantooine"), position, owner.getOrientation(), None) + return + +def dantimperialoutpostTravel(owner): + position = Point3D(-4208, 3, -2350) + core.simulationService.transferToPlanet(owner, core.terrainService.getPlanetByName("dantooine"), position, owner.getOrientation(), None) + return + +def dantpirateoutpostTravel(owner): + position = Point3D(1569, 4, -6415) + core.simulationService.transferToPlanet(owner, core.terrainService.getPlanetByName("dantooine"), position, owner.getOrientation(), None) + return + + +################################################################################################################################################# + +def dathomirHandler(owner): + window = core.suiService.createSUIWindow('Script.listBox', owner, owner, 0); + window.setProperty('bg.caption.lblTitle:Text', 'Spawn Terminal') + window.setProperty('Prompt.lblPrompt:Text', 'Please try to avoid player populated areas. We are working on a fix for this problem.') + window.setProperty('btnOk:visible', 'True') + window.setProperty('btnCancel:visible', 'True') + window.setProperty('btnOk:Text', '@ok') + window.setProperty('btnCancel:Text', '@cancel') + returnList = Vector() + returnList.add('List.lstList:SelectedRow') + window.addHandler(0, '', Trigger.TRIGGER_OK, returnList, dathomirHandlerCallback) + window.addListBoxMenuItem('Science Outpost', 0) + window.addListBoxMenuItem('Trade Outpost', 1) + window.addListBoxMenuItem('Quarantine Zone', 2) + + core.suiService.openSUIWindow(window); + +def dathomirHandlerCallback(owner, window, eventType, returnList): + inventory = owner.getSlottedObject('inventory') + if returnList.size()==0: + owner.sendSystemMessage('NULL', 0) + return + + if returnList.get(0)=='0': + dathscienceoutpostTravel(owner) + return + if returnList.get(0)=='1': + dathtradeoutpostTravel(owner) + return + if returnList.get(0)=='2': + dathquarantinezoneTravel(owner) + return + + return + +def dathscienceoutpostTravel(owner): + position = Point3D(-49, 18, -1584) + core.simulationService.transferToPlanet(owner, core.terrainService.getPlanetByName("dathomir"), position, owner.getOrientation(), None) + return + +def dathtradeoutpostTravel(owner): + position = Point3D(618, 6, 3092) + core.simulationService.transferToPlanet(owner, core.terrainService.getPlanetByName("dathomir"), position, owner.getOrientation(), None) + return + +def dathquarantinezoneTravel(owner): + position = Point3D(-5691, 511, -6467) + core.simulationService.transferToPlanet(owner, core.terrainService.getPlanetByName("dathomir"), position, owner.getOrientation(), None) + return + +################################################################################################################################################# + +def endorHandler(owner): + window = core.suiService.createSUIWindow('Script.listBox', owner, owner, 0); + window.setProperty('bg.caption.lblTitle:Text', 'Spawn Terminal') + window.setProperty('Prompt.lblPrompt:Text', 'Please try to avoid player populated areas. We are working on a fix for this problem.') + window.setProperty('btnOk:visible', 'True') + window.setProperty('btnCancel:visible', 'True') + window.setProperty('btnOk:Text', '@ok') + window.setProperty('btnCancel:Text', '@cancel') + returnList = Vector() + returnList.add('List.lstList:SelectedRow') + window.addHandler(0, '', Trigger.TRIGGER_OK, returnList, endorHandlerCallback) + window.addListBoxMenuItem('Smuggler Outpost', 0) + window.addListBoxMenuItem('Research Outpost', 1) + + core.suiService.openSUIWindow(window); + +def endorHandlerCallback(owner, window, eventType, returnList): + inventory = owner.getSlottedObject('inventory') + if returnList.size()==0: + owner.sendSystemMessage('NULL', 0) + return + + if returnList.get(0)=='0': + smuggleroutpostTravel(owner) + return + if returnList.get(0)=='1': + researchoutpostTravel(owner) + + return + +def smuggleroutpostTravel(owner): + position = Point3D(-950, 73, 1553) + core.simulationService.transferToPlanet(owner, core.terrainService.getPlanetByName("endor"), position, owner.getOrientation(), None) + return + +def researchoutpostTravel(owner): + position = Point3D(3201, 24, -3499) + core.simulationService.transferToPlanet(owner, core.terrainService.getPlanetByName("endor"), position, owner.getOrientation(), None) + return + +################################################################################################################################################# + +def lokHandler(owner): + window = core.suiService.createSUIWindow('Script.listBox', owner, owner, 0); + window.setProperty('bg.caption.lblTitle:Text', 'Spawn Terminal') + window.setProperty('Prompt.lblPrompt:Text', 'Please try to avoid player populated areas. We are working on a fix for this problem.') + window.setProperty('btnOk:visible', 'True') + window.setProperty('btnCancel:visible', 'True') + window.setProperty('btnOk:Text', '@ok') + window.setProperty('btnCancel:Text', '@cancel') + returnList = Vector() + returnList.add('List.lstList:SelectedRow') + window.addHandler(0, '', Trigger.TRIGGER_OK, returnList, lokHandlerCallback) + window.addListBoxMenuItem('Nyms Stronghold', 0) + window.addListBoxMenuItem('Imperial Outpost', 1) + + core.suiService.openSUIWindow(window); + +def lokHandlerCallback(owner, window, eventType, returnList): + inventory = owner.getSlottedObject('inventory') + if returnList.size()==0: + owner.sendSystemMessage('NULL', 0) + return + + if returnList.get(0)=='0': + nymTravel(owner) + return + if returnList.get(0)=='1': + lokimpoutpostTravel(owner) + return + + return + +def nymTravel(owner): + position = Point3D(459, 9, 5494) + core.simulationService.transferToPlanet(owner, core.terrainService.getPlanetByName("lok"), position, owner.getOrientation(), None) + return + +def lokimpoutpostTravel(owner): + position = Point3D(-1795, 11, -3086) + core.simulationService.transferToPlanet(owner, core.terrainService.getPlanetByName("lok"), position, owner.getOrientation(), None) + return + +################################################################################################################################################# + +def nabooHandler(owner): + window = core.suiService.createSUIWindow('Script.listBox', owner, owner, 0); + window.setProperty('bg.caption.lblTitle:Text', 'Spawn Terminal') + window.setProperty('Prompt.lblPrompt:Text', 'Please try to avoid player populated areas. We are working on a fix for this problem.') + window.setProperty('btnOk:visible', 'True') + window.setProperty('btnCancel:visible', 'True') + window.setProperty('btnOk:Text', '@ok') + window.setProperty('btnCancel:Text', '@cancel') + returnList = Vector() + returnList.add('List.lstList:SelectedRow') + window.addHandler(0, '', Trigger.TRIGGER_OK, returnList, nabooHandlerCallback) + window.addListBoxMenuItem('Kaadara', 0) + window.addListBoxMenuItem('Deeja Peak', 1) + window.addListBoxMenuItem('Moenia', 2) + window.addListBoxMenuItem('Lake Retreat', 3) + window.addListBoxMenuItem('Keren', 4) + window.addListBoxMenuItem('Theed', 5) + + core.suiService.openSUIWindow(window); + +def nabooHandlerCallback(owner, window, eventType, returnList): + inventory = owner.getSlottedObject('inventory') + if returnList.size()==0: + owner.sendSystemMessage('NULL', 0) + return + + if returnList.get(0)=='0': + kaadaraTravel(owner) + return + if returnList.get(0)=='1': + deejapeakTravel(owner) + return + if returnList.get(0)=='2': + moeniaTravel(owner) + return + if returnList.get(0)=='3': + lakeretreatTravel(owner) + return + if returnList.get(0)=='4': + kerenTravel(owner) + return + if returnList.get(0)=='5': + theedTravel(owner) + return + + return + +def kaadaraTravel(owner): + position = Point3D(5295, -192, 6664) + core.simulationService.transferToPlanet(owner, core.terrainService.getPlanetByName("naboo"), position, owner.getOrientation(), None) + return + +def deejapeakTravel(owner): + position = Point3D(5331, 327, -1576) + core.simulationService.transferToPlanet(owner, core.terrainService.getPlanetByName("naboo"), position, owner.getOrientation(), None) + return + +def moeniaTravel(owner): + position = Point3D(4961, 3, -4892) + core.simulationService.transferToPlanet(owner, core.terrainService.getPlanetByName("naboo"), position, owner.getOrientation(), None) + return + +def lakeretreatTravel(owner): + position = Point3D(-5494, -150, -21) + core.simulationService.transferToPlanet(owner, core.terrainService.getPlanetByName("naboo"), position, owner.getOrientation(), None) + return + +def kerenTravel(owner): + position = Point3D(1352, 13, 2768) + core.simulationService.transferToPlanet(owner, core.terrainService.getPlanetByName("naboo"), position, owner.getOrientation(), None) + return + +def theedTravel(owner): + position = Point3D(-4858, 5, 4164) + core.simulationService.transferToPlanet(owner, core.terrainService.getPlanetByName("naboo"), position, owner.getOrientation(), None) + return + +################################################################################################################################################# + +def roriHandler(owner): + window = core.suiService.createSUIWindow('Script.listBox', owner, owner, 0); + window.setProperty('bg.caption.lblTitle:Text', 'Spawn Terminal') + window.setProperty('Prompt.lblPrompt:Text', 'Please try to avoid player populated areas. We are working on a fix for this problem.') + window.setProperty('btnOk:visible', 'True') + window.setProperty('btnCancel:visible', 'True') + window.setProperty('btnOk:Text', '@ok') + window.setProperty('btnCancel:Text', '@cancel') + returnList = Vector() + returnList.add('List.lstList:SelectedRow') + window.addHandler(0, '', Trigger.TRIGGER_OK, returnList, roriHandlerCallback) + window.addListBoxMenuItem('Narmle', 0) + window.addListBoxMenuItem('Rebel Outpost', 1) + window.addListBoxMenuItem('Restuss', 2) + + core.suiService.openSUIWindow(window); + +def roriHandlerCallback(owner, window, eventType, returnList): + inventory = owner.getSlottedObject('inventory') + if returnList.size()==0: + owner.sendSystemMessage('NULL', 0) + return + + if returnList.get(0)=='0': + narmleTravel(owner) + return + if returnList.get(0)=='1': + rebeloutpostTravel(owner) + return + if returnList.get(0)=='2': + restussTravel(owner) + return + + return + +def narmleTravel(owner): + position = Point3D(-5374, 80, -2188) + core.simulationService.transferToPlanet(owner, core.terrainService.getPlanetByName("rori"), position, owner.getOrientation(), None) + return + +def rebeloutpostTravel(owner): + position = Point3D(3672, 96, -6421) + core.simulationService.transferToPlanet(owner, core.terrainService.getPlanetByName("rori"), position, owner.getOrientation(), None) + return + +def restussTravel(owner): + position = Point3D(5281, 80, 6171) + core.simulationService.transferToPlanet(owner, core.terrainService.getPlanetByName("rori"), position, owner.getOrientation(), None) + return + +################################################################################################################################################# + +def talusHandler(owner): + window = core.suiService.createSUIWindow('Script.listBox', owner, owner, 0); + window.setProperty('bg.caption.lblTitle:Text', 'Spawn Terminal') + window.setProperty('Prompt.lblPrompt:Text', 'Please try to avoid player populated areas. We are working on a fix for this problem.') + window.setProperty('btnOk:visible', 'True') + window.setProperty('btnCancel:visible', 'True') + window.setProperty('btnOk:Text', '@ok') + window.setProperty('btnCancel:Text', '@cancel') + returnList = Vector() + returnList.add('List.lstList:SelectedRow') + window.addHandler(0, '', Trigger.TRIGGER_OK, returnList, talusHandlerCallback) + window.addListBoxMenuItem('Dearic', 0) + window.addListBoxMenuItem('Nashal', 1) + window.addListBoxMenuItem('Imperial Outpost', 2) + + core.suiService.openSUIWindow(window); + +def talusHandlerCallback(owner, window, eventType, returnList): + inventory = owner.getSlottedObject('inventory') + if returnList.size()==0: + owner.sendSystemMessage('NULL', 0) + return + + if returnList.get(0)=='0': + dearicTravel(owner) + return + if returnList.get(0)=='1': + nashalTravel(owner) + return + if returnList.get(0)=='2': + talusimpoutpostTravel(owner) + return + + return + +def dearicTravel(owner): + position = Point3D(263, 6, -2952) + core.simulationService.transferToPlanet(owner, core.terrainService.getPlanetByName("talus"), position, owner.getOrientation(), None) + return + +def nashalTravel(owner): + position = Point3D(4453, 2, 5354) + core.simulationService.transferToPlanet(owner, core.terrainService.getPlanetByName("talus"), position, owner.getOrientation(), None) + return + +def talusimpoutpostTravel(owner): + position = Point3D(-2226, 20, 2319) + core.simulationService.transferToPlanet(owner, core.terrainService.getPlanetByName("talus"), position, owner.getOrientation(), None) + return + +################################################################################################################################################# + +def tatooineHandler(owner): + window = core.suiService.createSUIWindow('Script.listBox', owner, owner, 0); + window.setProperty('bg.caption.lblTitle:Text', 'Spawn Terminal') + window.setProperty('Prompt.lblPrompt:Text', 'Please try to avoid player populated areas. We are working on a fix for this problem.') + window.setProperty('btnOk:visible', 'True') + window.setProperty('btnCancel:visible', 'True') + window.setProperty('btnOk:Text', '@ok') + window.setProperty('btnCancel:Text', '@cancel') + returnList = Vector() + returnList.add('List.lstList:SelectedRow') + window.addHandler(0, '', Trigger.TRIGGER_OK, returnList, tatooineHandlerCallback) + window.addListBoxMenuItem('Bestine', 0) + window.addListBoxMenuItem('Mos Eisley', 1) + window.addListBoxMenuItem('Anchorhead', 2) + window.addListBoxMenuItem('Mos Entha', 3) + window.addListBoxMenuItem('Wayfar', 4) + window.addListBoxMenuItem('Mos Espa', 5) + + core.suiService.openSUIWindow(window); + +def tatooineHandlerCallback(owner, window, eventType, returnList): + inventory = owner.getSlottedObject('inventory') + if returnList.size()==0: + owner.sendSystemMessage('NULL', 0) + return + + if returnList.get(0)=='0': + bestineTravel(owner) + return + if returnList.get(0)=='1': + moseisleyTravel(owner) + return + if returnList.get(0)=='2': + anchorheadTravel(owner) + return + if returnList.get(0)=='3': + mosenthaTravel(owner) + return + if returnList.get(0)=='4': + wayfarTravel(owner) + return + if returnList.get(0)=='5': + mosespaTravel(owner) + return + + return + +def bestineTravel(owner): + position = Point3D(-1376, 12, -3576) + core.simulationService.transferToPlanet(owner, core.terrainService.getPlanetByName("tatooine"), position, owner.getOrientation(), None) + return + +def moseisleyTravel(owner): + position = Point3D(3619, 5, -4801) + core.simulationService.transferToPlanet(owner, core.terrainService.getPlanetByName("tatooine"), position, owner.getOrientation(), None) + return + +def anchorheadTravel(owner): + position = Point3D(48, 52, -5319) + core.simulationService.transferToPlanet(owner, core.terrainService.getPlanetByName("tatooine"), position, owner.getOrientation(), None) + return + +def mosenthaTravel(owner): + position = Point3D(1238, 7, 3062) + core.simulationService.transferToPlanet(owner, core.terrainService.getPlanetByName("tatooine"), position, owner.getOrientation(), None) + return + +def wayfarTravel(owner): + position = Point3D(-5089, 75, -6594) + core.simulationService.transferToPlanet(owner, core.terrainService.getPlanetByName("tatooine"), position, owner.getOrientation(), None) + return + +def mosespaTravel(owner): + position = Point3D(-2829, 5, 2080) + core.simulationService.transferToPlanet(owner, core.terrainService.getPlanetByName("tatooine"), position, owner.getOrientation(), None) + return + +################################################################################################################################################# + +def yavin4Handler(owner): + window = core.suiService.createSUIWindow('Script.listBox', owner, owner, 0); + window.setProperty('bg.caption.lblTitle:Text', 'Spawn Terminal') + window.setProperty('Prompt.lblPrompt:Text', 'Please try to avoid player populated areas. We are working on a fix for this problem.') + window.setProperty('btnOk:visible', 'True') + window.setProperty('btnCancel:visible', 'True') + window.setProperty('btnOk:Text', '@ok') + window.setProperty('btnCancel:Text', '@cancel') + returnList = Vector() + returnList.add('List.lstList:SelectedRow') + window.addHandler(0, '', Trigger.TRIGGER_OK, returnList, yavin4HandlerCallback) + window.addListBoxMenuItem('Imperial Base', 0) + window.addListBoxMenuItem('Labor Outpost', 1) + window.addListBoxMenuItem('Mining Outpost', 2) + + core.suiService.openSUIWindow(window); + +def yavin4HandlerCallback(owner, window, eventType, returnList): + inventory = owner.getSlottedObject('inventory') + if returnList.size()==0: + owner.sendSystemMessage('NULL', 0) + return + + if returnList.get(0)=='0': + yavin4imperialbaseTravel(owner) + return + if returnList.get(0)=='1': + yavin4laboroutpostTravel(owner) + return + if returnList.get(0)=='2': + yavin4miningoutpostTravel(owner) + return + + return + +def yavin4imperialbaseTravel(owner): + position = Point3D(4054, 37, -6216) + core.simulationService.transferToPlanet(owner, core.terrainService.getPlanetByName("yavin4"), position, owner.getOrientation(), None) + return + +def yavin4laboroutpostTravel(owner): + position = Point3D(-6921, 73, -5726) + core.simulationService.transferToPlanet(owner, core.terrainService.getPlanetByName("yavin4"), position, owner.getOrientation(), None) + return + +def yavin4miningoutpostTravel(owner): + position = Point3D(-267, 35, 4896) + core.simulationService.transferToPlanet(owner, core.terrainService.getPlanetByName("yavin4"), position, owner.getOrientation(), None) + return \ No newline at end of file diff --git a/src/main/NGECore.java b/src/main/NGECore.java index 60762ced..b84ea5d7 100644 --- a/src/main/NGECore.java +++ b/src/main/NGECore.java @@ -546,7 +546,19 @@ public class NGECore { // Tutorial Terrains terrainService.addPlanet(20, "dungeon1", "terrain/dungeon1.trn", true); - terrainService.addPlanet(21, "tutorial", "terrain/tutorial.trn", false); + terrainService.addPlanet(21, "tutorial", "terrain/tutorial.trn", true); + terrainService.addPlanet(22, "creature_test", "terrain/creature_test.trn", true); + terrainService.addPlanet(23, "character_farm", "terrain/character_farm.trn", true); + terrainService.addPlanet(24, "cinco_city_test_m5", "terrain/cinco_city_test_m5.trn", false); + terrainService.addPlanet(25, "godclient_test", "terrain/godclient_test.trn", false); + terrainService.addPlanet(26, "otoh_gunga", "terrain/otoh_gunga.trn", false); + terrainService.addPlanet(27, "tanaab", "terrain/tanaab.trn", false); + terrainService.addPlanet(28, "watertabletest", "terrain/watertabletest.trn", false); + terrainService.addPlanet(29, "umbra", "terrain/umbra.trn", true); + terrainService.addPlanet(30, "tusken_raid_encounter", "terrain/tusken_raid_encounter.trn", false); + terrainService.addPlanet(31, "space_npe_falcon_3", "terrain/space_npe_falcon_3.trn", false); + + // 21B // droid diff --git a/src/services/CharacterService.java b/src/services/CharacterService.java index c75a9ad7..583464e7 100644 --- a/src/services/CharacterService.java +++ b/src/services/CharacterService.java @@ -260,7 +260,7 @@ public class CharacterService implements INetworkDispatch { // should set to some planet and starting location String sharedRaceTemplate = raceTemplate.replace("player/", "player/shared_"); - CreatureObject object = (CreatureObject) core.objectService.createObject(sharedRaceTemplate, core.terrainService.getPlanetByName("tatooine")); + CreatureObject object = (CreatureObject) core.objectService.createObject(sharedRaceTemplate, core.terrainService.getPlanetByName("umbra")); object.setContainerPermissions(CreaturePermissions.CREATURE_PERMISSIONS); object.setCustomization(clientCreateCharacter.getCustomizationData()); object.setCustomName(clientCreateCharacter.getName()); @@ -272,7 +272,7 @@ public class CharacterService implements INetworkDispatch { if (options != null && options.getInt("DO.ISOLATION.TESTS") > 0){ object.setPosition(SpawnPoint.getRandomPosition(new Point3D(0, 0, 0), (float) 0.5, 3, core.terrainService.getPlanetByName("tatooine").getID())); } else { - object.setPosition(SpawnPoint.getRandomPosition(new Point3D(3528, 0, -4804), (float) 0.5, 3, core.terrainService.getPlanetByName("tatooine").getID())); + object.setPosition(SpawnPoint.getRandomPosition(new Point3D(151, 25, 153), (float) 0.5, 3, core.terrainService.getPlanetByName("umbra").getID())); } object.setCashCredits(100);