Restored Snowspeeder ITV and Slave 1 Replica ITV

This commit is contained in:
CekisSWG
2018-05-17 06:36:02 +01:00
parent d95390d3d1
commit bca8d04682
14 changed files with 8654 additions and 8571 deletions
File diff suppressed because it is too large Load Diff
@@ -0,0 +1,10 @@
@base object/tangible/base/tangible_base.iff
@class tangible_object_template 4
@class object_template 8
sharedTemplate = "object/tangible/deed/vehicle_deed/shared_instant_travel_terminal_snowspeeder.iff"
scripts = ["systems.veteran_reward.instant_travel_terminal_deed", "item.special.nomove"]
objvars = +["itv_snowspeeder" = 1]
persistByDefault = true
@@ -1,7 +1,13 @@
@base object/tangible/base/tangible_base.iff
@class tangible_object_template 4
@class object_template 8
sharedTemplate = "object/tangible/tcg/series8/shared_instant_travel_terminal_slave1.iff"
scripts = ["systems.veteran_reward.instant_travel_terminal_deed", "item.special.nomove"]
objvars = +[ "noTrade" = 1, "slave1Ship" =1]
objvars = +[ "noTrade" = 1, "itv_slave_1" =1]
persistByDefault = true
@@ -0,0 +1,25 @@
// Filename: terminal_travel
// Directory: object/tangible/terminal
//
// Description:
// BASE TERMINAL
//
// Notes:
//
//
// Category: TERMINAL
// Sub-Category: BASE
// Classification: Null
//
@base object/tangible/terminal/base/base_terminal.iff
@class tangible_object_template 0
@class object_template 2
sharedTemplate = "object/tangible/terminal/shared_terminal_travel_instant_tcg_slave_1.iff"
scripts = ["terminal.terminal_travel_instant"]
objvars = ["itv_slave_1"=1]
@@ -0,0 +1,25 @@
// Filename: terminal_travel
// Directory: object/tangible/terminal
//
// Description:
// BASE TERMINAL
//
// Notes:
//
//
// Category: TERMINAL
// Sub-Category: BASE
// Classification: Null
//
@base object/tangible/terminal/base/base_terminal.iff
@class tangible_object_template 0
@class object_template 2
sharedTemplate = "object/tangible/terminal/shared_terminal_travel_instant_snowspeeder.iff"
scripts = +["terminal.terminal_travel_instant"]
objvars = +["itv_snowspeeder"=1]
@@ -1,29 +1,9 @@
package script.player;
import script.*;
import script.base_class.*;
import script.combat_engine.*;
import java.util.Arrays;
import java.util.Hashtable;
import java.util.Vector;
import script.base_script;
import script.library.*;
import script.library.buff;
import script.library.callable;
import script.library.city;
import script.library.combat;
import script.library.create;
import script.library.factions;
import script.library.locations;
import script.library.money;
import script.library.prose;
import script.library.regions;
import script.library.space_dungeon;
import script.library.space_dungeon_data;
import script.library.structure;
import script.library.sui;
import script.library.travel;
import script.library.utils;
import java.util.Vector;
public class player_travel extends script.base_script
{
@@ -63,6 +43,8 @@ public class player_travel extends script.base_script
public static final int SHIP_TYPE_INSTANT_JALOPY = 4;
public static final int SHIP_TYPE_TCG_HOME_SHIP = 5;
public static final int SHIP_TYPE_TCG_LOCATION_SHIP = 6;
public static final int SHIP_TYPE_SNOWSPEEDER_SHIP = 7;
public static final int SHIP_TYPE_TCG_SLAVE1_SHIP = 8;
public int OnInitialize(obj_id self) throws InterruptedException
{
LOG("LOG_CHANNEL", "player_travel.OnInitialize");
@@ -1045,8 +1027,7 @@ public class player_travel extends script.base_script
LOG("debug/player_travel/" + section, message);
}
}
public int callForPickup(obj_id self, obj_id target, String params, float defaultTime) throws InterruptedException
{
public int doCFP(obj_id self, int itvType) throws InterruptedException {
if (travel.isTravelBlocked(self, false))
{
return SCRIPT_CONTINUE;
@@ -1055,81 +1036,41 @@ public class player_travel extends script.base_script
{
debugLogging("//***// commandHandler : callForPickup", "////>>>> player CAN call for pickup. Executing shuttle spawn sequence.");
sendSystemMessage(self, SID_CALLING_FOR_PICKUP);
spawnPickupCraft(self, SHIP_TYPE_INSTANT_XWING_TIE);
spawnPickupCraft(self, itvType);
}
return SCRIPT_CONTINUE;
}
public int callForPickup(obj_id self, obj_id target, String params, float defaultTime) throws InterruptedException
{
return doCFP(self, SHIP_TYPE_INSTANT_XWING_TIE);
}
public int callForPrivateerPickup(obj_id self, obj_id target, String params, float defaultTime) throws InterruptedException
{
debugLogging("//***// commandHandler : callForPickup", "////>>>> ENTERED");
if (travel.isTravelBlocked(self, false))
{
return SCRIPT_CONTINUE;
}
if (canCallForPickup(self))
{
debugLogging("//***// commandHandler : callForPickup", "////>>>> player CAN call for pickup. Executing shuttle spawn sequence.");
sendSystemMessage(self, SID_CALLING_FOR_PICKUP);
spawnPickupCraft(self, SHIP_TYPE_INSTANT_PRIVATEER);
}
return SCRIPT_CONTINUE;
return doCFP(self, SHIP_TYPE_INSTANT_PRIVATEER);
}
public int callForRattleTrapPickup(obj_id self, obj_id target, String params, float defaultTime) throws InterruptedException
{
debugLogging("//***// commandHandler : callForJunkPickup", "////>>>> ENTERED");
if (travel.isTravelBlocked(self, false))
{
return SCRIPT_CONTINUE;
}
if (canCallForPickup(self))
{
debugLogging("//***// commandHandler : callForJunkPickup", "////>>>> player CAN call for pickup. Executing shuttle spawn sequence.");
sendSystemMessage(self, SID_CALLING_FOR_PICKUP);
spawnPickupCraft(self, SHIP_TYPE_INSTANT_JALOPY);
}
return SCRIPT_CONTINUE;
return doCFP(self, SHIP_TYPE_INSTANT_JALOPY);
}
public int callForRoyalPickup(obj_id self, obj_id target, String params, float defaultTime) throws InterruptedException
{
debugLogging("//***// commandHandler : callForPickup", "////>>>> ENTERED");
if (travel.isTravelBlocked(self, false))
{
return SCRIPT_CONTINUE;
}
if (canCallForPickup(self))
{
sendSystemMessage(self, SID_CALLING_FOR_PICKUP);
spawnPickupCraft(self, SHIP_TYPE_INSTANT_ROYAL_SHIP);
}
return SCRIPT_CONTINUE;
return doCFP(self, SHIP_TYPE_INSTANT_ROYAL_SHIP);
}
public int callForTcgHomePickup(obj_id self, obj_id target, String params, float defaultTime) throws InterruptedException
{
debugLogging("//***// commandHandler : callForPickup", "////>>>> ENTERED");
if (travel.isTravelBlocked(self, false))
{
return SCRIPT_CONTINUE;
}
if (canCallForPickup(self))
{
sendSystemMessage(self, SID_CALLING_FOR_PICKUP);
spawnPickupCraft(self, SHIP_TYPE_TCG_HOME_SHIP);
}
return SCRIPT_CONTINUE;
return doCFP(self, SHIP_TYPE_TCG_HOME_SHIP);
}
public int callForTcgLocationPickup(obj_id self, obj_id target, String params, float defaultTime) throws InterruptedException
{
debugLogging("//***// commandHandler : callForPickup", "////>>>> ENTERED");
if (travel.isTravelBlocked(self, false))
{
return SCRIPT_CONTINUE;
}
if (canCallForPickup(self))
{
sendSystemMessage(self, SID_CALLING_FOR_PICKUP);
spawnPickupCraft(self, SHIP_TYPE_TCG_LOCATION_SHIP);
}
return SCRIPT_CONTINUE;
return doCFP(self, SHIP_TYPE_TCG_LOCATION_SHIP);
}
public int callForSnowspeederPickup(obj_id self, obj_id target, String params, float defaultTime) throws InterruptedException
{
return doCFP(self, SHIP_TYPE_SNOWSPEEDER_SHIP);
}
public int callForTcgSlave1Pickup(obj_id self, obj_id target, String params, float defaultTime) throws InterruptedException
{
return doCFP(self, SHIP_TYPE_TCG_SLAVE1_SHIP);
}
public boolean canCallForPickup(obj_id player) throws InterruptedException
{
@@ -1226,20 +1167,30 @@ public class player_travel extends script.base_script
{
pickupCraftType = "object/tangible/terminal/terminal_travel_instant_royal_ship.iff";
}
if (type == SHIP_TYPE_INSTANT_JALOPY)
else if (type == SHIP_TYPE_INSTANT_JALOPY)
{
pickupCraftType = "object/tangible/terminal/terminal_travel_instant_jalopy.iff";
}
if (type == SHIP_TYPE_TCG_LOCATION_SHIP)
else if (type == SHIP_TYPE_TCG_LOCATION_SHIP)
{
pickupCraftType = "object/tangible/terminal/terminal_travel_instant_tcg_location.iff";
playClientEffectObj(player, "sound/g9_rigger_01.snd", player, "");
}
if (type == SHIP_TYPE_TCG_HOME_SHIP)
else if (type == SHIP_TYPE_TCG_HOME_SHIP)
{
pickupCraftType = "object/tangible/terminal/terminal_travel_instant_tcg_home.iff";
playClientEffectObj(player, "sound/solar_sailer_01.snd", player, "");
}
else if (type == SHIP_TYPE_SNOWSPEEDER_SHIP)
{
pickupCraftType = "object/tangible/terminal/terminal_travel_instant_snowspeeder.iff";
playClientEffectObj(player, "sound/veh_t47snowspeeder_decel.snd", player, "");
}
else if (type == SHIP_TYPE_TCG_SLAVE1_SHIP)
{
pickupCraftType = "object/tangible/terminal/terminal_travel_instant_slave_1.iff";
playClientEffectObj(player, "sound/eng_flyby_firespray.snd", player, "");
}
obj_id pickupCraft = create.object(pickupCraftType, spawnLoc);
if (!isIdValid(pickupCraft))
{
@@ -1,21 +1,7 @@
package script.systems.tcg;
import script.*;
import script.base_class.*;
import script.combat_engine.*;
import java.util.Arrays;
import java.util.Hashtable;
import java.util.Vector;
import script.base_script;
import script.library.combat;
import script.library.locations;
import script.library.pet_lib;
import script.library.regions;
import script.library.space_dungeon;
import script.library.structure;
import script.library.sui;
import script.library.utils;
import script.library.*;
public class tcg_instant_travel extends script.base_script
{
@@ -24,11 +10,7 @@ public class tcg_instant_travel extends script.base_script
}
public static final String PID_VAR = "tcg_instant_travel";
public static final string_id SID_WHILE_DEAD = new string_id("spam", "while_dead");
public static final String[] LOC_ITV_MANAGE_OPTIONS =
{
"Set Location 1",
"Set Location 2"
};
public int OnObjectMenuRequest(obj_id self, obj_id player, menu_info mi) throws InterruptedException
{
if (!isIdValid(player))
@@ -104,7 +86,6 @@ public class tcg_instant_travel extends script.base_script
}
int pid = sui.listbox(itv, player, "@tcg:stationary_set_location_d", sui.OK_CANCEL, "@tcg:stationary_set_location_t", main_options, "handlePlayerNameSetLocation", true, true);
sui.setPid(player, pid, PID_VAR);
return;
}
public int handlePlayerNameSetLocation(obj_id self, dictionary params) throws InterruptedException
{
@@ -1,12 +1,9 @@
package script.systems.veteran_reward;
import script.*;
import script.base_class.*;
import script.combat_engine.*;
import java.util.Arrays;
import java.util.Hashtable;
import java.util.Vector;
import script.base_script;
import script.menu_info;
import script.menu_info_types;
import script.obj_id;
import script.string_id;
public class instant_travel_terminal_deed extends script.base_script
{
@@ -21,10 +18,15 @@ public class instant_travel_terminal_deed extends script.base_script
}
public int OnObjectMenuSelect(obj_id self, obj_id player, int item) throws InterruptedException
{
// get the setting for minimum ITV level (if its not set, make it the max player level)
String minLevelSetting = getConfigSetting("GameServer", "itvMinUsageLevel");
if(minLevelSetting == null) minLevelSetting = "90";
int minimumLevel = Integer.parseInt(minLevelSetting);
if (item == menu_info_types.ITEM_USE)
{
if(getLevel(player) > 90){
sendSystemMessage(player, "Instant Travel vehicles may not be used until you have reached level 50.", null);
if(getLevel(player) < minimumLevel){
sendSystemMessage(player, "Instant Travel vehicles may not be used until you have reached level " + minLevelSetting, null);
}
else if (hasObjVar(self, "privateerShip"))
{
@@ -51,6 +53,16 @@ public class instant_travel_terminal_deed extends script.base_script
grantCommand(player, "callforg9riggerpickup");
destroyObject(self);
}
else if (hasObjVar(self, "itv_snowspeeder"))
{
grantCommand(player, "callforsnowspeeder");
destroyObject(self);
}
else if (hasObjVar(self, "itv_slave_1"))
{
grantCommand(player, "callforslave1pickup");
destroyObject(self);
}
else
{
grantCommand(player, "callforpickup");
@@ -1,26 +1,8 @@
package script.terminal;
import script.*;
import script.base_class.*;
import script.combat_engine.*;
import java.util.Arrays;
import java.util.Hashtable;
import java.util.Vector;
import script.base_script;
import script.library.buff;
import script.library.city;
import script.library.combat;
import script.library.create;
import script.library.locations;
import script.library.pet_lib;
import script.library.player_structure;
import script.library.regions;
import script.library.space_dungeon;
import script.library.structure;
import script.library.sui;
import script.library.*;
import script.library.travel;
import script.library.utils;
public class terminal_travel_instant extends script.base_script
{
@@ -35,12 +17,6 @@ public class terminal_travel_instant extends script.base_script
public static final boolean CONST_FLAG_DO_LOGGING = false;
public static final String ITV_PICKUP_BUFF = "call_for_pickup";
public static final String PID_VAR = "home_itv_pid";
public static final String[] LOC_ITV_MANAGE_OPTIONS =
{
"Set Location 1",
"Set Location 2",
"Set Location 3"
};
public int OnInitialize(obj_id self) throws InterruptedException
{
debugLogging("//***// OnInitialize: ", "////>>>> ENTERED. ");
@@ -55,10 +31,9 @@ public class terminal_travel_instant extends script.base_script
sendSystemMessage(player, SID_NOT_YOUR_SHIP);
return SCRIPT_CONTINUE;
}
menu_info_data data = mi.getMenuItemByType(menu_info_types.ITEM_USE);
if (data != null)
{
data.setServerNotify(true);
mi.addRootMenu(menu_info_types.ITEM_USE, new string_id("", ""));
if(hasObjVar(self, "itv_slave_1")) {
mi.addRootMenu(menu_info_types.ITEM_USE_OTHER, new string_id("tcg", "travel_locations"));
}
return SCRIPT_CONTINUE;
}
@@ -73,55 +48,44 @@ public class terminal_travel_instant extends script.base_script
{
pet_lib.doDismountNow(player, true);
}
if (item == menu_info_types.ITEM_USE && hasObjVar(self, "tcg_itv_home"))
{
if (city.isAMayor(player))
{
int city_id = getCitizenOfCityId(player);
if (cityExists(city_id))
{
obj_id city_hall = cityGetCityHall(city_id);
if (isIdValid(city_hall))
{
if (item == menu_info_types.ITEM_USE) {
if (hasObjVar(self, "tcg_itv_home") || hasObjVar(self, "itv_slave_1")) {
if (city.isAMayor(player)) {
int city_id = getCitizenOfCityId(player);
if (cityExists(city_id)) {
obj_id city_hall = cityGetCityHall(city_id);
if (isIdValid(city_hall)) {
dictionary dict = new dictionary();
dict.put("requestingObject", self);
dict.put("homeOwner", player);
messageTo(city_hall, "retrieveHouseCoords", dict, 0.0f, false);
} else {
sendSystemMessage(player, new string_id("tcg", "no_residence_home_itv"));
}
}
return SCRIPT_CONTINUE;
}
else if (hasObjVar(player, "residenceHouseId")) {
obj_id home = getObjIdObjVar(player, "residenceHouseId");
if (isIdValid(home)) {
dictionary dict = new dictionary();
dict.put("requestingObject", self);
dict.put("homeOwner", player);
messageTo(city_hall, "retrieveHouseCoords", dict, 0.0f, false);
messageTo(home, "retrieveHouseCoords", dict, 0, false);
}
else
{
else {
sendSystemMessage(player, new string_id("tcg", "no_residence_home_itv"));
}
}
return SCRIPT_CONTINUE;
}
else if (hasObjVar(player, "residenceHouseId"))
{
obj_id home = getObjIdObjVar(player, "residenceHouseId");
if (isIdValid(home))
{
dictionary dict = new dictionary();
dict.put("requestingObject", self);
dict.put("homeOwner", player);
messageTo(home, "retrieveHouseCoords", dict, 0, false);
}
else
{
else {
sendSystemMessage(player, new string_id("tcg", "no_residence_home_itv"));
}
}
else
{
sendSystemMessage(player, new string_id("tcg", "no_residence_home_itv"));
else if (hasObjVar(self, "tcg_itv_location") || hasObjVar(self, "itv_snowspeeder")) {
LocationItvOptions(self, player);
}
return SCRIPT_CONTINUE;
}
if (item == menu_info_types.ITEM_USE && hasObjVar(self, "tcg_itv_location"))
{
LocationItvOptions(self, player);
return SCRIPT_CONTINUE;
}
if (item == menu_info_types.ITEM_USE)
else
{
String planet = getCurrentSceneName();
String travel_point = "Starfighter";
@@ -208,35 +172,48 @@ public class terminal_travel_instant extends script.base_script
int pid = sui.getPid(player, PID_VAR);
forceCloseSUIPage(pid);
}
String[] main_options = new String[4];
int availableLocations;
String itvName;
String prompt;
String title;
if(hasObjVar(ship, "tcg_itv_location")){
itvName = "travel_tcg";
prompt = "@tcg:location_itv_d";
title = "@tcg:location_itv_t";
availableLocations = 3;
}
else if(hasObjVar(ship, "itv_snowspeeder")){
itvName = "travel_snowspeeder";
prompt = "@spam:location_snowspeeder_manage_d";
title = "@spam:snowspeeder_itv_t";
availableLocations = 2;
}
else{
return;
}
String[] main_options = new String[availableLocations + 1];
main_options[0] = "Manage Locations";
if (hasObjVar(player, "travel_tcg.itv.name.1"))
{
main_options[1] = getStringObjVar(player, "travel_tcg.itv.name.1");
for(int i = 1; i <= availableLocations; i++){
if(hasObjVar(player, itvName + ".itv.name." + i)){
main_options[i] = getStringObjVar(player, itvName + ".itv.name." + i);
}
else{
main_options[i] = "Travel Location " + i;
}
}
else
{
main_options[1] = "Travel Location 1";
}
if (hasObjVar(player, "travel_tcg.itv.name.2"))
{
main_options[2] = getStringObjVar(player, "travel_tcg.itv.name.2");
}
else
{
main_options[2] = "Travel Location 2";
}
if (hasObjVar(player, "travel_tcg.itv.name.3"))
{
main_options[3] = getStringObjVar(player, "travel_tcg.itv.name.3");
}
else
{
main_options[3] = "Travel Location 3";
}
int pid = sui.listbox(ship, player, "@tcg:location_itv_d", sui.OK_CANCEL, "@tcg:location_itv_t", main_options, "handleLocationItvOptions", true, true);
int pid = sui.listbox(
ship,
player,
prompt,
sui.OK_CANCEL,
title,
main_options,
"handleLocationItvOptions",
true,
true
);
sui.setPid(player, pid, PID_VAR);
return;
}
public void sendPlayerToLocation(obj_id player, int idx) throws InterruptedException
{
@@ -245,34 +222,34 @@ public class terminal_travel_instant extends script.base_script
return;
}
obj_id self = getSelf();
if (hasObjVar(player, ("travel_tcg.itv.location." + idx)) && hasObjVar(player, ("travel_tcg.itv.scene." + idx)))
{
location travelLoc = getLocationObjVar(player, ("travel_tcg.itv.location." + idx));
String destPlanet = getStringObjVar(player, ("travel_tcg.itv.scene." + idx));
warpPlayer(player, destPlanet, travelLoc.x, travelLoc.y, travelLoc.z, null, 0, 0, 0, "", false);
messageTo(self, "cleanupShip", null, 0.0f, false);
if(hasObjVar(self, "tcg_itv_location")) {
if (hasObjVar(player, ("travel_tcg.itv.location." + idx)) && hasObjVar(player, ("travel_tcg.itv.scene." + idx))) {
location travelLoc = getLocationObjVar(player, ("travel_tcg.itv.location." + idx));
String destPlanet = getStringObjVar(player, ("travel_tcg.itv.scene." + idx));
warpPlayer(player, destPlanet, travelLoc.x, travelLoc.y, travelLoc.z, null, 0, 0, 0, "", false);
messageTo(self, "cleanupShip", null, 0.0f, false);
} else {
sendSystemMessage(player, new string_id("tcg", "corrupt_itv_location_data"));
}
}
else
{
sendSystemMessage(player, new string_id("tcg", "corrupt_itv_location_data"));
else if(hasObjVar(self, "itv_snowspeeder")){
if (hasObjVar(player, ("travel_snowspeeder.itv.location." + idx)) && hasObjVar(player, ("travel_snowspeeder.itv.scene." + idx))) {
location travelLoc = getLocationObjVar(player, ("travel_snowspeeder.itv.location." + idx));
String destPlanet = getStringObjVar(player, ("travel_snowspeeder.itv.scene." + idx));
warpPlayer(player, destPlanet, travelLoc.x, travelLoc.y, travelLoc.z, null, 0, 0, 0, "", false);
messageTo(self, "cleanupShip", null, 0.0f, false);
} else {
sendSystemMessage(player, new string_id("tcg", "corrupt_itv_location_data"));
}
}
}
public boolean canMarkAtLocation(obj_id player) throws InterruptedException
{
obj_id playerCurrentMount = getMountId(player);
if (isIdValid(playerCurrentMount))
{
return false;
}
if (isIdValid(structure.getContainingBuilding(player)))
{
return false;
}
if (isSpaceScene())
{
return false;
}
if (space_dungeon.verifyPlayerSession(player))
if (isIdValid(playerCurrentMount)
|| isIdValid(structure.getContainingBuilding(player))
|| isSpaceScene()
|| space_dungeon.verifyPlayerSession(player))
{
return false;
}
@@ -296,11 +273,7 @@ public class terminal_travel_instant extends script.base_script
{
return false;
}
if (combat.isInCombat(player))
{
return false;
}
return true;
return !combat.isInCombat(player);
}
public int timeOutSelfExpire(obj_id self, dictionary params) throws InterruptedException
{
@@ -452,33 +425,47 @@ public class terminal_travel_instant extends script.base_script
switch (idx)
{
case 0:
if (hasObjVar(player, "travel_tcg.itv.name.1"))
{
LOC_ITV_MANAGE_OPTIONS[0] = "Overwrite: " + getStringObjVar(player, "travel_tcg.itv.name.1");
}
if (hasObjVar(player, "travel_tcg.itv.name.2"))
{
LOC_ITV_MANAGE_OPTIONS[1] = "Overwrite: " + getStringObjVar(player, "travel_tcg.itv.name.2");
}
if (hasObjVar(player, "travel_tcg.itv.name.3"))
{
LOC_ITV_MANAGE_OPTIONS[2] = "Overwrite: " + getStringObjVar(player, "travel_tcg.itv.name.3");
}
int pid = sui.listbox(self, player, "@tcg:location_itv_manage_d", sui.OK_CANCEL, "@tcg:location_itv_manage_t", LOC_ITV_MANAGE_OPTIONS, "handleManageLocationItvOptions", true, true);
sui.setPid(player, pid, PID_VAR);
break;
String name = "";
int size = 0;
if(hasObjVar(self, "tcg_itv_location")) {
name = "travel_tcg";
size = 3;
}
else if(hasObjVar(self, "itv_snowspeeder")){
name = "travel_snowspeeder";
size = 2;
}
else {
break;
}
String[] locationITVManageOptions = new String[size];
for(int i = 0; i < size; i++) {
locationITVManageOptions[i] = "Set Location " + (i + 1);
if (hasObjVar(player, name + ".itv.name." + (i + 1))) {
locationITVManageOptions[i] = "Overwrite: " + getStringObjVar(player, name + ".itv.name." + (i + 1));
}
}
int pid = sui.listbox(
self,
player,
"@tcg:location_itv_manage_d",
sui.OK_CANCEL,
"@tcg:location_itv_manage_t",
locationITVManageOptions,
"handleManageLocationItvOptions",
true,
true
);
sui.setPid(player, pid, PID_VAR);
break;
case 1:
sendPlayerToLocation(player, idx);
break;
case 2:
sendPlayerToLocation(player, idx);
break;
case 3:
sendPlayerToLocation(player, idx);
break;
sendPlayerToLocation(player, idx);
break;
default:
messageTo(self, "cleanupShip", null, 0, false);
break;
messageTo(self, "cleanupShip", null, 0, false);
break;
}
return SCRIPT_CONTINUE;
}
@@ -608,9 +595,16 @@ public class terminal_travel_instant extends script.base_script
String markScene = getCurrentSceneName();
if (canMarkAtLocation(player) && markLocation != null && markScene != null)
{
setObjVar(player, "travel_tcg.itv.location." + n, markLocation);
setObjVar(player, "travel_tcg.itv.scene." + n, markScene);
setObjVar(player, "travel_tcg.itv.name." + n, markName);
String name = "";
if(hasObjVar(self, "itv_tcg_location")){
name = "travel_tcg";
}
else if(hasObjVar(self, "itv_snowspeeder")) {
name = "travel_snowspeeder";
}
setObjVar(player, name + ".itv.location." + n, markLocation);
setObjVar(player, name + ".itv.scene." + n, markScene);
setObjVar(player, name + ".itv.name." + n, markName);
sendSystemMessage(self, new string_id("tcg", "valid_location_set"));
}
}
@@ -1881,3 +1881,5 @@ gcw_atst_attack_tower commandClicky normal gcw_atst_attack_tower 0.25 1 1 1
gcw_rocket_launch normal gcw_rocket_launch failSpecialAttack 1 1 0 1 1 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 0 0 1 1 1 1 0 1 1 1 1 1 1 0 0 0 0 0 0 0 0 enemy optional 2 combat_ranged 0 100 combat 0 0 0 1
firePulseCannon commandClicky normal firePulseCannon failSpecialAttack 1 1 0 1 1 1 0 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 0 0 1 1 1 1 0 1 0 1 1 1 1 0 0 0 0 0 0 0 0 0 enemy optional 2 combat_ranged 0 64 1 GROUND_TARGETTING heavy_weapon 0 1 1
lfw immediate toggleLookingForWork 1 1 0 1 1 none 2 0 0
callforsnowspeeder normal callForSnowspeederPickup callforsnowspeeder 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 1 0 0 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 other optional 2 0 0 0 0 0 0 0 MELEE defaultCooldownGroup 0 0 0 0 0 0
callforslave1pickup normal callForTcgSlave1Pickup callforslave1pickup 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 1 0 0 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 other optional 2 0 0 0 0 0 0 0 MELEE defaultCooldownGroup 0 0 0 0 0 0
@@ -0,0 +1,11 @@
@base object/tangible/base/shared_tangible_base.iff
@class tangible_object_template 10
@class object_template 10
objectName = "item_n" "instant_travel_terminal_snowspeeder_n"
detailedDescription = "item_d" "instant_travel_terminal_snowspeeder_d"
lookAtText = "" ""
appearanceFilename = "appearance/eqp_tool_datapad.apt"
gameObjectType = GOT_misc
@@ -1,8 +1,14 @@
@base object/tangible/base/shared_tangible_base.iff
@class tangible_object_template 9
@class object_template 9
objectName = "static_item_n" "item_tcg_loot_reward_series8_slave_1_itv_01"
detailedDescription = "static_item_d" "item_tcg_loot_reward_series8_slave_1_itv_01"
lookAtText = "" ""
appearanceFilename = "appearance/eqp_tool_datapad.apt"
gameObjectType = GOT_misc
@@ -0,0 +1,30 @@
// Filename: shared_terminal_travel
// Directory: object/tangible/terminal
//
// Description:
//
//
// Notes:
//
//
// Category: TERMINAL
// Sub-Category: BASE
// Classification: Null
//
@base object/tangible/terminal/base/shared_base_terminal.iff
@class tangible_object_template 10
@class object_template 10
objectName = "terminal_name" "terminal_travel_instant"
detailedDescription = "terminal_detail" "terminal_travel_instant"
lookAtText = "terminal_lookat" "terminal_travel_instant"
appearanceFilename = "appearance/snowspeeder.apt"
portalLayoutFilename = ""
snapToTerrain = false
//gameObjectType = GOT_terminal_travel
@@ -0,0 +1,30 @@
// Filename: shared_terminal_travel
// Directory: object/tangible/terminal
//
// Description:
//
//
// Notes:
//
//
// Category: TERMINAL
// Sub-Category: BASE
// Classification: Null
//
@base object/tangible/terminal/base/shared_base_terminal.iff
@class tangible_object_template 10
@class object_template 10
objectName = "tcg" "terminal_travel_instant_tcg_slave_1_n"
detailedDescription = "tcg" "terminal_travel_instant_tcg_slave_1_d"
lookAtText = "terminal_lookat" "terminal_travel_instant"
appearanceFilename = "appearance/slave1_itv.apt"
portalLayoutFilename = ""
snapToTerrain = false
//gameObjectType = GOT_terminal_travel