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.
74 lines
2.5 KiB
Plaintext
74 lines
2.5 KiB
Plaintext
/*:://////////////////////////////////////////////
|
||
//:: Spell Name Force Armor
|
||
//:: Spell FileName XXX_S_ForceArmor
|
||
//:://////////////////////////////////////////////
|
||
//:: In Game Spell desctiption
|
||
//:://////////////////////////////////////////////
|
||
Conjuration (Creation) [Force]
|
||
Also known as: Muntazea’s Fictive Rope
|
||
Level: Brd 5, Sor/Wiz 4
|
||
Components: V, S, M (F)
|
||
Casting Time: 1 standard action
|
||
Range: Personal
|
||
Target: Caster
|
||
Duration: 1 hour/level (D)
|
||
Saving Throw: Will negates (harmless)
|
||
Spell Resistance: No
|
||
Source: Various (VolkorTheRed)
|
||
|
||
An invisible, but tangible field of force surrounds the caster, providing a
|
||
+8 armor bonus to AC. Unlike mundane armor, force armor entails no armor
|
||
check penalty or arcane spell failure chance.
|
||
|
||
The spell material focus is a diamond worth at least 250 GP, encased in a
|
||
metal sheet.
|
||
//:://////////////////////////////////////////////
|
||
//:: Spell Effects Applied / Notes
|
||
//:://////////////////////////////////////////////
|
||
As description.
|
||
|
||
"Improved Mage Armor"
|
||
|
||
Material component, and personal only.
|
||
//:://////////////////////////////////////////////
|
||
//:: Created By: Jasperre
|
||
//::////////////////////////////////////////////*/
|
||
|
||
#include "SMP_INC_SPELLS"
|
||
|
||
void main()
|
||
{
|
||
// Spell Hook Check.
|
||
if(!SMP_SpellHookCheck(SMP_SPELL_FORCE_ARMOR)) return;
|
||
|
||
// Check for SMP_ITEM_DIAMOND_IN_METAL,
|
||
// "a diamond worth at least 250 GP, encased in a metal sheet."
|
||
if(!SMP_ComponentExactItem(SMP_ITEM_DIAMOND_IN_METAL, "A diamond worth 250GP, encased in a metal sheet", "Force Armor")) return;
|
||
|
||
// Declare Major Variables
|
||
object oCaster = OBJECT_SELF;
|
||
object oTarget = GetSpellTargetObject();// Should be OBJECT_SELF
|
||
int nMetaMagic = SMP_GetMetaMagicFeat();
|
||
int nCasterLevel = SMP_GetCasterLevel();
|
||
|
||
// 1 Hour/level
|
||
float fDuration = SMP_GetDuration(SMP_HOURS, nCasterLevel, nMetaMagic);
|
||
|
||
// Delcare effects
|
||
effect eVis = EffectVisualEffect(VFX_IMP_AC_BONUS);
|
||
effect eAC = EffectACIncrease(8, AC_ARMOUR_ENCHANTMENT_BONUS);
|
||
effect eCessate = EffectVisualEffect(VFX_DUR_CESSATE_POSITIVE);
|
||
|
||
// Link effects
|
||
effect eLink = EffectLinkEffects(eAC, eCessate);
|
||
|
||
// Remove previous castings
|
||
SMP_RemoveSpellEffectsFromTarget(SMP_SPELL_FORCE_ARMOR, oTarget);
|
||
|
||
// Signal spell cast at
|
||
SMP_SignalSpellCastAt(oTarget, SMP_SPELL_FORCE_ARMOR, FALSE);
|
||
|
||
// Apply effects
|
||
SMP_ApplyDurationAndVFX(oTarget, eVis, eLink, fDuration);
|
||
}
|