From 9d5db4c9b4bbb05153b29ee7340acbd35ed226bf Mon Sep 17 00:00:00 2001 From: Jesusaves Date: Mon, 7 Jan 2019 01:03:26 -0200 Subject: Rakinorf Initial Version (Main Storyline 2-2) --- npc/012-2/GonzoDark.txt | 2 +- npc/012-2/Saulc.txt | 2 +- npc/012-2/_import.txt | 1 + npc/012-2/door.txt | 4 +- npc/012-2/rakinorf.txt | 162 ++++++++++++++++++++++++++++++++++++++++++++++++ 5 files changed, 167 insertions(+), 4 deletions(-) create mode 100644 npc/012-2/rakinorf.txt (limited to 'npc/012-2') diff --git a/npc/012-2/GonzoDark.txt b/npc/012-2/GonzoDark.txt index 6cc84c872..f5e65314f 100644 --- a/npc/012-2/GonzoDark.txt +++ b/npc/012-2/GonzoDark.txt @@ -42,7 +42,7 @@ L_Finish: setq1 SQuest_Sponsor, .@q | .questID; mes ""; mesn; - mesq l("Many thanks! Come back later to bring me extra @@!", getitemlink(RedScorpionStinger)); + mesq l("Many thanks! Come back later to bring me extra @@!", getitemlink(.itemID)); close; L_Where: diff --git a/npc/012-2/Saulc.txt b/npc/012-2/Saulc.txt index 888d0fa4d..e4f790475 100644 --- a/npc/012-2/Saulc.txt +++ b/npc/012-2/Saulc.txt @@ -42,7 +42,7 @@ L_Finish: setq1 SQuest_Sponsor, .@q | .questID; mes ""; mesn; - mesq l("Many thanks! Come back later to bring me extra @@!", getitemlink(RedScorpionStinger)); + mesq l("Many thanks! Come back later to bring me extra @@!", getitemlink(.itemID)); close; L_Where: diff --git a/npc/012-2/_import.txt b/npc/012-2/_import.txt index c8887f3cc..30a1058df 100644 --- a/npc/012-2/_import.txt +++ b/npc/012-2/_import.txt @@ -7,3 +7,4 @@ "npc/012-2/helena.txt", "npc/012-2/melina.txt", "npc/012-2/note.txt", +"npc/012-2/rakinorf.txt", diff --git a/npc/012-2/door.txt b/npc/012-2/door.txt index 9329367cc..cc424a65f 100644 --- a/npc/012-2/door.txt +++ b/npc/012-2/door.txt @@ -16,8 +16,8 @@ OnTouch: end; L_Unauthorized: - // Per r8.0 Apane Invasion, there's a moment on main storyline you'll be allowed - if (getq(General_Narrator) == 3 && getq2(General_Narrator) == 3) + // Per r8.0 Apane Invasion, there's a moment on main storyline you'll be allowed in + if (getq(General_Narrator) == 5) slide 59, 82; if (@sp_notrespass > 0) diff --git a/npc/012-2/rakinorf.txt b/npc/012-2/rakinorf.txt new file mode 100644 index 000000000..dc4a29c57 --- /dev/null +++ b/npc/012-2/rakinorf.txt @@ -0,0 +1,162 @@ +// TMW2/LoF scripts. +// Authors: +// Jesusalva +// Description: +// Current Hurnscald Mayor +// Variable: +// SQuest_Sponsor +// Quest ID: 4 + +012-2,34,79,0 script Rakinorf, Hurnscald Mayor NPC_ANSELMO_BR,{ + function resetSQS { + setq SQuest_Sponsor, 0, gettime(GETTIME_MONTH); + } + // Check monthly quest + .@d=getq2(SQuest_Sponsor); + if (.@d != gettime(GETTIME_MONTH)) resetSQS(); + + .@n=getq(General_Narrator); + .@q=getq(SQuest_Sponsor); + mesn; + mesq l("Ah... I need more beer to keep going... This is so awful..."); + // Handle main storyline + if (.@n >= 5 && .@n < 6) + goto L_MainStory; + // Handle main storyline + + // Core + .@q=getq(SQuest_Sponsor); + if (!(.@q & .questID) && getgmlevel()) goto L_Menu; + close; + +L_Menu: + mesq l("I will reward you for 7 @@.", getitemlink(.itemID)); + mes ""; + menu + rif(countitem(.itemID) >= 7, l("Here they are!")), L_Finish, + l("Where can I find them?"),L_Where, + l("No, thanks."),L_Close; + +L_Finish: + delitem .itemID, 7; + getitem StrangeCoin, rand(2,4); + .@q=getq(SQuest_Sponsor); + setq1 SQuest_Sponsor, .@q | .questID; + mes ""; + mesn; + mesq l("Many thanks! Come back later to bring me extra @@!", getitemlink(.itemID)); + close; + +L_Where: + mes ""; + mesq l("Ah, there are lots with Melina, downstairs."); + next; + +L_Close: + closedialog; + goodbye; + close; + +// Main Storyline +L_MainStory: + next; + // 5 - First time speaking + // setq2 + // 0 - Not Assigned + // 1 - Need to bring Beer + // 2 - Need to find out how Arkim is doing + // 3 - Complete, Reluctancy node + // 4 - Told about Hurnscald Liberation Day, but didn't told where previous mayor is + // 5 - Told you to tell Airlia about. + // 6 - Airlia told you what she knew, must talk to Rakinorf + // 7 - Need to get levels (standard quest) + // 6 - Must visit Halinarzo Library + + // 8 - TODO + + .@n2=getq2(General_Narrator); + + select + rif(getgmlevel(), l("Maybe I could give you more beer?")), + rif(.@n2 == 0, l("I know it may sound silly, but I need your help to find out who I am.")), + rif(.@n2 == 1, l("I have brought you the beer.")), + rif(.@n2 == 2, l("I know how many bat teeth and wings Arkim collected.")), + rif(.@n2 == 3, l("I know it may sound silly, but I need your help to find out who I am.")), + rif(.@n2 == 4, l("Where can I find the previous mayor?")), + rif(.@n2 == 6, l("Airlia told me XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX")), + rif(.@n2 == 7, l("I think I'm ready.")), + l("Ok, thanks."); + + mes ""; + switch (@menu) { + case 1: + goto L_Menu; break; + case 2: + mesn; + mesq l("Not now... *hic* I need @@... *hic* Bring me seven if you *hic* can...", getitemlink(Beer)); + setq2 General_Narrator, 1; + break; + case 3: + if (countitem(Beer) < 7) { + mesn; + mesq l("That's not *hic*... That's not what I asked you for..."); + next; + mesn; + mesq l("Please bring me *hic*... Bring me 7 @@!", getitemlink(Beer)); + close; + } + delitem Beer, 7; + getexp BaseLevel*10, JobLevel*3; + setq2 General_Narrator, 2; + mesn; + mesq l("Aaaaaaaahhhhh.... Much better now *hic*."); + next; + mesn; + mesq l("Could you *hic* do me a favor? Arkim, on a cave southeast of *hic* here, is collecting some stuff."); + next; + mesn; + mesq l("He's an *hic* hermit, and collects *hic* Bat teeth and wings... Tell me how many he collected!"); + break; + case 4: + mesn; + mesq l("So? How many *hic* he collect?"); + mesc l("Protip: Arkim is in a cave southeast of here and is an hermit."); + input .@am; + mes ""; + // If players give up to 10 wings/teeths since you check, I don't mind + if (.@am < ($ARKIM_ST-10) || .@am > $ARKIM_ST) + goto L_Fail; + mesn; + mesq l("Thanks. You can go, now."); + getexp BaseLevel*2, JobLevel; + setq2 General_Narrator, 3; + break; + case 5: + mesn; + mesq l("Maybe later."); + break; + + } + close; + +L_Fail: + mesn; + mes l("Eh? You sure?"); + if (.@am > $ARKIM_ST) + mes l("I don't think he could have collected that many!"); + else + mes l("Last time they told me he collected more than that..."); + next; + mesn; + mesq l("Could you try again, please?"); + // No penalty? Really?? + close; + +OnInit: + .questID=4; + .itemID=Beer; + .sex=G_MALE; + .distance=5; + end; +} + -- cgit v1.2.3-60-g2f50