mirror of
https://bitbucket.org/seefoe/dsrc.git
synced 2026-07-14 00:02:05 -04:00
Restored Snowspeeder ITV and Slave 1 Replica ITV
This commit is contained in:
File diff suppressed because it is too large
Load Diff
+10
@@ -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
|
||||
+7
-1
@@ -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
|
||||
Executable
+25
@@ -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]
|
||||
Executable
+25
@@ -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
|
||||
{
|
||||
|
||||
+21
-9
@@ -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
|
||||
|
||||
+11
@@ -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
|
||||
|
||||
+6
@@ -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
|
||||
+30
@@ -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
|
||||
+30
@@ -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
|
||||
Reference in New Issue
Block a user