summaryrefslogtreecommitdiff
path: root/npc/functions
diff options
context:
space:
mode:
authorgumi <mekolat@users.noreply.github.com>2017-04-13 13:02:59 -0400
committerMicksha <Micksha@users.noreply.github.com>2018-11-05 21:34:37 +0100
commit7330d282726f62cdb63dcca5b49c4607cbbdc199 (patch)
tree8d46ba4a0a43f08403ad8456c60ff22b16dac189 /npc/functions
parente34d012804b9a10283c3b2ced98c73542833a731 (diff)
downloadserverdata-7330d282726f62cdb63dcca5b49c4607cbbdc199.tar.gz
serverdata-7330d282726f62cdb63dcca5b49c4607cbbdc199.tar.bz2
serverdata-7330d282726f62cdb63dcca5b49c4607cbbdc199.tar.xz
serverdata-7330d282726f62cdb63dcca5b49c4607cbbdc199.zip
Hurnscald mega-commit
Diffstat (limited to 'npc/functions')
-rw-r--r--npc/functions/generic-text.txt120
-rw-r--r--npc/functions/quest-debug/036-HurnscaldQuests_Hinnak.txt32
-rw-r--r--npc/functions/quest-debug/037-HurnscaldQuests_Soup.txt32
-rw-r--r--npc/functions/quest-debug/038-HurnscaldQuests_Inspector.txt41
-rw-r--r--npc/functions/quest-debug/039-HurnscaldQuests_ForestBow.txt42
-rw-r--r--npc/functions/quest-debug/040-HurnscaldQuests_WoodenShield.txt37
6 files changed, 304 insertions, 0 deletions
diff --git a/npc/functions/generic-text.txt b/npc/functions/generic-text.txt
new file mode 100644
index 00000000..ede6e954
--- /dev/null
+++ b/npc/functions/generic-text.txt
@@ -0,0 +1,120 @@
+// Evol functions.
+// Authors:
+// gumi
+// Description:
+// text register
+
+function script generic {
+ .@flags = getarg(0, 1);
+
+ .@villager = (1 << 0);
+ .@old = (1 << 1);
+ .@kid = (1 << 2);
+ .@sailor = (1 << 3);
+ .@busy = (1 << 4);
+ .@tired = (1 << 5);
+ .@angry = (1 << 6);
+ .@legion = (1 << 7);
+ .@crazy = (1 << 8);
+
+ if (.@flags == 0)
+ return l("I'm sorry, I can't talk right now.");
+
+ if (.@flags & .@villager)
+ {
+ setarray(.@array$[.@count],
+ l("It is a sunny day, don't you think?"),
+ l("I just want to live my life in peace."),
+ l("Isn't this place pretty? I love hanging out here!"));
+
+ .@count += 3;
+ }
+
+ if (.@flags & .@old)
+ {
+ setarray(.@array$[.@count],
+ l("Come closer dear, I can't hear you."),
+ l("Hmm... where did I put it again?"),
+ l("I miss the good old days."));
+
+ .@count += 3;
+ }
+
+ if (.@flags & .@kid)
+ {
+ setarray(.@array$[.@count],
+ l("Mommy doesn't want me to talk to strangers."));
+
+ .@count += 1;
+ }
+
+ if (.@flags & .@sailor)
+ {
+ setarray(.@array$[.@count],
+ l("So finally someone has came to visit me?"),
+ l("A-hoy matey!"));
+
+ .@count += 2;
+ }
+
+ if (.@flags & .@busy)
+ {
+ setarray(.@array$[.@count],
+ l("Can't talk right now."),
+ l("Can't you see I'm busy?"),
+ l("Come back later."),
+ l("I'm a little busy right now."));
+
+ .@count += 4;
+ }
+
+ if (.@flags & .@tired)
+ {
+ setarray(.@array$[.@count],
+ l("I had a long day, come back tomorrow."),
+ l("I need to rest."),
+ l("*snores*"));
+
+ .@count += 3;
+ }
+
+ if (.@flags & .@angry)
+ {
+ setarray(.@array$[.@count],
+ l("Go pester someone else."),
+ l("I don't feel like talking to you."),
+ l("Stop wasting my time."),
+ l("Go fly a kite"),
+ l("Not in the mood to chat."),
+ l("Give me some space."),
+ l("Can you please go away?"));
+
+ .@count += 7;
+ }
+
+ if (.@flags & .@legion)
+ {
+ setarray(.@array$[.@count],
+ l("My breath smells bad."),
+ l("Don't distract me, I have to stay alert."),
+ l("Can't talk right now, I'm on patrol duty."),
+ l("I can't stay here and talk all day. I have a job to do."),
+ l("Keep moving."),
+ l("So you think you're tough? A warrior must also be loyal and patient."),
+ l("Practice! There are no secrets to becoming a warrior."),
+ l("There is no honor in fighting a weak opponent."));
+
+ .@count += 8;
+ }
+
+ if (.@flags & .@crazy)
+ {
+ setarray(.@array$[.@count],
+ l("Do I look like a tree? I feel like one."),
+ l("What're you looking at?!"));
+
+ .@count += 2;
+ }
+
+ return .@array$[rand(.@count)];
+}
diff --git a/npc/functions/quest-debug/036-HurnscaldQuests_Hinnak.txt b/npc/functions/quest-debug/036-HurnscaldQuests_Hinnak.txt
new file mode 100644
index 00000000..61dc294e
--- /dev/null
+++ b/npc/functions/quest-debug/036-HurnscaldQuests_Hinnak.txt
@@ -0,0 +1,32 @@
+// Hinnak quest debug
+// Author:
+// gumi
+
+function script QuestDebug36 {
+ do
+ {
+ clear;
+ setnpcdialogtitle l("Quest debug");
+ mes "HurnscaldQuests_Hinnak";
+ mes "---";
+ mes l("Quest state: @@, @@",
+ getq(HurnscaldQuests_Hinnak),
+ getq2(HurnscaldQuests_Hinnak));
+ next;
+
+ GenericQuestDebug HurnscaldQuests_Hinnak,
+ l("Cannot do the quest"), 0,
+ l("Can do the quest"), 1,
+ l("Hinnak asked for help"), 2,
+ l("Helped Hinnak"), 3;
+
+ switch (@menuret)
+ {
+ case 0:
+ case 1:
+ case 2: setq HurnscaldQuests_Hinnak, getq(HurnscaldQuests_Hinnak), 0; break;
+ default: if (@menuret < 0) return;
+ }
+
+ } while (1);
+}
diff --git a/npc/functions/quest-debug/037-HurnscaldQuests_Soup.txt b/npc/functions/quest-debug/037-HurnscaldQuests_Soup.txt
new file mode 100644
index 00000000..43eba0d6
--- /dev/null
+++ b/npc/functions/quest-debug/037-HurnscaldQuests_Soup.txt
@@ -0,0 +1,32 @@
+// Mikhail & Bernard quest debug
+// Author:
+// gumi
+
+function script QuestDebug37 {
+ do
+ {
+ clear;
+ setnpcdialogtitle l("Quest debug");
+ mes "HurnscaldQuests_Soup";
+ mes "---";
+ mes l("Quest state: @@",
+ getq(HurnscaldQuests_Soup));
+ next;
+
+ GenericQuestDebug HurnscaldQuests_Soup,
+ l("Cannot do the quest"), 0,
+ l("Can do the quest"), 1,
+ l("Bernard wants roasted maggot"), 2,
+ l("brought maggot"), 3,
+ l("Bernard wants maggot slime"), 4,
+ l("brought maggot slime"), 5,
+ l("Mikhail needs maggot slime"), 6,
+ l("brought maggot slime"), 7;
+
+ if (@menuret < 0)
+ {
+ return;
+ }
+
+ } while (1);
+}
diff --git a/npc/functions/quest-debug/038-HurnscaldQuests_Inspector.txt b/npc/functions/quest-debug/038-HurnscaldQuests_Inspector.txt
new file mode 100644
index 00000000..053f085e
--- /dev/null
+++ b/npc/functions/quest-debug/038-HurnscaldQuests_Inspector.txt
@@ -0,0 +1,41 @@
+// Inspector quest debug
+// Author:
+// gumi
+
+function script QuestDebug38 {
+ do
+ {
+ clear;
+ setnpcdialogtitle l("Quest debug");
+ mes "HurnscaldQuests_Inspector";
+ mes "---";
+ mes l("Quest state: @@",
+ getq(HurnscaldQuests_Inspector));
+ next;
+
+ GenericQuestDebug HurnscaldQuests_Inspector,
+ l("Cannot do the quest"), 0,
+ l("Can do the quest"), 1,
+ l("Talked to Inspector (1)"), 2,
+ l("Talked to Old Woman (1)"), 3,
+ l("Talked to Old Woman (2)"), 4,
+ l("Talked to Inspector (2)"), 5,
+ l("Talked to Troupe Leader (1)"), 6,
+ l("Talked to Inspector (3)"), 7,
+ l("Talked to Old Man"), 8,
+ l("Talked to Old Woman (3)"), 9,
+ l("Talked to Inspector (4)"), 10,
+ l("Talked to Old Woman (4)"), 11,
+ l("Talked to Malek"), 12,
+ l("Searched the bookcase"), 13,
+ l("Talked to Inspector (5)"), 14,
+ l("Talked to Troupe Leader (2)"), 15,
+ l("Talked to Inspector (6)"), 16;
+
+ if (@menuret < 0)
+ {
+ return;
+ }
+
+ } while (1);
+}
diff --git a/npc/functions/quest-debug/039-HurnscaldQuests_ForestBow.txt b/npc/functions/quest-debug/039-HurnscaldQuests_ForestBow.txt
new file mode 100644
index 00000000..c6a61a1b
--- /dev/null
+++ b/npc/functions/quest-debug/039-HurnscaldQuests_ForestBow.txt
@@ -0,0 +1,42 @@
+// Jack Lumber quest debug
+// Author:
+// gumi
+
+function script QuestDebug39 {
+ do
+ {
+ clear;
+ setnpcdialogtitle l("Quest debug");
+ mes "HurnscaldQuests_ForestBow";
+ mes "---";
+ mes l("Quest state: @@", getq(HurnscaldQuests_ForestBow));
+ mes "---";
+ mes l("Related quests:");
+ mes "HurnscaldQuests_WoodenShield: " + getq(HurnscaldQuests_WoodenShield);
+ next;
+
+ GenericQuestDebug HurnscaldQuests_ForestBow,
+ menuimage("actions/manage", l("Debug Wooden Shield")), -1,
+ l("Cannot do the quest"), 0,
+ l("Can do the quest"), 1,
+ l("Alan wants to ask Jack"), 2,
+ l("Jack explained problem"), 3,
+ l("Alan asks to find wood"), 4,
+ l("Found perfect wood"), 5,
+ l("Got the bow"), 6;
+
+ switch (@menuret)
+ {
+ case -1: callfunc "QuestDebug40"; break;
+ case 0:
+ case 1:
+ case 2:
+ case 3:
+ case 4: setq(HurnscaldQuests_WoodenShield, 0); break;
+ case 5:
+ case 6: setq(HurnscaldQuests_WoodenShield, max(1, getq(HurnscaldQuests_WoodenShield))); break;
+ default: if (@menuret < 0) return;
+ }
+
+ } while (1);
+}
diff --git a/npc/functions/quest-debug/040-HurnscaldQuests_WoodenShield.txt b/npc/functions/quest-debug/040-HurnscaldQuests_WoodenShield.txt
new file mode 100644
index 00000000..05d08130
--- /dev/null
+++ b/npc/functions/quest-debug/040-HurnscaldQuests_WoodenShield.txt
@@ -0,0 +1,37 @@
+// Jack Lumber quest debug
+// Author:
+// gumi
+
+function script QuestDebug40 {
+ do
+ {
+ clear;
+ setnpcdialogtitle l("Quest debug");
+ mes "HurnscaldQuests_WoodenShield";
+ mes "---";
+ mes l("Quest state: @@", getq(HurnscaldQuests_WoodenShield));
+ mes "---";
+ mes l("Related quests:");
+ mes "HurnscaldQuests_ForestBow: " + getq(HurnscaldQuests_ForestBow);
+ next;
+
+ GenericQuestDebug HurnscaldQuests_WoodenShield,
+ menuimage("actions/manage", l("Debug Forest Bow")), -1,
+ l("Cannot do the quest"), 0,
+ l("Can do the quest"), 1,
+ l("Jack proposes shield"), 2,
+ l("Accepted the quest"), 3,
+ l("Got the shield"), 4;
+
+ switch (@menuret)
+ {
+ case -1: callfunc "QuestDebug39"; break;
+ case 1:
+ case 2:
+ case 3:
+ case 4: setq(HurnscaldQuests_ForestBow, max(5, getq(HurnscaldQuests_ForestBow))); break;
+ default: if (@menuret < 0) return;
+ }
+
+ } while (1);
+}