summaryrefslogblamecommitdiff
path: root/world/map/npc/functions/hug.txt
blob: d8fc81df2374eca1094968d74595f87e720a8ff0 (plain) (tree)
1
2
3
4
5
6
7
8
9


                                                            
                                                                                    

                                                                                               
                                                            
                                                    
 

                                                           
 













                                             
-|script|nonmagic-hug|32767
{
    explode .@name$[0], @args$, "*"; // strip the trailing *
    set @target_id, if_then_else(.@name$[0] != "", getcharid(3, .@name$[0]), BL_ID);
    if (@target_id < 1 || !(isloggedin(@target_id))) set @target_id, BL_ID; // fallback to self
    if (.@name$[0] == "Tree" || .@name$[0] == "tree") set @target_id, .tree_id;
    set .@range, if_then_else(@target_id == .tree_id, 3, 6);
    if (distance(BL_ID, @target_id) >= .@range) end;

    misceffect FX_HUG, strcharinfo(0);
    if (@target_id != BL_ID) misceffect FX_HUG, @target_id;

    if (@target_id != .tree_id) end;
    callfunc "QuestTreeTouch";
    close;

OnInit:
    set .tree_id, getnpcid("#DruidTree0#_M");
    registercmd "hug", strnpcinfo(0);
    registercmd "*hug", strnpcinfo(0);
    registercmd "*hug*", strnpcinfo(0);
    registercmd "hugs", strnpcinfo(0);
    registercmd "*hugs", strnpcinfo(0);
    registercmd "*hugs*", strnpcinfo(0);
    end;
}