55 lines
1.4 KiB
Plaintext
55 lines
1.4 KiB
Plaintext
#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);
|
|
|
|
}
|
|
|
|
} |