Files
CharonInferar e877a44713 Jedi Loot templates inserted
Buried treasure loot realized
2014-04-25 01:49:50 +02:00

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