From 16977efffc0da9da1a9f660edca15325fcf6661d Mon Sep 17 00:00:00 2001 From: Jesusaves Date: Fri, 1 Jun 2018 21:16:39 -0300 Subject: Basic stuff Hurnscald needs (bank, traveler, Soul Menhir), mapflags, make maps --- npc/012-1/_import.txt | 4 ++ npc/012-1/dyrinthetraveler.txt | 105 ++++++++++++++++++++++++++++ npc/012-1/mapflags.txt | 2 + npc/012-1/richard.txt | 154 +++++++++++++++++++++++++++++++++++++++++ npc/012-1/soul-menhir.txt | 20 ++++++ 5 files changed, 285 insertions(+) create mode 100644 npc/012-1/dyrinthetraveler.txt create mode 100644 npc/012-1/mapflags.txt create mode 100644 npc/012-1/richard.txt create mode 100644 npc/012-1/soul-menhir.txt (limited to 'npc/012-1') diff --git a/npc/012-1/_import.txt b/npc/012-1/_import.txt index e12153fc0..cbcb25def 100644 --- a/npc/012-1/_import.txt +++ b/npc/012-1/_import.txt @@ -3,4 +3,8 @@ "npc/012-1/_mobs.txt", "npc/012-1/_warps.txt", "npc/012-1/andrei.txt", +"npc/012-1/dyrinthetraveler.txt", +"npc/012-1/mapflags.txt", +"npc/012-1/richard.txt", +"npc/012-1/soul-menhir.txt", "npc/012-1/statue.txt", diff --git a/npc/012-1/dyrinthetraveler.txt b/npc/012-1/dyrinthetraveler.txt new file mode 100644 index 000000000..ebacbfecd --- /dev/null +++ b/npc/012-1/dyrinthetraveler.txt @@ -0,0 +1,105 @@ +// TMW2 Script +// Author: +// Jesusalva +// Description: +// The Travelers travel around the world telling stories. + +012-1,119,52,0 script Dyrin The Traveler NPC_M_COINKEEPER,{ + + mesn; + if (strcharinfo(0) == $MOST_HEROIC$) mesq l("Wow! Are you @@? Everyone, in every city, talks about you!", $MOST_HEROIC$); + if (strcharinfo(0) == $MOST_HEROIC$) next; + + mesq l("Hello. I am @@, and I am from a family of travellers. We travel though the whole world, looking for exotic goods.", .name$); + next; + mesq l("You can buy rare items with me, or I can tell you about different cities in our world."); + +L_Menu: + mes ""; + menu + l("I want to trade with you."), L_Trade, + l("Tell me about Halinarzo."), L_Halin, + l("Tell me about Hurnscald."), L_Hurns, + l("Tell me about Nivalis."), L_Nival, + l("Tell me about Artis."), L_Artis, + l("Sorry, I'll pass."), L_Close; + +L_Hurns: + mes ""; + mesn; + mesq l("Hurnscald was founded after Tulimshar, in more fertile lands. Their walls are not so sturdy as the ones of Tulimshar."); + next; + mesq l("Under the leadership of King Wusher, they were the first to accept immigrants from other races. You will find humans and non-humans there."); + next; + mesq l("The fertile climate is ideal for mushrooms. You can also find lots of wood."); + next; + mesq l("Their economy provide many edible items and potions."); + next; + goto L_Menu; + +L_Halin: + mes ""; + mesn; + mesq l("Halinarzo was founded to explore Mana Stones."); + next; + mesq l("You can find both huge swamps, as huge desertic areas near and on it."); + next; + mesq l("Lizards are the main monster found, and they steal gold from innocent bypassers."); + next; + mesq l("Without any mana stone left, and because the walls were not very strong, most of the city was destroyed."); + next; + mesq l("Unlike many other cities, if you want people in eternal need of items, there is a good place to look."); + next; + goto L_Menu; + +L_Nival: + mes ""; + mesn; + mesq l("Nivalis was the last human settlement built during the First Era."); + next; + mesq l("It's cold, harsh climate makes difficult to live there. It was founded by people thrown away from Tulimshar and Hunrscald for political reasons."); + next; + mesq l("The cold climate is ideal for slimes, penguins, and other icy creatures. You can find lots of... ice, of course!"); + next; + mesq l("Some items are only produced in Nivalis. After all, it is hard to work properly with ice in a desert!"); + next; + goto L_Menu; + +L_Artis: + mes ""; + mesn; + mesq l("Artis is a city port founded after the Great Famine on the other continent."); + next; + mesq l("People say it is the second biggest city from the world."); + next; + mesq l("Different kind of monsters live near the city. For example, blubs. I have no idea of what are those."); + next; + mesq l("People usually dock there when travelling to the second continent. Nothing exceptional about economy."); + next; + goto L_Menu; + +L_Trade: + mesn; + mesq l("Use your @@ as currency!", getitemlink(StrangeCoin)); + next; + openshop "Aeros Trader"; + closedialog; + +L_Close: + close; + +OnInit: + .@npcId = getnpcid(0, .name$); + setunitdata(.@npcId, UDT_HEADTOP, NPCEyes); + setunitdata(.@npcId, UDT_HEADMIDDLE, UglyChristmasSweater); // All travelers wear this stuff + setunitdata(.@npcId, UDT_HEADBOTTOM, TulimsharGuardBoots); + setunitdata(.@npcId, UDT_WEAPON, SilkPants); + setunitdata(.@npcId, UDT_HAIRSTYLE, 13); + setunitdata(.@npcId, UDT_HAIRCOLOR, 12); + npcsit; + + .sex = G_MALE; + .distance = 5; + end; +} + diff --git a/npc/012-1/mapflags.txt b/npc/012-1/mapflags.txt new file mode 100644 index 000000000..a0f4719c5 --- /dev/null +++ b/npc/012-1/mapflags.txt @@ -0,0 +1,2 @@ +012-1 mapflag town +012-1 mapflag nopenalty diff --git a/npc/012-1/richard.txt b/npc/012-1/richard.txt new file mode 100644 index 000000000..c71febd13 --- /dev/null +++ b/npc/012-1/richard.txt @@ -0,0 +1,154 @@ +// TMW-2 Script. +// Author: +// Saulc +// Jesusalva + +012-1,65,64,0 script Richard NPC_LLOYD,{ + +// Evol scripts. +// Authors: +// gumi +// Reid +// Description: +// banker NPC. + + + function explain_guild { + speech S_LAST_NEXT, + l("The guild is in charge of the commerce regularization throughout Hurnscald and its surroundings."), + l("With the help of the town hall we organize some auction and we help local merchants to launch their businesses."), + l("We also feature some services like a storage and a bank for members."), + l("Registration is open to everybody, but newcomers need to pay a fee for all of the paperwork."); + + narrator S_FIRST_BLANK_LINE, + l("The bank and item storage is shared between all characters within a same account."), + l("With it, you can safely move items and funds between your characters."), + l("To move between characters that are on different accounts, you have to use the Trade function."); + return; + } + + function first_visit { + speech S_LAST_NEXT, + l("Welcome!"), + l("My name is @@, I am a representative of the Merchant Guild on Hurnscald.", .name$); + + select(l("My name is @@...", strcharinfo(0))); + + speech S_FIRST_BLANK_LINE | S_LAST_NEXT, + l("\"@@\", I like this name!", strcharinfo(0)), + l("Oh, wait a second..."); + narrator S_LAST_NEXT, + l("@@ is searching something in his book.", .name$); + speech S_LAST_NEXT, + l("I see."), + lg("You are new around here, right?"); + + if (select(l("How do you know?"), l("Yes I am.")) == 1) + { + speech S_FIRST_BLANK_LINE | S_LAST_NEXT, + l("Oh, it is simple. I have on this book the names of every citizen of Hurnscald and its surroundings."), + l("And I have no mention of a so called \"@@\" on it!", strcharinfo(0)); + } + else + { + speech S_FIRST_BLANK_LINE | S_LAST_NEXT, + l("I knew it!"); + } + + speech S_LAST_NEXT, + l("Let me explain to you what the Merchant Guild is for."); + + explain_guild; + next; + + .@price = 12000; + speech S_LAST_NEXT, + l("The fee is of @@ GP. So, do you want to register?", .@price); + + switch (select(l("Yes."), + l("I don't have the time now."))) + { + case 1: + if (Zeny < .@price) + { + speech S_FIRST_BLANK_LINE | S_LAST_NEXT, + l("You do not seem to have enough money, come back later!"); + } + else + { + Zeny = Zeny - .@price; + setq ArtisQuests_Lloyd, 1; + speech S_FIRST_BLANK_LINE | S_LAST_NEXT, + l("Perfect!"), + l("I wrote your name on the book, you are now free to use the storage and bank services."); + } + break; + case 2: + break; + } + + return; + } + + + if (getq(ArtisQuests_Lloyd) == 0) { + first_visit; + + closedialog; + goodbye; + close; + } + + speech S_LAST_NEXT, + l("Welcome to the Merchant Guild of Hurnscald."), + l("What do you want today?"); + + do + { + + select + l("I would like to store some items."), + l("I would like to perform money transactions."), + l("What is this guild for?"), + l("Bye."); + + switch (@menu) + { + case 1: + openstorage; + closedialog; + close; + break; + case 2: + MerchantGuild_Bank; + break; + case 3: + mes ""; + explain_guild; + break; + } + if (@menu != 4) + { + speech S_FIRST_BLANK_LINE | S_LAST_NEXT | S_NO_NPC_NAME, + l("Something else?"); + } + } while (@menu != 4); + + closedialog; + goodbye; + close; + +OnInit: + .sex = G_MALE; + .distance = 4; + end; + +OnPCLoginEvent: + checkclientversion; + if (#MerchantBank) + { + BankVault += max(0, #MerchantBank); + #MerchantBank = 0; + } + end; +} diff --git a/npc/012-1/soul-menhir.txt b/npc/012-1/soul-menhir.txt new file mode 100644 index 000000000..790225a01 --- /dev/null +++ b/npc/012-1/soul-menhir.txt @@ -0,0 +1,20 @@ +// TMW2 scripts. +// Author: +// Jesusalva +// Description: +// Soul Menhir + +012-1,115,70,0 script Soul Menhir#hurns NPC_SOUL_NORMAL,{ + @map$ = "012-1"; + setarray @Xs, 52, 53, 54, 52, 54, 52, 54; + setarray @Ys, 39, 39, 39, 40, 40, 41, 41; + @x = 0; + @y = 0; + callfunc "SoulMenhir"; + @map$ = ""; + cleararray @Xs[0], 0, getarraysize(@Xs); + cleararray @Ys[0], 0, getarraysize(@Ys); + @x = 0; + @y = 0; + close; +} -- cgit v1.2.3-60-g2f50