Added PnP Dire Rat.
Added PnP Dire Rat.
This commit is contained in:
49
nwn_dark_sun/ps_psychsurg.nss
Normal file
49
nwn_dark_sun/ps_psychsurg.nss
Normal file
@@ -0,0 +1,49 @@
|
||||
/************************************
|
||||
* Psychic Surgery *
|
||||
* *
|
||||
* Cost: 15 *
|
||||
* Power Score: Wis -5 *
|
||||
* *
|
||||
************************************/
|
||||
|
||||
#include "lib_psionic"
|
||||
|
||||
void main()
|
||||
{
|
||||
object oPC=OBJECT_SELF;
|
||||
object oTarget=GetSpellTargetObject();
|
||||
int nCost=15;
|
||||
int nPowerScore=GetAbilityScore(oPC, ABILITY_WISDOM)-5;
|
||||
effect eVis=EffectVisualEffect(VFX_IMP_SONIC);
|
||||
eVis=EffectLinkEffects(eVis, EffectVisualEffect(VFX_IMP_HEALING_M));
|
||||
effect eRem=GetFirstEffect(oTarget);
|
||||
int nType;
|
||||
int nLevel=GetEffectivePsionicLevel(oPC, FEAT_PSIONIC_PSYCHIC_SURGERY);
|
||||
|
||||
if (!PowerCheck(oPC, nCost, nPowerScore, FEAT_PSIONIC_PSYCHIC_SURGERY)) return;
|
||||
|
||||
while (GetIsEffectValid(eRem))
|
||||
{
|
||||
nType=GetEffectType(eRem);
|
||||
|
||||
if (nType==EFFECT_TYPE_CHARMED || nType==EFFECT_TYPE_CONFUSED
|
||||
|| nType==EFFECT_TYPE_DAZED || nType==EFFECT_TYPE_DOMINATED
|
||||
|| nType==EFFECT_TYPE_FRIGHTENED || nType==EFFECT_TYPE_SLEEP
|
||||
|| nType==EFFECT_TYPE_STUNNED
|
||||
|| ( (nType==EFFECT_TYPE_SPELL_FAILURE || nType==EFFECT_TYPE_SLOW
|
||||
|| nType==EFFECT_TYPE_NEGATIVELEVEL || nType==EFFECT_TYPE_SAVING_THROW_DECREASE
|
||||
|| nType==EFFECT_TYPE_AC_DECREASE || nType==EFFECT_TYPE_ATTACK_DECREASE
|
||||
|| nType==EFFECT_TYPE_SKILL_DECREASE || nType==EFFECT_TYPE_BLINDNESS
|
||||
|| nType==EFFECT_TYPE_DAMAGE_DECREASE || nType==EFFECT_TYPE_DEAF)
|
||||
&& GetEffectSubType(eRem)==SUBTYPE_EXTRAORDINARY))
|
||||
{
|
||||
RemoveEffect(oTarget, eRem);
|
||||
break;
|
||||
}
|
||||
|
||||
eRem=GetNextEffect(oTarget);
|
||||
}
|
||||
|
||||
ApplyEffectToObject(DURATION_TYPE_INSTANT, eVis, oTarget);
|
||||
|
||||
}
|
Reference in New Issue
Block a user