82 lines
2.2 KiB
Plaintext
82 lines
2.2 KiB
Plaintext
#include "prc_class_const"
|
|
|
|
void main()
|
|
{
|
|
|
|
object oPC = GetItemActivator();
|
|
object oItemToTake1 = GetItemPossessedBy(oPC, "Emerald");
|
|
location lLocation = GetLocation(oPC);
|
|
effect eVis1 = EffectVisualEffect(VFX_IMP_HEAD_EVIL);
|
|
effect eVis2 = EffectVisualEffect(VFX_IMP_HEAD_ELECTRICITY);
|
|
effect eVis3 = EffectVisualEffect(VFX_DUR_GLOW_LIGHT_PURPLE);
|
|
|
|
int iRogue = GetLevelByClass(CLASS_TYPE_ROGUE, oPC)
|
|
+ GetLevelByClass(CLASS_TYPE_SCOUT, oPC)
|
|
+ GetLevelByClass(CLASS_TYPE_NINJA, oPC)
|
|
+ GetLevelByClass(CLASS_TYPE_FACTOTUM, oPC)
|
|
+ GetLevelByClass(CLASS_TYPE_PSYCHIC_ROGUE, oPC);
|
|
|
|
if ((GetLevelByClass(CLASS_TYPE_ASSASSIN, oPC) >= 10)
|
|
|| (iRogue >= 10)
|
|
||(GetLevelByClass(CLASS_TYPE_SHADOWDANCER, oPC) >= 10))
|
|
{
|
|
if(GetIsObjectValid(GetItemPossessedBy(oPC, "Emerald")))
|
|
{
|
|
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 = EffectAttackIncrease(5);
|
|
|
|
ApplyEffectToObject(DURATION_TYPE_TEMPORARY, eEffect, oTarget, 240.0f);
|
|
|
|
oTarget = oPC;
|
|
|
|
eEffect = EffectACIncrease(5);
|
|
|
|
ApplyEffectToObject(DURATION_TYPE_TEMPORARY, eEffect, oTarget, 240.0f);
|
|
|
|
oTarget = oPC;
|
|
|
|
eEffect = EffectAbilityIncrease(ABILITY_DEXTERITY, 10);
|
|
|
|
ApplyEffectToObject(DURATION_TYPE_TEMPORARY, eEffect, oTarget, 240.0f);
|
|
|
|
oTarget = oPC;
|
|
|
|
eEffect = EffectConcealment(50);
|
|
|
|
ApplyEffectToObject(DURATION_TYPE_TEMPORARY, eEffect, oTarget, 240.0f);
|
|
|
|
oTarget = oPC;
|
|
|
|
eEffect = EffectUltravision();
|
|
|
|
ApplyEffectToObject(DURATION_TYPE_TEMPORARY, eEffect, oTarget, 240.0f);
|
|
|
|
oTarget = oPC;
|
|
|
|
eEffect = EffectSpellResistanceIncrease(10);
|
|
|
|
ApplyEffectToObject(DURATION_TYPE_TEMPORARY, eEffect, oTarget, 240.0f);
|
|
|
|
}
|
|
else
|
|
{
|
|
SendMessageToPC(oPC, "You must have an Emerald to use this function.");
|
|
}
|
|
|
|
}
|
|
}
|