#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."); } }