Further file organization
Further file organization
This commit is contained in:
50
nwn/nwnprc/trunk/scripts/fdisk_onspellc.nss
Normal file
50
nwn/nwnprc/trunk/scripts/fdisk_onspellc.nss
Normal file
@@ -0,0 +1,50 @@
|
||||
/*
|
||||
Tenser's Floating Disk script
|
||||
|
||||
Disk's OnSpellCastAt script.
|
||||
|
||||
Created by: xwarren
|
||||
Created: August 15, 2009
|
||||
*/
|
||||
#include "prc_alterations"
|
||||
#include "psi_inc_psifunc"
|
||||
|
||||
void main()
|
||||
{
|
||||
object oMaster = GetMaster();
|
||||
object oSCaster = GetLastSpellCaster();
|
||||
int nMasterCLevel = PRCGetCasterLevel(oMaster);
|
||||
int nSCLevel = PRCGetCasterLevel(oSCaster);
|
||||
int nSpell = GetLastSpell();
|
||||
int nTest;
|
||||
|
||||
switch(nSpell)
|
||||
{
|
||||
case SPELL_LESSER_DISPEL : nTest = d20(1) + min(5, nSCLevel); break;
|
||||
case SPELL_DISPEL_MAGIC : nTest = d20(1) + min(10, nSCLevel); break;
|
||||
case SPELL_DISPELLING_TOUCH : nTest = d20(1) + min(10, nSCLevel); break;
|
||||
case SPELL_SLASHING_DISPEL : nTest = d20(1) + min(10, nSCLevel); break;
|
||||
case POWER_DISPELPSIONICS : nTest = d20(1) + min(15, GetManifesterLevel(oSCaster)); break;
|
||||
case SPELL_GREATER_DISPELLING : nTest = d20(1) + min(20, nSCLevel); break;
|
||||
case SPELL_GREAT_WALL_OF_DISPEL : nTest = d20(1) + min(20, nSCLevel); break;
|
||||
case SPELL_MORDENKAINENS_DISJUNCTION: nTest = d20(1) + min(40, nSCLevel); break;
|
||||
case 4061 : nTest = d20(1) + min(40, nSCLevel); break;//Superb Dispelling
|
||||
default : nTest = 0; break;
|
||||
}
|
||||
if (nTest >= 11 + nMasterCLevel)
|
||||
{
|
||||
ExecuteScript("fdisk_end", OBJECT_SELF);
|
||||
}
|
||||
else
|
||||
{
|
||||
if(!GetLocalInt(OBJECT_SELF, "bDiskBussy"))
|
||||
{
|
||||
ClearAllActions(TRUE);
|
||||
ActionMoveToObject(oMaster, TRUE, 2.0);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
Reference in New Issue
Block a user