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

465 lines
9.8 KiB
Plaintext

// ======================================================================
include library.ai_lib;
include library.create;
include library.groundquests;
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.buff;
inherits base.remote_object_requester;
// ======================================================================
const string FINISH_PLANET = "tatooine";
const float FINISH_X = 3528.0f;
const float FINISH_Z = -4804.0f;
const String MINIGAME_PARAM_RESULT = "result";
const String MINIGAME_VARNAME_GAME = "game";
const String MINIGAME_VARNAME_SCORE = "score";
const String MINIGAME_VARNAME_TABLE = "table";
const String MINIGAME_VARNAME_PLAYER = "player";
const String MINIGAME_GAMENAME_MAHJONG = "mahjong";
const String MINIGAME_VARNAME_MAHJONG_LAYOUT = "layout";
// ======================================================================
const string [] COMMAND_LIST =
{"sw_remove_mods",
"sw_kill",
"sw_buff_apply",
"sw_buff_remove",
"sw_buff_list",
"sw_scriptvar_set",
"sw_scriptvar_list",
"sw_scriptvar_remove",
"sw_garbage_collect",
"sw_objid_isvalid",
"sw_mahjong"};
trigger OnSpeaking(String text)
{
if (true) //isGod(self))
{
java.util.StringTokenizer tok = new java.util.StringTokenizer (text);
if (tok.hasMoreTokens ())
{
String command = tok.nextToken ();
//debugConsoleMsg( self, "command is: " + command);
// ----------------------------------------------------------------------
if(command.equalsIgnoreCase ("sw_list_commands"))
{
String outstring = "commands possible:";
for(int i = 0; i <COMMAND_LIST.length; i++)
{
outstring += " " + COMMAND_LIST[i];
}
debugConsoleMsg(self, outstring);
}
if (command.equalsIgnoreCase ("sw_remove_mods"))
{
debugConsoleMsg(self, "hit sw_remove_mods");
obj_id oid = self;
if(tok.hasMoreTokens ())
{
oid = utils.stringToObjId(tok.nextToken());
}
removeAllAttributeAndSkillmodMods(oid);
debugConsoleMsg(self, "removing mods from OID " + oid);
debugConsoleMsg(oid, "mods removed by " + self);
} //sw_remove_buffs
if ( command.equalsIgnoreCase ("sw_kill"))
{
debugConsoleMsg(self, "hit sw_kill");
obj_id oid = self;
if(tok.hasMoreTokens ())
{
oid = utils.stringToObjId(tok.nextToken());
}
kill(oid);
debugConsoleMsg(self, "killing OID " + oid);
debugConsoleMsg(oid, "killed by " + self);
} //sw_kill
if ( command.equalsIgnoreCase ("sw_buff_apply"))
{
debugConsoleMsg(self, "hit sw_buff_apply");
obj_id oid = self;
if(tok.hasMoreTokens ())
{
String buffname = tok.nextToken();
if(tok.hasMoreTokens ())
{
oid = utils.stringToObjId(tok.nextToken());
}
if(buff.applyBuff(oid,buffname))
{
debugConsoleMsg(self, "buff " + buffname + " applied to " + oid);
debugConsoleMsg(oid, "buff " + buffname + " applied by " + self);
}
else
{
debugConsoleMsg(self, "failed to apply buff " + buffname + " to " + oid);
}
}
else
{
debugConsoleMsg(self, "usage: sw_buff_apply <buffname> [target oid]");
}
} //sw_buff_apply
if ( command.equalsIgnoreCase ("sw_buff_remove"))
{
debugConsoleMsg(self, "hit sw_buff_remove");
obj_id oid = self;
if(tok.hasMoreTokens ())
{
String buffname = tok.nextToken();
if(tok.hasMoreTokens ())
{
oid = utils.stringToObjId(tok.nextToken());
}
if(buff.removeBuff(oid,buffname))
{
debugConsoleMsg(self, "buff " + buffname + " removed from " + oid);
debugConsoleMsg(oid, "buff " + buffname + " removed by " + self);
}
else
{
debugConsoleMsg(self, "failed to remove buff " + buffname + " to " + oid);
}
}
else
{
debugConsoleMsg(self, "usage: sw_buff_remove <buffname> [target oid]");
}
} //sw_buff_remove
if ( command.equalsIgnoreCase ("sw_buff_list"))
{
debugConsoleMsg(self, "hit sw_buff_list");
obj_id oid = self;
if(tok.hasMoreTokens ())
{
oid = utils.stringToObjId(tok.nextToken());
}
int[] buffcrcs = buff.getAllBuffs(oid);
String outstring = "Buffs on " + oid;
for(int i = 0; i < buffcrcs.length; i++)
{
outstring += " " + buff.getBuffNameFromCrc(buffcrcs[i]);
}
debugConsoleMsg(self, outstring);
} //sw_buff_list
if ( command.equalsIgnoreCase ("sw_scriptvar_set"))
{
debugConsoleMsg(self, "hit sw_scriptvar_set");
obj_id oid = self;
String scriptvarname = "test.swyckoff";
int value = 1;
if(tok.hasMoreTokens ())
{
oid = utils.stringToObjId(tok.nextToken());
}
if(tok.hasMoreTokens ())
{
scriptvarname = tok.nextToken();
}
if(tok.hasMoreTokens ())
{
value = utils.stringToInt(tok.nextToken());
}
utils.setScriptVar(oid, scriptvarname, value);
} //sw_scriptvar_set
if ( command.equalsIgnoreCase ("sw_scriptvar_list"))
{
debugConsoleMsg(self, "hit sw_scriptvar_list");
obj_id oid = self;
if(tok.hasMoreTokens ())
{
oid = utils.stringToObjId(tok.nextToken());
}
debugConsoleMsg(self, "showScriptVars: target = " + oid);
deltadictionary delta = oid.getScriptVars();
if ( delta == null )
{
debugConsoleMsg(self, "NONE!");
}
else
{
debugConsoleMsg(self, "dd = " + delta.toString());
}
} //sw_scriptvar_list
if ( command.equalsIgnoreCase ("sw_scriptvar_remove"))
{
debugConsoleMsg(self, "hit sw_test_scriptvar_remove");
obj_id oid = self;
String scriptvarname = "test.swyckoff";
int value = 1;
if(tok.hasMoreTokens ())
{
scriptvarname = tok.nextToken();
}
if(tok.hasMoreTokens ())
{
value = utils.stringToInt(tok.nextToken());
}
utils.removeScriptVar(oid, scriptvarname);
} //sw_test_scriptvar_remove
if ( command.equalsIgnoreCase ("sw_garbage_collect"))
{
debugConsoleMsg(self, "hit sw_garbage_collect");
System.gc();
} //sw_garbage_collect
if ( command.equalsIgnoreCase ("sw_objid_isvalid"))
{
debugConsoleMsg(self, "hit sw_objid_isvalid");
if(tok.hasMoreTokens ())
{
obj_id oid = utils.stringToObjId(tok.nextToken());
if(isIdValid(oid))
{
debugConsoleMsg(self, "the obj_id " + oid + " is valid.");
}
else
{
debugConsoleMsg(self, "the obj_id " + oid + " is NOT valid.");
}
}
else
{
debugConsoleMsg(self, "requires an id to verify");
}
} //sw_objid_isvalid
if ( command.equalsIgnoreCase ("sw_mahjong"))
{
debugConsoleMsg(self, "hit sw_mahjong");
dictionary data = new dictionary();
data.put(MINIGAME_VARNAME_GAME, MINIGAME_GAMENAME_MAHJONG);
data.put(MINIGAME_VARNAME_TABLE, obj_id.NULL_ID);
if(tok.hasMoreTokens ())
{
String actionType = tok.nextToken();
obj_id player = self;
if(tok.hasMoreTokens())
{
player = utils.stringToObjId(tok.nextToken());
if(isIdValid(player))
{
obj_id owneroid = null;
if(tok.hasMoreTokens ())
{
owneroid = utils.stringToObjId(tok.nextToken());
data.put(MINIGAME_VARNAME_TABLE, owneroid);
}
}
else
{
debugConsoleMsg(self, "target is not valid");
}
}
else
{
if(clientMinigameOpen(self, data))
{
debugConsoleMsg(self, "no target, opened minigame on self");
}
else
{
debugConsoleMsg(self, "no target, failed to open minigame on self");
}
}
if(isIdValid(player))
{
if(actionType.equalsIgnoreCase("open"))
{
if(clientMinigameOpen(player, data))
{
debugConsoleMsg(self, "opened minigame on " + player);
}
else
{
debugConsoleMsg(self, "failed to open minigame on " + player);
}
}
else if(actionType.equalsIgnoreCase("close"))
{
clientMinigameClose(player, data);
}
}
}
} //sw_mahjong
/*
if ( command.equalsIgnoreCase ("sw_debug_objid"))
{
debugConsoleMsg(self, "hit sw_debug_objid");
boolean on = false;
if( tok.hasMoreTokens())
{
int val = utils.stringToInt(tok.nextToken());
on = val != 0;
}
obj_id.DEBUG = on;
} //sw_debug_objid
*/
}
}
return SCRIPT_CONTINUE;
}
// ----------------------------------------------------------------------
trigger OnAttach()
{
debugConsoleMsg(self, "attached swyckoff_test");
return SCRIPT_CONTINUE;
}
messageHandler startPerform()
{
//LOG("QUEST_DEBUG", "startPerform");
return SCRIPT_CONTINUE;
}
// ----------------------------------------------------------------------
messageHandler stopPerform()
{
//LOG("QUEST_DEBUG", "stopPerform");
return SCRIPT_CONTINUE;
}
// ----------------------------------------------------------------------
messageHandler clientMinigameResult()
{
debugConsoleMsg(self, "minigame params: " + params.toString());
dictionary data = params.getDictionary(MINIGAME_PARAM_RESULT);
int score = data.getInt(MINIGAME_VARNAME_SCORE);
obj_id player = data.getObjId(MINIGAME_VARNAME_PLAYER);
String layout = data.getString(MINIGAME_VARNAME_MAHJONG_LAYOUT);
int dummy = data.getInt("missing");
debugConsoleMsg(self, "minigame result: " + player + " score " + score + " layout " + layout);
return SCRIPT_CONTINUE;
}
// ----------------------------------------------------------------------