mirror of
https://github.com/SWG-Source/dsrc.git
synced 2026-07-31 00:15:54 -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
74 lines
2.3 KiB
Java
Executable File
74 lines
2.3 KiB
Java
Executable File
package script.item.firework;
|
|
|
|
import script.dictionary;
|
|
import script.library.firework;
|
|
import script.library.utils;
|
|
import script.location;
|
|
import script.obj_id;
|
|
|
|
public class launcher extends script.base_script
|
|
{
|
|
public launcher()
|
|
{
|
|
}
|
|
public int handleFireworkLaunch(obj_id self, dictionary params) throws InterruptedException
|
|
{
|
|
if (params == null || params.isEmpty())
|
|
{
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
obj_id player = params.getObjId("player");
|
|
if (!isIdValid(player))
|
|
{
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
String[] fxs = params.getStringArray("fx");
|
|
float[] delays = params.getFloatArray("delay");
|
|
if (fxs == null || fxs.length == 0 || delays == null || delays.length == 0)
|
|
{
|
|
firework.dud(player);
|
|
destroyObject(self);
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
if (fxs.length != delays.length)
|
|
{
|
|
firework.dud(player);
|
|
destroyObject(self);
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
int idx = params.getInt("idx");
|
|
if (idx >= fxs.length)
|
|
{
|
|
destroyObject(self);
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
location here = getLocation(self);
|
|
location there = utils.getRandomLocationInRing(here, 0.5f, 1.0f);
|
|
if (there == null)
|
|
{
|
|
there = (location)here.clone();
|
|
}
|
|
params.put("loc", there);
|
|
String fx = fxs[idx];
|
|
String template = dataTableGetString(firework.TBL_FX, fx, "template");
|
|
if (template == null || template.equals(""))
|
|
{
|
|
template = dataTableGetString(firework.TBL_FX, "default", "template");
|
|
}
|
|
obj_id ignition = createObject(template, there);
|
|
if (isIdValid(ignition))
|
|
{
|
|
attachScript(ignition, firework.SCRIPT_FIREWORK_CLEANUP);
|
|
}
|
|
float delay = delays[idx];
|
|
if (delay < firework.SHOW_DELAY_MIN)
|
|
{
|
|
delay = firework.SHOW_DELAY_MIN;
|
|
}
|
|
idx++;
|
|
params.put("idx", idx);
|
|
messageTo(self, firework.HANDLER_FIREWORK_LAUNCH, params, delay, false);
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
}
|