217 lines
		
	
	
		
			5.7 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			217 lines
		
	
	
		
			5.7 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
| //::///////////////////////////////////////////////
 | |
| //:: Wholeness of Body
 | |
| //:: NW_S2_Wholeness
 | |
| //:: Copyright (c) 2001 Bioware Corp.
 | |
| //:://////////////////////////////////////////////
 | |
| /*
 | |
|     The monk is able to heal twice his level in HP
 | |
| */
 | |
| //:://////////////////////////////////////////////
 | |
| //:: Created By: Preston Watamaniuk
 | |
| //:: Created On: Aug 14, 2001
 | |
| //:://////////////////////////////////////////////
 | |
| 
 | |
| 
 | |
| // *** tarashon completely wiping out the normal function of the feat ***
 | |
| 
 | |
| // void main()
 | |
| // {
 | |
|     //Declare major variables
 | |
| //    int nLevel = GetLevelByClass(CLASS_TYPE_MONK, OBJECT_SELF) * 2;
 | |
| //    effect eHeal = EffectHeal(nLevel);
 | |
| //    effect eVis = EffectVisualEffect(VFX_IMP_HEALING_M);
 | |
| //    SignalEvent(OBJECT_SELF, EventSpellCastAt(OBJECT_SELF, SPELLABILITY_WHOLENESS_OF_BODY, FALSE));
 | |
|     //Apply the VFX impact and effects
 | |
| //    ApplyEffectToObject(DURATION_TYPE_INSTANT, eVis, OBJECT_SELF);
 | |
| //    ApplyEffectToObject(DURATION_TYPE_INSTANT, eHeal, OBJECT_SELF);
 | |
| // }
 | |
| 
 | |
| // *** Tarshon using a wisdom modified version of the allready customdesigned ***
 | |
| // *** of the allready modified Mighty Rage                                   ***
 | |
| 
 | |
| // *** It now gives WisBonus*2 regeneration, WisBonus +5 Magical Damage and the +4 saves. (Duration WisBonus +10)*2 *** //
 | |
| 
 | |
| 
 | |
| #include "x2_i0_spells"
 | |
| void main()
 | |
| {
 | |
|     if(!GetHasFeatEffect(FEAT_BARBARIAN_RAGE))
 | |
|     {
 | |
|         //Declare major variables
 | |
|         int nLevel = GetLevelByClass(CLASS_TYPE_BARBARIAN);
 | |
|         PlayVoiceChat(VOICE_CHAT_BATTLECRY1);
 | |
|         //Determine the duration by getting the con modifier after being modified
 | |
| 
 | |
|         int nWis = (GetAbilityModifier(ABILITY_WISDOM) + 10)*2;
 | |
| 
 | |
|         // *** Tarashon Defines how much damage bonus will be *** //
 | |
| 
 | |
|         int nWis2 = GetAbilityModifier(ABILITY_WISDOM);
 | |
| 
 | |
|         // *** Tarashon Define how much regeneration will be *** //
 | |
| 
 | |
|         int nWis3 = (GetAbilityModifier(ABILITY_WISDOM)+2)*2;
 | |
| 
 | |
|         // *** Tarashon modify normal stats bonusses ( from +8 ) *** //
 | |
| 
 | |
|         effect eStr = EffectAbilityIncrease(ABILITY_CONSTITUTION, 4);
 | |
|         effect eCon = EffectAbilityIncrease(ABILITY_STRENGTH, 4);
 | |
| 
 | |
|         // *** Tarashon Defines the new powers *** //
 | |
| 
 | |
|         effect eReg;
 | |
|         eReg = EffectRegenerate(nWis3, 6.0);
 | |
| 
 | |
|         int nDamage1 = (IPGetDamageBonusConstantFromNumber(nWis2));
 | |
| 
 | |
|         nDamage1 = nDamage1 +5;
 | |
| 
 | |
|         // *** Tarashon creating true damage counter from 1 to 20 ***
 | |
| 
 | |
| 
 | |
|          int dmgBoost = 0;
 | |
| 
 | |
|          if ( nDamage1 < 41 )
 | |
|          {
 | |
|             dmgBoost = DAMAGE_BONUS_20;
 | |
|          }
 | |
| 
 | |
|          if ( nDamage1 < 20 )
 | |
|          {
 | |
|             dmgBoost = DAMAGE_BONUS_19;
 | |
|          }
 | |
| 
 | |
|          if ( nDamage1 < 19 )
 | |
|          {
 | |
|             dmgBoost = DAMAGE_BONUS_18;
 | |
|          }
 | |
| 
 | |
|          if ( nDamage1 < 18 )
 | |
|          {
 | |
|             dmgBoost = DAMAGE_BONUS_17;
 | |
|          }
 | |
| 
 | |
|          if ( nDamage1 < 17 )
 | |
|          {
 | |
|             dmgBoost = DAMAGE_BONUS_16;
 | |
|          }
 | |
| 
 | |
|          if ( nDamage1 < 16 )
 | |
|          {
 | |
|             dmgBoost = DAMAGE_BONUS_15;
 | |
|          }
 | |
| 
 | |
|          if ( nDamage1 < 15 )
 | |
|          {
 | |
|             dmgBoost = DAMAGE_BONUS_14;
 | |
|          }
 | |
| 
 | |
|          if ( nDamage1 < 14 )
 | |
|          {
 | |
|             dmgBoost = DAMAGE_BONUS_13;
 | |
|          }
 | |
| 
 | |
|          if ( nDamage1 < 13 )
 | |
|          {
 | |
|             dmgBoost = DAMAGE_BONUS_12;
 | |
|          }
 | |
| 
 | |
|          if ( nDamage1 < 12 )
 | |
|          {
 | |
|             dmgBoost = DAMAGE_BONUS_11;
 | |
|          }
 | |
| 
 | |
|          if ( nDamage1 < 11 )
 | |
|          {
 | |
|             dmgBoost = DAMAGE_BONUS_10;
 | |
|          }
 | |
| 
 | |
|          if ( nDamage1 < 10 )
 | |
|          {
 | |
|             dmgBoost = DAMAGE_BONUS_9;
 | |
|          }
 | |
| 
 | |
|          if ( nDamage1 < 9 )
 | |
|          {
 | |
|             dmgBoost = DAMAGE_BONUS_8;
 | |
|          }
 | |
| 
 | |
|          if ( nDamage1 < 8 )
 | |
|          {
 | |
|             dmgBoost = DAMAGE_BONUS_7;
 | |
|          }
 | |
| 
 | |
|          if ( nDamage1 < 7 )
 | |
|          {
 | |
|             dmgBoost = DAMAGE_BONUS_6;
 | |
|          }
 | |
| 
 | |
|          if ( nDamage1 < 6 )
 | |
|          {
 | |
|             dmgBoost = DAMAGE_BONUS_5;
 | |
|          }
 | |
| 
 | |
|          if ( nDamage1 < 5 )
 | |
|          {
 | |
|             dmgBoost = DAMAGE_BONUS_4;
 | |
|          }
 | |
| 
 | |
|          if ( nDamage1 < 4 )
 | |
|          {
 | |
|             dmgBoost = DAMAGE_BONUS_3;
 | |
|          }
 | |
| 
 | |
|          if ( nDamage1 < 3 )
 | |
|          {
 | |
|             dmgBoost = DAMAGE_BONUS_2;
 | |
|          }
 | |
| 
 | |
|          if ( nDamage1 < 2 )
 | |
|          {
 | |
|             dmgBoost = DAMAGE_BONUS_1;
 | |
|          }
 | |
| 
 | |
| 
 | |
|         // *** End creating true damage boost***
 | |
| 
 | |
|         effect eDam;
 | |
|         eDam = EffectDamageIncrease(dmgBoost, DAMAGE_TYPE_DIVINE);
 | |
| 
 | |
|         // *** Tarashon's Definitions done *** //
 | |
| 
 | |
|         effect eSave = EffectSavingThrowIncrease(SAVING_THROW_WILL, 4);
 | |
|         effect eDur = EffectVisualEffect(VFX_DUR_CESSATE_POSITIVE);
 | |
| 
 | |
|         // *** Tarashon adding haste ***
 | |
| 
 | |
|          effect eHaste = EffectHaste();
 | |
| 
 | |
|         // *** Tarashon adding modified eStr and eCon to the new eReg and eDam *** //
 | |
| 
 | |
|         effect eLink = EffectLinkEffects(eReg, eDam);
 | |
|         eLink = EffectLinkEffects(eLink, eStr);
 | |
|         eLink = EffectLinkEffects(eLink, eCon);
 | |
|         eLink = EffectLinkEffects(eLink, eHaste);
 | |
| 
 | |
|         // *** Tarashon done modifying *** //
 | |
| 
 | |
|         eLink = EffectLinkEffects(eLink, eSave);
 | |
|         eLink = EffectLinkEffects(eLink, eDur);
 | |
|         SignalEvent(OBJECT_SELF, EventSpellCastAt(OBJECT_SELF, GetSpellId(), FALSE));
 | |
|         //Make effect extraordinary
 | |
|         eLink = ExtraordinaryEffect(eLink);
 | |
|         effect eVis = EffectVisualEffect(VFX_IMP_IMPROVE_ABILITY_SCORE); //Change to the Rage VFX
 | |
| 
 | |
|         if (nWis > 0)
 | |
|         {
 | |
|             //Apply the VFX impact and effects
 | |
|             ApplyEffectToObject(DURATION_TYPE_TEMPORARY, eLink, OBJECT_SELF, RoundsToSeconds(nWis));
 | |
|             ApplyEffectToObject(DURATION_TYPE_INSTANT, eVis, OBJECT_SELF) ;
 | |
| 
 | |
| 
 | |
|                     // 2003-07-08, Georg: Rage Epic Feat Handling
 | |
|                 CheckAndApplyEpicRageFeats(nWis);
 | |
|         }
 | |
|     }
 | |
| }
 |