diff options
Diffstat (limited to 'npc/cities/niflheim.txt')
-rw-r--r-- | npc/cities/niflheim.txt | 93 |
1 files changed, 58 insertions, 35 deletions
diff --git a/npc/cities/niflheim.txt b/npc/cities/niflheim.txt index 0dbe2f98e..1df1c151b 100644 --- a/npc/cities/niflheim.txt +++ b/npc/cities/niflheim.txt @@ -4,7 +4,7 @@ //= Fyrien, Dizzy, PKGINGO
//= Official NPCs translated and re-edited by Celest
//===== Current Version: =====================================
-//= 1.03
+//= 1.05
//===== Compatible With: =====================================
//= Any eAthena Version; Niflheim Required
//===== Description: =========================================
@@ -12,9 +12,15 @@ //= 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]
+//=
+//= 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 68,{
+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;
@@ -27,6 +33,15 @@ 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]";
@@ -60,6 +75,8 @@ niflheim.gat,184,199,5 script Little Girl 793,{ 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;
@@ -85,7 +102,7 @@ L_foundhim: mes "You found him?";
mes "Oh thank you!";
mes "Please, take this as a token of my appreciation.";
- getitem 642,1;
+ getitem 642,1;//Items: Book of Devil,
set niflheimlost2,1;
close;
L_thanks:
@@ -230,7 +247,7 @@ L_book2: L_book3:
set nif_t,0;
- set nif_random1,rand(1,10);
+ set @nif_random1,rand(1,10);
mes "[Aesop Bruce]";
mes "Ahahaha.... i see you are brave!!";
mes "Start reading your prayersahahahah!!";
@@ -294,7 +311,7 @@ L_score: close;
L_sucess1:
- if (nif_random1 == 10) goto L_sucess2;
+ if (@nif_random1 == 10) goto L_sucess2;
mes "[Aesop Bruce]";
mes "Your prayers were correctaaahhhh...";
mes "but your curse still remainsaaahhhh!!";
@@ -323,7 +340,7 @@ niflheim.gat,224,243,3 script Alager 795,{ mes "I'm going to eat you...";
next;
mes "-Chomp bite slurp-";
- if (nif_quest1 == 1) goto L_end;
+ if (nif_quest1 == 1 || nif_q_done == 1) goto L_end;
percentheal -60,0;
next;
mes "[Alager]";
@@ -337,7 +354,7 @@ niflheim.gat,224,243,3 script Alager 795,{ mes "[Alager]";
mes "Ah, let me thank you with this,";
mes "I found it on the ground, hoho~";
- getitem 7184,1;
+ getitem 7184,1;//Items: Piano Key,
set nif_quest1, 1;
close;
L_end:
@@ -357,18 +374,18 @@ nif_in.gat,105,81,3 script Grey 794,{ mes "^FF0000The beautiful melody surrounding thy soul,^000000";
mes "^FF0000Is the key from Lord Death's wrath.^000000";
next;
- if (nif_quest2 == 1) goto L_end;
- set nif_random,rand(1,4);
+ 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 "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;
+ 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;
@@ -400,7 +417,7 @@ nif_in.gat,105,81,3 script Grey 794,{ 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;
+ getitem 7184,1;//Items: Piano Key,
set nif_quest2, 1;
next;
mes "[Grey]";
@@ -423,25 +440,24 @@ nif_in.gat,31,20,3 script Kurtz 794,{ 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) goto L_end;
+ 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;
+ getitem 7184,1;//Items: Piano Key,
set nif_quest3, 1;
next;
mes "[Kurtz]";
mes "Why is business so bad lately...";
mes "(mumble mumble)";
close;
-L_end:
- close;
}
niflheim.gat,169,71,5 script #1 111,2,2{
- if (nif_quest4 == 1) goto L_end;
-L_key1:
+ 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 -";
@@ -450,17 +466,17 @@ L_key1: next;
mes "- Pick it up? -";
menu "Yes",-,"No",L_end;
- getitem 7184,1;
+ 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) goto L_end;
+ if (nif_quest5 >= 2) end;
-L_key1:
mes "- In the nearby tombs -";
mes "- you see something -";
mes "- half buried in the ground -";
@@ -469,8 +485,8 @@ L_key1: next;
mes "- Pick it up? -";
menu "Yes",-,"No",L_end;
- getitem 7184,1;
- set nif_piano, 1;
+ getitem 7184,1;//Items: Piano Key,
+ set nif_quest5, 1;
close;
L_key2:
mes "- In the hole you have dug -";
@@ -480,21 +496,30 @@ L_key2: next;
mes "- Pick it up? -";
menu "Yes",-,"No",L_end;
- getitem 7184,1;
- set nif_piano, 2;
+ 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 -";
- mes "- with a few keys missing -";
- if ((nif_quest6 < 1) && (countitem(7184) > 5)) goto L_event;
+ if if (nif_q_done==0) mes "- with a few keys missing -";
+ if 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;
- set nif_quest6, 1;
+ delitem 7184,6;//Items: Piano Key,
+ set nif_quest_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
+ 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 -";
@@ -504,10 +529,8 @@ L_event: }
nif_in.gat,118,151,5 script #5 111,3,3{
- if (nif_quest6 == 1) goto L_event;
- end;
+ if (nif_q_done != 1) end;
-L_event:
mes "- The very moment the long shadow -";
mes "- of your body falls on the piano -";
next;
|