2024-09-16 23:40:48 -04:00
|
|
|
// Place in the OnFailToOpen event for the door
|
|
|
|
|
|
|
|
#include "prc_class_const"
|
|
|
|
|
2024-06-14 10:48:20 -04:00
|
|
|
void main()
|
|
|
|
{
|
2024-09-16 23:40:48 -04:00
|
|
|
object oPC = GetClickingObject();
|
|
|
|
|
|
|
|
int nPCClass1 = GetClassByPosition(1, oPC);
|
|
|
|
int nPCClass2 = GetClassByPosition(2, oPC);
|
|
|
|
int nPCClass3 = GetClassByPosition(3, oPC);
|
|
|
|
int nPCClass4 = GetClassByPosition(4, oPC);
|
|
|
|
int nPCClass5 = GetClassByPosition(5, oPC);
|
|
|
|
int nPCClass6 = GetClassByPosition(6, oPC);
|
|
|
|
int nPCClass7 = GetClassByPosition(7, oPC);
|
|
|
|
int nPCClass8 = GetClassByPosition(8, oPC);
|
|
|
|
|
|
|
|
int iRogue = GetLevelByClass(CLASS_TYPE_ROGUE, oPC)
|
|
|
|
+ GetLevelByClass(CLASS_TYPE_SCOUT, oPC)
|
|
|
|
+ GetLevelByClass(CLASS_TYPE_BEGUILER, oPC)
|
|
|
|
+ GetLevelByClass(CLASS_TYPE_NINJA, oPC)
|
|
|
|
+ GetLevelByClass(CLASS_TYPE_FACTOTUM, oPC)
|
|
|
|
+ GetLevelByClass(CLASS_TYPE_ASSASSIN, oPC)
|
|
|
|
+ GetLevelByClass(CLASS_TYPE_ARCTRICK, oPC)
|
|
|
|
+ GetLevelByClass(CLASS_TYPE_HANDOTWM, oPC)
|
|
|
|
+ GetLevelByClass(CLASS_TYPE_NIGHTSHADE, oPC)
|
|
|
|
+ GetLevelByClass(CLASS_TYPE_NINJA_SPY, oPC)
|
|
|
|
+ GetLevelByClass(CLASS_TYPE_SHADOWLORD, oPC)
|
|
|
|
+ GetLevelByClass(CLASS_TYPE_SHADOW_SUN_NINJA, oPC)
|
|
|
|
+ GetLevelByClass(CLASS_TYPE_SHADOW_THIEF_AMN, oPC)
|
|
|
|
+ GetLevelByClass(CLASS_TYPE_UNSEEN_SEER, oPC)
|
|
|
|
+ GetLevelByClass(CLASS_TYPE_PSYCHIC_ROGUE, oPC);
|
|
|
|
|
|
|
|
if (!GetIsPC(oPC))
|
2024-06-14 10:48:20 -04:00
|
|
|
{
|
2024-09-16 23:40:48 -04:00
|
|
|
return;
|
2024-06-14 10:48:20 -04:00
|
|
|
}
|
2024-09-16 23:40:48 -04:00
|
|
|
else if (iRogue > 0)
|
2024-06-14 10:48:20 -04:00
|
|
|
{
|
2024-09-16 23:40:48 -04:00
|
|
|
FloatingTextStringOnCreature("The door unlocks itself and opens.", oPC);
|
|
|
|
SetLocked(OBJECT_SELF, FALSE);
|
|
|
|
ActionOpenDoor(OBJECT_SELF);
|
|
|
|
DelayCommand(6.0f, ActionCloseDoor(OBJECT_SELF));
|
|
|
|
DelayCommand(6.2f, SetLocked(OBJECT_SELF, TRUE));
|
2024-06-14 10:48:20 -04:00
|
|
|
}
|
2024-09-16 23:40:48 -04:00
|
|
|
else
|
2024-06-14 10:48:20 -04:00
|
|
|
{
|
2024-09-16 23:40:48 -04:00
|
|
|
FloatingTextStringOnCreature("The door is locked. You must be a rogue to use this door.", oPC);
|
2024-06-14 10:48:20 -04:00
|
|
|
}
|
2024-09-16 23:40:48 -04:00
|
|
|
}
|