mirror of
https://bitbucket.org/theswgsource/dsrc-1.2.git
synced 2026-07-14 00:01:32 -04:00
2434 lines
127 KiB
Java
Executable File
2434 lines
127 KiB
Java
Executable File
package script.working;
|
|
|
|
import script.dictionary;
|
|
import script.library.*;
|
|
import script.location;
|
|
import script.obj_id;
|
|
import script.string_id;
|
|
|
|
public class jhaskell_test extends script.base_script
|
|
{
|
|
public jhaskell_test()
|
|
{
|
|
}
|
|
public static final int SF_COST_CITY_LOW = 16;
|
|
public static final int SF_SKILL_TRAINER = 64;
|
|
public static final String CITY_SKILL_TRAINERS = "datatables/city/skill_trainers.iff";
|
|
public static final string_id SID_SYS_FOUND = new string_id("treasure_map/treasure_map", "sys_found");
|
|
public static final String SCRIPT_DUMMY_CHEST = "systems.treasure_map.base.dummy_treasure_drum";
|
|
public static final String TREASURE_TABLE = "datatables/treasure_map/treasure_map.iff";
|
|
public static final String DUMMY_CHEST = "object/tangible/container/drum/nonopening_treasure_drum.iff";
|
|
public static final String LOOT_TABLE_81_90 = "treasure/treasure_81_90";
|
|
public static final String TREASURE_GUARDS = "treasure_guard_jedi_elite";
|
|
public static final String BOSS_MOB = "none";
|
|
public static final int TREASURE_GUARD_LEVEL = 90;
|
|
public static final int GROUP_MODIFIER = 1;
|
|
public static final int ENEMY_COUNT = 3;
|
|
public static final int DATATABLE_IDX = 8;
|
|
public static final String[] ALL_PLAYER_HOUSING =
|
|
{
|
|
"object/building/player/player_garage_corellia_style_01.iff",
|
|
"object/building/player/player_garage_naboo_style_01.iff",
|
|
"object/building/player/player_garage_tatooine_style_01.iff",
|
|
"object/building/player/player_guildhall_corellia_style_01.iff",
|
|
"object/building/player/player_guildhall_generic_style_01.iff",
|
|
"object/building/player/player_guildhall_naboo_style_01.iff",
|
|
"object/building/player/player_guildhall_tatooine_style_01.iff",
|
|
"object/building/player/player_guildhall_tatooine_style_02.iff",
|
|
"object/building/player/player_house_corellia_large_style_01.iff",
|
|
"object/building/player/player_house_corellia_large_style_02.iff",
|
|
"object/building/player/player_house_corellia_medium_style_01.iff",
|
|
"object/building/player/player_house_corellia_medium_style_02.iff",
|
|
"object/building/player/player_house_corellia_small_style_01.iff",
|
|
"object/building/player/player_house_corellia_small_style_01_floorplan_02.iff",
|
|
"object/building/player/player_house_corellia_small_style_02.iff",
|
|
"object/building/player/player_house_corellia_small_style_02_floorplan_02.iff",
|
|
"object/building/player/player_house_generic_large_style_01.iff",
|
|
"object/building/player/player_house_generic_large_style_02.iff",
|
|
"object/building/player/player_house_generic_medium_style_01.iff",
|
|
"object/building/player/player_house_generic_medium_style_02.iff",
|
|
"object/building/player/player_house_generic_small_style_01.iff",
|
|
"object/building/player/player_house_generic_small_style_01_floorplan_02.iff",
|
|
"object/building/player/player_house_generic_small_style_02.iff",
|
|
"object/building/player/player_house_generic_small_style_02_floorplan_02.iff",
|
|
"object/building/player/player_house_mustafar_lg.iff",
|
|
"object/building/player/player_house_naboo_large_style_01.iff",
|
|
"object/building/player/player_house_naboo_medium_style_01.iff",
|
|
"object/building/player/player_house_naboo_small_style_01.iff",
|
|
"object/building/player/player_house_naboo_small_style_02.iff",
|
|
"object/building/player/player_house_tatooine_large_style_01.iff",
|
|
"object/building/player/player_house_tatooine_medium_style_01.iff",
|
|
"object/building/player/player_house_tatooine_small_style_01.iff",
|
|
"object/building/player/player_house_tatooine_small_style_02.iff",
|
|
"object/building/player/player_merchant_tent_style_01.iff",
|
|
"object/building/player/player_merchant_tent_style_02.iff",
|
|
"object/building/player/player_merchant_tent_style_03.iff",
|
|
"object/building/player/player_mustafar_house_lg.iff"
|
|
};
|
|
public static final String[] ALL_PLAYER_CITY_STRUCTURES =
|
|
{
|
|
"object/building/player/city/bank_corellia.iff",
|
|
"object/building/player/city/bank_naboo.iff",
|
|
"object/building/player/city/bank_tatooine.iff",
|
|
"object/building/player/city/barn_no_planet_restriction.iff",
|
|
"object/building/player/city/cantina_corellia.iff",
|
|
"object/building/player/city/cantina_naboo.iff",
|
|
"object/building/player/city/cantina_tatooine.iff",
|
|
"object/building/player/city/cityhall_corellia.iff",
|
|
"object/building/player/city/cityhall_naboo.iff",
|
|
"object/building/player/city/cityhall_tatooine.iff",
|
|
"object/building/player/city/cloning_corellia.iff",
|
|
"object/building/player/city/cloning_naboo.iff",
|
|
"object/building/player/city/cloning_tatooine.iff",
|
|
"object/building/player/city/diner_no_planet_restriction.iff",
|
|
"object/building/player/city/e3_demo_cityhall_tatooine.iff",
|
|
"object/building/player/city/e3_demo_shuttleport_tatooine.iff",
|
|
"object/building/player/city/garden_corellia_lrg_01.iff",
|
|
"object/building/player/city/garden_corellia_lrg_02.iff",
|
|
"object/building/player/city/garden_corellia_lrg_03.iff",
|
|
"object/building/player/city/garden_corellia_lrg_04.iff",
|
|
"object/building/player/city/garden_corellia_lrg_05.iff",
|
|
"object/building/player/city/garden_corellia_med_01.iff",
|
|
"object/building/player/city/garden_corellia_med_02.iff",
|
|
"object/building/player/city/garden_corellia_med_03.iff",
|
|
"object/building/player/city/garden_corellia_med_04.iff",
|
|
"object/building/player/city/garden_corellia_med_05.iff",
|
|
"object/building/player/city/garden_corellia_sml_01.iff",
|
|
"object/building/player/city/garden_corellia_sml_02.iff",
|
|
"object/building/player/city/garden_corellia_sml_03.iff",
|
|
"object/building/player/city/garden_corellia_sml_04.iff",
|
|
"object/building/player/city/garden_corellia_sml_05.iff",
|
|
"object/building/player/city/garden_dantooine_lrg_01.iff",
|
|
"object/building/player/city/garden_dantooine_med_01.iff",
|
|
"object/building/player/city/garden_dantooine_sml_01.iff",
|
|
"object/building/player/city/garden_dathomir_lrg_01.iff",
|
|
"object/building/player/city/garden_dathomir_med_01.iff",
|
|
"object/building/player/city/garden_dathomir_sml_01.iff",
|
|
"object/building/player/city/garden_endor_lrg_01.iff",
|
|
"object/building/player/city/garden_endor_med_01.iff",
|
|
"object/building/player/city/garden_endor_sml_01.iff",
|
|
"object/building/player/city/garden_naboo_large.iff",
|
|
"object/building/player/city/garden_naboo_lrg_01.iff",
|
|
"object/building/player/city/garden_naboo_lrg_02.iff",
|
|
"object/building/player/city/garden_naboo_lrg_03.iff",
|
|
"object/building/player/city/garden_naboo_lrg_04.iff",
|
|
"object/building/player/city/garden_naboo_lrg_05.iff",
|
|
"object/building/player/city/garden_naboo_med_01.iff",
|
|
"object/building/player/city/garden_naboo_med_02.iff",
|
|
"object/building/player/city/garden_naboo_med_03.iff",
|
|
"object/building/player/city/garden_naboo_med_04.iff",
|
|
"object/building/player/city/garden_naboo_med_05.iff",
|
|
"object/building/player/city/garden_naboo_sml_01.iff",
|
|
"object/building/player/city/garden_naboo_sml_02.iff",
|
|
"object/building/player/city/garden_naboo_sml_03.iff",
|
|
"object/building/player/city/garden_naboo_sml_04.iff",
|
|
"object/building/player/city/garden_naboo_sml_05.iff",
|
|
"object/building/player/city/garden_tatooine_lrg_01.iff",
|
|
"object/building/player/city/garden_tatooine_lrg_02.iff",
|
|
"object/building/player/city/garden_tatooine_lrg_03.iff",
|
|
"object/building/player/city/garden_tatooine_lrg_04.iff",
|
|
"object/building/player/city/garden_tatooine_lrg_05.iff",
|
|
"object/building/player/city/garden_tatooine_med_01.iff",
|
|
"object/building/player/city/garden_tatooine_med_02.iff",
|
|
"object/building/player/city/garden_tatooine_med_03.iff",
|
|
"object/building/player/city/garden_tatooine_med_04.iff",
|
|
"object/building/player/city/garden_tatooine_med_05.iff",
|
|
"object/building/player/city/garden_tatooine_sml_01.iff",
|
|
"object/building/player/city/garden_tatooine_sml_02.iff",
|
|
"object/building/player/city/garden_tatooine_sml_03.iff",
|
|
"object/building/player/city/garden_tatooine_sml_04.iff",
|
|
"object/building/player/city/garden_tatooine_sml_05.iff",
|
|
"object/building/player/city/hospital_corellia.iff",
|
|
"object/building/player/city/hospital_naboo.iff",
|
|
"object/building/player/city/hospital_tatooine.iff",
|
|
"object/building/player/city/shuttleport_corellia.iff",
|
|
"object/building/player/city/shuttleport_naboo.iff",
|
|
"object/building/player/city/shuttleport_tatooine.iff",
|
|
"object/building/player/city/theater_corellia.iff",
|
|
"object/building/player/city/theater_naboo.iff",
|
|
"object/building/player/city/theater_tatooine.iff"
|
|
};
|
|
public static final String[] TCG_EXPANSION =
|
|
{
|
|
"item_tcg_loot_reward_series2_v_wing",
|
|
"item_tcg_loot_reward_series2_podracer_mawhonic",
|
|
"item_tcg_loot_reward_series2_sanyassan_skull",
|
|
"item_tcg_loot_reward_series1_video_game_table",
|
|
"item_tcg_loot_reward_series1_organizational_datapad",
|
|
"item_tcg_loot_reward_series2_barn",
|
|
"item_tcg_loot_reward_series2_versafunction88_datapad",
|
|
"item_tcg_loot_reward_series2_keelkana_tooth",
|
|
"item_tcg_loot_reward_series2_painting_darth_vader",
|
|
"item_tcg_loot_reward_series2_diner",
|
|
"item_tcg_loot_reward_series2_display_case_02",
|
|
"item_tcg_loot_reward_series2_greeter_ewok",
|
|
"item_tcg_loot_reward_series2_chon_bust",
|
|
"item_tcg_loot_reward_series2_vendor_bomarr_monk",
|
|
"item_tcg_loot_reward_series2_greeter_serving_droid",
|
|
"item_tcg_loot_reward_series2_drink_dispenser",
|
|
"item_tcg_loot_reward_series2_painting_alliance_propaganda",
|
|
"item_tcg_loot_reward_series2_vendor_meatlump",
|
|
"item_tcg_loot_reward_series2_arc170_flightsuit",
|
|
"item_tcg_loot_reward_series1_indoor_garden_01",
|
|
"item_tcg_loot_reward_series2_mandalorian_strongbox",
|
|
"item_tcg_loot_reward_series2_computer_console_02",
|
|
"item_tcg_loot_reward_series1_indoor_fountain_02",
|
|
"item_tcg_loot_reward_series9_lepese_dictionary",
|
|
"item_tcg_loot_reward_series1_morgukai_shadow_scroll",
|
|
"item_tcg_loot_reward_series6_snow_jacket",
|
|
"item_tcg_loot_reward_series2_darth_vader_statuette",
|
|
"item_tcg_loot_reward_series2_princess_leia_statuette",
|
|
"item_tcg_loot_reward_series2_greeter_jawa",
|
|
"item_tcg_loot_reward_series1_vendor_serving_droid",
|
|
"item_tcg_loot_reward_series9_fish_tank",
|
|
"item_tcg_loot_reward_series1_greeter_gungan"
|
|
};
|
|
public static final String[] TCG_LAUNCH =
|
|
{
|
|
"item_tcg_loot_reward_series1_black_corset_dress",
|
|
"item_tcg_loot_reward_series1_naboo_jacket",
|
|
"item_tcg_loot_reward_series1_dooku_bust",
|
|
"item_tcg_loot_reward_series1_display_case_01",
|
|
"item_tcg_loot_reward_series1_gorax_ear",
|
|
"item_tcg_loot_reward_series1_bas_relief",
|
|
"item_tcg_loot_reward_series1_glowing_blue_eyes",
|
|
"item_tcg_loot_reward_series1_glowing_red_eyes",
|
|
"item_tcg_loot_reward_series1_vendor_gungan",
|
|
"item_tcg_loot_reward_series1_housecleaning_kit",
|
|
"item_tcg_loot_reward_series1_indoor_fountain_01",
|
|
"item_tcg_loot_reward_series1_vendor_jawa",
|
|
"item_tcg_loot_reward_series1_greeter_meatlump",
|
|
"item_tcg_loot_reward_series1_mechno_chair",
|
|
"item_tcg_loot_reward_series1_nuna_ball_advertisement",
|
|
"item_tcg_loot_reward_series1_podracer_gasgano",
|
|
"item_tcg_loot_reward_series1_painting_jedi_crest",
|
|
"item_tcg_loot_reward_series1_painting_trooper",
|
|
"item_tcg_loot_reward_series1_radtrooper_badge",
|
|
"item_tcg_loot_reward_series1_sith_speeder",
|
|
"item_tcg_loot_reward_series1_tusken_talisman",
|
|
"item_tcg_loot_reward_series1_organa_speeder",
|
|
"item_tcg_loot_reward_series1_computer_console_01",
|
|
"item_tcg_loot_reward_series1_vendor_ewok",
|
|
"item_tcg_loot_reward_series1_hans_hydrospanner",
|
|
"item_tcg_loot_reward_series1_painting_imperial_propaganda",
|
|
"item_tcg_loot_reward_series1_indoor_garden_02",
|
|
"item_tcg_loot_reward_series1_orange_flightsuit",
|
|
"item_tcg_loot_reward_series1_vendor_bomarr_monk",
|
|
"item_tcg_loot_reward_series1_target_creature",
|
|
"item_tcg_loot_reward_series1_beru_whitesuns_cookbook",
|
|
"item_tcg_loot_reward_series9_jedi_library_bookshelf"
|
|
};
|
|
public static final String[] TCG_ANIMATIONS =
|
|
{
|
|
"greeter_anims_face",
|
|
"greeter_anims_happy",
|
|
"greeter_anims_sick_sad",
|
|
"greeter_anims_polite",
|
|
"greeter_anims_rude",
|
|
"greeter_anims_expression",
|
|
"emote_greeter_ewok",
|
|
"emote_greeter_jawa"
|
|
};
|
|
public int OnSpeaking(obj_id self, String text) throws InterruptedException
|
|
{
|
|
if (isGod(self))
|
|
{
|
|
debugConsoleMsg(self, "OnSpeaking: " + text);
|
|
java.util.StringTokenizer tok = new java.util.StringTokenizer(text);
|
|
if (tok.hasMoreTokens())
|
|
{
|
|
String priCommand = tok.nextToken();
|
|
String secCommand = "";
|
|
String thirdCommand = "";
|
|
if (tok.hasMoreTokens())
|
|
{
|
|
secCommand = tok.nextToken();
|
|
}
|
|
if (tok.hasMoreTokens())
|
|
{
|
|
thirdCommand = tok.nextToken();
|
|
}
|
|
debugConsoleMsg(self, "command is: " + priCommand);
|
|
if (priCommand.equalsIgnoreCase("what_scene") && secCommand.equals(""))
|
|
{
|
|
sendSystemMessage(self, "You are in scene: " + getCurrentSceneName(), null);
|
|
}
|
|
else if (priCommand.equalsIgnoreCase("is_tutorial") && secCommand.equals(""))
|
|
{
|
|
sendSystemMessage(self, "Is in Tutorial: " + isInTutorialArea(self), null);
|
|
}
|
|
else if (priCommand.equalsIgnoreCase("city") && secCommand.equalsIgnoreCase("set_trainers"))
|
|
{
|
|
obj_id structure = qa.findTarget(self);
|
|
if (!isValidId(structure) || !exists(structure))
|
|
{
|
|
sendSystemMessage(self, "You must target object", null);
|
|
}
|
|
int city_id = findCityByCityHall(structure);
|
|
if (city_id <= 0)
|
|
{
|
|
sendSystemMessage(self, "You must target city hall", null);
|
|
}
|
|
if (!cityExists(city_id))
|
|
{
|
|
sendSystemMessage(self, "Structure doesn't exist", null);
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
boolean successSkillTrainers = setCitySkillTrainers(self, city_id);
|
|
if (successSkillTrainers)
|
|
{
|
|
sendSystemMessage(self, "Legacy Trainer Spawners placed", null);
|
|
}
|
|
else
|
|
{
|
|
sendSystemMessage(self, "The Trainer Routine Failed", null);
|
|
}
|
|
}
|
|
else if (priCommand.equalsIgnoreCase("city") && secCommand.equalsIgnoreCase("destroy_trainers"))
|
|
{
|
|
obj_id structure = qa.findTarget(self);
|
|
if (!isValidId(structure) || !exists(structure))
|
|
{
|
|
sendSystemMessage(self, "You must target object", null);
|
|
}
|
|
int city_id = findCityByCityHall(structure);
|
|
if (city_id <= 0)
|
|
{
|
|
sendSystemMessage(self, "You must target city hall", null);
|
|
}
|
|
if (!cityExists(city_id))
|
|
{
|
|
sendSystemMessage(self, "Structure doesn't exist", null);
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
boolean destroySuccess = destroyCitySkillTrainers(self, city_id);
|
|
}
|
|
else if (priCommand.equalsIgnoreCase("city") && secCommand.equalsIgnoreCase("get_structures"))
|
|
{
|
|
obj_id structure = qa.findTarget(self);
|
|
if (!isValidId(structure) || !exists(structure))
|
|
{
|
|
sendSystemMessage(self, "You must target object", null);
|
|
}
|
|
int city_id = findCityByCityHall(structure);
|
|
if (city_id <= 0)
|
|
{
|
|
sendSystemMessage(self, "You must target city hall", null);
|
|
}
|
|
if (!cityExists(city_id))
|
|
{
|
|
sendSystemMessage(self, "Structure doesn't exist", null);
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
obj_id[] structures = cityGetStructureIds(city_id);
|
|
for (int i = 0; i < structures.length; i++)
|
|
{
|
|
sendSystemMessage(self, "Found: " + getName(structures[i]), null);
|
|
}
|
|
sendSystemMessage(self, "getTrainerCount: " + city.getTrainerCount(city_id), null);
|
|
sendSystemMessage(self, "getMaxTrainerCount: " + city.getMaxTrainerCount(city_id), null);
|
|
}
|
|
else if (priCommand.equalsIgnoreCase("get_name") && secCommand.equals(""))
|
|
{
|
|
obj_id target = qa.findTarget(self);
|
|
if (!isValidId(target) || !exists(target))
|
|
{
|
|
sendSystemMessage(self, "You must target object", null);
|
|
}
|
|
sendSystemMessage(self, "Name: " + localize(getNameStringId(target)), null);
|
|
}
|
|
else if (priCommand.equalsIgnoreCase("get_loco") && secCommand.equals(""))
|
|
{
|
|
sendSystemMessage(self, "Locomotion:" + getLocomotion(self), null);
|
|
}
|
|
else if (priCommand.equalsIgnoreCase("squad") && !secCommand.equals(""))
|
|
{
|
|
sendSystemMessage(self, "Ship: " + secCommand, null);
|
|
obj_id secCmd = utils.stringToObjId(secCommand);
|
|
if (!isValidId(secCmd))
|
|
{
|
|
sendSystemMessage(self, "Ship OID not valid ", null);
|
|
}
|
|
sendSystemMessage(self, "Ship OID valid", null);
|
|
sendSystemMessage(self, "Ship Squad: " + _spaceUnitGetSquadId(secCmd), null);
|
|
}
|
|
else if (priCommand.equalsIgnoreCase("grant_schematic") && !secCommand.equals(""))
|
|
{
|
|
grantSchematic(self, secCommand);
|
|
}
|
|
else if (priCommand.equalsIgnoreCase("test_chest") && secCommand.equals(""))
|
|
{
|
|
dictionary params = new dictionary();
|
|
params.put("player", self);
|
|
messageTo(self, "spawnTreasure", params, 5, false);
|
|
}
|
|
else if (priCommand.equalsIgnoreCase("get_tat") && secCommand.equals(""))
|
|
{
|
|
obj_id planetId = getPlanetByName("tatooine");
|
|
sendSystemMessageTestingOnly(self, "" + planetId);
|
|
}
|
|
else if (priCommand.equalsIgnoreCase("force_init") && secCommand.equals(""))
|
|
{
|
|
obj_id lookAtTarget = findTarget(self);
|
|
if (!isIdValid(lookAtTarget))
|
|
{
|
|
sendSystemMessageTestingOnly(self, "You need to target a deprecated collection reactor.");
|
|
}
|
|
else
|
|
{
|
|
sendSystemMessageTestingOnly(self, "Forcing initialization on object.");
|
|
messageTo(lookAtTarget, "forceCollectionReactorInit", null, 1, false);
|
|
}
|
|
}
|
|
else if (priCommand.equalsIgnoreCase("force_init") && !secCommand.equals(""))
|
|
{
|
|
obj_id lookAtTarget = utils.stringToObjId(secCommand);
|
|
if (!isValidId(lookAtTarget))
|
|
{
|
|
sendSystemMessageTestingOnly(self, "You need to specify a valid OID of a collection reactor.");
|
|
}
|
|
else
|
|
{
|
|
sendSystemMessageTestingOnly(self, "Forcing initialization on object.");
|
|
messageTo(lookAtTarget, "forceCollectionReactorInit", null, 1, false);
|
|
}
|
|
}
|
|
else if (priCommand.equalsIgnoreCase("bypass_forage_roll") && secCommand.equals(""))
|
|
{
|
|
utils.setScriptVar(self, "qa.main_forage_roll_bypass", "testing");
|
|
sendSystemMessageTestingOnly(self, "main_forage_roll_bypass is 100%");
|
|
}
|
|
else if (priCommand.equalsIgnoreCase("bypass_worm_roll") && secCommand.equals(""))
|
|
{
|
|
utils.setScriptVar(self, "qa.bypass_worm_roll", "testing");
|
|
sendSystemMessageTestingOnly(self, "bypass_worm_roll is 100%");
|
|
}
|
|
else if (priCommand.equalsIgnoreCase("bypass_component_roll") && secCommand.equals(""))
|
|
{
|
|
utils.setScriptVar(self, "qa.component_roll_bypass", "testing");
|
|
sendSystemMessageTestingOnly(self, "bypass_component_roll is 100%");
|
|
}
|
|
else if (priCommand.equalsIgnoreCase("bypass_treasure_roll") && secCommand.equals(""))
|
|
{
|
|
utils.setScriptVar(self, "qa.treasure_roll_bypass", "testing");
|
|
sendSystemMessageTestingOnly(self, "bypass_treasure_roll is 100%");
|
|
}
|
|
else if (priCommand.equalsIgnoreCase("bypass_enzyme_roll") && secCommand.equals(""))
|
|
{
|
|
utils.setScriptVar(self, "qa.enzyme_roll_bypass", "testing");
|
|
sendSystemMessageTestingOnly(self, "bypass_enzyme_roll is 100%");
|
|
}
|
|
else if (priCommand.equalsIgnoreCase("remove_bypass") && secCommand.equals(""))
|
|
{
|
|
utils.removeScriptVarTree(self, "qa");
|
|
sendSystemMessageTestingOnly(self, "Bypass scriptvars removed");
|
|
}
|
|
else if (priCommand.equalsIgnoreCase("bypass_searchlair_roll") && secCommand.equals(""))
|
|
{
|
|
utils.setScriptVar(self, "qa.egg_roll_bypass", "testing");
|
|
sendSystemMessageTestingOnly(self, "egg_roll_bypass is setting roll to 89 so you only receive eggs.");
|
|
}
|
|
else if (priCommand.equalsIgnoreCase("bypass_milk_roll") && secCommand.equals(""))
|
|
{
|
|
utils.setScriptVar(self, "qa.milk_roll_bypass", "testing");
|
|
sendSystemMessageTestingOnly(self, "milk_roll_bypass is setting roll to receive milk repeatedly...as if magic.");
|
|
}
|
|
else if (priCommand.equalsIgnoreCase("give_forage_data") && secCommand.equals(""))
|
|
{
|
|
utils.setScriptVar(self, "qa.give_forage_data", "testing");
|
|
sendSystemMessageTestingOnly(self, "Forage data will be displayed in console.");
|
|
}
|
|
else if (priCommand.equalsIgnoreCase("rare_forage_loot_logger"))
|
|
{
|
|
utils.removeScriptVarTree(self, "qa");
|
|
utils.setScriptVar(self, "qa.main_forage_roll_bypass", "testing");
|
|
utils.setScriptVar(self, "qa.give_forage_data", "testing");
|
|
int iteration = 25;
|
|
sendSystemMessageTestingOnly(self, "Foraging Rares " + iteration + " times. You must keep Godmode on for this to work");
|
|
for (int i = 0; i < iteration; i++)
|
|
{
|
|
messageTo(self, "handlerForPlayerForaging", null, (5 + i), false);
|
|
}
|
|
}
|
|
else if (priCommand.equalsIgnoreCase("forage_loot_logger"))
|
|
{
|
|
utils.removeScriptVarTree(self, "qa");
|
|
utils.setScriptVar(self, "qa.give_forage_data", "testing");
|
|
int iteration = 25;
|
|
sendSystemMessageTestingOnly(self, "Foraging Normally for " + iteration + " times. You must keep Godmode on for this to work");
|
|
for (int i = 0; i < iteration; i++)
|
|
{
|
|
messageTo(self, "handlerForPlayerForaging", null, (5 + i), false);
|
|
}
|
|
}
|
|
else if (priCommand.equalsIgnoreCase("buff_list") && secCommand.equals(""))
|
|
{
|
|
int[] buffs = buff.getAllBuffs(self);
|
|
if (buffs == null || buffs.length == 0)
|
|
{
|
|
sendSystemMessageTestingOnly(self, "No Buffs found");
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
for (int i = 0; i < buffs.length; i++)
|
|
{
|
|
sendSystemMessageTestingOnly(self, "Buff " + i + " is " + buff.getBuffNameFromCrc(buffs[i]));
|
|
}
|
|
}
|
|
else if (priCommand.equalsIgnoreCase("fs_crystal") && secCommand.equals(""))
|
|
{
|
|
obj_id createdObject = createObjectInInventoryAllowOverload("object/tangible/item/quest/force_sensitive/fs_buff_item.iff", self);
|
|
if (isValidId(createdObject))
|
|
{
|
|
setObjVar(createdObject, "item.time.reuse_time", 259200);
|
|
setObjVar(createdObject, "item.buff.type", 0);
|
|
setObjVar(createdObject, "item.buff.value", 2000);
|
|
setObjVar(createdObject, "item.buff.duration", 7200);
|
|
}
|
|
}
|
|
else if (priCommand.equalsIgnoreCase("give_lumps") && secCommand.equals(""))
|
|
{
|
|
obj_id pInv = utils.getInventoryContainer(self);
|
|
loot.addMeatlumpLumpsAsLoot(self, pInv, 5);
|
|
}
|
|
else if (priCommand.equalsIgnoreCase("meatlump_container") && secCommand.equals("buff"))
|
|
{
|
|
loot.giveMeatlumpPuzzleLoot(self, false, true);
|
|
}
|
|
else if (priCommand.equalsIgnoreCase("meatlump_container") && secCommand.equals("threshold"))
|
|
{
|
|
loot.giveMeatlumpPuzzleLoot(self, true, false);
|
|
}
|
|
else if (priCommand.equalsIgnoreCase("meatlump_container") && secCommand.equals("both"))
|
|
{
|
|
sendSystemMessageTestingOnly(self, "both received");
|
|
loot.giveMeatlumpPuzzleLoot(self, true, true);
|
|
}
|
|
else if (priCommand.equalsIgnoreCase("meatlump_trigger") && secCommand.equals(""))
|
|
{
|
|
sendSystemMessageTestingOnly(self, "removing all trigger scriptvars");
|
|
utils.removeScriptVar(self, "meatlump_trigger");
|
|
}
|
|
else if (priCommand.equalsIgnoreCase("remove_safe") && secCommand.equals(""))
|
|
{
|
|
sendSystemMessageTestingOnly(self, "removing all trigger scriptvars");
|
|
utils.removeScriptVarTree(self, "meatlump_safe");
|
|
utils.removeScriptVarTree(self, "meatlump_safe_nonimperative");
|
|
}
|
|
else if (priCommand.equalsIgnoreCase("num_combos"))
|
|
{
|
|
if (secCommand.equals("") || thirdCommand.equals(""))
|
|
{
|
|
sendSystemMessageTestingOnly(self, "num_combos number1 number2");
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
int number1 = utils.stringToInt(secCommand);
|
|
int number2 = utils.stringToInt(thirdCommand);
|
|
int numCombos = 0;
|
|
for (int i = 70; i < 88; i++)
|
|
{
|
|
for (int j = 70; j < 88; j++)
|
|
{
|
|
sendSystemMessageTestingOnly(self, " " + i + "*" + j + "= " + (i * j));
|
|
if ((i * j) >= number1 && (i * j) <= number2)
|
|
{
|
|
numCombos++;
|
|
sendSystemMessageTestingOnly(self, "Valid hit " + i + "*" + j + "= " + (i * j));
|
|
}
|
|
}
|
|
}
|
|
sendSystemMessageTestingOnly(self, "numbCombos =" + numCombos);
|
|
}
|
|
else if (priCommand.equalsIgnoreCase("set_scriptvar"))
|
|
{
|
|
if (secCommand.equals("") || thirdCommand.equals(""))
|
|
{
|
|
sendSystemMessageTestingOnly(self, "set_scriptvar <scriptvar name> value");
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
utils.setScriptVar(self, secCommand, thirdCommand);
|
|
sendSystemMessageTestingOnly(self, "Set " + secCommand + " to " + thirdCommand);
|
|
}
|
|
else if (priCommand.equalsIgnoreCase("removescriptvar") && !secCommand.equals(""))
|
|
{
|
|
sendSystemMessageTestingOnly(self, "removing scriptvar: " + secCommand);
|
|
utils.removeScriptVar(self, secCommand);
|
|
}
|
|
else if (priCommand.equalsIgnoreCase("removescriptvartree") && !secCommand.equals(""))
|
|
{
|
|
sendSystemMessageTestingOnly(self, "removing scriptvartree: " + secCommand);
|
|
utils.removeScriptVarTree(self, secCommand);
|
|
}
|
|
else if (priCommand.equalsIgnoreCase("addscriptvar") && !secCommand.equals(""))
|
|
{
|
|
sendSystemMessageTestingOnly(self, "adding scriptvar: " + secCommand);
|
|
utils.removeScriptVar(self, secCommand);
|
|
}
|
|
else if (priCommand.equalsIgnoreCase("add_skill_mod") && !secCommand.equals("") && !thirdCommand.equals(""))
|
|
{
|
|
int amount = utils.stringToInt(thirdCommand);
|
|
applySkillStatisticModifier(self, secCommand, amount);
|
|
sendSystemMessageTestingOnly(self, "Attempting to apply Skill Mod: " + secCommand + " to : " + amount);
|
|
}
|
|
else if (priCommand.equalsIgnoreCase("has_skill_mod") && !secCommand.equals(""))
|
|
{
|
|
sendSystemMessageTestingOnly(self, "Attempting to find Skill Mod: " + secCommand);
|
|
int hasMod = getSkillStatMod(self, secCommand);
|
|
if (hasMod > 0)
|
|
{
|
|
sendSystemMessageTestingOnly(self, "You have Skill Mod: " + secCommand + " and the value is: " + getSkillStatisticModifier(self, secCommand));
|
|
}
|
|
else
|
|
{
|
|
sendSystemMessageTestingOnly(self, "CANNOT FIND SKILL MOD: " + secCommand);
|
|
}
|
|
}
|
|
else if (priCommand.equalsIgnoreCase("get_skill_mod") && !secCommand.equals(""))
|
|
{
|
|
String skillMod = secCommand;
|
|
if (skillMod == null || skillMod.equals(""))
|
|
{
|
|
sendSystemMessageTestingOnly(self, "skill mod example: vendor.special_vendor_skillmod");
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
sendSystemMessageTestingOnly(self, "Getting: " + secCommand + ": " + getSkillStatMod(self, skillMod));
|
|
}
|
|
else if (priCommand.equalsIgnoreCase("set_skill_mod") && !secCommand.equals(""))
|
|
{
|
|
String skillMod = secCommand;
|
|
if (skillMod == null || skillMod.equals(""))
|
|
{
|
|
sendSystemMessageTestingOnly(self, "skill mod example: vendor.special_vendor_skillmod");
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
sendSystemMessageTestingOnly(self, "Setting: " + secCommand + " to +1");
|
|
applySkillStatisticModifier(self, skillMod, 1);
|
|
}
|
|
else if (priCommand.equalsIgnoreCase("test_greeter_anim") && !secCommand.equals("") && !thirdCommand.equals(""))
|
|
{
|
|
obj_id greeter = utils.stringToObjId(secCommand);
|
|
if (!isValidId(greeter) || !exists(greeter))
|
|
{
|
|
sendSystemMessageTestingOnly(self, "Couldn't find Greeter with OID of: " + secCommand);
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
sendSystemMessageTestingOnly(self, "Attempting to player animation: " + thirdCommand + " on greeter: " + greeter);
|
|
doAnimationAction(greeter, thirdCommand);
|
|
}
|
|
else if (priCommand.equalsIgnoreCase("test_greeter_sound") && !secCommand.equals("") && !thirdCommand.equals(""))
|
|
{
|
|
obj_id greeter = utils.stringToObjId(secCommand);
|
|
if (!isValidId(greeter) || !exists(greeter))
|
|
{
|
|
sendSystemMessageTestingOnly(self, "Couldn't find Greeter with OID of: " + secCommand);
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
String sound = thirdCommand;
|
|
if (sound == null || sound.equals(""))
|
|
{
|
|
sendSystemMessageTestingOnly(self, "Couldn't find sound argument");
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
location loc = getLocation(greeter);
|
|
if (loc == null)
|
|
{
|
|
sendSystemMessageTestingOnly(self, "Couldn't find greeter location");
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
sendSystemMessageTestingOnly(self, "Attempting to player sound: " + sound + " on greeter: " + greeter);
|
|
if (!playClientEffectLoc(greeter, sound, loc, 0.f))
|
|
{
|
|
sendSystemMessageTestingOnly(self, "The sound could not be played per the game system.");
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
sendSystemMessageTestingOnly(self, "The sound should have played.");
|
|
}
|
|
else if (priCommand.equalsIgnoreCase("test_greeter_voice") && !secCommand.equals("") && !thirdCommand.equals(""))
|
|
{
|
|
obj_id greeter = utils.stringToObjId(secCommand);
|
|
if (!isValidId(greeter) || !exists(greeter))
|
|
{
|
|
sendSystemMessageTestingOnly(self, "Couldn't find Greeter with OID of: " + secCommand);
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
String voice = thirdCommand;
|
|
if (voice == null && voice.equals(""))
|
|
{
|
|
sendSystemMessageTestingOnly(self, "Couldn't find voice argument");
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
sendSystemMessageTestingOnly(self, "Attempting to player sound: " + voice + " on greeter: " + greeter);
|
|
if (!play2dNonLoopingSound(self, voice))
|
|
{
|
|
sendSystemMessageTestingOnly(self, "The sound could not be played per the game system.");
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
sendSystemMessageTestingOnly(self, "The sound should have played.");
|
|
}
|
|
else if (priCommand.equalsIgnoreCase("get_tcg_expansion_templates"))
|
|
{
|
|
String data = "";
|
|
int iteration = TCG_EXPANSION.length;
|
|
for (int i = 0; i < iteration; i++)
|
|
{
|
|
dictionary itemData = dataTableGetRow(static_item.MASTER_ITEM_TABLE, TCG_EXPANSION[i]);
|
|
data += itemData.getString("template_name");
|
|
data += "\n\r";
|
|
}
|
|
saveTextOnClient(self, "templates.txt", data);
|
|
}
|
|
else if (priCommand.equalsIgnoreCase("get_tcg_expansion_items"))
|
|
{
|
|
obj_id pInv = utils.getInventoryContainer(self);
|
|
if (!isValidId(pInv) || !exists(pInv))
|
|
{
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
if (getVolumeFree(pInv) <= 0)
|
|
{
|
|
sendSystemMessage(self, vendor_lib.SID_INVENTORY_FULL_GENERIC);
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
for (int i = 0; i < TCG_EXPANSION.length; i++)
|
|
{
|
|
static_item.createNewItemFunction(TCG_EXPANSION[i], pInv);
|
|
}
|
|
}
|
|
else if (priCommand.equalsIgnoreCase("get_tcg_launch_items"))
|
|
{
|
|
obj_id pInv = utils.getInventoryContainer(self);
|
|
if (!isValidId(pInv) || !exists(pInv))
|
|
{
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
if (getVolumeFree(pInv) <= 0)
|
|
{
|
|
sendSystemMessage(self, vendor_lib.SID_INVENTORY_FULL_GENERIC);
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
for (int i = 0; i < TCG_LAUNCH.length; i++)
|
|
{
|
|
static_item.createNewItemFunction(TCG_LAUNCH[i], pInv);
|
|
}
|
|
}
|
|
else if (priCommand.equalsIgnoreCase("play_client_test"))
|
|
{
|
|
playClientEffectObj(self, "sound/utinni.snd", self, "");
|
|
}
|
|
else if (priCommand.equalsIgnoreCase("play_2d_test"))
|
|
{
|
|
play2dNonLoopingSound(self, "sound/utinni.snd");
|
|
}
|
|
else if (priCommand.equalsIgnoreCase("play_music_test"))
|
|
{
|
|
playMusic(self, "sound/utinni.snd");
|
|
}
|
|
else if (priCommand.equalsIgnoreCase("play_client") && !secCommand.equals(""))
|
|
{
|
|
if (secCommand == null || secCommand.equals(""))
|
|
{
|
|
sendSystemMessageTestingOnly(self, "Sound Invalid. Valid sound: sound/utinni.snd");
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
if (!playClientEffectObj(self, secCommand, self, ""))
|
|
{
|
|
sendSystemMessageTestingOnly(self, "Sound Failed.");
|
|
}
|
|
else
|
|
{
|
|
sendSystemMessageTestingOnly(self, "Sound should have played.");
|
|
}
|
|
}
|
|
else if (priCommand.equalsIgnoreCase("play_2d") && !secCommand.equals(""))
|
|
{
|
|
if (secCommand == null || secCommand.equals("") || !secCommand.startsWith("sound/") || secCommand.indexOf(".snd") < 0)
|
|
{
|
|
sendSystemMessageTestingOnly(self, "Sound Invalid. Valid sound: sound/utinni.snd");
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
if (!play2dNonLoopingSound(self, secCommand))
|
|
{
|
|
sendSystemMessageTestingOnly(self, "Sound Failed.");
|
|
}
|
|
else
|
|
{
|
|
sendSystemMessageTestingOnly(self, "Sound should have played.");
|
|
}
|
|
}
|
|
else if (priCommand.equalsIgnoreCase("play_music") && !secCommand.equals(""))
|
|
{
|
|
if (secCommand == null || secCommand.equals(""))
|
|
{
|
|
sendSystemMessageTestingOnly(self, "Sound Invalid. Valid sound: sound/utinni.snd");
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
if (!playMusic(self, "sound/" + secCommand + ".snd"))
|
|
{
|
|
sendSystemMessageTestingOnly(self, "Sound Failed.");
|
|
}
|
|
else
|
|
{
|
|
sendSystemMessageTestingOnly(self, "Sound should have played.");
|
|
}
|
|
}
|
|
else if (priCommand.equalsIgnoreCase("tcg_booster_msg"))
|
|
{
|
|
sendSystemMessage(self, new string_id("veteran_new", "tcg_available_monthly_bonus_booster_pack"));
|
|
}
|
|
else if (priCommand.equalsIgnoreCase("packup_points_100"))
|
|
{
|
|
int[] housePacking = new int[2];
|
|
housePacking[0] = 100;
|
|
housePacking[1] = 100;
|
|
setObjVar(self, "housePackup", housePacking);
|
|
sendSystemMessageTestingOnly(self, "You now have points equal to a player that has destroyed 100 houses.");
|
|
}
|
|
else if (priCommand.equalsIgnoreCase("packup_points") && !secCommand.equals(""))
|
|
{
|
|
if (secCommand == null || secCommand.equals(""))
|
|
{
|
|
sendSystemMessageTestingOnly(self, "Define how many abandoned houses you want to pack up");
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
int number1 = utils.stringToInt(secCommand);
|
|
int[] housePacking = new int[2];
|
|
housePacking[0] = number1;
|
|
housePacking[1] = number1;
|
|
setObjVar(self, "housePackup", housePacking);
|
|
sendSystemMessageTestingOnly(self, "You now have points equal to a player that has destroyed " + number1 + " houses.");
|
|
}
|
|
else if (priCommand.equalsIgnoreCase("packup_daily_max"))
|
|
{
|
|
if (!hasObjVar(self, player_structure.HOUSE_PACKUP_DAILY_TALLY_OBJVAR))
|
|
{
|
|
sendSystemMessageTestingOnly(self, "No houses destroyed today.");
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
sendSystemMessageTestingOnly(self, "You currently have destroyed " + getIntObjVar(self, player_structure.HOUSE_PACKUP_DAILY_TALLY_OBJVAR) + " houses today.");
|
|
}
|
|
else if (priCommand.equalsIgnoreCase("packup_remove_daily"))
|
|
{
|
|
if (!hasObjVar(self, player_structure.HOUSE_PACKUP_DAILY_TALLY_OBJVAR))
|
|
{
|
|
sendSystemMessageTestingOnly(self, "No objvar found.");
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
removeObjVar(self, player_structure.HOUSE_PACKUP_DAILY_TALLY_OBJVAR);
|
|
sendSystemMessageTestingOnly(self, "You currently have destroyed " + getIntObjVar(self, player_structure.HOUSE_PACKUP_DAILY_TALLY_OBJVAR) + " houses today.");
|
|
}
|
|
else if (priCommand.equalsIgnoreCase("packup_remove_all"))
|
|
{
|
|
messageTo(self, "handlePlayerStructurePackupLockoutRemoval", null, 0, false);
|
|
if (!hasObjVar(self, player_structure.HOUSE_PACKUP_ARRAY_OBJVAR))
|
|
{
|
|
sendSystemMessageTestingOnly(self, "No houses destroyed ever.");
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
removeObjVar(self, player_structure.HOUSE_PACKUP_ARRAY_OBJVAR);
|
|
if (!hasObjVar(self, player_structure.HOUSE_PACKUP_DAILY_TALLY_OBJVAR))
|
|
{
|
|
sendSystemMessageTestingOnly(self, "No House Pack up tracking objvar found, removal skipped.");
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
removeObjVar(self, player_structure.HOUSE_PACKUP_DAILY_TALLY_OBJVAR);
|
|
messageTo(self, "handlePlayerStructurePackupLockoutRemoval", null, 0, false);
|
|
sendSystemMessageTestingOnly(self, "All House Pack Up tracking and Lock Outs removed.");
|
|
}
|
|
else if (priCommand.equalsIgnoreCase("packup_houses"))
|
|
{
|
|
if (!hasObjVar(self, player_structure.HOUSE_PACKUP_ARRAY_OBJVAR))
|
|
{
|
|
sendSystemMessageTestingOnly(self, "No houses destroyed ever.");
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
int[] array = getIntArrayObjVar(self, player_structure.HOUSE_PACKUP_ARRAY_OBJVAR);
|
|
sendSystemMessageTestingOnly(self, "You have destroyed " + array[1] + " houses total.");
|
|
}
|
|
else if (priCommand.equalsIgnoreCase("packup_remove_lockout"))
|
|
{
|
|
messageTo(self, "handleFailedStructurePackup", null, 0, false);
|
|
sendSystemMessageTestingOnly(self, "If you had a house pack up lockout it no longer exists.");
|
|
}
|
|
else if (priCommand.equalsIgnoreCase("check_abandonable"))
|
|
{
|
|
obj_id lookAtTarget = findTarget(self);
|
|
sendSystemMessageTestingOnly(self, "Can be abandoned: " + player_structure.doesUnmarkedStructureQualifyForHousePackup(lookAtTarget));
|
|
}
|
|
else if (priCommand.equalsIgnoreCase("isowner"))
|
|
{
|
|
obj_id lookAtTarget = findTarget(self);
|
|
sendSystemMessageTestingOnly(self, "Are you owner? " + player_structure.isOwner(lookAtTarget, self));
|
|
if (isGod(self))
|
|
{
|
|
sendSystemMessageTestingOnly(self, "You are in godmode and the isowner check may not work");
|
|
}
|
|
}
|
|
else if (priCommand.equalsIgnoreCase("set_abandoned"))
|
|
{
|
|
obj_id lookAtTarget = findTarget(self);
|
|
if (!player_structure.doesUnmarkedStructureQualifyForHousePackup(lookAtTarget))
|
|
{
|
|
sendSystemMessageTestingOnly(self, "Please target a valid player house or factory. This object cannot be packed up.");
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
if (hasObjVar(lookAtTarget, "player_structure.abandoned") && getIntObjVar(lookAtTarget, "player_structure.abandoned") == 1)
|
|
{
|
|
sendSystemMessageTestingOnly(self, "This structure is already abandoned.");
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
setObjVar(lookAtTarget, "player_structure.abandoned", 1);
|
|
sendSystemMessageTestingOnly(self, "Structure set abandoned.");
|
|
}
|
|
else if (priCommand.equalsIgnoreCase("setlots"))
|
|
{
|
|
adjustLotCount(getPlayerObject(self), -10);
|
|
sendSystemMessageTestingOnly(self, "Lots set to 10");
|
|
}
|
|
else if (priCommand.equalsIgnoreCase("set_sarlacc"))
|
|
{
|
|
obj_id lookAtTarget = findTarget(self);
|
|
if (!isValidId(lookAtTarget))
|
|
{
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
String sarlaccObjTemplate = getTemplateName(lookAtTarget);
|
|
if (sarlaccObjTemplate == null || sarlaccObjTemplate.equals(""))
|
|
{
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
if (sarlaccObjTemplate.indexOf("mini_s02.iff") < 0)
|
|
{
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
setObjVar(lookAtTarget, house_pet.SARLACC_FAST_UPDATE_RATE, true);
|
|
sendSystemMessageTestingOnly(self, "Sarlacc God Hack Applied.");
|
|
}
|
|
else if (priCommand.equalsIgnoreCase("get_player_housing_lots"))
|
|
{
|
|
String data = "";
|
|
for (int i = 0; i < ALL_PLAYER_HOUSING.length; i++)
|
|
{
|
|
String lotStr = "";
|
|
int lot = getAdjustedLotCount(ALL_PLAYER_HOUSING[i]);
|
|
if (lot == -99)
|
|
{
|
|
lotStr = "Lot count set to 1 because of error";
|
|
}
|
|
else if (lot == -1)
|
|
{
|
|
lotStr = "template error";
|
|
}
|
|
else if (lot == -2)
|
|
{
|
|
lotStr = "footprint template error";
|
|
}
|
|
else if (lot == -3)
|
|
{
|
|
lotStr = "index error";
|
|
}
|
|
else if (lot > 0)
|
|
{
|
|
lotStr = "" + lot;
|
|
}
|
|
else if (lot == 0)
|
|
{
|
|
lotStr = "none";
|
|
}
|
|
else if (lot == -69)
|
|
{
|
|
lotStr = "Exempt";
|
|
}
|
|
data += ALL_PLAYER_HOUSING[i] + "\t" + lotStr + "\n";
|
|
}
|
|
saveTextOnClient(self, "playerHousingLots.txt", data);
|
|
}
|
|
else if (priCommand.equalsIgnoreCase("get_player_city_lots"))
|
|
{
|
|
String data = "";
|
|
for (int i = 0; i < ALL_PLAYER_CITY_STRUCTURES.length; i++)
|
|
{
|
|
String lotStr = "";
|
|
int lot = getAdjustedLotCount(ALL_PLAYER_CITY_STRUCTURES[i]);
|
|
if (lot == -99)
|
|
{
|
|
lotStr = "Lot count set to 1 because of error";
|
|
}
|
|
else if (lot == -1)
|
|
{
|
|
lotStr = "template error";
|
|
}
|
|
else if (lot == -2)
|
|
{
|
|
lotStr = "footprint template error";
|
|
}
|
|
else if (lot == -3)
|
|
{
|
|
lotStr = "index error";
|
|
}
|
|
else if (lot > 0)
|
|
{
|
|
lotStr = "" + lot;
|
|
}
|
|
else if (lot == 0)
|
|
{
|
|
lotStr = "none";
|
|
}
|
|
else if (lot == -69)
|
|
{
|
|
lotStr = "Exempt";
|
|
}
|
|
data += ALL_PLAYER_CITY_STRUCTURES[i] + "\t" + lotStr + "\n";
|
|
}
|
|
saveTextOnClient(self, "cityStructureLots.txt", data);
|
|
}
|
|
else if (priCommand.equalsIgnoreCase("persist_obj") && !secCommand.equals(""))
|
|
{
|
|
obj_id object = utils.stringToObjId(secCommand);
|
|
if (!isValidId(object) || !exists(object))
|
|
{
|
|
sendSystemMessageTestingOnly(self, "Couldn't find object with OID of: " + secCommand);
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
persistObject(object);
|
|
sendSystemMessageTestingOnly(self, "Object: " + secCommand + " persisted.");
|
|
}
|
|
else if (priCommand.equalsIgnoreCase("is_persisted") && !secCommand.equals(""))
|
|
{
|
|
obj_id object = utils.stringToObjId(secCommand);
|
|
if (!isValidId(object) || !exists(object))
|
|
{
|
|
sendSystemMessageTestingOnly(self, "Couldn't find object with OID of: " + secCommand);
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
if (isObjectPersisted(self))
|
|
{
|
|
sendSystemMessageTestingOnly(self, "Object: " + secCommand + " IS INDEED persisted.");
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
sendSystemMessageTestingOnly(self, "Object: " + secCommand + " IS NOT persisted.");
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
else if (priCommand.equalsIgnoreCase("get_sign_skillmod"))
|
|
{
|
|
int special_sign_tcg_series3 = getSkillStatMod(self, "special_sign_tcg_series3");
|
|
sendSystemMessageTestingOnly(self, "special_sign_tcg_series3: " + special_sign_tcg_series3);
|
|
int special_sign_halloween_hanging_sign = getSkillStatMod(self, "special_sign_halloween_hanging_sign");
|
|
sendSystemMessageTestingOnly(self, "special_sign_halloween_hanging_sign: " + special_sign_halloween_hanging_sign);
|
|
int special_sign_halloween_standing_sign = getSkillStatMod(self, "special_sign_halloween_standing_sign");
|
|
sendSystemMessageTestingOnly(self, "special_sign_halloween_standing_sign: " + special_sign_halloween_standing_sign);
|
|
int shop_sign = getSkillStatMod(self, "shop_sign");
|
|
sendSystemMessageTestingOnly(self, "shop_sign: " + shop_sign);
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
else if (priCommand.equalsIgnoreCase("give_shop_sign"))
|
|
{
|
|
applySkillStatisticModifier(self, "shop_sign", 1);
|
|
int shop_sign = getSkillStatMod(self, "shop_sign");
|
|
sendSystemMessageTestingOnly(self, "shop_sign: " + shop_sign);
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
else if (priCommand.equalsIgnoreCase("remove_shop_sign"))
|
|
{
|
|
applySkillStatisticModifier(self, "shop_sign", -1);
|
|
int shop_sign = getSkillStatMod(self, "shop_sign");
|
|
sendSystemMessageTestingOnly(self, "shop_sign: " + shop_sign);
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
else if (priCommand.equalsIgnoreCase("decrease_sign_skillmod") && !secCommand.equals(""))
|
|
{
|
|
int skillModAmount = getSkillStatMod(self, "special_sign_tcg_series3");
|
|
sendSystemMessageTestingOnly(self, "Before: " + skillModAmount);
|
|
int number1 = utils.stringToInt(secCommand);
|
|
if (number1 <= 0)
|
|
{
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
if (!applySkillStatisticModifier(self, "special_sign_tcg_series3", -1 * number1))
|
|
{
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
skillModAmount = getSkillStatMod(self, "special_sign_tcg_series3");
|
|
sendSystemMessageTestingOnly(self, "Now: " + skillModAmount);
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
else if (priCommand.equalsIgnoreCase("increase_sign_skillmod") && !secCommand.equals(""))
|
|
{
|
|
int skillModAmount = getSkillStatMod(self, "special_sign_tcg_series3");
|
|
sendSystemMessageTestingOnly(self, "Before: " + skillModAmount);
|
|
int number1 = utils.stringToInt(secCommand);
|
|
if (number1 <= 0)
|
|
{
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
if (!applySkillStatisticModifier(self, "special_sign_tcg_series3", number1))
|
|
{
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
skillModAmount = getSkillStatMod(self, "special_sign_tcg_series3");
|
|
sendSystemMessageTestingOnly(self, "Now: " + skillModAmount);
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
else if (priCommand.equalsIgnoreCase("play_particle") && !secCommand.equals(""))
|
|
{
|
|
playClientEffectObj(self, secCommand, self, "");
|
|
sendSystemMessageTestingOnly(self, "Particle should have played");
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
else if (priCommand.equalsIgnoreCase("sarlacc_day") && !secCommand.equals(""))
|
|
{
|
|
obj_id object = utils.stringToObjId(secCommand);
|
|
if (!isValidId(object) || !exists(object))
|
|
{
|
|
sendSystemMessageTestingOnly(self, "Couldn't find object with OID of: " + secCommand);
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
if (isDeluxSarlacc(object))
|
|
{
|
|
int totalSubtractedTime = house_pet.getUpdateDaily(object);
|
|
int lastFed = getIntObjVar(object, house_pet.SARLACC_BORN);
|
|
if (hasObjVar(object, house_pet.SARLACC_LAST_FED))
|
|
{
|
|
lastFed = getIntObjVar(object, house_pet.SARLACC_LAST_FED);
|
|
}
|
|
int newFed = lastFed - totalSubtractedTime;
|
|
setObjVar(object, house_pet.SARLACC_LAST_FED, newFed);
|
|
sendSystemMessageTestingOnly(self, "Deluxe Sarlacc: " + secCommand + " Last Feeding Time has had " + totalSubtractedTime + " subtracted from it.");
|
|
}
|
|
else
|
|
{
|
|
sendSystemMessageTestingOnly(self, "Object: " + secCommand + " IS NOT a Deluxe Sarlacc or has never been fed.");
|
|
}
|
|
utils.removeScriptVar(object, house_pet.SARLACC_AVOID_REPEATED_UPDATES);
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
else if (priCommand.equalsIgnoreCase("sarlacc_phase_very_hungry") && !secCommand.equals(""))
|
|
{
|
|
obj_id object = utils.stringToObjId(secCommand);
|
|
if (!isValidId(object) || !exists(object))
|
|
{
|
|
sendSystemMessageTestingOnly(self, "Couldn't find object with OID of: " + secCommand);
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
if (isDeluxSarlacc(object))
|
|
{
|
|
setObjVar(object, house_pet.SARLACC_CURRENT_PHASE, 2);
|
|
sendSystemMessageTestingOnly(self, "Deluxe Sarlacc: " + secCommand + " has been set to very hungry.");
|
|
}
|
|
else
|
|
{
|
|
sendSystemMessageTestingOnly(self, "Object: " + secCommand + " IS NOT a Deluxe Sarlacc or has never been fed.");
|
|
}
|
|
utils.removeScriptVar(object, house_pet.SARLACC_AVOID_REPEATED_UPDATES);
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
else if (priCommand.equalsIgnoreCase("in_world") && !secCommand.equals(""))
|
|
{
|
|
obj_id object = utils.stringToObjId(secCommand);
|
|
if (!isValidId(object) || !exists(object))
|
|
{
|
|
sendSystemMessageTestingOnly(self, "Couldn't find object with OID of: " + secCommand);
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
sendSystemMessageTestingOnly(self, "Is in World Cell: " + isInWorldCell(object));
|
|
}
|
|
else if (priCommand.equalsIgnoreCase("get_feed_list") && !secCommand.equals(""))
|
|
{
|
|
obj_id object = utils.stringToObjId(secCommand);
|
|
if (!isValidId(object) || !exists(object))
|
|
{
|
|
sendSystemMessageTestingOnly(self, "Couldn't find object with OID of: " + secCommand);
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
String list = getListOfFoodItems(object);
|
|
if (list == null || list.equals(""))
|
|
{
|
|
sendSystemMessageTestingOnly(self, "Nothing returned");
|
|
}
|
|
else
|
|
{
|
|
sendSystemMessageTestingOnly(self, "List of Items Fed: " + list);
|
|
}
|
|
}
|
|
else if (priCommand.equalsIgnoreCase("massiff_day") && !secCommand.equals(""))
|
|
{
|
|
obj_id object = utils.stringToObjId(secCommand);
|
|
if (!isValidId(object) || !exists(object))
|
|
{
|
|
sendSystemMessageTestingOnly(self, "Couldn't find object with OID of: " + secCommand);
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
if (isMassiffBowl(object))
|
|
{
|
|
int totalSubtractedTime = house_pet.getUpdateDaily(object);
|
|
int lastFed = getIntObjVar(object, house_pet.MASSIFF_LAST_FED);
|
|
int newFed = lastFed - totalSubtractedTime;
|
|
setObjVar(object, house_pet.MASSIFF_LAST_FED, newFed);
|
|
sendSystemMessageTestingOnly(self, "Massif Bowl: " + secCommand + " Last Feeding Time has had " + totalSubtractedTime + " subtracted from it.");
|
|
}
|
|
else
|
|
{
|
|
sendSystemMessageTestingOnly(self, "Object: " + secCommand + " IS NOT a Massif Bowl or has no spawned and fed Massif.");
|
|
}
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
else if (priCommand.equalsIgnoreCase("massiff_emote") && !secCommand.equals(""))
|
|
{
|
|
obj_id object = utils.stringToObjId(secCommand);
|
|
if (!isValidId(object) || !exists(object))
|
|
{
|
|
sendSystemMessageTestingOnly(self, "Couldn't find object with OID of: " + secCommand);
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
playClientEffectObj(object, house_pet.MASSIFF_HUNGRY_EMOTE, object, "");
|
|
}
|
|
else if (priCommand.equalsIgnoreCase("getyaw") && !secCommand.equals(""))
|
|
{
|
|
obj_id object = utils.stringToObjId(secCommand);
|
|
if (!isValidId(object) || !exists(object))
|
|
{
|
|
sendSystemMessageTestingOnly(self, "Couldn't find object with OID of: " + secCommand);
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
sendSystemMessageTestingOnly(self, "The yaw of that object is: " + getYaw(object));
|
|
}
|
|
else if (priCommand.equalsIgnoreCase("test_player_anim") && !secCommand.equals(""))
|
|
{
|
|
sendSystemMessageTestingOnly(self, "Animating using: " + secCommand);
|
|
doAnimationAction(self, secCommand);
|
|
}
|
|
else if (priCommand.equalsIgnoreCase("remove_lockout"))
|
|
{
|
|
removeObjVar(self, holiday.EMPIRE_DAY_RECRUITMENT_LOCKED_OUT);
|
|
removeObjVar(self, holiday.EMPIRE_DAY_RESISTANCE_LOCKED_OUT);
|
|
removeObjVar(self, holiday.EMPIRE_DAY_PROPAGANDA_LOCKED_OUT);
|
|
removeObjVar(self, holiday.EMPIRE_DAY_VANDAL_LOCKED_OUT);
|
|
removeObjVar(self, holiday.EMPIRE_DAY_RECRUITMENT_TIMESTAMP);
|
|
removeObjVar(self, holiday.EMPIRE_DAY_RESISTANCE_TIMESTAMP);
|
|
removeObjVar(self, holiday.EMPIRE_DAY_PROPAGANDA_TIMESTAMP);
|
|
removeObjVar(self, holiday.EMPIRE_DAY_VANDAL_TIMESTAMP);
|
|
removeObjVar(self, "empire_day_events.locked_out");
|
|
sendSystemMessageTestingOnly(self, "Lockouts removed.");
|
|
}
|
|
else if (priCommand.equalsIgnoreCase("collections_removed"))
|
|
{
|
|
collection.removeCollectionForRealsies(self, holiday.REBEL_RESISTANCE_COLLECTION);
|
|
collection.removeCollectionForRealsies(self, holiday.REBEL_VANDAL_COLLECTION);
|
|
collection.removeCollectionForRealsies(self, holiday.REBEL_ENGINEERING_COLLECTION);
|
|
collection.removeCollectionForRealsies(self, holiday.REBEL_ENTERTAINER_COLLECTION);
|
|
collection.removeCollectionForRealsies(self, holiday.REBEL_RESCUE_COLLECTION);
|
|
collection.removeCollectionForRealsies(self, holiday.IMPERIAL_RECRUITING_COLLECTION);
|
|
collection.removeCollectionForRealsies(self, holiday.IMPERIAL_ANTIPROP_COLLECTION);
|
|
collection.removeCollectionForRealsies(self, holiday.IMPERIAL_ENGINEERING_COLLECTION);
|
|
collection.removeCollectionForRealsies(self, holiday.IMPERIAL_ENTERTAINER_COLLECTION);
|
|
collection.removeCollectionForRealsies(self, holiday.IMPERIAL_RESCUE_COLLECTION);
|
|
}
|
|
else if (priCommand.equalsIgnoreCase("buffs_removed"))
|
|
{
|
|
buff.removeBuff(self, holiday.BUFF_IMP_EMPIREDAY_RECRUITMENT_COMBATANT);
|
|
buff.removeBuff(self, holiday.BUFF_REB_EMPIREDAY_RESISTANCE_COMBATANT);
|
|
buff.removeBuff(self, holiday.BUFF_IMP_EMPIREDAY_RECRUITMENT_SF);
|
|
buff.removeBuff(self, holiday.BUFF_REB_EMPIREDAY_RESISTANCE_SF);
|
|
buff.removeBuff(self, holiday.BUFF_IMP_EMPIREDAY_ANTIPROP_COMBATANT);
|
|
buff.removeBuff(self, holiday.BUFF_REB_EMPIREDAY_VANDAL_COMBATANT);
|
|
buff.removeBuff(self, holiday.BUFF_IMP_EMPIREDAY_ANTIPROP_SF);
|
|
buff.removeBuff(self, holiday.BUFF_REB_EMPIREDAY_VANDAL_SF);
|
|
buff.removeBuff(self, holiday.BUFF_IMPERIAL_RECRUITMENT_COUNTER);
|
|
buff.removeBuff(self, holiday.BUFF_REBEL_RESISTANCE_COUNTER);
|
|
buff.removeBuff(self, holiday.BUFF_IMPERIAL_ANTIPROPAGANDA_COUNTER);
|
|
buff.removeBuff(self, holiday.BUFF_REBEL_PLAYER_VANDAL_COUNTER);
|
|
}
|
|
else if (priCommand.equalsIgnoreCase("apply_recruit_combat_buff"))
|
|
{
|
|
buff.applyBuff(self, holiday.BUFF_IMP_EMPIREDAY_RECRUITMENT_COMBATANT);
|
|
}
|
|
else if (priCommand.equalsIgnoreCase("apply_resist_combat_buff"))
|
|
{
|
|
buff.applyBuff(self, holiday.BUFF_REB_EMPIREDAY_RESISTANCE_COMBATANT);
|
|
}
|
|
else if (priCommand.equalsIgnoreCase("apply_recruit_sf_buff"))
|
|
{
|
|
buff.applyBuff(self, holiday.BUFF_IMP_EMPIREDAY_RECRUITMENT_SF);
|
|
}
|
|
else if (priCommand.equalsIgnoreCase("apply_resist_sf_buff"))
|
|
{
|
|
buff.applyBuff(self, holiday.BUFF_REB_EMPIREDAY_RESISTANCE_SF);
|
|
}
|
|
else if (priCommand.equalsIgnoreCase("apply_antiprop_combat_buff"))
|
|
{
|
|
buff.applyBuff(self, holiday.BUFF_IMP_EMPIREDAY_ANTIPROP_COMBATANT);
|
|
}
|
|
else if (priCommand.equalsIgnoreCase("apply_antiprop_sf_buff"))
|
|
{
|
|
buff.applyBuff(self, holiday.BUFF_IMP_EMPIREDAY_ANTIPROP_SF);
|
|
}
|
|
else if (priCommand.equalsIgnoreCase("apply_vandal_combat_buff"))
|
|
{
|
|
buff.applyBuff(self, holiday.BUFF_REB_EMPIREDAY_VANDAL_COMBATANT);
|
|
}
|
|
else if (priCommand.equalsIgnoreCase("apply_vandal_sf_buff"))
|
|
{
|
|
buff.applyBuff(self, holiday.BUFF_REB_EMPIREDAY_VANDAL_SF);
|
|
}
|
|
else if (priCommand.equalsIgnoreCase("apply_recruit_counter_buff"))
|
|
{
|
|
buff.applyBuff(self, holiday.BUFF_IMPERIAL_RECRUITMENT_COUNTER);
|
|
}
|
|
else if (priCommand.equalsIgnoreCase("apply_resist_counter_buff"))
|
|
{
|
|
buff.applyBuff(self, holiday.BUFF_REBEL_RESISTANCE_COUNTER);
|
|
}
|
|
else if (priCommand.equalsIgnoreCase("apply_antiprop_counter_buff"))
|
|
{
|
|
buff.applyBuff(self, holiday.BUFF_IMPERIAL_ANTIPROPAGANDA_COUNTER);
|
|
}
|
|
else if (priCommand.equalsIgnoreCase("apply_vandal_counter_buff"))
|
|
{
|
|
buff.applyBuff(self, holiday.BUFF_REBEL_PLAYER_VANDAL_COUNTER);
|
|
}
|
|
else if (priCommand.equalsIgnoreCase("hasImpTraderQuest"))
|
|
{
|
|
String quest = "";
|
|
for (int i = 0; i < holiday.ALL_IMPERIAL_QUESTS.length; i++)
|
|
{
|
|
if (groundquests.isQuestActive(self, holiday.ALL_IMPERIAL_QUESTS[i]))
|
|
{
|
|
quest = holiday.ALL_IMPERIAL_QUESTS[i];
|
|
sendSystemMessageTestingOnly(self, "FOUND QUEST: " + holiday.ALL_IMPERIAL_QUESTS[i]);
|
|
break;
|
|
}
|
|
else
|
|
{
|
|
sendSystemMessageTestingOnly(self, "is not quest: " + holiday.ALL_IMPERIAL_QUESTS[i]);
|
|
}
|
|
}
|
|
if (quest == null || quest.equals(""))
|
|
{
|
|
sendSystemMessageTestingOnly(self, "no quest, exiting");
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
if (groundquests.isTaskActive(self, quest, quest))
|
|
{
|
|
sendSystemMessageTestingOnly(self, "TASK QUEST: " + quest);
|
|
}
|
|
else
|
|
{
|
|
sendSystemMessageTestingOnly(self, "Task not found: " + quest);
|
|
}
|
|
}
|
|
else if (priCommand.equalsIgnoreCase("showBuildoutArea"))
|
|
{
|
|
location here = getLocation(self);
|
|
obj_id containingBuilding = getTopMostContainer(self);
|
|
if (isIdValid(containingBuilding))
|
|
{
|
|
here = getLocation(containingBuilding);
|
|
}
|
|
String buildoutAreaName = getBuildoutAreaName(here.x, here.z);
|
|
sendSystemMessageTestingOnly(self, "You are in buildout area: " + buildoutAreaName);
|
|
}
|
|
else if (priCommand.equalsIgnoreCase("detach_spawner"))
|
|
{
|
|
obj_id lookAtTarget = findTarget(self);
|
|
if (!isValidId(lookAtTarget))
|
|
{
|
|
sendSystemMessageTestingOnly(self, "failed");
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
detachScript(lookAtTarget, "theme_park.dungeon.empire_day_interior_npc_spawner");
|
|
sendSystemMessageTestingOnly(self, "removed");
|
|
}
|
|
else if (priCommand.equalsIgnoreCase("attach_spawner"))
|
|
{
|
|
obj_id lookAtTarget = findTarget(self);
|
|
if (!isValidId(lookAtTarget))
|
|
{
|
|
sendSystemMessageTestingOnly(self, "failed");
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
attachScript(lookAtTarget, "theme_park.dungeon.empire_day_interior_npc_spawner");
|
|
sendSystemMessageTestingOnly(self, "removed");
|
|
}
|
|
else if (priCommand.equalsIgnoreCase("make_dead"))
|
|
{
|
|
obj_id lookAtTarget = findTarget(self);
|
|
if (!isValidId(lookAtTarget))
|
|
{
|
|
sendSystemMessageTestingOnly(self, "failed");
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
ai_lib.aiSetPosture(lookAtTarget, POSTURE_KNOCKED_DOWN);
|
|
sendSystemMessageTestingOnly(self, "done");
|
|
}
|
|
else if (priCommand.equalsIgnoreCase("has_lock_out_timer"))
|
|
{
|
|
if (hasObjVar(self, holiday.EMPIRE_DAY_VANDAL_TIMESTAMP))
|
|
{
|
|
sendSystemMessageTestingOnly(self, "HAS: " + holiday.EMPIRE_DAY_VANDAL_TIMESTAMP);
|
|
}
|
|
else
|
|
{
|
|
sendSystemMessageTestingOnly(self, "DOES NOT HAVE: " + holiday.EMPIRE_DAY_VANDAL_TIMESTAMP);
|
|
}
|
|
if (hasObjVar(self, holiday.EMPIRE_DAY_RESISTANCE_TIMESTAMP))
|
|
{
|
|
sendSystemMessageTestingOnly(self, "HAS: " + holiday.EMPIRE_DAY_RESISTANCE_TIMESTAMP);
|
|
}
|
|
else
|
|
{
|
|
sendSystemMessageTestingOnly(self, "DOES NOT HAVE: " + holiday.EMPIRE_DAY_RESISTANCE_TIMESTAMP);
|
|
}
|
|
if (hasObjVar(self, holiday.EMPIRE_DAY_PROPAGANDA_TIMESTAMP))
|
|
{
|
|
sendSystemMessageTestingOnly(self, "HAS: " + holiday.EMPIRE_DAY_PROPAGANDA_TIMESTAMP);
|
|
}
|
|
else
|
|
{
|
|
sendSystemMessageTestingOnly(self, "DOES NOT HAVE: " + holiday.EMPIRE_DAY_PROPAGANDA_TIMESTAMP);
|
|
}
|
|
if (hasObjVar(self, holiday.EMPIRE_DAY_RECRUITMENT_TIMESTAMP))
|
|
{
|
|
sendSystemMessageTestingOnly(self, "HAS: " + holiday.EMPIRE_DAY_RECRUITMENT_TIMESTAMP);
|
|
}
|
|
else
|
|
{
|
|
sendSystemMessageTestingOnly(self, "DOES NOT HAVE: " + holiday.EMPIRE_DAY_RECRUITMENT_TIMESTAMP);
|
|
}
|
|
}
|
|
else if (priCommand.equalsIgnoreCase("has_lock_out_flag"))
|
|
{
|
|
if (hasObjVar(self, holiday.EMPIRE_DAY_VANDAL_LOCKED_OUT))
|
|
{
|
|
sendSystemMessageTestingOnly(self, "HAS: " + holiday.EMPIRE_DAY_VANDAL_LOCKED_OUT);
|
|
}
|
|
else
|
|
{
|
|
sendSystemMessageTestingOnly(self, "DOES NOT HAVE: " + holiday.EMPIRE_DAY_VANDAL_LOCKED_OUT);
|
|
}
|
|
if (hasObjVar(self, holiday.EMPIRE_DAY_RESISTANCE_LOCKED_OUT))
|
|
{
|
|
sendSystemMessageTestingOnly(self, "HAS: " + holiday.EMPIRE_DAY_RESISTANCE_LOCKED_OUT);
|
|
}
|
|
else
|
|
{
|
|
sendSystemMessageTestingOnly(self, "DOES NOT HAVE: " + holiday.EMPIRE_DAY_RESISTANCE_LOCKED_OUT);
|
|
}
|
|
if (hasObjVar(self, holiday.EMPIRE_DAY_PROPAGANDA_LOCKED_OUT))
|
|
{
|
|
sendSystemMessageTestingOnly(self, "HAS: " + holiday.EMPIRE_DAY_PROPAGANDA_LOCKED_OUT);
|
|
}
|
|
else
|
|
{
|
|
sendSystemMessageTestingOnly(self, "DOES NOT HAVE: " + holiday.EMPIRE_DAY_PROPAGANDA_LOCKED_OUT);
|
|
}
|
|
if (hasObjVar(self, holiday.EMPIRE_DAY_RECRUITMENT_LOCKED_OUT))
|
|
{
|
|
sendSystemMessageTestingOnly(self, "HAS: " + holiday.EMPIRE_DAY_RECRUITMENT_LOCKED_OUT);
|
|
}
|
|
else
|
|
{
|
|
sendSystemMessageTestingOnly(self, "DOES NOT HAVE: " + holiday.EMPIRE_DAY_RECRUITMENT_LOCKED_OUT);
|
|
}
|
|
}
|
|
else if (priCommand.equalsIgnoreCase("tatooine_vars"))
|
|
{
|
|
obj_id tatooine = getPlanetByName("tatooine");
|
|
if (!isValidId(tatooine))
|
|
{
|
|
sendSystemMessageTestingOnly(self, "No Tatooine Found.");
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
sendSystemMessageTestingOnly(self, "has script: " + hasScript(tatooine, "event.planet_event_handler"));
|
|
sendSystemMessageTestingOnly(self, "OID: " + tatooine);
|
|
String data = holiday.getEventHighScores(tatooine, holiday.PLANET_VAR_EVENT_PREFIX + holiday.PLANET_VAR_EMPIRE_DAY + holiday.PLANET_VAR_SCORE, true);
|
|
if (data == null || data.length() <= 0)
|
|
{
|
|
sendSystemMessageTestingOnly(self, "High Score Data Invalid.");
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
if (!holiday.createEventLeaderBoardUI(self, holiday.LEADER_BOARD_TITLE, data))
|
|
{
|
|
sendSystemMessageTestingOnly(self, "createEventLeaderBoardUI failed.");
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
sendSystemMessageTestingOnly(self, "High Score Data should have worked.");
|
|
}
|
|
else if (priCommand.equalsIgnoreCase("score_vars"))
|
|
{
|
|
if (hasObjVar(self, holiday.PLAYER_EMPIRE_DAY_SCORE))
|
|
{
|
|
sendSystemMessageTestingOnly(self, "Score var: " + getIntObjVar(self, holiday.PLAYER_EMPIRE_DAY_SCORE));
|
|
}
|
|
else
|
|
{
|
|
sendSystemMessageTestingOnly(self, "You don't have var");
|
|
}
|
|
}
|
|
else if (priCommand.equalsIgnoreCase("score_var_removed"))
|
|
{
|
|
if (hasObjVar(self, holiday.PLAYER_EMPIRE_DAY_SCORE))
|
|
{
|
|
removeObjVar(self, holiday.PLAYER_EMPIRE_DAY_SCORE);
|
|
sendSystemMessageTestingOnly(self, "Score var removed.");
|
|
}
|
|
}
|
|
else if (priCommand.equalsIgnoreCase("set_score_var"))
|
|
{
|
|
setObjVar(self, holiday.PLAYER_EMPIRE_DAY_SCORE, 33);
|
|
sendSystemMessageTestingOnly(self, "Set to 33");
|
|
buff.removeBuff(self, holiday.BUFF_IMP_EMPIREDAY_RECRUITMENT_COMBATANT);
|
|
buff.removeBuff(self, holiday.BUFF_REB_EMPIREDAY_RESISTANCE_COMBATANT);
|
|
buff.removeBuff(self, holiday.BUFF_IMP_EMPIREDAY_RECRUITMENT_SF);
|
|
buff.removeBuff(self, holiday.BUFF_REB_EMPIREDAY_RESISTANCE_SF);
|
|
buff.removeBuff(self, holiday.BUFF_IMP_EMPIREDAY_ANTIPROP_COMBATANT);
|
|
buff.removeBuff(self, holiday.BUFF_REB_EMPIREDAY_VANDAL_COMBATANT);
|
|
buff.removeBuff(self, holiday.BUFF_IMP_EMPIREDAY_ANTIPROP_SF);
|
|
buff.removeBuff(self, holiday.BUFF_REB_EMPIREDAY_VANDAL_SF);
|
|
buff.removeBuff(self, holiday.BUFF_IMPERIAL_RECRUITMENT_COUNTER);
|
|
buff.removeBuff(self, holiday.BUFF_REBEL_RESISTANCE_COUNTER);
|
|
buff.removeBuff(self, holiday.BUFF_IMPERIAL_ANTIPROPAGANDA_COUNTER);
|
|
buff.removeBuff(self, holiday.BUFF_REBEL_PLAYER_VANDAL_COUNTER);
|
|
}
|
|
else if (priCommand.equalsIgnoreCase("empire_day_remove_all"))
|
|
{
|
|
if (hasObjVar(self, holiday.PLAYER_EMPIRE_DAY_SCORE))
|
|
{
|
|
removeObjVar(self, holiday.PLAYER_EMPIRE_DAY_SCORE);
|
|
sendSystemMessageTestingOnly(self, "Score var removed.");
|
|
}
|
|
removeObjVar(self, holiday.EMPIRE_DAY_BUFF_TRACKER);
|
|
removeObjVar(self, holiday.EMPIRE_DAY_RECRUITMENT_LOCKED_OUT);
|
|
removeObjVar(self, holiday.EMPIRE_DAY_RESISTANCE_LOCKED_OUT);
|
|
removeObjVar(self, holiday.EMPIRE_DAY_PROPAGANDA_LOCKED_OUT);
|
|
removeObjVar(self, holiday.EMPIRE_DAY_VANDAL_LOCKED_OUT);
|
|
removeObjVar(self, holiday.EMPIRE_DAY_RECRUITMENT_TIMESTAMP);
|
|
removeObjVar(self, holiday.EMPIRE_DAY_RESISTANCE_TIMESTAMP);
|
|
removeObjVar(self, holiday.EMPIRE_DAY_PROPAGANDA_TIMESTAMP);
|
|
removeObjVar(self, holiday.EMPIRE_DAY_VANDAL_TIMESTAMP);
|
|
removeObjVar(self, "empire_day_events.locked_out");
|
|
sendSystemMessageTestingOnly(self, "Lockouts removed.");
|
|
collection.removeCollectionForRealsies(self, holiday.REBEL_RESISTANCE_COLLECTION);
|
|
collection.removeCollectionForRealsies(self, holiday.REBEL_VANDAL_COLLECTION);
|
|
collection.removeCollectionForRealsies(self, holiday.REBEL_ENGINEERING_COLLECTION);
|
|
collection.removeCollectionForRealsies(self, holiday.REBEL_ENTERTAINER_COLLECTION);
|
|
collection.removeCollectionForRealsies(self, holiday.REBEL_RESCUE_COLLECTION);
|
|
collection.removeCollectionForRealsies(self, holiday.IMPERIAL_RECRUITING_COLLECTION);
|
|
collection.removeCollectionForRealsies(self, holiday.IMPERIAL_ANTIPROP_COLLECTION);
|
|
collection.removeCollectionForRealsies(self, holiday.IMPERIAL_ENGINEERING_COLLECTION);
|
|
collection.removeCollectionForRealsies(self, holiday.IMPERIAL_ENTERTAINER_COLLECTION);
|
|
collection.removeCollectionForRealsies(self, holiday.IMPERIAL_RESCUE_COLLECTION);
|
|
buff.removeBuff(self, holiday.BUFF_IMP_EMPIREDAY_RECRUITMENT_COMBATANT);
|
|
buff.removeBuff(self, holiday.BUFF_REB_EMPIREDAY_RESISTANCE_COMBATANT);
|
|
buff.removeBuff(self, holiday.BUFF_IMP_EMPIREDAY_RECRUITMENT_SF);
|
|
buff.removeBuff(self, holiday.BUFF_REB_EMPIREDAY_RESISTANCE_SF);
|
|
buff.removeBuff(self, holiday.BUFF_IMP_EMPIREDAY_ANTIPROP_COMBATANT);
|
|
buff.removeBuff(self, holiday.BUFF_REB_EMPIREDAY_VANDAL_COMBATANT);
|
|
buff.removeBuff(self, holiday.BUFF_IMP_EMPIREDAY_ANTIPROP_SF);
|
|
buff.removeBuff(self, holiday.BUFF_REB_EMPIREDAY_VANDAL_SF);
|
|
buff.removeBuff(self, holiday.BUFF_IMPERIAL_RECRUITMENT_COUNTER);
|
|
buff.removeBuff(self, holiday.BUFF_REBEL_RESISTANCE_COUNTER);
|
|
buff.removeBuff(self, holiday.BUFF_IMPERIAL_ANTIPROPAGANDA_COUNTER);
|
|
buff.removeBuff(self, holiday.BUFF_REBEL_PLAYER_VANDAL_COUNTER);
|
|
}
|
|
else if (priCommand.equalsIgnoreCase("give_both_faction_kiosk_collections"))
|
|
{
|
|
modifyCollectionSlotValue(self, holiday.REBEL_RESISTANCE_START_SLOT, 1);
|
|
modifyCollectionSlotValue(self, holiday.REBEL_VANDAL_START_SLOT, 1);
|
|
modifyCollectionSlotValue(self, holiday.IMPERIAL_RECRUITING_START_SLOT, 1);
|
|
modifyCollectionSlotValue(self, holiday.IMPERIAL_ANTIPROP_START_SLOT, 1);
|
|
modifyCollectionSlotValue(self, holiday.REBEL_RESISTANCE_COUNTER_SLOT, 1);
|
|
modifyCollectionSlotValue(self, holiday.REBEL_VANDAL_COUNTER_SLOT, 1);
|
|
modifyCollectionSlotValue(self, holiday.IMPERIAL_RECRUITING_COUNTER_SLOT, 1);
|
|
modifyCollectionSlotValue(self, holiday.IMPERIAL_ANTIPROP_COUNTER_SLOT, 1);
|
|
}
|
|
else if (priCommand.equalsIgnoreCase("give_reb_kiosk_collections"))
|
|
{
|
|
modifyCollectionSlotValue(self, holiday.REBEL_RESISTANCE_START_SLOT, 1);
|
|
modifyCollectionSlotValue(self, holiday.REBEL_VANDAL_START_SLOT, 1);
|
|
}
|
|
else if (priCommand.equalsIgnoreCase("complete_imp_kiosk_collection"))
|
|
{
|
|
modifyCollectionSlotValue(self, holiday.IMPERIAL_RECRUITING_START_SLOT, 1);
|
|
modifyCollectionSlotValue(self, holiday.IMPERIAL_ANTIPROP_START_SLOT, 1);
|
|
modifyCollectionSlotValue(self, holiday.IMPERIAL_RECRUITING_COUNTER_SLOT, 1);
|
|
modifyCollectionSlotValue(self, holiday.IMPERIAL_ANTIPROP_COUNTER_SLOT, 1);
|
|
modifyCollectionSlotValue(self, holiday.IMPERIAL_RECRUITING_COUNTER_SLOT, 1);
|
|
modifyCollectionSlotValue(self, holiday.IMPERIAL_ANTIPROP_COUNTER_SLOT, 1);
|
|
modifyCollectionSlotValue(self, holiday.IMPERIAL_RECRUITING_COUNTER_SLOT, 1);
|
|
modifyCollectionSlotValue(self, holiday.IMPERIAL_ANTIPROP_COUNTER_SLOT, 1);
|
|
modifyCollectionSlotValue(self, holiday.IMPERIAL_RECRUITING_COUNTER_SLOT, 1);
|
|
modifyCollectionSlotValue(self, holiday.IMPERIAL_ANTIPROP_COUNTER_SLOT, 1);
|
|
modifyCollectionSlotValue(self, holiday.IMPERIAL_RECRUITING_COUNTER_SLOT, 1);
|
|
modifyCollectionSlotValue(self, holiday.IMPERIAL_ANTIPROP_COUNTER_SLOT, 1);
|
|
modifyCollectionSlotValue(self, holiday.IMPERIAL_RECRUITING_COUNTER_SLOT, 1);
|
|
modifyCollectionSlotValue(self, holiday.IMPERIAL_ANTIPROP_COUNTER_SLOT, 1);
|
|
}
|
|
else if (priCommand.equalsIgnoreCase("complete_reb_kiosk_collection"))
|
|
{
|
|
modifyCollectionSlotValue(self, holiday.REBEL_RESISTANCE_START_SLOT, 1);
|
|
modifyCollectionSlotValue(self, holiday.REBEL_VANDAL_START_SLOT, 1);
|
|
modifyCollectionSlotValue(self, holiday.REBEL_RESISTANCE_COUNTER_SLOT, 1);
|
|
modifyCollectionSlotValue(self, holiday.REBEL_VANDAL_COUNTER_SLOT, 1);
|
|
modifyCollectionSlotValue(self, holiday.REBEL_RESISTANCE_COUNTER_SLOT, 1);
|
|
modifyCollectionSlotValue(self, holiday.REBEL_VANDAL_COUNTER_SLOT, 1);
|
|
modifyCollectionSlotValue(self, holiday.REBEL_RESISTANCE_COUNTER_SLOT, 1);
|
|
modifyCollectionSlotValue(self, holiday.REBEL_VANDAL_COUNTER_SLOT, 1);
|
|
modifyCollectionSlotValue(self, holiday.REBEL_RESISTANCE_COUNTER_SLOT, 1);
|
|
modifyCollectionSlotValue(self, holiday.REBEL_VANDAL_COUNTER_SLOT, 1);
|
|
modifyCollectionSlotValue(self, holiday.REBEL_RESISTANCE_COUNTER_SLOT, 1);
|
|
modifyCollectionSlotValue(self, holiday.REBEL_VANDAL_COUNTER_SLOT, 1);
|
|
modifyCollectionSlotValue(self, holiday.REBEL_RESISTANCE_COUNTER_SLOT, 1);
|
|
modifyCollectionSlotValue(self, holiday.REBEL_VANDAL_COUNTER_SLOT, 1);
|
|
}
|
|
else if (priCommand.equalsIgnoreCase("remove_imp_kiosk_collection"))
|
|
{
|
|
collection.removeCollectionForRealsies(self, holiday.IMPERIAL_RECRUITING_COLLECTION);
|
|
collection.removeCollectionForRealsies(self, holiday.IMPERIAL_ANTIPROP_COLLECTION);
|
|
}
|
|
else if (priCommand.equalsIgnoreCase("remove_reb_kiosk_collection"))
|
|
{
|
|
collection.removeCollectionForRealsies(self, holiday.REBEL_RESISTANCE_COLLECTION);
|
|
collection.removeCollectionForRealsies(self, holiday.REBEL_VANDAL_COLLECTION);
|
|
}
|
|
else if (priCommand.equalsIgnoreCase("complete_imp_engineer_collection"))
|
|
{
|
|
modifyCollectionSlotValue(self, holiday.IMPERIAL_ENGINEERING_START_SLOT, 1);
|
|
modifyCollectionSlotValue(self, holiday.IMPERIAL_ENGINEERING_COUNTER_SLOT, 1);
|
|
modifyCollectionSlotValue(self, holiday.IMPERIAL_ENGINEERING_COUNTER_SLOT, 1);
|
|
modifyCollectionSlotValue(self, holiday.IMPERIAL_ENGINEERING_COUNTER_SLOT, 1);
|
|
modifyCollectionSlotValue(self, holiday.IMPERIAL_ENGINEERING_COUNTER_SLOT, 1);
|
|
modifyCollectionSlotValue(self, holiday.IMPERIAL_ENGINEERING_COUNTER_SLOT, 1);
|
|
modifyCollectionSlotValue(self, holiday.IMPERIAL_ENGINEERING_COUNTER_SLOT, 1);
|
|
}
|
|
else if (priCommand.equalsIgnoreCase("complete_imp_entertainer_collection"))
|
|
{
|
|
modifyCollectionSlotValue(self, holiday.IMPERIAL_ENTERTAINER_START_SLOT, 1);
|
|
modifyCollectionSlotValue(self, holiday.IMPERIAL_ENTERTAINER_COUNTER_SLOT, 1);
|
|
modifyCollectionSlotValue(self, holiday.IMPERIAL_ENTERTAINER_COUNTER_SLOT, 1);
|
|
modifyCollectionSlotValue(self, holiday.IMPERIAL_ENTERTAINER_COUNTER_SLOT, 1);
|
|
modifyCollectionSlotValue(self, holiday.IMPERIAL_ENTERTAINER_COUNTER_SLOT, 1);
|
|
modifyCollectionSlotValue(self, holiday.IMPERIAL_ENTERTAINER_COUNTER_SLOT, 1);
|
|
modifyCollectionSlotValue(self, holiday.IMPERIAL_ENTERTAINER_COUNTER_SLOT, 1);
|
|
}
|
|
else if (priCommand.equalsIgnoreCase("start_imp_engineer_collection"))
|
|
{
|
|
modifyCollectionSlotValue(self, holiday.IMPERIAL_ENGINEERING_START_SLOT, 1);
|
|
modifyCollectionSlotValue(self, holiday.IMPERIAL_ENGINEERING_COUNTER_SLOT, 1);
|
|
}
|
|
else if (priCommand.equalsIgnoreCase("start_imp_entertainer_collection"))
|
|
{
|
|
modifyCollectionSlotValue(self, holiday.IMPERIAL_ENTERTAINER_START_SLOT, 1);
|
|
modifyCollectionSlotValue(self, holiday.IMPERIAL_ENTERTAINER_COUNTER_SLOT, 1);
|
|
}
|
|
else if (priCommand.equalsIgnoreCase("remove_imp_engineer_collection"))
|
|
{
|
|
collection.removeCollectionForRealsies(self, holiday.IMPERIAL_ENGINEERING_COLLECTION);
|
|
}
|
|
else if (priCommand.equalsIgnoreCase("remove_imp_entertainer_collection"))
|
|
{
|
|
collection.removeCollectionForRealsies(self, holiday.IMPERIAL_ENTERTAINER_COLLECTION);
|
|
}
|
|
else if (priCommand.equalsIgnoreCase("get_reb_buffs"))
|
|
{
|
|
buff.applyBuff(self, holiday.BUFF_REB_EMPIREDAY_RESISTANCE_COMBATANT);
|
|
buff.applyBuff(self, holiday.BUFF_REB_EMPIREDAY_VANDAL_COMBATANT);
|
|
}
|
|
else if (priCommand.equalsIgnoreCase("reb_leader_board") && !secCommand.equals(""))
|
|
{
|
|
int buffNumber = utils.stringToInt(secCommand);
|
|
if (buffNumber > 0)
|
|
{
|
|
setObjVar(self, holiday.PLAYER_EMPIRE_DAY_SCORE, buffNumber);
|
|
buffNumber = buffNumber / 2;
|
|
for (int i = 0; i < buffNumber; i++)
|
|
{
|
|
buff.applyBuff(self, holiday.BUFF_REBEL_RESISTANCE_COUNTER);
|
|
buff.applyBuff(self, holiday.BUFF_REBEL_PLAYER_VANDAL_COUNTER);
|
|
}
|
|
}
|
|
}
|
|
else if (priCommand.equalsIgnoreCase("get_imp_buffs"))
|
|
{
|
|
buff.applyBuff(self, holiday.BUFF_IMP_EMPIREDAY_RECRUITMENT_COMBATANT);
|
|
buff.applyBuff(self, holiday.BUFF_IMP_EMPIREDAY_ANTIPROP_COMBATANT);
|
|
}
|
|
else if (priCommand.equalsIgnoreCase("imp_leader_board") && !secCommand.equals(""))
|
|
{
|
|
int buffNumber = utils.stringToInt(secCommand);
|
|
if (buffNumber > 0)
|
|
{
|
|
setObjVar(self, holiday.PLAYER_EMPIRE_DAY_SCORE, buffNumber);
|
|
buffNumber = buffNumber / 2;
|
|
for (int i = 0; i < buffNumber; i++)
|
|
{
|
|
buff.applyBuff(self, holiday.BUFF_IMPERIAL_RECRUITMENT_COUNTER);
|
|
buff.applyBuff(self, holiday.BUFF_IMPERIAL_ANTIPROPAGANDA_COUNTER);
|
|
}
|
|
}
|
|
}
|
|
else if (priCommand.equalsIgnoreCase("reset_leaderboards"))
|
|
{
|
|
dictionary params = new dictionary();
|
|
params.put("eventVar", holiday.PLANET_VAR_EMPIRE_DAY);
|
|
params.put("eventConfig", "empireday_ceremony");
|
|
obj_id tatooine = getPlanetByName("tatooine");
|
|
if (isValidId(tatooine))
|
|
{
|
|
sendSystemMessageTestingOnly(self, "Resetting Leaderboard");
|
|
messageTo(tatooine, "resetEventDataAfterDelay", params, 1, false);
|
|
}
|
|
}
|
|
else if (priCommand.equalsIgnoreCase("remove_console_vars"))
|
|
{
|
|
utils.removeScriptVarTree(self, "consoleMiniGame");
|
|
sendSystemMessageTestingOnly(self, "done");
|
|
}
|
|
else if (priCommand.equalsIgnoreCase("giveSignal1"))
|
|
{
|
|
if (groundquests.isQuestActive(self, "outbreak_quest_facility_02_imperial"))
|
|
{
|
|
sendSystemMessageTestingOnly(self, "has outbreak_quest_facility_02_imperial");
|
|
}
|
|
if (groundquests.isTaskActive(self, "outbreak_quest_facility_02_imperial", "body1Searched"))
|
|
{
|
|
sendSystemMessageTestingOnly(self, "has tsk");
|
|
}
|
|
sendSystemMessageTestingOnly(self, "done");
|
|
}
|
|
else if (priCommand.equalsIgnoreCase("goAlpha"))
|
|
{
|
|
warpPlayer(self, "dathomir", -5925, 559, -6667, null, -5925, 559, -6667, null, true);
|
|
sendSystemMessageTestingOnly(self, "done");
|
|
}
|
|
else if (priCommand.equalsIgnoreCase("goBeta"))
|
|
{
|
|
warpPlayer(self, "dathomir", -6283, 561, -7521, null, -6283, 561, -7521, null, true);
|
|
sendSystemMessageTestingOnly(self, "done");
|
|
}
|
|
else if (priCommand.equalsIgnoreCase("goGamma"))
|
|
{
|
|
warpPlayer(self, "dathomir", -6824, 553, -6456, null, -6824, 553, -6456, null, true);
|
|
sendSystemMessageTestingOnly(self, "done");
|
|
}
|
|
else if (priCommand.equalsIgnoreCase("goDelta"))
|
|
{
|
|
warpPlayer(self, "dathomir", -7145, 562, -6922, null, -7145, 562, -6922, null, true);
|
|
sendSystemMessageTestingOnly(self, "done");
|
|
}
|
|
else if (priCommand.equalsIgnoreCase("goEpsilon"))
|
|
{
|
|
warpPlayer(self, "dathomir", -7448, 570, -7342, null, -7448, 570, -7342, null, true);
|
|
sendSystemMessageTestingOnly(self, "done");
|
|
}
|
|
else if (priCommand.equalsIgnoreCase("giveSignal") && !secCommand.equals(""))
|
|
{
|
|
if (secCommand == null || secCommand.length() <= 0)
|
|
{
|
|
}
|
|
else
|
|
{
|
|
groundquests.sendSignal(self, secCommand);
|
|
}
|
|
}
|
|
else if (priCommand.equalsIgnoreCase("stopAi") && !secCommand.equals(""))
|
|
{
|
|
obj_id secCmd = utils.stringToObjId(secCommand);
|
|
stop(secCmd);
|
|
}
|
|
else if (priCommand.equalsIgnoreCase("getDeliveryObject"))
|
|
{
|
|
obj_id[] myList = getAllObjectsWithScript(getLocation(self), 100, "theme_park.outbreak.camp_arrival_trigger_volume");
|
|
if (myList == null || myList.length <= 0)
|
|
{
|
|
sendSystemMessageTestingOnly(self, "failed");
|
|
}
|
|
else
|
|
{
|
|
for (int i = 0; i < myList.length; i++)
|
|
{
|
|
sendSystemMessageTestingOnly(self, "found: " + myList[i]);
|
|
}
|
|
sendSystemMessageTestingOnly(self, "done");
|
|
}
|
|
}
|
|
else if (priCommand.equalsIgnoreCase("finishSignal"))
|
|
{
|
|
if (groundquests.isTaskActive(self, "outbreak_quest_facility_05_imperial", "leaveFacility") || groundquests.isTaskActive(self, "outbreak_quest_facility_05_rebel", "leaveFacility") || groundquests.isTaskActive(self, "outbreak_quest_facility_05_neutral", "leaveFacility"))
|
|
{
|
|
groundquests.sendSignal(self, "hasLeftFacility");
|
|
}
|
|
if (groundquests.isTaskActive(self, "outbreak_quest_facility_05_imperial", "coverSurvivors") || groundquests.isTaskActive(self, "outbreak_quest_facility_05_rebel", "coverSurvivors") || groundquests.isTaskActive(self, "outbreak_quest_facility_05_neutral", "coverSurvivors"))
|
|
{
|
|
groundquests.sendSignal(self, "allDoneSurvivors");
|
|
}
|
|
}
|
|
else if (priCommand.equalsIgnoreCase("isInEntertainmentCamp"))
|
|
{
|
|
obj_id camp = getCurrentAdvancedCamp(self);
|
|
if (isIdValid(camp))
|
|
{
|
|
sendSystemMessageTestingOnly(self, "camp: " + camp);
|
|
if (camping.isInEntertainmentCamp(self, camp))
|
|
{
|
|
sendSystemMessageTestingOnly(self, "You are in entertainer camp");
|
|
}
|
|
else
|
|
{
|
|
sendSystemMessageTestingOnly(self, "You are NOT in entertainer camp");
|
|
}
|
|
sendSystemMessageTestingOnly(self, "can performance heal: " + performance.canPerformanceHeal(self));
|
|
sendSystemMessageTestingOnly(self, "Max Duration: " + performance.inspireGetMaxDuration(self));
|
|
}
|
|
else
|
|
{
|
|
sendSystemMessageTestingOnly(self, "not a valid camp");
|
|
}
|
|
}
|
|
else if (priCommand.equalsIgnoreCase("gethp") && !secCommand.equals(""))
|
|
{
|
|
obj_id secCmd = utils.stringToObjId(secCommand);
|
|
sendSystemMessageTestingOnly(self, "CUR HP: " + getHitpoints(secCmd));
|
|
sendSystemMessageTestingOnly(self, "MAX HP: " + getMaxHitpoints(secCmd));
|
|
}
|
|
else if (priCommand.equalsIgnoreCase("sethp") && !secCommand.equals("") && !thirdCommand.equals(""))
|
|
{
|
|
obj_id secCmd = utils.stringToObjId(secCommand);
|
|
int thrdCmd = utils.stringToInt(thirdCommand);
|
|
setHitpoints(secCmd, thrdCmd);
|
|
sendSystemMessageTestingOnly(self, "CUR HP: " + getHitpoints(secCmd));
|
|
sendSystemMessageTestingOnly(self, "MAX HP: " + getMaxHitpoints(secCmd));
|
|
}
|
|
else if (priCommand.equalsIgnoreCase("incrementstack"))
|
|
{
|
|
buff.applyBuff(self, "event_lifeday_imperial_present_counter");
|
|
}
|
|
else if (priCommand.equalsIgnoreCase("normalbuff"))
|
|
{
|
|
buff.applyBuff(self, "bh_dm_cc_1");
|
|
}
|
|
else if (priCommand.equalsIgnoreCase("damagelittle") && !secCommand.equals(""))
|
|
{
|
|
obj_id secCmd = utils.stringToObjId(secCommand);
|
|
int maxHp = getMaxHitpoints(secCmd);
|
|
int threshold = (maxHp / 3);
|
|
setHitpoints(secCmd, (maxHp - threshold));
|
|
}
|
|
else if (priCommand.equalsIgnoreCase("damagehalf") && !secCommand.equals(""))
|
|
{
|
|
obj_id secCmd = utils.stringToObjId(secCommand);
|
|
int maxHp = getMaxHitpoints(secCmd);
|
|
int threshold = (maxHp / 2);
|
|
setHitpoints(secCmd, (maxHp - threshold));
|
|
}
|
|
else if (priCommand.equalsIgnoreCase("damagemore") && !secCommand.equals(""))
|
|
{
|
|
obj_id secCmd = utils.stringToObjId(secCommand);
|
|
int maxHp = getMaxHitpoints(secCmd);
|
|
int threshold = (maxHp / 3);
|
|
setHitpoints(secCmd, (maxHp - (threshold + threshold)));
|
|
}
|
|
else if (priCommand.equalsIgnoreCase("destroyturret") && !secCommand.equals(""))
|
|
{
|
|
obj_id secCmd = utils.stringToObjId(secCommand);
|
|
advanced_turret.explodeTurret(secCmd, self);
|
|
}
|
|
else if (priCommand.equalsIgnoreCase("getTemplateNoPath") && !secCommand.equals(""))
|
|
{
|
|
obj_id secCmd = utils.stringToObjId(secCommand);
|
|
String template = utils.getTemplateFilenameNoPath(secCmd);
|
|
sendSystemMessageTestingOnly(self, "template: " + template);
|
|
}
|
|
else if (priCommand.equalsIgnoreCase("getAttackerList") && !secCommand.equals(""))
|
|
{
|
|
obj_id secCmd = utils.stringToObjId(secCommand);
|
|
obj_id[] attackerList = utils.getObjIdBatchScriptVar(secCmd, "creditForKills.attackerList.attackers");
|
|
String list = utils.getStringScriptVar(secCmd, "creditForKills.attackerList");
|
|
if (attackerList == null)
|
|
{
|
|
debugSpeakMsg(self, "attackerList was null");
|
|
debugSpeakMsg(self, "list was " + list);
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
for (int i = 0; i < attackerList.length; ++i)
|
|
{
|
|
debugSpeakMsg(self, "attackerList[" + i + "] " + attackerList[i]);
|
|
}
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
else if (priCommand.equalsIgnoreCase("getskillmodresists") && !secCommand.equals(""))
|
|
{
|
|
obj_id secCmd = utils.stringToObjId(secCommand);
|
|
if (!isValidId(secCmd))
|
|
{
|
|
sendSystemMessageTestingOnly(self, "invalid object");
|
|
}
|
|
else
|
|
{
|
|
for (int i = 0; i < armor.DATATABLE_SPECIAL_PROTECTIONS.length; i++)
|
|
{
|
|
sendSystemMessageTestingOnly(self, "resist: " + armor.DATATABLE_SPECIAL_PROTECTIONS[i] + ": " + getSkillStatisticModifier(secCmd, "expertise_innate_protection_" + armor.DATATABLE_SPECIAL_PROTECTIONS[i]));
|
|
}
|
|
sendSystemMessageTestingOnly(self, "resist: all: " + getSkillStatisticModifier(secCmd, "expertise_innate_protection_all"));
|
|
}
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
else if (priCommand.equalsIgnoreCase("playorbital"))
|
|
{
|
|
playClientEffectLoc(self, "clienteffect/combat_pt_orbitalstrike_low_pt.cef", getLocation(self), 0);
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
else if (priCommand.equalsIgnoreCase("planet_message"))
|
|
{
|
|
location loc = getLocation(self);
|
|
string_id message = new string_id("gcw", "static_base_capture_imperial" + loc.area);
|
|
sendFactionalSystemMessagePlanet(message, null, -1.0f, true, true);
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
else if (priCommand.equalsIgnoreCase("defense_camp"))
|
|
{
|
|
obj_id lookAtTarget = findTarget(self);
|
|
if (!isValidId(lookAtTarget))
|
|
{
|
|
sendSystemMessageTestingOnly(self, "invalid object");
|
|
}
|
|
if (!utils.hasScriptVar(lookAtTarget, "defense_camp"))
|
|
{
|
|
sendSystemMessageTestingOnly(self, "failed hasScriptVar check");
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
obj_id defendingGeneral = utils.getObjIdScriptVar(lookAtTarget, "defense_camp");
|
|
if (!isValidId(defendingGeneral) || !exists(defendingGeneral))
|
|
{
|
|
sendSystemMessageTestingOnly(self, "no object defense_camp");
|
|
}
|
|
else
|
|
{
|
|
sendSystemMessageTestingOnly(self, "defense_camp found");
|
|
}
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
else if (priCommand.equalsIgnoreCase("get_faction_flag") && !secCommand.equals(""))
|
|
{
|
|
obj_id secCmd = utils.stringToObjId(secCommand);
|
|
if (!isValidId(secCmd))
|
|
{
|
|
sendSystemMessageTestingOnly(self, "invalid object");
|
|
}
|
|
else
|
|
{
|
|
int factionFlag = factions.getFactionFlag(secCmd);
|
|
if (factionFlag == 0)
|
|
{
|
|
sendSystemMessageTestingOnly(self, "UNKNOWN FACTION");
|
|
}
|
|
else if (factionFlag == 1)
|
|
{
|
|
sendSystemMessageTestingOnly(self, "REBEL FACTION");
|
|
}
|
|
else if (factionFlag == 2)
|
|
{
|
|
sendSystemMessageTestingOnly(self, "IMPERIAL FACTION");
|
|
}
|
|
else if (factionFlag == 3)
|
|
{
|
|
sendSystemMessageTestingOnly(self, "NEUTRAL FACTION");
|
|
}
|
|
}
|
|
}
|
|
else if (priCommand.equalsIgnoreCase("reduce_hp") && !secCommand.equals(""))
|
|
{
|
|
obj_id secCmd = utils.stringToObjId(secCommand);
|
|
if (!isValidId(secCmd))
|
|
{
|
|
sendSystemMessageTestingOnly(self, "invalid object");
|
|
}
|
|
int currentHp = getHitpoints(secCmd);
|
|
setHitpoints(secCmd, currentHp - 5000);
|
|
}
|
|
else if (priCommand.equalsIgnoreCase("get_fatigue") && !secCommand.equals(""))
|
|
{
|
|
int secCmd = utils.stringToInt(secCommand);
|
|
if (secCmd < 0)
|
|
{
|
|
sendSystemMessageTestingOnly(self, "invalid amt");
|
|
}
|
|
sendSystemMessageTestingOnly(self, "amt: " + secCmd);
|
|
buff.applyBuffWithStackCount(self, gcw.BUFF_PLAYER_FATIGUE, secCmd);
|
|
}
|
|
else if (priCommand.equalsIgnoreCase("isonlist") && !secCommand.equals(""))
|
|
{
|
|
obj_id secCmd = utils.stringToObjId(secCommand);
|
|
if (!isValidId(secCmd))
|
|
{
|
|
sendSystemMessageTestingOnly(self, "invalid object");
|
|
}
|
|
if (trial.isNonInstanceFactionParticipant(self, secCmd))
|
|
{
|
|
sendSystemMessageTestingOnly(self, "You are on list");
|
|
}
|
|
else
|
|
{
|
|
sendSystemMessageTestingOnly(self, "You are NOT on list");
|
|
}
|
|
}
|
|
else if (priCommand.equalsIgnoreCase("removemefromlist") && !secCommand.equals(""))
|
|
{
|
|
obj_id secCmd = utils.stringToObjId(secCommand);
|
|
if (!isValidId(secCmd))
|
|
{
|
|
sendSystemMessageTestingOnly(self, "invalid object");
|
|
}
|
|
if (trial.removeNonInstanceFactionParticipant(self, secCmd))
|
|
{
|
|
sendSystemMessageTestingOnly(self, "You are removed");
|
|
}
|
|
else
|
|
{
|
|
sendSystemMessageTestingOnly(self, "You werent on it");
|
|
}
|
|
}
|
|
else if (priCommand.equalsIgnoreCase("getgcwtools"))
|
|
{
|
|
obj_id pInv = utils.getInventoryContainer(self);
|
|
obj_id barricade = createObject("object/tangible/gcw/crafting_quest/gcw_barricade_tool.iff", pInv, null);
|
|
if (isValidId(barricade))
|
|
{
|
|
setCount(barricade, 100);
|
|
}
|
|
obj_id patrol = createObject("object/tangible/gcw/crafting_quest/gcw_patrol_tool.iff", pInv, null);
|
|
if (isValidId(patrol))
|
|
{
|
|
setCount(patrol, 100);
|
|
}
|
|
obj_id spawner = createObject("object/tangible/gcw/crafting_quest/gcw_spawner_tool.iff", pInv, null);
|
|
if (isValidId(spawner))
|
|
{
|
|
setCount(spawner, 100);
|
|
}
|
|
obj_id tower = createObject("object/tangible/gcw/crafting_quest/gcw_tower_tool.iff", pInv, null);
|
|
if (isValidId(tower))
|
|
{
|
|
setCount(tower, 100);
|
|
}
|
|
obj_id turret = createObject("object/tangible/gcw/crafting_quest/gcw_turret_tool.iff", pInv, null);
|
|
if (isValidId(turret))
|
|
{
|
|
setCount(turret, 100);
|
|
}
|
|
obj_id vehicle = createObject("object/tangible/gcw/crafting_quest/gcw_vehicle_tool.iff", pInv, null);
|
|
if (isValidId(vehicle))
|
|
{
|
|
setCount(vehicle, 100);
|
|
}
|
|
}
|
|
else if (priCommand.equalsIgnoreCase("remove_tutorial_flag"))
|
|
{
|
|
removeObjVar(self, gcw.GCW_TUTORIAL_FLAG);
|
|
sendSystemMessageTestingOnly(self, "Tutorial Flag Removed");
|
|
}
|
|
else if (priCommand.equalsIgnoreCase("nym_warp_choster"))
|
|
{
|
|
String cantina = "8145375";
|
|
obj_id building = utils.stringToObjId(cantina);
|
|
obj_id room = getCellId(building, "alcove3");
|
|
warpPlayer(self, "lok", 0.0f, 0.0f, 0.0f, room, 9.0f, -0.9f, -16.1f);
|
|
}
|
|
else if (priCommand.equalsIgnoreCase("nym_warp_moore"))
|
|
{
|
|
String cantina = "8145375";
|
|
obj_id building = utils.stringToObjId(cantina);
|
|
obj_id room = getCellId(building, "back_hallway");
|
|
warpPlayer(self, "lok", 0.0f, 0.0f, 0.0f, room, -36.0f, 0.1f, -14.5f);
|
|
}
|
|
else if (priCommand.equalsIgnoreCase("nym_warp_vana"))
|
|
{
|
|
String stronghold = "6595508";
|
|
obj_id building = utils.stringToObjId(stronghold);
|
|
obj_id room = getCellId(building, "lobby");
|
|
warpPlayer(self, "lok", 0.0f, 0.0f, 0.0f, room, -3.7f, 3.5f, -14.9f);
|
|
}
|
|
else if (priCommand.equalsIgnoreCase("nym_warp_pirate_troll"))
|
|
{
|
|
String pirateCave = "5126308";
|
|
obj_id building = utils.stringToObjId(pirateCave);
|
|
obj_id room = getCellId(building, "r15");
|
|
warpPlayer(self, "lok", 0.0f, 0.0f, 0.0f, room, -104.1f, -40.9f, -40.6f);
|
|
}
|
|
else if (priCommand.equalsIgnoreCase("nym_warp_pirate_hacker"))
|
|
{
|
|
String pirateCave = "5126308";
|
|
obj_id building = utils.stringToObjId(pirateCave);
|
|
obj_id room = getCellId(building, "r25");
|
|
warpPlayer(self, "lok", 0.0f, 0.0f, 0.0f, room, -63.1f, -65.9f, -140.8f);
|
|
}
|
|
else if (priCommand.equalsIgnoreCase("nym_warp_mine_wes"))
|
|
{
|
|
String pirateCave = "5645584";
|
|
obj_id building = utils.stringToObjId(pirateCave);
|
|
obj_id room = getCellId(building, "r5");
|
|
warpPlayer(self, "lok", 0.0f, 0.0f, 0.0f, room, -3.1f, -45.0f, -133.9f);
|
|
}
|
|
else if (priCommand.equalsIgnoreCase("nym_warp_mine_raynar"))
|
|
{
|
|
String pirateCave = "5645584";
|
|
obj_id building = utils.stringToObjId(pirateCave);
|
|
obj_id room = getCellId(building, "r8");
|
|
warpPlayer(self, "lok", 0.0f, 0.0f, 0.0f, room, -92.0f, -73.3f, -170.7f);
|
|
}
|
|
else if (priCommand.equalsIgnoreCase("nym_warp_mine_filter"))
|
|
{
|
|
String pirateCave = "5645584";
|
|
obj_id building = utils.stringToObjId(pirateCave);
|
|
obj_id room = getCellId(building, "r11");
|
|
warpPlayer(self, "lok", 0.0f, 0.0f, 0.0f, room, -84.0f, -100.0f, -95.6f);
|
|
}
|
|
else if (priCommand.equalsIgnoreCase("nym_warp_facility_kendo_platt"))
|
|
{
|
|
String pirateCave = "5126270";
|
|
obj_id building = utils.stringToObjId(pirateCave);
|
|
obj_id room = getCellId(building, "crittercell");
|
|
warpPlayer(self, "lok", 0.0f, 0.0f, 0.0f, room, 70.4f, -12.0f, 79.4f);
|
|
}
|
|
else if (priCommand.equalsIgnoreCase("nym_warp_facility_jeran_goll"))
|
|
{
|
|
String pirateCave = "5126270";
|
|
obj_id building = utils.stringToObjId(pirateCave);
|
|
obj_id room = getCellId(building, "researchlab2");
|
|
warpPlayer(self, "lok", 0.0f, 0.0f, 0.0f, room, 20.0f, -20.0f, 139.1f);
|
|
}
|
|
else if (priCommand.equalsIgnoreCase("nym_warp_roof"))
|
|
{
|
|
warpPlayer(self, "lok", 477.0f, 33.0f, 4785.0f, null, 0f, 0f, 0f);
|
|
}
|
|
else if (priCommand.equalsIgnoreCase("nym_prisoner_quest"))
|
|
{
|
|
if (groundquests.isQuestActive(self, "u16_nym_themepark_pirate_prisoner_rescue_collection"))
|
|
{
|
|
groundquests.clearQuest(self, "u16_nym_themepark_pirate_prisoner_rescue_collection");
|
|
}
|
|
groundquests.grantQuest(self, "u16_nym_themepark_pirate_prisoner_rescue_collection");
|
|
if (hasCompletedCollectionSlot(self, "icon_nyms_rescue_prisoner"))
|
|
{
|
|
modifyCollectionSlotValue(self, "icon_nyms_rescue_prisoner", -1);
|
|
}
|
|
}
|
|
else if (priCommand.equalsIgnoreCase("nym_prisoner_log"))
|
|
{
|
|
LOG("prisoner_error_log", "prisoner log test!!");
|
|
}
|
|
else if (priCommand.equalsIgnoreCase("nym_rifle_old"))
|
|
{
|
|
obj_id playerInv = utils.getInventoryContainer(self);
|
|
obj_id prize = weapons.createWeapon("object/weapon/ranged/carbine/carbine_nym_slugthrower.iff", playerInv, rand(0.8f, 1.1f));
|
|
}
|
|
else if (priCommand.equalsIgnoreCase("nym_weed_signals"))
|
|
{
|
|
groundquests.sendSignal(self, "tallStalkWeedFound");
|
|
groundquests.sendSignal(self, "yellowPodWeedFound");
|
|
groundquests.sendSignal(self, "floweringCactiWeedFound");
|
|
groundquests.sendSignal(self, "lowGrowingWeedsFound");
|
|
groundquests.sendSignal(self, "paddleCactiWeedFound");
|
|
groundquests.sendSignal(self, "hasDisposedOfWeeds");
|
|
}
|
|
else if (priCommand.equalsIgnoreCase("nym_weed_signals_no_disposal"))
|
|
{
|
|
groundquests.sendSignal(self, "tallStalkWeedFound");
|
|
groundquests.sendSignal(self, "yellowPodWeedFound");
|
|
groundquests.sendSignal(self, "floweringCactiWeedFound");
|
|
groundquests.sendSignal(self, "lowGrowingWeedsFound");
|
|
groundquests.sendSignal(self, "paddleCactiWeedFound");
|
|
}
|
|
else if (priCommand.equalsIgnoreCase("remove_sale_flag") && !secCommand.equals(""))
|
|
{
|
|
obj_id secCmd = utils.stringToObjId(secCommand);
|
|
if (!isValidId(secCmd))
|
|
{
|
|
sendSystemMessageTestingOnly(self, "invalid object");
|
|
}
|
|
utils.removeScriptVar(secCmd, "soldAsJunk");
|
|
removeObjVar(secCmd, "soldAsJunk");
|
|
sendSystemMessageTestingOnly(self, "Done");
|
|
}
|
|
}
|
|
}
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
public int spawnTreasure(obj_id self, dictionary params) throws InterruptedException
|
|
{
|
|
obj_id map = self;
|
|
if ((params == null) || (params.isEmpty()))
|
|
{
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
obj_id player = params.getObjId("player");
|
|
int treasureLevel = 90;
|
|
sendSystemMessage(player, SID_SYS_FOUND);
|
|
location playerLocation = getLocation(player);
|
|
playerLocation.y = getHeightAtLocation(playerLocation.x, playerLocation.z);
|
|
sendSystemMessage(self, "Creating Chest", null);
|
|
obj_id treasureChest = createObject(DUMMY_CHEST, playerLocation);
|
|
if (isValidId(treasureChest))
|
|
{
|
|
setObjVar(treasureChest, "owner", player);
|
|
setOwner(treasureChest, player);
|
|
String invis = stealth.getInvisBuff(player);
|
|
if (invis != null)
|
|
{
|
|
stealth.checkForAndMakeVisibleNoRecourse(player);
|
|
}
|
|
attachScript(treasureChest, SCRIPT_DUMMY_CHEST);
|
|
setObjVar(treasureChest, "treasureLevel", treasureLevel);
|
|
String loot_table = LOOT_TABLE_81_90;
|
|
setObjVar(treasureChest, "loot_table", loot_table);
|
|
String type = TREASURE_GUARDS;
|
|
int mobLevel = TREASURE_GUARD_LEVEL;
|
|
int groupModifier = GROUP_MODIFIER;
|
|
int count = ENEMY_COUNT;
|
|
int dataTableIdx = DATATABLE_IDX;
|
|
boolean verifiedAllVars = verifyVariablesNotNull(loot_table, type, mobLevel, groupModifier, count, dataTableIdx);
|
|
if (!verifiedAllVars)
|
|
{
|
|
sendSystemMessage(self, "The treasure chest didn't get all the correct data.", null);
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
dictionary outparams = new dictionary();
|
|
outparams.put("loot_table", loot_table);
|
|
outparams.put("count", count);
|
|
outparams.put("type", type);
|
|
outparams.put("mobLevel", mobLevel);
|
|
outparams.put("location", playerLocation);
|
|
outparams.put("player", player);
|
|
outparams.put("boss_mob", BOSS_MOB);
|
|
sendSystemMessage(self, "Spawning Guards", null);
|
|
messageTo(treasureChest, "spawnTreasureGuards", outparams, 0, false);
|
|
}
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
public boolean verifyVariablesNotNull(String loot_table, String type, int mobLevel, int groupModifier, int count, int datTableIdx) throws InterruptedException
|
|
{
|
|
if (loot_table == null || loot_table.equals(""))
|
|
{
|
|
return false;
|
|
}
|
|
if (type == null || type.equals(""))
|
|
{
|
|
return false;
|
|
}
|
|
if (mobLevel <= 0)
|
|
{
|
|
return false;
|
|
}
|
|
if (groupModifier < 0)
|
|
{
|
|
return false;
|
|
}
|
|
if (count < 2)
|
|
{
|
|
return false;
|
|
}
|
|
if (datTableIdx < 0)
|
|
{
|
|
return false;
|
|
}
|
|
return true;
|
|
}
|
|
public boolean setCitySkillTrainers(obj_id self, int city_id) throws InterruptedException
|
|
{
|
|
if (!isValidId(self) || !exists(self))
|
|
{
|
|
return false;
|
|
}
|
|
if (!cityExists(city_id))
|
|
{
|
|
return false;
|
|
}
|
|
location poiStartLocation = getLocation(self);
|
|
float yaw = getYaw(self);
|
|
String[] arrayOfAllTrianerTemplates = dataTableGetStringColumn(CITY_SKILL_TRAINERS, "TEMPLATE");
|
|
String[] arrayOfAllTrianerStrings = dataTableGetStringColumn(CITY_SKILL_TRAINERS, "STRING");
|
|
sendSystemMessage(self, "Number of Trainers Being Placed: " + arrayOfAllTrianerTemplates.length, null);
|
|
if (arrayOfAllTrianerTemplates.length != arrayOfAllTrianerStrings.length)
|
|
{
|
|
return false;
|
|
}
|
|
for (int i = 0; i < arrayOfAllTrianerTemplates.length; i++)
|
|
{
|
|
location poiLocation = utils.getRandomAwayLocation(poiStartLocation, 5.f, 10.f);
|
|
obj_id poi = createObject(arrayOfAllTrianerTemplates[i], poiLocation);
|
|
if (isValidId(poi) && exists(poi))
|
|
{
|
|
setYaw(poi, yaw);
|
|
setObjVar(poi, "creator", self);
|
|
setName(poi, arrayOfAllTrianerStrings[i]);
|
|
int flags = SF_COST_CITY_LOW | SF_SKILL_TRAINER;
|
|
citySetStructureInfo(city_id, poi, flags, true);
|
|
setObjVar(poi, "city_id", city_id);
|
|
}
|
|
sendSystemMessage(self, arrayOfAllTrianerStrings[i] + " placed.", null);
|
|
}
|
|
return true;
|
|
}
|
|
public boolean destroyCitySkillTrainers(obj_id self, int city_id) throws InterruptedException
|
|
{
|
|
obj_id[] structures = cityGetStructureIds(city_id);
|
|
for (int i = 0; i < structures.length; i++)
|
|
{
|
|
if (structures[i].isLoaded())
|
|
{
|
|
if (!city.isNormalStructure(city_id, structures[i]))
|
|
{
|
|
destroyObject(structures[i]);
|
|
}
|
|
}
|
|
}
|
|
return true;
|
|
}
|
|
public obj_id findTarget(obj_id self) throws InterruptedException
|
|
{
|
|
obj_id intendedTarget = getIntendedTarget(self);
|
|
obj_id lookAtTarget = getLookAtTarget(self);
|
|
obj_id finalTarget = null;
|
|
if (isIdValid(intendedTarget))
|
|
{
|
|
finalTarget = intendedTarget;
|
|
}
|
|
else if (isIdValid(lookAtTarget))
|
|
{
|
|
finalTarget = lookAtTarget;
|
|
}
|
|
else
|
|
{
|
|
finalTarget = self;
|
|
}
|
|
if (!isIdNull(finalTarget))
|
|
{
|
|
return finalTarget;
|
|
}
|
|
return self;
|
|
}
|
|
public int getAdjustedLotCount(String template) throws InterruptedException
|
|
{
|
|
if (template == null || template.equals(""))
|
|
{
|
|
return -1;
|
|
}
|
|
String fp_template = player_structure.getFootprintTemplate(template);
|
|
if (fp_template == null || fp_template.equals(""))
|
|
{
|
|
return -2;
|
|
}
|
|
int idx = player_structure.getStructureTableIndex(template);
|
|
if (idx == -1)
|
|
{
|
|
return -3;
|
|
}
|
|
int ignore_lots = dataTableGetInt(player_structure.PLAYER_STRUCTURE_DATATABLE, idx, player_structure.DATATABLE_COL_NO_LOT_REQ);
|
|
if (ignore_lots != 1)
|
|
{
|
|
int struct_lots = (getNumberOfLots(fp_template) / 4) - dataTableGetInt(player_structure.PLAYER_STRUCTURE_DATATABLE, idx, player_structure.DATATABLE_COL_LOT_REDUCTION);
|
|
if (struct_lots < 1)
|
|
{
|
|
struct_lots = -99;
|
|
}
|
|
return struct_lots;
|
|
}
|
|
return -69;
|
|
}
|
|
public boolean isDeluxSarlacc(obj_id sarlacc) throws InterruptedException
|
|
{
|
|
if (!isValidId(sarlacc) || !exists(sarlacc))
|
|
{
|
|
return false;
|
|
}
|
|
if (!hasObjVar(sarlacc, house_pet.SARLACC_CURRENT_PHASE))
|
|
{
|
|
return false;
|
|
}
|
|
if (!hasObjVar(sarlacc, house_pet.SARLACC_BORN))
|
|
{
|
|
return false;
|
|
}
|
|
if (!hasObjVar(sarlacc, house_pet.SARLACC_PHASE_START))
|
|
{
|
|
return false;
|
|
}
|
|
if (!hasObjVar(sarlacc, house_pet.SARLACC_FEEDING_ITERATION))
|
|
{
|
|
return false;
|
|
}
|
|
if (!hasObjVar(sarlacc, house_pet.SARLACC_LAST_FED))
|
|
{
|
|
return false;
|
|
}
|
|
return true;
|
|
}
|
|
public boolean isMassiffBowl(obj_id massifBowl) throws InterruptedException
|
|
{
|
|
if (!isValidId(massifBowl) || !exists(massifBowl))
|
|
{
|
|
return false;
|
|
}
|
|
if (!hasObjVar(massifBowl, house_pet.MASSIFF_CURRENT_PHASE))
|
|
{
|
|
return false;
|
|
}
|
|
if (!hasObjVar(massifBowl, house_pet.CHILD_OBJ_ID))
|
|
{
|
|
return false;
|
|
}
|
|
if (!hasObjVar(massifBowl, house_pet.MASSIFF_LAST_FED))
|
|
{
|
|
return false;
|
|
}
|
|
return true;
|
|
}
|
|
public String getListOfFoodItems(obj_id sarlacc) throws InterruptedException
|
|
{
|
|
if (!isValidId(sarlacc))
|
|
{
|
|
debugSpeakMsg(sarlacc, "sarlacc invalid");
|
|
return null;
|
|
}
|
|
if (!hasObjVar(sarlacc, house_pet.SARLACC_FEED_ARRAY))
|
|
{
|
|
debugSpeakMsg(sarlacc, "sarlacc doesnt have array objvar.");
|
|
return null;
|
|
}
|
|
String logData = "";
|
|
String[] feedingList = getStringArrayObjVar(sarlacc, house_pet.SARLACC_FEED_ARRAY);
|
|
debugSpeakMsg(sarlacc, "List Length: " + feedingList.length);
|
|
if (feedingList != null && feedingList.length > 0)
|
|
{
|
|
for (int i = 0; i < feedingList.length; i++)
|
|
{
|
|
debugSpeakMsg(sarlacc, "Fed Item: " + i + " " + feedingList[i]);
|
|
logData += " Fed Item " + i + ": " + feedingList[i] + ". ";
|
|
}
|
|
debugSpeakMsg(sarlacc, "Data: " + logData);
|
|
}
|
|
return logData;
|
|
}
|
|
public obj_id getCurrentAdvancedCamp(obj_id player) throws InterruptedException
|
|
{
|
|
obj_id[] objects = getNonCreaturesInRange(player, 25.0f);
|
|
if (objects == null || objects.length == 0)
|
|
{
|
|
return null;
|
|
}
|
|
for (int i = 0; i < objects.length; i++)
|
|
{
|
|
if (hasScript(objects[i], "item.camp.camp_advanced"))
|
|
{
|
|
sendSystemMessageTestingOnly(player, "found script.");
|
|
if (isInTriggerVolume(objects[i], "campsite", player))
|
|
{
|
|
return objects[i];
|
|
}
|
|
else
|
|
{
|
|
sendSystemMessageTestingOnly(player, "no objects found.");
|
|
}
|
|
}
|
|
}
|
|
return null;
|
|
}
|
|
}
|