mirror of
https://github.com/SWG-Source/dsrc.git
synced 2026-07-29 23:15:55 -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
83 lines
2.7 KiB
Java
Executable File
83 lines
2.7 KiB
Java
Executable File
package script.event.ep3demo;
|
|
|
|
import script.dictionary;
|
|
import script.library.ai_lib;
|
|
import script.library.utils;
|
|
import script.location;
|
|
import script.obj_id;
|
|
|
|
public class combatant extends script.base_script
|
|
{
|
|
public combatant()
|
|
{
|
|
}
|
|
public int OnAttach(obj_id self) throws InterruptedException
|
|
{
|
|
messageTo(self, "checkForNewTargets", null, 6, false);
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
public int OnIncapacitated(obj_id self, obj_id killer) throws InterruptedException
|
|
{
|
|
obj_id mom = getObjIdObjVar(self, "ep3demo.mom");
|
|
if (utils.hasScriptVar(self, "ep3demo.victim"))
|
|
{
|
|
messageTo(mom, "spawnAnotherVictim", null, 1, false);
|
|
messageTo(self, "destroyYourself", null, 5, false);
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
if (utils.hasScriptVar(self, "ep3demo.aggressor"))
|
|
{
|
|
messageTo(mom, "spawnAnotherAggressor", null, 1, false);
|
|
messageTo(self, "destroyYourself", null, 5, false);
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
public int OnHearSpeech(obj_id self, obj_id objSpeaker, String strText) throws InterruptedException
|
|
{
|
|
if (!isGod(objSpeaker))
|
|
{
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
if ((toLower(strText)).startsWith("stop battle"))
|
|
{
|
|
destroyObject(self);
|
|
}
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
public int checkForNewTargets(obj_id self, dictionary params) throws InterruptedException
|
|
{
|
|
if (!ai_lib.isInCombat(self))
|
|
{
|
|
lookForSomeoneToKill(self);
|
|
}
|
|
messageTo(self, "checkForNewTargets", null, 6, false);
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
public int destroyYourself(obj_id self, dictionary params) throws InterruptedException
|
|
{
|
|
destroyObject(self);
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
public void lookForSomeoneToKill(obj_id self) throws InterruptedException
|
|
{
|
|
location here = getLocation(self);
|
|
obj_id[] objects = getObjectsInRange(here, 32);
|
|
for (obj_id object : objects) {
|
|
if (utils.hasScriptVar(self, "ep3demo.aggressor")) {
|
|
if (utils.hasScriptVar(object, "ep3demo.victim")) {
|
|
startCombat(self, object);
|
|
return;
|
|
}
|
|
}
|
|
if (utils.hasScriptVar(self, "ep3demo.victim")) {
|
|
if (utils.hasScriptVar(object, "ep3demo.aggressor")) {
|
|
startCombat(self, object);
|
|
return;
|
|
}
|
|
}
|
|
}
|
|
return;
|
|
}
|
|
}
|