Further file organization
Further file organization
This commit is contained in:
55
nwn/nwnprc/trunk/smp/phs_s_mazec.nss
Normal file
55
nwn/nwnprc/trunk/smp/phs_s_mazec.nss
Normal file
@@ -0,0 +1,55 @@
|
||||
/*:://////////////////////////////////////////////
|
||||
//:: Spell Name Maze : Heartbeat area
|
||||
//:: Spell FileName PHS_S_MazeC
|
||||
//:://////////////////////////////////////////////
|
||||
//:: Spell Effects Applied / Notes
|
||||
//:://////////////////////////////////////////////
|
||||
On Heartbeat
|
||||
|
||||
We can easily make them check intelligence every 6 seconds VIA heartbeat,
|
||||
this is NOT the script in the area on heartbeat, but rather is executed
|
||||
on an entering object every 6 seconds until it gets from 600 to 0...10 turns
|
||||
of round checking.
|
||||
//:://////////////////////////////////////////////
|
||||
//:: Created By: Jasperre
|
||||
//::////////////////////////////////////////////*/
|
||||
|
||||
#include "PHS_INC_SPELLS"
|
||||
|
||||
void main()
|
||||
{
|
||||
// Delcare Major Variables
|
||||
object oTarget = OBJECT_SELF;
|
||||
|
||||
// Jump out if they are not in the maze area
|
||||
if(!PHS_IsInMazeArea(oTarget))
|
||||
{
|
||||
SetCommandable(TRUE, oTarget);
|
||||
// Remove the spells effects (the visual mostly)
|
||||
PHS_RemoveSpellEffectsFromTarget(PHS_SPELL_MAZE, oTarget);
|
||||
return;
|
||||
}
|
||||
|
||||
// First, move the coutner down by 1 round
|
||||
int iCounter = GetLocalInt(oTarget, PHS_S_MAZE_ROUND_COUNTER);
|
||||
iCounter--;
|
||||
// Set new counter value
|
||||
SetLocalInt(oTarget, PHS_S_MAZE_ROUND_COUNTER, iCounter);
|
||||
|
||||
// We make a hidden intelligence check :-)
|
||||
int iIntelligence = GetAbilityModifier(ABILITY_INTELLIGENCE, oTarget);
|
||||
|
||||
// DC of 20. OR we have been here 600 checks before...
|
||||
if(iIntelligence + d20() >= 20 || iCounter <= 0)
|
||||
{
|
||||
// PASS
|
||||
// - Execute jump out script. The script is also used for freedom.
|
||||
ExecuteScript("phs_s_mazed", oTarget);
|
||||
}
|
||||
else
|
||||
{
|
||||
// FAIL
|
||||
// - Continue to execute the script
|
||||
DelayCommand(6.0, ExecuteScript("phs_s_mazec", oTarget));
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user