2024-06-14 10:48:20 -04:00
|
|
|
///////////////////////////////////////
|
2024-09-16 23:40:48 -04:00
|
|
|
// Door Script - Allows only Mages to enter
|
2024-06-14 10:48:20 -04:00
|
|
|
//
|
|
|
|
////////////////////////////////////////
|
2024-09-16 23:40:48 -04:00
|
|
|
#include "prc_class_const"
|
2024-06-14 10:48:20 -04:00
|
|
|
|
|
|
|
void main()
|
|
|
|
{
|
2024-09-16 23:40:48 -04:00
|
|
|
// 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));
|
|
|
|
}
|
|
|
|
}
|
2024-09-14 13:52:39 -04:00
|
|
|
|
|
|
|
|