summaryrefslogtreecommitdiff
path: root/npc/008-2-1
diff options
context:
space:
mode:
Diffstat (limited to 'npc/008-2-1')
-rw-r--r--npc/008-2-1/_import.txt9
-rw-r--r--npc/008-2-1/_savepoints.txt15
-rw-r--r--npc/008-2-1/_warps.txt4
-rw-r--r--npc/008-2-1/generalstore.txt19
-rw-r--r--npc/008-2-1/inspector.txt190
-rw-r--r--npc/008-2-1/mapflags.txt1
-rw-r--r--npc/008-2-1/richard.txt62
-rw-r--r--npc/008-2-1/selim.txt22
8 files changed, 322 insertions, 0 deletions
diff --git a/npc/008-2-1/_import.txt b/npc/008-2-1/_import.txt
new file mode 100644
index 00000000..06ba6d3b
--- /dev/null
+++ b/npc/008-2-1/_import.txt
@@ -0,0 +1,9 @@
+// Map 008-2-1: Merchant Guild
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+"npc/008-2-1/_savepoints.txt",
+"npc/008-2-1/_warps.txt",
+"npc/008-2-1/generalstore.txt",
+"npc/008-2-1/inspector.txt",
+"npc/008-2-1/mapflags.txt",
+"npc/008-2-1/richard.txt",
+"npc/008-2-1/selim.txt",
diff --git a/npc/008-2-1/_savepoints.txt b/npc/008-2-1/_savepoints.txt
new file mode 100644
index 00000000..19f0f307
--- /dev/null
+++ b/npc/008-2-1/_savepoints.txt
@@ -0,0 +1,15 @@
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+// Map 008-2-1: Merchant Guild saves
+008-2-1,42,27,0 script #save_008-2-1_42_27 NPC_SAVE_POINT,0,0,{
+ savepointparticle .map$, .x, .y, NO_INN;
+ close;
+
+OnInit:
+ .distance = 2;
+ .sex = G_OTHER;
+ end;
+
+OnTouch:
+ bedTouch();
+ end;
+}
diff --git a/npc/008-2-1/_warps.txt b/npc/008-2-1/_warps.txt
new file mode 100644
index 00000000..978c5767
--- /dev/null
+++ b/npc/008-2-1/_warps.txt
@@ -0,0 +1,4 @@
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+// Map 008-2-1: Merchant Guild warps
+008-2-1,37,27,0 warp #008-2-1_37_27 0,0,008-1,260,111
+008-2-1,33,45,0 warp #008-2-1_33_45 0,0,008-1,259,119
diff --git a/npc/008-2-1/generalstore.txt b/npc/008-2-1/generalstore.txt
new file mode 100644
index 00000000..ffbbb6d1
--- /dev/null
+++ b/npc/008-2-1/generalstore.txt
@@ -0,0 +1,19 @@
+// Evol scripts.
+// Author:
+// Micksha
+// Description:
+// General Store.
+// THIS IS A PLACEHOLDER!
+
+008-2-1,38,35,0 script General Store#008-1 NPC_GENERAL_STORE,{
+ speech
+ l("Hi!"),
+ l("My name is General Store, they still call me this although I left the army a few years ago."),
+ l("I have nothing to sell, come back later.");
+
+ close;
+
+OnInit:
+ .distance = 3;
+ end;
+}
diff --git a/npc/008-2-1/inspector.txt b/npc/008-2-1/inspector.txt
new file mode 100644
index 00000000..6d7915d5
--- /dev/null
+++ b/npc/008-2-1/inspector.txt
@@ -0,0 +1,190 @@
+// Evol scripts.
+// Author:
+// gumi
+// Quest states:
+// [1] 0 - cannot do the quest
+// [1] 1 - can do the quest
+// [1] 2 - talked to inspector (1) <= start
+// [1] 3 - talked to old woman (1)
+// [1] 4 - talked to old woman (2)
+// [1] 5 - talked to inspector (2)
+// [1] 6 - talked to troupe leader (1)
+// [1] 7 - talked to inspector (3)
+// [1] 8 - talked to old man
+// [1] 9 - talked to old woman (3)
+// [1] 10 - talked to inspector (4)
+// [1] 11 - talked to old woman (4)
+// [1] 12 - talked to malek
+// [1] 13 - searched the bookcase
+// [1] 14 - talked to inspector (5)
+// [1] 15 - talked to troupe leader (2) <= reward
+// [1] 16 - talked to inspector (6) <= reward, end
+// [2] unused
+// [3] unused
+// [t] unused
+// Description:
+// robberies in hurnscald
+
+008-2-1,30,34,0 script Inspector NPC_INSPECTOR,{
+
+ if (BaseLevel < .min_level)
+ {
+ npctalk3(l("I'm sorry, but I'm busy looking into this string of robberies."));
+ end;
+ }
+
+ // OnTalk:
+ switch (getq(.quest))
+ {
+ case 0:
+ case 1:
+ speech(4,
+ l("Hmm... what to do."));
+ narrator(4,
+ l("He looks up and into your face."));
+ speech(4,
+ l("You look capable, will you help me solve these robberies?"),
+ l("I would go myself, but for some reason I'm a non-walking NPC."));
+
+ if (selectd("Yes", "No") == 2) {
+ closeclientdialog();
+ close;
+ }
+
+ speech(
+ l("Ok then."),
+ l("I'd like you to ask the villagers about the recent string of robberies."));
+
+ close2;
+ setq(.quest, 2);
+ end;
+
+ case 2:
+ npctalk3(l("Please continue talking to the villagers."));
+ end;
+
+ case 3:
+ speech(
+ l("Hm..."),
+ l("I don't know if I trust her eyesight or memory."),
+ l("See if someone else knows anything."));
+ close;
+
+ case 4:
+ speech(
+ l("Someone in a theater mask, eh?"),
+ l("There was a traveling theater troupe in town recently, but they've moved on to Tulimshar."),
+ l("Please go talk to their leader about this."));
+
+ close2;
+ setq(.quest, 5);
+ end;
+
+ case 5:
+ npctalk3(l("Please go talk to the leader of the traveling troupe about the theater mask."));
+ end;
+
+ case 6:
+ speech(
+ l("Hm... an old man?"),
+ l("Could you interrogate him for me?"));
+
+ close2;
+ setq(.quest, 7);
+ end;
+
+ case 7:
+ npctalk3(l("Have you talked with the old man yet?"));
+ end;
+
+ case 8:
+ npctalk3(l("Can you verify that with his wife?"));
+ end;
+
+ case 9:
+ speech(
+ l("Hm... then it couldn't be him."),
+ l("I'm not sure where to go from here, maybe you can find something else."),
+ l("Try talking to everyone again."));
+
+ close2;
+ setq(.quest, 10);
+ end;
+
+ case 10:
+ npctalk3(l("Made any progress yet?"));
+ end;
+
+ case 11:
+ npctalk3(l("Then go north and investigate!"));
+ end;
+
+ case 12:
+ npctalk3(l("Did you look over the basement?"));
+ end;
+
+ case 13:
+ speech(
+ l("What a strange note."),
+ l("I'll keep track of this, while you return the mask to the troupe."),
+ l("I would go myself, but the developers were too lazy to make me walk."),
+ "...",
+ l("By the way, stay sharp! I may call upon you again."));
+
+ close2;
+ setq(.quest, 14);
+ end;
+
+ case 14:
+ npctalk3(l("Please return the mask to the traveling troupe."));
+ end;
+
+ case 15:
+ speech(
+ l("My men have found all of the stolen items."),
+ l("They were all in the mining camp."),
+ l("We still don't know who did it.")); // XXX: feel free to extend this quest beyond this point
+
+ close2;
+ setq(.quest, 16);
+ quest_xp(.maxLevel, .reward_exp);
+ end;
+
+ case 16:
+ npctalk3(l("Remember to stay sharp. I might need your help on another case."));
+ end;
+ }
+
+ closeclientdialog();
+ close;
+
+OnPCLoginEvent:
+OnPCBaseLvUpEvent:
+ if (BaseLevel >= .min_level && getq(.quest) < 1)
+ {
+ setq(.quest, 1); // allow the player to do the quest
+ dispbottom(l("New quest available: %s (level %d+)",
+ getquestlink(.quest), .min_level)); // XXX: requires new manaplus versions, maybe show a different message for old versions?
+ }
+ end;
+
+OnInit:
+ .min_level = 30; // min level to do the quest
+ .maxLevel = 60;
+
+ .reward_exp = 2500;
+
+ .quest = HurnscaldQuests_Inspector;
+ .quest_debug = .quest;
+ .distance = 3;
+
+////////// UNFINISHED //////////
+////////////////////////////////
+// REMOVE THIS CODE WHEN THIS //
+// NPC IS NO LONGER A WIP //////
+////////////////////////////////
+//if (!debug) disablenpc(.name$);
+///////// UNFINISHED ///////////
+
+ end;
+}
diff --git a/npc/008-2-1/mapflags.txt b/npc/008-2-1/mapflags.txt
new file mode 100644
index 00000000..78899489
--- /dev/null
+++ b/npc/008-2-1/mapflags.txt
@@ -0,0 +1 @@
+008-2-1 mapflag town
diff --git a/npc/008-2-1/richard.txt b/npc/008-2-1/richard.txt
new file mode 100644
index 00000000..d55ade4f
--- /dev/null
+++ b/npc/008-2-1/richard.txt
@@ -0,0 +1,62 @@
+// The Mana World scripts.
+// Author:
+// Micksha
+// Description:
+// Richard the Hurns storage guy.
+// THIS IS A PLACEHOLDER!
+
+008-2-1,26,35,0 script Richard NPC_RICHARD_LEGACY,{
+ // Storage/Banking function not unlocked in Artis
+ if (!getq(ArtisQuests_Lloyd)) {
+ speech
+ l("Oh hey!"),
+ l("I was supposed to act as storagekeeper, but I forgot my key."),
+ l("Come back later, perhaps I can find it.");
+ close;
+ }
+ mesn;
+ mesq l("Welcome to %s's Bank!", l($@BANK_TOWN$[.bankid]));
+ next;
+
+ do
+ {
+ select
+ l("I would like to store some items."),
+ l("I would like to perform money transactions."),
+ l("Is there any request for me?"),
+ menuaction(l("Quit"));
+
+ mes "";
+
+ switch (@menu) {
+ case 1:
+ mesn;
+ mesq l("Sure thing! I'll have your items transported here from Artis before you realize!");
+ next;
+ closeclientdialog();
+ openstorage();
+ close;
+ case 2:
+ MerchantGuild_Bank();
+ break;
+ case 3:
+ MerchantGuild_Quests(.bankid);
+ break;
+ default:
+ closeclientdialog;
+ goodbye;
+ close;
+ }
+
+ } while (true);
+ close;
+
+OnInit:
+ .distance = 4;
+
+ // Bank configuration
+ array_push($@BANK_NAME$, .name$);
+ array_push($@BANK_TOWN$, "Hurnscald");
+ .bankid = getarraysize($@BANK_NAME$)-1;
+ end;
+}
diff --git a/npc/008-2-1/selim.txt b/npc/008-2-1/selim.txt
new file mode 100644
index 00000000..7e947890
--- /dev/null
+++ b/npc/008-2-1/selim.txt
@@ -0,0 +1,22 @@
+// The Mana World scripts.
+// Author:
+// Micksha
+// Description:
+// Selim the Dyer.
+// THIS IS A PLACEHOLDER!
+
+008-2-1,38,40,0 script Selim NPC_GUMI_THE_DYER,{
+ speech
+ l("Oh hey!"),
+ l("Good you are here, you could be handy for me right now."),
+ l("Or maybe later. Hmm, we'll see."),
+ l("On the meanwhile...");
+
+ Barber(false);
+
+ close;
+
+OnInit:
+ .distance = 4;
+ end;
+}