// TMW-2 Script
// Author:
// Saulc
// Jesusalva
// Description:
// Handles Colin and Luca. They say exactly the same things, afterall.
// ClassID, ClassName, OtherClass, sk1,
function script ClassMaster {
.@CLASS=getarg(0);
.@CNAME$=getarg(1);
.@OTHER=getarg(2);
//.name$=strnpcinfo(1);
// Skills
.@SK_T1=getarg(3);
mesn;
mesq l("I am the @@ master.", .@CNAME$);
if (!MAGIC_LVL) goto L_NoMagic;
if (getskilllv(.@OTHER) && !is_admin()) close;
if (getskilllv(.@CLASS) == 0) goto L_SignUp;
if (getskilllv(.@CLASS) == 1 && MAGIC_LVL >= 2 && ST_TIER == 0) goto L_Tier2;
if (getskilllv(.@CLASS) == 1 && MAGIC_LVL >= 2 && ST_TIER == 1) mes col("...Where is the recipe for the potion? Ah, I lost it...", 9);
// Sanity check
if (getskilllv(.@SK_T1) >= 1) mesq l("Are you using my skill?");
if (getskilllv(.@SK_T1) >= 1) close;
close;
L_SignUp:
next;
mesn;
mesq l("You have some magic power. Do you want to join the Magic Warriors? ##BThis cannot be undone##b.");
next;
mesn;
mesq l("We use swords and bows to protect the people, and we use magic to spice things up! Because we're strong even without it!");
next;
menu
l("What do I need to do to join?"), L_JoinReq,
l("I'm not interested, sorry."), -;
close;
L_JoinReq:
mesn;
mesq l("Ah, nothing too major, as you already have magic.");
next;
mesn;
mesq l("We only require a small fee of 1 @@, or 40 @@", getitemlink(DivineApple), getitemlink(SnakeEgg));
next;
switch(select(
rif(countitem(DivineApple) >= 1, l("I got the apple.")),
rif(countitem(SnakeEgg) >= 40, l("I got the eggs.")),
l("I will apply later."))) {
case 1:
delitem DivineApple, 1;
goto L_Tier1Ok;
break;
case 2:
// If player had 40 eggs, and eat 1 - they are clearly cheating.
// It will delete all 39 eggs, and when it tries to delete the 40th,
// it won't find and will terminate the script. No lame cheating.
// Of course, all 39 eggs are gone for and I can't do anything about it.
delitem SnakeEgg, 40;
goto L_Tier1Ok;
break;
default:
break;
}
close;
L_Tier1Ok:
// The last argument is duration: 0 - permanent 1- temporary. If omitted, defaults to 1.
skill(.@SK_T1,1,0);
skill(.@CLASS,1,0);
mes "";
mesn;
mesq l("Here, learn the ##BFalkon Punch##b. It is on Physical skills tab. You can drag it to the shortcut list. Use it to protect people!");
close;
L_NoMagic:
next;
mesn;
mesq l("Your lack of magical power is critical. I dare say, you might never in your life get access to a Mana Stone.");
next;
mesn;
mesq l("Besides the Magic Council, Andrei Sakar have his own Mana Stone, but I doubt he would train the likes of you, or share his Mana Stone.");
next;
mesn;
mesq l("Perhaps, in the city, someone knows rumors about Mana Stones and can teach you. Other than that, you're on your own.");
close;
// progressbar("<color>", <seconds>)
// Script will be canceled if character moves :D
// So I probably could *try* to reuse TMW-BR Magic Tier 2 Scripts.
L_Tier2:
next;
mesn;
mesq l("Wha, your magic power increased! How?! Ah, nevermind. You are eligible to get tier 2!");
next;
mesn;
mesq l("But whoa, not so fast! You must pass the seven steps of a trial first!");
next;
mesn;
mesq l("The first trial is simple, I'm not doing anything in special. Bring me 1 @@, or 200 @@ and 20 @@.", getitemlink(DivineApple), getitemlink(SilkCocoon), getitemlink(ChocolateMouboo));
next;
switch(select(
rif(countitem(DivineApple) >= 1, l("I got the apple.")),
rif(countitem(SilkCocoon) >= 200 && countitem(ChocolateMouboo) >= 20, l("I got the silk and chocolate.")),
l("I will apply later."))) {
case 1:
delitem DivineApple, 1;
goto L_Tier2Ok;
break;
case 2:
delitem SilkCocoon, 200;
delitem ChocolateMouboo, 20;
goto L_Tier2Ok;
break;
default:
break;
}
close;
L_Tier2Ok:
// The last argument is duration: 0 - permanent 1- temporary. If omitted, defaults to 1.
addtoskill(.@SK_T1,2,0);
getexp 10000, 0;
ST_TIER=1;
mes "";
mesn;
mesq l("Good, good. The skill you got earlier just raised a single level. I'll also impair some experience on you, no biggies.");
next;
mesn;
mesq l("Now, the real challenge will start. You have a lot of raw power, but that doesn't gives you a lot of skills to learn.");
next;
mesn;
mesq l("I can make a nice, simple potion for you. Once you drink it, the raw mana will settle on your body.");
next;
mesn;
mesq l("However, beware! That potion is short-lived, you'll be running against time. Get ready to travel a lot.");
next;
mesn;
mesq l("Come talk to me when you're ready, and we can begin.");
close;
L_T2_S1:
addtoskill(.@CLASS,1,0);
getexp 40000, 0; // Yes, 40k experience points. Waw.
close;
}