forked from Jaysyn/PRC8
49 lines
1.4 KiB
Plaintext
49 lines
1.4 KiB
Plaintext
|
#include "prc_feat_const"
|
||
|
#include "prc_spell_const"
|
||
|
|
||
|
void main()
|
||
|
{
|
||
|
|
||
|
if (!GetHasFeat(FEAT_EPIC_DIVINE_VIGOR, OBJECT_SELF))
|
||
|
{
|
||
|
if(GetHasFeatEffect(FEAT_DIVINE_VIGOR) == FALSE )
|
||
|
{
|
||
|
if (!GetHasFeat(FEAT_TURN_UNDEAD, OBJECT_SELF))
|
||
|
{
|
||
|
SpeakStringByStrRef(40550);
|
||
|
return;
|
||
|
}
|
||
|
DecrementRemainingFeatUses(OBJECT_SELF, FEAT_TURN_UNDEAD);
|
||
|
}
|
||
|
|
||
|
}
|
||
|
else
|
||
|
{
|
||
|
effect eDur2 = EffectVisualEffect(VFX_DUR_PROTECTION_GOOD_MINOR);
|
||
|
ApplyEffectToObject(DURATION_TYPE_TEMPORARY, eDur2, OBJECT_SELF,TurnsToSeconds(5));
|
||
|
return;
|
||
|
}
|
||
|
|
||
|
|
||
|
int nTouch = GetAbilityModifier(ABILITY_CHARISMA)<1 ? 1 : GetAbilityModifier(ABILITY_CHARISMA);
|
||
|
int nResistance = 5;
|
||
|
int iCon = 2;
|
||
|
int iSpeed = 10;
|
||
|
|
||
|
effect eDur = EffectVisualEffect(VFX_DUR_PROTECTION_EVIL_MINOR);
|
||
|
effect eDur2 = EffectVisualEffect(VFX_DUR_CESSATE_POSITIVE);
|
||
|
effect eVis = EffectVisualEffect(VFX_IMP_HEAD_HEAL);
|
||
|
|
||
|
//Link Effects
|
||
|
effect eCon =EffectAbilityIncrease(ABILITY_CONSTITUTION,iCon);
|
||
|
effect eSpeed =EffectMovementSpeedIncrease(iSpeed);
|
||
|
|
||
|
effect eLink = EffectLinkEffects(eCon, eDur);
|
||
|
eLink = EffectLinkEffects(eLink, eSpeed);
|
||
|
eLink = EffectLinkEffects(eLink, eDur2);
|
||
|
|
||
|
//Apply the VFX impact and effects
|
||
|
ApplyEffectToObject(DURATION_TYPE_TEMPORARY, eLink, OBJECT_SELF, TurnsToSeconds(nTouch));
|
||
|
ApplyEffectToObject(DURATION_TYPE_INSTANT, eVis, OBJECT_SELF);
|
||
|
}
|