Initial upload.
Adding base PRC 4.19a files to repository.
This commit is contained in:
87
trunk/users/Tenjac/spells/sp_soullight.nss
Normal file
87
trunk/users/Tenjac/spells/sp_soullight.nss
Normal file
@@ -0,0 +1,87 @@
|
||||
//:://////////////////////////////////////////////
|
||||
//:: Name Soul of Light
|
||||
//:: FileName sp_soulight.nss
|
||||
//:://////////////////////////////////////////////
|
||||
/** @file Transmutation [Good]
|
||||
Level: Paladin 2, Cleric 3,
|
||||
Components: V, S,
|
||||
Casting Time: 1 standard action
|
||||
Range: Personal
|
||||
Target: You
|
||||
Duration: 1 hour
|
||||
|
||||
Bright, clear light sprouts from your body, quickly
|
||||
flaring before fading to a faint white pulse. This spell
|
||||
infuses your body with energy drawn from the Positive
|
||||
Energy Plane, making it easier to repair injuries.
|
||||
|
||||
Whenever you cast or are the target of a conjuration
|
||||
(healing) spell, you can choose for the spell to heal
|
||||
a number of extra points of damage equal to twice the spell's level.
|
||||
|
||||
If such a spell heals at least 10 points of damage,
|
||||
it also removes the fatigued condition from the
|
||||
target (or reduces exhaustion to fatigue).
|
||||
|
||||
If soul of light and soul of order are active on you at the
|
||||
same time, you gain damage reduction 3/+3
|
||||
|
||||
*/
|
||||
//:://////////////////////////////////////////////
|
||||
//:: Created By: Tenjac
|
||||
//:: Created On: 8/8/22
|
||||
//:://////////////////////////////////////////////
|
||||
|
||||
#include "prc_sp_func"
|
||||
#include "prc_add_spell_dc"
|
||||
|
||||
|
||||
void main()
|
||||
{
|
||||
if(!X2PreSpellCastCode()) return;
|
||||
PRCSetSchool(SPELL_SCHOOL_TRANSMUTATION);
|
||||
object oPC = OBJECT_SELF;
|
||||
int nCasterLvl = PRCGetCasterLevel(oPC);
|
||||
float fDur = HoursToSeconds(1);
|
||||
int nMetaMagic = PRCGetMetaMagicFeat();
|
||||
if(nMetaMagic & METAMAGIC_EXTEND) fDur += fDur;
|
||||
|
||||
SPApplyEffectToObject(DURATION_TYPE_TEMPORARY, EffectVisualEffect(VFX_DUR_AURA_WHITE), oPC, fDur);
|
||||
|
||||
if(GetHasSpellEffect(SPELL_SOUL_OF_ORDER, oPC))
|
||||
{
|
||||
SPApplyEffectToObject(DURATION_TYPE_TEMPORARY, EffectDamageReduction(3, DAMAGE_POWER_PLUS_THREE, 0), oPC, fDur);
|
||||
}
|
||||
|
||||
/**To add into PRCEffectHeal
|
||||
if(GetHasSpellEffect(SPELL_SOUL_OF_LIGHT, oTarget))
|
||||
{
|
||||
//2x the spell level bonus
|
||||
nHP += (StringToInt(Get2DACache("spells", "Innate", PRCGetSpellId()) *2);
|
||||
if(nHP >= 10)
|
||||
{
|
||||
effect eEffect = GetFirstEffect(oPC);
|
||||
while(GetIsEffectValid(eEffect))
|
||||
{
|
||||
//remove fatigue
|
||||
if(GetEffectTag(eEffect) == "PRCFatigue")
|
||||
{
|
||||
RemoveEffect(oPC, eEffect);
|
||||
SPApplyEffectToObject(DURATION_TYPE_TEMPORARY, EffecVisualEffect(VFX_DUR_CESSATE_POSITIVE) oTarget, 6.0f);
|
||||
}
|
||||
|
||||
//downgrade exhaustion
|
||||
if(GetEffectTag(eEffect) == "PRCExhausted")
|
||||
{
|
||||
float fNew = IntToFloat(GetEffectDurationRemaining(eEffect));
|
||||
SPApplyEffectToObject(DURATION_TYPE_TEMPORARY, EffectFatigue(), oTarget, fNew);
|
||||
SPApplyEffectToObject(DURATION_TYPE_TEMPORARY, EffecVisualEffect(VFX_DUR_CESSATE_POSITIVE) oTarget, 6.0f);
|
||||
|
||||
}
|
||||
eEffect = GetNextEffect(oPC);
|
||||
}
|
||||
}
|
||||
*/
|
||||
|
||||
PRCSetSchool();
|
||||
}
|
Reference in New Issue
Block a user