112 lines
3.4 KiB
Plaintext
112 lines
3.4 KiB
Plaintext
#include "nw_i0_tool"
|
|
|
|
|
|
void main()
|
|
{
|
|
object oPC;
|
|
oPC = GetItemActivator();
|
|
object oTarget;
|
|
oTarget = oPC;
|
|
int nInt;
|
|
effect eEffect;
|
|
int nCheck = d6(1);
|
|
|
|
if (GetIsPC(oPC))
|
|
{
|
|
if (nCheck==1)
|
|
{
|
|
|
|
nInt = GetObjectType(oTarget);
|
|
|
|
if (nInt != OBJECT_TYPE_WAYPOINT) ApplyEffectToObject(DURATION_TYPE_INSTANT, EffectVisualEffect(VFX_FNF_DISPEL), oTarget);
|
|
else ApplyEffectAtLocation(DURATION_TYPE_INSTANT, EffectVisualEffect(VFX_FNF_DISPEL), GetLocation(oTarget));
|
|
|
|
eEffect = EffectSpellResistanceIncrease(42);
|
|
eEffect = SupernaturalEffect(eEffect);
|
|
ApplyEffectToObject(DURATION_TYPE_TEMPORARY, eEffect, oTarget, 300.0f);
|
|
|
|
}
|
|
else if (nCheck==2)
|
|
{
|
|
|
|
nInt = GetObjectType(oTarget);
|
|
|
|
if (nInt != OBJECT_TYPE_WAYPOINT) ApplyEffectToObject(DURATION_TYPE_INSTANT, EffectVisualEffect(VFX_IMP_EVIL_HELP), oTarget);
|
|
else ApplyEffectAtLocation(DURATION_TYPE_INSTANT, EffectVisualEffect(VFX_IMP_EVIL_HELP), GetLocation(oTarget));
|
|
|
|
eEffect = EffectTemporaryHitpoints(100);
|
|
eEffect = SupernaturalEffect(eEffect);
|
|
ApplyEffectToObject(DURATION_TYPE_TEMPORARY, eEffect, oTarget, 300.0f);
|
|
|
|
}
|
|
else if (nCheck==3)
|
|
{
|
|
|
|
nInt = GetObjectType(oTarget);
|
|
|
|
if (nInt != OBJECT_TYPE_WAYPOINT) ApplyEffectToObject(DURATION_TYPE_INSTANT, EffectVisualEffect(VFX_IMP_GOOD_HELP), oTarget);
|
|
else ApplyEffectAtLocation(DURATION_TYPE_INSTANT, EffectVisualEffect(VFX_IMP_GOOD_HELP), GetLocation(oTarget));
|
|
|
|
eEffect = EffectRegenerate(10, 3.0f);
|
|
eEffect = SupernaturalEffect(eEffect);
|
|
ApplyEffectToObject(DURATION_TYPE_TEMPORARY, eEffect, oTarget, 300.0f);
|
|
|
|
}
|
|
|
|
else if (nCheck==4)
|
|
{
|
|
|
|
nInt = GetObjectType(oTarget);
|
|
|
|
if (nInt != OBJECT_TYPE_WAYPOINT) ApplyEffectToObject(DURATION_TYPE_INSTANT, EffectVisualEffect(VFX_FNF_DECK), oTarget);
|
|
else ApplyEffectAtLocation(DURATION_TYPE_INSTANT, EffectVisualEffect(VFX_FNF_DECK), GetLocation(oTarget));
|
|
|
|
RewardPartyXP(3000, oPC, FALSE);
|
|
RewardPartyGP(30000, oPC, FALSE);
|
|
}
|
|
|
|
else if (nCheck==5)
|
|
{
|
|
|
|
nInt = GetObjectType(oTarget);
|
|
|
|
if (nInt != OBJECT_TYPE_WAYPOINT) ApplyEffectToObject(DURATION_TYPE_INSTANT, EffectVisualEffect(VFX_IMP_TORNADO), oTarget);
|
|
else ApplyEffectAtLocation(DURATION_TYPE_INSTANT, EffectVisualEffect(VFX_IMP_TORNADO), GetLocation(oTarget));
|
|
|
|
eEffect = EffectInvisibility(INVISIBILITY_TYPE_IMPROVED);
|
|
eEffect = SupernaturalEffect(eEffect);
|
|
ApplyEffectToObject(DURATION_TYPE_TEMPORARY, eEffect, oTarget, 300.0f);
|
|
|
|
eEffect = EffectConcealment(60);
|
|
eEffect = SupernaturalEffect(eEffect);
|
|
ApplyEffectToObject(DURATION_TYPE_TEMPORARY, eEffect, oTarget, 300.0f);
|
|
}
|
|
|
|
else if (nCheck==6)
|
|
{
|
|
|
|
nInt = GetObjectType(oTarget);
|
|
|
|
if (nInt != OBJECT_TYPE_WAYPOINT) ApplyEffectToObject(DURATION_TYPE_INSTANT, EffectVisualEffect(VFX_IMP_PULSE_HOLY), oTarget);
|
|
else ApplyEffectAtLocation(DURATION_TYPE_INSTANT, EffectVisualEffect(VFX_IMP_PULSE_HOLY), GetLocation(oTarget));
|
|
|
|
eEffect = EffectACIncrease(5);
|
|
eEffect = SupernaturalEffect(eEffect);
|
|
ApplyEffectToObject(DURATION_TYPE_TEMPORARY, eEffect, oTarget, 300.0f);
|
|
|
|
eEffect = EffectAttackIncrease(5);
|
|
eEffect = SupernaturalEffect(eEffect);
|
|
ApplyEffectToObject(DURATION_TYPE_TEMPORARY, eEffect, oTarget, 300.0f);
|
|
|
|
eEffect = EffectSavingThrowIncrease(SAVING_THROW_ALL, 5, SAVING_THROW_TYPE_ALL);
|
|
eEffect = SupernaturalEffect(eEffect);
|
|
ApplyEffectToObject(DURATION_TYPE_TEMPORARY, eEffect, oTarget, 300.0f);
|
|
|
|
}
|
|
|
|
//If statement end..
|
|
}
|
|
|
|
//Main script end..
|
|
}
|