Updated AMS marker feats. Removed arcane & divine marker feats. Updated Dread Necromancer for epic progression. Updated weapon baseitem models. Updated new weapons for crafting & npc equip. Updated prefix. Updated release archive.
59 lines
2.0 KiB
Plaintext
59 lines
2.0 KiB
Plaintext
/*
|
||
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–9th 10/+1
|
||
10th–14th 10/+2
|
||
15th–19th 15/+2
|
||
20th 15/—
|
||
*/
|
||
|
||
#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);
|
||
}
|
||
} |