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.
106 lines
3.5 KiB
Plaintext
106 lines
3.5 KiB
Plaintext
/*
|
|
----------------
|
|
Synesthete
|
|
|
|
psi_pow_synsth
|
|
----------------
|
|
|
|
1/11/04 by Stratovarius
|
|
*/ /** @file
|
|
|
|
Synesthete
|
|
|
|
Psychometabolism
|
|
Level: Psion/wilder 1, psychic warrior 1
|
|
Manifesting Time: 1 standard action
|
|
Range: Personal
|
|
Target: You
|
|
Duration: 10 min./level
|
|
Power Points: 1
|
|
Metapsionics: Extend
|
|
|
|
You receive one kind of sensory input when a different sense is stimulated.
|
|
In particular, you can feel light and sound on the skin of your face. Your
|
|
senses continue to work normally as well, unless they are impaired for some
|
|
reason.
|
|
|
|
By feeling light by absorbing ambient light onto your skin, you have your
|
|
normal visual abilities, even if your eyes are closed or you are blinded.
|
|
You gain a +4 circumstance bonus on all Spot and Search checks.
|
|
|
|
By feeling sound by absorbing sound onto your skin, the expanded audio input
|
|
provides you with a +4 circumstance bonus on Listen checks.
|
|
|
|
Psionic or magical displacement effects, invisibility effects, illusions,
|
|
and other similar effects confuse your synesthete senses just as they would
|
|
your normal senses.
|
|
|
|
You can also use this power to see sound if you are deafened, or hear light
|
|
if you are blinded, thus removing all penalties associated with either
|
|
condition.
|
|
*/
|
|
|
|
#include "psi_inc_psifunc"
|
|
#include "psi_inc_pwresist"
|
|
#include "psi_spellhook"
|
|
#include "spinc_remeffct"
|
|
|
|
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;
|
|
object oTarget = PRCGetSpellTargetObject();
|
|
struct manifestation manif =
|
|
EvaluateManifestation(oManifester, oTarget,
|
|
PowerAugmentationProfile(),
|
|
METAPSIONIC_EXTEND
|
|
);
|
|
|
|
if(manif.bCanManifest)
|
|
{
|
|
effect eLink = EffectSkillIncrease(SKILL_SPOT, 4);
|
|
eLink = EffectLinkEffects(eLink, EffectSkillIncrease(SKILL_SEARCH, 4));
|
|
eLink = EffectLinkEffects(eLink, EffectSkillIncrease(SKILL_LISTEN, 4));
|
|
eLink = EffectLinkEffects(eLink, EffectImmunity(IMMUNITY_TYPE_BLINDNESS));
|
|
eLink = EffectLinkEffects(eLink, EffectImmunity(IMMUNITY_TYPE_DEAFNESS));
|
|
eLink = EffectLinkEffects(eLink, EffectVisualEffect(PSI_DUR_SYNESTHETE));
|
|
eLink = EffectLinkEffects(eLink, EffectVisualEffect(VFX_DUR_CESSATE_POSITIVE));
|
|
effect eTest;
|
|
float fDuration = 600.0f * manif.nManifesterLevel;
|
|
if(manif.bExtend) fDuration *= 2;
|
|
|
|
// Remove existing blindness / deafness
|
|
eTest = GetFirstEffect(oTarget);
|
|
while(GetIsEffectValid(eTest))
|
|
{
|
|
if(GetEffectType(eTest) == EFFECT_TYPE_BLINDNESS ||
|
|
GetEffectType(eTest) == EFFECT_TYPE_DEAF
|
|
)
|
|
{
|
|
if(!GetShouldNotBeRemoved(eTest))
|
|
RemoveEffect(oTarget, eTest);
|
|
}
|
|
|
|
eTest = GetNextEffect(oTarget);
|
|
}
|
|
|
|
// Apply effects
|
|
SPApplyEffectToObject(DURATION_TYPE_TEMPORARY, eLink, oTarget, fDuration, TRUE, manif.nSpellID, manif.nManifesterLevel);
|
|
}// end if - Successfull manifestation
|
|
}
|