Files
dsrc/sku.0/sys.server/compiled/game/script/library/player_version.java
T

106 lines
3.3 KiB
Java

package script.library;
import script.*;
import script.base_class.*;
import script.combat_engine.*;
import java.util.Arrays;
import java.util.Hashtable;
import java.util.Vector;
import script.base_script;
import script.library.utils;
import java.util.Arrays;
import java.util.Vector;
public class player_version extends script.base_script
{
public player_version()
{
}
public static boolean updateSkills(obj_id player) throws InterruptedException
{
if (!isIdValid(player) || (!isPlayer(player)))
{
return false;
}
return true;
}
public static void zeroPlayerSkillData(obj_id player) throws InterruptedException
{
if (!isIdValid(player))
{
return;
}
String[] mods = getSkillStatModListingForPlayer(player);
if ((mods != null) && (mods.length > 0))
{
for (int i = 0; i < mods.length; i++)
{
int val = getSkillStatMod(player, mods[i]);
applySkillStatisticModifier(player, mods[i], -val);
}
}
String[] cmds = getCommandListingForPlayer(player);
if ((cmds != null) && (cmds.length > 0))
{
for (int i = 0; i < cmds.length; i++)
{
revokeCommand(player, cmds[i]);
}
}
int[] schematics = getSchematicListingForPlayer(player);
if ((schematics != null) && (schematics.length > 0))
{
for (int i = 0; i < schematics.length; i++)
{
revokeSchematic(player, schematics[i]);
}
}
}
public static String[] orderSkillListForRevoke(String[] skillList) throws InterruptedException
{
if ((skillList == null) || (skillList.length == 0))
{
return null;
}
Vector ret = new Vector();
for (int i = 0; i < skillList.length; i++)
{
LOG("playerVersion", "ordering skill = " + skillList[i]);
String[] reqs = getSkillPrerequisiteSkills(skillList[i]);
if ((reqs == null) || (reqs.length == 0))
{
LOG("playerVersion", " reqs = null || length = 0... appending...");
ret.add(skillList[i]);
}
else
{
int idx = ret.size();
for (int n = 0; n < reqs.length; n++)
{
LOG("playerVersion", " testing ret for: " + reqs[n]);
int pos = ret.indexOf(reqs[n]);
if (pos > -1)
{
LOG("playerVersion", "** found req(" + reqs[n] + ") at ret idx = " + pos);
if (pos < idx)
{
LOG("playerVersion", "** updating insert idx to " + pos);
idx = pos;
}
}
}
LOG("playerVersion", " - inserting " + skillList[i] + " @ idx = " + idx);
ret.add(idx, skillList[i]);
}
}
if ((ret == null) || (ret.size() == 0))
{
return null;
}
String[] retArray = new String[ret.size()];
ret.toArray(retArray);
return retArray;
}
}