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.
		
			
				
	
	
		
			81 lines
		
	
	
		
			2.4 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			81 lines
		
	
	
		
			2.4 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
| //::///////////////////////////////////////////////
 | |
| //:: Name Drow Judicator Warstrike
 | |
| //:: FileName prc_dj_warstrike
 | |
| //:: Copyright (c) 2001 Bioware Corp.
 | |
| //:://////////////////////////////////////////////
 | |
| /*
 | |
| This is the spell effect of the Warstrike ability
 | |
| of the Drow Judicator prestige class.
 | |
| */
 | |
| //:://////////////////////////////////////////////
 | |
| //:: Created By: PsychicToaster
 | |
| //:: Created On: 7-24-04
 | |
| //:: Updated by Oni5115 9/23/2004 to use new combat engine
 | |
| //:://////////////////////////////////////////////
 | |
| 
 | |
| #include "prc_inc_combat"
 | |
| 
 | |
| void main()
 | |
| {
 | |
| 
 | |
| //Setup Variables
 | |
| object oPC      = OBJECT_SELF;
 | |
| object oTarget  = PRCGetSpellTargetObject();
 | |
| 
 | |
| if(oPC == oTarget)
 | |
| {
 | |
|      SendMessageToPC(oPC,"You cannot attack yourself...");
 | |
|      return;
 | |
| }
 | |
|         
 | |
| object oWeapR   = GetItemInSlot(INVENTORY_SLOT_RIGHTHAND, oPC);
 | |
| 
 | |
| int bIsRangedAttack = GetWeaponRanged(oWeapR);
 | |
| int    nClass   = GetLevelByClass(CLASS_TYPE_JUDICATOR);
 | |
| int    nChaMod  = GetAbilityModifier(ABILITY_CHARISMA);
 | |
| int    nFortDC  = 10+nClass+nChaMod;
 | |
| int    nCon     = d6(2);
 | |
| 
 | |
| //Roll Fortitude Saving Throw
 | |
| if(FortitudeSave(oTarget, nFortDC, SAVING_THROW_FORT, oPC))
 | |
| {
 | |
|     nCon = nCon/2;
 | |
| 			if (GetHasMettle(oTarget, SAVING_THROW_FORT))
 | |
| 			// This script does nothing if it has Mettle, bail
 | |
| 				return;      
 | |
|     //Debug
 | |
|     //SpeakString("Debug Save Succeeded.  Damage Dealt ="+IntToString(nCon));
 | |
| }
 | |
| 
 | |
| effect eVis = EffectVisualEffect(VFX_IMP_POISON_L);
 | |
| effect eCon  = EffectAbilityDecrease(ABILITY_CONSTITUTION,nCon);
 | |
| effect eLink = EffectLinkEffects(eVis, eCon);
 | |
| 
 | |
| //ApplyEffectToObject(DURATION_TYPE_PERMANENT, MagicalEffect(eLink), oTarget);
 | |
| //Debug
 | |
| //SpeakString("Damage Dealt ="+IntToString(nCon));
 | |
| 
 | |
| 
 | |
|      // script now uses combat system to hit and apply effect if appropriate
 | |
|      string sSuccess = "";
 | |
|      string sMiss = "";
 | |
|      float fDistance = GetDistanceBetween(oPC, oTarget);
 | |
|         
 | |
|      // If they are not within 10 ft, they can't do a melee attack.
 | |
|      if(!bIsRangedAttack &&  !GetIsInMeleeRange(oTarget, oPC) )
 | |
|      {
 | |
|           SendMessageToPC(oPC,"You are not close enough to your target to attack!");
 | |
|           return;
 | |
|      }
 | |
|      
 | |
|      if(!bIsRangedAttack)
 | |
|      {
 | |
|            AssignCommand(oPC, ActionMoveToLocation(GetLocation(oTarget), TRUE) );
 | |
|            sSuccess = "*War Strike Hit*";
 | |
|            sMiss    = "*War Strike Miss*";
 | |
|            
 | |
|      }        
 | |
|      
 | |
|      PerformAttackRound(oTarget, oPC, eLink, 0.0, 0, 0, 0, FALSE, sSuccess, sMiss);
 | |
| }
 |