Files
TekaohandGitHub 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

163 lines
7.6 KiB
Java
Executable File

package script.beta;
import script.library.factions;
import script.library.utils;
import script.obj_id;
import java.util.StringTokenizer;
public class pvp_test extends script.base_script
{
public pvp_test()
{
}
public int OnAttach(obj_id self) throws InterruptedException
{
sendSystemMessageTestingOnly(self, "PvP debug script attached.");
return SCRIPT_CONTINUE;
}
public int OnSpeaking(obj_id self, String text) throws InterruptedException
{
if (text.startsWith("pvp "))
{
java.util.StringTokenizer st = new java.util.StringTokenizer(toLower(text));
String arg = st.nextToken();
obj_id target = getLookAtTarget(self);
if (target == null || target == obj_id.NULL_ID)
{
sendSystemMessageTestingOnly(self, "PVP_STATUS: no target designated. assuming target = self");
target = self;
}
if (st.hasMoreTokens())
{
do
{
arg = st.nextToken();
switch (arg) {
case "status":
int type = pvpGetType(target);
int faction = pvpGetAlignedFaction(target);
String sType = "neutral";
String sFaction = "mercenary";
switch (type) {
case PVPTYPE_NEUTRAL:
break;
case PVPTYPE_COVERT:
sType = "covert";
break;
case PVPTYPE_DECLARED:
sType = "declared";
break;
default:
sType = "type_other";
break;
}
switch (faction) {
case 0:
sFaction = "mercenary";
break;
case (370444368):
sFaction = "rebel";
break;
case (-615855020):
sFaction = "imperial";
break;
default:
sFaction = "faction_other";
break;
}
sendSystemMessageTestingOnly(self, getName(target) + "(" + target + ") is a " + sType + " " + sFaction);
displayEnemyFlags(self, target);
break;
case "enemyTo":
displayEnemyFlags(self, target);
break;
case "unalign":
case "mercenary":
sendSystemMessageTestingOnly(self, getName(target) + "(" + target + "): faction set UNALIGNED");
pvpSetAlignedFaction(target, 0);
break;
case "rebel":
sendSystemMessageTestingOnly(self, getName(target) + "(" + target + "): faction set REBEL");
pvpSetAlignedFaction(target, (370444368));
break;
case "imperial":
sendSystemMessageTestingOnly(self, getName(target) + "(" + target + "): faction set IMPERIAL");
pvpSetAlignedFaction(target, (-615855020));
break;
case "neutral":
sendSystemMessageTestingOnly(self, getName(target) + "(" + target + "): type set NEUTRAL");
pvpMakeNeutral(target);
break;
case "covert":
sendSystemMessageTestingOnly(self, getName(target) + "(" + target + "): type set COVERT");
pvpMakeCovert(target);
break;
case "declared":
sendSystemMessageTestingOnly(self, getName(target) + "(" + target + "): type set DECLARED");
pvpMakeDeclared(target);
break;
case "clear":
sendSystemMessageTestingOnly(self, getName(target) + "(" + target + "): clearing temp enemy flags");
pvpRemoveAllTempEnemyFlags(target);
break;
case "faction":
sendSystemMessageTestingOnly(self, getName(target) + "(" + target + "): " + factions.getFaction(target));
break;
case "nonaggressive":
pvpMakeNeutral(target);
pvpSetAlignedFaction(target, (221551254));
pvpMakeDeclared(target);
sendSystemMessageTestingOnly(self, getName(target) + "(" + target + "): " + factions.getFaction(target));
break;
}
} while (st.hasMoreTokens());
}
}
return SCRIPT_CONTINUE;
}
public boolean displayEnemyFlags(obj_id player, obj_id target) throws InterruptedException
{
if (!isIdValid(target))
{
return false;
}
String[] enemies = pvpGetEnemyFlags(target);
if (enemies != null)
{
for (String enemy : enemies) {
StringTokenizer st = new StringTokenizer(enemy);
String sTarget = st.nextToken();
String sTargetName = getPlayerName(utils.stringToObjId(sTarget));
String sTefFac = st.nextToken();
int iTefFac = utils.stringToInt(sTefFac);
String sTefFacName = "<unknown>";
if (iTefFac == (-526735576)) {
sTefFacName = "battlefield";
} else if (iTefFac == (1183528962)) {
sTefFacName = "duel";
} else if (iTefFac == (-429740311)) {
sTefFacName = "bountyduel";
} else if (iTefFac == (221551254)) {
sTefFacName = "nonaggressive";
} else if (iTefFac == (-160237431)) {
sTefFacName = "unattackable";
} else if (iTefFac == (84709322)) {
sTefFacName = "bountytarget";
} else if (iTefFac == (-1526926610)) {
sTefFacName = "guildwarcooldownperiod";
} else if (iTefFac == (-615855020)) {
sTefFacName = "imperial";
} else if (iTefFac == (370444368)) {
sTefFacName = "rebel";
} else if (iTefFac == (-377582139)) {
sTefFacName = "bubblecombat";
}
String sExpiration = st.nextToken();
sendSystemMessageTestingOnly(player, "(" + player + " " + getName(player) + ") Enemy Flag: [" + sTarget + " (" + sTargetName + "), " + sTefFac + " (" + sTefFacName + "), " + sExpiration + "ms" + "]");
}
}
return true;
}
}