Files
NGECore2/scripts/radial/object/treasuremapRead.py
T
CharonInferar 14f774447f More Treasure map work
Mysterious disk radials implemented
Treasure guards added
2014-04-21 03:23:07 +02:00

58 lines
2.3 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:
owner.sendSystemMessage('TreasuremapRead radial',0)
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