Further file organization
Further file organization
This commit is contained in:
59
nwn/nwnprc/trunk/newspellbook/shd_myst_shdwskn.nss
Normal file
59
nwn/nwnprc/trunk/newspellbook/shd_myst_shdwskn.nss
Normal file
@@ -0,0 +1,59 @@
|
||||
/*
|
||||
13/02/19 by Stratovarius
|
||||
|
||||
Shadow Skin
|
||||
|
||||
Apprentice, Shutters and Clouds
|
||||
Level/School: 2nd/Abjuration
|
||||
Range: Personal
|
||||
Target: You
|
||||
Duration: 1 round
|
||||
|
||||
Semisolid shadows rise up and serve as protectors, flickering around you and absorbing some of the damage you might otherwise have taken.
|
||||
|
||||
You can cast this mystery as an immediate action. You gain damage reduction according to your caster level.
|
||||
|
||||
Caster Level DR
|
||||
Up to 4th 5/+1
|
||||
5th<EFBFBD>9th 10/+1
|
||||
10th<EFBFBD>14th 10/+2
|
||||
15th<EFBFBD>19th 15/+2
|
||||
20th 15/<2F>
|
||||
*/
|
||||
|
||||
#include "shd_inc_shdfunc"
|
||||
#include "shd_mysthook"
|
||||
|
||||
void main()
|
||||
{
|
||||
if(!ShadPreMystCastCode()) return;
|
||||
|
||||
object oShadow = OBJECT_SELF;
|
||||
object oTarget = PRCGetSpellTargetObject();
|
||||
struct mystery myst = EvaluateMystery(oShadow, oTarget, METASHADOW_EXTEND);
|
||||
|
||||
if(myst.bCanMyst)
|
||||
{
|
||||
if (myst.nShadowcasterLevel >= 20)
|
||||
{
|
||||
myst.eLink = EffectLinkEffects(EffectDamageResistance(DAMAGE_TYPE_SLASHING, 15), EffectDamageResistance(DAMAGE_TYPE_PIERCING, 15));
|
||||
myst.eLink = EffectLinkEffects(myst.eLink, EffectDamageResistance(DAMAGE_TYPE_BLUDGEONING, 15));
|
||||
}
|
||||
else if (myst.nShadowcasterLevel >= 15)
|
||||
myst.eLink = EffectDamageReduction(15, DAMAGE_POWER_PLUS_TWO);
|
||||
else if (myst.nShadowcasterLevel >= 10)
|
||||
myst.eLink = EffectDamageReduction(10, DAMAGE_POWER_PLUS_TWO);
|
||||
else if (myst.nShadowcasterLevel >= 5)
|
||||
myst.eLink = EffectDamageReduction(10, DAMAGE_POWER_PLUS_ONE);
|
||||
else
|
||||
myst.eLink = EffectDamageReduction(5, DAMAGE_POWER_PLUS_ONE);
|
||||
|
||||
myst.eLink = EffectLinkEffects(myst.eLink, EffectVisualEffect(PSI_DUR_SHADOW_BODY));
|
||||
if (myst.bIgnoreSR) myst.eLink = SupernaturalEffect(myst.eLink);
|
||||
|
||||
myst.fDur = 6.0;
|
||||
if(myst.bExtend) myst.fDur *= 2;
|
||||
// Duration Effects
|
||||
SPApplyEffectToObject(DURATION_TYPE_TEMPORARY, myst.eLink, oTarget, myst.fDur, TRUE, myst.nMystId, myst.nShadowcasterLevel);
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user