From c35966a7eb2466daeef18e469187cacab3a52b5c Mon Sep 17 00:00:00 2001 From: Jesusaves Date: Tue, 17 May 2022 23:52:34 -0300 Subject: (Untested) Naem's Quest. You can now acquire the Miner Tank Top. This tanktop will be the most powerful armor you can get "normally". Everything else relies on crafting. --- db/quest_db.conf | 6 +++++- npc/003-1/silvia.txt | 37 +++++++++++++++++++++++++++++++++++++ npc/007-1/naem.txt | 38 ++++++++++++++++++++++++++++++++++++++ npc/functions/util.txt | 4 ++++ 4 files changed, 84 insertions(+), 1 deletion(-) diff --git a/db/quest_db.conf b/db/quest_db.conf index 0fabf7bc7..97daf672e 100644 --- a/db/quest_db.conf +++ b/db/quest_db.conf @@ -502,7 +502,11 @@ quest_db: ( Id: 194 Name: "MineQuest_Pickaxe" }, -// 195~199: Overflow Quests (Unused) +{ + Id: 195 + Name: "MineQuest_Naem" +}, +// 196~199: Overflow Quests (Unused) { Id: 200 Name: "General_MobHunting1" diff --git a/npc/003-1/silvia.txt b/npc/003-1/silvia.txt index b5e289219..e6a69531d 100644 --- a/npc/003-1/silvia.txt +++ b/npc/003-1/silvia.txt @@ -11,6 +11,7 @@ if (.@q2 < santime()) goto L_Unallowed; if (getq(TulimsharQuest_Swezanne) == 1 && getq(TulimsharQuest_Lifestone) < 2) goto L_Lifestone; if (strcharinfo(0) != $MOST_HEROIC$) hello; + if (getq(MineQuest_Naem) == 1) goto L_Hubby; end; L_Message: @@ -74,6 +75,42 @@ L_Unallowed: mesq l("She must be thristy, fighting monsters on this sun... If somebody could give her Cactus Potions..."); close; +L_Hubby: + mesc l("Did we brought everything Naem asked?"); + mesf l("%d/%d %s",countitem(Aquada), 7, getitemlink(Aquada)); + mesf l("%d/%d %s",countitem(PiouLegs), 6, getitemlink(PiouLegs)); + mesf l("%d/%d %s",countitem(Cheese), 3, getitemlink(Cheese)); + mesf l("%d/%d %s",countitem(HalfCroconut), 3, getitemlink(HalfCroconut)); + mesf l("%d/%d %s",countitem(ChamomileTea), 1, getitemlink(ChamomileTea)); + next; + if (askyesno() == ASK_NO) { closeclientdialog; end; } + if (countitem(Aquada) < 7 || + countitem(PiouLegs) < 6 || + countitem(Cheese) < 3 || + countitem(HalfCroconut) < 3 || + countitem(PurpleBlobime) < 1) { + mesc l("You lied, and this caused a headache! You should NEVER lie to NPCs, because they may steal your items!"); + callfunc("SC_Bonus", 15, SC_POISON, 10); + close; + } + inventoryplace IcedBottle, 1; + delitem Aquada, 7; + delitem PiouLegs, 6; + delitem Cheese, 3; + delitem HalfCroconut, 3; + delitem PurpleBlobime, 1; + getitembound IcedBottle, 1, 4; + setq MineQuest_Naem, 2; + mesn; + mesq l("Hm, groceries? Well, figure out Naem would ask someone to deliver them."); + next; + mesn; + mesq l("Thanks, please tell him I'll make his favorite dish. Oh, could you also deliver him this %s?", getitemlink(IcedBottle)); + next; + mesn; + mesq l("The mines are over a Volcano. Unless you're a Redy, the heat will slowly chip away your health if you go deep. But drinking iced water can improve temporarily your situation."); + close; + L_Close: closedialog; goodbye; diff --git a/npc/007-1/naem.txt b/npc/007-1/naem.txt index 2ad91cc8c..ed1f479d7 100644 --- a/npc/007-1/naem.txt +++ b/npc/007-1/naem.txt @@ -5,12 +5,50 @@ // Naem is... I'm not sure. 007-1,180,46,2 script Naem NPC_PLAYER,0,0,{ + .@q = getq(MineQuest_Naem); mesn; mesq l("My name is Naem and I guard the tunnels in this direction. You shall not pass. Now leave."); + if (BaseLevel < 28) + close; + if (.@q < 2) + close; + if (.@q == 2) { + if (!checkbound(IcedBottle)) close; + next; + inventoryplace MinerTankTop, 1; + delitem IcedBottle, 1; + getitem MinerTankTop, 1; + getexp 440, 0; + setq MineQuest_Naem, 3; + mesn; + mesq l("Oh, %s, thanks! The tunnels behind me are very hot, this will help if I have to go inside them.", getitemlink(IcedBottle)); + next; + mesn; + mesq l("You can have this %s as a token of gratitude. But no, you cannot pass, so keep going!", getitemlink(MinerTankTop)); + close; + } + if (.@q > 3) + close; + next; + mesn; + mesq l("Actually, you look strong...ish. Still, maybe you can help me."); + next; + mesn; + mesq l("I need groceries. %d %s, %d %s, %d %s, %d %s and %d %s. Give it to my wife, Silvia.", + 7, Aquada, + 6, PiouLegs, + 3, Cheese, + 3, HalfCroconut, + 1, PurpleBlobime); + next; + mesn; + mesq l("You can collect croconuts by killing any tree with it. Then you can break it in half from the inventory screen."); + compareandsetq MineQuest_Naem, 0, 1; close; // TODO: If you walk past him having the requisite, warp OnTouch: + npctalk3 l("Hey, I said NO ENTRY! Get moving!"); end; OnInit: diff --git a/npc/functions/util.txt b/npc/functions/util.txt index 7cd1d500b..bc76b5361 100644 --- a/npc/functions/util.txt +++ b/npc/functions/util.txt @@ -277,6 +277,10 @@ function script reputation { if (getq(MineQuest_Caelum) >= 2) .@nr=.@nr+1; + // Naem Quest (+1 rep) + if (getq(MineQuest_Naem) >= 3) + .@nr=.@nr+1; + // Veteran Officer Quest (+1 rep) if (getq(TulimsharQuest_WoodenSword) >= 2) .@nr=.@nr+1; -- cgit v1.2.3-70-g09d2