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.
		
			
				
	
	
		
			60 lines
		
	
	
		
			2.4 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			60 lines
		
	
	
		
			2.4 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
/**
 | 
						|
 * Rage
 | 
						|
 *
 | 
						|
 * Enchantment (Compulsion) [Mind-Affecting] 
 | 
						|
 * Level: Bard 2, Sorcerer/Wizard 3
 | 
						|
 * Components: V, S, 
 | 
						|
 * Casting Time: 1 standard action
 | 
						|
 * Range: Medium (100 ft. + 10 ft./level)
 | 
						|
 * Target: One willing living creature per three levels, no two of which may be more than 30 ft. apart
 | 
						|
 * Duration: Concentration + 1 round/level (D)
 | 
						|
 * Saving Throw: None
 | 
						|
 * Spell Resistance: Yes
 | 
						|
 *
 | 
						|
 * Each affected creature gains a +2 morale bonus to Strength and Constitution, a +1 morale bonus on Will saves, and a -2 penalty to AC.
 | 
						|
 */
 | 
						|
 | 
						|
#include "prc_inc_spells"
 | 
						|
 | 
						|
void main()
 | 
						|
{
 | 
						|
    PRCSetSchool(SPELL_SCHOOL_ENCHANTMENT);
 | 
						|
    if (!X2PreSpellCastCode())
 | 
						|
        return;
 | 
						|
 | 
						|
    //Declare major variables
 | 
						|
    object oTarget = PRCGetSpellTargetObject();
 | 
						|
    int CasterLvl = PRCGetCasterLevel(OBJECT_SELF);
 | 
						|
    int nMetaMagic = PRCGetMetaMagicFeat();
 | 
						|
    int nDuration = CasterLvl;
 | 
						|
    int nSpellID   = PRCGetSpellId();
 | 
						|
    if (CheckMetaMagic(nMetaMagic, METAMAGIC_EXTEND))
 | 
						|
        nDuration *= 2;
 | 
						|
 | 
						|
     // how many creatures (we've done one already)
 | 
						|
     int nCreatures = (CasterLvl/3);
 | 
						|
     if (nCreatures >= 1)
 | 
						|
     {
 | 
						|
         object oNextTarget = MyFirstObjectInShape(SHAPE_SPHERE, FeetToMeters(30.0), GetLocation(oTarget), TRUE); // only creatures
 | 
						|
         int nCount;
 | 
						|
         while (GetIsObjectValid(oNextTarget) && nCount < nCreatures)
 | 
						|
         {
 | 
						|
             if (GetIsFriend(oNextTarget, OBJECT_SELF) && PRCGetIsAliveCreature(oNextTarget))
 | 
						|
             {
 | 
						|
                 //Fire cast spell at event for the specified target
 | 
						|
                 SignalEvent(oNextTarget, EventSpellCastAt(OBJECT_SELF, nSpellID));
 | 
						|
                 effect eLink = EffectVisualEffect(VFX_DUR_CESSATE_POSITIVE);
 | 
						|
                        eLink = EffectLinkEffects(eLink, EffectAbilityIncrease(ABILITY_CONSTITUTION, 2));
 | 
						|
                        eLink = EffectLinkEffects(eLink, EffectAbilityIncrease(ABILITY_STRENGTH, 2));
 | 
						|
                        eLink = EffectLinkEffects(eLink, EffectSavingThrowIncrease(SAVING_THROW_WILL, 1));
 | 
						|
                        eLink = EffectLinkEffects(eLink, EffectACDecrease(2, AC_DODGE_BONUS));
 | 
						|
                 SPApplyEffectToObject(DURATION_TYPE_TEMPORARY, eLink, oTarget, RoundsToSeconds(nDuration),TRUE,-1,CasterLvl);
 | 
						|
                 nCount++;
 | 
						|
             }
 | 
						|
             oNextTarget = MyNextObjectInShape(SHAPE_SPHERE, FeetToMeters(30.0), GetLocation(oTarget), TRUE); // only creatures
 | 
						|
         }
 | 
						|
     }
 | 
						|
 | 
						|
     PRCSetSchool();
 | 
						|
}
 |