Files
dsrc/sku.0/sys.server/compiled/game/script/test/ttyson_test.java
Tekaoh 5c2e112349 Java 11.0.2 migration (#32)
* Code compiles - execution NOT tested

* updating gitignore

* Removed intellij settings files

* Removed more intellij files

* Added exclusion for JDK classes.

* Fixed purchasing script for vendors that have listed coin types.

* Updated script to not kick off until the entire preload is complete.

* adds static name entry for Solo movie poster and tcg9 vendor entry

* clean up empty and orphaned object templates

* adds placeholder black market (static) spawns

* corrects entries for the video game table to correctly set it in tcg series 2 and remove series 1 console errors

* Updated gitignore and removed intellij project files

* Fixed appearance reference for thranta payroll and kashyyyk door, added skipLosCheck objvar due to cannit see issue. Requires updated src

* Fixed appearance and template for terminal (#2)

* Fixed appearance and template for terminal (#3)

* Fixed appearance and template for terminal (#4)

* Deleted another faulty/orphaned object template

* Fixed gcw ranks option on frog. Only issue is that it doesn't award the officer commands or badges.

* Fixed some unneeded java 11 changes
2019-04-18 18:31:52 -05:00

749 lines
35 KiB
Java
Executable File

package script.test;
import script.dictionary;
import script.library.*;
import script.location;
import script.obj_id;
public class ttyson_test extends script.base.remote_object_requester
{
public ttyson_test()
{
}
public static final String STARTING_EQUIPMENT_FILE = "datatables/equipment/newbie_equipment.iff";
public int OnSpeaking(obj_id self, String text) throws InterruptedException
{
if (true)
{
java.util.StringTokenizer tok = new java.util.StringTokenizer(text);
if (tok.hasMoreTokens())
{
String command = tok.nextToken();
if (command.equalsIgnoreCase("tt_giveQuest"))
{
debugConsoleMsg(self, "hit tt_giveQuest");
if (tok.hasMoreTokens())
{
String questName = tok.nextToken();
int questId = questGetQuestId(questName);
int result = questActivateQuest(questId, self, self);
if (result == 1)
{
String s = "Error: Quest already active.";
debugSpeakMsg(self, s);
}
else if (result == 2)
{
String s = "Error: No such quest.";
debugSpeakMsg(self, s);
}
else if (result == 3)
{
String s = "Error: No such task.";
debugSpeakMsg(self, s);
}
else if (result == 4)
{
String s = "Error: Quest already completed, and not repeatable.";
debugSpeakMsg(self, s);
}
else if (result == 5)
{
String s = "Error: Failed prerequisites.";
debugSpeakMsg(self, s);
}
else if (result == 6)
{
String s = "Error: Failed exclusions.";
debugSpeakMsg(self, s);
}
else if (result == 7)
{
String s = "Error: Quest Not active.";
debugSpeakMsg(self, s);
}
else if (result == 8)
{
String s = "Error: Task not active.";
debugSpeakMsg(self, s);
}
else if (result == 9)
{
String s = "Error: No such player.";
debugSpeakMsg(self, s);
}
}
else
{
debugConsoleMsg(self, "Usage: tt_giveQuest <questname>. i.e. \"tt_giveQuest quest/loot_5_widgets\"");
debugSpeakMsg(self, "Usage: tt_giveQuest <questname>. i.e. \"tt_giveQuest quest/loot_5_widgets\"");
}
}
else if (command.equalsIgnoreCase("tt_grantQuest"))
{
debugConsoleMsg(self, "hit tt_grantQuest");
if (tok.hasMoreTokens())
{
String questName = tok.nextToken();
groundquests.grantQuest(self, questName);
}
}
else if (command.equalsIgnoreCase("tt_clearQuest"))
{
debugConsoleMsg(self, "hit tt_clearQuest");
if (tok.hasMoreTokens())
{
String questName = tok.nextToken();
int questId = questGetQuestId(questName);
questClearQuest(questId, self);
}
else
{
debugConsoleMsg(self, "Usage: tt_clearQuest <questname>. i.e. \"tt_giveQuest quest/loot_5_widgets\"");
debugSpeakMsg(self, "Usage: tt_clearQuest <questname>. i.e. \"tt_giveQuest quest/loot_5_widgets\"");
}
}
else if (command.equalsIgnoreCase("tt_completeTask"))
{
debugConsoleMsg(self, "hit tt_completeTask");
if (tok.hasMoreTokens())
{
String questName = tok.nextToken();
int questId = questGetQuestId(questName);
String taskName = tok.nextToken();
int taskId = utils.stringToInt(taskName);
if (taskId == -1)
{
taskId = groundquests.getTaskId(questId, taskName);
}
questCompleteTask(questId, taskId, self);
}
else
{
debugConsoleMsg(self, "Usage: tt_completeTask <questname> <taskid>. i.e. \"tt_completeTask quest/loot_5_widgets 0\"");
debugSpeakMsg(self, "Usage: tt_completeTask <questname> <taskid>. i.e. \"tt_completeTask quest/loot_5_widgets 0\"");
}
}
else if (command.equalsIgnoreCase("tt_completeAllTasks"))
{
debugConsoleMsg(self, "hit tt_completeAllTasks");
if (tok.hasMoreTokens())
{
String questName = tok.nextToken();
int questId = questGetQuestId(questName);
for (int taskId = 0; taskId < 16; ++taskId)
{
questCompleteTask(questId, taskId, self);
if (questIsQuestComplete(questId, self))
{
break;
}
}
}
else
{
final String usageText = "Usage: tt_completeAllTasks <questname> i.e. \"tt_completeAllTasks quest/loot_5_widgets\"";
debugConsoleMsg(self, usageText);
debugSpeakMsg(self, usageText);
}
}
else if (command.equalsIgnoreCase("tt_failTask"))
{
debugConsoleMsg(self, "hit tt_failTask");
if (tok.hasMoreTokens())
{
String questName = tok.nextToken();
int questId = questGetQuestId(questName);
String taskName = tok.nextToken();
int taskId = utils.stringToInt(taskName);
if (taskId == -1)
{
taskId = groundquests.getTaskId(questId, taskName);
}
questFailTask(questId, taskId, self);
}
else
{
final String usage = "Usage: tt_failTask <questname> <taskid>. i.e. \"tt_failTask quest/loot_5_widgets 0\"";
debugConsoleMsg(self, usage);
debugSpeakMsg(self, usage);
}
}
else if (command.equalsIgnoreCase("tt_completeQuest"))
{
debugConsoleMsg(self, "hit tt_completeQuest");
if (tok.hasMoreTokens())
{
String questName = tok.nextToken();
int questId = questGetQuestId(questName);
questCompleteQuest(questId, self);
}
else
{
debugConsoleMsg(self, "Usage: tt_completeQuest <questname>. i.e. \"tt_giveQuest quest/loot_5_widgets\"");
debugSpeakMsg(self, "Usage: tt_completeQuest <questname>. i.e. \"tt_giveQuest quest/loot_5_widgets\"");
}
}
else if (command.equalsIgnoreCase("tt_sendSignal"))
{
debugConsoleMsg(self, "hit tt_sendSignal");
if (tok.hasMoreTokens())
{
String signalName = tok.nextToken();
groundquests.sendSignal(self, signalName);
}
else
{
final String usage = "Usage: tt_sendSignal <signalName>. i.e. \"tt_sendSignal killed_the_rabbit\"";
debugConsoleMsg(self, usage);
debugSpeakMsg(self, usage);
}
}
else if (command.equalsIgnoreCase("tt_testTaskNames"))
{
debugConsoleMsg(self, "hit tt_testTaskNames");
String questName = "quest/test_encounter";
if (groundquests.isValidQuestName(questName))
{
debugConsoleMsg(self, "valid quest name");
}
int questCrc = questGetQuestId(questName);
int taskId = groundquests.getTaskId(questCrc, "killed_them_rats");
debugConsoleMsg(self, "questCrc=[" + questCrc + "] taskId=[" + taskId + "]");
if (questIsTaskComplete(questCrc, taskId, self))
{
groundquests.sendSignal(self, "testSignal");
debugConsoleMsg(self, "sending signal");
}
else
{
debugConsoleMsg(self, "not sending signal");
}
}
else if (command.equalsIgnoreCase("tt_testRandomLocation"))
{
for (int i = 0; i < 50; ++i)
{
location l = groundquests.getRandom2DLocationAroundPlayer(self, 3, 5);
obj_id object = create.object("object/tangible/gravestone/gravestone01.iff", l);
}
}
else if (command.equalsIgnoreCase("tt_setPendingEscortTarget"))
{
if (tok.hasMoreTokens())
{
String targetString = tok.nextToken();
obj_id target = obj_id.getObjId(java.lang.Long.parseLong(targetString));
if (!groundquests.isEscortTargetReadyForStaticEscortTask(target))
{
debugConsoleMsg(self, "target busy");
}
else
{
groundquests.setPendingStaticEscortTarget(self, target);
debugConsoleMsg(self, "target target set");
}
}
else
{
debugSpeakMsg(self, "Usage: tt_setPendingEscortTarget <targetid>");
}
}
else if (command.equalsIgnoreCase("tt_testSui"))
{
int pid = sui.createSUIPage(sui.SUI_MSGBOX, self, self, "testMessage");
sui.setAutosaveProperty(pid, false);
sui.setSizeProperty(pid, 350, 275);
sui.setLocationProperty(pid, 100, 100);
sui.setSoundProperty(pid, "sound/tut_00_congratulations.snd");
setSUIProperty(pid, sui.MSGBOX_TITLE, sui.PROP_TEXT, "Hello");
String prompt = "";
for (int i = 0; i < 100; ++i)
{
prompt += "This is a long string. ";
}
setSUIProperty(pid, sui.MSGBOX_PROMPT, sui.PROP_TEXT, prompt);
sui.msgboxButtonSetup(pid, sui.OK_ONLY);
sui.showSUIPage(pid);
}
else if (command.equalsIgnoreCase("tt_time"))
{
debugSpeakMsg(self, "getGameTime() = " + getGameTime());
debugSpeakMsg(self, "getPlayerPlayedTime() = " + getPlayerPlayedTime(self));
}
else if (command.equalsIgnoreCase("tt_go"))
{
location loc = new location(-1259, 0, -3552, "tatooine", null);
addLocationTarget("hello", loc, 5);
debugSpeakMsg(self, "Added a location target");
}
else if (command.equalsIgnoreCase("tt_newbie"))
{
giveNewbieEquipment(self);
giveNewbieSkills(self);
debugSpeakMsg(self, "Newbie setup complete.");
}
else if (command.equalsIgnoreCase("tt_yaw"))
{
float yaw = utils.stringToFloat(tok.nextToken());
setYaw(self, yaw);
debugSpeakMsg(self, "Set yaw to " + yaw);
}
else if (command.equalsIgnoreCase("tt_testcwd"))
{
dictionary dict = new dictionary();
dict.put("Me", self);
replaceClusterWideData("tony_manager", "test", dict, true, 0);
debugSpeakMsg(self, "Setting data in CWD object");
}
else if (command.equalsIgnoreCase("tt_remoteCreate"))
{
remoteCreate("space_tatooine", "syren5_cal_handro", 0, 0, 0);
debugSpeakMsg(self, "Requesting remote object creation data from the CWD object");
}
else if (command.equalsIgnoreCase("tt_heading"))
{
enableLogLocationHeading(self);
}
else if (command.equalsIgnoreCase("tt_worrt"))
{
float playerRadius = getObjectCollisionRadius(self);
float objectRadius = 3;
float offset = playerRadius;
location heading = getHeading(self);
for (int i = 0; i < 4; ++i)
{
offset += objectRadius;
location spawnLocation = getLocation(self);
spawnLocation.x += heading.x * offset;
spawnLocation.z += heading.z * offset;
create.object("worrt", spawnLocation);
}
}
else if (command.equalsIgnoreCase("tt_ai_stop"))
{
final obj_id target = getLookAtTarget(self);
if (isValidId(target) && target != self)
{
ai_lib.setDefaultCalmBehavior(target, ai_lib.BEHAVIOR_SENTINEL);
}
}
else if (command.equalsIgnoreCase("tt_ai_go"))
{
final obj_id target = getLookAtTarget(self);
if (isValidId(target) && target != self)
{
ai_lib.setDefaultCalmBehavior(target, ai_lib.BEHAVIOR_LOITER);
}
}
else if (command.equalsIgnoreCase("tt_giveSpace"))
{
debugConsoleMsg(self, "hit tt_giveSpace");
if (tok.hasMoreTokens())
{
String missionType = tok.nextToken();
String missionName = tok.nextToken();
space_quest.grantQuest(self, missionType, missionName);
}
else
{
String usage = "Usage: tt_giveSpace <missionType> <missionName>. i.e. \"tt_giveSpace assassinate npe_hard_main_3a\"";
debugConsoleMsg(self, usage);
debugSpeakMsg(self, usage);
}
}
else if (command.equalsIgnoreCase("tt_winSpace"))
{
debugConsoleMsg(self, "hit tt_winSpace");
if (tok.hasMoreTokens())
{
String missionType = tok.nextToken();
String missionName = tok.nextToken();
obj_id quest = space_quest._getQuest(self, missionType, missionName);
space_quest.setQuestWon(self, quest);
}
else
{
String usage = "Usage: tt_winSpace <missionType> <missionName>. i.e. \"tt_winSpace assassinate npe_hard_main_3a\"";
debugConsoleMsg(self, usage);
debugSpeakMsg(self, usage);
}
}
else if (command.equalsIgnoreCase("tt_failSpace"))
{
debugConsoleMsg(self, "hit tt_failSpace");
if (tok.hasMoreTokens())
{
String missionType = tok.nextToken();
String missionName = tok.nextToken();
obj_id quest = space_quest._getQuest(self, missionType, missionName);
space_quest.setQuestFailed(self, quest);
}
else
{
String usage = "Usage: tt_failSpace <missionType> <missionName>. i.e. \"tt_failSpace assassinate npe_hard_main_3a\"";
debugConsoleMsg(self, usage);
debugSpeakMsg(self, usage);
}
}
else if (command.equalsIgnoreCase("tt_abortSpace"))
{
debugConsoleMsg(self, "hit tt_abortSpace");
if (tok.hasMoreTokens())
{
String missionType = tok.nextToken();
String missionName = tok.nextToken();
obj_id quest = space_quest._getQuest(self, missionType, missionName);
space_quest.setQuestAborted(self, quest);
}
else
{
String usage = "Usage: tt_abortSpace <missionType> <missionName>. i.e. \"tt_abortSpace assassinate npe_hard_main_3a\"";
debugConsoleMsg(self, usage);
debugSpeakMsg(self, usage);
}
}
else if (command.equalsIgnoreCase("tt_instantTravel"))
{
String planet = getCurrentSceneName();
boolean result = enterClientTicketPurchaseMode(self, planet, "point1", true);
if (result)
{
debugSpeakMsg(self, "enterClientTicketPurchaseMode 1 succeeded");
}
else
{
debugSpeakMsg(self, "enterClientTicketPurchaseMode 1 failed");
}
}
else if (command.equalsIgnoreCase("tt_purchaseTicket"))
{
String planet = getCurrentSceneName();
boolean result = enterClientTicketPurchaseMode(self, planet, "point2", false);
if (result)
{
debugSpeakMsg(self, "enterClientTicketPurchaseMode 2 succeeded");
}
else
{
debugSpeakMsg(self, "enterClientTicketPurchaseMode 2 failed");
}
}
else if (command.equalsIgnoreCase("tt_testpob"))
{
LOG("tt_testpob", "getLocation() = " + getLocation(self));
LOG("tt_testpob", "getTopMostContainer() = " + getTopMostContainer(self));
LOG("tt_testpob", "getContainedBy() = " + getContainedBy(self));
}
else if (command.equalsIgnoreCase("tt_hyperspaceBlock"))
{
int duration = -1;
if (tok.hasMoreTokens())
{
duration = utils.stringToInt(tok.nextToken());
}
space_utils.setHyperspaceBlock(self, duration, true);
}
else if (command.equalsIgnoreCase("tt_travelBlock"))
{
if (utils.hasScriptVar(self, "travelBlock"))
{
LOG("TTYSON_LOG", "removing travelBlock");
utils.removeScriptVar(self, "travelBlock");
}
else
{
int value = 0;
if (tok.hasMoreTokens())
{
value = Math.max(0, utils.stringToInt(tok.nextToken()));
}
LOG("TTYSON_LOG", "setting travelBlock to " + value);
utils.setScriptVar(self, "travelBlock", value);
}
}
else if (command.equalsIgnoreCase("tt_highlight"))
{
newbieTutorialHighlightUIElement(self, "/GroundHUD.Toolbar.Toolbar.volume.1", 7.0f);
}
else if (command.equalsIgnoreCase("tt_openInventory"))
{
final obj_id target = getIntendedTarget(self);
if (isValidId(target))
{
obj_id inv = utils.getInventoryContainer(target);
queueCommand(self, (1880585606), inv, "", COMMAND_PRIORITY_DEFAULT);
}
}
else if (command.equalsIgnoreCase("tt_openContainer"))
{
obj_id container = obj_id.NULL_ID;
if (tok.hasMoreTokens())
{
container = utils.stringToObjId(tok.nextToken());
}
if (!isValidId(container))
{
container = getIntendedTarget(self);
}
if (!isValidId(container))
{
container = getLookAtTarget(self);
}
if (isValidId(container))
{
queueCommand(self, (1880585606), container, "", COMMAND_PRIORITY_DEFAULT);
}
}
else if (command.equalsIgnoreCase("tt_createStaticIn"))
{
if (tok.hasMoreTokens())
{
obj_id container = obj_id.NULL_ID;
String staticItemName = tok.nextToken();
if (tok.hasMoreTokens())
{
container = utils.stringToObjId(tok.nextToken());
}
if (!isValidId(container))
{
container = getIntendedTarget(self);
}
if (!isValidId(container))
{
container = getLookAtTarget(self);
}
if (isValidId(container))
{
static_item.createNewItemFunction(staticItemName, container);
}
}
else
{
String usage = "Usage: tt_createStaticIn <staticItemName> [container]";
debugConsoleMsg(self, usage);
debugSpeakMsg(self, usage);
}
}
else if (command.equalsIgnoreCase("tt_testDebugSpeak"))
{
for (int i = 0; i < 10; ++i)
{
debugSpeakMsg(self, "debugSpeakMsg test " + i);
}
}
else if (command.equalsIgnoreCase("tt_makeVendor"))
{
obj_id vendor = create.object("vendor", getLocation(self));
debugConsoleMsg(self, "vendor = " + vendor);
obj_id buyBox = create.object("object/tangible/test/buy_box.iff", utils.getInventoryContainer(vendor), false, false);
debugConsoleMsg(self, "buyBox = " + buyBox);
for (int i = 0; i < 10; ++i)
{
obj_id token = static_item.createNewItemFunction("item_heroic_token_axkva_01_01", buyBox);
attachScript(token, "test.buy_box");
}
}
else if (command.equalsIgnoreCase("tt_makeVendor2"))
{
obj_id vendor = create.object("vendor", getLocation(self));
debugConsoleMsg(self, "vendor = " + vendor);
obj_id backpack = create.object("object/tangible/wearables/backpack/backpack_s01.iff", vendor, false, false);
debugConsoleMsg(self, "backpack = " + backpack);
obj_id buyBox = create.object("object/tangible/test/buy_box.iff", backpack, false, false);
debugConsoleMsg(self, "buyBox = " + buyBox);
for (int i = 0; i < 10; ++i)
{
obj_id token = static_item.createNewItemFunction("item_heroic_token_axkva_01_01", buyBox);
attachScript(token, "test.buy_box");
}
}
else if (command.equalsIgnoreCase("tt_turret"))
{
obj_id turret1 = create.object("object/installation/turret/generic_turret_block_sm.iff", getLocation(self));
if (isIdValid(turret1))
{
setInvulnerable(turret1, false);
setObjVar(turret1, turret.OBJVAR_CAN_ATTACK, "allPlayers");
}
}
else if (command.equalsIgnoreCase("tt_clientEffectLoc"))
{
final obj_id target = getIntendedTarget(self);
if (isValidId(target))
{
playClientEffectLoc(self, "clienteffect/bacta_bomb.cef", getLocation(target), 0);
}
}
else if (command.equalsIgnoreCase("tt_clientProjectile"))
{
final obj_id target = getIntendedTarget(self);
if (isValidId(target))
{
createClientProjectile(self, "object/weapon/ranged/pistol/shared_pistol_dl44.iff", getLocation(self), getLocation(target), 30, 4, true, 255, 0, 0, 255);
}
}
else if (command.equalsIgnoreCase("tt_checkHouse"))
{
final obj_id target = getIntendedTarget(self);
if (isValidId(target))
{
debugConsoleMsg(self, "canShowPackOption = " + player_structure.canShowPackOption(self, target));
if (!utils.checkConfigFlag("GameServer", "allowPlayersToPackAbandonedStructures"))
{
debugConsoleMsg(self, "allowPlayersToPackAbandonedStructures = false");
}
if (!player_structure.isAbandoned(target))
{
debugConsoleMsg(self, "isAbandoned = false");
}
if (utils.isFreeTrial(self))
{
debugConsoleMsg(self, "isFreeTrial = true");
}
if (!isCommoditiesServerAvailable())
{
debugConsoleMsg(self, "isCommoditiesServerAvailable = false");
}
}
}
}
}
return SCRIPT_CONTINUE;
}
public int OnPurchaseTicketInstantTravel(obj_id self, obj_id player, String departPlanetName, String departTravelPointName, String arrivePlanetName, String arriveTravelPointName, boolean roundTrip) throws InterruptedException
{
debugSpeakMsg(self, "OnPurchaseTicketInstantTravel: entered");
debugSpeakMsg(self, departPlanetName);
debugSpeakMsg(self, departTravelPointName);
debugSpeakMsg(self, arrivePlanetName);
debugSpeakMsg(self, arriveTravelPointName);
debugSpeakMsg(self, roundTrip ? "roundtrip" : "not roundtrip");
return SCRIPT_CONTINUE;
}
public int OnPurchaseTicket(obj_id self, obj_id player, String departPlanetName, String departTravelPointName, String arrivePlanetName, String arriveTravelPointName, boolean roundTrip) throws InterruptedException
{
debugSpeakMsg(self, "OnPurchaseTicket: entered");
debugSpeakMsg(self, departPlanetName);
debugSpeakMsg(self, departTravelPointName);
debugSpeakMsg(self, arrivePlanetName);
debugSpeakMsg(self, arriveTravelPointName);
debugSpeakMsg(self, roundTrip ? "roundtrip" : "not roundtrip");
return SCRIPT_CONTINUE;
}
public int OnAttach(obj_id self) throws InterruptedException
{
if (!isGod(self) || getGodLevel(self) < 50 || !isPlayer(self)) {
detachScript(self, "test.ttyson_test");
}
return SCRIPT_CONTINUE;
}
public int handleFailedStructurePackup(obj_id self, dictionary params) throws InterruptedException
{
debugSpeakMsg(self, "handleFailedStructurePackup()");
debugConsoleMsg(self, "handleFailedStructurePackup()");
return SCRIPT_CONTINUE;
}
public int testMessage(obj_id self, dictionary params) throws InterruptedException
{
debugSpeakMsg(self, "TestMessage messageHandler hit");
java.util.Enumeration keys = params.keys();
while (keys.hasMoreElements())
{
String key = (String)keys.nextElement();
String value = params.getString(key);
debugConsoleMsg(self, key + " = " + value);
}
int pageId = params.getInt("pageId");
if (pageId >= 0)
{
String questCrcVar = "ttyson_test.questCrc." + pageId;
String taskIdVar = "ttyson_test.taskId." + pageId;
String questCrc = utils.getStringScriptVar(self, questCrcVar);
String taskId = utils.getStringScriptVar(self, taskIdVar);
debugConsoleMsg(self, "questCrc = " + questCrc);
debugConsoleMsg(self, "taskId = " + taskId);
utils.removeScriptVar(self, questCrcVar);
utils.removeScriptVar(self, taskId);
}
return SCRIPT_CONTINUE;
}
public int startPerform(obj_id self, dictionary params) throws InterruptedException
{
return SCRIPT_CONTINUE;
}
public int stopPerform(obj_id self, dictionary params) throws InterruptedException
{
return SCRIPT_CONTINUE;
}
public int logLocationHeading(obj_id self, dictionary params) throws InterruptedException
{
LOG("ttyson_test", "Location = " + (getLocation(self)).toString());
LOG("ttyson_test", "Heading = " + (getHeading(self)).toString());
enableLogLocationHeading(self);
return SCRIPT_CONTINUE;
}
public void enableLogLocationHeading(obj_id target) throws InterruptedException
{
messageTo(target, "logLocationHeading", null, 5, false);
}
public int OnArrivedAtLocation(obj_id self, String locationName) throws InterruptedException
{
groundquests.questOutputDebugLog("ttyson_test", "OnArrivedAtLocation", "Arrived at " + locationName);
return SCRIPT_CONTINUE;
}
public void giveNewbieEquipment(obj_id player) throws InterruptedException
{
String profession = "all_professions";
obj_id bank = utils.getInventoryContainer(player);
if (!isIdValid(bank))
{
LOG("newbie", "BAD: cannot locate new player's bank");
return;
}
if (!dataTableHasColumn(STARTING_EQUIPMENT_FILE, profession))
{
LOG("newbie", "BAD: cannot locate starting equip for profession: " + profession);
return;
}
String[] items = dataTableGetStringColumnNoDefaults(STARTING_EQUIPMENT_FILE, profession);
if (items == null)
{
LOG("newbie", "no items");
}
else if (items.length < 1)
{
LOG("newbie", "no items");
}
for (String item : items) {
LOG("newbie", "NEWBIE STARTING EQUIP MAKING: " + item);
obj_id newItem = null;
if (item.startsWith("object/weapon/")) {
newItem = weapons.createWeapon(item, bank, 0.75f);
} else if (item.startsWith("object/tangible/medicine")) {
newItem = createObject("object/tangible/medicine/instant_stimpack/stimpack_noob.iff", bank, "");
if (isIdValid(newItem)) {
setCount(newItem, 5);
setObjVar(newItem, "healing.power", 250);
}
} else {
newItem = createObject(item, bank, "");
}
if (!isIdValid(newItem)) {
LOG("newbie", "BAD: could not create newbie equipment item " + item);
} else {
pclib.autoInsureItem(newItem);
}
}
}
public void giveNewbieSkills(obj_id player) throws InterruptedException
{
skill.grantSkillToPlayer(player, "combat_marksman_novice");
skill.grantSkillToPlayer(player, "combat_brawler_novice");
skill.grantSkillToPlayer(player, "science_medic_novice");
skill.grantSkillToPlayer(player, "outdoors_scout_novice");
skill.grantSkillToPlayer(player, "crafting_artisan_novice");
skill.grantSkillToPlayer(player, "social_entertainer_novice");
}
}