summaryrefslogtreecommitdiff
path: root/npc/005-6
diff options
context:
space:
mode:
authorJesusaves <cpntb1@ymail.com>2022-10-23 21:44:22 -0300
committerJesusaves <cpntb1@ymail.com>2022-10-23 21:44:22 -0300
commita7c45a192268da2601cef47a4cdba987ae2327ca (patch)
treec5fb5b97db109fe7106496dd96498c475881046b /npc/005-6
downloadserverdata-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.txt5
-rw-r--r--npc/005-6/_warps.txt3
-rw-r--r--npc/005-6/morgan.txt156
-rw-r--r--npc/005-6/zitoni.txt222
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;
+}