summaryrefslogtreecommitdiff
path: root/npc
diff options
context:
space:
mode:
Diffstat (limited to 'npc')
-rw-r--r--npc/008-1/hinnak.txt103
1 files changed, 93 insertions, 10 deletions
diff --git a/npc/008-1/hinnak.txt b/npc/008-1/hinnak.txt
index 65d050e7..69802791 100644
--- a/npc/008-1/hinnak.txt
+++ b/npc/008-1/hinnak.txt
@@ -1,6 +1,6 @@
// Evol scripts.
// Author:
-// gumi, Micksha
+// gumi, Micksha, Jesusalva, Toams
// Quest states:
// [1] 0 - cannot do the quest
// [1] 1 - can do the quest
@@ -13,6 +13,30 @@
008-1,270,74,0 script Hinnak#008-1 NPC_HINNAK,{
+
+ function face_to_PC {
+ getmapxy(.@map$, .@cx, .@cy, 0);
+ @Hinnak_old_dir = .dir;
+ npc_turntoxy(.@cx, .@cy);
+
+ return;
+ }
+
+ function local_close {
+ if (@Hinnak_old_dir > 0)
+ {
+ .dir = @Hinnak_old_dir;
+ }
+ npc_resumemove;
+
+ close;
+ }
+
+ @Hinnak_old_dir = -1;
+
+ npc_pausemove;
+ face_to_PC;
+
if (BaseLevel < .min_level)
{
npctalk3 generic(1 | 16 | 64);
@@ -83,7 +107,7 @@
l("But I got an old scythe laying around."),
l("Maybe you can use it as a weapon.");
- close;
+ local_close;
}
function hinn_help
@@ -112,7 +136,7 @@
l("Don't try to fool me!"),
l("I know you didn't kill them yourself!"),
l("Kill at least %d pinkies and come back.", .kill_count);
- close;
+ local_close;
}
speech 1,
@@ -129,7 +153,7 @@
//getexp .reward_exp, 0;
setq .quest, 3;
}
- close;
+ local_close;
}
function hinn_thanks
@@ -253,16 +277,16 @@
l("Yeah, funny now..."),
l("But you should've seen that gaze!"),
l("Ah, well, never mind.");
- close;
+ local_close;
case 2:
speech 1,
l("Yeah, you could say that...");
- close;
+ local_close;
case 3:
speech 1,
l("Oh, I can't be sure..."),
l("But something like “Nanaj princino”, I think."); // this is "Dwarven Princess" translated to Esperanto
- close;
+ local_close;
}
return;
}
@@ -284,12 +308,12 @@
speech
l("No."),
l("It tends to be too dark to see a mask.");
- close;
+ local_close;
case 2:
speech
l("Yes, I saw someone with a large sack on their back go to the mining camp.");
- close;
+ local_close;
}
}
@@ -302,7 +326,7 @@
}
closeclientdialog();
- close;
+ local_close;
OnNPCKillEvent:
// XXX: maybe have a OnTakeScript on the pinky antena item so we count pickups instead of kills
@@ -323,6 +347,11 @@ OnPCBaseLvUpEvent:
}
end;
+OnTimer1000:
+ dographmovestep;
+ end;
+
+
OnInit:
.min_level = 15; // min level to do the quest
.maxLevel = getiteminfo(Scythe, ITEMINFO_ELV) + 20;
@@ -341,6 +370,60 @@ OnInit:
.quest_debug = .quest;
.distance = 3;
+ .speed = 300;
+ initmovegraph "startspot", 269, 75,
+ "uppergate", 268, 68,
+ "lowergate", 268, 83,
+ "house", 275, 74,
+ "inside_door", 25, 33,
+ "table", 36, 32,
+ "haystack", 273, 79,
+ "treeyard", 277, 84,
+ "tree1", 274, 86,
+ "tree2", 276, 87,
+ "tree3", 279, 87,
+ "lowerfield1", 257, 77,
+ "lowerfield2", 262, 75,
+ "upperfield1", 264,67,
+ "upperfield2", 255,68,
+ "barn", 274,65,
+ "barn_inside", 274,61;
+
+ setmovegraphcmd "startspot", "haystack", 1, "dir 1; wait 4;"
+ "say Oh needle where are you?; wait 3;"
+ "say It's like finding a black cat in the coalshed!; wait 5;"
+ "say Here you are!; wait 1;"
+ "say Oh no it's a @#$% Pinkie Antena.; wait 2;"
+ "say Curse you @#$% Pinkies; wait 8; moveon",
+ "haystack", "lowergate", 1, "dir 3",
+ "haystack", "house", 1, "dir 3; warp 008-2-16 inside_door",
+
+ "startspot", "lowergate", 1, "dir 3",
+ "lowergate", "treeyard", 1, "dir 3",
+ "treeyard", "tree1", 1, "dir 3; wait 3",
+ "tree1", "tree2", 1, "dir 3; wait 3;"
+ "say Thank god Pinkies can't fly, or these trees wouldn't be full of shiny, tasty apples.",
+ "tree2", "tree3", 1, "dir 3; wait 5",
+ "tree3", "startspot", 1, "dir 3; wait 15",
+ "tree3", "lowerfield1", 1, "dir 3",
+ "lowergate", "lowerfield1", 1, "dir 3",
+ "lowerfield1", "lowerfield2", 1, "dir 3",
+ "lowerfield2", "upperfield1", 1, "dir 3",
+ "upperfield1", "upperfield2", 1, "dir 3",
+ "upperfield2", "barn", 1, "dir 3;"
+ "warp barn_inside; wait 5; warp barn; dir 1",
+ "barn", "startspot", 1, "dir 1; wait 17",
+ "startspot", "house", 1, "dir 3; warp 008-2-16 inside_door",
+ "inside_door", "table", 1, "dir 6; sit; wait 8;"
+ "say Hmmm this sandwich tastes good!; wait 3;"
+ "say Right what I needed after hunting those @#$% Pinkies for a whole day.; wait 7;"
+ "say To bad you ran out of Carb, sweet Yannika. Your Carb Sandwiches are the best.; wait 20; moveon",
+ "table", "inside_door", 1, "dir 4; warp 008-1 house",
+ "house", "startspot", 1, "dir 1; wait 5";
+
+ firstmove "wait 1";
+ initnpctimer;
+
////////// UNFINISHED //////////
////////////////////////////////
// REMOVE THIS CODE WHEN THIS //