Initial upload.

Adding base PRC 4.19a files to repository.
This commit is contained in:
Jaysyn904
2022-10-07 13:51:24 -04:00
parent 646eb01834
commit 1662218bb4
22441 changed files with 1274376 additions and 0 deletions

View File

@@ -0,0 +1,93 @@
//:://////////////////////////////////////////////
//:: Name Resist Energy
//:: FileName sp_resenergy.nss
//:://////////////////////////////////////////////
/** @file Abjuration
Level: Ranger 1, Duskblade 1, Cleric 2, Death Master 2,
Sha'ir 2, Wu Jen 2 (All), Death Delver 2, Fatemaker 2,
Knight of the Chalice 2, Knight of the Weave 2,
Vassal of Bahamut 2, Hoardstealer 2, Adept 2, Wizard 2,
Sorcerer 2, Paladin 2, Druid 2, Urban Druid 2, Dragon 2,
Fire 3
Components: V, S, DF,
Casting Time: 1 standard action
Range: Touch
Target: Creature touched
Duration: 10 min./level
Saving Throw: Fortitude negates (harmless)
Spell Resistance: Yes (harmless)
This abjuration grants a creature limited protection from
damage of whichever one of five energy types you select:
acid, cold, electricity, fire, or sonic. The subject gains
energy resistance 10 against the energy type chosen, meaning
that each time the creature is subjected to such damage
(whether from a natural or magical source), that damage is
reduced by 10 points before being applied to the creature's
hit points. The value of the energy resistance granted increases
to 20 points at 7th level and to a maximum of 30 points at 11th
level. The spell protects the recipient's equipment as well.
*/
//:://////////////////////////////////////////////
//:: Created By: Tenjac
//:: Created On: 7/20/22
//:://////////////////////////////////////////////
#include "prc_sp_func"
#include "prc_add_spell_dc"
void main()
{
if(!X2PreSpellCastCode()) return;
PRCSetSchool(SPELL_SCHOOL_ABJURATION);
object oPC = OBJECT_SELF;
int nCasterLvl = PRCGetCasterLevel(oPC);
float fDur = 600.0f * (nCasterLvl);
int nMetaMagic = PRCGetMetaMagicFeat();
if(nMetaMagic & METAMAGIC_EXTEND) fDur += fDur;
int nSpell = GetSpellId();
int nDamType;
int nVis;
if(nSpell == SPELL_RESIST_ENERGY_ACID)
{
nDamType = DAMAGE_TYPE_ACID;
nVis = VFX_DUR_AURA_GREEN;
}
else if (nSpell == SPELL_RESIST_ENERGY_COLD)
{
nDamType = DAMAGE_TYPE_COLD;
nVis = VFX_DUR_AURA_CYAN;
}
else if (nSpell == SPELL_RESIST_ENERGY_ELEC)
{
nDamType = DAMAGE_TYPE_ELECTRICAL;
nVis = VFX_DUR_AURA_WHITE;
}
else if (nSpell == SPELL_RESIST_ENERGY_FIRE)
{
nDamType = DAMAGE_TYPE_FIRE;
nVis = VFX_DUR_AURA_RED;
}
else if (nSpell == SPELL_RESIST_ENERGY_SONIC)
{
nDamType = DAMAGE_TYPE_SONIC;
nVis = VFX_DUR_AURA_BLUE_LIGHT;
}
else
{
SendMessageToPC(oPC, "Invalid spell ID.");
break;
}
int nDamRes = 10;
if(nCasterLvl > 6) nDamRes +=10;
if(nCasterLvl > 10) nDamRes +=10;
effect eLink = EffectLinkEffects(EffectVisualEffect(nVis), EffectDamageResistance(nDamType, nDamRes));
SPApplyEffectToObject(DURATION_TYPE_TEMPORARY, eLink, oTarget, fDur);
PRCSetSchool();
}