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.
76 lines
2.7 KiB
Plaintext
76 lines
2.7 KiB
Plaintext
/*:://////////////////////////////////////////////
|
|
//:: Spell Name Aid
|
|
//:: Spell FileName SMP_S_Aid
|
|
//:://////////////////////////////////////////////
|
|
//:: In Game Spell desctiption
|
|
//:://////////////////////////////////////////////
|
|
Enchantment (Compulsion) [Mind-Affecting]
|
|
Level: Clr 2, Good 2, Luck 2
|
|
Components: V, S, DF
|
|
Casting Time: 1 standard action
|
|
Range: Touch
|
|
Target: Living creature touched
|
|
Duration: 1 min./level
|
|
Saving Throw: None
|
|
Spell Resistance: Yes (harmless)
|
|
|
|
Aid grants the target a +1 morale bonus on attack rolls and saves against
|
|
fear effects, plus temporary hit points equal to 1d8 + caster level (to a
|
|
maximum of 1d8+10 temporary hit points at caster level 10th).
|
|
//:://////////////////////////////////////////////
|
|
//:: Spell Effects Applied / Notes
|
|
//:://////////////////////////////////////////////
|
|
As above, but it does not affect dead people.
|
|
//:://////////////////////////////////////////////
|
|
//:: Created By: Jasperre
|
|
//::////////////////////////////////////////////*/
|
|
|
|
#include "SMP_INC_SPELLS"
|
|
|
|
void main()
|
|
{
|
|
// Spell hook check.
|
|
if(!SMP_SpellHookCheck()) return;
|
|
|
|
// Check target object.
|
|
object oTarget = GetSpellTargetObject();
|
|
|
|
// Invalid (IE construct etc.) races and so on.
|
|
if(!SMP_GetIsAliveCreature(oTarget, "Aid can only be cast on a living creature") ||
|
|
GetIsDead(oTarget)) return;
|
|
|
|
// Make sure they are not immune to spells
|
|
if(SMP_TotalSpellImmunity(oTarget)) return;
|
|
|
|
// Declare major variables
|
|
object oCaster = OBJECT_SELF;
|
|
int nCasterLevel = SMP_GetCasterLevel();
|
|
int nMetaMagic = SMP_GetMetaMagicFeat();
|
|
// Get bonus HP
|
|
int nMaxCasterBonus = SMP_LimitInteger(nCasterLevel, 10);
|
|
int nBonusHP = SMP_MaximizeOrEmpower(8, 1, nMetaMagic, nMaxCasterBonus);
|
|
|
|
// Get duration in minutes
|
|
float fDuration = SMP_GetDuration(SMP_MINUTES, nCasterLevel, nMetaMagic);
|
|
|
|
// Declare effects
|
|
effect eVis = EffectVisualEffect(VFX_IMP_HOLY_AID);
|
|
effect eAttack = EffectAttackIncrease(1);
|
|
effect eSave = EffectSavingThrowIncrease(SAVING_THROW_ALL, 1, SAVING_THROW_TYPE_FEAR);
|
|
effect eHP = EffectTemporaryHitpoints(nBonusHP);
|
|
effect eCessate = EffectVisualEffect(VFX_DUR_CESSATE_POSITIVE);
|
|
// Link effects
|
|
effect eLink = EffectLinkEffects(eAttack, eSave);
|
|
eLink = EffectLinkEffects(eLink, eCessate);
|
|
eLink = EffectLinkEffects(eLink, eHP);
|
|
|
|
// Remove the aid from previous castings.
|
|
SMP_RemoveSpellEffectsFromTarget(SMP_SPELL_AID, oTarget);
|
|
|
|
// Signal event for the specified creature
|
|
SMP_SignalSpellCastAt(oTarget, SMP_SPELL_AID, FALSE);
|
|
|
|
//Apply the VFX impact and effects
|
|
SMP_ApplyDurationAndVFX(oTarget, eVis, eLink, fDuration);
|
|
}
|