summaryrefslogtreecommitdiff
path: root/npc/cities/niflheim.txt
blob: ffc2a6b3ef99313fcc06a42c7464c543c7923562 (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
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
//===== eAthena Script ======================================= 
//= Niflheim Script 
//===== By: ================================================== 
//= Fyrien, Dizzy, PKGINGO
//= Official NPCs translated and re-edited by Celest
//===== Current Version: ===================================== 
//= 1.06
//===== Compatible With: ===================================== 
//= Any eAthena Version; Niflheim Required
//===== Description: ========================================= 
//= Official NPC's for Niflheim
//= 1.01 Splitted file(guides, shops). Fixed rand() bugs,
//= missing labels bugs, optimization [Lupus]
//= 1.03 fixed end; -> close;
//= 1.04-1.05 fixed several bugs with missing CLOSE button, wrong var name
//=	in Piano Keys quest
//=     fixed zeny/item, exploit in Sairin, some optimizations [Lupus]
//= 1.06 some typos in some variables fixed (thx 2 Dr.Evil) [Lupus]
//=
//=  TODO: remove any save points from Niflheim (from Kafra)
//=        remove or commetn Warpers (they make Niflheim Piano Quest meaningless)
//============================================================ 

prontera.gat,164,161,4	script	Traveler::NifTrav	68,{
	mes "[Traveler]";
	mes "I've come across some strange things in my time. Things you'd have to see to belive. Have you heard of Niffleheim, the City of the Dead?";
	next;
	menu "Show me, please...",M_show, "Sounds scarey...Nevermind...",-;

	mes "[Traveler]";
	mes "A wise choice by any means...";
	close;
M_show:
	warp "niflheim.gat",202,171;
	close;
}
-	script	EDNifTrav	-1,{
OnInit:
OnMinute00:
	disablenpc "NifTrav";
	end;
OnMinute56:
	enablenpc "NifTrav";
	end;
}

niflheim.gat,52,174,3	script	Kirz	796,{
	mes "[Kirz]";
	mes "Humans are not allowed here!";
	mes "Living things-! are not";
	mes "allowed to pass!";
	close;
}

niflheim.gat,213,221,0	script	Spirit::spirits	802,{
	mes "[Spirit]";
	mes "Welcome to my world...";
	mes "This land we call....";
	mes "Niflheim....";
	percentheal -85,-85;
	close;
}

niflheim.gat,39,146,0	duplicate(spirits)	Spirit#2	802
niflheim.gat,95,61,0	duplicate(spirits)	Spirit#3	802
niflheim.gat,313,187,0	duplicate(spirits)	Spirit#4	802
niflheim.gat,212,264,0	duplicate(spirits)	Spirit#5	802
niflheim.gat,247,72,0	duplicate(spirits)	Spirit#6	802
niflheim.gat,130,176,0	duplicate(spirits)	Spirit#7	802
niflheim.gat,173,110,0	duplicate(spirits)	Spirit#8	802
niflheim.gat,182,167,0	duplicate(spirits)	Spirit#9	802

niflheim.gat,184,199,5	script	Little Girl	793,{
	mes "[Sairin]";
	if(niflheimlost2 == 1) goto L_thanks;
	if(niflheimlost == 1) goto L_foundhim;
	if(lostgirl == 1) goto L_sure2;
	mes "Sir, will you please help me?";
	if(Class==Job_Novice) mes "Oh... you are lost, too..."; //Exploit fix
	if(Class==Job_Novice) close;
	next;
	menu "Yes",-, "No",M_no;

	mes "[Sairin]";
	mes "My friend and I went for a hike and ended up wandering into a strange field.";
	next;
	mes "[Sairin]";
	mes "Suddenly, I found a doll. I picked it up, and it turned into a ghost!";
	next;
	mes "[Sairin]";
	mes "I screamed and ran as fast as I could. When I stopped running, I ended up in this strange town..";
	next;
	mes "[Sairin]";
	mes "No one here will help me, and there are ghosts everywhere! Could you help me find my friend?";
	next;
	menu "Sure",-, "No",M_no;
L_sure2:
	set lostgirl,1;
	mes "Please find him and tell him where I am! I saw him last in Niflheim Field, the first one...";
	close;

L_foundhim:
	mes "You found him?";
	mes "Oh thank you!";
	mes "Please, take this as a token of my appreciation.";
	getitem 642,1;//Items: Book of Devil,
	set niflheimlost2,1;
	close;
L_thanks:
	mes "Thanks again!";
M_no:
	close;
}

nif_fild01.gat,213,268,5	script	Little Boy	797,{
	mes "[Marius]";
	if(niflheimlost == 1) goto L_alreadydone;
	if(lostgirl == 1) goto L_sure2;
	mes "Sairin...where are you?";
	close;
L_alreadydone:
	mes "Thank you for helping us!";
	close;
L_sure2:
	mes "Who are you?";
	mes "...";
	mes "You found Sairin?";
	mes "She ran to Niflheim?";
	next;
	set niflheimlost,1;
	mes "[Marius]";
	mes "Could you tell her that I am on my way?";
	mes "I am a little slow, and its very important that she knows.";
	menu "Yes",L_alreadydone, "No",-;

	close;
}

niflheim.gat,195,211,5	script	Gigantia	796,{
	mes "[Gigantia]";
	mes "The Lord of Death always sees everything...";
	close;
}

niflheim.gat,153,215,3	script	Feline	794,{
	mes "[Feline]";
	mes "Why are you in this dangerous village?";
	mes "Better go back fast...";
	close;
}

nif_in.gat,16,27,1	script	Dead Cock	800,{
	mes "[Dead Cock]";
	mes "I was eaten by humans when alive,";
	mes "now it's my turn to eat you! Gugugugu~";
	mes "Aaah, i can't believe there's such a world after death, gugugu";
	percentheal -5,0;
	close;
}

nif_in.gat,16,30,4	script	Vampire Bat	799,{
	mes "[Vampire Bat]";
	mes "Alive or dead, human blood";
	mes "is always the tastiest!";
	mes "What? You want your blood";
	mes "to be sucked by me? Nice nice-!";
	percentheal -5,0;
	close;
}

nif_in.gat,156,93,5	script	Child	793,{
	mes "[Anne]";
	mes "Where, is this place? I just woke up";
	mes "and found myself here... mommy...";
	mes "have you seen my mommy, hmm? ... sob...";
	mes "I want to go home...";
	next;
	menu "About the witch...",L_Wizzard,"About the curse...",L_Curse,"Stop conversation",L_end;

L_Wizzard:
	mes "[Anne]";
	mes "A witch? I don't know any witches...";
	mes "although i read about them in storybooks,";
	mes "but i don't know if they're real or not,";
	mes "must be really scary if she is real...";
	next;
	mes "[Anne]";
	mes "But why is it so cold?";
	if (sex == 1) mes "Aren't you cold, brother? Wierd... Hu~";
	if (sex == 0) mes "Aren't you cold, sister? Wierd... Hu~";
	mes "I miss my warm home,";
	mes "Can you help me please? Hmmm? Hmmm?";
	close;
   
L_Curse:
	mes "[Anne]";
	mes "Curse... My grandma told me";
	mes "she has a way to avoid any curse";
	mes "unlifteable by holy blessings...";
	next;
	mes "[Anne]";
	mes "Klaatu...";
	mes "Verata.....";
	mes "And... something... something... what was it?";
	mes "I can't remember the last one.";
	next;
	mes "[Anne]";
	mes "She said if you can pronounce these magic words";
	mes "to escape a cursed fate.";
	mes "Now i can't remember what she said was important...";
	mes "looks like i forgot them too.";
	close;
   
L_end:
	mes "[Anne]";
	mes "So cold... so cold... i wish i could";
	mes "go home... if you can please take me with you...";
	mes "it's too scary here...";
	mes "please.... help me....";
	close;
}

niflheim.gat,350,258,5	script	Cursed Soul	802,{
	killmonster "niflheim.gat","mymob";
	mes "[Aesop Bruce]";
	mes "I feel a strong curse on youaaaahhhhh";
	mes "I shall deny your existanceahhhhhhh";
	mes "Turn back or you will dieeeaaaahhhh";
	mes "Don't touch my boookkssaaaahhhh";
	next;
	menu "Pick up 1st book",L_book1,"Pick up 2nd book",L_book2,"Pick up 3rd book",L_book3,"Leave silently",L_back;
   
L_book1:
	mes "[Aesop]";
	mes "Don't you touch my bookssssahhh!!";
	mes "Ahahaha, i curse you for being bitten, torn and clawed at!!";
	mes "Forever binded to this curse!!";
	monster "niflheim.gat",350,258,"Rideword",1478,1,"mymob";
	close;

L_book2:
	mes "[Aesop Bruce]";
	mes "I said don't touch my booksssahhh...";
	mes "Get lost....";
	mes "Don't disrupt my restingggaaahh!!";
	warp "niflheim.gat",34,162;
	close;

L_book3:
	set nif_t,0;
	set @nif_random1,rand(1,10);
	mes "[Aesop Bruce]";
	mes "Ahahaha.... i see you are brave!!";
	mes "Start reading your prayersahahahah!!";
	next;
L_MENU1:
	menu "Clover.",L_MENU1_1,"Klaatu.",L_MENU1_2,"Kleitos.",L_MENU1_3;

	L_MENU1_1:
	goto L_MENU2;

	L_MENU1_2:
	set nif_t,nif_t + 10;
	goto L_MENU2;

	L_MENU1_3: 
	goto L_MENU2;

L_MENU2:
	menu "Verit.",L_MENU2_1,"Veritas.",L_MENU2_2,"Verata.",L_MENU2_3;
	
	L_MENU2_1:
	goto L_MENU3;

	L_MENU2_2: 
	goto L_MENU3;

	L_MENU2_3:
	set nif_t,nif_t + 10;
	goto L_MENU3;

L_MENU3:
	menu "Necktie.",L_MENU3_1,"Necklace.",L_MENU3_2,"Nero.",L_MENU3_3,"^FFFFFFNictu.^000000",L_MENU3_4;

	L_MENU3_1: 
	goto L_score;

	L_MENU3_2: 
	goto L_score;

	L_MENU3_3:
	goto L_score;

	L_MENU3_4:
	set nif_t,nif_t + 10;
	goto L_score;


L_score:
	if (nif_t == 30) goto L_sucess1;
	mes "[Aesop Bruce]";
	mes "Hahahaha!! Your prayers were wrong!!";
	mes "Time to face deathohohohoho,";
	mes "May you be cured forevahahahaha!!";
	monster "niflheim.gat",349,256,"Orc Skeleton",1462,1,"mymob";
	monster "niflheim.gat",347,258,"Orc Skeleton",1462,1,"mymob";
	monster "niflheim.gat",347,254,"Orc Skeleton",1462,1,"mymob";
	monster "niflheim.gat",350,252,"Orc Skeleton",1462,1,"mymob";
	monster "niflheim.gat",344,255,"Orc Skeleton",1462,1,"mymob";
	monster "niflheim.gat",348,252,"Orc Skeleton",1462,1,"mymob";
	monster "niflheim.gat",347,259,"Orc Skeleton",1462,1,"mymob";
	close;

L_sucess1:
	if (@nif_random1 == 10) goto L_sucess2;
	mes "[Aesop Bruce]";
	mes "Your prayers were correctaaahhhh...";
	mes "but your curse still remainsaaahhhh!!";
	mes "Haahahahaha.....!!!";
	close;

L_sucess2:
       mes "[Aesop Bruce]";
       mes "Hahahaha!! Your curse has been lifted!!";
       mes "Gahahahaha.....!!!";
       close;

L_back:
	mes "[Aesop Bruce]";
	mes "Ahahahaha! Not bad thinking at alllhhhaahaaa...";
	mes "I shall pray that you live to returnahhhh....";
	close;
}

niflheim.gat,224,243,3	script	Alager	795,{
	mes "[Alager]";
	mes "Muahaha, i love to eat meat...";
	mes "You look... delicious!";
	next;
	mes "[Alager]";
	mes "I'm going to eat you...";
	next;
	mes "-Chomp bite slurp-";
	if (nif_quest1 == 1 || nif_q_done == 1) goto L_end;
	percentheal -60,0;
	next;
	mes "[Alager]";
	mes "Ahhh, it's been some time since i had such delicious meat!";
	// 50% made up, not the slightest idea how to translate these ^^;
	mes "as an ex-barbeque chef, my favourite meat";
	mes "would be like preparing beef fillet,";
	mes "crossed and grilled to perfection";
	mes "that would be really delicious... ";
	next;
	mes "[Alager]";
	mes "Ah, let me thank you with this,";
	mes "I found it on the ground, hoho~";
	getitem 7184,1;//Items: Piano Key,
	set nif_quest1, 1;
	close;
L_end:
	percentheal -30,0;
 	close;
}

nif_in.gat,105,81,3	script	Grey	794,{
	mes "[Grey]";
	mes "Ah, there was this poem...";
	mes "in which author and time of writing was unknown,";
	mes "and has been circulating since long ago...";
	next;
	mes "[Grey]";
	mes "^FF0000When the sun sets in the western hills,^000000";
	mes "^FF0000Where points the velvet gloom of dawn,^000000";
	mes "^FF0000The beautiful melody surrounding thy soul,^000000";
	mes "^FF0000Is the key from Lord Death's wrath.^000000";
	next;
	if (nif_quest2 == 1 || nif_q_done == 1) goto L_end;
	set @nif_random,rand(1,4);
	mes "[Grey]";
	mes "Heh, let me give you a little exam!";
	mes "Repeat line no. " + @nif_random + " of the poem";
	mes "that you have just heard to me!";
	next;
	input @inputstr1$;
	if (@nif_random == 2) goto L_RAN_2;
	if (@nif_random == 3) goto L_RAN_3;
	if (@nif_random == 4) goto L_RAN_4;
	//if (@nif_random == 1) goto L_RAN_1;	
	L_RAN_1:
		set @str1$,"When the sun sets in the western hills,";
		goto L_RAN_B;
	
	L_RAN_2:
		set @str1$,"Where points the velvet gloom of dawn,";
		goto L_RAN_B;

	L_RAN_3:
		set @str1$,"The beautiful melody surrounding thy soul,";
		goto L_RAN_B;

	L_RAN_4:
		set @str1$,"Is the key from Lord Death's wrath.";
		goto L_RAN_B;

	L_RAN_B:
		if (@inputstr1$ == @str1$) goto L_RAN_SC;
		mes "[Grey]";
		mes "Aih... If you had paid more attention,";
		mes "you would have known the correct answer!";
		mes "Come back for the challenge again,";
		mes "when you have thought over it!";
		close;

	L_RAN_SC:
		mes "[Grey]";
		mes "Hoho... I see you have paid attention!";
		mes "I am Grey, a wandering poet of yore,";
		mes "you are the best audience i have had so far,";
		mes "here, take this as a reward.";
		getitem 7184,1;//Items: Piano Key,
		set nif_quest2, 1;
		next;
		mes "[Grey]";
		mes "I hope you will treat other poets";
		mes "as well as you treated me, farewell.";
		close;

L_end:
	mes "[Grey]";
	mes "I wonder what does it mean...";
	mes "If you read it carefully,";
	mes "it seems to have a deep meaning,";
	mes "as if there is a myterious secret";
	mes "hidden within these words...";
	close;
}

nif_in.gat,31,20,3	script	Kurtz	794,{
	mes "[Kurtz]";
	mes "Business nowadays is really bad...";
	mes "Back when i used to be alive,";
	mes "my business was this bad too~!";
	if (nif_quest3 == 1 || nif_q_done == 1) close;
	next;
	mes "[Kurtz]";
	mes "Hey! You there! Dump this for me";
	mes "on the way out will you!";
	getitem 7184,1;//Items: Piano Key,
	set nif_quest3, 1;
	next;
	mes "[Kurtz]";
	mes "Why is business so bad lately...";
	mes "(mumble mumble)";
	close;
}

niflheim.gat,169,71,5	script	#1	111,2,2{
	if (nif_q_done == 1) end;
	if (nif_quest4 == 1) end;

	mes "- In the nearby tombs -";
	mes "- you see something -";
	mes "- half buried in the ground -";
	mes "- What is it? -";
	mes "- Looks like it broke off something -";
	next;
	mes "- Pick it up? -";
	menu "Yes",-,"No",L_end;
	getitem 7184,1;//Items: Piano Key,
	set nif_quest4, 1;
L_end:
	close;
}

niflheim.gat,208,103,5	script	#2	111,2,2{
	if (nif_q_done == 1) end;
	if (nif_quest5 == 1) goto L_key2;
	if (nif_quest5 >= 2) end;

	mes "- In the nearby tombs -";
	mes "- you see something -";
	mes "- half buried in the ground -";
	mes "- What is it? -";
	mes "- Looks like it broke off something -";
	next;
	mes "- Pick it up? -";
	menu "Yes",-,"No",L_end;
	getitem 7184,1;//Items: Piano Key,
	set nif_quest5, 1;
	close;
L_key2:
	mes "- In the hole you have dug -";
	mes "- there is something else -";
	mes "- buried deep in the ground -";
	mes "- Looks like its another fragment -";
	next;
	mes "- Pick it up? -";
	menu "Yes",-,"No",L_end;
	getitem 7184,1;//Items: Piano Key,
	set nif_quest5, 2;
L_end:
	close;
}

nif_in.gat,115,181,5	script	#4	111,3,3{
	mes "- You see a huge old piano -";
	if (nif_q_done==0) mes "- with a few keys missing  -";
	if (nif_q_done==1) mes "- with one key missing -";
	if (nif_q_done==0 && countitem(7184) > 5) goto L_event;//Items: Piano Key,
	close;

L_event:
	delitem 7184,6;//Items: Piano Key,
	set nif_q_done, 1;
	//clear auxiliary vars now
	set nif_quest1, 0;
	set nif_quest2, 0;
	set nif_quest3, 0;
	set nif_quest4, 0;
	set nif_quest5, 0;
	set nif_random,0; //clear garbage from the previous version of the script
	set nif_random1,0; //clear garbage
	mes "- You slide the 6 piano keys one -";
	mes "- by one into the missing slots  -";
	mes "- on the piano, but you realise  -";
	mes "- the left-most side seems to be -";
	mes "- missing one more key. -";
	close;
}

nif_in.gat,118,151,5	script	#5	111,3,3{
	if (nif_q_done != 1) end;

	mes "- The very moment the long shadow -";
	mes "- of your body falls on the piano -";
	next;
	mes "- You suddenly seem to feel lighter -";
	mes "- and your vision starts to blur... -";
	next;
	warp "nif_in.gat",179,163;
	close;
}

nif_in.gat,188,168,3	script	Witch	792,{
	mes "[Kilgana]";
	mes "Hmm?... Aren't you a living human?";
	mes "Must have took you some effort";
	mes "to get to this place...";
	mes "Whatever reason though, this is not a place";
	mes "the living shall belong...";
	next;
	mes "[Kilgana]";
	mes "I shall use my powers to send you back";
	mes "but you should not return in the future.";
	warp "umbala.gat",138,208;
	close;
}