// TMW2 scripts.
// Authors:
// Jesusalva
// Description:
// Essential scripts any city must have
// Description:
// The Travelers travel around the world telling stories.
020-1,44,67,0 script Knox The Traveler NPC_F_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 Tulimshar."), L_Tulim,
l("Tell me about Nivalis."), L_Nival,
l("Tell me about Frostia."), L_Frost,
l("Tell me about Thermin."), L_Therm,
l("Sorry, I'll pass."), L_Close;
L_Tulim:
mes "";
mesn;
mesq l("Tulimshar is the oldest human city, and its foundation is the year zero of our calendar.");
next;
mesq l("The city only flourished because Janett Platinum had the idea to build city walls surrounding this city.");
next;
mesq l("The desert climate means you'll find mostly maggots and scorpions. Their drops include cactus drinks, cake, knifes, black pearls, gold, and other common things.");
next;
mesq l("You can find for a good price desert equipment and some kind of dyes. You find all sort of crafters, artisans and warriors here.");
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_Frost:
mes "";
mesn;
mesq l("Frostia is the only city known that was not founded by humans.");
next;
mesq l("They are strict with who is allowed inside, so you'll need either elf or ukar friends to pass.");
next;
mesq l("It is on a huge, icy mountain peak. Rumors about dragons and legendary items to be found.");
next;
mesq l("Some of finest elven craftmanship can be found there, like bows, for example.");
next;
goto L_Menu;
L_Therm:
mes "";
mesn;
mesq l("Thermin is also known as the lost city. It was once founded to mine ores, and export to everyone.");
next;
mesq l("I think it was the Orcs and Raijins town. It was laid to waste by Yetis.");
next;
mesq l("Most Orcs become nomads and Raijins moved to Hurnscald, but they say Thermin might have been rebuilt somewhere else.");
next;
mesq l("On the ruins you may find free loot... And on the new town, you may find the sturdiest stuff of all.");
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(.name$);
setunitdata(.@npcId, UDT_HEADTOP, NPCEyes);
setunitdata(.@npcId, UDT_HEADMIDDLE, UglyChristmasSweater);
setunitdata(.@npcId, UDT_HEADBOTTOM, JeansShorts);
setunitdata(.@npcId, UDT_WEAPON, DeepBlackBoots); // Boots
setunitdata(.@npcId, UDT_HAIRSTYLE, 22);
setunitdata(.@npcId, UDT_HAIRCOLOR, 8);
npcsit;
.sex = G_MALE;
.distance = 5;
end;
}
// Description:
// Banker.
020-2,30,25,0 script Ben#NivBanker NPC_LLOYD,{
Banker(.name$, "Nivalis", 10000);
close;
OnInit:
.sex = G_MALE;
.distance = 5;
end;
}
// Description:
// Barber.
// LOCATION TODO
020-1,55,65,0 script Camilot NPC_ELVEN_FEMALE_ARMOR_SHOP,{
function setRace {
clear;
setnpcdialogtitle l("Debug - Modify Race");
mes l("Race") + ": " + $@allraces$[Class];
next;
mes l("Please select the desired race.");
select("Human:Ukar:Redy:Elf:Orc:Raijin:Tritan");
jobchange max(0, @menu-1);
return;
}
mesn;
mesq l("Hi! Do you want a hair cut?");
do
{
select
l("What is my current hairstyle and hair color?"),
l("I'd like to get a different style."),
l("Can you do something with my color?"),
rif(is_staff(), l("I am a GM, and I want to change my Race!")),
l("I'm fine for now, thank you.");
switch (@menu)
{
case 1:
BarberSayStyle 3;
break;
case 2:
BarberChangeStyle;
speech S_FIRST_BLANK_LINE | S_LAST_NEXT,
l("Enjoy your new style.");
l("Anything else?");
break;
case 3:
BarberChangeColor;
speech S_FIRST_BLANK_LINE | S_LAST_NEXT,
l("I hope you like this color.");
l("Anything else?");
break;
case 4:
setRace;
break;
case 5:
speech S_FIRST_BLANK_LINE | S_LAST_NEXT,
l("Feel free to come visit me another time.");
goodbye;
}
} while (1);
close;
OnInit:
.sex = G_FEMALE;
.distance = 5;
end;
}
// Description:
// Soul Menhir
020-1,57,63,0 script Soul Menhir#niv NPC_SOUL_SNOW,{
@map$ = "020-1";
setarray @Xs, 56, 57, 58, 56, 58, 56, 57, 58;
setarray @Ys, 62, 62, 62, 63, 63, 64, 64, 64;
@x = 0;
@y = 0;
callfunc "SoulMenhir";
@map$ = "";
cleararray @Xs[0], 0, getarraysize(@Xs);
cleararray @Ys[0], 0, getarraysize(@Ys);
@x = 0;
@y = 0;
close;
}