summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJesusaves <cpntb1@ymail.com>2019-04-07 00:00:39 -0300
committerJesusaves <cpntb1@ymail.com>2019-04-07 00:00:39 -0300
commitf44f56e6c2b13ceb25f42bc8e122528cd7bf4932 (patch)
treef430821ec97cfec6eeb0aea62fec936539748130
parente5da829a4c16d9a73c2ebb40239a8cfdd39c2456 (diff)
downloadserverdata-f44f56e6c2b13ceb25f42bc8e122528cd7bf4932.tar.gz
serverdata-f44f56e6c2b13ceb25f42bc8e122528cd7bf4932.tar.bz2
serverdata-f44f56e6c2b13ceb25f42bc8e122528cd7bf4932.tar.xz
serverdata-f44f56e6c2b13ceb25f42bc8e122528cd7bf4932.zip
Package Legion for travel.
Get your act straight, Legion! You need to release the player from Artis! > Q'Anon dialog, close evol-all#25 until joining a faction/clan/guild gets available. > More placeholders > Sophialla will call player telling them to talk to her so we can advance. Requires PvE room - it needs to be mapped so call @Micksha about that. Requires !165 submitted and working, with Lozerk's approval.
-rw-r--r--db/quest_db.conf4
-rw-r--r--npc/001-1/doors.txt4
-rw-r--r--npc/001-1/sophialla.txt23
-rw-r--r--npc/001-2-32/serena.txt7
-rw-r--r--npc/001-2-39/qanon.txt74
-rw-r--r--npc/001-2-40/trozz.txt12
-rw-r--r--npc/commands/debug-quest.txt3
-rw-r--r--npc/functions/quest-debug/033-Artis_Legion_Progress.txt3
-rw-r--r--npc/functions/quest-debug/042-General_Brotherhood.txt27
-rw-r--r--npc/scripts.conf1
10 files changed, 143 insertions, 15 deletions
diff --git a/db/quest_db.conf b/db/quest_db.conf
index 2eef4e8d..9d87df84 100644
--- a/db/quest_db.conf
+++ b/db/quest_db.conf
@@ -186,6 +186,10 @@ quest_db: (
Name: "General_Cooking"
},
{
+ Id: 42
+ Name: "General_Brotherhood"
+},
+{
Id: 1000
Name: "Test_testing1"
},
diff --git a/npc/001-1/doors.txt b/npc/001-1/doors.txt
index 67936b4b..7cf4e132 100644
--- a/npc/001-1/doors.txt
+++ b/npc/001-1/doors.txt
@@ -32,11 +32,15 @@ OnUnTouch:
OnTouch:
.@enora = getq(ArtisQuests_Enora);
+ .@legion = getq(Artis_Legion_Progress);
+ .@brotherhood = getq(General_Brotherhood);
if (.@enora < 11)
{
setfakecells 57, 41, 1;
end;
}
+ if (.@legion == 6 && !.@brotherhood)
+ addtimer 30, "Sophialla#001-1::OnLegionComplete";
setfakecells 57, 41, 0;
doorTouch;
diff --git a/npc/001-1/sophialla.txt b/npc/001-1/sophialla.txt
index ad4d508a..29fb2ccb 100644
--- a/npc/001-1/sophialla.txt
+++ b/npc/001-1/sophialla.txt
@@ -6,6 +6,7 @@
// THIS IS A PLACEHOLDER!
001-1,73,40,0 script Sophialla#001-1 NPC_SOPHIALLA,{
+ .@q=getq(General_Brotherhood);
speech
l("Hello."),
l("Can't you see I am reading? If you need something, tell me the secret password.");
@@ -13,8 +14,30 @@
close;
+OnLegionComplete:
+ restorecam;
+ mesn "???";
+ mesc l("A strange voice seems to be calling out your name.");
+ next;
+ // NOTE: Sophialla is more than 15 tiles of distance from player
+ // Server refuses to send client data about where she is and that makes
+ // setcamnpc fail. This is why I set .alwaysVisible attribute to true.
+ // Note: you can work around with coordinates, but she won't be drawn.
+ setcamnpc "Sophialla#001-1";
+ mesn;
+ mesq l("Hey. ppst. I have something important to tell you.");
+ next;
+ mesn;
+ mesq l("I just can't remember what. But come talk to me later once devs becomes less lazy.");
+ setq General_Brotherhood, 1;
+ next;
+ restorecam;
+ closeclientdialog;
+ close;
+
OnInit:
.sex = G_FEMALE;
.distance = 2;
+ .alwaysVisible = true;
end;
}
diff --git a/npc/001-2-32/serena.txt b/npc/001-2-32/serena.txt
index 187a654c..fa650ef1 100644
--- a/npc/001-2-32/serena.txt
+++ b/npc/001-2-32/serena.txt
@@ -6,9 +6,7 @@
001-2-32,27,27,0 script Serena NPC_SERENA,{
mesn;
- mesq lg("Oh darling, what brought you here?");
- // ^^^^^^^
- // Expresses familiarity or elderliness in relation to PC.
+ mesq lg("Oh darling, what brought you here?"); // TRANSLATORS: Darling - Expresses familiarity or elderliness in relation to PC.
// <scratch>
// [ PC]: I was just looking around.
@@ -47,9 +45,6 @@
// Alt-Siege
// The city is being attacked. Go help the warriors and town-guard.
- goto L_Close;
-
-L_Close:
close;
OnInit:
diff --git a/npc/001-2-39/qanon.txt b/npc/001-2-39/qanon.txt
index 150362c9..3a917ba9 100644
--- a/npc/001-2-39/qanon.txt
+++ b/npc/001-2-39/qanon.txt
@@ -4,15 +4,85 @@
// Reid
// Description:
// Artis's Legion of Aemil leader.
+// Variables:
+// Artis_Legion_Progress
+// Values:
+// 5 Sent by Lozerk.
+// 6 Train forever (Cannot resume legion, must see brotherhood first)
+// Technically, Q'Anon wants to see if player will recover his memory.
+// After all, player memories might have something important.
+// 7 Arrived at Hurnscald (This means we can resume legion)
001-2-39,34,41,0 script Q'Anon NPC_Q_ANON,{
+ function legionState;
+ function notaMember;
+ .@q=getq(Artis_Legion_Progress);
mesn;
mesq lg("It's been a while, girl!", "It's been a while, boy!");
+ next;
+ if (.@q < 5)
+ notaMember();
- goto L_Close;
+ select
+ rif(.@q == 5, l("Lozerk told me to talk to you and join the legion.")),
+ l("Thanks, sir Q'Anon.");
+ mes "";
+ switch (@menu)
+ {
+ case 1:
+ legionState();
+ break;
+ case 2:
+ mesn;
+ mesq lg("Make me proud, girl.", "Make me proud, boy.");
+ break;
+ }
+ close;
-L_Close:
+function notaMember {
+ mesn;
+ mesq col(l("*ahem*"), 9) + " " + l("Heh, did you saw me at the port? No?");
+ next;
+ mesn;
+ mesq l("This is how good we Legion Members are. I was informed of your arrival way before you left Drasil Island.");
+ next;
+ mesn;
+ mesq l("I usually would not care, but it is not every day a complete stranger arrives at Artis.");
+ next;
+ mesn;
+ mesq l("You're welcome to stay here as long as you wish. Just don't do anything stupid, like a riot, for example.");
close;
+ return;
+}
+
+function legionState {
+ mesn;
+ mesq l("Oh? And do you think you have what it takes to be a proud Legion Member?");
+ next;
+ mesn;
+ mesq lg("Listen, kid. Being a legion member is not a joke.");
+ next;
+ mesn;
+ mesq l("Hmm, why don't you go train a little more? We have several training rooms here.");
+ next;
+ mesn;
+ mesq l("Yes, I am authorizing you to use them as you deem fit, until you get stronger.");
+ next;
+ mesn;
+ mesq l("Also, build a reputation with the Legion. Talk to everyone. Help everyone. Prove me your worth!");
+ next;
+ mesn;
+ mesq l("Only after you prove yourself, you may join our ranks as a proud member! Hahah!");
+ setq Artis_Legion_Progress, 6;
+ // So, we probably should use Clan System for the major guilds.
+ // I guess major guilds are: Legion, Brotherhood
+ // minor guilds: Merchants, Thieves and Mages.
+
+ // It would be the commands below:
+ // join_clan(CLAN_LEGION);
+ // clan_leave();
+ return;
+}
OnInit:
.sex = G_MALE;
diff --git a/npc/001-2-40/trozz.txt b/npc/001-2-40/trozz.txt
index df76c26f..b695f1bc 100644
--- a/npc/001-2-40/trozz.txt
+++ b/npc/001-2-40/trozz.txt
@@ -6,11 +6,13 @@
001-2-40,36,46,0 script Trozz#001-2-40 NPC_HUMAN_MALE_CHIEF_ARTIS_LEGION,{
mesn;
- mesq l("Hi.");
-
- goto L_Close;
-
-L_Close:
+ mesq l("Hi. I am Trozz, and I am the chief of legion training in Artis.");
+ next;
+ mesn;
+ mesq l("If you want to challenge someone for a friendly match, you are at the right place.");
+ next;
+ mesn;
+ mesq l("But if you need to deal with more burocratic stuff, go talk to Q'Anon. He is the boss here.");
close;
OnInit:
diff --git a/npc/commands/debug-quest.txt b/npc/commands/debug-quest.txt
index 1c3e0b5c..96a8e290 100644
--- a/npc/commands/debug-quest.txt
+++ b/npc/commands/debug-quest.txt
@@ -130,7 +130,8 @@ function script GlobalQuestDebug {
"Rumly", General_Rumly,
l("Narrator"), General_Narrator,
"Janus", General_Janus,
- l("Cooking"), General_Cooking;
+ l("Cooking"), General_Cooking,
+ l("Brotherhood"), General_Brotherhood;
switch (@menuret)
{
diff --git a/npc/functions/quest-debug/033-Artis_Legion_Progress.txt b/npc/functions/quest-debug/033-Artis_Legion_Progress.txt
index c4ea5558..ff6f1d16 100644
--- a/npc/functions/quest-debug/033-Artis_Legion_Progress.txt
+++ b/npc/functions/quest-debug/033-Artis_Legion_Progress.txt
@@ -19,7 +19,8 @@ function script QuestDebug33 {
l("Finished training"), 2,
l("Sent to battle"), 3,
l("Finished battle"), 4,
- l("Sent to Q'Anon"), 5;
+ l("Sent to Q'Anon"), 5,
+ l("Indefinite Traning"), 6;
if (@menuret < 0)
{
diff --git a/npc/functions/quest-debug/042-General_Brotherhood.txt b/npc/functions/quest-debug/042-General_Brotherhood.txt
new file mode 100644
index 00000000..3eb3683b
--- /dev/null
+++ b/npc/functions/quest-debug/042-General_Brotherhood.txt
@@ -0,0 +1,27 @@
+// Mona quest debug
+// Authors:
+// gumi
+// monwarez
+// jesusalva
+
+function script QuestDebug42 {
+ do
+ {
+ clear;
+ setnpcdialogtitle l("Quest debug");
+ mes "General_Brotherhood";
+ mes "---";
+ mes l("Quest state: @@", getq(General_Brotherhood));
+ next;
+
+ GenericQuestDebug General_Brotherhood,
+ l("Does not have the quest"), 0,
+ l("Contacted by Sopiahalla"), 1;
+
+ if (@menuret < 0)
+ {
+ return;
+ }
+
+ } while (1);
+}
diff --git a/npc/scripts.conf b/npc/scripts.conf
index a7f39836..ca2bf288 100644
--- a/npc/scripts.conf
+++ b/npc/scripts.conf
@@ -94,6 +94,7 @@
"npc/functions/quest-debug/039-HurnscaldQuests_ForestBow.txt",
"npc/functions/quest-debug/040-HurnscaldQuests_WoodenShield.txt",
"npc/functions/quest-debug/041-General_Cooking.txt",
+"npc/functions/quest-debug/042-General_Brotherhood.txt",
// Item functions
"npc/items/croconut.txt",