diff options
author | Jesusaves <cpntb1@ymail.com> | 2022-10-23 21:44:22 -0300 |
---|---|---|
committer | Jesusaves <cpntb1@ymail.com> | 2022-10-23 21:44:22 -0300 |
commit | a7c45a192268da2601cef47a4cdba987ae2327ca (patch) | |
tree | c5fb5b97db109fe7106496dd96498c475881046b /npc/005-6 | |
download | serverdata-a7c45a192268da2601cef47a4cdba987ae2327ca.tar.gz serverdata-a7c45a192268da2601cef47a4cdba987ae2327ca.tar.bz2 serverdata-a7c45a192268da2601cef47a4cdba987ae2327ca.tar.xz serverdata-a7c45a192268da2601cef47a4cdba987ae2327ca.zip |
Initial commit (Moubootaur Legends fork)
Diffstat (limited to 'npc/005-6')
-rw-r--r-- | npc/005-6/_import.txt | 5 | ||||
-rw-r--r-- | npc/005-6/_warps.txt | 3 | ||||
-rw-r--r-- | npc/005-6/morgan.txt | 156 | ||||
-rw-r--r-- | npc/005-6/zitoni.txt | 222 |
4 files changed, 386 insertions, 0 deletions
diff --git a/npc/005-6/_import.txt b/npc/005-6/_import.txt new file mode 100644 index 0000000..365d443 --- /dev/null +++ b/npc/005-6/_import.txt @@ -0,0 +1,5 @@ +// Map 005-6: Candor Magic House +// This file is generated automatically. All manually added changes will be removed when running the Converter. +"npc/005-6/_warps.txt", +"npc/005-6/morgan.txt", +"npc/005-6/zitoni.txt", diff --git a/npc/005-6/_warps.txt b/npc/005-6/_warps.txt new file mode 100644 index 0000000..545f754 --- /dev/null +++ b/npc/005-6/_warps.txt @@ -0,0 +1,3 @@ +// This file is generated automatically. All manually added changes will be removed when running the Converter. +// Map 005-6: Candor Magic House warps +005-6,33,43,0 warp #005-6_33_43 0,0,005-1,50,86 diff --git a/npc/005-6/morgan.txt b/npc/005-6/morgan.txt new file mode 100644 index 0000000..727c334 --- /dev/null +++ b/npc/005-6/morgan.txt @@ -0,0 +1,156 @@ +// TMW2 Script +// Author: +// Jesusalva +// Description: +// Morgan is the only mage in Candor. She was assigned by the Alliance to defend +// the small island, and is married with Zitoni. + +005-6,30,37,0 script Morgan NPC_RUMLY_FEMALE,{ + + mesn; + mesq lg("Hello there, darling."); + next; + menu + l("Who are you?"), L_Who, + l("Do you sell anything here?"), L_Shop, + l("Hi."), -; // Let's be honest, many conversations dies this way >.< + close; + +L_Who: + mes ""; + mesn; + mesq l("I am @@, the only mage in Candor.", .name$); + next; + mesq l("My husband and I have moved here under the Alliance orders."); + next; + mesq l("I really hope that nothing major happens, though. I would hate to see blood being spilled."); + next; + if (!MAGIC_LVL) + mesq l("If you train hard enough, and get access to a Mana Stone, I could teach you a trick or two. But right now, I don't sense magic compatibility in you."); + else + goto L_Magic; + close; + +L_Shop: + mes ""; + mesn; + mesq l("Why, I actually do sell a few things here! But they probably aren't what you're looking for."); + next; + openshop; + closedialog; + close; + +// Magic Subsystem +L_Magic: + mesn; + mesq l("I see you have magical powers. Have you been acknowledge by the Alliance as a mage? If not, you should regularize yourself as a @@ยบ degree mage in Tulimshar Magic Council.", MAGIC_LVL); + +L_MagicCore: + select + l("Acknowledgment? What do you mean?"), + l("Magic Council? What's that?"), + rif(!getskilllv(TMW2_KALMURK), l("Can you teach me a spell?")), + rif(getskilllv(TMW2_KALMURK), l("I keep failing to summon maggots...")), + l("Thanks for the help!"); + mes ""; + switch (@menu) { + case 1: + mesn; + mesq l("You won't learn any skill without a good professor to teach them to you."); + next; + mesn; + mesq l("And unless you have a mage permit from the Magic Council, you won't be going to CR1 - Academy Island either."); + break; + case 2: + mesn; + mesq l("You know the Tulimshar Magic Council? The big building on Tulimshar North?"); + next; + mesn; + mesq l("It rules Tulimshar, and is also one of the superior bodies of the Alliance. They have the last Mana Stone in the world on their meeting hall."); + next; + mesn; + mesq l("They restrict access to it to prevent new Monster Kings from emerging. They also keep record on every mage in the world."); + next; + mesn; + mesq l("In general, by touching the Mana Stone once, will make you a first degree mage. But these degrees goes up to seven and beyond, I think."); + next; + mesn; + mesq l("Of course, if you don't ask from the Mana Stone for more magic, you will stay on the first degree forever..."); + break; + case 3: + mesn; + mesq l("Sure! But that is Summon Magic. Just bring me a mug of beer, I'm thristy. And I'll teach you a basic skill."); + next; + if (askyesno() == ASK_YES) { + if (!countitem(Beer)) goto L_Cheat; + delitem Beer, 1; + skill(TMW2_KALMURK,1,0); + mesn; + mesq l("You can use @@ to summon some maggots. That depends on your magic level, of course.", b("Kalmurk")); + next; + mesn; + mesq l("That's a Summon Magic. Unlike regular magic, you can increase its levels directly from skill menu (F5)."); + next; + mesn; + mesq l("Keep in mind the more power you have, the less control you'll have as well. Until you get a %s to track progress, use %s to check your control. Less control may result in failure to summon!", getitemlink(JesusalvaGrimorium), b("@abizit")); + next; + mesn; + mesq l("By the way, you need a couple of @@ to try the skill. Fail rate is pretty high if you don't know how to control your magic.", getitemlink(MaggotSlime)); + } + break; + case 4: + mesn; + mesq l("Summoning is part of Mana Magic. Mana Magic is trickier, you must have control over magic power to use it properly."); + next; + mesn; + mesq l("This means everytime you get more power, you lose control. Pratice is the key."); + next; + mesn; + mesq l("Try praticing with different mana magic skills. Anyway, you can use this command to see your magic proeficiency: " + b("@abizit")); + break; + default: + close; + } + next; + goto L_MagicCore; + + +L_Cheat: + mesn; + mesq l("I offer an awesome skill for you, for a very slow price, and you try to cheat me... pitiful..."); + close; + +OnInit: + sleep(SHOPWAIT); + tradertype(NST_MARKET); + + sellitem CottonCloth, -1, 7; + sellitem Fungus, -1, 10; + sellitem Bread, -1, 15; + + .sex = G_FEMALE; + .distance = 5; + end; + +OnClock0556: +OnClock1201: +OnClock1759: +OnClock0003: + restoreshopitem CottonCloth, 7; + restoreshopitem Fungus, 10; + restoreshopitem Bread, 15; + end; + + +// Pay your taxes! +OnBuyItem: + debugmes("Purchase confirmed"); + PurchaseTaxes(); + end; + +OnSellItem: + debugmes("Sale confirmed"); + SaleTaxes(); + end; + +} diff --git a/npc/005-6/zitoni.txt b/npc/005-6/zitoni.txt new file mode 100644 index 0000000..9d232f3 --- /dev/null +++ b/npc/005-6/zitoni.txt @@ -0,0 +1,222 @@ +// TMW2 scripts. +// Author: +// Vasily_Makarov (original from Evol) +// Jesusalva +// Description: +// Stat resetter. He is an alchemist, married with Morgan. +// Others: +// .@wasSP - free status points before reset + +005-6,43,39,0 script Zitoni NPC_RUMLY,{ + mesn; + mesq l("Ah, hello there! I am @@, a Redy alchemist.", .name$); + mes ""; + mesq l("I have developed a special formula, which resets your stats!"); + next; + mes ""; + +L_Menu: + .@q1=getq(TulimsharQuest_DarkInvocator); + if (BaseLevel < 10) + .@price = 1; + else + .@price = (BaseLevel*200-(9*200))/(BaseLevel/10); + // Lv 10: 1 GP + // Lv 90: 1.800 GP + + mesn strcharinfo(0); + select + l("Status reset? Sounds illegal!"), + l("Can you reset my stats please?"), + l("Do you make any other kind of potions?"), + rif(.@q1 == 1 || .@q1 == 2, l("Can you help me with Everburn Powder? I need 5.")), + rif(.@q1 == 3 && countitem(DarkDesertMushroom) >= 1,l("Zarkor sent you this gift. He needs Everburn Powder.")), + rif(.@q1 >= 4,l("I need some Everburn Powder.")), + lg("You are weird, I have to go sorry."); + + mes ""; + switch (@menu) { + case 1: + speech S_FIRST_BLANK_LINE | S_LAST_NEXT, + lg("Wait, are you with the police? I didn't do anything wrong, I promise!"), + l("My formula is not a drug, nor magic. It is an ancient technology of our people!"), + l("You can use it to clear your stats, to start freshly if you know what I mean..."), + l("For only a small amount of Gold Pieces, I will show you how it works!"), + l("Although the more powerful you are, the more money you will need."), + l("I will let you test it for a peny until level 10!"); + + select + l("Sounds good!"), + rif(Zeny >= .@price, lg("I think I have enough gold with me.")), + l("We will talk about it later."), + l("My stats are too good, I won't need it."); + + switch (@menu) { + case 1: + speech S_FIRST_BLANK_LINE | S_LAST_NEXT, + l("Yes, it is a really sweet deal, believe me!"); + + goto L_Menu; + case 2: + goto L_ResetStats; + case 3: + goto L_Quit; + case 4: + goto L_Quit; + } + + case 2: + goto L_ResetStats; + case 3: + goto L_OtherPotion; + case 4: + goto L_DarkInv_Ever; + case 5: + goto L_DarkInv_Mush; + case 6: + goto L_DarkInv_Powder; + default: + goto L_Quit; + } + +L_ResetStats: + mesn; + mesq l("Status point reset can't be undone. Do you really want this?"); + +L_ConfirmReset: + if (BaseLevel <= 10) + ConfirmStatusReset(0, false); + else + ConfirmStatusReset(-1, false); + goto L_Quit; + +L_OtherPotion: + mesn; + mesq l("I make both @@ and @@, if you give me the shrooms associated to them, and money.", getitemlink(HastePotion), getitemlink(StrengthPotion)); + next; + mesn; + mesq l("For you, it will be only 50 GP for potion! But I need the base ingredients, four @@ - or @@, depends on which one.", getitemlink(Plushroom), getitemlink(Chagashroom)); + next; + menu + l("Nothing at the moment."), L_Quit, + l("4 Plushrooms for a Haste Potion!"), L_HastePotion, + l("4 Chagashrooms for a Strength Potion!"), L_StrengthPotion; + +L_HastePotion: + mes ""; + mesn; + if (Zeny < 50) { + mesq l("You don't have enough money. Sorry."); + next; + goto L_Quit; + } + if (countitem(Plushroom) < 4) { + mesq l("I need @@ to work...", getitemlink(Plushroom)); + next; + goto L_Quit; + } + inventoryplace HastePotion, 1; + Zeny=Zeny-50; + delitem Plushroom, 4; + getitem HastePotion, 1; + mesq l("Here you go!"); + goto L_OtherPotion; + +L_StrengthPotion: + mes ""; + mesn; + if (Zeny < 50) { + mesq l("You don't have enough money. Sorry."); + next; + goto L_Quit; + } + if (countitem(Chagashroom) < 4) { + mesq l("I need @@ to work...", getitemlink(Chagashroom)); + next; + goto L_Quit; + } + inventoryplace StrengthPotion, 1; + Zeny=Zeny-50; + delitem Chagashroom, 4; + getitem StrengthPotion, 1; + mesq l("Here you go!"); + goto L_OtherPotion; + + +L_DarkInv_Ever: + mesn; + mesq l("...What? You want @@? Five of them?!", getitemlink(EverburnPowder)); + next; + mesn; + mesq l("You have no idea of how dangerous that item is! I can't simply do it!"); + next; + mesn; + mesq l("I don't know who sent you to me, but this is a flat and big NO!"); + next; + mesc l("Zitoni won't cooperate with you. Perhaps you should ask to Zarkor about that."); + setq TulimsharQuest_DarkInvocator, 2; + close; + +L_DarkInv_Mush: + mesn; + mesq l("Ah... A @@. The sturdiest from all mushroom, and very, very rare.", getitemlink(DarkDesertMushroom)); + next; + mesn; + mesc l("Zitoni seems to be lost on deep thought."); + next; + mesn; + mesq l("Ah... Well, ok. I'll do the powder for you, but you still need to bring me the material."); + next; + mesn; + mesq l("Just... Don't accidentaly invoke a Legendary Guardian or something, these thingies could destroy a whole city."); + delitem DarkDesertMushroom, 1; + setq TulimsharQuest_DarkInvocator, 4; + close; + +L_DarkInv_Powder: + mesn; + mesq l("@@ is an expensive, rare, and dangerous item. Do not shake it too much, or it will catch fire.", getitemlink(EverburnPowder)); + next; + mesn; + mesq l("...And trust me, it'll take way more than just water to put the fire down."); + next; + mesn; + mesq l("I will require 2500 GP, 1 @@, 1 @@ and 1 @@, for a small handful of it.", getitemlink(IronPowder), getitemlink(SulfurPowder), getitemlink(PileOfAsh)); + mes ""; + select + l("I still don't have everything, but don't worry, I'll be back."), + l("I have everything here with me."); + mes ""; + if (@menu == 1) + goto L_Quit; + if (countitem(IronPowder) < 1 || + countitem(SulfurPowder) < 1 || + countitem(PileOfAsh) < 1 || + Zeny < 2500) goto L_Liar; + Zeny=Zeny-2500; + delitem IronPowder, 1; + delitem SulfurPowder, 1; + delitem PileOfAsh, 1; + getitem EverburnPowder, 1; + getexp 100, 0; + mesn; + mesq l("Here you go. Handle it with caution."); + close; + +L_Liar: + mesn; + mesq l("Liar. You can't fool me. That's the price. Get that or get out!"); + next; + mesn; + mesq l("We're talking about @@. It's not something for kids or pranksters!", getitemlink(EverburnPowder)); + close; + +L_Quit: + closedialog; + goodbye; + close; // double sure + +OnInit: + .sex = G_MALE; + end; +} |