Files
dsrc/sku.0/sys.server/compiled/game/script/test/mboudreaux_test.script
T

1058 lines
28 KiB
Plaintext

// ======================================================================
include library.ai_lib;
include library.create;
include library.groundquests;
include library.locations;
include library.pclib;
include library.skill;
include library.space_quest;
include library.space_utils;
include library.static_item;
include library.utils;
include library.weapons;
include library.chat;
include library.npe;
include library.xp;
include library.dump;
include library.combat;
include library.sui;
include library.regions;
include library.prose;
inherits base.remote_object_requester;
// ======================================================================
const string FINISH_PLANET = "tatooine";
const float FINISH_X = 3528.0f;
const float FINISH_Z = -4804.0f;
const string PGC_QUEST_CONTROL_DEVICE = "object/intangible/saga_system/sage_intangible_holocron.iff";
const int PQ_TASK_FINISHED = 2; // This is value comes from the comments in base_class.java
const int PQ_TASK_INACTIVE = 4;
// ======================================================================
// Hello World
trigger OnSpeaking(String text)
{
if (true) //isGod(self))
{
//debugConsoleMsg( self, "mboudreaux_test OnSpeaking: " + text );
java.util.StringTokenizer tok = new java.util.StringTokenizer (text);
if (tok.hasMoreTokens ())
{
String command = tok.nextToken ();
//debugConsoleMsg( self, "command is: " + command);
// ----------------------------------------------------------------------
if(command.equalsIgnoreCase ("mb_performance"))
{
if(tok.hasMoreTokens())
{
int rounds = 50;
float totalCanSee = 0;
float totalCached = 0;
long frequency = queryPerformanceCounterFrequency();
if(frequency == 0L)
frequency = 1L;
dictionary localDict = new dictionary();
//for(int i = 0; i < 500; ++i)
// localDict.put("cachedCanSeeDummy" + i, true);
//int randAdd = rand(0, 100);
String value = tok.nextToken();
long lValue = Long.parseLong(value);
obj_id target = getObjIdWithNull(lValue);
int iterations = 1000;
// Optional Iterations param
if(tok.hasMoreTokens())
{
value = tok.nextToken();
iterations = Integer.parseInt(value);
}
for(int j = 0; j < rounds; ++j)
{
// Target
long startTimeCanSee = queryPerformanceCounter();
for(int i = 0; i < iterations; ++i)
{
boolean ret = canSee(self, target);
}
long endTimeCanSee = queryPerformanceCounter();
long startTimeLocalCache = queryPerformanceCounter();
boolean cacheValue = canSee(self, target);
localDict.put("cachedCanSee"/* + randAdd*/, cacheValue);
for(int i = 0; i < iterations; ++i)
{
boolean cache = localDict.getBoolean("cachedCanSee"/*+ randAdd*/);
localDict.remove("cachedCanSee"/*+ randAdd*/);
localDict.put("cachedCanSee"/*+ randAdd*/, cache);
}
long endTimeLocalCache = queryPerformanceCounter();
totalCanSee += (float)(endTimeCanSee - startTimeCanSee) / (float)frequency;
totalCached += (float)(endTimeLocalCache - startTimeLocalCache) / (float)frequency;
}
//debugConsoleMsg(self, "Iterations = " + iterations + " canSee Time: " + (endTimeCanSee - startTimeCanSee) + " cached Time:" + (endTimeLocalCache - startTimeLocalCache));
debugConsoleMsg(self, "Average Times for " + rounds + " of " + iterations + " iterations each were: canSee (" + totalCanSee + "), Java Cache ("+ totalCached + ")");
}
return SCRIPT_CONTINUE;
}
if(command.equalsIgnoreCase("mb_addObjectEffect"))
{
vector vec = new vector(0.0f, 0.0f, 0.0f);
if(tok.hasMoreTokens())
{
string object = tok.nextToken();
string filename = tok.nextToken();
string scale = tok.nextToken();
string label = tok.nextToken();
float scaleFloat = Float.parseFloat(scale);
long object_id = Long.parseLong(object);
addObjectEffect(getObjIdWithNull(object_id), filename, "head", vec, scaleFloat, label);
}
else
{
addObjectEffect(self, "appearance/pt_green_fire_base.prt", "head", vec, 0.25f, "TestGreenFire");
}
return SCRIPT_CONTINUE;
}
if(command.equalsIgnoreCase("mb_removeObjectEffect"))
{
if(tok.hasMoreTokens())
{
string object = tok.nextToken();
string label = tok.nextToken();
long object_id = Long.parseLong(object);
removeObjectEffect(getObjIdWithNull(object_id), label);
}
else
{
removeObjectEffect(self, "TestGreenFire");
}
return SCRIPT_CONTINUE;
}
if(command.equalsIgnoreCase("mb_hasObjectEffect"))
{
if(tok.hasMoreTokens())
{
string object = tok.nextToken();
string label = tok.nextToken();
long object_id = Long.parseLong(object);
debugConsoleMsg(self, "Has Effect = " + hasObjectEffect(getObjIdWithNull(object_id), label));
}
else
{
debugConsoleMsg(self, "Has Effect = " + hasObjectEffect(self, "TestGreenFire"));
}
return SCRIPT_CONTINUE;
}
if (command.equalsIgnoreCase ("mb_stand"))
{
debugConsoleMsg(self, "hit mb_stand");
setPosture(self, POSTURE_UPRIGHT);
}
if ( command.equalsIgnoreCase ("mb_warp"))
{
debugConsoleMsg(self, "hit mb_warp");
warpPlayer(self, FINISH_PLANET, FINISH_X, 0, FINISH_Z, null, 0.0f, 0.0f, 0.0f, null, false);
}
if ( command.equalsIgnoreCase ("mb_goodloc"))
{
debugConsoleMsg(self, "hit mb_goodloc");
location locLowerLeft = new location();
locLowerLeft.x = 200+20;
locLowerLeft.z = 200+20;
location locUpperRight = new location();
locUpperRight.x = 200+40;
locUpperRight.z = 200+40;
location goodLoc = getGoodLocationAvoidCollidables(15.0f, 15.0f, locLowerLeft, locUpperRight, false, false, 5.0f);
if(goodLoc == null)
{
debugConsoleMsg(self, "did NOT find goodLocation");
}
else
{
debugConsoleMsg(self, "did find goodlocation");
}
}
if ( command.equalsIgnoreCase ("mb_acklay"))
{
debugConsoleMsg(self, "hit mb_acklay");
debugConsoleMsg(self, "It's morphing time!");
setObjectAppearance(self, "object/mobile/shared_mutant_acklay.iff");
}
if ( command.equalsIgnoreCase ("mb_rancor"))
{
debugConsoleMsg(self, "hit mb_rancor");
debugConsoleMsg(self, "It's morphing time!");
setObjectAppearance(self, "object/mobile/shared_mutant_rancor.iff");
}
if ( command.equalsIgnoreCase ("mb_boba"))
{
debugConsoleMsg(self, "hit mb_boba");
debugConsoleMsg(self, "It's morphing time!");
setObjectAppearance(self, "object/mobile/shared_boba_fett.iff");
}
if( command.equalsIgnoreCase ("mb_revert"))
{
debugConsoleMsg(self, "hit mb_revert");
revertObjectAppearance(self);
}
if( command.equalsIgnoreCase ("mb_states"))
{
debugConsoleMsg(self, "hit mb_states");
debugConsoleMsg(self, "Disguised State: " + getState(self, 35));
debugConsoleMsg(self, "Acid Burned State: " + getState(self, 38));
debugConsoleMsg(self, "Energy Burned State: " + getState(self, 39));
}
if( command.equalsIgnoreCase ("mb_acidBurned"))
{
debugConsoleMsg(self, "hit mb_acidBurned");
int active = getState(self, 38);
if(active == 0)
{
setState(self, 38, true);
}
else
{
setState(self, 38, false);
}
}
if( command.equalsIgnoreCase ("mb_energyBurned"))
{
debugConsoleMsg(self, "hit mb_energyBurned");
int active = getState(self, 39);
if(active == 0)
{
setState(self, 39, true);
}
else
{
setState(self, 39, false);
}
}
if( command.equalsIgnoreCase ("mb_helmetbackpack"))
{
debugConsoleMsg(self, "hit mb_helmetbackpack");
debugConsoleMsg(self, "Helmet: " + isPlayerHelmetHidden(self));
debugConsoleMsg(self, "Backpack: " + isPlayerBackpackHidden(self));
}
else if (command.equalsIgnoreCase("mb_ticket"))
{
enterClientTicketPurchaseMode(self, "tatooine", "Starport", false);
return SCRIPT_CONTINUE;
}
else if (command.equalsIgnoreCase("mb_clientProjectileObjToObj"))
{
debugConsoleMsg(self, "hit mb_clientProjectileObjToObj");
const obj_id target = getIntendedTarget(self);
if (isValidId(target))
{
createClientProjectileObjectToObject(self, "object/weapon/ranged/pistol/shared_pistol_dl44.iff", self, "hold_r", target, "hold_l", 30.0f, 4.0f, true, 255, 0, 0, 255);
}
}
else if (command.equalsIgnoreCase("mb_clientProjectileLocToObj"))
{
debugConsoleMsg(self, "hit mb_clientProjectileLocToObj");
const obj_id target = getIntendedTarget(self);
if (isValidId(target))
{
createClientProjectileLocationToObject(self, "object/weapon/ranged/pistol/shared_pistol_dl44.iff", getLocation(self), target, "hold_l", 30.0f, 4.0f, true, 255, 0, 0, 255);
}
}
else if (command.equalsIgnoreCase("mb_clientProjectileObjToLoc"))
{
debugConsoleMsg(self, "hit mb_clientProjectileObjToLoc");
const obj_id target = getIntendedTarget(self);
if (isValidId(target))
{
createClientProjectileObjectToLocation(self, "object/weapon/ranged/pistol/shared_pistol_dl44.iff", self, "hold_r", getLocation(target), 30.0f, 4.0f, true, 255, 0, 0, 255);
}
}
else if (command.equalsIgnoreCase("mb_override"))
{
debugConsoleMsg(self, "hit mb_override");
if(tok.hasMoreTokens())
{
String action = tok.nextToken();
overrideDefaultAttack(self, action);
}
}
else if (command.equalsIgnoreCase("mb_clearoverride"))
{
debugConsoleMsg(self, "hit mb_clearoverride");
removeDefaultAttackOverride(self);
}
else if (command.equalsIgnoreCase("mb_getoverride"))
{
debugConsoleMsg(self, "Current override: " + getDefaultAttackOverrideActionName(self) );
}
else if (command.equalsIgnoreCase("mb_setMC"))
{
debugConsoleMsg(self, "Hit mb_setMC");
const obj_id target = getIntendedTarget(self);
addMissionCriticalObject(self, target);
}
else if (command.equalsIgnoreCase("mb_triggerRadius"))
{
debugConsoleMsg(self, "Hit mb_triggerRadius");
const obj_id target = getIntendedTarget(self);
updateNetworkTriggerVolume(target, 512.0f);
}
else if (command.equalsIgnoreCase("mb_hologram"))
{
if(tok.hasMoreTokens())
{
String value = tok.nextToken();
int intValue = Integer.parseInt(value);
obj_id target = getIntendedTarget(self);
setHologramType(target, intValue);
}
}
else if (command.equalsIgnoreCase("mb_isContainedByPA"))
{
obj_id target = null;
if(tok.hasMoreTokens())
{
String value = tok.nextToken();
long lValue = Long.parseLong(value);
target = getObjIdWithNull(lValue);
}
if(!isIdValid(target))
return SCRIPT_CONTINUE;
debugConsoleMsg(self, "isContainedByPlayerAppearanceInv: " + isContainedByPlayerAppearanceInventory(self, target));
}
else if (command.equalsIgnoreCase("mb_getAllPAItems"))
{
obj_id [] allItems = getAllItemsFromAppearanceInventory(self);
debugConsoleMsg(self, "Found " + allItems.length + " total items.");
for(int i = 0; i < allItems.length; ++i)
{
debugConsoleMsg(self, "Item [" + i + "] " + allItems[i]);
}
}
else if (command.equalsIgnoreCase("mb_animate"))
{
obj_id target = getIntendedTarget(self);
if(tok.hasMoreTokens())
{
String value = tok.nextToken();
doAnimationAction(target, value);
}
}
else if (command.equalsIgnoreCase("mb_custom"))
{
obj_id target = null;
if(tok.hasMoreTokens())
{
String value = tok.nextToken();
long lValue = Long.parseLong(value);
target = getObjIdWithNull(lValue);
}
custom_var[] allVars = getAllCustomVars(target);
debugConsoleMsg(self, "Var length = " + allVars.length );
if(allVars.length == 1)
openCustomizationWindow(self, target, allVars[0].getVarName(), -1, -1, "", -1, -1, "", -1, -1, "", -1, -1);
else if (allVars.length == 2)
openCustomizationWindow(self, target, allVars[0].getVarName(), 0, 10, allVars[1].getVarName(), -1, -1, "", -1, -1, "", -1, -1);
else if (allVars.length == 3)
openCustomizationWindow(self, target, allVars[0].getVarName(), -1, -1, allVars[1].getVarName(), -1, -1, allVars[2].getVarName(), -1, -1, "", -1, -1);
else if (allVars.length == 4)
openCustomizationWindow(self, target, allVars[0].getVarName(), -1, -1, allVars[1].getVarName(), -1, -1, allVars[2].getVarName(), -1, -1, allVars[3].getVarName(), -1, -1);
}
else if (command.equalsIgnoreCase("mb_table"))
{
String type = "";
if(tok.hasMoreTokens())
{
type = tok.nextToken();
}
if(type.equalsIgnoreCase("column"))
{
string title = "My Guild";
string prompt = "This is my prompt. Text is going in here!";
string[] colTitles = {"Name", "Guild Rank", "PvP Kills", "Last Login Date"};
string[] colTypes = {"text", "text", "integer", "text"};
string[][] data = {{"PlayerA", "PlayerB", "PlayerC", "PlayerD", "PlayerE"},
{"Awesome Dude", "Great Dude", "Okay Dude", "Meh Dude", "Poor Dude"},
{"200", "150", "100", "50", "0"},
{"01/04/2009", "01/03/2009", "01/02/2009", "01/01/2009", "01/05/2009"}};
int id = sui.table(self, self, sui.OK_CANCEL, title, "tableHandler", prompt, colTitles, colTypes, data, false, true);
debugConsoleMsg(self, "Table PID is " + id);
}
else if (type.equalsIgnoreCase("row"))
{
string title = "My Table";
string [] colTitles = {"Name", "Weight", "BMI", "BMI"};
string [] colTypes = {"text", "integer", "percent", "text"};
string [][] data = {{"John", "180", "12", "12"},
{"Steve","190", "20", "12"},
{"Andy", "230", "40", "12"}};
int id = sui.table(self, self, sui.OK_CANCEL, title, "tableHandler", null, colTitles, colTypes, data, true, false);
debugConsoleMsg(self, "Table PID is " + id);
}
}
else if (command.equalsIgnoreCase("mb_holiday"))
{
obj_id target = getIntendedTarget(self);
if(isIdValid(target))
setCondition(target, CONDITION_HOLIDAY_INTERESTING);
}
else if (command.equalsIgnoreCase("mb_addAccess"))
{
obj_id target = getIntendedTarget(self);
obj_id user = self;
if(tok.hasMoreTokens())
{
String value = tok.nextToken();
long lValue = Long.parseLong(value);
user = getObjIdWithNull(lValue);
}
if(isIdValid(target))
addUserToAccessList(target, user);
}
else if (command.equalsIgnoreCase("mb_addGuildAccess"))
{
debugConsoleMsg(self, "Hit mb_addGuildAccess");
obj_id target = getIntendedTarget(self);
int lValue = 0;
if(tok.hasMoreTokens())
{
String value = tok.nextToken();
lValue = Integer.parseInt(value);
debugConsoleMsg(self, "Parsed out guild value of " + lValue);
}
if(isIdValid(target))
{
debugConsoleMsg(self, "Adding Guild " + lValue + " to object " + target);
addGuildToAccessList(target, lValue);
}
}
else if (command.equalsIgnoreCase("mb_removeAccess"))
{
obj_id target = getIntendedTarget(self);
obj_id user = self;
if(tok.hasMoreTokens())
{
String value = tok.nextToken();
long lValue = Long.parseLong(value);
user = getObjIdWithNull(lValue);
}
if(isIdValid(target))
removeUserFromAccessList(target, user);
}
else if (command.equalsIgnoreCase("mb_clearAccess"))
{
obj_id target = getIntendedTarget(self);
if(isIdValid(target))
clearUserAccessList(target);
}
else if (command.equalsIgnoreCase("mb_getUserAccess"))
{
obj_id [] items = getUserAccessList(getIntendedTarget(self));
if(items != null && items.length > 0)
{
for(int i = 0; i < items.length; ++i)
debugConsoleMsg(self, "User: " + items[i]);
}
}
else if (command.equalsIgnoreCase("mb_getGuildAccess"))
{
int [] items = getGuildAccessList(getIntendedTarget(self));
if(items != null && items.length > 0)
{
for(int i = 0; i < items.length; ++i)
debugConsoleMsg(self, "Guild: " + items[i]);
}
}
else if (command.equalsIgnoreCase("mb_getObjects"))
{
obj_id [] items = getObjectsInRange(self, 64.0f);
if(items != null && items.length > 0)
{
for(int i = 0; i < items.length; ++i)
debugConsoleMsg(self, "Object in range: " + items[i]);
}
}
else if (command.equalsIgnoreCase("mb_getCreatureObjects"))
{
obj_id [] items = getCreaturesInRange(self, 64.0f);
if(items != null && items.length > 0)
{
for(int i = 0; i < items.length; ++i)
debugConsoleMsg(self, "Creature Object in range: " + items[i]);
}
}
else if (command.equalsIgnoreCase("mb_loc"))
{
obj_id user = self;
if(tok.hasMoreTokens())
{
String value = tok.nextToken();
long lValue = Long.parseLong(value);
user = getObjIdWithNull(lValue);
}
location myLoc = getLocation(user);
debugConsoleMsg(self, "Location Info: " + myLoc);
}
else if (command.equalsIgnoreCase("mb_dynamic"))
{
location myLoc = getLocation(self);
debugConsoleMsg(self, "Attempting to create dynamic spawn at " + myLoc);
obj_id newRegion = createCircleRegionWithSpawn(myLoc, 50.0f, "mboudreaux2", 0, 0, 0, 0, 10, 20, 1, 0, true, false, "datatables/dynamic_region_spawns/banthatest.iff", 3);
debugConsoleMsg(self, "New Region = " + newRegion);
}
else if (command.equalsIgnoreCase("mb_removedynamic"))
{
region[] regionsHere = getRegionsAtPoint(getLocation(self));
if ( regionsHere != null && regionsHere.length > 0 )
{
for ( int i = 0; i < regionsHere.length; i++ )
{
region currentRegion = regionsHere[i];
string regionName = currentRegion.getName();
if(regionName.equals("mboudreaux2"))
{
debugConsoleMsg(self, "Found region, removing it");
deleteRegion(currentRegion);
}
}
}
}
else if (command.equalsIgnoreCase("mb_pq"))
{
obj_id entry = createPlayerQuestObjectInInventory(self);
if(isIdValid(entry))
{
setPlayerQuestTitle(entry, "Matt's Super Kill Extravaganza");
setPlayerQuestDescription(entry, "Kill lots of stuff. For fun!");
setPlayerQuestDifficulty(entry, 90);
}
debugConsoleMsg(self, "PQ OID: " + entry);
}
else if (command.equalsIgnoreCase("mb_addTask"))
{
obj_id pq = self;
if(tok.hasMoreTokens())
{
String value = tok.nextToken();
long lValue = Long.parseLong(value);
pq = getObjIdWithNull(lValue);
}
boolean returnVal = false;
if(tok.hasMoreTokens())
returnVal = addPlayerQuestTask(pq, "Matt's Kill Task", "I hate kreetles! Go kill 10 of them!", 10, getLocation(self));
else
returnVal = addPlayerQuestTask(pq, "Matt's Kill Task", "I hate kreetles! Go kill 10 of them!", 10, null);
debugConsoleMsg(self, "Added task = " + returnVal);
}
else if (command.equalsIgnoreCase("mb_getTasks"))
{
obj_id pq = self;
if(tok.hasMoreTokens())
{
String value = tok.nextToken();
long lValue = Long.parseLong(value);
pq = getObjIdWithNull(lValue);
}
String[] tasks = getPlayerQuestTasks(pq);
if(tasks != null && tasks.length > 0)
{
for(int i = 0; i < tasks.length; ++i)
debugConsoleMsg(self, "Task " + i + ":" + tasks[i]);
}
}
else if (command.equalsIgnoreCase("mb_taskStatus"))
{
obj_id pq = self;
if(tok.hasMoreTokens())
{
String value = tok.nextToken();
long lValue = Long.parseLong(value);
pq = getObjIdWithNull(lValue);
}
if(tok.hasMoreTokens())
{
String value = tok.nextToken();
int iValue = Integer.parseInt(value);
debugConsoleMsg(self, "Status for Index " + iValue + " is " + getPlayerQuestTaskStatus(pq, iValue));
}
else
{
int[] status = getAllPlayerQuestTaskStatus(pq);
if(status != null && status.length > 0)
{
for(int i = 0; i < status.length; ++i)
debugConsoleMsg(self, "Task " + i + " status = " + status[i]);
}
}
}
else if (command.equalsIgnoreCase("mb_pqLevel"))
{
obj_id pq = self;
if(tok.hasMoreTokens())
{
String value = tok.nextToken();
long lValue = Long.parseLong(value);
pq = getObjIdWithNull(lValue);
}
if(tok.hasMoreTokens())
{
String value = tok.nextToken();
int iValue = Integer.parseInt(value);
setPlayerQuestDifficulty(pq, iValue);
debugConsoleMsg(self, "Level for PQ " + pq + " is now " + iValue);
}
}
else if (command.equalsIgnoreCase("mb_pqActivate"))
{
obj_id pq = self;
if(tok.hasMoreTokens())
{
String value = tok.nextToken();
long lValue = Long.parseLong(value);
pq = getObjIdWithNull(lValue);
}
else
return SCRIPT_CONTINUE;
obj_id datapad = utils.getPlayerDatapad(self);
if(isIdValid(datapad))
{
obj_id controlDevice = createObject(PGC_QUEST_CONTROL_DEVICE, datapad, "");
if(isIdValid(controlDevice))
{
putIn(pq, controlDevice, self);
debugConsoleMsg(self, "PQ Activated");
}
else
debugConsoleMsg(self, "Failed to create PQ control device.");
}
}
else if (command.equalsIgnoreCase("mb_pqCounter"))
{
obj_id pq = self;
if(tok.hasMoreTokens())
{
String value = tok.nextToken();
long lValue = Long.parseLong(value);
pq = getObjIdWithNull(lValue);
}
if(tok.hasMoreTokens())
{
String value = tok.nextToken();
int index = Integer.parseInt(value);
value = tok.nextToken();
int iValue = Integer.parseInt(value);
setPlayerQuestTaskCounter(pq, index, iValue);
debugConsoleMsg(self, "Level for PQ " + pq + " is now " + iValue);
}
}
else if (command.equalsIgnoreCase("mb_pqWaypoint"))
{
obj_id pq = self;
if(tok.hasMoreTokens())
{
String value = tok.nextToken();
long lValue = Long.parseLong(value);
pq = getObjIdWithNull(lValue);
}
if(tok.hasMoreTokens())
{
String value = tok.nextToken();
int index = Integer.parseInt(value);
debugConsoleMsg(self, "Waypoint for index " + index + " is " + getPlayerQuestWaypoint(pq, index));
}
}
else if (command.equalsIgnoreCase("mb_pqComplete"))
{
obj_id pq = self;
if(tok.hasMoreTokens())
{
String value = tok.nextToken();
long lValue = Long.parseLong(value);
pq = getObjIdWithNull(lValue);
}
if(tok.hasMoreTokens())
{
String value = tok.nextToken();
int index = Integer.parseInt(value);
debugConsoleMsg(self, "Marking PQ Task " + index + " as completed.");
setPlayerQuestTaskStatus(pq, index, PQ_TASK_FINISHED);
}
}
else if (command.equalsIgnoreCase("mb_pqInactive"))
{
obj_id pq = self;
if(tok.hasMoreTokens())
{
String value = tok.nextToken();
long lValue = Long.parseLong(value);
pq = getObjIdWithNull(lValue);
}
if(tok.hasMoreTokens())
{
String value = tok.nextToken();
int index = Integer.parseInt(value);
debugConsoleMsg(self, "Marking PQ Task " + index + " as inactive.");
setPlayerQuestTaskStatus(pq, index, PQ_TASK_INACTIVE);
}
}
else if (command.equalsIgnoreCase("mb_rating"))
{
openRatingWindow(self, "Some Title", "Some Description!");
}
else if (command.equalsIgnoreCase("mb_recipe"))
{
obj_id pq = self;
if(tok.hasMoreTokens())
{
String value = tok.nextToken();
long lValue = Long.parseLong(value);
pq = getObjIdWithNull(lValue);
}
else
return SCRIPT_CONTINUE;
setPlayerQuestRecipe(pq, true);
debugConsoleMsg(self, "PQ Recipe set.");
}
else if (command.equalsIgnoreCase("mb_addRecipeData"))
{
obj_id pq = self;
if(tok.hasMoreTokens())
{
String value = tok.nextToken();
long lValue = Long.parseLong(value);
pq = getObjIdWithNull(lValue);
}
else
return SCRIPT_CONTINUE;
if(tok.hasMoreTokens())
{
String data = tok.nextToken();
addPlayerQuestTaskRecipeData(pq, data);
debugConsoleMsg(self, "Recipe data added.");
}
}
else if (command.equalsIgnoreCase("mb_filter"))
{
debugConsoleMsg(self, filterText(text));
}
else if (command.equalsIgnoreCase("mb_editRecipe"))
{
obj_id pq = self;
if(tok.hasMoreTokens())
{
String value = tok.nextToken();
long lValue = Long.parseLong(value);
pq = getObjIdWithNull(lValue);
openPlayerQuestRecipe(self, pq);
}
}
else if (command.equalsIgnoreCase("mb_resetRecipe"))
{
obj_id pq = self;
if(tok.hasMoreTokens())
{
String value = tok.nextToken();
long lValue = Long.parseLong(value);
pq = getObjIdWithNull(lValue);
resetAllPlayerQuestData(pq);
setPlayerQuestTitle(pq, "Matt's Super Kill Extravaganza");
setPlayerQuestDescription(pq, "Kill lots of stuff. For fun!");
setPlayerQuestDifficulty(pq, 90);
addPlayerQuestTask(pq, "Matt's Kill Task", "I hate kreetles! Go kill 10 of them!", 10, null);
setPlayerQuestCreator(pq, self);
}
}
else if (command.equalsIgnoreCase("mb_commTest"))
{
string message_string = "\\#FF0000Hi %NT also known as %TT";
prose_package pp = new prose_package ();
string_id message_base = new string_id ("saga_system","holocron_string_message");
pp = prose.getPackage(message_base, self, self);
prose.setTO(pp, message_string);
prose.setTT(pp, self);
string appearance = "object/mobile/boba_fett.iff";
commPlayerQuest(self, self, pp, appearance);
}
else if (command.equalsIgnoreCase("mb_gots"))
{
debugConsoleMsg(self, "GOT_chronicles_relic = " + GOT_chronicles_relic);
debugConsoleMsg(self, "GOT_chronicles_chronicle = " + GOT_chronicles_chronicle);
debugConsoleMsg(self, "GOT_chronicles_quest_holocron = " + GOT_chronicles_quest_holocron);
debugConsoleMsg(self, "GOT_chornicles_quest_holocron_recipe = " + GOT_chronicles_quest_holocron_recipe);
debugConsoleMsg(self, "GOT_chronicles_relic_fragment = " + GOT_chronicles_relic_fragment);
return SCRIPT_CONTINUE;
}
}
}
return SCRIPT_CONTINUE;
}
// ----------------------------------------------------------------------
messageHandler tableHandler()
{
debugConsoleMsg(self, "handler hit. Params = " + params);
debugConsoleMsg(self, "Visual Index = " + sui.getTableSelectedRow(params) + " Logic Index = " + sui.getTableLogicalIndex(params));
return SCRIPT_CONTINUE;
}
trigger OnAttach()
{
return SCRIPT_CONTINUE;
}
messageHandler startPerform()
{
//LOG("QUEST_DEBUG", "startPerform");
return SCRIPT_CONTINUE;
}
// ----------------------------------------------------------------------
messageHandler stopPerform()
{
//LOG("QUEST_DEBUG", "stopPerform");
return SCRIPT_CONTINUE;
}
messageHandler OnCreateSaga()
{
debugConsoleMsg(self, "Params = " + params.toString());
return SCRIPT_CONTINUE;
}
trigger OnRatingFinished(int rating)
{
debugConsoleMsg(self, "OnRatingFinished: Params = " + rating);
return SCRIPT_CONTINUE;
}
trigger OnAbandonPlayerQuest(obj_id playerQuest)
{
debugConsoleMsg(self, "OnAbandonPlayerQuest: Params = " + playerQuest);
return SCRIPT_CONTINUE;
}
// ----------------------------------------------------------------------