/** * Copyright (c) ©2003 Sony Online Entertainment Inc. * All Rights Reserved * * Title: sarlacc.script * Description: sarlacc * @author $Author:$ * @version $Revision: #1 $ */ //------------------------------------------------ // Includes //------------------------------------------------ include library.utils; include library.dot; include library.buff; //------------------------------------------------ // Constants //------------------------------------------------ const string_id SID_EXTRACT_BILE = new string_id("mob/sarlacc", "extract_bile"); const string_id SID_BILE_FAIL = new string_id("mob/sarlacc", "bile_fail"); const string_id SID_BILE_SUCCESS = new string_id("mob/sarlacc", "bile_success"); const string_id SID_BILE_ALREADY = new string_id("mob/sarlacc", "bile_already"); const string_id SID_SARLACC_ERUPT = new string_id("mob/sarlacc", "sarlacc_erupt"); const string_id SID_SARLACC_POISON = new string_id("mob/sarlacc", "sarlacc_poison"); const string_id SID_SARLACC_DOT = new string_id("mob/sarlacc", "sarlacc_dot"); const string BILE_OBJECT = "object/tangible/loot/quest/quest_item_sarlacc_bile_jar.iff"; //------------------------------------------------ // OnInitialize //------------------------------------------------ trigger OnInitialize() { 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; } //------------------------------------------------ // OnAttach //------------------------------------------------ /* trigger OnAttach() { 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; } */ //------------------------------------------------ // OnTriggerVolumeEntered //------------------------------------------------ trigger OnTriggerVolumeEntered( string volumeName, obj_id whoTriggeredMe ) { if ( volumeName == "sarlaccBreach" ) { // Only players. if ( !isPlayer( whoTriggeredMe ) ) return SCRIPT_CONTINUE; // Play the effect. if ( !utils.hasScriptVar( self, "bile.eject" ) ) { playClientEffectLoc( whoTriggeredMe, "clienteffect/cr_sarlacc_erupt.cef", getLocation(self), 3f ); // Send a message to players in the radius. "The sarlacc has erupted!" obj_id[] contents = getTriggerVolumeContents( self, "sarlaccBreach" ); if ( contents != null ) { for ( int i=0; i