From 68aed0cb37da23e48e040b1e2ea8743bffad0bab Mon Sep 17 00:00:00 2001 From: Jesusaves Date: Thu, 19 May 2022 19:31:46 -0300 Subject: Add the final source of Sunny Crystal - And the final part of Milly's Quest. --- npc/012-1/milly.txt | 70 ++++++++++++++++++++++++++++++++++++++++++++++- npc/017-3/doctor.txt | 13 +++++++++ npc/items/books.txt | 3 ++ npc/items/miscrecipes.txt | 2 +- 4 files changed, 86 insertions(+), 2 deletions(-) diff --git a/npc/012-1/milly.txt b/npc/012-1/milly.txt index 9205c7a1b..1935858e1 100644 --- a/npc/012-1/milly.txt +++ b/npc/012-1/milly.txt @@ -16,9 +16,10 @@ 012-1,111,66,0 script Milly NPC_TEDDYGIRL,{ .@q=getq(General_Milly); mesn; - if (.@q == 1) mesq lg("Hello my hero!"); + if (.@q >= 1) mesq lg("Hello my hero!"); else mesq l("Hello."); if (.@q == 0) goto L_Assign; + else if (.@q == 1) goto L_Feat; close; L_Assign: @@ -74,6 +75,73 @@ L_Finish: inventoryplace PlushMouboo, 1; setq General_Milly, 1; getitem PlushMouboo, 1; + getexp 100, 100; // No, not really. + mesn; + mesq lg("Here you go, miss! Thanks for being my hero! <3", "Here you go, mister! Thanks for being my hero! <3"); + } + close; + +L_Feat: + next; + mesn; + mesq l("Hey hey, can you impress me? Can you impress me?"); + next; + mesn; + mesq l("I want you to impress me, so I can brag about you to all my friends!"); + next; + mesc b(l(".:: Impressive Hero Quest ::.")), 3; + msObjective(YETIKING_WINNER, l("* Impress %s", l("the Yeti King"))); + msObjective(HEROESHOLD_WINNER, l("* Impress %s", l("Colonel Dustman"))); + msObjective(REBIRTH_WINNER, l("* Impress %s", l("Sir Phoenix"))); + msObjective(QUIRINO_WINNER, l("* Impress %s", l("Quirin Voraz"))); + msObjective(GEMINI_WINNER, l("* Impress %s", l("Valia Gemini"))); + msObjective(GHQ_WINNER, l("* Impress %s", l("Aidan and Pet Detective"))); + msObjective(EPISODE_WINNER, l("* Impress %s", l("The Doctor"))); + msObjective(FORT_1ST_VISIT, l("* Impress %s", l("The Alliance"))); + msObjective(MOUBOOTAUR_WINNER, l("* Impress %s", l("Andrei Sakar"))); + mes ""; + mesc l("You need to finish at least %d/%d tasks.", 7, 9); + .@t = 0; + if (YETIKING_WINNER) .@t += 1; + if (HEROESHOLD_WINNER) .@t += 1; + if (REBIRTH_WINNER) .@t += 1; + if (QUIRINO_WINNER) .@t += 1; + if (GEMINI_WINNER) .@t += 1; + if (GHQ_WINNER) .@t += 1; + if (EPISODE_WINNER) .@t += 1; + if (FORT_1ST_VISIT) .@t += 1; + if (MOUBOOTAUR_WINNER) .@t += 1; + if (.@t >= 7) goto L_Epic; + close; + +L_Epic: + next; + mesn; + mesq lg("Wo-wo-wow! You really did it! You're the best!"); + next; + mesn; + mesq l("But the game still is in development, so not every great feat was added yet."); + next; + mesn; + mesq l("Do you want to get a reward nonetheless? You will lose @@.", b(l("any planned experience and gold reward."))); + mesc l("Also note that, under team's discretion, all rewards from this quest might be erasen along quest state."); + mesc l("This would mean you might need to complete this quest again in the future."); + next; + // Debug + percentheal 100, 100; + sc_start SC_ATTHASTE_POTION1, 1800000, 30; + /* + mesn; + mesc l("Saulc was here"), 1; + close; + */ + // / Debug + if (askyesno() == ASK_YES) { + mes ""; + inventoryplace SunnyCrystal, 1; + setq General_Milly, 2; + getitem SunnyCrystal, 1; + getexp 100, 100; // No, not really. mesn; mesq lg("Here you go, miss! Thanks for being my hero! <3", "Here you go, mister! Thanks for being my hero! <3"); } diff --git a/npc/017-3/doctor.txt b/npc/017-3/doctor.txt index 5f6d62252..42ed43b11 100644 --- a/npc/017-3/doctor.txt +++ b/npc/017-3/doctor.txt @@ -354,6 +354,19 @@ L_Cont: getexp 300000, 0; getitem SaviorBlueprint, 1; setq LoFQuest_EPISODE, 17; + + // Less relevant + EPISODE_WINNER=gettimetick(2); + if ($EPISODE_WINNER$ == "") { + $EPISODE_WINNER$=strcharinfo(0); + channelmes("#world", $EPISODE_WINNER$+" is the first player to finish The Episode of Ozthokk!! GG, dude! %%N"); + announce "All hail ##B"+$EPISODE_WINNER$+"##b, first to complete ##3The Episode of Ozthokk!", bc_all|bc_npc; + getexp 0, 2000; + getitem PrismGift, 1; + mesc l("CONGRATULATIONS! You are the first player to finish The Episode of Ozthokk!!"), 2; + mesc l("You just gained a Prism Gift, and 2000 Job Exp for your bravery!"), 2; + next; + } close; OnInit: diff --git a/npc/items/books.txt b/npc/items/books.txt index 71f680365..1c5048677 100644 --- a/npc/items/books.txt +++ b/npc/items/books.txt @@ -480,6 +480,7 @@ function myself { .@quirin = QUIRINO_WINNER; .@gemini = GEMINI_WINNER; .@ghq = GHQ_WINNER; + .@doct = EPISODE_WINNER; .@fort = FORT_1ST_VISIT; .@seal = MOUBOOTAUR_WINNER; detachrid(); @@ -497,6 +498,8 @@ function myself { mesc l("Won Quirino Voraz Arena %s ago", FuzzyTime(.@quirin)); if (.@ghq) mesc l("First Grand Hunter challenge cleared %s ago", FuzzyTime(.@ghq)); + if (.@doct) + mesc l("Completed The Episode of Ozthokk %s ago", FuzzyTime(.@doct)); if (.@fort) mesc l("First visit to Fortress Is. %s ago", FuzzyTime(.@fort)); if (.@seal) diff --git a/npc/items/miscrecipes.txt b/npc/items/miscrecipes.txt index 1a1db267d..d94356fa6 100644 --- a/npc/items/miscrecipes.txt +++ b/npc/items/miscrecipes.txt @@ -52,7 +52,7 @@ function script LegendaryBlueprint { dispbottom l("Wait a minute... This is written in Mananese! I can't read it!"); return; } - // Current: 4x Mylarin & 1x Sunny Crystal (can be cheated for 2) + // Current: 3x Mylarin & 2x Sunny Crystal (can be cheated for 2) // Needed: 2x Mylarin & 2x Sunny Crystal // Setup -- cgit v1.2.3-60-g2f50