66 lines
		
	
	
		
			2.2 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			66 lines
		
	
	
		
			2.2 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
//::///////////////////////////////////////////////
 | 
						|
//:: Aid
 | 
						|
//:: NW_S0_Aid.nss
 | 
						|
//:: Copyright (c) 2001 Bioware Corp.
 | 
						|
//:://////////////////////////////////////////////
 | 
						|
/*
 | 
						|
    Target creature gains +1 to attack rolls and
 | 
						|
    saves vs fear. Also gain +1d8 temporary HP.
 | 
						|
*/
 | 
						|
//:://////////////////////////////////////////////
 | 
						|
//:: Created By: Preston Watamaniuk   Modified by Tab, Realms of Trinity
 | 
						|
//:: Created On: Sept 6, 2001
 | 
						|
//:://////////////////////////////////////////////
 | 
						|
//:: VFX Pass By: Preston W, On: June 20, 2001
 | 
						|
void RemoveEffectsFromSpell(object oTarget, int SpellID)
 | 
						|
{
 | 
						|
  effect eLook = GetFirstEffect(oTarget);
 | 
						|
  while (GetIsEffectValid(eLook)) {
 | 
						|
    if (GetEffectSpellId(eLook) == SpellID)
 | 
						|
      RemoveEffect(oTarget, eLook);
 | 
						|
    eLook = GetNextEffect(oTarget);
 | 
						|
  }
 | 
						|
}
 | 
						|
void main()
 | 
						|
{
 | 
						|
    //Declare major variables
 | 
						|
    int nDuration = GetCasterLevel(OBJECT_SELF);
 | 
						|
    int nBonus = d8(1);
 | 
						|
    int nMetaMagic = GetMetaMagicFeat();
 | 
						|
    effect eDur = EffectVisualEffect(VFX_DUR_CESSATE_POSITIVE);
 | 
						|
 | 
						|
    //Enter Metamagic conditions
 | 
						|
    if (nMetaMagic == METAMAGIC_MAXIMIZE)
 | 
						|
    {
 | 
						|
        nBonus = 8;//Damage is at max
 | 
						|
    }
 | 
						|
    else if (nMetaMagic == METAMAGIC_EMPOWER)
 | 
						|
    {
 | 
						|
        nBonus = nBonus + (nBonus/2); //Damage/Healing is +50%
 | 
						|
    }
 | 
						|
    else if (nMetaMagic == METAMAGIC_EXTEND)
 | 
						|
    {
 | 
						|
        nDuration = nDuration *2; //Duration is +100%
 | 
						|
    }
 | 
						|
    effect eAttack = EffectAttackIncrease(1);
 | 
						|
    effect eSave = EffectSavingThrowIncrease(SAVING_THROW_ALL, 1, SAVING_THROW_TYPE_FEAR);
 | 
						|
 | 
						|
    effect eHP = EffectTemporaryHitpoints(nBonus);
 | 
						|
 | 
						|
    effect eVis = EffectVisualEffect(VFX_IMP_HOLY_AID);
 | 
						|
    object oTarget = GetSpellTargetObject();
 | 
						|
 | 
						|
    effect eLink = EffectLinkEffects(eAttack, eSave);
 | 
						|
    eLink = EffectLinkEffects(eLink, eDur);
 | 
						|
 | 
						|
    //Fire cast spell at event for the specified target
 | 
						|
    SignalEvent(oTarget, EventSpellCastAt(OBJECT_SELF, SPELL_AID, FALSE));
 | 
						|
 | 
						|
    //Apply the VFX impact and effects
 | 
						|
    RemoveEffectsFromSpell(OBJECT_SELF,SPELL_AID);
 | 
						|
    ApplyEffectToObject(DURATION_TYPE_INSTANT, eVis, oTarget);
 | 
						|
    ApplyEffectToObject(DURATION_TYPE_TEMPORARY, eLink, oTarget, TurnsToSeconds(nDuration));
 | 
						|
    ApplyEffectToObject(DURATION_TYPE_TEMPORARY, eHP, oTarget, TurnsToSeconds(nDuration));
 | 
						|
}
 | 
						|
 |