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.
		
			
				
	
	
		
			77 lines
		
	
	
		
			2.5 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			77 lines
		
	
	
		
			2.5 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
| //:://////////////////////////////////////////////
 | |
| //:: Name     Diamondsteel
 | |
| //:: FileName   sp_diamondsteel.nss
 | |
| //:://////////////////////////////////////////////
 | |
| /** @file
 | |
| Diamondsteel
 | |
| Transmutation
 | |
| Level: Paladin 3, Sorcerer 3, Wizard 3,
 | |
| Components: V, S, M,
 | |
| Casting Time: 1 standard action
 | |
| Range: Touch
 | |
| Target: Suit of metal armor touched
 | |
| Duration: 1 round/level
 | |
| Saving Throw: Will negates (object)
 | |
| Spell Resistance: Yes (object)
 | |
| 
 | |
| You pass your hand over the suit of armor several times before finally touching it. 
 | |
| As you do so, you feel a warmth grow in the palm of your hand. The warmth passes into
 | |
| the armor and manifests as a sparkling shine.
 | |
| 
 | |
| Diamondsteel enhances the strength of one suit of metal armor. The armor provides 
 | |
| damage reduction equal to half the AC bonus of the armor. This damage reduction can 
 | |
| be overcome only by adamantine weapons. For example, a suit of full plate would provide
 | |
| damage reduction 4/adamantine, and a +1 breastplate (+6 AC) would provide damage reduction
 | |
| 3/adamantine.
 | |
| 
 | |
| Material Component: Diamond dust worth at least 50 gp.
 | |
| */
 | |
| //:://////////////////////////////////////////////
 | |
| //:: Created By: Tenjac
 | |
| //:: Created On: 1/23/21
 | |
| //:://////////////////////////////////////////////
 | |
| 
 | |
| #include "prc_sp_func"
 | |
| #include "prc_add_spell_dc"
 | |
| 
 | |
| 
 | |
| void main()
 | |
| {
 | |
| 	if(!X2PreSpellCastCode()) return;
 | |
| 	PRCSetSchool(SPELL_SCHOOL_TRANSMUTATION);
 | |
| 	object oPC = OBJECT_SELF;
 | |
|         int nCasterLvl = PRCGetCasterLevel(oPC);
 | |
|         int oTarget = SPGetSpellTargetObject();
 | |
|         
 | |
|         if(GetObjectType(oTarget)) == OBJECT_TYPE_ITEM
 | |
|         {
 | |
|         	oArmor = oTarget;
 | |
|         }
 | |
|         
 | |
|         if(GetObjectType(oTarget)) == OBJECT_TYPE_CREATURE
 | |
|         {
 | |
|         	oArmor = GetItemInSlot(INVENTORY_SLOT_CHEST, oTarget);
 | |
|         }        
 | |
|         int nMetaMagic = PRCGetMetaMagicFeat();        
 | |
|         int nAC = GetBaseAC(oArmor);
 | |
|         
 | |
|         //Must be metal
 | |
|         if(nAC > 3)
 | |
|         {
 | |
|         	if(nMetaMagic & METAMAGIC_EXTEND)
 | |
|         	{
 | |
|         		fDur += fDur;
 | |
|         	}        
 | |
|         	
 | |
|         	//Get amount for bonus - includes any +
 | |
|         	int nBonus = GetItemACValue(oArmor)/2;
 | |
|         	
 | |
|         	//Adamantine is x/+5
 | |
|         	effect eDR = EffectDamageReduction(nBonus, DAMAGE_POWER_PLUS_FIVE);        	
 | |
|         	SPApplyEffectToObject(DURATION_TYPE_TEMPORARY, eDR, oTarget, fDur);
 | |
|         	SPApplyEffectToObject(DURATION_TYPE_INSTANT, EffectVisualEffect(VFX_IMP_AC_BONUS), oTarget);        	
 | |
|         }
 | |
|         else SendMessageToPC(oPC, "Invalid target. Target armor must be metal."
 | |
| 	
 | |
| 	PRCSetSchool();
 | |
| } |