mirror of
https://github.com/SWG-Source/dsrc.git
synced 2026-08-02 02:15:48 -04:00
* 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
101 lines
3.0 KiB
Java
Executable File
101 lines
3.0 KiB
Java
Executable File
package script.working.jfreeman;
|
|
|
|
import script.library.create;
|
|
import script.library.factions;
|
|
import script.library.utils;
|
|
import script.location;
|
|
import script.obj_id;
|
|
|
|
import java.util.Vector;
|
|
|
|
public class wartest extends script.base_script
|
|
{
|
|
public wartest()
|
|
{
|
|
}
|
|
public int OnAttach(obj_id self) throws InterruptedException
|
|
{
|
|
utils.removeScriptVar(self, "myWarriors");
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
public int OnSpeaking(obj_id self, String txt) throws InterruptedException
|
|
{
|
|
switch (txt) {
|
|
case "go":
|
|
if (!utils.hasScriptVar(self, "myWarriors")) {
|
|
spawnGroup(self, "group1", 20);
|
|
spawnGroup(self, "group2", -20);
|
|
} else {
|
|
debugSpeakMsg(self, "already going");
|
|
}
|
|
break;
|
|
case "fight":
|
|
startFight(self);
|
|
break;
|
|
case "stop":
|
|
killWarriors(self);
|
|
break;
|
|
}
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
public void spawnGroup(obj_id chris, String group, int offset) throws InterruptedException
|
|
{
|
|
Vector warriors = new Vector();
|
|
warriors.setSize(0);
|
|
if (utils.hasScriptVar(chris, "myWarriors"))
|
|
{
|
|
warriors = utils.getResizeableObjIdArrayScriptVar(chris, "myWarriors");
|
|
}
|
|
location groupLoc = new location(getLocation(chris));
|
|
groupLoc.x += offset;
|
|
for (int i = 0; i < 50; i++)
|
|
{
|
|
obj_id npc = create.object("pirate", groupLoc);
|
|
warriors = utils.addElement(warriors, npc);
|
|
factions.setFaction(npc, group);
|
|
}
|
|
utils.setScriptVar(chris, "myWarriors", warriors);
|
|
}
|
|
public void killWarriors(obj_id chris) throws InterruptedException
|
|
{
|
|
if (!utils.hasScriptVar(chris, "myWarriors"))
|
|
{
|
|
debugSpeakMsg(chris, "none spawned");
|
|
return;
|
|
}
|
|
obj_id[] warriors = utils.getObjIdArrayScriptVar(chris, "myWarriors");
|
|
if (warriors.length < 100)
|
|
{
|
|
debugSpeakMsg(chris, "not done spawning yet " + warriors.length);
|
|
return;
|
|
}
|
|
for (obj_id warrior : warriors) {
|
|
if (exists(warrior)) {
|
|
destroyObject(warrior);
|
|
}
|
|
}
|
|
utils.removeScriptVar(chris, "myWarriors");
|
|
}
|
|
public void startFight(obj_id chris) throws InterruptedException
|
|
{
|
|
if (!utils.hasScriptVar(chris, "myWarriors"))
|
|
{
|
|
debugSpeakMsg(chris, "no warriors");
|
|
return;
|
|
}
|
|
obj_id[] warriors = utils.getObjIdArrayScriptVar(chris, "myWarriors");
|
|
if (warriors.length < 100)
|
|
{
|
|
debugSpeakMsg(chris, "not done spawning yet");
|
|
return;
|
|
}
|
|
for (int i = 0; i < 50; i++)
|
|
{
|
|
if (exists(warriors[i]) && exists(warriors[i + 50]))
|
|
{
|
|
startCombat(warriors[i], warriors[i + 50]);
|
|
}
|
|
}
|
|
}
|
|
}
|