summaryrefslogblamecommitdiff
path: root/npc/029-2/morgan.txt
blob: b393cb1fb191ebb8c83abe7414f63b258b9e5f51 (plain) (tree)






















                                                
                             






































                                                                              
          

        






                                                                                
                  


















                                                                                                                                                   
                                                                                                 
          

          





                                                                                                                             
          

           








                                                                                                                                                            
         
                                                                                                         
                  
          

               




                                                                                                                             
                               











                                                                                  




          













                                        
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 visit the Mana Seed 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 visit the Mana Seed 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;
}