Updated Release Archive. Fixed Mage-killer prereqs. Removed old LETO & ConvoCC related files. Added organized spell scroll store. Fixed Gloura spellbook. Various TLK fixes. Reorganized Repo. Removed invalid user folders. Added DocGen back in.
80 lines
2.9 KiB
Plaintext
80 lines
2.9 KiB
Plaintext
/*:://////////////////////////////////////////////
|
|
//:: Spell Name Body of Ice
|
|
//:: Spell FileName XXX_S_BodyofIce
|
|
//:://////////////////////////////////////////////
|
|
//:: In Game Spell desctiption
|
|
//:://////////////////////////////////////////////
|
|
Transmutation [Cold]
|
|
Level: Drd 4, Sor/Wiz 4
|
|
Components: V, S, F
|
|
Casting Time: 1 standard action
|
|
Range: Personal
|
|
Target: Caster
|
|
Duration: 1 round/level
|
|
Saving Throw: None
|
|
Spell Resistance: No (Harmless)
|
|
Source: Various (cthulhu)
|
|
|
|
The transmuted caster's body is transformed into a mixture of pure ice and
|
|
magical energy. Because of the caster's new form they gain the subtype
|
|
[Cold] (immune to all cold damage and take double damage from fire), and are
|
|
immune to critical hits.
|
|
|
|
In this ice form the caster finds themselves more in tune with the
|
|
Quasi-Elemental Plane of Ice and understands its detail and essence. All of
|
|
their spells with the cold descriptor gain a +2 to their saving throw DC.
|
|
|
|
Focus: A small crystal that comes from the center of a glacier.
|
|
//:://////////////////////////////////////////////
|
|
//:: Spell Effects Applied / Notes
|
|
//:://////////////////////////////////////////////
|
|
Simple and easy, eh what?
|
|
|
|
No, really, good advantages (if specific) and the immunity to critical hits
|
|
is great.
|
|
|
|
If the critical hit immunity is to much, +AC or something might be better,
|
|
or some damage shield (does cold damage, small amount).
|
|
//:://////////////////////////////////////////////
|
|
//:: Created By: Jasperre
|
|
//::////////////////////////////////////////////*/
|
|
|
|
#include "SMP_INC_SPELLS"
|
|
|
|
void main()
|
|
{
|
|
// Spell Hook Check.
|
|
if(!SMP_SpellHookCheck(SMP_SPELL_BODY_OF_ICE)) return;
|
|
|
|
// Declare Major Variables
|
|
object oCaster = OBJECT_SELF;
|
|
object oTarget = GetSpellTargetObject();// Should be OBJECT_SELF
|
|
int nCasterLevel = SMP_GetCasterLevel();
|
|
int nMetaMagic = SMP_GetMetaMagicFeat();
|
|
|
|
// Duration is 1 round/level
|
|
float fDuration = SMP_GetDuration(SMP_ROUNDS, nCasterLevel, nMetaMagic);
|
|
|
|
// Declare effects
|
|
effect eDur = EffectVisualEffect(VFX_DUR_ICESKIN);
|
|
effect eImmunityIncrease = EffectDamageImmunityIncrease(DAMAGE_TYPE_COLD, 100);
|
|
effect eImmunityDecrease = EffectDamageImmunityDecrease(DAMAGE_TYPE_FIRE, 100);
|
|
effect eCritical = EffectImmunity(IMMUNITY_TYPE_CRITICAL_HIT);
|
|
effect eCessate = EffectVisualEffect(VFX_DUR_CESSATE_POSITIVE);
|
|
|
|
// Link effects
|
|
effect eLink = EffectLinkEffects(eDur, eImmunityIncrease);
|
|
eLink = EffectLinkEffects(eLink, eImmunityDecrease);
|
|
eLink = EffectLinkEffects(eLink, eCritical);
|
|
eLink = EffectLinkEffects(eLink, eCessate);
|
|
|
|
// Remove previous casting
|
|
SMP_RemoveSpellEffectsFromTarget(SMP_SPELL_BODY_OF_ICE, oTarget);
|
|
|
|
//Fire cast spell at event for the specified target
|
|
SMP_SignalSpellCastAt(oTarget, SMP_SPELL_BODY_OF_ICE, FALSE);
|
|
|
|
// Apply the VFX impact and effects
|
|
SMP_ApplyDuration(oTarget, eLink, fDuration);
|
|
}
|