mirror of
https://github.com/ProjectSWGCore/NGECore2.git
synced 2026-07-14 00:02:07 -04:00
71 lines
2.9 KiB
Python
71 lines
2.9 KiB
Python
from resources.common import RadialOptions
|
|
from services.sui import SUIWindow
|
|
from services.sui.SUIWindow import Trigger
|
|
from java.util import Vector
|
|
import resources.common.SpawnPoint
|
|
import engine.resources.scene.Point3D
|
|
import main.NGECore
|
|
from resources.objects.waypoint import WaypointObject
|
|
from engine.resources.common import CRC
|
|
import sys
|
|
|
|
def createRadial(core, owner, target, radials):
|
|
radials.add(RadialOptions(0, 21, 1, '@treasure_map/treasure_map:use'))
|
|
radials.add(RadialOptions(0, 7, 1, ''))
|
|
return
|
|
|
|
def handleSelection(core, owner, target, option):
|
|
if option == 21 and target:
|
|
|
|
mapPlanet = target.getAttachment('MapPlanet')
|
|
planet = core.terrainService.getPlanetByID(mapPlanet)
|
|
if planet==None:
|
|
owner.sendSystemMessage('The treasure map disk is faulty, no Planet',0)
|
|
return
|
|
|
|
planetName = planet.getName()
|
|
#if owner.getPlanetId()!=mapPlanet:
|
|
#owner.sendSystemMessage('The treasure is buried on ' + planetName,0)
|
|
#return
|
|
|
|
window = core.suiService.createSUIWindow('Script.listBox', owner, target, 0)
|
|
window.setProperty('bg.caption.lblTitle:Text', '@treasure_map/treasure_map:title_'+target.getAttachment('MapSTFName'))
|
|
window.setProperty('Prompt.lblPrompt:Text', '@treasure_map/treasure_map:text_'+target.getAttachment('MapSTFName'))
|
|
|
|
window.setProperty('btnCancel:visible', 'True')
|
|
window.setProperty('btnOk:visible', 'True')
|
|
window.setProperty('btnCancel:Text', '@treasure_map/treasure_map:close')
|
|
window.setProperty('btnOk:Text', '@treasure_map/treasure_map:store_waypoint')
|
|
returnList = Vector()
|
|
window.addHandler(0, '', Trigger.TRIGGER_OK, returnList, storeWaypoint)
|
|
window.addHandler(1, '', Trigger.TRIGGER_CANCEL, returnList, close)
|
|
|
|
owner.setAttachment('LastReadMap',target)
|
|
|
|
core.suiService.openSUIWindow(window);
|
|
|
|
return
|
|
|
|
def storeWaypoint(owner, window, eventType, returnList):
|
|
planetCenter = engine.resources.scene.Point3D(0,0,0)
|
|
#treasureLocation = resources.common.SpawnPoint.getRandomPosition(planetCenter, 2000, 6000, owner.getPlanetId());
|
|
treasureLocation = resources.common.SpawnPoint.getRandomPosition(owner.getPosition(), 1, 50, owner.getPlanetId());
|
|
waypoint = main.NGECore.getInstance().objectService.createObject('object/waypoint/shared_waypoint.iff', owner.getPlanet(), treasureLocation.x, treasureLocation.z, treasureLocation.y)
|
|
waypoint.setName('Treasure Map')
|
|
waypoint.setActive(True)
|
|
waypoint.setColor(WaypointObject.YELLOW)
|
|
waypoint.setPlanetCRC(CRC.StringtoCRC(owner.getPlanet().name))
|
|
waypoint.setStringAttribute('', '')
|
|
ghost = owner.getSlottedObject('ghost')
|
|
ghost.waypointAdd(waypoint)
|
|
owner.sendSystemMessage('@treasure_map/treasure_map:sys_store_waypoint', 0)
|
|
readMap = owner.getAttachment('LastReadMap')
|
|
readMap.setAttachment('radial_filename', 'object/treasuremapRead');
|
|
readMap.setAttachment('MapAreaLocation', treasureLocation);
|
|
return
|
|
|
|
|
|
def close(owner, window, eventType, returnList):
|
|
|
|
return
|
|
|