mirror of
https://github.com/ProjectSWGCore/NGECore2.git
synced 2026-07-14 00:02:07 -04:00
57 lines
2.2 KiB
Python
57 lines
2.2 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:search_area'))
|
|
radials.add(RadialOptions(0, 7, 1, ''))
|
|
return
|
|
|
|
def handleSelection(core, owner, target, option):
|
|
if option == 21 and target:
|
|
|
|
planetID = target.getAttachment('MapPlanet')
|
|
if planetID!=owner.getPlanetId():
|
|
owner.sendSystemMessage('@treasure_map/treasure_map:wrong_planet',0)
|
|
|
|
if owner.getCombatFlag()!=0:
|
|
owner.sendSystemMessage('@treasure_map/treasure_map:sys_no_combat',0)
|
|
return
|
|
|
|
if owner.getPosture()==10:
|
|
owner.sendSystemMessage('@treasure_map/treasure_map:sys_no_mount',0)
|
|
return
|
|
|
|
|
|
areaLoc = target.getAttachment('MapAreaLocation');
|
|
owner.sendSystemMessage('owner.getPosition().getDistance2D(areaLoc) %s' % owner.getPosition().getDistance2D(areaLoc),0)
|
|
|
|
if owner.getPosition().getDistance2D(areaLoc)<20:
|
|
owner.sendSystemMessage('@treasure_map/treasure_map:sys_success',0)
|
|
|
|
treasureLocation = resources.common.SpawnPoint.getRandomPosition(owner.getPosition(), 1, 100, owner.getPlanetId());
|
|
waypoint = main.NGECore.getInstance().objectService.createObject('object/waypoint/shared_waypoint.iff', owner.getPlanet(), treasureLocation.x, treasureLocation.z, treasureLocation.y)
|
|
waypoint.setName('Exact Location of the Treasure')
|
|
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/treasuremapExtract');
|
|
readMap.setAttachment('MapExactLocation', treasureLocation);
|
|
else:
|
|
owner.sendSystemMessage('@treasure_map/treasure_map:sys_cant_pinpoint',0)
|
|
|
|
|
|
return
|
|
|