package script.creature; 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.dot; import script.library.buff; public class sarlacc extends script.base_script { public sarlacc() { } public static final string_id SID_EXTRACT_BILE = new string_id("mob/sarlacc", "extract_bile"); public static final string_id SID_BILE_FAIL = new string_id("mob/sarlacc", "bile_fail"); public static final string_id SID_BILE_SUCCESS = new string_id("mob/sarlacc", "bile_success"); public static final string_id SID_BILE_ALREADY = new string_id("mob/sarlacc", "bile_already"); public static final string_id SID_SARLACC_ERUPT = new string_id("mob/sarlacc", "sarlacc_erupt"); public static final string_id SID_SARLACC_POISON = new string_id("mob/sarlacc", "sarlacc_poison"); public static final string_id SID_SARLACC_DOT = new string_id("mob/sarlacc", "sarlacc_dot"); public static final String BILE_OBJECT = "object/tangible/loot/quest/quest_item_sarlacc_bile_jar.iff"; public int OnInitialize(obj_id self) throws InterruptedException { if (!hasTriggerVolume( self, "sarlaccBreach" )) { createTriggerVolume( "sarlaccBreach", 30.f, true ); } if (!hasTriggerVolume( self, "sarlaccPreBreach" )) { createTriggerVolume( "sarlaccPreBreach", 60.f, true ); } messageTo( self, "poisonArea", null, 300, false ); return SCRIPT_CONTINUE; } public int OnTriggerVolumeEntered(obj_id self, String volumeName, obj_id whoTriggeredMe) throws InterruptedException { sendSystemMessageTestingOnly(whoTriggeredMe, "triggerend"); if (volumeName.equals("sarlaccBreach")) { if (!isPlayer( whoTriggeredMe )) { return SCRIPT_CONTINUE; } if (!utils.hasScriptVar( self, "bile.eject" )) { playClientEffectLoc( whoTriggeredMe, "clienteffect/cr_sarlacc_erupt.cef", getLocation(self), 3f ); obj_id[] contents = getTriggerVolumeContents( self, "sarlaccBreach"); if (contents != null) { for (int i=0; i