85 lines
		
	
	
		
			2.6 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			85 lines
		
	
	
		
			2.6 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
| //::///////////////////////////////////////////////
 | |
| //:: Battletide
 | |
| //:: X2_S0_BattTide
 | |
| //:: Copyright (c) 2001 Bioware Corp.
 | |
| //:://////////////////////////////////////////////
 | |
| /*
 | |
|     You create an aura that steals energy from your
 | |
|     enemies. Your enemies suffer a -2 circumstance
 | |
|     penalty on saves, attack rolls, and damage rolls,
 | |
|     once entering the aura. On casting, you gain a
 | |
|     +2 circumstance bonus to your saves, attack rolls,
 | |
|     and damage rolls.
 | |
| */
 | |
| //:://////////////////////////////////////////////
 | |
| //:: Created By: Andrew Nobbs
 | |
| //:: Created On: Dec 04, 2002
 | |
| //:://////////////////////////////////////////////
 | |
| //:: Last Updated By: Andrew Nobbs 06/06/03
 | |
| /*
 | |
| Patch 1.71, fix by Shadoow
 | |
| 
 | |
| - disabled aura stacking
 | |
| - moving bug fixed, now caster gains benefit of aura all the time, (cannot guarantee the others,
 | |
| thats module-related)
 | |
| */
 | |
| 
 | |
| #include "70_inc_spells"
 | |
| #include "x2_i0_spells"
 | |
| #include "x2_inc_spellhook"
 | |
| 
 | |
| void main()
 | |
| {
 | |
| /*
 | |
|   Spellcast Hook Code
 | |
|   Added 2003-07-07 by Georg Zoeller
 | |
|   If you want to make changes to all spells,
 | |
|   check x2_inc_spellhook.nss to find out more
 | |
| 
 | |
| */
 | |
| 
 | |
|     if (!X2PreSpellCastCode())
 | |
|     {
 | |
|     // If code within the PreSpellCastHook (i.e. UMD) reports FALSE, do not run this spell
 | |
|         return;
 | |
|     }
 | |
| 
 | |
| // End of Spell Cast Hook
 | |
| 
 | |
|     //Declare major variables
 | |
|     spellsDeclareMajorVariables();
 | |
|     effect eAOE = EffectAreaOfEffect(AOE_MOB_TIDE_OF_BATTLE);
 | |
|     effect eVis = EffectVisualEffect(VFX_IMP_AURA_UNEARTHLY);
 | |
|     effect eVis2 = EffectVisualEffect(VFX_IMP_HOLY_AID);
 | |
|     effect eSaves = EffectSavingThrowIncrease(SAVING_THROW_ALL,2);
 | |
|     effect eAttack = EffectAttackIncrease(2);
 | |
|     effect eDamage = EffectDamageIncrease(2,DAMAGE_TYPE_MAGICAL);
 | |
|     effect eDur = EffectVisualEffect(VFX_DUR_CESSATE_POSITIVE);
 | |
|     //Link the effects
 | |
|     effect eLink = EffectLinkEffects(eAttack,eDamage);
 | |
|     eLink = EffectLinkEffects(eLink,eSaves);
 | |
|     eLink = EffectLinkEffects(eLink,eDur);
 | |
| 
 | |
|     eLink = EffectLinkEffects(eLink,eVis);
 | |
|     eLink = EffectLinkEffects(eLink,eAOE);
 | |
| 
 | |
|     int nDuration = spell.Level;
 | |
| 
 | |
|     //Make metamagic check for extend
 | |
|     if(spell.Meta == METAMAGIC_EXTEND)
 | |
|     {
 | |
|         nDuration = nDuration *2;   //Duration is +100%
 | |
|     }
 | |
| 
 | |
|     //prevent stacking
 | |
|     RemoveEffectsFromSpell(spell.Target, spell.Id);
 | |
| 
 | |
|     //Apply the VFX impact and linked effects
 | |
|     SignalEvent(spell.Target, EventSpellCastAt(spell.Caster, spell.Id, FALSE));
 | |
|     ApplyEffectToObject(DURATION_TYPE_INSTANT, eVis2, spell.Target);
 | |
| 
 | |
|     //Create the AOE object at the selected location
 | |
|     ApplyEffectToObject(DURATION_TYPE_TEMPORARY, eLink, spell.Target, RoundsToSeconds(nDuration));
 | |
|     spellsSetupNewAOE("VFX_MOB_BATTLETIDE");
 | |
| }
 |