diff options
-rw-r--r-- | db/quest_db.conf | 4 | ||||
-rw-r--r-- | db/re/mob_db.conf | 6 | ||||
-rw-r--r-- | npc/009-5/_import.txt | 1 | ||||
-rw-r--r-- | npc/009-5/joaquim.txt | 175 |
4 files changed, 184 insertions, 2 deletions
diff --git a/db/quest_db.conf b/db/quest_db.conf index 4444e75dd..aa1f6aa2a 100644 --- a/db/quest_db.conf +++ b/db/quest_db.conf @@ -202,6 +202,10 @@ quest_db: ( Id: 72 Name: "HalinarzoQuest_TraderKing" }, +{ + Id: 72 + Name: "HalinarzoQuest_SickWife" +}, // ID 91 to 110: Hurnscald Quests { diff --git a/db/re/mob_db.conf b/db/re/mob_db.conf index b77420f09..499482833 100644 --- a/db/re/mob_db.conf +++ b/db/re/mob_db.conf @@ -1527,8 +1527,9 @@ mob_db: ( DamageMotion: 480 Drops: { MushroomSpores: 950 - SmallMushroom: 600 Plushroom: 800 + HardSpike: 550 + SmallMushroom: 450 Chagashroom: 400 } }, @@ -1839,8 +1840,9 @@ mob_db: ( DamageMotion: 480 Drops: { MushroomSpores: 950 - SmallMushroom: 600 Plushroom: 800 + HardSpike: 600 + SmallMushroom: 500 Chagashroom: 400 } }, diff --git a/npc/009-5/_import.txt b/npc/009-5/_import.txt index 20d4451b1..956fefcba 100644 --- a/npc/009-5/_import.txt +++ b/npc/009-5/_import.txt @@ -1,4 +1,5 @@ // Map 009-5: Halinarzo Church // This file is generated automatically. All manually added changes will be removed when running the Converter. "npc/009-5/_warps.txt", +"npc/009-5/joaquim.txt", "npc/009-5/luanna.txt", diff --git a/npc/009-5/joaquim.txt b/npc/009-5/joaquim.txt new file mode 100644 index 000000000..3569149c5 --- /dev/null +++ b/npc/009-5/joaquim.txt @@ -0,0 +1,175 @@ +// TMW2 Script, ported from TMW-BR +// TMW2 Author: Jesusalva +// +// Creator: Cardinalli +// Review: Lunovox <rui.gravata@gmail.com> +// +// Description: +// A rather easy quest to give players what to kill. + +009-5,36,35,4 script Joaquim NPC_PLAYER,{ + .@q=getq(HalinarzoQuest_SickWife); + if (BaseLevel < 36) goto L_TooWeak; + if (BaseLevel < 50) goto L_Weak; + if (.@q == 5) goto L_Complete; + if (.@q == 4) goto L_Finish; + if (.@q == 3) goto L_DoIt; + if (.@q == 2) goto L_Return; + if (.@q == 1) goto L_Found; + goto L_Start; + +L_TooWeak: + mesn; + mesq l("Here is a safe haven for we who don't fight. There are no monsters, and the Mouboo watches over us."); + close; + +L_Weak: + mesn; + .@r=rand(1,5); + switch (.@r) { + case 1: + mesq l("Watch out! My wife was gravely wounded the other day. Don't forget your shield when leaving this holy place!"); + break; + case 2: + mesq l("Ah, I hate mushrooms. Perhaps in future, I could use their spikes and mushies."); + break; + case 3: + mesq l("Ah, I hate snakes. Perhaps in future, I could use their tongues."); + break; + case 4: + mesq l("Ah, I love mouboos. But their steaks, hmm. Ah, no, I shouldn't eat that..."); + break; + case 5: + mesq l("You should never sell your Cactus Drinks. They have many uses."); + break; + } + close; + +L_Complete: + mesn; + mesq l("Thanks for helping my wife, I'll be forever grateful."); + close; + +L_Finish: + mesn; + mesq l("Thanks for helping my wife! May the Mouboo watch over you! o.o"); + next; + inventoryplace ElixirOfLife, 1; + geitem ElixirOfLife, 1; + getexp 17288, 0; // 15% from needed experience to level up + setq HalinarzoQuest_SickWife, 5; + mesn; + mesq l("Take this spare @@ I did. It heals fully and instantly, so don't hesit to use it if you're about to die.", getitemlink(ElixirOfLife)); + close; + +L_DoIt: + mesn; + mesq l("Please help my wife Yumi, on the Hospital!"); + close; + +// Quest Core +L_Start: + mesn; + mesq l("Ohhhhh..... Please, help me!!! My wife is gravely wounded!!"); + next; + mesn strcharinfo(0); + mesq l("Calm down! How can I help you?"); + next; + mesn; + mesq l("My grandmother gave me a recipe of the @@, it can cure anything but death.", getitemlink(ElixirOfLife)); + next; + mesn; + mesq l("I don't remember what I need now, but if you give me a moment, I'll get the list."); + setq HalinarzoQuest_SickWife, 1; + close; + +L_Found: + mesn; + mesq l("I can make an @@, I still have a bottle of fairy blood, a few mana pearls, and some other rare ingredients.", getitemlink(ElixirOfLife)); + mesq l("It is the non-rare ingredients I actually need help with!"); + next; + mesn l("@@ Recipe", getitemlink(ElixirOfLife)); + mesc l("@@/40 @@", countitem(SmallMushroom), getitemlink(SmallMushroom)); + mesc l("@@/100 @@", countitem(CactusDrink), getitemlink(CactusDrink)); + mesc l("@@/30 @@", countitem(BottleOfTonoriWater), getitemlink(BottleOfTonoriWater)); + mesc l("@@/60 @@", countitem(HardSpike), getitemlink(HardSpike)); + mesc l("@@/45 @@", countitem(SnakeTongue), getitemlink(SnakeTongue)); + mesc l("@@/15 @@", countitem(MoubooSteak), getitemlink(MoubooSteak)); + next; + select + l("I will do it, don't worry."), + l("Ahh, too many items. Sorry."); + mes ""; + mesn; + if (@menu == 1) { + mes lg("Thanks! Thanks! Savior! Hurry up!"); + setq HalinarzoQuest_SickWife, 2; + } else { + mes l("Oh noes, who nows can help my wife? Please reconsider!"); + } + close; + +L_Return: + mesn l("@@ Recipe", getitemlink(ElixirOfLife)); + mesc l("@@/40 @@", countitem(SmallMushroom), getitemlink(SmallMushroom)); + mesc l("@@/100 @@", countitem(CactusDrink), getitemlink(CactusDrink)); + mesc l("@@/30 @@", countitem(BottleOfTonoriWater), getitemlink(BottleOfTonoriWater)); + mesc l("@@/60 @@", countitem(HardSpike), getitemlink(HardSpike)); + mesc l("@@/45 @@", countitem(SnakeTongue), getitemlink(SnakeTongue)); + mesc l("@@/15 @@", countitem(MoubooSteak), getitemlink(MoubooSteak)); + next; + select + l("I'll be back later with all ingredients."), + l("They're with me."); + mes ""; + if (@menu == 1) + close; + + if (countitem(SmallMushroom) < 40 || + countitem(CactusDrink) < 100 || + countitem(BottleOfTonoriWater) < 30 || + countitem(HardSpike) < 60 || + countitem(SnakeTongue) < 45 || + countitem(MoubooSteak) < 15) + goto L_Missing; + + inventoryplace ElixirOfLife, 1; + + delitem SmallMushroom, 40; + delitem CactusDrink, 100; + delitem BottleOfTonoriWater, 30; + delitem HardSpike, 60; + delitem SnakeTongue, 45; + delitem MoubooSteak, 15; + getitem ElixirOfLife, 1; + setq HalinarzoQuest_SickWife, 3; + mesn; + mesq l("Thanks, I'll just bake the Elixir right away...!"); + next; + mesc l("@@ goes away for a while and returns briefly.", .name$); + next; + mesn; + mesq l("Here, take the Elixir. Please, bring it to my wife! I am counting on you!!"); + close; + +L_Missing: + mesn strcharinfo(0); + mesq l("Except they're not. I'll be back later."); + next; + mesn; + mesq l("Please, @@! Hurry up!", strcharinfo(0)); + close; + +OnInit: + .@npcId = getnpcid(0, .name$); + setunitdata(.@npcId, UDT_HEADTOP, NPCEyes); + setunitdata(.@npcId, UDT_HEADMIDDLE, VneckJumper); + setunitdata(.@npcId, UDT_HEADBOTTOM, RaidTrousers); + setunitdata(.@npcId, UDT_WEAPON, LousyMoccasins); // Boots + setunitdata(.@npcId, UDT_HAIRSTYLE, 3); + setunitdata(.@npcId, UDT_HAIRCOLOR, 5); + + .sex = G_MALE; + .distance = 5; + end; +} |