Amon_PRC8/_module/nss/gaunt_sapph.nss

79 lines
2.3 KiB
Plaintext
Raw Permalink Normal View History

2025-04-03 19:00:46 -04:00
#include "prc_class_const"
void main()
{
object oPC = GetItemActivator();
object oItemToTake1 = GetItemPossessedBy(oPC, "Sapphire");
location lLocation = GetLocation(oPC);
effect eVis1 = EffectVisualEffect(VFX_IMP_HEAD_FIRE);
effect eVis2 = EffectVisualEffect(VFX_IMP_HEAD_ODD);
effect eVis3 = EffectVisualEffect(VFX_DUR_GLOW_LIGHT_PURPLE);
int iWarrior = GetLevelByClass(CLASS_TYPE_FIGHTER, oPC)
+ GetLevelByClass(CLASS_TYPE_CW_SAMURAI, oPC)
+ GetLevelByClass(CLASS_TYPE_KNIGHT, oPC)
+ GetLevelByClass(CLASS_TYPE_MARSHAL, oPC)
+ GetLevelByClass(CLASS_TYPE_SAMURAI, oPC)
+ GetLevelByClass(CLASS_TYPE_SOULKNIFE, oPC)
+ GetLevelByClass(CLASS_TYPE_SCOUT, oPC)
+ GetLevelByClass(CLASS_TYPE_INCARNATE, oPC)
+ GetLevelByClass(CLASS_TYPE_HEXBLADE, oPC)
+ GetLevelByClass(CLASS_TYPE_DUSKBLADE, oPC)
+ GetLevelByClass(CLASS_TYPE_PSYWAR, oPC)
+ GetLevelByClass(CLASS_TYPE_SWASHBUCKLER, oPC)
+ GetLevelByClass(CLASS_TYPE_WARBLADE, oPC);
/* if ((GetLevelByClass(CLASS_TYPE_FIGHTER, oPC) >= 10)) */
if (iWarrior >= 10)
{
if(GetIsObjectValid(GetItemPossessedBy(oPC, "Sapphire")))
{
if (GetItemStackSize(oItemToTake1) > 1)
{
SetItemStackSize(oItemToTake1, GetItemStackSize(oItemToTake1)-1);
}
else
{
DestroyObject(oItemToTake1);
}
ApplyEffectToObject(DURATION_TYPE_INSTANT, eVis1, oPC);
ApplyEffectToObject(DURATION_TYPE_INSTANT, eVis2, oPC);
object oTarget;
oTarget = oPC;
effect eEffect;
eEffect = EffectACIncrease(10);
ApplyEffectToObject(DURATION_TYPE_TEMPORARY, eEffect, oTarget, 240.0f);
oTarget = oPC;
eEffect = EffectAttackIncrease(5);
ApplyEffectToObject(DURATION_TYPE_TEMPORARY, eEffect, oTarget, 240.0f);
oTarget = oPC;
eEffect = EffectSpellResistanceIncrease(20);
ApplyEffectToObject(DURATION_TYPE_TEMPORARY, eEffect, oTarget, 240.0f);
oTarget = oPC;
eEffect = EffectHeal(GetMaxHitPoints(oPC));
ApplyEffectToObject(DURATION_TYPE_TEMPORARY, eEffect, oTarget, 240.0f);
}
}
else
{
SendMessageToPC(oPC, "You must have an Sapphire to use this function.");
}
}