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.
		
			
				
	
	
		
			42 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			42 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
| //Spell script for reserve feat Protective Ward
 | |
| //prc_reservprtwrd
 | |
| //by ebonfowl
 | |
| //Dedicated to Edgar, the real Ebonfowl
 | |
| 
 | |
| #include "prc_sp_func"
 | |
| #include "prc_inc_sp_tch"
 | |
| #include "prc_add_spell_dc"
 | |
| 
 | |
| void main()
 | |
| {
 | |
|     object oPC = OBJECT_SELF;
 | |
|     object oTarget = PRCGetSpellTargetObject();
 | |
| 
 | |
|     effect eEffect, eVis;
 | |
| 
 | |
|     int nSpellID = PRCGetSpellId();
 | |
|     int nBonus, nDuration;
 | |
| 
 | |
|     nBonus = GetLocalInt(oPC, "ProtectiveWardBonus");
 | |
|     nDuration = 1;
 | |
|             
 | |
|     eEffect = EffectACIncrease(nBonus, AC_DODGE_BONUS);
 | |
|     eEffect = SupernaturalEffect(eEffect);
 | |
|     eVis = EffectVisualEffect(VFX_IMP_AC_BONUS);
 | |
| 
 | |
|     if (nBonus == 0) 
 | |
|     {
 | |
|         FloatingTextStringOnCreature("You do not have a spell available of adequate level or type", oPC, FALSE);
 | |
|         return;
 | |
|     }
 | |
| 
 | |
|     if (GetObjectType(oTarget) == OBJECT_TYPE_CREATURE)
 | |
|     {
 | |
|         //Remove existing spell effects to prevent stacking
 | |
|         GZPRCRemoveSpellEffects(nSpellID, oTarget, FALSE);
 | |
| 
 | |
|         //Apply effects
 | |
|         ApplyEffectToObject(DURATION_TYPE_INSTANT, eVis, oTarget);
 | |
|         ApplyEffectToObject(DURATION_TYPE_TEMPORARY, eEffect, oTarget, RoundsToSeconds(nDuration));
 | |
|     }
 | |
| } |