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.
		
			
				
	
	
		
			90 lines
		
	
	
		
			2.5 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			90 lines
		
	
	
		
			2.5 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
//::///////////////////////////////////////////////
 | 
						|
//:: Name      Evil Eye
 | 
						|
//:: FileName  sp_evil_eye.nss
 | 
						|
//:://////////////////////////////////////////////
 | 
						|
/**@file Evil Eye
 | 
						|
Enchantment [Evil]
 | 
						|
Level: Mortal Hunter 2, Sor/Wiz 3
 | 
						|
Components: S
 | 
						|
Casting Time: 1 action
 | 
						|
Range: Close (25 ft. + 5 ft./2 levels)
 | 
						|
Target: One creature
 | 
						|
Duration: Instantaneous (see text)
 | 
						|
Saving Throw: Will negates
 | 
						|
Spell Resistance: Yes
 | 
						|
 | 
						|
The caster focuses malevolent wishes through her
 | 
						|
gaze and curses someone with bad luck. The subject
 | 
						|
takes a -4 luck penalty on all attack rolls,
 | 
						|
saves, and checks. The spell ends at the next
 | 
						|
sunrise, when dismissed, when a remove curse is
 | 
						|
cast on the subject, or when the caster takes at
 | 
						|
least 1 point of damage from the subject.
 | 
						|
 | 
						|
Author:    Tenjac
 | 
						|
Created:   5/14/06
 | 
						|
*/
 | 
						|
//:://////////////////////////////////////////////
 | 
						|
//:://////////////////////////////////////////////
 | 
						|
 | 
						|
#include "prc_inc_spells"
 | 
						|
#include "prc_add_spell_dc"
 | 
						|
 | 
						|
void DawnCheck(object oTarget, object oPC, int nRemove)
 | 
						|
{
 | 
						|
    if(!GetIsDawn())
 | 
						|
    {
 | 
						|
        nRemove = 1;
 | 
						|
    }
 | 
						|
 | 
						|
    if((nRemove == 1) && (GetIsDawn()))
 | 
						|
    {
 | 
						|
        PRCRemoveSpellEffects(SPELL_EVIL_EYE, oPC, oTarget);
 | 
						|
        return;
 | 
						|
    }
 | 
						|
 | 
						|
    DelayCommand(HoursToSeconds(1), DawnCheck(oTarget, oPC, nRemove));
 | 
						|
}
 | 
						|
 | 
						|
void main()
 | 
						|
{
 | 
						|
    PRCSetSchool(SPELL_SCHOOL_NECROMANCY);
 | 
						|
 | 
						|
    // Run the spellhook.
 | 
						|
    if (!X2PreSpellCastCode()) return;
 | 
						|
 | 
						|
    object oPC = OBJECT_SELF;
 | 
						|
    object oTarget = PRCGetSpellTargetObject();
 | 
						|
    int nCasterLvl = PRCGetCasterLevel(oPC);
 | 
						|
    float fDuration = RoundsToSeconds(nCasterLvl);
 | 
						|
    int nPenalty = 4;
 | 
						|
    int nMetaMagic = PRCGetMetaMagicFeat();
 | 
						|
    int nDC = PRCGetSaveDC(oTarget, oPC);
 | 
						|
 | 
						|
    //Check Spell Resistance
 | 
						|
    if(!PRCDoResistSpell(oPC, oTarget, nCasterLvl + SPGetPenetr()))
 | 
						|
    {
 | 
						|
        //Will save
 | 
						|
        if(!PRCMySavingThrow(SAVING_THROW_WILL, oTarget, nDC, SAVING_THROW_TYPE_MIND_SPELLS))
 | 
						|
        {
 | 
						|
            effect eLink = EffectAttackDecrease(nPenalty, ATTACK_BONUS_MISC);
 | 
						|
            eLink = EffectLinkEffects(eLink, EffectSavingThrowDecrease(SAVING_THROW_ALL, nPenalty, SAVING_THROW_TYPE_ALL));
 | 
						|
            eLink = EffectLinkEffects(eLink, EffectSkillDecrease(SKILL_ALL_SKILLS, nPenalty));
 | 
						|
 | 
						|
            SPApplyEffectToObject(DURATION_TYPE_TEMPORARY, eLink, oTarget, HoursToSeconds(24));
 | 
						|
 | 
						|
            //Handle removal via damage
 | 
						|
            SetLocalString(oTarget, "EvilEyeCaster", GetName(oPC));
 | 
						|
 | 
						|
            //Handle removal via sunrise
 | 
						|
            {
 | 
						|
                DawnCheck(oTarget, oPC, 0);
 | 
						|
            }
 | 
						|
        }
 | 
						|
    }
 | 
						|
 | 
						|
    //SPEvilShift(oPC);
 | 
						|
    PRCSetSchool();
 | 
						|
}
 | 
						|
 |