diff --git a/options.cfg b/options.cfg index 03abf4cf..4a7be4e0 100644 --- a/options.cfg +++ b/options.cfg @@ -1,7 +1,7 @@ -LOAD.SNAPSHOT_OBJECTS=1 -LOAD.BUILDOUT_OBJECTS=1 +LOAD.SNAPSHOT_OBJECTS=0 +LOAD.BUILDOUT_OBJECTS=0 #LOAD.BUILDOUT_ONLY_FOR="dantooine" LOAD.RESOURCE.SYSTEM=1 # Misc -CLEAN.ODB.FOLDERS=0 \ No newline at end of file +CLEAN.ODB.FOLDERS=1 \ No newline at end of file diff --git a/scripts/object/tangible/container/loot/reverse_engineer_tool.py b/scripts/object/tangible/container/loot/reverse_engineer_tool.py index ccad8904..6c7c69bf 100644 --- a/scripts/object/tangible/container/loot/reverse_engineer_tool.py +++ b/scripts/object/tangible/container/loot/reverse_engineer_tool.py @@ -1,4 +1,5 @@ import sys def setup(core, object): + object.setAttachment('radial_filename', 'item/reverse_engineering_tool') return \ No newline at end of file diff --git a/scripts/radial/item/reverse_engineering_tool.py b/scripts/radial/item/reverse_engineering_tool.py new file mode 100644 index 00000000..33e36367 --- /dev/null +++ b/scripts/radial/item/reverse_engineering_tool.py @@ -0,0 +1,27 @@ +from resources.common import RadialOptions +from protocol.swg import ResourceListForSurveyMessage +from services.sui.SUIService import MessageBoxType +from services.SurveyService import createSurveyRangeSUIWindow +from services.sui.SUIWindow import Trigger +from java.util import Vector +import sys + +def createRadial(core, owner, target, radials): + radials.clear() + radials.add(RadialOptions(0, 21, 1, 'Use')) + radials.add(RadialOptions(0, 7, 0, 'Examine')) + radials.add(RadialOptions(0, 15, 0, 'Destroy')) + radials.add(RadialOptions(0, 132, 1, 'Tool Options')) + return + +def handleSelection(core, owner, target, option): + if option == 21 and target: + if owner is not None: + rlfsm = ResourceListForSurveyMessage(core,target,owner) + owner.getClient().getSession().write(rlfsm.serialize()) + return + if option == 132: + if owner is not None: + surSvc = core.surveyService + surSvc.createSurveyRangeSUIWindow(owner, target) + return diff --git a/scripts/static_spawns/tatooine/mos_eisley_shinn_bunker.py b/scripts/static_spawns/tatooine/mos_eisley_shinn_bunker.py index 603a619b..23f20e62 100644 --- a/scripts/static_spawns/tatooine/mos_eisley_shinn_bunker.py +++ b/scripts/static_spawns/tatooine/mos_eisley_shinn_bunker.py @@ -13,54 +13,6 @@ def addPlanetSpawns(core, planet): stcSvc = core.staticService objSvc = core.objectService - building = core.objectService.getObject(long(-466404038086555772)) - - # Shinn Mugger outisde - - shinn_mugger = stcSvc.spawnObject('shinn_mugger', 'tatooine', long(0), float(3410), float(8), float(-5461), float(0), float(0), float(0), float(0), 30) - shinn_mugger1 = stcSvc.spawnObject('shinn_mugger', 'tatooine', long(0), float(3432), float(9), float(-5445), float(0), float(0), float(0), float(0), 30) - shinn_mugger2 = stcSvc.spawnObject('shinn_mugger', 'tatooine', long(0), float(3464), float(10), float(-5430), float(0), float(0), float(0), float(0), 30) - shinn_mugger3 = stcSvc.spawnObject('shinn_mugger', 'tatooine', long(0), float(3457), float(12), float(-5419), float(0), float(0), float(0), float(0), 30) - shinn_mugger4 = stcSvc.spawnObject('shinn_mugger', 'tatooine', long(0), float(3431), float(6), float(-5427), float(0), float(0), float(0), float(0), 30) - shinn_mugger5 = stcSvc.spawnObject('shinn_mugger', 'tatooine', long(0), float(3405), float(6), float(-5434), float(0), float(0), float(0), float(0), 30) - shinn_mugger6 = stcSvc.spawnObject('shinn_mugger', 'tatooine', long(0), float(3398), float(5), float(-5459), float(0), float(0), float(0), float(0), 30) - shinn_mugger7 = stcSvc.spawnObject('shinn_mugger', 'tatooine', long(0), float(3394), float(7), float(-5483), float(0), float(0), float(0), float(0), 30) - shinn_mugger8 = stcSvc.spawnObject('shinn_mugger', 'tatooine', long(0), float(3417), float(8), float(-5491), float(0), float(0), float(0), float(0), 30) - shinn_mugger9 = stcSvc.spawnObject('shinn_mugger', 'tatooine', long(0), float(3439), float(9), float(-5482), float(0), float(0), float(0), float(0), 30) - shinn_mugger10 = stcSvc.spawnObject('shinn_mugger', 'tatooine', long(0), float(3447), float(9), float(-5462), float(0), float(0), float(0), float(0), 30) - shinn_mugger11 = stcSvc.spawnObject('shinn_mugger', 'tatooine', long(0), float(3429), float(7), float(-5473), float(0), float(0), float(0), float(0), 30) - shinn_mugger12 = stcSvc.spawnObject('shinn_mugger', 'tatooine', long(0), float(3449), float(10), float(-5504), float(0), float(0), float(0), float(0), 30) - shinn_mugger13 = stcSvc.spawnObject('shinn_mugger', 'tatooine', long(0), float(3415), float(7), float(-5501), float(0), float(0), float(0), float(0), 30) - shinn_mugger14 = stcSvc.spawnObject('shinn_mugger', 'tatooine', long(0), float(3392), float(7), float(-5489), float(0), float(0), float(0), float(0), 30) - shinn_mugger15 = stcSvc.spawnObject('shinn_mugger', 'tatooine', long(0), float(3380), float(5), float(-5465), float(0), float(0), float(0), float(0), 30) - shinn_mugger16 = stcSvc.spawnObject('shinn_mugger', 'tatooine', long(0), float(3394), float(4), float(-5456), float(0), float(0), float(0), float(0), 30) - - - #shinn Guards outside bunker - shinn_guard_o1 = stcSvc.spawnObject('shinn_guard', 'tatooine', long(0), float(3417), float(7), float(-5461), float(0), float(0), float(0), float(0), 30) - shinn_guard_o2 = stcSvc.spawnObject('shinn_guard', 'tatooine', long(0), float(3423), float(7), float(-5461), float(0), float(0), float(0), float(0), 30) - - # Shinn Guards in Bunker - shinn_guard = stcSvc.spawnObject('shinn_guard', 'tatooine', building.getCellByCellName("hall1"), float(-3.3), float(0.3), float(3.6), float(0), float(0), float(0), float(0), 30) - shinn_guard1 = stcSvc.spawnObject('shinn_guard', 'tatooine', building.getCellByCellNumber(long(3)), float(2.9), float(0.3), float(-4.0), float(0), float(0), float(0), float(0), 30) - shinn_guard2 = stcSvc.spawnObject('shinn_guard', 'tatooine', building.getCellByCellNumber(long(4)), float(3.8), float(-3.3), float(4.8), float(0), float(0), float(0), float(0), 30) - shinn_guard3 = stcSvc.spawnObject('shinn_guard', 'tatooine', building.getCellByCellNumber(long(5)), float(-4.4), float(-10.3), float(-6.1), float(0), float(0), float(0), float(0), 30) - shinn_guard4 = stcSvc.spawnObject('shinn_guard', 'tatooine', building.getCellByCellNumber(long(7)), float(5.3), float(-13.8), float(6.6), float(0), float(0), float(0), float(0), 30) - shinn_guard5 = stcSvc.spawnObject('shinn_guard', 'tatooine', building.getCellByCellNumber(long(7)), float(-2.1), float(-13.8), float(6.8), float(0), float(0), float(0), float(0), 30) - shinn_guard6 = stcSvc.spawnObject('shinn_guard', 'tatooine', building.getCellByCellNumber(long(7)), float(-6.8), float(-13.8), float(6.7), float(0), float(0), float(0), float(0), 30) - shinn_guard7 = stcSvc.spawnObject('shinn_guard', 'tatooine', building.getCellByCellNumber(long(8)), float(1.5), float(-20.8), float(-3.5), float(0), float(0), float(0), float(0), 30) - shinn_guard8 = stcSvc.spawnObject('shinn_guard', 'tatooine', building.getCellByCellNumber(long(9)), float(-1.0), float(-20.7), float(11.0), float(0), float(0), float(0), float(0), 30) - shinn_guard9 = stcSvc.spawnObject('shinn_guard', 'tatooine', building.getCellByCellNumber(long(9)), float(3.6), float(-20.7), float(11.4), float(0), float(0), float(0), float(0), 30) - shinn_guard10 = stcSvc.spawnObject('shinn_guard', 'tatooine', building.getCellByCellNumber(long(9)), float(1.6), float(-20.7), float(4.7), float(0), float(0), float(0), float(0), 30) - shinn_guard11 = stcSvc.spawnObject('shinn_guard', 'tatooine', building.getCellByCellNumber(long(10)), float(-1.6), float(-20.8), float(23.4), float(0), float(0), float(0), float(0), 30) - shinn_guard12 = stcSvc.spawnObject('shinn_guard', 'tatooine', building.getCellByCellNumber(long(10)), float(4.6), float(-20.8), float(23.4), float(0), float(0), float(0), float(0), 30) - - #temp until cellbycellname is fixed - - - - # Vaigonn Shinn - vaigonn_shinn = stcSvc.spawnObject('vaigon_shinn', 'tatooine', building.getCellByCellNumber(long(10)), float(1.7), float(-20.8), float(29.7), float(-1), float(0), float(0), float(0), 30) return diff --git a/src/services/DevService.java b/src/services/DevService.java index 18a090fa..928d84f9 100644 --- a/src/services/DevService.java +++ b/src/services/DevService.java @@ -93,6 +93,7 @@ public class DevService implements INetworkDispatch { suiOptions.put((long) 125, "Crafting Tools"); suiOptions.put((long) 130, "Vehicle Deeds"); suiOptions.put((long) 121, "Sandbox City"); + suiOptions.put((long) 177, "REing"); } break; @@ -1307,6 +1308,13 @@ public class DevService implements INetworkDispatch { case 153: Point3D position = new Point3D(-6222,1,7380); core.simulationService.transferToPlanet(player, core.terrainService.getPlanetByName("dantooine"), position, player.getOrientation(), null); + + case 177: + // "object/draft_schematic/item/shared_item_reverse_engineering_tool.iff" + TangibleObject REingTool = (TangibleObject) core.objectService.createObject("object/tangible/container/loot/shared_reverse_engineer_tool.iff", planet); + REingTool.setCustomName("Reverse Engineering Tool"); + inventory.add(REingTool); + return; } } }); diff --git a/src/services/reverseengineering/RE_Service.java b/src/services/reverseengineering/RE_Service.java new file mode 100644 index 00000000..006b534f --- /dev/null +++ b/src/services/reverseengineering/RE_Service.java @@ -0,0 +1,59 @@ +/******************************************************************************* + * Copyright (c) 2013 + * + * This File is part of NGECore2. + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public License + * along with this program. If not, see . + * + * Using NGEngine to work with NGECore2 is making a combined work based on NGEngine. + * Therefore all terms and conditions of the GNU Lesser General Public License cover the combination. + ******************************************************************************/ +package services.reverseengineering; + +import java.util.Map; +import java.util.concurrent.Executors; +import java.util.concurrent.ScheduledExecutorService; +import engine.resources.service.INetworkDispatch; +import engine.resources.service.INetworkRemoteEvent; +import main.NGECore; + +/** + * @author Charon + */ + +public class RE_Service implements INetworkDispatch { + + private NGECore core; + private final ScheduledExecutorService scheduler = Executors.newScheduledThreadPool(1); + + + public RE_Service(NGECore core) { + this.core = core; + } + + + @Override + public void insertOpcodes(Map arg0, + Map arg1) { + // TODO Auto-generated method stub + + } + + + @Override + public void shutdown() { + // TODO Auto-generated method stub + + } +}