diff options
author | Reid <reidyaro@gmail.com> | 2016-04-29 01:30:07 +0200 |
---|---|---|
committer | Reid <reidyaro@gmail.com> | 2016-04-29 01:30:30 +0200 |
commit | 7ab1079b22b1a4c1520cad872c520bfca18fefc8 (patch) | |
tree | f95ce25dc40d7320a9319cbcc0f0e65acc5ba089 /npc | |
parent | 87e7088b633e0c66e322545f14e4a753d14acd1c (diff) | |
download | serverdata-7ab1079b22b1a4c1520cad872c520bfca18fefc8.tar.gz serverdata-7ab1079b22b1a4c1520cad872c520bfca18fefc8.tar.bz2 serverdata-7ab1079b22b1a4c1520cad872c520bfca18fefc8.tar.xz serverdata-7ab1079b22b1a4c1520cad872c520bfca18fefc8.zip |
Rewrite Xilaxa's script with graph based walking NPC support.
Diffstat (limited to 'npc')
-rw-r--r-- | npc/001-1/xilaxa.txt | 88 |
1 files changed, 54 insertions, 34 deletions
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; } |