Updated Release Archive. Fixed Mage-killer prereqs. Removed old LETO & ConvoCC related files. Added organized spell scroll store. Fixed Gloura spellbook. Various TLK fixes. Reorganized Repo. Removed invalid user folders. Added DocGen back in.
110 lines
4.0 KiB
Plaintext
110 lines
4.0 KiB
Plaintext
/*
|
||
----------------
|
||
Ectoplasmic Cocoon, Mass
|
||
|
||
psi_pow_ectococm
|
||
----------------
|
||
|
||
9/4/05 by Stratovarius
|
||
*/ /** @file
|
||
|
||
Ectoplasmic Cocoon, Mass
|
||
|
||
Metacreativity
|
||
Level: Shaper 7
|
||
Manifesting Time: 1 standard action
|
||
Range: Medium (100 ft. + 10 ft./level)
|
||
Area: 20-ft.-radius burst
|
||
Duration: 1 hour/level
|
||
Saving Throw: Reflex negates
|
||
Power Resistance: No
|
||
Power Points: 13
|
||
Metapsionics: Extend, Twin, Widen
|
||
|
||
You draw writhing strands of ectoplasm from the Astral Plane that wrap up
|
||
the subjects in the area like mummies. The subjects can still breathe but
|
||
are otherwise helpless, unable to see outside the cocoon, speak, or take any
|
||
physical actions. The subjects’s nostrils are clear (air passes through the
|
||
cocoon normally).
|
||
|
||
Augment: For every 2 additional power points you spend, the radius of this
|
||
power’s area increases by 5 feet.
|
||
*/
|
||
|
||
#include "psi_inc_psifunc"
|
||
#include "psi_inc_pwresist"
|
||
#include "psi_spellhook"
|
||
#include "prc_inc_spells"
|
||
|
||
void main()
|
||
{
|
||
/*
|
||
Spellcast Hook Code
|
||
Added 2004-11-02 by Stratovarius
|
||
If you want to make changes to all powers,
|
||
check psi_spellhook to find out more
|
||
|
||
*/
|
||
|
||
if (!PsiPrePowerCastCode())
|
||
{
|
||
// If code within the PrePowerCastHook (i.e. UMD) reports FALSE, do not run this spell
|
||
return;
|
||
}
|
||
|
||
// End of Spell Cast Hook
|
||
|
||
object oManifester = OBJECT_SELF;
|
||
struct manifestation manif =
|
||
EvaluateManifestation(oManifester, OBJECT_INVALID,
|
||
PowerAugmentationProfile(PRC_NO_GENERIC_AUGMENTS,
|
||
2, PRC_UNLIMITED_AUGMENTATION
|
||
),
|
||
METAPSIONIC_EXTEND | METAPSIONIC_TWIN | METAPSIONIC_WIDEN
|
||
);
|
||
|
||
if(manif.bCanManifest)
|
||
{
|
||
int nDC = GetManifesterDC(oManifester);
|
||
effect eLink = EffectCutsceneParalyze();
|
||
eLink = EffectLinkEffects(eLink, EffectVisualEffect(VFX_DUR_GLOBE_INVULNERABILITY));
|
||
// The cocoon has hardness 8 and 20 hitpoints
|
||
eLink = EffectLinkEffects(eLink, EffectDamageResistance(DAMAGE_TYPE_SLASHING, 8));
|
||
eLink = EffectLinkEffects(eLink, EffectDamageResistance(DAMAGE_TYPE_PIERCING, 8));
|
||
eLink = EffectLinkEffects(eLink, EffectDamageResistance(DAMAGE_TYPE_BLUDGEONING, 8));
|
||
eLink = EffectLinkEffects(eLink, EffectDamageReduction(20, DAMAGE_POWER_PLUS_TWENTY, 20));
|
||
effect eVis = EffectVisualEffect(VFX_DUR_TENTACLE);
|
||
float fRadius = EvaluateWidenPower(manif, FeetToMeters(20.0f + (5.0f * manif.nTimesAugOptUsed_1)));
|
||
float fDuration = RoundsToSeconds(manif.nManifesterLevel);
|
||
object oTarget;
|
||
location lTarget = PRCGetSpellTargetLocation();
|
||
if(manif.bExtend) fDuration *= 2;
|
||
|
||
// Handle Twin Power
|
||
int nRepeats = manif.bTwin ? 2 : 1;
|
||
for(; nRepeats > 0; nRepeats--)
|
||
{
|
||
oTarget = MyFirstObjectInShape(SHAPE_SPHERE, fRadius, lTarget, TRUE, OBJECT_TYPE_CREATURE);
|
||
while (GetIsObjectValid(oTarget))
|
||
{
|
||
// Only effect those that are hostile
|
||
if (spellsIsTarget(oTarget, SPELL_TARGET_STANDARDHOSTILE, oManifester))
|
||
{
|
||
// Let the AI know
|
||
PRCSignalSpellEvent(oTarget, TRUE, manif.nSpellID, oManifester);
|
||
|
||
// Reflex negates
|
||
if(!PRCMySavingThrow(SAVING_THROW_REFLEX, oTarget, nDC, SAVING_THROW_TYPE_NONE))
|
||
{
|
||
// Apply effects
|
||
SPApplyEffectToObject(DURATION_TYPE_TEMPORARY, eLink, oTarget, fDuration, TRUE, manif.nSpellID, manif.nManifesterLevel);
|
||
SPApplyEffectToObject(DURATION_TYPE_TEMPORARY, eVis, oTarget, 4.5f, FALSE);
|
||
}// end if - Save
|
||
}
|
||
|
||
oTarget = MyNextObjectInShape(SHAPE_SPHERE, fRadius, lTarget, TRUE, OBJECT_TYPE_CREATURE);
|
||
}// end while - Target loop
|
||
}// end for - Twin Power
|
||
}// end if - Successfull manifestation
|
||
}
|