Initial upload.
Adding base PRC 4.19a files to repository.
This commit is contained in:
44
trunk/spells/sp_ilyykmant.nss
Normal file
44
trunk/spells/sp_ilyykmant.nss
Normal file
@@ -0,0 +1,44 @@
|
||||
#include "prc_inc_spells"
|
||||
|
||||
//Duration: 1 round / level
|
||||
//You cloak yourself in an aura that gives you a +1 bonus per 3 caster levels
|
||||
//(maximum +5) on saving throws against spells and spell like abilities,
|
||||
//and you gain electricity resistance 10.
|
||||
void main()
|
||||
{
|
||||
// If code within the PreSpellCastHook (i.e. UMD) reports FALSE, do not run this spell
|
||||
if (!X2PreSpellCastCode()) return;
|
||||
|
||||
PRCSetSchool(SPELL_SCHOOL_ABJURATION);
|
||||
|
||||
// Declare major variables
|
||||
object oTarget = PRCGetSpellTargetObject();
|
||||
|
||||
// Signal the spell cast at event
|
||||
PRCSignalSpellEvent(oTarget, FALSE);
|
||||
|
||||
int nCasterLevel = PRCGetCasterLevel();
|
||||
|
||||
int nIncrease = nCasterLevel / 3;
|
||||
if (nIncrease > 5) nIncrease = 5;
|
||||
effect eBuff = EffectSavingThrowIncrease(SAVING_THROW_ALL, nIncrease,
|
||||
SAVING_THROW_TYPE_SPELL);
|
||||
eBuff = EffectLinkEffects(eBuff, EffectDamageResistance(DAMAGE_TYPE_ELECTRICAL, 10));
|
||||
eBuff = EffectLinkEffects(eBuff, EffectVisualEffect(VFX_DUR_CESSATE_POSITIVE));
|
||||
eBuff = EffectLinkEffects(eBuff, EffectVisualEffect(VFX_DUR_GLOW_WHITE));
|
||||
|
||||
// Get duration, 1 hour / level unless extended.
|
||||
float fDuration = PRCGetMetaMagicDuration(RoundsToSeconds(nCasterLevel));
|
||||
|
||||
// Build the list of fancy visual effects to apply when the spell goes off.
|
||||
effect eVFX = EffectVisualEffect(VFX_IMP_HEAD_ELECTRICITY);
|
||||
|
||||
// Remove existing effect, if any.
|
||||
PRCRemoveEffectsFromSpell(oTarget, GetSpellId());
|
||||
|
||||
// Apply effects and VFX to target
|
||||
SPApplyEffectToObject(DURATION_TYPE_TEMPORARY, eBuff, oTarget, fDuration,TRUE,-1,nCasterLevel);
|
||||
SPApplyEffectToObject(DURATION_TYPE_INSTANT, eVFX, oTarget);
|
||||
|
||||
PRCSetSchool();
|
||||
}
|
Reference in New Issue
Block a user