Script: give_dragonbook

void main()
{
    object oPC = GetPCSpeaker();
    if(GetItemPossessedBy(oPC,"BookoftheDragon")!= OBJECT_INVALID)
    {
        SpeakString("You already have the Book",TALKVOLUME_TALK);
        return;
    }
    CreateItemOnObject("bookofthedragond", oPC, 1);

    object oTarget;
    oTarget = oPC;

    //Visual effects can't be applied to waypoints, so if it is a WP
    //the VFX will be applied to the WP's location instead

    int nInt;
    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));

 }