Update for PRC8 functions update. Updated spells & abilities haks. Full compile. Updated release archive.
68 lines
1.8 KiB
Plaintext
68 lines
1.8 KiB
Plaintext
//::///////////////////////////////////////////////
|
|
//:: Name Lesser Deflect
|
|
//:: FileName sp_deflect.nss
|
|
//:://////////////////////////////////////////////
|
|
/**@file Lesser Deflect
|
|
Abjuration [Force]
|
|
Level: Duskblade 1, sorcerer/wizard 1
|
|
Components: V
|
|
Casting Time: 1 immediate action
|
|
Range: Personal
|
|
Duration: 1 round or until discharged
|
|
|
|
You project a field of ivisible force, creating a
|
|
short-lived protective barrier. You gain a
|
|
deflection bonus to your AC against a single attack;
|
|
this bonus is equal to +1 per three caster levels
|
|
(maximum +5).
|
|
|
|
**/
|
|
|
|
//::///////////////////////////////////////////////
|
|
//:: Name Deflect
|
|
//:: FileName sp_deflect.nss
|
|
//:://////////////////////////////////////////////
|
|
/**@file Deflect
|
|
Abjuration [Force]
|
|
Level: Duskblade 2, sorcerer/wizard 2
|
|
Components: V
|
|
Casting Time: 1 immediate action
|
|
Range: Personal
|
|
Duration: 1 round or until discharged
|
|
|
|
|
|
You project a field of ivisible force, creating a
|
|
short-lived protective barrier. You gain a
|
|
deflection bonus to your AC against a single attack;
|
|
this bonus is equal to 1/2 your caster level
|
|
(round down).
|
|
|
|
**/
|
|
|
|
#include "prc_alterations"
|
|
#include "prc_inc_spells"
|
|
|
|
void main()
|
|
{
|
|
if(!X2PreSpellCastCode()) return;
|
|
|
|
PRCSetSchool(SPELL_SCHOOL_ABJURATION);
|
|
|
|
object oPC = OBJECT_SELF;
|
|
float fDur = RoundsToSeconds(1);
|
|
int nCasterLvl = PRCGetCasterLevel(oPC);
|
|
int nMetaMagic = PRCGetMetaMagicFeat();
|
|
int nSpell = PRCGetSpellId();
|
|
int nBonus = nSpell == SPELL_DEFLECT ? nCasterLvl/2:
|
|
PRCMin(20, (nCasterLvl/3));
|
|
|
|
PRCSignalSpellEvent(oPC, FALSE, nSpell, oPC);
|
|
|
|
if(nMetaMagic & METAMAGIC_EXTEND)
|
|
fDur *= 2;
|
|
|
|
effect eBonus = EffectACIncrease(AC_DEFLECTION_BONUS, nBonus);
|
|
SPApplyEffectToObject(DURATION_TYPE_TEMPORARY, eBonus, oPC, fDur);
|
|
|
|
PRCSetSchool();
|
|
} |