79 lines
2.3 KiB
Plaintext
79 lines
2.3 KiB
Plaintext
|
#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.");
|
||
|
}
|
||
|
|
||
|
}
|
||
|
|