summaryrefslogtreecommitdiff
path: root/npc/commands/hug.txt
blob: 4f7c086d775d7e9502c97de46bd36a001b60151f (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
-	script	nonmagic-hug	NPC32767,{
    explode .@name$[0], @args$, "*"; // strip the trailing *
    @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;
    .@range = if_then_else(@target_id == .tree_id, 3, 6);
    if (distance(BL_ID, @target_id) >= .@range) end;
    if (gettimetick(2) - @hugspell_time < 3) end;

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

    if (@target_id != .tree_id) end;
    @flag = 2;
    callfunc "QuestTreeTrigger";
    close;

OnInit:
    .tree_id = getnpcid("#DruidTree0#_M");
    registercmd "*hugs", strnpcinfo(0); // eq: /me hugs (target)
    registercmd "*hugs*", strnpcinfo(0); // eq: /me hugs
    end;
}