From 7ab1079b22b1a4c1520cad872c520bfca18fefc8 Mon Sep 17 00:00:00 2001 From: Reid Date: Fri, 29 Apr 2016 01:30:07 +0200 Subject: Rewrite Xilaxa's script with graph based walking NPC support. --- npc/001-1/xilaxa.txt | 88 ++++++++++++++++++++++++++++++++-------------------- 1 file changed, 54 insertions(+), 34 deletions(-) (limited to 'npc') diff --git a/npc/001-1/xilaxa.txt b/npc/001-1/xilaxa.txt index 76e6702e..1803e57a 100644 --- a/npc/001-1/xilaxa.txt +++ b/npc/001-1/xilaxa.txt @@ -5,43 +5,63 @@ // Moon, main NPC for the urchin quest. 001-1,52,44,0 script Xilaxa#001-1 NPC_UKAR_MALE_LEGION_ARTIS,{ - npctalk3 l("You're in my way."); - close; + + function face_to_PC { + getmapxy(.@map$, .@cx, .@cy, 0); + @Devis_old_dir = .dir; + npc_turntoxy(.@cx, .@cy); + + return; + } + + function local_close { + if (@Devis_old_dir != .dir) + { + .dir = @Devis_old_dir; + } + npc_resumemove; + + close; + } + + npc_pausemove; + face_to_PC; + npctalkonce goodbye; + local_close; OnTimer1000: - domovestep; + dographmovestep; OnInit: - initpath "move", 57, 82, - "move", 56, 86, - "wait", 1, 0, - "dir", RIGHT, 0, - "wait", 1, 0, - "dir", DOWN, 0, - "wait", 2, 0, - "dir", LEFT, 0, - "wait", 1, 0, - "dir", DOWN, 0, - "wait", 1, 0, - "dir", RIGHT, 0, - "move", 62, 82, - "dir", UP, 0, - "move", 62, 82, - "move", 55, 56, - "move", 56, 45, - "move", 54, 43, - "dir", DOWN, 0, - "wait", 2, 0, - "dir", RIGHT, 0, - "wait", 1, 0, - "dir", DOWN, 0, - "wait", 2, 0, - "dir", LEFT, 0, - "wait", 1, 0, - "dir", DOWN, 0, - "wait", 5, 0, - "move", 52, 44; - - initialmove; + .sex = G_MALE; + .distance = 5; + initmovegraph "mid", 54, 43, 60, 46, + "left", 47, 50, 52, 55, + "right", 62, 50, 67, 55; + + setmovegraphcmd "mid", "left", 1, "dir 0; wait 4", + "mid", "left", 4, "dir 2; wait 3; dir 0; wait 2; dir 6; wait 1; dir 0", + "mid", "left", 2, "dir 4; wait 5; dir 0; wait 2", + "mid", "left", 3, "dir 6; wait 1; dir 0; wait 3; dir 2; wait 3; dir 0", + "mid", "left", 1, "dir 0; wait 1; dir 2; wait 1; dir 0; wait 1; dir 6; wait 5", + "mid", "right", 3, "dir 0; wait 4", + "mid", "right", 4, "dir 2; wait 3; dir 0; wait 2; dir 6; wait 1; dir 0", + "mid", "right", 2, "dir 4; wait 5; dir 0; wait 2", + "mid", "right", 1, "dir 6; wait 1; dir 0; wait 3; dir 2; wait 3; dir 0", + "mid", "right", 2, "dir 0; wait 1; dir 2; wait 1; dir 0; wait 1; dir 6; wait 5", + + "left", "mid", 2, "dir 0; wait 4", + "left", "mid", 1, "dir 2; wait 3; dir 0; wait 2; dir 6; wait 1; dir 0", + "left", "mid", 3, "dir 4; wait 5; dir 0; wait 2", + "left", "mid", 2, "dir 6; wait 1; dir 0; wait 3; dir 2; wait 3; dir 0", + "left", "mid", 3, "dir 0; wait 1; dir 2; wait 1; dir 0; wait 1; dir 6; wait 5", + + "right", "mid", 3, "dir 0; wait 4", + "right", "mid", 2, "dir 2; wait 3; dir 0; wait 2; dir 6; wait 1; dir 0", + "right", "mid", 1, "dir 4; wait 5; dir 0; wait 2", + "right", "mid", 1, "dir 6; wait 1; dir 0; wait 3; dir 2; wait 3; dir 0", + "right", "mid", 2, "dir 0; wait 1; dir 2; wait 1; dir 0; wait 1; dir 6; wait 5"; + + firstmove "wait 5", "mid"; initnpctimer; } -- cgit v1.2.3-70-g09d2