diff options
author | Jesusaves <cpntb1@ymail.com> | 2019-04-07 00:00:39 -0300 |
---|---|---|
committer | Jesusaves <cpntb1@ymail.com> | 2019-04-07 00:00:39 -0300 |
commit | f44f56e6c2b13ceb25f42bc8e122528cd7bf4932 (patch) | |
tree | f430821ec97cfec6eeb0aea62fec936539748130 | |
parent | e5da829a4c16d9a73c2ebb40239a8cfdd39c2456 (diff) | |
download | serverdata-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.conf | 4 | ||||
-rw-r--r-- | npc/001-1/doors.txt | 4 | ||||
-rw-r--r-- | npc/001-1/sophialla.txt | 23 | ||||
-rw-r--r-- | npc/001-2-32/serena.txt | 7 | ||||
-rw-r--r-- | npc/001-2-39/qanon.txt | 74 | ||||
-rw-r--r-- | npc/001-2-40/trozz.txt | 12 | ||||
-rw-r--r-- | npc/commands/debug-quest.txt | 3 | ||||
-rw-r--r-- | npc/functions/quest-debug/033-Artis_Legion_Progress.txt | 3 | ||||
-rw-r--r-- | npc/functions/quest-debug/042-General_Brotherhood.txt | 27 | ||||
-rw-r--r-- | npc/scripts.conf | 1 |
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", |