Aschbourne_PRC8/_module/nss/_mageonlydoor.nss

40 lines
1.2 KiB
Plaintext
Raw Permalink Normal View History

2024-06-14 10:48:20 -04:00
///////////////////////////////////////
// Door Script - Allows only Mages to enter
2024-06-14 10:48:20 -04:00
//
////////////////////////////////////////
#include "prc_class_const"
2024-06-14 10:48:20 -04:00
void main()
{
// Close the door after 30 seconds
DelayCommand(30.0, ActionCloseDoor(OBJECT_SELF));
object oClicker = GetClickingObject();
object oTarget = GetTransitionTarget(OBJECT_SELF);
location lLoc = GetLocation(oTarget);
location lLoc2 = GetLocation(GetObjectByTag("WP_Throw_out"));
// Sum of arcane class levels
int iArcane = GetLevelByClass(CLASS_TYPE_BARD, oClicker) +
GetLevelByClass(CLASS_TYPE_BEGUILER, oClicker) +
GetLevelByClass(CLASS_TYPE_DREAD_NECROMANCER, oClicker) +
GetLevelByClass(CLASS_TYPE_KNIGHT_WEAVE, oClicker) +
GetLevelByClass(CLASS_TYPE_SORCERER, oClicker) +
GetLevelByClass(CLASS_TYPE_SUBLIME_CHORD, oClicker) +
GetLevelByClass(CLASS_TYPE_WARMAGE, oClicker) +
GetLevelByClass(CLASS_TYPE_WARLOCK, oClicker) +
GetLevelByClass(CLASS_TYPE_WIZARD, oClicker);
// Determine action based on arcane class level sum
if (iArcane > 0)
{
AssignCommand(oClicker, JumpToLocation(lLoc));
}
else
{
AssignCommand(oClicker, JumpToLocation(lLoc2));
}
}