Clear out experimental .35 files
Clear out experimental .35 files
This commit is contained in:
@@ -1,65 +0,0 @@
|
||||
//::///////////////////////////////////////////////
|
||||
//:: Trapfinder - active search mode
|
||||
//:: prc_trapfind_act.nss
|
||||
//::///////////////////////////////////////////////
|
||||
/*
|
||||
One of the hard-coded NWN 'features' is that
|
||||
only rouges can detect traps with detect
|
||||
DC > 35. This may be OK for standard NWN, but
|
||||
we have some cool classes that would benefit
|
||||
from trapfinder feat. That's why I wrote this
|
||||
small script.
|
||||
|
||||
This system is quite simple - it complements
|
||||
standard detect mode (so it will only detect
|
||||
traps with detect DC > 35).
|
||||
Basically there are two invisible area of
|
||||
effect objects that check for presence of traps
|
||||
in the area. Then if trap can be detected and
|
||||
has DC > 35 this script will make a search
|
||||
skill roll to check if oPC can detect the trap.
|
||||
If check was succesful the trap is marked as
|
||||
detected.
|
||||
|
||||
The AoE objects are applied by PC's skin in
|
||||
prc_feats.nss - one for each detect mode.
|
||||
In passive detect mode search checks are made
|
||||
every round in 15 ft radius.
|
||||
In active detect mode search checks are made
|
||||
twice per round in 25 ft radius.
|
||||
|
||||
X
|
||||
*/
|
||||
//:://////////////////////////////////////////////
|
||||
//:://////////////////////////////////////////////
|
||||
|
||||
void DoDetectCheck(object oPC, object oTrap);
|
||||
|
||||
void main()
|
||||
{
|
||||
object oPC = GetItemPossessor(GetAreaOfEffectCreator());
|
||||
|
||||
if(GetDetectMode(oPC) != DETECT_MODE_ACTIVE)
|
||||
return;
|
||||
|
||||
object oTest = GetFirstInPersistentObject(OBJECT_SELF, OBJECT_TYPE_TRIGGER | OBJECT_TYPE_DOOR | OBJECT_TYPE_PLACEABLE);
|
||||
while(GetIsObjectValid(oTest))
|
||||
{
|
||||
if(GetTrapDetectable(oTest) && !GetTrapDetectedBy(oTest, oPC))
|
||||
{
|
||||
DoDetectCheck(oPC, oTest);
|
||||
DelayCommand(3.0f, DoDetectCheck(oPC, oTest));
|
||||
}
|
||||
oTest = GetNextInPersistentObject(OBJECT_SELF, OBJECT_TYPE_TRIGGER | OBJECT_TYPE_DOOR | OBJECT_TYPE_PLACEABLE);
|
||||
}
|
||||
}
|
||||
|
||||
void DoDetectCheck(object oPC, object oTrap)
|
||||
{
|
||||
int nDC = GetTrapDetectDC(oTrap);
|
||||
if(nDC > 35)
|
||||
{
|
||||
if((d20() + GetSkillRank(SKILL_SEARCH, oPC)) >= nDC)
|
||||
SetTrapDetectedBy(oTrap, oPC);
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user