who isn't sick of converting the freaking scripts? this negates the need

This commit is contained in:
DarthArgus
2015-11-24 09:27:45 -06:00
parent 2e64106bc8
commit bbee2d328c
11077 changed files with 2604347 additions and 3425075 deletions
@@ -0,0 +1,95 @@
package script.systems.spawning.dropship;
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 script.library.ai_lib;
import script.library.create;
import script.library.gcw;
public class lambda extends script.systems.spawning.dropship.base
{
public lambda()
{
}
public int OnAttach(obj_id self) throws InterruptedException
{
messageTo(self, "handleAttachDelay", null, 2f, false);
return super.OnAttach(self);
}
public int handleAttachDelay(obj_id self, dictionary params) throws InterruptedException
{
stop(self);
setPosture(self, POSTURE_PRONE);
messageTo(self, "spawnPayload", null, 20f, true);
queueCommand(self, (-1465754503), self, "", COMMAND_PRIORITY_FRONT);
return SCRIPT_CONTINUE;
}
public int changePosture(obj_id self, dictionary params) throws InterruptedException
{
setPosture(self, POSTURE_UPRIGHT);
messageTo(self, "selfCleanUp", null, 60f, false);
return SCRIPT_CONTINUE;
}
public int spawnPayload(obj_id self, dictionary params) throws InterruptedException
{
String[] spawnNames = utils.getStringArrayScriptVar(self, "spawnNames");
if (spawnNames != null && spawnNames.length > 0)
{
location here = getLocation(self);
if (here != null)
{
int pos = 0;
obj_id leader = null;
Vector spawns = new Vector();
spawns.setSize(0);
for (int i = 0; i < spawnNames.length; i++)
{
obj_id thisSpawn = create.object(spawnNames[i], here);
if (isIdValid(thisSpawn) && !isIdValid(leader))
{
leader = thisSpawn;
spawns = utils.addElement(spawns, thisSpawn);
if (i > 0 && isIdValid(leader))
{
ai_lib.wander(thisSpawn);
attachScript(thisSpawn, "ai.imperial_presence.harass");
}
}
if (isIdValid(thisSpawn))
{
detachScript(leader, "ai.soldier");
setMovementRun(thisSpawn);
utils.removeObjVar(thisSpawn, "ai.diction");
ai_lib.followInFormation(thisSpawn, leader, 4, ++pos);
}
}
if (spawns != null && spawns.size() > 0)
{
dictionary spawnParams = utils.getDictionaryScriptVar(self, "spawnParameters");
if (spawnParams != null && !spawnParams.isEmpty())
{
messageTo(((obj_id)spawns.get(0)), "handleSpawnParameters", spawnParams, 1f, false);
}
}
}
}
messageTo(self, "changePosture", null, 5, false);
return SCRIPT_CONTINUE;
}
public int selfCleanUp(obj_id self, dictionary params) throws InterruptedException
{
if (isIdValid(self))
{
destroyObject(self);
return SCRIPT_CONTINUE;
}
return SCRIPT_CONTINUE;
}
}