summaryrefslogtreecommitdiff
path: root/npc/029-2/morgan.txt
blob: b393cb1fb191ebb8c83abe7414f63b258b9e5f51 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
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;
}