diff options
-rw-r--r-- | db/quest_db.conf | 4 | ||||
-rw-r--r-- | npc/012-1/bot.txt | 48 | ||||
-rw-r--r-- | npc/017-4/pyndragon.txt | 27 | ||||
-rw-r--r-- | npc/functions/util.txt | 6 |
4 files changed, 81 insertions, 4 deletions
diff --git a/db/quest_db.conf b/db/quest_db.conf index 39e53b2bc..28363655d 100644 --- a/db/quest_db.conf +++ b/db/quest_db.conf @@ -317,6 +317,10 @@ quest_db: ( Id: 106 Name: "HurnscaldQuest_Thorn" }, +{ + Id: 107 + Name: "HurnscaldQuest_LOFPass" +}, // ID 111 to 130: Nivalis Quests { diff --git a/npc/012-1/bot.txt b/npc/012-1/bot.txt index 1bd0bdbc4..dde000620 100644 --- a/npc/012-1/bot.txt +++ b/npc/012-1/bot.txt @@ -8,6 +8,7 @@ // Reward: Mouboo Figurine 012-1,82,59,0 script LOFBot NPC_PLAYER,{ + .@q=getq(HurnscaldQuest_LOFPass); if (rand2(1,5) % 2 == 1) { mesn; mesq l("Ah, @@ is sooo amazing!", $MOST_HEROIC$); @@ -18,6 +19,9 @@ next; mesn; mesq l("They had a TMWA server, but the Monster King went hyperactive and... Well, it crashed here."); + if (.@q == 0) goto L_Quest; + if (.@q == 1) goto L_Report; + if (.@q == 2) goto L_Report; // To accomodate Pyn's node. Not required. L_Menu: mes ""; @@ -72,6 +76,50 @@ L_Close: npctalkonce l("Ah, @@ is so amazing!", $MOST_HEROIC$); close; +L_Quest: + mesn; + mesq l("Actually, could I ask you a favor?"); + next; + mesn; + mesq l("I want a %s so badly... Pyndragon, in the forge, the master blacksmith which makes powerful weapons for high levels, can give you one.", getitemlink(LOFCoin)); + next; + mesn; + mesq l("Just tell him that I want to reconsider, and that I want the souvenir he offered me when I moved to Hurnscald."); + next; + setq HurnscaldQuest_LOFPass, 1; + goto L_Menu; + +L_Report: + mes l("Did you brought me a %s?", getitemlink(LOFCoin)); + next; + if (askyesno() == ASK_YES) goto L_Check; + goto L_Menu; + +L_Check: + if (!countitem(LOFCoin)) goto L_NoItem; + inventoryplace MoubooFigurine, 1; + delitem LOFCoin, 1; + getitem MoubooFigurine, 1; + getexp 400, 20; + setq HurnscaldQuest_LOFPass, 3; + mesn; + mesq lg("Thanks, my friend."); + next; + mesn; + mesq l("Here, you can have this souvenir."); + mesc l("* Item obtained: %s", getitemlink(MoubooFigurine)); + next; + goto L_Menu; + +L_NoItem: + mesn; + mesq l("I want a %s so badly... Pyndragon, in the forge, the master blacksmith which makes powerful weapons for high levels, can give you one.", getitemlink(LOFCoin)); + next; + mesn; + mesq l("Just tell him that I want to reconsider, and that I want the souvenir he offered me when I moved to Hurnscald."); + next; + goto L_Menu; + OnInit: .@npcId = getnpcid(.name$); setunitdata(.@npcId, UDT_HEADTOP, CenturionHelmet); diff --git a/npc/017-4/pyndragon.txt b/npc/017-4/pyndragon.txt index 842f4c0b7..934390e99 100644 --- a/npc/017-4/pyndragon.txt +++ b/npc/017-4/pyndragon.txt @@ -56,6 +56,7 @@ return; } + .@q=getq(HurnscaldQuest_LOFPass); mesn; if (is_night()) mesq l("Good @@. My name is @@ and I make @@.", l("evening"), .name$, l("firearms")); @@ -69,9 +70,9 @@ mesq l("Oh, just an empty staff with black powder inside it. Which explodes. And then kills monsters."); tutmes l("%s makes specialized weapons for high level players. If you tweak with Nicholas, in Hurnscald, the weapon options, you can get really powerful.", .name$); next; - mesn; - next; - if (BaseLevel < 50) + if (.@q == 1) goto L_LOFBOT; + mes ""; + if (BaseLevel < 50) goto L_TooWeak; else if (BaseLevel < 60) goto L_Weak; @@ -174,6 +175,26 @@ L_Close: goodbye; close; +// Takes priority over craft +L_LOFBOT: + select + l("A friend of yours called LOF BOT asked for a coin..."), + l("Sorry, I'm in hurry."); + mes ""; + if (@menu == 2) close; + mesn; + mesq l("Ah, so LOF Bot wants a souvenir after all!"); + next; + mesn; + mesq l("Everyone loves the Land of Fire, it is impossible to not love it."); + next; + inventoryplace LOFCoin, 1; + mesn; + mesq l("Here, please take this to them. Tell them they are welcome here anytime! %%2"); + getitem LOFCoin, 1; + setq HurnscaldQuest_LOFPass, 2; + close; + function explainMelee { mesc l("PORTABLE LIGHTSABER"); mesc l("* Very quick and can be used in a single hand."); diff --git a/npc/functions/util.txt b/npc/functions/util.txt index 3a745bd7a..eab941c8c 100644 --- a/npc/functions/util.txt +++ b/npc/functions/util.txt @@ -328,8 +328,12 @@ function script reputation { if (getq(HurnscaldQuest_Blossom) >= 1) .@nr=.@nr+1; + // LOF Bot Quest (+1 rep) + if (getq(HurnscaldQuest_LOFPass) >= 3) + .@nr=.@nr+1; + // HURNSCALD Magical Forumula - .@nr=.@nr*100/11; + .@nr=.@nr*100/12; |