forked from Jaysyn/PRC8
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.
102 lines
3.4 KiB
Plaintext
102 lines
3.4 KiB
Plaintext
//Spell script for reserve feat Clutch of Earth
|
|
//prc_reservcoe
|
|
//by ebonfowl
|
|
//Dedicated to Edgar, the real Ebonfowl
|
|
|
|
#include "prc_inc_sp_tch"
|
|
#include "prc_add_spell_dc"
|
|
#include "prc_inc_spells"
|
|
|
|
int EFIsFlying(object oCreature)
|
|
{
|
|
int nAppearance = GetAppearanceType(oCreature);
|
|
int bFlying = FALSE;
|
|
switch(nAppearance)
|
|
{
|
|
case APPEARANCE_TYPE_ALLIP:
|
|
case APPEARANCE_TYPE_BAT:
|
|
case APPEARANCE_TYPE_BAT_HORROR:
|
|
case APPEARANCE_TYPE_ELEMENTAL_AIR:
|
|
case APPEARANCE_TYPE_ELEMENTAL_AIR_ELDER:
|
|
case APPEARANCE_TYPE_FAERIE_DRAGON:
|
|
case APPEARANCE_TYPE_FALCON:
|
|
case APPEARANCE_TYPE_FAIRY:
|
|
case APPEARANCE_TYPE_HELMED_HORROR:
|
|
case APPEARANCE_TYPE_IMP:
|
|
case APPEARANCE_TYPE_LANTERN_ARCHON:
|
|
case APPEARANCE_TYPE_MEPHIT_AIR:
|
|
case APPEARANCE_TYPE_MEPHIT_DUST:
|
|
case APPEARANCE_TYPE_MEPHIT_EARTH:
|
|
case APPEARANCE_TYPE_MEPHIT_FIRE:
|
|
case APPEARANCE_TYPE_MEPHIT_ICE:
|
|
case APPEARANCE_TYPE_MEPHIT_MAGMA:
|
|
case APPEARANCE_TYPE_MEPHIT_OOZE:
|
|
case APPEARANCE_TYPE_MEPHIT_SALT:
|
|
case APPEARANCE_TYPE_MEPHIT_STEAM:
|
|
case APPEARANCE_TYPE_MEPHIT_WATER:
|
|
case APPEARANCE_TYPE_QUASIT:
|
|
case APPEARANCE_TYPE_RAVEN:
|
|
case APPEARANCE_TYPE_SHADOW:
|
|
case APPEARANCE_TYPE_SHADOW_FIEND:
|
|
case APPEARANCE_TYPE_SPECTRE:
|
|
case APPEARANCE_TYPE_WILL_O_WISP:
|
|
case APPEARANCE_TYPE_WRAITH:
|
|
case APPEARANCE_TYPE_WYRMLING_BLACK:
|
|
case APPEARANCE_TYPE_WYRMLING_BLUE:
|
|
case APPEARANCE_TYPE_WYRMLING_BRASS:
|
|
case APPEARANCE_TYPE_WYRMLING_BRONZE:
|
|
case APPEARANCE_TYPE_WYRMLING_COPPER:
|
|
case APPEARANCE_TYPE_WYRMLING_GOLD:
|
|
case APPEARANCE_TYPE_WYRMLING_GREEN:
|
|
case APPEARANCE_TYPE_WYRMLING_RED:
|
|
case APPEARANCE_TYPE_WYRMLING_SILVER:
|
|
case APPEARANCE_TYPE_WYRMLING_WHITE:
|
|
case APPEARANCE_TYPE_ELEMENTAL_WATER:
|
|
case APPEARANCE_TYPE_ELEMENTAL_WATER_ELDER:
|
|
case 401: //beholder
|
|
case 402: //beholder
|
|
case 403: //beholder
|
|
case 419: // harpy
|
|
case 430: // Demi Lich
|
|
case 472: // Hive mother
|
|
bFlying = TRUE;
|
|
}
|
|
return bFlying;
|
|
}
|
|
|
|
void main()
|
|
{
|
|
object oPC= OBJECT_SELF;
|
|
object oTarget = PRCGetSpellTargetObject();
|
|
|
|
int nBonus = 50 + (GetLocalInt(oPC, "ClutchOfEarthBonus")*5);
|
|
int nDC = 10 + GetLocalInt(oPC, "ClutchOfEarthBonus") + GetDCAbilityModForClass(GetPrimarySpellcastingClass(oPC), oPC);
|
|
|
|
effect eVis = EffectVisualEffect(VFX_IMP_HEAD_NATURE);
|
|
effect eEffect = EffectMovementSpeedDecrease(nBonus);
|
|
eEffect = SupernaturalEffect(eEffect);
|
|
|
|
if (!GetLocalInt(oPC, "ClutchOfEarthBonus"))
|
|
{
|
|
FloatingTextStringOnCreature("You do not have a spell available of adequate level or type", oPC, FALSE);
|
|
return;
|
|
}
|
|
|
|
if (EFIsFlying(oTarget) == TRUE)
|
|
{
|
|
FloatingTextStringOnCreature("Clutch of Earth does not affect flying enemies", oPC, FALSE);
|
|
return;
|
|
}
|
|
|
|
if (GetLocalInt(oTarget, "ClutchOfEarthSaved") == TRUE)
|
|
{
|
|
FloatingTextStringOnCreature("This creature cannot be affected by Touch of Earth for 24 hours", oPC, FALSE);
|
|
return;
|
|
}
|
|
|
|
if (!PRCMySavingThrow(SAVING_THROW_FORT, oTarget, nDC))
|
|
{
|
|
ApplyEffectToObject(DURATION_TYPE_TEMPORARY, eEffect, oTarget, 1.0);
|
|
}
|
|
else SetLocalInt(oTarget, "ClutchOfEarthSaved", TRUE);
|
|
} |