Aschbourne_PRC8/_module/nss/class_only.nss

50 lines
1.6 KiB
Plaintext
Raw Permalink Normal View History

// Place in the OnFailToOpen event for the door
#include "prc_class_const"
2024-06-14 10:48:20 -04:00
void main()
{
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
{
return;
2024-06-14 10:48:20 -04:00
}
else if (iRogue > 0)
2024-06-14 10:48:20 -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
}
else
2024-06-14 10:48:20 -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
}
}