include library.combat; include library.sui; include library.quests; include library.ai_lib; include library.money; include library.chat; include library.pclib; include library.vehicle; include library.ship_ai; include library.space_crafting; include library.space_transition; include library.space_dungeon; include library.space_utils; include java.lang.Long; //---------------------------------------------------------------------- void colorize(obj_id player, obj_id target, String customizationVar) { int pId = createSUIPage ("Script.ColorPicker", player, player, "ColorizeCallback"); setSUIProperty (pId, "ColorPicker", "TargetNetworkId", target.toString ()); setSUIProperty (pId, "ColorPicker", "TargetVariable", customizationVar); setSUIProperty (pId, "ColorPicker", "TargetRange", "500"); subscribeToSUIProperty (pId, "ColorPicker", "SelectedIndex"); setSUIAssociatedObject (pId, target); showSUIPage (pId); } void maxStats(obj_id objPlayer) { addAttribModifier(objPlayer, HEALTH, 2000, 0, 0, MOD_POOL); addAttribModifier(objPlayer, ACTION, 2000, 0, 0, MOD_POOL); addAttribModifier(objPlayer, MIND, 2000, 0, 0, MOD_POOL); } boolean sendStartingLocations (obj_id player) { newbieTutorialSendStartingLocationsToPlayer (player, null); return true; } commandHandler newbieRequestStartingLocations () { sendStartingLocations (self); return SCRIPT_CONTINUE; } commandHandler newbieSelectStartingLocation () { String name = params; boolean available = isStartingLocationAvailable (name); newbieTutorialSendStartingLocationSelectionResult (self, name, available); if (available) { location loc = getStartingLocationInfo (name); if (loc != null) { if (loc.cell != null && loc.cell != obj_id.NULL_ID) { warpPlayer (self, loc.area, 0.0f, 0.0f, 0.0f, loc.cell, loc.x, loc.y, loc.z); } else { warpPlayer (self, loc.area, loc.x, loc.y, loc.z, null, 0.0f, 0.0f, 0.0f); } } } return SCRIPT_CONTINUE; } trigger OnApplyPowerup (obj_id playerId, obj_id targetId) { chat.chat (playerId, "OnApplyPowerup " + self.toString () + " -> " + targetId.toString ()); return SCRIPT_CONTINUE; } trigger OnGetAttributes(obj_id playerId, string[] names, string[] attribs) { names [0] = "jwatson_test"; attribs [0] = "What's up my homies?\nYeah"; return SCRIPT_CONTINUE; } //---------------------------------------------------------------------- trigger OnSpeaking(String text) { debugConsoleMsg( self, "jwatson_test OnSpeaking: " + text ); java.util.StringTokenizer tok = new java.util.StringTokenizer (text); if (tok.hasMoreTokens ()) { String command = tok.nextToken (); debugConsoleMsg( self, "command is: " + command); //---------------------------------------------------------------------- //---------------------------------------------------------------------- if (command.equals ("jw_colorize")) { if (tok.countTokens () < 2) { debugSpeakMsg (self, "Not enough arguments: colorize "); } else { tok.nextToken (); String idString = tok.nextToken (); String customizationVar = tok.nextToken (); obj_id id = obj_id.getObjId (java.lang.Long.parseLong (idString)); colorize (self, id, customizationVar); } } //---------------------------------------------------------------------- else if (command.equals ("jw_scale")) { if (tok.countTokens () < 1) { debugSpeakMsg (self, "Not enough arguments: scale [obj_id]"); } else { float scaleFactor = Float.parseFloat (tok.nextToken ()); obj_id id = null; if (tok.countTokens () > 0) { String idString = tok.nextToken (); id = obj_id.getObjId (java.lang.Long.parseLong (idString)); } else id = self; setScale (id, scaleFactor); } } //---------------------------------------------------------------------- else if (command.equals ("jw_systemMessage")) { debugSpeakMsg( self, "jwatson_test jw_systemMessage: " + text ); if (tok.countTokens () < 2) { debugSpeakMsg (self, "Not enough arguments: jw_systemMessage "); } else { obj_id id = null; String idString = tok.nextToken (); if (idString != "0") id = obj_id.getObjId (java.lang.Long.parseLong (idString)); else id = self; sendSystemMessageTestingOnly (id, text); } } //---------------------------------------------------------------------- else if (command.equals ("jw_systemMessagePlanet")) { sendSystemMessagePlanetTestingOnly (text); } //---------------------------------------------------------------------- else if (command.equals ("jw_systemMessageGalaxy")) { LOG ("jw", "jw_systemMessageGalaxy"); prose_package pp = new prose_package (); LOG ("jw", "jw_systemMessageGalaxy prose created"); pp.stringId = new string_id ("ui", "test_pp"); LOG ("jw", "jw_systemMessageGalaxy stringId set"); pp.actor.set (self); LOG ("jw", "jw_systemMessageGalaxy actor set"); pp.target.set (getLookAtTarget (self)); LOG ("jw", "jw_systemMessageGalaxy target set"); pp.other.set ("other_here"); LOG ("jw", "jw_systemMessageGalaxy other set"); pp.digitInteger = 666; pp.digitFloat = 0.333f; LOG ("jw", "jw_systemMessageGalaxy sending"); String oob = packOutOfBandProsePackage (null, pp); sendSystemMessageGalaxyOob (oob); LOG ("jw", "jw_systemMessageGalaxy oob size=" + oob.length ()); sendSystemMessageGalaxyProse (pp); } //---------------------------------------------------------------------- else if (command.equals ("jw_maxStats")) { maxStats (self); } //------------------------------ else if (command.equals ("jw_pm1")) { prose_package bodyProse = new prose_package (); prose_package subjectProse = new prose_package (); bodyProse.stringId = new string_id ("pm", "body_id"); String oob = chatMakePersistentMessageOutOfBandBody (null, bodyProse); String subject_str = "@" + new string_id ("pm", "subject_id").toString (); String sender_str = "@" + new string_id ("pm", "sender_id").toString (); LOG ("jw", "jw_pm1 oob size = " + oob.length ()); chatSendPersistentMessage(self, subject_str, "Here is the body", oob); } //------------------------------ else if (command.equals ("jw_pm2")) { chatSendPersistentMessage(self, "This is a message (2)", "Here is the body (2)", null); } //------------------------------ else if (command.equals ("jw_pm3")) { String oob = chatAppendPersistentMessageWaypoint (null, self); LOG ("jw", "jw_pm3 oob size = " + oob.length ()); chatSendPersistentMessage(self, "This is a message (waypoint)", "Here is the body", oob); oob = chatAppendPersistentMessageWaypointData (null, null, -666.0f, 999.0f, null, "dummytext"); chatSendPersistentMessage(self, "This is a message (object)", "Here is the body", oob); } //------------------------------ else if (command.equals ("jw_pm4")) { String from = "default_from"; String subj = "default_subj"; String body = "default_body"; if (tok.hasMoreTokens ()) { from = tok.nextToken (); if (tok.hasMoreTokens ()) { subj = tok.nextToken (); if (tok.hasMoreTokens ()) { body = tok.nextToken (); } } } chatSendPersistentMessage(from, getChatName (self), subj, body, null); } //------------------------------ else if (command.equals ("jw_setMaster")) { obj_id target = getLookAtTarget (self); if (target != null) { setMaster (target, self); } } //------------------------------ else if (command.equals ("jw_joinMe")) { obj_id target = getLookAtTarget (self); if (target != null) { queueCommand(target, ##"join", null, "", COMMAND_PRIORITY_DEFAULT); } } //------------------------------ else if (command.equals ("jw_inviteMe")) { obj_id target = getLookAtTarget (self); if (target != null) { queueCommand(target, ##"invite", self, "", COMMAND_PRIORITY_DEFAULT); } } //------------------------------ else if (command.equals ("jw_speak")) { obj_id target = getLookAtTarget (self); if (target != null) { StringBuffer output = new StringBuffer (); while (tok.hasMoreTokens ()) output.append (tok.nextToken ()); queueCommand(target, ##"spatialChat", null, output.toString (), COMMAND_PRIORITY_DEFAULT); } } //------------------------------ else if (command.equals ("jw_speakProse")) { obj_id target = getLookAtTarget (self); if (target != null) { prose_package pp = new prose_package (); pp.stringId = new string_id ("ui", "test_pp"); pp.actor.set (self); pp.target.set (getLookAtTarget (self)); pp.other.set ("other_here"); pp.digitInteger = 666; pp.digitFloat = 0.333f; chat.publicChat (target, null, null, null, pp); chat.chat (target, chat.CHAT_PARROT, chat.MOOD_PLAYFUL, new string_id ("ui", "test_pp_2")); chat.chat (target, "This is the third message"); } } //---------------------------------------------------------------------- else if (command.equals ("jw_testSui")) { obj_id target = getLookAtTarget (self); if (target != null) { int pid = createSUIPage (sui.SUI_MSGBOX, self, target, ""); setSUIAssociatedObject (pid, target); setSUIProperty(pid, "bg.caption.lbltitle", "Text", "MY TITLE"); setSUIProperty(pid, "%text%", "Text", "WTF2"); showSUIPage (pid); } } //- else if (command.equals ("jw_money")) { StringBuffer output = new StringBuffer (); if (tok.hasMoreTokens ()) { String amountStr = tok.nextToken (); int amount = Integer.parseInt (amountStr); if (amount > 0) money.bankTo (money.ACCT_CHARACTER_CREATION, self, amount); else money.bankTo (self, money.ACCT_CHARACTER_CREATION, -amount); } } else if(command.equals ("jw_kill")) { obj_id target = getLookAtTarget (self); if (target != null) { hit_result cbtHitData = new hit_result(); cbtHitData.success = true; cbtHitData.baseRoll = 1000; cbtHitData.finalRoll = 100000; cbtHitData.canSee = true; cbtHitData.hitLocation = 0; cbtHitData.damage = 100000000; doDamage(self, target, getCurrentWeapon(self), cbtHitData); pclib.coupDeGrace(self, target, false); } /* defender_results cbtAttackerResults = new attacker_results(); cbtAttackerResults.id = self; cbtAttackerResults.endPosture = POSTURE_DEAD; doCombatResults("change_posture", cbtAttackerResults, null); */ } else if (command.equals ("jw_ownVendor")) { obj_id target = getLookAtTarget (self); if (target != null) createVendorMarket (self, target, 0); } else if (command.equals ("jw_putMeInCell")) { if (tok.countTokens () < 3) { debugSpeakMsg (self, "Not enough arguments: jw_putMeInCell "); } else { String arg1 = tok.nextToken (); String arg2 = tok.nextToken (); String arg3 = tok.nextToken (); String planet = arg1; obj_id building = obj_id.getObjId (Long.valueOf (arg2)); obj_id cellId = getCellId (building, arg3); debugSpeakMsg (self, "Warping to " + building + ", " + cellId); warpPlayer (self, planet, 0, 0, 0, cellId, 0, 0, 0); } } else if (command.equals ("jw_planetmap")) { addPlanetaryMapLocation (obj_id.getObjId (1), "city 1", -4000, -3000, "city", "", MLT_STATIC, 0); addPlanetaryMapLocation (obj_id.getObjId (2), "city 2", -2500, 3500, "city", "", MLT_STATIC, 0); addPlanetaryMapLocation (obj_id.getObjId (3), "city 3", 3000, 7000, "city", "", MLT_STATIC, 0); addPlanetaryMapLocation (obj_id.getObjId (4), "city 4", 1000, -6000, "city", "", MLT_STATIC, 0); addPlanetaryMapLocation (obj_id.getObjId (5), "vendor 1", 100, -4300, "cantina", "", MLT_PERSIST, 0); addPlanetaryMapLocation (obj_id.getObjId (6), "vendor 2", 2100, 6300, "cantina", "", MLT_PERSIST, 0); addPlanetaryMapLocation (obj_id.getObjId (7), "vendor 3", -3100, -6300, "cantina", "", MLT_PERSIST, 0); addPlanetaryMapLocation (obj_id.getObjId (8), "vendor 4", -3400, -6500, "cantina", "hospital", MLT_DYNAMIC, MLF_INACTIVE); addPlanetaryMapLocation (obj_id.getObjId (9), "vendor 5", 4400, -2600, "cantina", "hospital", MLT_DYNAMIC, MLF_ACTIVE); } else if (command.equals ("jw_mapget")) { String arg1 = tok.nextToken (); obj_id id = obj_id.getObjId (Long.valueOf (arg1)); map_location loc = getPlanetaryMapLocation (id); debugSpeakMsg (self, "got [" + loc + "]"); } else if (command.equals ("jw_mapRegisterSelf")) { String arg1 = tok.nextToken (); String arg2 = tok.nextToken (); String arg3 = null; if (tok.hasMoreTokens ()) arg3 = tok.nextToken (); addPlanetaryMapLocation (self, arg1, -4000, -3000, arg2, arg3 != null ? arg3 : "", MLT_DYNAMIC, 0); } else if (command.equals ("jw_vset")) { int index = Integer.parseInt (tok.nextToken ()); float value = Float.parseFloat (tok.nextToken ()); int ivalue = vehicle.setValue (getLookAtTarget (self), value, index); debugSpeakMsg (self, "set value to " + ivalue); } else if (command.equals ("jw_vget")) { int index = Integer.parseInt (tok.nextToken ()); float value = vehicle.getValue (getLookAtTarget (self), index); debugSpeakMsg (self, "value is " + value); } else if (command.equals ("jw_dirtyAttributes")) { String idString = tok.nextToken (); obj_id id = obj_id.getObjId (java.lang.Long.parseLong (idString)); sendDirtyAttributesNotification (id); debugSpeakMsg (self, "dirty attrs"); } else if (command.equals ("jw_dirtyMenu")) { String idString = tok.nextToken (); obj_id id = obj_id.getObjId (java.lang.Long.parseLong (idString)); sendDirtyObjectMenuNotification (id); debugSpeakMsg (self, "dirty attrs"); } else if (command.equals("jw_suiTest")) { } else if (command.equals ("jw_shipInstall")) { String idString = tok.nextToken (); int index = Integer.parseInt (tok.nextToken ()); obj_id componentId = obj_id.getObjId (java.lang.Long.parseLong (idString)); boolean result = shipInstallComponent (self, getLookAtTarget (self), index, componentId); debugSpeakMsg (self, "installed result:" + result); } else if (command.equals ("jw_shipUninstall")) { int index = Integer.parseInt (tok.nextToken ()); obj_id componentId = shipUninstallComponent (self, getLookAtTarget (self), index, getObjectInSlot (self, "inventory")); debugSpeakMsg (self, "uninstalled component:" + componentId); } else if (command.equals ("jw_shipPurge")) { int index = Integer.parseInt (tok.nextToken ()); obj_id componentId = shipUninstallComponent (null, getLookAtTarget (self), index, null); debugSpeakMsg (self, "uninstalled component:" + componentId); } else if (command.equals ("jw_shipGetSlots")) { debugSpeakMsg (self, "... getting slots ..."); obj_id shipId = getLookAtTarget (self); int [] shipChassisSlots = getShipChassisSlots (shipId); if (shipChassisSlots != null) { for (int i = 0; i < shipChassisSlots.length; ++i) { boolean installed = isShipSlotInstalled (shipId, shipChassisSlots [i]); debugSpeakMsg (self, "slot " + shipChassisSlots [i] + ", installed:" + installed); } } } else if (command.equals ("jw_shipSetEnergyRequirement")) { int index = Integer.parseInt (tok.nextToken ()); float requirement = Float.parseFloat (tok.nextToken ()); setShipComponentEnergyMaintenanceRequirement (getLookAtTarget (self), index, requirement); } else if (command.equals ("jw_shipSetEfficiencyGeneral")) { int index = Integer.parseInt (tok.nextToken ()); float requirement = Float.parseFloat (tok.nextToken ()); setShipComponentEfficiencyGeneral (getLookAtTarget (self), index, requirement); } else if (command.equals ("jw_shipSetEfficiencyEnergy")) { int index = Integer.parseInt (tok.nextToken ()); float requirement = Float.parseFloat (tok.nextToken ()); setShipComponentEfficiencyEnergy (getLookAtTarget (self), index, requirement); } else if (command.equals ("jw_shipSetArmor")) { int index = Integer.parseInt (tok.nextToken ()); float cur = Float.parseFloat (tok.nextToken ()); float max = Float.parseFloat (tok.nextToken ()); setShipComponentArmorHitpointsMaximum (getLookAtTarget (self), index, max); setShipComponentArmorHitpointsCurrent (getLookAtTarget (self), index, cur); } else if (command.equals ("jw_shipSetHp")) { int index = Integer.parseInt (tok.nextToken ()); float cur = Float.parseFloat (tok.nextToken ()); float max = Float.parseFloat (tok.nextToken ()); setShipComponentHitpointsMaximum (getLookAtTarget (self), index, max); setShipComponentHitpointsCurrent (getLookAtTarget (self), index, cur); } else if (command.equals ("jw_shipSetFlags")) { int index = Integer.parseInt (tok.nextToken ()); int flags = Integer.parseInt(tok.nextToken ()); setShipComponentFlags (getLookAtTarget (self), index, flags); } else if (command.equals ("jw_shipSetShipHp")) { float cur = Float.parseFloat (tok.nextToken ()); float max = Float.parseFloat (tok.nextToken ()); setShipMaximumChassisHitPoints (getLookAtTarget (self), max); setShipCurrentChassisHitPoints (getLookAtTarget (self), cur); } else if (command.equals ("jw_shipSetReactorGeneration")) { float val = Float.parseFloat (tok.nextToken ()); setShipReactorEnergyGenerationRate (getLookAtTarget (self), val); } else if (command.equals ("jw_shipSetShieldHpFrontCurrent")) { float val = Float.parseFloat (tok.nextToken ()); setShipShieldHitpointsFrontCurrent (getLookAtTarget (self), val); } else if (command.equals ("jw_shipSetShieldHpFrontMax")) { float val = Float.parseFloat (tok.nextToken ()); setShipShieldHitpointsFrontMaximum (getLookAtTarget (self), val); } else if (command.equals ("jw_shipSetShieldHpBackCurrent")) { float val = Float.parseFloat (tok.nextToken ()); setShipShieldHitpointsBackCurrent (getLookAtTarget (self), val); } else if (command.equals ("jw_shipSetShieldHpBackMax")) { float val = Float.parseFloat (tok.nextToken ()); setShipShieldHitpointsBackMaximum (getLookAtTarget (self), val); } else if (command.equals ("jw_shipSetShieldRechargeRate")) { float val = Float.parseFloat (tok.nextToken ()); setShipShieldRechargeRate (getLookAtTarget (self), val); } else if (command.equals ("jw_terminalSet")) { debugSpeakMsg (self, "terminal setting"); obj_id id = obj_id.getObjId (java.lang.Long.parseLong (tok.nextToken())); setObjVar (id, "space.destination", getWorldLocation (id)); } else if (command.equals ("jw_weaponComponentSetup")) { debugSpeakMsg (self, "component setup"); obj_id id = obj_id.getObjId (java.lang.Long.parseLong (tok.nextToken())); setObjVar(id, "ship_comp.weapon.refire_rate", 20.0f); setObjVar(id, "ship_comp.weapon.projectile_speed", 150.0f); setObjVar(id, "ship_comp.weapon.energy_per_shot", 50.0f); setObjVar(id, "ship_comp.weapon.damage_maximum", 10.0f); } else if (command.equals ("jw_shipComponentName")) { int index = Integer.parseInt (tok.nextToken ()); String name = tok.nextToken (); setShipComponentName(getLookAtTarget(self), index, name); } else if (command.equals ("jw_shipDestroy")) { float val = Float.parseFloat (tok.nextToken ()); handleShipDestruction(getLookAtTarget(self), val); } else if (command.equals ("jw_shipDestroyComponent")) { int index = Integer.parseInt (tok.nextToken ()); float val = Float.parseFloat (tok.nextToken ()); handleShipComponentDestruction(getLookAtTarget(self), index, val); } else if (command.equals ("jw_shipHitMe")) { obj_id objTarget = getLookAtTarget(self); obj_id objShip = getPilotedShip(self); sendSystemMessageTestingOnly(self, "objTarget of "+objTarget+" is attacking "+objShip); ship_ai.spaceAttack(objTarget, objShip); } else if (command.equals ("jw_shipSetWeaponEfficiencyRefireRate")) { int index = Integer.parseInt (tok.nextToken ()); float eff = Float.parseFloat (tok.nextToken ()); setShipWeaponEfficiencyRefireRate (getLookAtTarget (self), index, eff); } else if (command.equals ("jw_shipSetWeaponDamage")) { int index = Integer.parseInt (tok.nextToken ()); sendSystemMessageTestingOnly(self, "index=" + index); setShipWeaponDamageMaximum (getLookAtTarget (self), ship_chassis_slot_type.SCST_weapon_0 + index, 500.0f); } else if (command.equals("jw_leet")) { obj_id objTarget = getLookAtTarget(self); if (objTarget == null) objTarget = getPilotedShip(self); for (int i = 0; i < ship_chassis_slot_type.SCST_num_types; ++i) { if (isShipSlotInstalled(objTarget, i)) { setShipComponentEfficiencyEnergy(objTarget, i, 10.0f); setShipComponentEfficiencyGeneral(objTarget, i, 2.0f); } } for (int i = ship_chassis_slot_type.SCST_weapon_first; i < ship_chassis_slot_type.SCST_weapon_last; ++i) { if (isShipSlotInstalled(objTarget, i)) { setShipWeaponEfficiencyRefireRate(objTarget, i, 10.0f); setShipComponentEfficiencyEnergy(objTarget, i, 10.0f); setShipComponentEfficiencyGeneral(objTarget, i, 10.0f); setShipWeaponAmmoCurrent(objTarget, i, getShipWeaponAmmoMaximum(objTarget, i)); } } } else if (command.equals("jw_fullAmmo")) { obj_id objTarget = getLookAtTarget(self); if (objTarget == null) objTarget = getPilotedShip(self); for (int i = ship_chassis_slot_type.SCST_weapon_first; i < ship_chassis_slot_type.SCST_weapon_last; ++i) { if (isShipSlotInstalled(objTarget, i)) { sendSystemMessageTestingOnly(self, "up ammo"); setShipWeaponAmmoCurrent(objTarget, i, getShipWeaponAmmoMaximum(objTarget, i)); } } } else if (command.equals("jw_clientEffect")) { String cef = "clienteffect/space_scram_spark.cef"; if (tok.hasMoreTokens()) cef = tok.nextToken (); transform t = new transform(); t = t.move_p(new vector(10.0f, 0.0f, 0.0f)); playClientEffectObj(self, cef, getLookAtTarget(self), null, t); } else if (command.equals("jw_powerDebug")) { obj_id[] objPcds = space_transition.findShipControlDevicesForPlayer(self); obj_id objShip = space_transition.getShipFromShipControlDevice(objPcds[0]); objShip = space_transition.getContainingShip(self); setShipReactorEnergyGenerationRate(objShip, 500); setShipComponentEnergyMaintenanceRequirement(objShip, space_crafting.SHIELD_GENERATOR, 200); setShipComponentEnergyMaintenanceRequirement(objShip, space_crafting.ENGINE, 100); setShipComponentEnergyMaintenanceRequirement(objShip, space_crafting.WEAPON_0, 100); setShipComponentEnergyMaintenanceRequirement(objShip, space_crafting.WEAPON_1, 100); setShipComponentEnergyMaintenanceRequirement(objShip, space_crafting.CAPACITOR, 100); sendSystemMessageTestingOnly(self, "whacked "); } else if (command.equals("jw_sprTest")) { obj_id[] objPcds = space_transition.findShipControlDevicesForPlayer(self); obj_id objShip = space_transition.getShipFromShipControlDevice(objPcds[0]); objShip = space_transition.getContainingShip(self); setShipEngineSpeedRotationFactorMaximum(objShip, 3.88f); setShipEngineSpeedRotationFactorMinimum(objShip, 6.33f); setShipEngineSpeedRotationFactorOptimal(objShip, 0.75f); } else if (command.equals("jw_chassisMod")) { obj_id[] objPcds = space_transition.findShipControlDevicesForPlayer(self); obj_id objShip = space_transition.getShipFromShipControlDevice(objPcds[0]); objShip = space_transition.getContainingShip(self); float val = Float.parseFloat (tok.nextToken ()); setShipChassisSpeedMaximumModifier(objShip, val); } else if (command.equals("jw_maDynVel")) { obj_id objTarget = getLookAtTarget(self); float x = Float.parseFloat (tok.nextToken ()); float y = Float.parseFloat (tok.nextToken ()); float z = Float.parseFloat (tok.nextToken ()); setDynamicMiningAsteroidVelocity(objTarget, new vector(x, y, z)); } else if (command.equals("jw_maDynVel")) { obj_id objTarget = getLookAtTarget(self); float x = Float.parseFloat (tok.nextToken ()); float y = Float.parseFloat (tok.nextToken ()); float z = Float.parseFloat (tok.nextToken ()); setDynamicMiningAsteroidVelocity(objTarget, new vector(x, y, z)); } else if (command.equals("jw_maSpawnStatic")) { } else if (command.equals("jw_maSpawnDynamic")) { location selfLocation = getLocation(self); obj_id spawnDynamicAsteroid = createObject("object/ship/asteroid/mining_asteroid_dynamic_default.iff", selfLocation); setDynamicMiningAsteroidVelocity(spawnDynamicAsteroid, new vector(0.0f, 40.0f, 0.0f)); } else if (command.equals("jw_dt")) { obj_id ticket = space_dungeon.createTicket (self, "tatooine", "tatooine", "avatar_platform"); } else if (command.equals("jw_dt_curr")) { String planet = getCurrentSceneName(); obj_id ticket = space_dungeon.createTicket (self, planet, planet, "avatar_platform"); } else if (command.equals("jw_spaceTicket")) { obj_id objTarget = getLookAtTarget(self); space_dungeon.selectDungeonTicket(objTarget, self); } else if (command.equals("jw_spaceEject")) { sendSystemMessageTestingOnly(self, "now ejecting... "); space_dungeon.ejectPlayerFromDungeon(self); } else if (command.equals("jw_avatarPlatform")) { location selfLocation = getLocation(self); selfLocation.x += 400.0f; obj_id platform = createObject("object/ship/spacestation_avatar_platform.iff", selfLocation); } else if (command.equals("jw_spaceDungeonInit")) { long id = Long.parseLong (tok.nextToken()); obj_id dungeon = obj_id.getObjId(id); messageTo(dungeon, "msgManualDungeonReset", new dictionary(), 0.0f, false); // space_dungeon.intializeSpaceDungeon(dungeon); } else if (command.equals("jw_spaceLaunch")) { sendSystemMessageTestingOnly(self, "now launching... "); space_dungeon.launchPlayerFromDungeon(self); } else if (command.equals("jw_spaceDupe")) { obj_id[] scds = space_transition.findShipControlDevicesForPlayer(self); obj_id ship = space_transition.getShipFromShipControlDevice(scds[0]); if (null == ship) ship = getPilotedShip(self); sendSystemMessageTestingOnly(self, "scds.length=" + scds.length + ", ship=" + ship); if (null == ship) { } else { location selfLocation = getLocation(self); selfLocation.y += 2.0f; obj_id copy = createObject(ship, selfLocation); for (int chassisSlot = 0; chassisSlot < ship_chassis_slot_type.SCST_weapon_10; ++chassisSlot) { int crc = getShipComponentCrc(ship, chassisSlot); if (0 != crc) { shipPseudoInstallComponent(copy, chassisSlot, crc); setShipComponentArmorHitpointsMaximum(copy, chassisSlot, getShipComponentArmorHitpointsMaximum(ship, chassisSlot)); setShipComponentArmorHitpointsCurrent(copy, chassisSlot, getShipComponentArmorHitpointsCurrent(ship, chassisSlot)); setShipComponentHitpointsMaximum(copy, chassisSlot, getShipComponentHitpointsMaximum(ship, chassisSlot)); setShipComponentHitpointsCurrent(copy, chassisSlot, getShipComponentHitpointsCurrent(ship, chassisSlot)); //-- remove the active flags setShipComponentFlags(copy, chassisSlot, getShipComponentFlags(ship, chassisSlot) & ~ship_component_flags.SCF_active); } } //-- disable the engines so they don't glow space_utils.setComponentDisabled(copy, ship_chassis_slot_type.SCST_engine, true); custom_var[] cvars = getAllCustomVars(ship); if (null != cvars) { for (int i = 0; i < cvars.length; ++i) { custom_var cvar = cvars[i]; if (cvar.isRangedInt()) { ranged_int_custom_var ricvar = (ranged_int_custom_var) cvar; String varName = cvar.getVarName(); setRangedIntCustomVarValue(copy, varName, ricvar.getValue()); } } } } } else if (command.equals("jw_ticketCollector")) { location selfLocation = getLocation(self); obj_id collector = createObject("object/tangible/travel/ticket_collector/ticket_collector.iff", selfLocation); attachScript(collector, "item.travel_ticket.travel_space_dungeon"); setObjVar(collector, "space_dungeon.ticket.dungeon", "avatar_platform"); setObjVar(collector, "space_dungeon.ticket.point", getCurrentSceneName()); } else if (command.equals("jw_getDungeonRegistered")) { long id = Long.parseLong (tok.nextToken()); obj_id dungeon = obj_id.getObjId(id); if (!isValidId(dungeon)) { sendSystemMessageTestingOnly(self, "NO SUCH OBJECT: [" + dungeon + "]"); return SCRIPT_CONTINUE; } obj_id[] registered = space_dungeon.getRegisteredObjects(dungeon); if (null == registered ) { sendSystemMessageTestingOnly(self, "REGISTERED NULL!"); } else { sendSystemMessageTestingOnly(self, "REGISTERED " + registered.length); for (int i = 0; i < registered.length; ++i) { obj_id rid = registered[i]; if (null != rid) sendSystemMessageTestingOnly(self, " ... " + rid); else sendSystemMessageTestingOnly(self, " ... NULL!"); } } } else if (command.equals("jw_getCollisionRadius")) { long id = Long.parseLong (tok.nextToken()); obj_id obj = obj_id.getObjId(id); float f = getObjectCollisionRadius(obj); sendSystemMessageTestingOnly(self, "radius=" + f); } else if (command.equals("jw_dungeonLandTicketless")) { obj_id npc = getLookAtTarget(self); String planet = getCurrentSceneName(); space_dungeon.sendGroupToDungeonWithoutTicket(self, "avatar_platform", planet, planet, "quest_type", npc); } else if (command.equals("jw_shipCargoDump")) { obj_id ship = getPilotedShip(self); obj_id[] resources = getShipCargoHoldContentsResourceTypes(ship); for (int i = 0; i < resources.length; ++i) { setShipCargoHoldContent(ship, resources[i], 0); } } else if (command.equals("jw_spaceMiningSale")) { obj_id ship = getPilotedShip(self); openSpaceMiningUi(self, self, "tatooine"); } else if (command.equals("jw_shipTestCargo")) { obj_id ship = getPilotedShip(self); setShipCargoHoldContentsMaximum(ship, 100); // obj_id[] diamonds = getResourceTypes("space_gem_diamond"); // obj_id[] steels = getResourceTypes("space_metal_carbonaceous"); ///remo sendSystemMessageTestingOnly(self, "0) cargo " + getShipCargoHoldContentsCurrent(ship) + "/" + getShipCargoHoldContentsMaximum(ship)); setShipCargoHoldContent(ship, "space_gem_diamond", 44); setShipCargoHoldContent(ship, "space_metal_carbonaceous", 22); int cd = getShipCargoHoldContent(ship, "space_gem_diamond"); int cc = getShipCargoHoldContent(ship, "space_metal_carbonaceous"); sendSystemMessageTestingOnly(self, "1) cargo " + getShipCargoHoldContentsCurrent(ship) + "/" + getShipCargoHoldContentsMaximum(ship) + ", contains=" + cd + "," + cc); modifyShipCargoHoldContent(ship, "space_gem_diamond", 4); modifyShipCargoHoldContent(ship, "space_metal_carbonaceous", 2); cd = getShipCargoHoldContent(ship, "space_gem_diamond"); cc = getShipCargoHoldContent(ship, "space_metal_carbonaceous"); sendSystemMessageTestingOnly(self, "2) cargo " + getShipCargoHoldContentsCurrent(ship) + "/" + getShipCargoHoldContentsMaximum(ship) + ", contains=" + cd + "," + cc); modifyShipCargoHoldContent(ship, "space_gem_diamond", -8); modifyShipCargoHoldContent(ship, "space_metal_carbonaceous", -4); cd = getShipCargoHoldContent(ship, "space_gem_diamond"); cc = getShipCargoHoldContent(ship, "space_metal_carbonaceous"); sendSystemMessageTestingOnly(self, "3) cargo " + getShipCargoHoldContentsCurrent(ship) + "/" + getShipCargoHoldContentsMaximum(ship) + ", contains=" + cd + "," + cc); } } return SCRIPT_CONTINUE; } //---------------------------------------------------------------------- messageHandler TestSUICallback() { debugServerConsoleMsg(self, "callback started"); obj_id player = params.getObjId("player"); int pageId = -5; pageId = params.getInt("pageId"); debugSpeakMsg(player, Integer.toString(pageId)); String[] props = params.getStringArray("propertyStrings"); for (int i = 0; i < props.length; ++i) { debugSpeakMsg(player, props[i]); } return SCRIPT_CONTINUE; } //---------------------------------------------------------------------- messageHandler ColorizeCallback() { return SCRIPT_CONTINUE; } //---------------------------------------------------------------------- trigger OnObjectMenuRequest(obj_id player, menu_info mi) { return SCRIPT_CONTINUE; } //---------------------------------------------------------------------- trigger OnSpaceMiningSellResource(obj_id player, obj_id ship, obj_id station, obj_id resourceId, int amount) { int amountDeducted = -modifyShipCargoHoldContent(ship, resourceId, -amount); sendSystemMessageTestingOnly (player, "Sold Resources: " + amountDeducted + "units"); return SCRIPT_CONTINUE; } //----------------------------------------------------------------------