mirror of
https://github.com/SWG-Source/dsrc.git
synced 2026-07-14 23:07:51 -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
93 lines
3.4 KiB
Java
Executable File
93 lines
3.4 KiB
Java
Executable File
package script.systems.spawning.dropship;
|
|
|
|
import script.dictionary;
|
|
import script.library.ai_lib;
|
|
import script.library.create;
|
|
import script.library.utils;
|
|
import script.location;
|
|
import script.obj_id;
|
|
|
|
import java.util.Vector;
|
|
|
|
public class lambda extends script.systems.spawning.dropship.base
|
|
{
|
|
public lambda()
|
|
{
|
|
}
|
|
public int OnAttach(obj_id self) throws InterruptedException
|
|
{
|
|
messageTo(self, "handleAttachDelay", null, 2.0f, 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, 20.0f, 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, 60.0f, 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);
|
|
obj_id thisSpawn;
|
|
for (int i = 0; i < spawnNames.length; i++)
|
|
{
|
|
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, 1.0f, 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;
|
|
}
|
|
}
|