Updated Release Archive. Fixed Mage-killer prereqs. Removed old LETO & ConvoCC related files. Added organized spell scroll store. Fixed Gloura spellbook. Various TLK fixes. Reorganized Repo. Removed invalid user folders. Added DocGen back in.
63 lines
2.2 KiB
Plaintext
63 lines
2.2 KiB
Plaintext
/*:://////////////////////////////////////////////
|
||
//:: Spell Name Touch of Fatigue
|
||
//:: Spell FileName PHS_S_TouchFatig
|
||
//:://////////////////////////////////////////////
|
||
//:: In Game Spell desctiption
|
||
//:://////////////////////////////////////////////
|
||
Range: Touch Target: Creature touched Duration: 1 round/level
|
||
Saving Throw: Fortitude negates Spell Resistance: Yes
|
||
|
||
You channel negative energy through your touch, fatiguing the target. You must
|
||
succeed on a touch attack to strike a target. The subject is immediately
|
||
fatigued for the spell’s duration.
|
||
|
||
This spell has no effect on a creature that is already fatigued. Unlike with
|
||
normal fatigue, the effect ends as soon as the spell’s duration expires.
|
||
|
||
Material Component: A drop of sweat.
|
||
//:://////////////////////////////////////////////
|
||
//:: Spell Effects Applied / Notes
|
||
//:://////////////////////////////////////////////
|
||
Applies the fatigue using the special way.
|
||
//:://////////////////////////////////////////////
|
||
//:: Created By: Jasperre
|
||
//::////////////////////////////////////////////*/
|
||
|
||
#include "PHS_INC_SPELLS"
|
||
|
||
void main()
|
||
{
|
||
// Spell Hook Check.
|
||
if(!PHS_SpellHookCheck(PHS_SPELL_TOUCH_OF_FATIGUE)) return;
|
||
|
||
//Declare major variables
|
||
object oCaster = OBJECT_SELF;
|
||
object oTarget = GetSpellTargetObject();
|
||
int nMetaMagic = PHS_GetMetaMagicFeat();
|
||
int nCasterLevel = PHS_GetCasterLevel();
|
||
|
||
// 1 round/level
|
||
float fDuration = PHS_GetDuration(PHS_ROUNDS, nCasterLevel, nMetaMagic);
|
||
|
||
// Always fire spell cast at event
|
||
PHS_SignalSpellCastAt(oTarget, PHS_SPELL_TOUCH_OF_FATIGUE);
|
||
|
||
// Apply VFX (hit or not)
|
||
PHS_ApplyTouchVisual(oTarget, VFX_IMP_REDUCE_ABILITY_SCORE, nTouch);
|
||
|
||
// Melee touch attack.
|
||
if(PHS_SpellTouchAttack(PHS_TOUCH_MELEE, oTarget, TRUE))
|
||
{
|
||
// Must check reaction type for PvP
|
||
if(!GetIsReactionTypeFriendly(oTarget))
|
||
{
|
||
// Check spell resistance and immunities.
|
||
if(!PHS_SpellResistanceCheck(oCaster, oTarget))
|
||
{
|
||
// Apply VFX Impact and negative ability effect
|
||
PHS_ApplyFatigue(oTarget, FALSE, DURATION_TYPE_TEMPORARY, fDuration);
|
||
}
|
||
}
|
||
}
|
||
}
|