Further file organization
Further file organization
This commit is contained in:
62
nwn/nwnprc/trunk/spells/sp_aug_famil.nss
Normal file
62
nwn/nwnprc/trunk/spells/sp_aug_famil.nss
Normal file
@@ -0,0 +1,62 @@
|
||||
//::///////////////////////////////////////////////
|
||||
//:: Name Augment Familiar
|
||||
//:: FileName sp_aug_famil.nss
|
||||
//:://////////////////////////////////////////////
|
||||
/**@file Augment Familiar
|
||||
Transmutation
|
||||
Level: Sor/Wiz 2, Hexblade 1
|
||||
Components: V,S
|
||||
Casting Time: 1 standard action
|
||||
Range: Close (25 ft. +5 ft./2 levels)
|
||||
Target: Your familiar
|
||||
Duration: Concentration + 1 round/level
|
||||
Saving Throw: Fortitude negates (harmless)
|
||||
Spell Resistance: Yes (harmless)
|
||||
|
||||
This spell grants your familiar a +4 enhancement bonus
|
||||
to Strength, Dexterity and Constitution, damage
|
||||
reduction 5/magic, and a +2 resistance bonus on
|
||||
saving throws.
|
||||
|
||||
**/
|
||||
|
||||
/////////////////////////////////////////////////////
|
||||
//:: Author: Tenjac
|
||||
//:: Date: 8.9.2006
|
||||
/////////////////////////////////////////////////////
|
||||
|
||||
#include "inc_npc"
|
||||
|
||||
void main()
|
||||
{
|
||||
if(!X2PreSpellCastCode()) return;
|
||||
|
||||
PRCSetSchool(SPELL_SCHOOL_TRANSMUTATION);
|
||||
|
||||
object oPC = OBJECT_SELF;
|
||||
object oTarget = PRCGetSpellTargetObject();
|
||||
|
||||
if(GetAssociateTypeNPC(oTarget) == ASSOCIATE_TYPE_FAMILIAR && GetMasterNPC(oTarget) == oPC)
|
||||
{
|
||||
int nCasterLvl = PRCGetCasterLevel(oPC);
|
||||
int nMetaMagic = PRCGetMetaMagicFeat();
|
||||
float fDur = RoundsToSeconds(nCasterLvl);
|
||||
if(nMetaMagic & METAMAGIC_EXTEND)
|
||||
fDur *= 2;
|
||||
|
||||
PRCSignalSpellEvent(oTarget, FALSE, SPELL_AUGMENT_FAMILIAR, oPC);
|
||||
|
||||
effect eBuff = EffectAbilityIncrease(ABILITY_STRENGTH, 4);
|
||||
eBuff = EffectLinkEffects(eBuff, EffectAbilityIncrease(ABILITY_DEXTERITY, 4));
|
||||
eBuff = EffectLinkEffects(eBuff, EffectAbilityIncrease(ABILITY_CONSTITUTION, 4));
|
||||
eBuff = EffectLinkEffects(eBuff, EffectDamageReduction(5, DAMAGE_POWER_PLUS_ONE, 0));
|
||||
eBuff = EffectLinkEffects(eBuff, EffectSavingThrowIncrease(SAVING_THROW_ALL, 2, SAVING_THROW_TYPE_ALL));
|
||||
|
||||
SPApplyEffectToObject(DURATION_TYPE_TEMPORARY, eBuff, oTarget, fDur, TRUE, SPELL_AUGMENT_FAMILIAR, nCasterLvl);
|
||||
}
|
||||
else
|
||||
{
|
||||
FloatingTextStrRefOnCreature(16789952, oPC, FALSE);
|
||||
}
|
||||
PRCSetSchool();
|
||||
}
|
Reference in New Issue
Block a user