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.
101 lines
3.3 KiB
Plaintext
101 lines
3.3 KiB
Plaintext
//:://////////////////////////////////////////////
|
|
//:: Name Unmovable Object
|
|
//:: FileName sp_unmovobj.nss
|
|
//:://////////////////////////////////////////////
|
|
/** @file Evocation
|
|
Level: Paladin 4,
|
|
Components: V, S,
|
|
Casting Time: 1 action
|
|
Range: Personal
|
|
Target: You
|
|
Duration: 1 round/level
|
|
|
|
Charging yourself with divine energy, you bond yourself
|
|
to the ground beneath your feet and become the epitome
|
|
of stability.
|
|
The spell ends instantly if you move from your current
|
|
position and does not work unless you are in contact
|
|
with the ground.
|
|
|
|
You gain a +2 bonus to Strength, a +4 bonus to Constitution,
|
|
a +2 resistance bonus on saving throws, and a +4 dodge
|
|
bonus to AC.
|
|
|
|
You gain a +10 bonus to resist a bull rush (this bonus does
|
|
not include the +4 bonus for being "exceptionally stable",
|
|
but exceptionally stable creatures do get that bonus in
|
|
addition to the bonus from this spell).
|
|
|
|
You gain a +10 bonus to resist all trip attacks (but not
|
|
to your attempts to trip someone in return).
|
|
|
|
You gain a +10 resistance bonus on any roll made to resist
|
|
an effect that would cause you to move from your current
|
|
location.
|
|
|
|
For example, while you are not immune to enchantment
|
|
effects, you gain a +10 resistance bonus on saving throws
|
|
(or Charisma checks, in the case of effects such as charm
|
|
person) to resist commands that would cause you to leave
|
|
your current position.
|
|
|
|
*/
|
|
//:://////////////////////////////////////////////
|
|
//:: Created By: Tenjac
|
|
//:: Created On: 8/4/22
|
|
//:://////////////////////////////////////////////
|
|
|
|
#include "prc_sp_func"
|
|
#include "prc_add_spell_dc"
|
|
|
|
void StillCheck(object oPC, float fDur, location lLoc)
|
|
{
|
|
if(!GetIsInCombat(oPC) || GetLocation(oPC) != lLoc)
|
|
{
|
|
effect eToDispel = GetFirstEffect(oTarget);
|
|
while(GetIsEffectValid(eToDispel))
|
|
{
|
|
if(GetEffectSpellId(eToDispel) == SPELL_UNMOVABLE_OBJECT)
|
|
{
|
|
RemoveEffect(oTarget, eToDispel);
|
|
}
|
|
eToDispel = GetNextEffect(oTarget);
|
|
}
|
|
}
|
|
|
|
else DelayCommand(6.0f, StillCheck(oPC, fDur - 6.0f, lLoc));
|
|
}
|
|
|
|
void main()
|
|
{
|
|
if(!X2PreSpellCastCode()) return;
|
|
PRCSetSchool(SPELL_SCHOOL_EVOCATION);
|
|
object oPC = OBJECT_SELF;
|
|
int nCasterLvl = PRCGetCasterLevel(oPC);
|
|
float fDur = RoundsToSeconds(nCasterLvl);
|
|
int nMetaMagic = PRCGetMetaMagicFeat();
|
|
if(nMetaMagic & METAMAGIC_EXTEND) fDur += fDur;
|
|
|
|
//Delay to check if combat has ended, if so remove the effects
|
|
DelayCommand(6.0f, StillCheck(oPC, fDur - 6.0f, GetLocation(oPC)));
|
|
|
|
//Cutscene Immobilize
|
|
SPApplyEffectToObject(DURATION_TYPE_TEMPORARY, EffectCutsceneImmobilize(), oPC, fDur);
|
|
|
|
//+2 STR +4 CON
|
|
effect eLink = EffectLinkEffects(EffectAbilityIncrease(ABILITY_STRENGTH, 2), EffectAbilityIncrease(ABILITY_CONSTITUTION, 4));
|
|
|
|
//+2 Saving throws
|
|
eLink = EffectSavingThrowIncrease(SAVING_THROW_ALL, 2, SAVING_THROW_TYPE_ALL);
|
|
|
|
//+4 AC
|
|
eLink = EffectLinkEffects(eLink, EffectACIncrease(4, AC_DODGE_BONUS));
|
|
|
|
//+10 Save vs Fear
|
|
eLink = EffectLinkEffects(eLink, EffectSavingThrowIncrease(SAVING_THROW_ALL, 10, SAVING_THROW_TYPE_FEAR));
|
|
|
|
SPApplyEffectToObject(DURATION_TYPE_TEMPORARY, eLink, oPC, fDur);
|
|
SPApplyEffectToObject(DURATION_TYPE_INSTANT, EffectVisualEffect(VFX_IMP_AC_BONUS), oPC);
|
|
|
|
PRCSetSchool();
|
|
} |