#include "prc_class_const" void main() { object oPC = GetItemActivator(); object oTarget = GetItemActivatedTarget(); object pTarget; int sRat = RACIAL_TYPE_BEAST; int nClass; if (GetRacialType(oTarget)!= sRat) { FloatingTextStringOnCreature("Target must be a rat!", GetItemActivator()); return; } nClass = GetLevelByClass(CLASS_TYPE_BARD, oPC) +GetLevelByClass(CLASS_TYPE_SUBLIME_CHORD, oPC) +GetLevelByClass(CLASS_TYPE_VIRTUOSO, oPC) +GetLevelByClass(CLASS_TYPE_DRAGONSONG_LYRIST, oPC) +GetLevelByClass(CLASS_TYPE_DIRGESINGER, oPC); if (nClass > 7) { effect eTurned = EffectTurned(); effect eLink = SupernaturalEffect(EffectLinkEffects(eTurned, eLink)); ApplyEffectToObject(DURATION_TYPE_TEMPORARY, eLink, GetItemActivatedTarget(), 60.0f); int nInt = GetObjectType(oTarget); if (nInt != OBJECT_TYPE_WAYPOINT) { ApplyEffectToObject(DURATION_TYPE_INSTANT, EffectVisualEffect(VFX_IMP_CHARM), oTarget); } else ApplyEffectAtLocation(DURATION_TYPE_INSTANT, EffectVisualEffect(VFX_IMP_CHARM), GetLocation(oTarget)); nInt = GetObjectType(oPC); if (nInt != OBJECT_TYPE_WAYPOINT) { ApplyEffectToObject(DURATION_TYPE_TEMPORARY, EffectVisualEffect(VFX_DUR_BARD_SONG ), oPC, 60.0f); } else ApplyEffectAtLocation(DURATION_TYPE_TEMPORARY, EffectVisualEffect(VFX_DUR_BARD_SONG ), GetLocation(oPC), 60.0f); } }