summaryrefslogtreecommitdiff
path: root/npc/007-1/zarkor.txt
blob: 2eba3685b23305024f1c068c2800f35885fd2e7c (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
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
// TMW2 Script
// Author:
//  Crazyfefe
//  Jesusalva
// Description:
//  Dark Invocator Quest
// Notes:
//      You'll be tempted to sell the Dark Desert Mushroom for 8'000 GP. There's a but.
//      You won't be able to finish this quest. Ok, no biggie, it was not that rewarding.
//      But you won't be able to do more Everburn Powder. And it can be required on another
//      quest. And there won't be other way to get the Powder. So DO NOT SELL IT. Think ahead.

007-1,157,155,0	script	Zarkor	NPC_MIRAJ,{
    .@q=getq(TulimsharQuest_DarkInvocator);
    if (BaseLevel <= 30)
        goto L_Weak;
    switch (.@q) {
        case 0:
            goto L_Start;
            break;
        case 1:
            mesn "Zarkor, the Dark Summoner";
            mesq l("Talk to Zitoni, the Alchemist of Candor. He may look humble, but he is the greatest alchemist of this world. I need five @@.", getitemlink(EverburnPowder));
            close;
            break;
        case 2:
            goto L_Price;
            break;
        case 3:
            mesn "Zarkor, the Dark Summoner";
            mesq l("Talk to Zitoni, and deliver the @@. I can't give you another one, they're super rare.", getitemlink(DarkDesertMushroom));
            close;
            break;
        case 4:
            goto L_Quest;
            break;
        case 5:
            mesn "Saulc, the Bug Master";
            mesq col("What, are we really letting you do something so insane as summoning the Monster King?! Blame Saulc!!");
            next;
            mesn "Zarkor, the Dark Summoner";
            mesq l("You didn't lit every torch yet! Hurry up!!");
            close;
            break;
        case 6:
            if (getq2(TulimsharQuest_DarkInvocator) == 0) {
                setq TulimsharQuest_DarkInvocator, 4;
                goto L_Quest;
            }
            goto L_Ritual;
            break;

    }
    mesn;
    mesq l("One day... One day! ONE DAY I'LL GET REVENGE ON YOU, MONSTER KING!");
    close;

L_Weak:
    mesn;
    mesq l("Stay out of harm way. Nothing to see here. Stay away, pathetically weak %s.", get_race());
    close;

L_Start:
    mesn;
    mesq l("Hey... You... Come here.");
    next;
    mesn "Zarkor, the Dark Summoner";
    mesq l("I am Zarkor, the Dark Summoner. I want to do a dark summoning ritual, but there are strings attached.");
    next;
    mesn "Zarkor, the Dark Summoner";
    mesq l("I need to buy your silence. I'll reward you greatly when I'm done. But first, I need to know if you'll be loyal to me.");
    next;
    mesn "Zarkor, the Dark Summoner";
    mesq l("To prove me your faith, bring me 1 @@ or 1 @@.",getitemlink(Ruby),getitemlink(Topaz));
    mesq l("Such precious gem, is not something you would give for free, unless you are interested on my... rituals.");
    next;
    mesn strcharinfo(0);
    select
        l("Indeed. Sorry. I'm not giving you anything."),
        rif(countitem(Ruby) >= 1, l("I swear silence, over this bloody ruby.")),
        rif(countitem(Topaz) >= 1, l("I swear silence, over this shining topaz."));

    mes "";
    switch (@menu) {
        case 1:
            mesn;
            mesq l("Very well. This conversation never happened.");
            next;
            mesn;
            mesq l("But if you regret this choice later... You know where you can find me.");
            close;
            break;
        case 2:
            delitem Ruby, 1; // Acc: 712 GP
            setq TulimsharQuest_DarkInvocator, 1;
            break;
        case 3:
            delitem Topaz, 1; // Acc: 825 GP
            setq TulimsharQuest_DarkInvocator, 1;
            break;
    }
    mesn "Zarkor, the Dark Summoner";
    mesq l("Very well. I shall now share with you the details of this rite.");
    next;
    mesn "Zarkor, the Dark Summoner";
    mesq l("I will summon the Monster King. Don't ask me my reasons. I know this will put Tulimshar in danger. But I will still do it.");
    next;
    mesn "Zarkor, the Dark Summoner";
    mesq l("For that, I need to light five torches. The pentagram, the magic, and all the else are with me. Just light the torches.");
    next;
    mesn "Zarkor, the Dark Summoner";
    mesq l("Talk to Zitoni, the Alchemist of Candor. He may look humble, but he is the greatest alchemist of this world. I need five @@.", getitemlink(EverburnPowder));
    close;

L_Price:
    mesn strcharinfo(0);
    mesq l("Zitoni refused to make the Powder.");
    next;
    mesn "Zarkor, the Dark Summoner";
    mesq l("I thought he would. After all, Everburn Powder... is not a mere powder.");
    next;
    mesn "Zarkor, the Dark Summoner";
    mesq l("Well, you gave me the gems, so I trust you. Here, take this @@.", getitemlink(DarkDesertMushroom));
    next;
    mesn "Zarkor, the Dark Summoner";
    mesq l("Take much care with it. It is a very, very rare drop from a rare monster from a difficult, high level area.");
    next;
    mesn "Zarkor, the Dark Summoner";
    mesq l("Deliver it to Zitoni on my name. He'll trust it. The relation between me and Zitoni... goes way back.");
    getitem DarkDesertMushroom, 1;
    setq TulimsharQuest_DarkInvocator, 3;
    close;

L_Quest:
    if (countitem(EverburnPowder) < 5) {
        mesn "Zarkor, the Dark Summoner";
        mesq l("This is not enough, I need 5 @@ to perform the rite. Go talk with Zitoni.", getitemlink(EverburnPowder));
        close;
    }
    mesn "Zarkor, the Dark Summoner";
    mesq l("Good, good, you have enough powder. Now I need you to lit all five torches with them.");
    next;
    mesn "Zarkor, the Dark Summoner";
    mesq l("Once you lit one of them, monsters will pour out, so take care to don't die.");
    next;
    mesn "Zarkor, the Dark Summoner";
    mesq l("If you die, you'll have to begin again. And there is the experience penalty, too.");
    next;
    mesn "Zarkor, the Dark Summoner";
    mesq l("Good luck, because you'll need it. Talk to me once all of them are lit, and I'll SUMMON DAH MONSTER KING.");
    setq TulimsharQuest_DarkInvocator, 5;
    close;

L_Ritual:
    percentheal 100, 0;
    specialeffect(56);
    mesc l("Zarkor spills many fluids on the lake, with much concentration.");
    next;
    specialeffect(56);
    mesn "Zarkor, the Dark Summoner";
    mesc l("Zarkor starts a weird chant.");
    next;
    specialeffect(52);
    killmonster("007-1", "Zarkor::OnMonster");
    mesn "Zarkor, the Dark Summoner";
    mesq l("MONSTER KING, APPEAR TO ME!");
    next;
    mesn "MONSTER KING";
    mesc l("...Foolish human... Do you really think I will attend your summon?"), 1;
    next;
    mesn "Zarkor, the Dark Summoner";
    mesq l("But... But! Where are you?! That summon ritual is equivalent to GM magic!");
    next;
    mesn "MONSTER KING";
    mesc l("And who do you think that created GM Magic in first place, inexperienced kid?"), 1;
    next;
    mesn "Zarkor, the Dark Summoner";
    mesq l("You... You killed my father during Nivalis siege! I'll make you pay for that!!");
    next;
    mesn "MONSTER KING";
    mesc l("You humans are so greedy... Just like me. I have more important things to do, other than waste time with you."), 1;
    next;
    mesn "MONSTER KING";
    mesc l("Zarkor, fell a small taste of my power. That is nothing. If you can't handle that, you're not even near my lowest lieutenant."), 1;
    mesc l("And you got help from a kid, Zarkor? Lucky is that kid, that I don't have time to deal with them. Farewell."), 1;
    next;
    specialeffect(312);
    mesn "Zarkor, the Dark Summoner";
    mes l("GAAAAAAAAAAAAAAAAHHHHHHH!");
    next;
    goto L_Finish;



L_Finish:
    setq TulimsharQuest_DarkInvocator, 7;
    // These values were taken from Experience table, and are magic numbers
    getexp 7995, 412; // 100% for levelset (30,11)
    // Pay roughly what you spent
    //  Powder + Trips  + Gems + Sulf + Iron + Ash + Profit = Money
    // (3000*5 + 4*500G + 1000 + 5*84 + 5*66 + 5*80 + 850) = 20.000
    Zeny=Zeny+20000;
    getitem ZarkorScroll, 1;

    mesn;
    mesq l("*Ugh* Thanks for your help. Here... Take this, as promised.");
    next;
    mesn strcharinfo(0);
    mesq l("Are you feeling well? That was a pretty powerful attack!");
    next;
    mesn;
    mesq lg("Do not worry with me, youngling... I'll be fine.");
    close;

OnMonster:
    end;

OnPCDieEvent:
    if (getq(TulimsharQuest_DarkInvocator) == 5 || getq(TulimsharQuest_DarkInvocator) == 6)
        setq2 TulimsharQuest_DarkInvocator, 0;
    end;

OnInit:
    .sex = G_MALE;
    .distance = 6;
    end;

}