From 02d03e2caac6ee7e634e426871bbea9e19ea16b4 Mon Sep 17 00:00:00 2001 From: Waverunner Date: Sun, 13 Jul 2014 14:21:17 -0400 Subject: [PATCH] Added a frog building outside of Mos Espa near West Shuttleport - spawns on server startup with 1 frog Removed frog from Mos Eisley Added "New Frog" option for GMs on CBT Added addToFrogAdminList argument for setGodMode for GMs - allows GMs to put down items inside the frog building (ie more frogs!) --- scripts/commands/setgodmode.py | 19 ++++++++++-- scripts/static_spawns/tatooine/tatooine.py | 2 +- src/main/NGECore.java | 2 +- src/services/DevService.java | 34 ++++++++++++++++++++-- src/services/SimulationService.java | 4 +-- 5 files changed, 53 insertions(+), 8 deletions(-) diff --git a/scripts/commands/setgodmode.py b/scripts/commands/setgodmode.py index 9874cbd3..b34f4cdb 100644 --- a/scripts/commands/setgodmode.py +++ b/scripts/commands/setgodmode.py @@ -50,9 +50,9 @@ def run(core, actor, target, commandString): core.playerService.grantLevel(actor, int(arg1)) elif command == 'setSpeed' and arg1: - actor.sendSystemMessage('Your speed was ' + str(actor.getSpeedMultiplierBase()) + '. Don\'t forget to set this back or it\'ll permanently imbalance your speed. Default without buffs or mods is 1.', 2) + #actor.sendSystemMessage("Your speed was " + str(actor.getSpeedMultiplierBase()) + ". Don\'t forget to set this back or it\'ll permanently imbalance your speed. Default without buffs or mods is 1.", 2) actor.setSpeedMultiplierBase(float(arg1)) - actor.sendSystemMessage('Your new speed is ' + str(actor.getSpeedMultiplierBase()) + '.', 2) + actor.sendSystemMessage('Your new speed is ' + arg1 + '.', 2) elif command == 'teleport' and arg2 and arg3 and arg4: position = Point3D(float(arg2), float(arg3), float(arg4)) @@ -146,10 +146,15 @@ def run(core, actor, target, commandString): planetName = actor.getPlanet().getName() actor.sendSystemMessage('Position.x : %s' % pos.x, 0) + print ('Position.x : %s' % pos.x, 0) actor.sendSystemMessage('Position.y : %s' % pos.y, 0) + print ('Position.y : %s' % pos.y, 0) actor.sendSystemMessage('Position.z : %s' % pos.z, 0) + print ('Position.z : %s' % pos.z, 0) actor.sendSystemMessage('Orientation.y : %s' % ori.y, 0) + print ('Orientation.y : %s' % ori.y, 0) actor.sendSystemMessage('Orientation.w : %s' % ori.w, 0) + print ('Orientation.w : %s' % ori.w, 0) if (actor.getContainer()): cid = actor.getContainer().getObjectID() cellid = cid @@ -185,4 +190,14 @@ def run(core, actor, target, commandString): playerObject.setCurrentRank(int(arg1)) print (playerObject.getCurrentRank()) return + + elif command == 'addToFrogAdminList': + frogBuilding = core.objectService.getObject(core.devService.getFrogBuildingId()) + + if frogBuilding is None: + return + + frogBuilding.addPlayerToAdminList(None, actor.getObjectID(), actor.getCustomName().split(' ')[0]) + actor.sendSystemMessage('You were added to the Admin list for the Frog Building.', 0) + return return diff --git a/scripts/static_spawns/tatooine/tatooine.py b/scripts/static_spawns/tatooine/tatooine.py index 9a45d308..6a723d35 100644 --- a/scripts/static_spawns/tatooine/tatooine.py +++ b/scripts/static_spawns/tatooine/tatooine.py @@ -10,7 +10,7 @@ def addPlanetSpawns(core, planet): ######################################################## stcSvc = core.staticService # Blue Frog: Uncomment only when needed for testing. - stcSvc.spawnObject('object/tangible/terminal/shared_terminal_character_builder.iff', 'tatooine', long(0), float(3525), float(4), float(-4801), float(0.70), float(0.71)) + #stcSvc.spawnObject('object/tangible/terminal/shared_terminal_character_builder.iff', 'tatooine', long(0), float(3525), float(4), float(-4801), float(0.70), float(0.71)) ######################################################## # DO NOT ADD ANYTHING ELSE TO THIS SCRIPT, PLEASE USE THE diff --git a/src/main/NGECore.java b/src/main/NGECore.java index 91f182ae..84a2a382 100644 --- a/src/main/NGECore.java +++ b/src/main/NGECore.java @@ -344,7 +344,6 @@ public class NGECore { skillModService = new SkillModService(this); equipmentService = new EquipmentService(this); entertainmentService = new EntertainmentService(this); - devService = new DevService(this); conversationService = new ConversationService(this); bazaarService = new BazaarService(this); housingService = new HousingService(this); @@ -561,6 +560,7 @@ public class NGECore { browserService = new BrowserService(this); //battlefieldService = new BattlefieldService(this); + devService = new DevService(this); DevLogQueuer devLogQueuer = new DevLogQueuer(); diff --git a/src/services/DevService.java b/src/services/DevService.java index e43ceb89..169da3c6 100644 --- a/src/services/DevService.java +++ b/src/services/DevService.java @@ -58,6 +58,7 @@ import engine.resources.container.NullPermissions; import engine.resources.objects.SWGObject; import engine.resources.scene.Planet; import engine.resources.scene.Point3D; +import engine.resources.scene.Quaternion; import engine.resources.service.INetworkDispatch; import engine.resources.service.INetworkRemoteEvent; @@ -65,9 +66,11 @@ import engine.resources.service.INetworkRemoteEvent; public class DevService implements INetworkDispatch { private NGECore core; - + private long frogBuildingId = 0; + public DevService(NGECore core) { this.core = core; + loadFrogBuilding(); } public void sendCharacterBuilderSUI(CreatureObject creature, int childMenu) @@ -82,6 +85,8 @@ public class DevService implements INetworkDispatch { suiOptions.put((long) 3, "Locations"); if (System.getProperty("user.name").equals("Charon")) suiOptions.put((long) 4, "Treasure chest test"); + if (creature.getClient().isGM()) + suiOptions.put((long) 200, "Get new CBT"); break; case 1: // Character suiOptions.put((long) 10, "Set combat level to 90"); @@ -214,7 +219,7 @@ public class DevService implements INetworkDispatch { //treasureContainer.add(droppedItem); return; - + // Character case 10: // Set combat level to 90 core.playerService.grantLevel(player, 90); // Commented out until fixed @@ -1359,6 +1364,11 @@ public class DevService implements INetworkDispatch { core.lootService.prepInv2(player); return; + case 200: + TangibleObject frog = (TangibleObject) core.objectService.createObject("object/tangible/terminal/shared_terminal_character_builder.iff", planet); + + inventory.add(frog); + return; } } }); @@ -1366,6 +1376,26 @@ public class DevService implements INetworkDispatch { core.suiService.openSUIWindow(window); } + private void loadFrogBuilding() { + BuildingObject building = (BuildingObject) core.objectService.createObject("object/building/tatooine/shared_association_hall_civilian_tatooine_02.iff", 0, core.terrainService.getPlanetByName("tatooine"), + new Point3D(-3308, 5, 2174), new Quaternion((float) 0.7323, 0, (float) 0.680961, 0)); + + core.simulationService.add(building, building.getPosition().x, building.getPosition().z); + + this.frogBuildingId = building.getObjectID(); + + building.setAttachment("structureOwner", 0); + + TangibleObject frog = (TangibleObject) core.objectService.createObject("object/tangible/terminal/shared_terminal_character_builder.iff", core.terrainService.getPlanetByID(building.getPlanetId())); + frog.setPosition(new Point3D((float)-1.10475, (float)0.51, (float)-4.3665)); + frog.setOrientation(new Quaternion((float) 0.9965, 0, (float)-0.09, 0)); + building.getCellByCellNumber(2).add(frog); + } + + public long getFrogBuildingId() { + return this.frogBuildingId; + } + @Override public void insertOpcodes(Map swgOpcodes, Map objControllerOpcodes) { } diff --git a/src/services/SimulationService.java b/src/services/SimulationService.java index 052e1b6c..3939b461 100644 --- a/src/services/SimulationService.java +++ b/src/services/SimulationService.java @@ -550,8 +550,8 @@ public class SimulationService implements INetworkDispatch { object.getContainer()._remove(object); if (object.getClient() == null) System.err.println("Client is null! This is a very strange error."); - if (object.getClient() != null && object.getClient().isGM() && parent != null && parent instanceof CellObject && parent.getContainer() != null) - object.sendSystemMessage("BuildingId - Dec: " + parent.getContainer().getObjectID() + " Hex: " + Long.toHexString(parent.getContainer().getObjectID()) + " CellNumber: " + ((CellObject) parent).getCellNumber(), DisplayType.Broadcast); + //if (object.getClient() != null && object.getClient().isGM() && parent != null && parent instanceof CellObject && parent.getContainer() != null) + //object.sendSystemMessage("BuildingId - Dec: " + parent.getContainer().getObjectID() + " Hex: " + Long.toHexString(parent.getContainer().getObjectID()) + " CellNumber: " + ((CellObject) parent).getCellNumber(), DisplayType.Broadcast); parent._add(object); } object.setPosition(newPos);