Rune_PRC8/_module/nss/os_arm_switch.nss
Jaysyn904 d1c309ae63 Initial commit
Initial commit
2024-09-13 09:10:39 -04:00

78 lines
2.0 KiB
Plaintext

////////////////////////////////////////////////////////////////////////////////
// Olander's Siege System - Arming Switch
// os_arm_switch
// By Don Anderson
// dandersonru@msn.com
//
// Place this script in the Switch OnUsed Event of a switch
//
////////////////////////////////////////////////////////////////////////////////
#include "os_inc"
void main()
{
object oPC = GetLastUsedBy();
object oMod = GetModule();
object oSwitch = OBJECT_SELF;
location lLoc = GetLocation(oSwitch);
string sSwitch = GetTag(oSwitch);
//:****************************************************************************/
//: CHANGE GLOBAL SYSTEMS ON AND OFF
//Module Reload
if(sSwitch == "SiegeSwitch")
{
int nMode = GetLocalInt(oSwitch,"FIREMODE");
int nSDown = GetLocalInt(oSwitch,"FIREOFF");
//Check for Artillery Standing Down Command
if(nSDown == 1)
{
//Siege Artillery Standing Down
if(nMode == 3)
{
SetLocalInt(oSwitch,"FIREMODE",0);
ActivateSwitch();
SpeakString("Fire Mode is OFF.");
}
return;
}
//Check if 10 Seconds Pasted and No Switch Action
if(nSDown == 0 && nMode == 3)
{
nMode = 2;
SetLocalInt(oSwitch,"FIREMODE",2);
}
//Siege Artillery Ready for Battle
if(nMode == 0)
{
SetLocalInt(oSwitch,"FIREMODE",1);
ActivateSwitch();
SpeakString("Fire Mode is ON. Use this switch again to Start Siege Artillery.");
}
//Siege Artillery Start Firing
if(nMode == 1)
{
SetLocalInt(oSwitch,"FIREMODE",2);
ActivateSwitch();
InitiateSiege(oSwitch, lLoc);
}
//Siege Artillery Prepare Stand Down
if(nMode == 2)
{
SetLocalInt(oSwitch,"FIREMODE",3);
SetLocalInt(oSwitch,"FIREOFF",1);
ActivateSwitch();
SpeakString("Use this switch again within 10 Seconds to stop Siege Artillery!");
DelayCommand(10.0,SetLocalInt(oSwitch,"FIREOFF",0));
}
}
}