103 lines
3.8 KiB
Plaintext
103 lines
3.8 KiB
Plaintext
//::///////////////////////////////////////////////
|
|
//:: OnUse: Toggle Activate
|
|
//:: x2_plc_used_act
|
|
//:: Copyright (c) 2003 Bioware Corp.
|
|
//:://////////////////////////////////////////////
|
|
/*
|
|
|
|
Simple script to toggle the placeable animation
|
|
state for placeables that support Activate and
|
|
DeActivate Animations
|
|
|
|
Placeables are best set to be DeActivated by
|
|
default with this script.
|
|
|
|
*/
|
|
//:://////////////////////////////////////////////
|
|
//:: Created By: Georg Zoeller
|
|
//:: Created On: 2003-09-10
|
|
//:://////////////////////////////////////////////
|
|
#include "nw_i0_tool"
|
|
void main()
|
|
{
|
|
// * note that nActive == 1 does not necessarily mean the placeable is active
|
|
// * that depends on the initial state of the object
|
|
int nActive = GetLocalInt (OBJECT_SELF,"X2_L_PLC_ACTIVATED_STATE");
|
|
// * Play Appropriate Animation
|
|
if (!nActive)
|
|
{
|
|
ActionPlayAnimation(ANIMATION_PLACEABLE_ACTIVATE);
|
|
}
|
|
else
|
|
{
|
|
ActionPlayAnimation(ANIMATION_PLACEABLE_DEACTIVATE);
|
|
}
|
|
// * Store New State
|
|
SetLocalInt(OBJECT_SELF,"X2_L_PLC_ACTIVATED_STATE",!nActive);
|
|
object oEntered = GetLastUsedBy();
|
|
|
|
if ((GetLocalInt(GetModule(),"MithPowered") ==9) && (GetLocalInt(OBJECT_SELF, "Once") == 0))
|
|
{
|
|
if (HasItem(oEntered, "AmonsEssense2"))
|
|
{
|
|
if (HasItem(oEntered, "TheCrimsonOrchid"))
|
|
{
|
|
object oItemToTake1;
|
|
object oItemToTake2;
|
|
oItemToTake1 = GetItemPossessedBy(oEntered, "TheCrimsonOrchid");
|
|
oItemToTake2 = GetItemPossessedBy(oEntered, "AmonsEssense");
|
|
DestroyObject(oItemToTake1);
|
|
DestroyObject(oItemToTake2);
|
|
|
|
SetLocalInt(OBJECT_SELF, "Once", 1);
|
|
object oReceptor = GetObjectByTag("AmonSound");
|
|
object oDoor1 = GetObjectByTag("ClonePod1");
|
|
object oDoor2 = GetObjectByTag("ClonePod2");
|
|
|
|
|
|
ActionSpeakString ("System Powering..");
|
|
AssignCommand(OBJECT_SELF, PlaySound("as_cv_boilergrn2"));
|
|
|
|
DelayCommand(1.0, ActionSpeakString ("System Diagnostic.."));
|
|
DelayCommand(1.0, AssignCommand(OBJECT_SELF, PlaySound("al_mg_crystalnt1")));
|
|
|
|
DelayCommand(4.0, ActionSpeakString ("All Systems Functioning Within Specified Parameters."));
|
|
|
|
DelayCommand(6.0, ActionSpeakString ("Accessing and Coding DNA Samples"));
|
|
DelayCommand(6.0, AssignCommand(OBJECT_SELF, PlaySound("al_mg_pillrlght1")));
|
|
|
|
DelayCommand(10.0, ActionSpeakString ("Powering Cloning Pods."));
|
|
DelayCommand(10.0, AssignCommand(OBJECT_SELF, PlaySound("al_mg_ballmagic1")));
|
|
|
|
DelayCommand(12.0, ActionSpeakString ("Beginning Synthesis."));
|
|
DelayCommand(12.0, AssignCommand(OBJECT_SELF, PlaySound("al_mg_x2eldbrain")));
|
|
DelayCommand(12.0, ExecuteScript("proclight1", oReceptor));
|
|
DelayCommand(13.0, AssignCommand(OBJECT_SELF, PlaySound("as_na_steamlong1")));
|
|
DelayCommand(14.0, AssignCommand(OBJECT_SELF, PlaySound("as_na_steamlong2")));
|
|
|
|
DelayCommand(16.0, ActionSpeakString ("Beginning Molecular Activation."));
|
|
DelayCommand(16.0, AssignCommand (oReceptor, PlaySound ("as_cv_furnace1")));
|
|
DelayCommand(16.0, ExecuteScript("proclight2", oReceptor));
|
|
|
|
DelayCommand(18.0, AssignCommand (oReceptor, PlaySound ("al_mg_pillrlght1")));
|
|
|
|
DelayCommand(20.0, ExecuteScript("proclight3", oReceptor));
|
|
|
|
DelayCommand(23.0, ActionSpeakString ("Process Successful."));
|
|
|
|
DelayCommand(24.0, AssignCommand(oDoor1, PlaySound("as_cv_shopmetal2")));
|
|
DelayCommand(24.5, AssignCommand(oDoor2, PlaySound("as_hr_x2chnratl1")));
|
|
DelayCommand(25.0, ExecuteScript("create_amon", oReceptor));
|
|
DelayCommand(25.0, SetLocked (oDoor1, FALSE));
|
|
DelayCommand(25.0, SetLocked (oDoor2, FALSE));
|
|
DelayCommand(25.5, ActionOpenDoor(oDoor1));
|
|
DelayCommand(25.5, ActionOpenDoor(oDoor2));
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
ActionSpeakString ("Primary Systems Are Offline, or you do not have Amon's Essense or the Crimson Orchid.");
|
|
}
|
|
}
|