// TMW2 scripts.
// Authors:
// Jesusalva
// Description:
// One of the Mana Magic Leaders
// Planned, there are only the four Mana Wizards: Auldsbel (Tulimshar), Sagratha (Woodlands), Morgan (Candor), Blue Sage (Nivalis), Lalica (LoF).
// Gives #parum
// Gives #mkpot
// TODO: Make dye? Make Lifestone?
003-0,32,24,0 script Auldsbel NPC_AULDSBEL,{
if (MAGIC_LVL < 2)
goto L_Cheat;
mesn l("Auldsbel the Wizard");
mesq l("Welcome back, Padric!");
mesq l("Do you believe I've lost my @@? I can't see anything well without that! %%a", getitemlink(Googles));
next;
mesn;
mesq l("Anyway, I am one of the few Mana Wizard, and I love Transmutation!");
next;
L_Main:
select
l("What's the difference from a Mana Wizard and a Mage?"),
l("Who are you? Where are you from?"),
l("How do I advance in Mana Magic? How it works?"),
l("What do you know about other Mana Magic Professors?"),
l("Can you teach me Mana Magic?"),
l("Do you still need help with your experiments?"),
l("Actually, I gotta go, see ya!");
mes "";
switch (@menu) {
case 1: // What's the difference from a Mana Wizard and a Mage?
mesn;
mesq l("%%4 Haven't you read your Grimorium yet?!");
next;
mesn;
mesq l("%%@ You can get Magic by joining class and subclass, and with some NPCs. These work out-of-box. Easy.");
next;
mesn;
mesq l("And there is the Mana Magic, for the pro %%e You'll waste your life on that, as it have an experience system.");
next;
mesn;
mesq l("%%G Just like normal magic, you need power from the Mana Stone, which is based on your levels, intelligence, and mana.");
next;
mesn;
mesq l("I like Mana Magic the best, as we can both summon creatures as transmutate stuff. %%N");
next;
mesn;
mesq l("To be honest, you should use both. And remember, all Mana Magic skills can be used like they were @sk-commands. %%H");
next;
break;
case 2: // Who are you? Where are you from?
mesn;
mesq l("Well, speaking a bit about myself can't hurt. I am a member from the Magic Council, but one day I decided to take a vacations.");
next;
mesn;
mesq l("I moved to Hurnscald, stayed there for over a decade, until Lord Transmogrifier Pontorias the Plaid (May His Shape Reflect His Soul Forever) died.");
next;
mesn;
mesq l("Then I returned to Tulimshar. Now I do research, vote on the Magic Council meetings, and I also teach young mages about Transmutation magic.");
next;
break;
case 3: // How do I advance in Mana Magic? How it works?
mesn;
mesq l("Mana Magic works similar to regular magic: You can find it on your skill window, and can drag it to your shortcut list.");
next;
mesn;
mesq l("To get more experience and magic power, you must practice magical spells. Make sure to vary them; you will learn nothing if you cast the same spell over and over. Also, spells that consume no components seem not to be very instructive in practice.");
next;
mesn;
mesq l("Usually, you can find magic on these buildings, but watch out, there is magic to be found elsewhere, and some items are bound with it!");
next;
mesn;
mesq l("While on normal magic you must take care with all attributes, on mana magic, you usually only need to worry with reagents and intelligence.");
next;
mesn;
mesq l("Also, unlike regular magic which may cause delay before and after, Mana Magic usually only have a cooldown. But it is hard to know how long that cooldown is..."); // We may use addtimer() on one or other spell.
next;
break;
case 4: // What do you know about Sagratha?
mesn;
mesq l("Lemme see... Sagratha is often regarded as a kind and rather powerful elf lady mage... who hate people.");
next;
mesn;
mesq l("And I'm not talking only about humans here! But perhaps, if you build a good reputation, she teaches you something.");
next;
mesn;
mesq l("There's also Morgan, who lives in Candor. She is a Redy, and is married with Zitoni. They are great alchemists.");
next;
mesn;
mesq l("By last, there was the Blue Sage, living on Nivalis... I never met him.");
next;
mesn;
mesq l("As you see, you can count the mages with the fingers of one hand. It's not just Mana Magic, either - Magic in overall is almost dead, with almost every Mana Stone on the power of the Monster King.");
next;
mesn;
mesq l("Defeating him would not only stop monster invasions, but it would also bring magic back... And probably another war, over the mana stones. %%S");
next;
break;
// Teaching and helping are bound one to other, to save space on variable e.e
case 5: // Can you teach me Mana Magic?
case 6: // Do you still need help with your experiments?
goto L_Magic;
break;
default: // Actually, I gotta go, see ya!
goodbye;
closedialog;
close;
}
goto L_Main;
L_Magic:
.@q=getq(General_Auldsbel);
switch (.@q) {
// Help on research to gain his favor
case 0:
mesn;
mesq l("I actually need help. Padric and I were doing some research with catalysts, you see.");
next;
mesn;
mesq l("Now I need 20 @@, 20 @@ and 60 @@ to finish my research. Easy materials, except for the Shadow Herb.", getitemlink(MauveHerb), getitemlink(ShadowHerb), getitemlink(SilkCocoon));
next;
mesn;
mesq l("Shadow Herb only grows on dangerous places, and is mostly found on the Land Of Fire, or underground of very very deep caves.");
next;
select
l("I'll try to find them."),
l("I actually have them, here.");
if (@menu == 2) {
mes "";
mesn;
mesq l("Excellent! Let me see...");
next;
if (
countitem(MauveHerb) < 20 ||
countitem(ShadowHerb) < 20 ||
countitem(SilkCocoon) < 60)
goto L_Lie;
delitem MauveHerb, 20;
delitem ShadowHerb, 20;
delitem SilkCocoon, 60;
getexp 2500, 0;
Zeny=Zeny+250;
setq General_Auldsbel, 1;
mesn;
mesq l("Yes, many thanks. This will help me a lot.");
mesc l("Gained 2500 XP and 250 GP");
}
break;
// Learn #parum
case 1:
mesn;
mesq l("Hmm, I think I can teach you a basic Mana Skill now. That one is pretty simple.");
next;
skill(TMW2_PARUM,1,0);
setq General_Auldsbel, 2;
mesn;
mesq l("This is the @@ skill. It transmutes a single @@ in a @@.", "##B@sk-parum##b", getitemlink(RawLog), getitemlink(MoubooFigurine));
next;
mesn;
mesq l("It may also create some @@ or a @@, with enough skill.", getitemlink(Arrow), getitemlink(WoodenLog));
next;
mesn;
mesq l("So! Please transmute a @@ and bring it to me. You may need to switch with another mana skill, until you are successful.", getitemlink(MoubooFigurine));
break;
// Bring the Mouboo figurine back
case 2:
mesn;
mesq l("Have you managed to transmute the @@ I asked for?", getitemlink(MoubooFigurine));
next;
if (askyesno() == ASK_YES) {
if (!countitem(MoubooFigurine)) goto L_Lie;
if (!MAGIC_EXP) goto L_Lame;
delitem MoubooFigurine, 1;
getexp 5000, 0;
setq General_Auldsbel, 3;
mesn;
mesq l("Very well - Congratulations! That was very easy, though, and this one is full of imperfections.");
mesc l("Gained 5000 XP");
next;
mesn;
mesq l("That skill was only to allow you to practice. Now listen well: Transmutation is ##BNOT##b crafting!");
next;
mesn;
mesq l("Magic is sacred. With transmutation, you can create convenience items, specially reagents for other magic skills.");
next;
mesn;
mesq l("But if you try to create equipment, assuming magic doesn't backfire, YOU WILL BE BANNED from this school, and lose your class. Permanently.");
next;
mesn;
mesq l("This is just a friendly advise. We don't take magic lightly. And you shouldn't, either.");
}
break;
// Help on research to gain his favor
case 3:
mesn;
mesq l("I actually need help. I am a mage, and I'm feeling lazy to get the stuff I need.");
next;
mesn;
mesq l("You don't seem to have anything better to do, anyway.");
mesq l("Now please bring me @@/2 @@, @@/20 @@, @@/30 @@ and @@/70 @@ so I don't need to leave here and start travelling everywhere...", countitem(IcedBottle), getitemlink(IcedBottle), countitem(Root), getitemlink(Root), countitem(Potatoz), getitemlink(Potatoz), countitem(Moss), getitemlink(Moss));
next;
select
l("I'll try to find them."),
l("I actually have them, here.");
if (@menu == 2) {
mes "";
mesn;
mesq l("Excellent! Let me see...");
next;
if (
countitem(IcedBottle) < 2 ||
countitem(Root) < 20 ||
countitem(Potatoz) < 30 ||
countitem(Moss) < 70)
goto L_Lie;
delitem IcedBottle, 2;
delitem Root, 20;
delitem Potatoz, 30;
delitem Moss, 70;
getexp 28692, 0;
Zeny=Zeny+550;
setq General_Auldsbel, 4;
mesn;
mesq l("Yes, many thanks. This will help me a lot.");
}
break;
// Learn #mkpot
case 4:
mesn;
mesq l("Hmm, I think I can teach you a basic Mana Skill now. This one is more advanced, though.");
next;
skill(TMW2_MKPOT,1,0);
setq General_Auldsbel, 5;
mesn;
mesq l("This is the @@ skill. It transmutes @@ @@ and a single @@ in @@.", "##B@sk-mkpot##b", 10, getitemlink(Plushroom), getitemlink(Milk), getitemlink(HastePotion));
next;
mesn;
mesq l("It may fail, and you might end up with something entirely unexpected!");
next;
mesn;
mesq l("Unlike Parum, you can use the skill points you get every time your job level rises. That will lower the mana cost and increase success chances.");
next;
mesn;
mesq l("But please be picky with how you spend job points. They are hard to come by, and I'm not entirely sure you can change it later.");
next;
mesn;
mesq l("Also, job levels get really hard to obtain after a while. The decision is up to you, just be aware there's that possibility.");
break;
default:
mesn;
mesq l("Uhm, no, not really. Maybe later, who knows?");
break;
}
next;
goto L_Main;
// Fallbacks
L_Lie:
mesn;
mesq l("Really interesting, how I am NOT seeing the items I asked for...");
next;
mesn;
mesq l("Say, what do you think if I transmuted your head into the missing materials? I can warrant your soul won't return to the Soul Menhir, either!");
close;
L_Cheat:
atcommand "@jail "+strcharinfo(0);
setparam(MaxHp, readparam(MaxHp)/2); // testing
setparam(Karma, -1); // testing
setparam(Manner, -10); // testing
dispbottom l("You are not allowed on this building, and was caught by Jesusalva's Police!!");
end;
L_Lame:
setparam(MaxHp, readparam(MaxHp)-50); // I want to see how permanent this is
setparam(MaxSp, readparam(MaxSp)-25); // I want to see how permanent this is
setparam(Karma, readparam(Karma)-1); // testing
mesn;
mesq l("%%3 You sadden me. That was so, so lame. I will need to punish you. Sorry. Superior orders. %%S");
next;
mesn strcharinfo(0);
mesq l("%%i What, my maximum life and mana just decreased! Noooo!!");
next;
mesn;
mesq l("%%1 Cheer up, these should go back to normal when you level up. Just don't do that again!");
// If that is true or not, remains to be checked. Uh... I never used setparam() before! :D
close;
OnInit:
.sex=G_MALE;
.distance=5;
end;
}