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.
		
			
				
	
	
		
			73 lines
		
	
	
		
			2.6 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			73 lines
		
	
	
		
			2.6 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
/*:://////////////////////////////////////////////
 | 
						|
//:: Spell Name Storm of Vengance - On Enter
 | 
						|
//:: Spell FileName PHS_S_StormVenA
 | 
						|
//:://////////////////////////////////////////////
 | 
						|
//:: In Game Spell desctiption
 | 
						|
//:://////////////////////////////////////////////
 | 
						|
    On Enter: saving throw or deafened for 1d4x10 minutes.
 | 
						|
    No ranged attacks in the cloud.
 | 
						|
//:://////////////////////////////////////////////
 | 
						|
//:: Spell Effects Applied / Notes
 | 
						|
//:://////////////////////////////////////////////
 | 
						|
    As above, really!
 | 
						|
 | 
						|
    Concentration checks are made here in 2 second delay command heartbeats,
 | 
						|
    which are checked for the integer each time in the heartbeat.
 | 
						|
 | 
						|
    If concentration is broken, the AOE is destroyed.
 | 
						|
//:://////////////////////////////////////////////
 | 
						|
//:: Created By: Jasperre
 | 
						|
//::////////////////////////////////////////////*/
 | 
						|
 | 
						|
#include "PHS_INC_SPELLS"
 | 
						|
 | 
						|
void main()
 | 
						|
{
 | 
						|
    // Check AOE creator
 | 
						|
    if(!PHS_CheckAOECreator()) return;
 | 
						|
 | 
						|
    // Declare major variables
 | 
						|
    object oCaster = GetAreaOfEffectCreator();
 | 
						|
    object oTarget = GetEnteringObject();
 | 
						|
    int nMetaMagic = PHS_GetAOEMetaMagic();
 | 
						|
    int nSpellSaveDC = PHS_GetAOESpellSaveDC();
 | 
						|
 | 
						|
    // Declare effects
 | 
						|
    effect eDeaf = EffectDeaf();
 | 
						|
    effect eCessate = EffectVisualEffect(VFX_DUR_CESSATE_NEGATIVE);
 | 
						|
    effect eLink = EffectLinkEffects(eDeaf, eCessate);
 | 
						|
    effect eMissRanged = EffectMissChance(100, MISS_CHANCE_TYPE_VS_RANGED);
 | 
						|
    effect eConsRanged = EffectConcealment(100, MISS_CHANCE_TYPE_VS_RANGED);
 | 
						|
 | 
						|
    // eMissLink needs to be supernatural.
 | 
						|
    effect eMissLink = EffectLinkEffects(eMissRanged, eConsRanged);
 | 
						|
    eMissLink = SupernaturalEffect(eMissLink);
 | 
						|
 | 
						|
    // Always apply the consealment against ranged attacks and ranged attack
 | 
						|
    // failure.
 | 
						|
    PHS_ApplyPermanent(oTarget, eMissLink);
 | 
						|
 | 
						|
    // Get random duration
 | 
						|
    float fDuration = PHS_GetRandomDuration(PHS_ROUNDS, 4, 1, nMetaMagic);
 | 
						|
    // It is 10x1d4
 | 
						|
    fDuration *= 10;
 | 
						|
 | 
						|
    // PvP check and can the entering object hear the sound to start with?
 | 
						|
    if(!GetIsReactionTypeFriendly(oTarget, oCaster) && PHS_GetCanHear(oTarget))
 | 
						|
    {
 | 
						|
        // Signal event
 | 
						|
        PHS_SignalSpellCastAt(oTarget, PHS_SPELL_STORM_OF_VENGEANCE);
 | 
						|
 | 
						|
        // Spell reistance and immunity check
 | 
						|
        if(!PHS_SpellResistanceCheck(oCaster, oTarget))
 | 
						|
        {
 | 
						|
            // Saving throw against the effect
 | 
						|
            if(!PHS_SavingThrow(SAVING_THROW_FORT, oTarget, nSpellSaveDC, SAVING_THROW_TYPE_NONE, oCaster))
 | 
						|
            {
 | 
						|
                // Apply effects for the duration
 | 
						|
                DelayCommand(0.1, PHS_ApplyDuration(oTarget, eLink, fDuration));
 | 
						|
            }
 | 
						|
        }
 | 
						|
    }
 | 
						|
}
 |