summaryrefslogtreecommitdiff
path: root/npc/007-1/zarkor.txt
blob: e5291a15ee70cdf22db6f2909d6c39bfdc9bf45c (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
// 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. Tell him to make you five %s.", 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 %s. I can't give you another one, they're extremely rare.", getitemlink(DarkDesertMushroom));
            close;
            break;
        case 4:
            goto L_Quest;
            break;
        case 5:
            mesn "Zarkor, the Dark Summoner";
            mesq l("You didn't light every torch yet! Hurry up before they stop burning!");
            mesn "";
            mesc l("You have a vague bad feeling about this.");
            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 harms 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 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 trustworthyness, bring me 1 %s or 1 %s.",getitemlink(Ruby),getitemlink(Topaz));
    mesq l("Such a precious gem is not something you would give away for free, unless you are truly interested in my ritual.");
    next;
    mesn strcharinfo(0);
    select
        l("Indeed. Sorry. I'm not giving you anything."),
        rif(countitem(Ruby) >= 1, l("I swear silence, over this sanguine ruby.")),
        rif(countitem(Topaz) >= 1, l("I swear silence, over this radiant 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 the details of this rite with you.");
    next;
    mesn "Zarkor, the Dark Summoner";
    mesq l("I will summon the Monster King. Don't ask me for 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 the five torches. I already prepared everything, so you do not need to do anything else. 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. Procure 5 %s from him.", 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 with this. Here, take the reagent you need, a %s.", getitemlink(DarkDesertMushroom));
    next;
    mesn "Zarkor, the Dark Summoner";
    mesq l("Do not lose it. It is a very, very rare fungus you can only find on a tough monster, in a particularly dangerous area.");
    next;
    mesn "Zarkor, the Dark Summoner";
    mesq l("Deliver it to Zitoni in my name. He'll trust you. 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 %s to perform the rite. Go talk to Zitoni.", getitemlink(EverburnPowder));
        close;
    }
    mesn "Zarkor, the Dark Summoner";
    mesq l("Good, good, you have enough powder. Now I need you to light all five torches with them.");
    next;
    mesn "Zarkor, the Dark Summoner";
    mesq l("Once you light one of them, monsters will be summoned, so take care to not die. The amount and difficulty of the summoned monsters increases with every torch you light. I advice you to run away and hurry to the next torch.");
    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 THE MONSTER KING.");
    setq TulimsharQuest_DarkInvocator, 5;
    close;

L_Ritual:
    percentheal 100, 0;
    specialeffect(56);
    mesc l("Zarkor spills many fluids on the surface of the little lake while being in a deep trance.");
    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 "The 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 "The Monster King";
    mesc l("And who do you think that created GM Magic in first place, pathetic worm?"), 1;
    next;
    mesn "Zarkor, the Dark Summoner";
    mesq l("You... You killed my father during the Nivalis siege! I'll make you pay for that!!");
    next;
    mesn "The Monster King";
    mesc l("You humans are so greedy... Just like me. I have more important things to do. I won't waste my time on you any longer."), 1;
    next;
    mesn "The Monster King";
    mesc l("Zarkor, you may feel a small taste of my power. If you can't handle that, you're not even near my lowest lieutenant."), 1;
    mesc l("And you got help from that kid? You are even more pathetic than I thought."), 1;
    mesc l("You may consider yourself exceptionally lucky, kid. I will not waste my time on you, too so consider me sparing you an act of mercy."), 1;
    dnext;
    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 alright? That was a pretty powerful blast!");
    next;
    mesn;
    mesq lg("Do not worry about 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;

}