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.
110 lines
5.1 KiB
Plaintext
110 lines
5.1 KiB
Plaintext
/////////////////////////////////////////////////////////
|
|
/*
|
|
Chosen of Evil [Vile]
|
|
Your naked devotion to wickedness causes dark powers to
|
|
take an interest in your well-being.
|
|
Prerequisites: Con 13, any other vile feat.
|
|
Benefit: As an immediate action, you can take 1 point
|
|
of Constitution damage to gain an insight bonus equal
|
|
to the number of vile feats you have, including this one.
|
|
Until the end of your next turn, you can apply this bonus
|
|
to attack rolls, saving throws, or skill checks.*/
|
|
/////////////////////////////////////////////////////////
|
|
#include "prc_inc_spells"
|
|
|
|
int GetVileFeats(object oPC);
|
|
|
|
void main()
|
|
{
|
|
object oPC = OBJECT_SELF;
|
|
if(GetIsImmune(oPC, IMMUNITY_TYPE_ABILITY_DECREASE))
|
|
{
|
|
FloatingTextStringOnCreature("If you cannot take ability damage you cannot use this feat", oPC, FALSE);
|
|
return;
|
|
}
|
|
|
|
int nBonus = GetVileFeats(oPC);
|
|
int nSpell = GetSpellId();
|
|
float fDuration = TurnsToSeconds(1);
|
|
|
|
ApplyAbilityDamage(oPC, ABILITY_CONSTITUTION, 1, DURATION_TYPE_TEMPORARY, TRUE, -1.0f);
|
|
|
|
//VFX
|
|
ApplyEffectToObject(DURATION_TYPE_INSTANT, EffectVisualEffect(VFX_IMP_EVIL_HELP), oPC);
|
|
|
|
//Different effects
|
|
if(nSpell == SPELL_CHOSEN_EVIL_ATTACK)
|
|
ApplyEffectToObject(DURATION_TYPE_TEMPORARY, EffectAttackIncrease(nBonus), oPC, fDuration);
|
|
else if(nSpell == SPELL_CHOSEN_EVIL_SAVE)
|
|
ApplyEffectToObject(DURATION_TYPE_TEMPORARY, EffectSavingThrowIncrease(SAVING_THROW_ALL, nBonus, SAVING_THROW_TYPE_ALL), oPC, fDuration);
|
|
else if(nSpell == SPELL_CHOSEN_EVIL_SKILL)
|
|
ApplyEffectToObject(DURATION_TYPE_TEMPORARY, EffectSkillIncrease(SKILL_ALL_SKILLS, nBonus), oPC, fDuration);
|
|
|
|
//epic fail
|
|
else if(DEBUG) DoDebug("Invalid SpellID: " + IntToString(nSpell));
|
|
}
|
|
|
|
int GetVileFeats(object oPC)
|
|
{
|
|
int nCount = GetHasFeat(FEAT_DARK_SPEECH, oPC)
|
|
+ GetHasFeat(FEAT_DEFORM_EYES, oPC)
|
|
+ GetHasFeat(FEAT_DEFORM_FACE, oPC)
|
|
+ GetHasFeat(FEAT_VILE_DEFORM_GAUNT, oPC)
|
|
+ GetHasFeat(FEAT_VILE_DEFORM_OBESE, oPC)
|
|
+ GetHasFeat(FEAT_EB_HAND, oPC)
|
|
+ GetHasFeat(FEAT_EB_HEAD, oPC)
|
|
+ GetHasFeat(FEAT_EB_CHEST, oPC)
|
|
+ GetHasFeat(FEAT_EB_ARM, oPC)
|
|
+ GetHasFeat(FEAT_EB_NECK, oPC)
|
|
+ GetHasFeat(FEAT_LICHLOVED, oPC)
|
|
+ GetHasFeat(FEAT_THRALL_TO_DEMON, oPC)
|
|
+ GetHasFeat(FEAT_DISCIPLE_OF_DARKNESS, oPC)
|
|
+ GetHasFeat(FEAT_VILE_WILL_DEFORM, oPC)
|
|
+ GetHasFeat(FEAT_VILE_MARTIAL_CLUB, oPC)
|
|
+ GetHasFeat(FEAT_VILE_MARTIAL_DAGGER, oPC)
|
|
+ GetHasFeat(FEAT_VILE_MARTIAL_MACE, oPC)
|
|
+ GetHasFeat(FEAT_VILE_MARTIAL_MORNINGSTAR, oPC)
|
|
+ GetHasFeat(FEAT_VILE_MARTIAL_QUARTERSTAFF, oPC)
|
|
+ GetHasFeat(FEAT_VILE_MARTIAL_SPEAR, oPC)
|
|
+ GetHasFeat(FEAT_VILE_MARTIAL_SHORTSWORD, oPC)
|
|
+ GetHasFeat(FEAT_VILE_MARTIAL_RAPIER, oPC)
|
|
+ GetHasFeat(FEAT_VILE_MARTIAL_SCIMITAR, oPC)
|
|
+ GetHasFeat(FEAT_VILE_MARTIAL_LONGSWORD, oPC)
|
|
+ GetHasFeat(FEAT_VILE_MARTIAL_GREATSWORD, oPC)
|
|
+ GetHasFeat(FEAT_VILE_MARTIAL_HANDAXE, oPC)
|
|
+ GetHasFeat(FEAT_VILE_MARTIAL_BATTLEAXE, oPC)
|
|
+ GetHasFeat(FEAT_VILE_MARTIAL_GREATAXE, oPC)
|
|
+ GetHasFeat(FEAT_VILE_MARTIAL_HALBERD, oPC)
|
|
+ GetHasFeat(FEAT_VILE_MARTIAL_LIGHTHAMMER, oPC)
|
|
+ GetHasFeat(FEAT_VILE_MARTIAL_LIGHTFLAIL, oPC)
|
|
+ GetHasFeat(FEAT_VILE_MARTIAL_WARHAMMER, oPC)
|
|
+ GetHasFeat(FEAT_VILE_MARTIAL_HEAVYFLAIL, oPC)
|
|
+ GetHasFeat(FEAT_VILE_MARTIAL_SCYTHE, oPC)
|
|
+ GetHasFeat(FEAT_VILE_MARTIAL_KATANA, oPC)
|
|
+ GetHasFeat(FEAT_VILE_MARTIAL_BASTARDSWORD, oPC)
|
|
+ GetHasFeat(FEAT_VILE_MARTIAL_DIREMACE, oPC)
|
|
+ GetHasFeat(FEAT_VILE_MARTIAL_DOUBLEAXE, oPC)
|
|
+ GetHasFeat(FEAT_VILE_MARTIAL_TWOBLADED, oPC)
|
|
+ GetHasFeat(FEAT_VILE_MARTIAL_KAMA, oPC)
|
|
+ GetHasFeat(FEAT_VILE_MARTIAL_KUKRI, oPC)
|
|
+ GetHasFeat(FEAT_VILE_MARTIAL_HEAVYCROSSBOW, oPC)
|
|
+ GetHasFeat(FEAT_VILE_MARTIAL_LIGHTCROSSBOW, oPC)
|
|
+ GetHasFeat(FEAT_VILE_MARTIAL_SLING, oPC)
|
|
+ GetHasFeat(FEAT_VILE_MARTIAL_LONGBOW, oPC)
|
|
+ GetHasFeat(FEAT_VILE_MARTIAL_SHORTBOW, oPC)
|
|
+ GetHasFeat(FEAT_VILE_MARTIAL_SHURIKEN, oPC)
|
|
+ GetHasFeat(FEAT_VILE_MARTIAL_DART, oPC)
|
|
+ GetHasFeat(FEAT_VILE_MARTIAL_SICKLE, oPC)
|
|
+ GetHasFeat(FEAT_VILE_MARTIAL_DWAXE, oPC)
|
|
+ GetHasFeat(FEAT_VILE_MARTIAL_MINDBLADE, oPC)
|
|
+ GetHasFeat(FEAT_APOSTATE, oPC)
|
|
+ GetHasFeat(FEAT_DARK_WHISPERS, oPC)
|
|
+ GetHasFeat(FEAT_MASTERS_WILL, oPC)
|
|
+ GetHasFeat(FEAT_DEFORM_MADNESS, oPC)
|
|
+ GetHasFeat(FEAT_REFLEXIVE_PSYCHOSIS, oPC)
|
|
+ GetHasFeat(FEAT_FAVORED_ZULKIRS, oPC)
|
|
+ GetHasFeat(FEAT_CHOSEN_OF_EVIL, oPC);
|
|
//+ GetHasFeat(, oPC);
|
|
|
|
return nCount;
|
|
} |