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.
		
			
				
	
	
		
			93 lines
		
	
	
		
			4.4 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			93 lines
		
	
	
		
			4.4 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
| //::///////////////////////////////////////////////
 | ||
| //:: Evards Black Tentacles: Heartbeat
 | ||
| //:: NW_S0_EvardsC
 | ||
| //:: Copyright (c) 2001 Bioware Corp.
 | ||
| //:://////////////////////////////////////////////
 | ||
| /*
 | ||
| This spell conjures a field of rubbery black tentacles, each 10 feet long.
 | ||
| These waving members seem to spring forth from the earth, floor, or whatever
 | ||
| surface is underfoot—including water. They grasp and entwine around creatures
 | ||
| that enter the area, holding them fast and crushing them with great strength.
 | ||
| Every creature within the area of the spell must make a grapple check, opposed
 | ||
| by the grapple check of the tentacles. Treat the tentacles attacking a particular
 | ||
| target as a Large creature with a base attack bonus equal to your caster level
 | ||
| and a Strength score of 19. Thus, its grapple check modifier is equal to your
 | ||
| caster level +8. The tentacles are immune to all types of damage.
 | ||
| Once the tentacles grapple an opponent, they may make a grapple check each round
 | ||
| on your turn to deal 1d6+4 points of bludgeoning damage. The tentacles continue
 | ||
| to crush the opponent until the spell ends or the opponent escapes.
 | ||
| Any creature that enters the area of the spell is immediately attacked by the
 | ||
| tentacles. Even creatures who aren’t grappling with the tentacles may move
 | ||
| through the area at only half normal speed.
 | ||
| */
 | ||
| //:://////////////////////////////////////////////
 | ||
| //:: Created By: Preston Watamaniuk
 | ||
| //:: Created On: Nov 23, 2001
 | ||
| //:://////////////////////////////////////////////
 | ||
| //:: GZ: Removed SR, its not there by the book
 | ||
| //:: Primogenitor: Implemented 3.5ed rules
 | ||
| #include "prc_inc_combmove"
 | ||
| 
 | ||
| void DecrementTentacleCount(object oTarget, string sVar)
 | ||
| {
 | ||
|     SetLocalInt(oTarget, sVar, GetLocalInt(oTarget, sVar) - 1);
 | ||
| }
 | ||
| 
 | ||
| void main()
 | ||
| {
 | ||
| DeleteLocalInt(OBJECT_SELF, "X2_L_LAST_SPELLSCHOOL_VAR");
 | ||
| SetLocalInt(OBJECT_SELF, "X2_L_LAST_SPELLSCHOOL_VAR", SPELL_SCHOOL_CONJURATION);
 | ||
| 
 | ||
|     int nMetaMagic = PRCGetMetaMagicFeat();
 | ||
|     int nCasterLevel = GetLocalInt(OBJECT_SELF, "X2_AoE_Caster_Level");
 | ||
|     object oTarget = GetFirstInPersistentObject();
 | ||
|     while(GetIsObjectValid(oTarget))
 | ||
|     {
 | ||
|         if(spellsIsTarget(oTarget, SPELL_TARGET_STANDARDHOSTILE , GetAreaOfEffectCreator())
 | ||
|             && GetCreatureFlag(oTarget, CREATURE_VAR_IS_INCORPOREAL) != TRUE)
 | ||
|         {
 | ||
|             //Fire cast spell at event for the target
 | ||
|             SignalEvent(oTarget, EventSpellCastAt(GetAreaOfEffectCreator(),
 | ||
|                 SPELL_EVARDS_BLACK_TENTACLES));
 | ||
|             //now do grappling and stuff
 | ||
|             int nGrappleSucessful = FALSE;
 | ||
|             //this spell doesnt need to make a touch attack
 | ||
|             //as defined in the spell
 | ||
|             int nAttackerGrappleMod = nCasterLevel+4+4;
 | ||
|             nGrappleSucessful = _DoGrappleCheck(OBJECT_INVALID, oTarget, nAttackerGrappleMod);
 | ||
|             if(nGrappleSucessful)
 | ||
|             {
 | ||
|                 //if already being grappled, apply damage
 | ||
|                 if(GetLocalInt(oTarget, "GrappledBy_"+ObjectToString(OBJECT_SELF)))
 | ||
|                 {
 | ||
|                     //apply the damage
 | ||
|                     int nDamage = d6();
 | ||
|                     if(nMetaMagic & METAMAGIC_MAXIMIZE)
 | ||
|                         nDamage = 6;
 | ||
|                     if(nMetaMagic & METAMAGIC_EMPOWER)
 | ||
|                         nDamage += nDamage/2;
 | ||
|                     nDamage += 4;
 | ||
|                     nDamage += SpellDamagePerDice(OBJECT_SELF, 1);
 | ||
|                     effect eDam = PRCEffectDamage(oTarget, nDamage, DAMAGE_TYPE_BLUDGEONING, DAMAGE_POWER_PLUS_TWO);
 | ||
|                     SPApplyEffectToObject(DURATION_TYPE_INSTANT, eDam, oTarget);
 | ||
|                 }
 | ||
|                 //now being grappled
 | ||
|                 AssignCommand(oTarget, ClearAllActions());
 | ||
|                 effect eHold = EffectCutsceneImmobilize();
 | ||
|                 effect eEntangle = EffectVisualEffect(VFX_DUR_SPELLTURNING_R);
 | ||
|                 effect eLink = EffectLinkEffects(eHold, eEntangle);
 | ||
|                 //eLink = EffectKnockdown();
 | ||
|                 SPApplyEffectToObject(DURATION_TYPE_TEMPORARY, eLink, oTarget, 6.0);
 | ||
|                 SetLocalInt(oTarget, "GrappledBy_"+ObjectToString(OBJECT_SELF),
 | ||
|                     GetLocalInt(oTarget, "GrappledBy_"+ObjectToString(OBJECT_SELF))+1);
 | ||
|                 DelayCommand(6.1, DecrementTentacleCount(oTarget, "GrappledBy_"+ObjectToString(OBJECT_SELF)));
 | ||
|             }
 | ||
|         }
 | ||
|         oTarget = GetNextInPersistentObject();
 | ||
|     }
 | ||
| 
 | ||
|     DeleteLocalInt(OBJECT_SELF, "X2_L_LAST_SPELLSCHOOL_VAR");
 | ||
| // Getting rid of the local integer storing the spellschool name
 | ||
| 
 | ||
| }
 |