Jaysyn904 6ec137a24e Updated AMS marker feats
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.
2024-02-11 14:01:05 -05:00

107 lines
3.7 KiB
Plaintext

/*:://////////////////////////////////////////////
//:: Spell Name Righteous Might
//:: Spell FileName PHS_S_RighteousM
//:://////////////////////////////////////////////
//:: In Game Spell desctiption
//:://////////////////////////////////////////////
Transmutation
Level: Clr 5, Strength 5
Components: V, S, DF
Casting Time: 1 standard action
Range: Personal
Target: You
Duration: 1 round/level (D)
You seem to feel your height grow, and your weight increase. The effects are
not visible, but you are given several bonuses to your abilities. You gain
a +4 size bonus to Strength and a +2 size bonus to Constitution. You gain a
+2 enhancement bonus to your natural armor. You gain damage resistance
against a particular alignment depending on what energy your channel. If
you channel positive energy, you gain 3/- physical damage resistance
against evil. Negative energy provides the same against good, and neutral
casters will use whatever they normally channel. At 12th level, the damage
resistance becomes 6/-, and at 15th level it becomes 9/- (the maximum). You
also have an additional penalty of -4 dodge AC, due to you being more clumsy
due to feeling much larger then you actually are.
//:://////////////////////////////////////////////
//:: Spell Effects Applied / Notes
//:://////////////////////////////////////////////
We cannot visually do this.
Errata - Made so it is +4 STR, +2 Con, +2 AC, and 3/6/9 DR. More balanced.
We can, however, give the bonuses;
+4 Strength (stacks!)
+2 Con (Stacks!)
+2 AC (Natural)
-4 AC (Dodge)
3/-, 6/-, 9/- Damage resistance.
//:://////////////////////////////////////////////
//:: Created By: Jasperre
//::////////////////////////////////////////////*/
#include "PHS_INC_SPELLS"
void main()
{
// Spell Hook Check
if(!PHS_SpellHookCheck(PHS_SPELL_RIGHTEOUS_MIGHT)) return;
// Delcare major variables
object oCaster = OBJECT_SELF;
object oTarget = GetSpellTargetObject();// Should be OBJECT_SELF
int nCasterLevel = PHS_GetCasterLevel();
int nMetaMagic = PHS_GetMetaMagicFeat();
// Make sure they are not immune to spells
if(PHS_TotalSpellImmunity(oTarget)) return;
// Get duration in rounds
float fDuration = PHS_GetDuration(PHS_ROUNDS, nCasterLevel, nMetaMagic);
// Get DR amount
int nDR;
if(nCasterLevel >= 15)
{
nDR = 9;
}
else if(nCasterLevel >= 12)
{
nDR = 6;
}
else
{
nDR = 3;
}
// Declare effects
effect eVis = EffectVisualEffect(VFX_IMP_RIGHTEOUS_MIGHT);
effect eCessate = EffectVisualEffect(VFX_DUR_CESSATE_POSITIVE);
effect eStrength = EffectAbilityIncrease(ABILITY_STRENGTH, 4);
effect eCon = EffectAbilityIncrease(ABILITY_CONSTITUTION, 2);
effect eACGood = EffectACIncrease(2, AC_NATURAL_BONUS);
effect eACBad = EffectACDecrease(4, AC_DODGE_BONUS);
effect eDR = EffectDamageReduction(nDR, DAMAGE_POWER_PLUS_TWENTY);
// Damage resistance VS alignment
if(GetAlignmentGoodEvil(oCaster) == ALIGNMENT_EVIL)
{
eDR = VersusAlignmentEffect(eDR, ALIGNMENT_ALL, ALIGNMENT_GOOD);
}
else
{
eDR = VersusAlignmentEffect(eDR, ALIGNMENT_ALL, ALIGNMENT_EVIL);
}
effect eLink = EffectLinkEffects(eCessate, eStrength);
eLink = EffectLinkEffects(eLink, eCon);
eLink = EffectLinkEffects(eLink, eACGood);
eLink = EffectLinkEffects(eLink, eACBad);
eLink = EffectLinkEffects(eLink, eDR);
//Fire cast spell at event for the specified target
PHS_SignalSpellCastAt(oTarget, PHS_SPELL_RIGHTEOUS_MIGHT, FALSE);
// Apply VNF and effect.
PHS_ApplyDurationAndVFX(oTarget, eVis, eLink, fDuration);
}