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.
		
			
				
	
	
		
			102 lines
		
	
	
		
			3.1 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			102 lines
		
	
	
		
			3.1 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
| //::///////////////////////////////////////////////
 | |
| //:: Destruction
 | |
| //:: NW_S0_Destruc
 | |
| //:: Copyright (c) 2001 Bioware Corp.
 | |
| //:://////////////////////////////////////////////
 | |
| /*
 | |
|     The target creature is destroyed if it fails a
 | |
|     Fort save, otherwise it takes 10d6 damage.
 | |
| */
 | |
| //:://////////////////////////////////////////////
 | |
| //:: Created By: Preston Watamaniuk
 | |
| //:: Created On: Aug 13, 2001
 | |
| //:://////////////////////////////////////////////
 | |
| 
 | |
| 
 | |
| //:: modified by mr_bumpkin Dec 4, 2003
 | |
| #include "prc_inc_spells"
 | |
| #include "prc_add_spell_dc"
 | |
| 
 | |
| 
 | |
| 
 | |
| 
 | |
| void main()
 | |
| {
 | |
| DeleteLocalInt(OBJECT_SELF, "X2_L_LAST_SPELLSCHOOL_VAR");
 | |
| SetLocalInt(OBJECT_SELF, "X2_L_LAST_SPELLSCHOOL_VAR", SPELL_SCHOOL_NECROMANCY);
 | |
| 
 | |
| /*
 | |
|   Spellcast Hook Code
 | |
|   Added 2003-06-23 by GeorgZ
 | |
|   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
 | |
|     object oTarget = PRCGetSpellTargetObject();
 | |
|     int nMetaMagic = PRCGetMetaMagicFeat();
 | |
|     int nDamage;
 | |
|     effect eDeath = EffectDeath();
 | |
|     effect eDam;
 | |
|     effect eVis = EffectVisualEffect(234);
 | |
| 
 | |
| 
 | |
|     int CasterLvl = PRCGetCasterLevel(OBJECT_SELF);
 | |
|     CasterLvl +=SPGetPenetr();
 | |
| 
 | |
|     if(!GetIsReactionTypeFriendly(oTarget) && PRCGetIsAliveCreature(oTarget))
 | |
|     {
 | |
|         //Fire cast spell at event for the specified target
 | |
|         SignalEvent(oTarget, EventSpellCastAt(OBJECT_SELF, SPELL_DESTRUCTION));
 | |
|         //Make SR check
 | |
|         if(!PRCDoResistSpell(OBJECT_SELF, oTarget,CasterLvl))
 | |
|         {
 | |
|             //Make a saving throw check
 | |
|             if(!/*Fort Save*/ PRCMySavingThrow(SAVING_THROW_FORT, oTarget, PRCGetSaveDC(oTarget, OBJECT_SELF)))
 | |
|             {
 | |
|                 DeathlessFrenzyCheck(oTarget);
 | |
| 
 | |
|                 //Apply the VFX impact and effects
 | |
|                 SPApplyEffectToObject(DURATION_TYPE_INSTANT, eDeath, oTarget);
 | |
|             }
 | |
|             else if (GetHasMettle(oTarget, SAVING_THROW_FORT))
 | |
|             {
 | |
|         // This script does nothing if it has Mettle, bail
 | |
|             return;
 | |
|         }
 | |
|             else
 | |
|             {
 | |
|                 nDamage = d6(10);
 | |
|                 //Enter Metamagic conditions
 | |
|                 if ((nMetaMagic & METAMAGIC_MAXIMIZE))
 | |
|                 {
 | |
|                     nDamage = 60;//Damage is at max
 | |
|                 }
 | |
|                 if ((nMetaMagic & METAMAGIC_EMPOWER))
 | |
|                 {
 | |
|                     nDamage = nDamage + (nDamage/2); //Damage/Healing is +50%
 | |
|                 }
 | |
|                 nDamage += SpellDamagePerDice(OBJECT_SELF, 10);
 | |
|                 //Set damage effect
 | |
|                 eDam = PRCEffectDamage(oTarget, nDamage, DAMAGE_TYPE_DIVINE);
 | |
|                 SPApplyEffectToObject(DURATION_TYPE_INSTANT, eDam, oTarget);
 | |
|             }
 | |
|             //Apply VFX impact
 | |
|             SPApplyEffectToObject(DURATION_TYPE_INSTANT, eVis, oTarget);
 | |
|         }
 | |
|     }
 | |
| 
 | |
| DeleteLocalInt(OBJECT_SELF, "X2_L_LAST_SPELLSCHOOL_VAR");
 | |
| // Getting rid of the local integer storing the spellschool name
 | |
| }
 |