029-2,105,57,0 script MorganDebug NPC355,{
mes "[Morgan Debug]";
mes "Reset?";
menu
"Yes.", L_Reset,
"No.", L_End;
L_Reset:
QL_MORGAN = 0;
mes "Reset!";
goto L_End;
L_End:
end;
OnInit:
if (!debug)
disablenpc "MorganDebug";
end;
}
029-2,101,57,0 script Morgan#_M NPC355,{
callfunc "PCtoNPCRange";
if(@npc_check) end;
if (readparam(bInt) >= 5)
goto L_Learn;
goto L_NotMagic;
L_Learn:
if (QL_MORGAN == 0)
goto L_NotSeen;
if (QL_MORGAN == 1)
goto L_Seen;
if (QL_MORGAN == 2)
goto L_Started;
if (QL_MORGAN == 3)
goto L_CastOnce;
if (QL_MORGAN == 4)
goto L_LearningDone;
goto L_close;
L_NotSeen:
QL_MORGAN = 1;
mes "[Morgan]";
mes "\"Welcome to the magic school of Candor\"";
mes "\"My name is Morgan, I'm Head of Wizardry.\"";
mes "\"You appear to have the markings to use magic.\"";
mes "\"Granted you are still to young to cast spells.\"";
mes "\"But we can teach you to use simple magic devices.\"";
mes "\"Would you like to learn some apprentice skills?\"";
menu
"Yes.", L_Start,
"Maybe later", L_close;
L_Seen:
mes "[Morgan]";
mes "\"Have you returned to learn some magic?\"";
menu
"Yes.", L_Start,
"Maybe later", L_close;
L_NotMagic:
mes "[Morgan]";
mes "\"Hrmm you don't appear to posses enough magical talent to teach.\"";
close;
L_Start:
mesn;
mesq l("Great, lets begin your first lesson.");
next;
mesn;
mesq l("This is a wand, there are many like it but this one is now yours.");
getitem Wand, 1;
learnskill SKILL_CONFRINGO;
QL_MORGAN = 2;
next;
mesn;
mesq l("Various wands and staffs are found throughout the land with many different strengths and weaknesses.");
next;
mesq l("To use the wand you need to have it equipped and speak the incantation to let it tap into your mana.");
next;
mesn;
mesq l("As the power of your magic grows so will the spells you can cast.");
mesq l("Lets start with a basic wand attack: %s.", b("confringo"));
next;
mesn;
mesq l("Equip the wand and lets try out that spell.");
mesc l("To cast a spell open the skill window, select the spell you wish to use, and press the %s button.", b(l("Use")));
next;
mesn;
mesq l("It might be a good idea to drag the spell to the shortcut window, so you can target and attack using your keyboard instead of mouse.");
next;
mesn;
mesq l("Speak to me again once you've cast the spell.");
mesc l("As an offensive spell, it'll only work if you have a valid target, like a monster.");
close;
L_Started:
mesn;
mesq l("Lets start with a basic wand attack: %s.", b("confringo"));
mesq l("Equip the wand and lets try out that spell.");
mesc l("To cast a spell open the skill window, select the spell you wish to use, and press the %s button.", b(l("Use")));
mesq l("Speak to me again once you've cast the spell.");
mesc l("As an offensive spell, it'll only work if you have a valid target, like a monster.");
close;
L_CastOnce:
mesn;
mesq l("Ok, good job! Looks like you have good mana flow.");
mesq l("Onto the next lesson. Now that you have %s cast,", b("confringo"));
mesq l("Each time you attack the wand will convert a bit of you mana into a magic bolt.");
next;
mesq l("If an offensive spell requires an item, then after so many attacks, you may need to recast the whole invocation to stay attuned to the wand.");
mesc l("(Logging out will also cancel any spell effects currently active in-game.).");
next;
mesq l("In other words, offensive spells which require reagents won't consume these every time you cast, but will still require the items frequently.");
next;
mesq l("I've taught you all I can for now. You should search for the Mana Seed, I've heard there was one north west of Hurnscald.");
QL_MORGAN = 4;
close;
L_LearningDone:
mesn;
mesq l("%s is a basic wand attack.", b("confringo"));
mesq l("A Wand must be equipped to use the spell.");
mesc l("To cast a spell open the skill window, select the spell you wish to use, and press the %s button.", b(l("Use")));
mesq l("I've taught you all I can for now. You should search for the Mana Seed, I've heard there was one north west of Hurnscald.");
learnskill SKILL_CONFRINGO;
if (get_nibble(##03_TMWQUEST, 0) == 1) {
mes "";
select
l("Gotcha."),
l("Actually, have you ever heard of Yeti's kidnapping little girls?");
mes "";
if (@menu == 2) {
mesn;
mesq l("No, but maybe someone %s would know better?", b(l("old")));
}
}
close;
L_close:
close;
}
029-2,113,59,0 script Zitoni NPC103,{
shop .name$;
goodbye;
close;
OnInit:
tradertype(NST_ZENY);
sellitem CactusDrink;
sellitem CactusPotion;
sellitem TinyManaElixir, 50;
sellitem SmallManaElixir, 100;
.distance = 5;
end;
}