mirror of
https://github.com/SWG-Source/dsrc.git
synced 2026-09-11 22:45:06 -04:00
who isn't sick of converting the freaking scripts? this negates the need
This commit is contained in:
@@ -0,0 +1,111 @@
|
||||
package script.working.jfreeman;
|
||||
|
||||
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.create;
|
||||
import script.library.factions;
|
||||
import script.library.utils;
|
||||
import script.ai.ai_combat;
|
||||
|
||||
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
|
||||
{
|
||||
if (txt.equals("go"))
|
||||
{
|
||||
if (!utils.hasScriptVar(self, "myWarriors"))
|
||||
{
|
||||
spawnGroup(self, "group1", 20);
|
||||
spawnGroup(self, "group2", -20);
|
||||
}
|
||||
else
|
||||
{
|
||||
debugSpeakMsg(self, "already going");
|
||||
}
|
||||
}
|
||||
else if (txt.equals("fight"))
|
||||
{
|
||||
startFight(self);
|
||||
}
|
||||
else if (txt.equals("stop"))
|
||||
{
|
||||
killWarriors(self);
|
||||
}
|
||||
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 (int i = 0; i < warriors.length; i++)
|
||||
{
|
||||
if (exists(warriors[i]))
|
||||
{
|
||||
destroyObject(warriors[i]);
|
||||
}
|
||||
}
|
||||
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]);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user