Explorar el Código

Updated NIflheim Town and Quest NPCs

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@12472 54d463be-8e91-2dee-dedb-b68131a5f0ec
L0ne_W0lf hace 17 años
padre
commit
f59fdd3531
Se han modificado 5 ficheros con 1125 adiciones y 400 borrados
  1. 1 0
      npc/Changelog.txt
  2. 297 158
      npc/cities/niflheim.txt
  3. 92 0
      npc/custom/quests/bookofthedevil.txt
  4. 733 242
      npc/quests/quests_niflheim.txt
  5. 2 0
      npc/scripts_custom.conf

+ 1 - 0
npc/Changelog.txt

@@ -1,6 +1,7 @@
 Date		Added
 ======
 2008/04/04
+	* Rev. 12472 Updated NIflheim Town and Quest NPCs. [L0ne_W0lf]
 	* Rev. 12471 Updated Schwaltzvalt guild warp points. [L0ne_W0lf]
 	* Added the warp points for the Arunafeltz guild maps.
 2008/04/03

+ 297 - 158
npc/cities/niflheim.txt

@@ -4,9 +4,10 @@
 //= Fyrien, Dizzy, PKGINGO
 //= Official NPCs translated and re-edited by Celest
 //===== Current Version: ===================================== 
-//= 1.3a
+//= 1.4
 //===== Compatible With: ===================================== 
-//= Any eAthena Version; Niflheim Required
+//= [Aegis Conversion]
+//= eAthena SVN; Niflheim Required
 //===== Description: ========================================= 
 //= Official NPC's for Niflheim
 //= 1.01 Splitted file(guides, shops). Fixed rand() bugs,
@@ -22,191 +23,329 @@
 //= 1.1 Replaced nif_q_done with MISC_QUEST & 32. nif_t -> @nif_t [Lupus]
 //= 1.2 Removed Duplicates [Silent]
 //= 1.3 Moved Book of Devil and Piano quest to quests/quests_niflheim.txt [Evera]
+//= 1.4 Rescripted to Aegis 10.3 standards. [L0ne_W0lf]
+//=	Removed Cursed Spirits as they were custom.
 //============================================================ 
 
-
-niflheim,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,213,221,0	script	Spirit::spirits	802,{
-	mes "[Spirit]";
-	mes "Welcome to my world...";
-	mes "This land we call....";
-	mes "Niflheim....";
-	percentheal -85,-85;
+niflheim,52,147,3	script	Keedz#nif	796,{
+	mes "[Keedz]";
+	mes "I don't allow any living person";
+	mes "to come in this place!";
 	close;
 }
 
-niflheim,39,146,0	duplicate(spirits)	Spirit#2	802
-niflheim,95,61,0	duplicate(spirits)	Spirit#3	802
-niflheim,313,187,0	duplicate(spirits)	Spirit#4	802
-niflheim,212,264,0	duplicate(spirits)	Spirit#5	802
-niflheim,247,72,0	duplicate(spirits)	Spirit#6	802
-niflheim,130,176,0	duplicate(spirits)	Spirit#7	802
-niflheim,173,110,0	duplicate(spirits)	Spirit#8	802
-niflheim,182,167,0	duplicate(spirits)	Spirit#9	802
-
-
-niflheim,195,211,5	script	Gigantia	796,{
+niflheim,195,211,6	script	Gigantia#nif	796,3,3,{
+	if (isequipped(5038) || isequipped(2257) || isequipped(2256)) {
+		mes "[" + strcharinfo(0) + "]";
+		mes "What's up?";
+		next;
+		mes "[Gigantia]";
+		mes "Just...";
+		mes "Come over here.";
+		mes "I have something";
+		mes "I must do for you.";
+		next;
+		mes "[Gigantia]";
+		mes "Your horn is crooked.";
+		mes "Always make sure your horn";
+		mes "is worn straight and neat.";
+		mes "The Lord of Death is always";
+		mes "looking at you.";
+		close;
+	}
 	mes "[Gigantia]";
-	mes "The Lord of Death always sees everything...";
+	mes "The Lord of Death knows";
+	mes "and sees all. It's useless";
+	mes "to hide, and escape from";
+	mes "Death's sweet embrace.";
 	close;
-}
 
-niflheim,153,215,3	script	Feline	794,{
-	mes "[Feline]";
-	mes "Why are you in this dangerous village?";
-	mes "Better go back fast...";
-	close;
+OnTouch:
+	if (isequipped(5038) || isequipped(2257) || isequipped(2256)) {
+		mes "[Gigantia]";
+		mes "Hey, wait!";
+		close;
+	}
+	end;
 }
 
-nif_in,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";
+nif_in,16,27,1	script	Undead Chicken#nif	800,{
 	percentheal -5,0;
+	mes "[Undead Chicken]";
+	mes "I lived a peaceful life as a normal chicken. But then came the day I was tragically killed and eaten by humans. Well... Heh heh~! Now it's my turn! *Cackles*";
+	next;
+	mes "["+ strcharinfo(0) +"]";
+	mes "Ouch...!";
+	mes "A chicken...";
+	mes "It bit me!";
+	next;
+	mes "[Undead Chicken]";
+	mes "Ho ho~!";
+	mes "I can talk AND feast";
+	mes "on living humans!";
+	mes "Being a zombie is great!";
+	mes "*Cackles*";
 	close;
 }
 
-nif_in,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-!";
+nif_in,16,30,4	script	Undead Familiar#nif	799,{
 	percentheal -5,0;
-	close;
-}
-
-nif_in,156,93,5	script	Child	793,{
-	mes "[Alakina Ann]";
-	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...";
+	mes "[Vatoman]";
+	mes "Oooh, how handy, a living";
+	mes "human~! Fresh blood is";
+	mes "always tasty...! I think I'll just";
+	mes "take a liiittle sip.";
 	next;
-	menu "About the witch...",-,"About the curse...",L_Curse,"Stop conversation",L_end;
-
-	mes "[Alakina Ann]";
-	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...";
+	mes "[" + strcharinfo(0) + "]";
+	mes "Ow! My vein!";
+	mes "Did you just";
+	mes "suck my blood?!";
 	next;
-	mes "[Alakina Ann]";
-	mes "But why is it so cold?";
-	if (sex == 1)
-		mes "Aren't you cold, brother? Wierd... Hu~";
-	else
-		mes "Aren't you cold, sister? Wierd... Hu~";
-	mes "I miss my warm home,";
-	mes "Can you help me please? Hmmm? Hmmm?";
+	mes "[Vatoman]";
+	mes "Mwahahaha~";
+	mes "Foolish mortal!";
+	mes "Beware my powers!";
 	close;
-   
-L_Curse:
-	mes "[Alakina Ann]";
-	mes "Curse... My grandma told me";
-	mes "she has a way to avoid any curse";
-	mes "unlifteable by holy blessings...";
-	next;
+}
+
+nif_in,156,93,5	script	Child#nifflheim	793,{
 	mes "[Alakina Ann]";
-	mes "Klaatu...";
-	mes "Verata.....";
-	mes "And... something... something... what was it?";
-	mes "I can't remember the last one.";
+	mes "Where...where am I...?";
+	mes "I remember I was sleeping";
+	mes "and when I woke up, I was here...";
+	mes "Mommy, have you seen my mommy?";
+	mes "I wanna go home...*Sob*";
 	next;
-	mes "[Alakina Ann]";
-	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 "[Alakina Ann]";
-	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;
+	switch(select("About the witch:About the curse:Cancel.")) {
+	case 1:
+		mes "[Alakina Ann]";
+		mes "Witch...? I've never seen a witch, but I've read about them in books. I'm not sure if they exist or not, but it would be so horrifying if they did...";
+		next;
+		mes "[Alakina Ann]";
+		mes "Why is it so cold in here...?";
+		mes "A-aren't you cold, or even scared? I wanna go home... It's warm over there. Could you help me get back... Please...? H-help me...";
+		close;
+	case 2:
+		mes "[Alakina Ann]";
+		mes "A c-curse...?";
+		mes "My grandma says that there are lots of curses in the world. Some of them, you can tell it's a curse. But there are other curses that follow you throughout life...";
+		next;
+		mes "[Alakina Ann]";
+		mes "Grandma says curses can take other forms... Like if someone's always mad at you, and won't forgive you, you can see that as a curse too.";
+		next;
+		mes "[Alakina Ann]";
+		mes "My grandma told me there's only one spell that can break a strong curse that you can't lift with Blessings...";
+		next;
+		mes "[Alakina Ann]";
+		mes "Klaatu...";
+		mes "Verata.....";
+		mes "Ne...ni...umm...?";
+		mes "What was the last part?";
+		mes "I-I can't remember";
+		mes "the last part of the spell!";
+		next;
+		mes "[Alakina Ann]";
+		mes "If you repeat the spell in that order, it will release you from someone's anger and hate. And if you do it near a bad spirit, they might get the curse instead.";
+		next;
+		mes "[Alakina Ann]";
+		mes "Why are you asking me about these scary kind of things...? I just wanna go home...";
+		close;
+	case 3:
+		mes "[Alakina Ann]";
+		mes "It's so cold in here...";
+		mes "I'm freezing...";
+		mes "And I wanna go home and";
+		mes "get away from this scary place...";
+		next;
+		mes "[Alakina Ann]";
+		mes "Please... help me.";
+		mes "Could you take me with you...?";
+		close;
+	}
 }
 
-niflheim,350,258,5	script	Cursed Soul::cursedsoul	802,{
-	killmonster "niflheim","cursedsoul::OnNFMob";
+niflheim,350,258,1	script	Cursed Spirit#nif	802,{
+	killmonster "niflheim","Cursed Spirit#nif::OnMyMobDead";
 	mes "[Ashe 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";
+	mes "I sense you're cursed";
+	mes "by a powerful spell...";
+	mes "Hmm... It's clear what";
+	mes "you must be up to....";
 	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 "[Ashe Bruce]";
-	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",350,258,"Rideword",1478,1,"cursedsoul::OnNFMob";
-	close;
-
-L_book2:
+	mes "You wish to get";
+	mes "rid of your curse....";
+	mes "By giving it to me!!";
+	next;
 	mes "[Ashe Bruce]";
-	mes "I said don't touch my booksssahhh...";
-	mes "Get lost....";
-	mes "Don't disrupt my restingggaaahh!!";
-	warp "niflheim",34,162;
-	close;
-
-L_book3:
-	set @nif_t,0;
+	mes "Just because I'm a cursed spirit, you adventurers think you can just dump your curses on me?!";
+	emotion e_an;
+	next;
 	mes "[Ashe Bruce]";
-	mes "Ahahaha.... I see you are brave!!";
-	mes "Start reading your prayersahahahah!!";
+	mes "I refuse to let";
+	mes "you remain here.....";
+	mes "Leave now, or I will";
+	mes "remove you by force....";
 	next;
-	if(select("Clover.:Klaatu.:Kleitos.")==2)
-		set @nif_t,@nif_t + 10;
-
-	if(select("Verit.:Veritas.:Verata.")==3)
-		set @nif_t,@nif_t + 10;
-
-	if(select("Necktie.:Necklace.:Nero.:^FFFFFFNictu.^000000")==4)
-		set @nif_t,@nif_t + 10;
-
 	mes "[Ashe Bruce]";
-	if(@nif_t == 30){
-		if(rand(9)){
-			mes "Your prayers were correctaaahhhh...";
-			mes "but your curse still remainsaaahhhh!!";
-			mes "Haahahahaha.....!!!";
-			close;
+	mes "....And...";
+	mes "....Whatever you do...";
+	mes "....Do NOT touch my books...";
+	next;
+	switch(select("Touch the first book.:Touch the second book.:Touch the third book.:Okay, I am leaving.")) {
+	case 1:
+		monster "niflheim",349,259,"Rideword",1478,1,"Cursed Spirit#nif::OnMyMobDead";
+		mes "[Ashe Bruce]";
+		mes "...!...";
+		mes "How dare you touch my books";
+		mes "when I specifically said";
+		mes "'Don't touch my books!'";
+		next;
+		mes "[Ashe Bruce]";
+		mes "....!...Grrrrr!";
+		mes "I shall tear you apart...!";
+		mes "Be bound by an eternal curse...!";
+		close;
+	case 2:
+		mes "[Ashe Bruce]";
+		mes "...!...";
+		mes "You dare touch my books?!";
+		mes "Right after I said not";
+		mes "to touch them...?!";
+		mes "Foolish mortal!";
+		mes "...BEGONE!";
+		close2;
+		warp "niflheim",34,162;
+		end;
+	case 3:
+		mes "[Ashe Bruce]";
+		mes "Muhahahaha....";
+		mes "Stubborn mortal~!";
+		mes "Fine! I will give you";
+		mes "a fighting chance and let";
+		mes "you cast a spell.";
+		next;
+		mes "[Ashe Bruce]";
+		mes "But Blessings won't";
+		mes "work with the curse";
+		mes "that you have...";
+		mes "And the spell to lift";
+		mes "your curse has been";
+		mes "lost to the ages~!";
+		emotion e_gg;
+		next;
+		if (select("Clover:Klaatu:Klaytos") == 2)
+			set .@spell,.@spell+1;
+		if (select("Verit:Veritas:Verata") == 3)
+			set .@spell,.@spell+1;
+		if (select("Necktie:Necklace:Nero:^FFFFFFNictu!!!^000000") == 4)
+			set .@spell,.@spell+1;
+		if (.@spell == 3) {
+			switch(rand(1,5)) {
+			case 1:
+				if (morison_meat < 15) {
+					set MISC_QUEST,MISC_QUEST | 1;
+					mes "[Ashe Bruce]";
+					mes "You... You broke the curse!";
+					mes "How did you know that spell?!";
+					next;
+					mes "[Ashe Bruce]";
+					mes "I suppose you expect for me to";
+					mes "melt in agony about now, don't";
+					mes "you? Well... Sorry to disappoint";
+					mes "you, mortal, but I can never die!";
+					close;
+				}
+				mes "[Ashe Bruce]";
+				mes "...! You cast the correct spell?!";
+				mes "...!...";
+				mes "But...You're still cursed...";
+				mes "Umhaaaaaaaaaaaaaaaaa.....!";
+				close;
+			case 2:
+				if (thai_head == 1) {
+					set thai_head,2;
+					mes "[Ashe Bruce]";
+					mes "What's...";
+					mes "this feeling?";
+					next;
+					mes "[Ashe Bruce]";
+					mes "No...!";
+					mes "NOOOOOOOOOOOOOOOO!";
+					next;
+					mes "[Ashe Bruce]";
+					mes "Why did your spell have to work?!";
+					close;
+				}
+				mes "[Ashe Bruce]";
+				mes "You...";
+				mes "cast the correct spell?!";
+				next;
+				mes "[Ashe Bruce]";
+				mes "Hoho~";
+				mes "But you're still cursed...";
+				close;
+			case 3:
+				if (thai_head == 8) {
+					set thai_head,7;
+					mes "[Ashe Bruce]";
+					mes "You... You broke the curse!";
+					mes "Who taught you that spell?!";
+					next;
+					mes "[Ashe Bruce]";
+					mes "I suppose you expect for me to";
+					mes "melt in agony about now, don't";
+					mes "you? Well... Sorry to disappoint";
+					mes "you, mortal, but I can never die!";
+					next;
+					mes "[Ashe Bruce]";
+					mes "So long as I'm...";
+					mes "still...";
+					mes "cursed.";
+					next;
+					mes "[Ashe Bruce]";
+					mes "NOOOOOOOOOO!";
+					close;
+				}
+				mes "[Ashe Bruce]";
+				mes "...! You cast the correct spell?!";
+				mes "...!...";
+				mes "But...You're still cursed...";
+				mes "Umhaaaaaaaaaaaaaaaaa.....!";
+				close;
+			case 4:
+				mes "[Ashe Bruce]";
+				mes "...! You cast the correct spell?!";
+				mes "...!...";
+				mes "But...You're still cursed...";
+				mes "Mwahahahaaaa.....!";
+				close;
+			}
 		}
-	       mes "Hahahaha!! Your curse has been lifted!!";
-	       mes "Gahahahaha.....!!!";
-	       close;
+		monster "niflheim",345,259,"Orc Skeleton",1462,1,"Cursed Spirit#nif::OnMyMobDead";
+		monster "niflheim",347,261,"Orc Skeleton",1462,1,"Cursed Spirit#nif::OnMyMobDead";
+		monster "niflheim",344,253,"Orc Skeleton",1462,1,"Cursed Spirit#nif::OnMyMobDead";
+		monster "niflheim",346,251,"Orc Skeleton",1462,1,"Cursed Spirit#nif::OnMyMobDead";
+		monster "niflheim",349,249,"Orc Skeleton",1462,1,"Cursed Spirit#nif::OnMyMobDead";
+		monster "niflheim",350,260,"Orc Skeleton",1462,1,"Cursed Spirit#nif::OnMyMobDead";
+		monster "niflheim",353,256,"Orc Skeleton",1462,1,"Cursed Spirit#nif::OnMyMobDead";
+		mes "[Ashe Bruce]";
+		mes "Muhahahahahaha!";
+		mes "That's not the right spell!";
+		mes "Now, death awaits you!";
+		mes "You're eternally bound";
+		mes "to the curse...!";
+		close;
+	case 4:
+		mes "[Ashe Bruce]";
+		mes "...";
+		mes ".....";
+		next;
+		mes "[Ashe Bruce]";
+		mes "Well then.";
+		mes "Try not to trip on";
+		mes "your feet in your";
+		mes "rush to leave.";
+		close;
 	}
-	mes "Hahahaha!! Your prayers were wrong!!";
-	mes "Time to face deathohohohoho,";
-	mes "May you be cursed forevahahahaha!!";
-	monster "niflheim",349,256,"Orc Skeleton",1462,1,"cursedsoul::OnNFMob";
-	monster "niflheim",347,258,"Orc Skeleton",1462,1,"cursedsoul::OnNFMob";
-	monster "niflheim",347,254,"Orc Skeleton",1462,1,"cursedsoul::OnNFMob";
-	monster "niflheim",350,252,"Orc Skeleton",1462,1,"cursedsoul::OnNFMob";
-	monster "niflheim",344,255,"Orc Skeleton",1462,1,"cursedsoul::OnNFMob";
-	monster "niflheim",348,252,"Orc Skeleton",1462,1,"cursedsoul::OnNFMob";
-	monster "niflheim",347,259,"Orc Skeleton",1462,1,"cursedsoul::OnNFMob";
-	close;
-
-L_back:
-	mes "[Ashe Bruce]";
-	mes "Ahahahaha! Not bad thinking at alllhhhaahaaa...";
-	mes "I shall pray that you live to returnahhhh....";
-	close;
-OnNFMob:
-	end;
 }

+ 92 - 0
npc/custom/quests/bookofthedevil.txt

@@ -0,0 +1,92 @@
+//===== eAthena Script ======================================= 
+//= Baphomet Jr. taming item quest.
+//===== By: ================================================== 
+//= eAthena Dev Team
+//===== Current Version: ===================================== 
+//= 1.1
+//===== Compatible With: ===================================== 
+//= eAthena 1.0
+//===== Description: ========================================= 
+//= Book of Devil		(MISC_QUEST | 256)
+//===== Additional Comments: ================================= 
+//= 1.0 ????
+//= 1.1 Optimized Book of Devil quest. used bit-wise var. [Lupus]
+//============================================================ 
+
+//=============================================================
+//Quest for Book of Devil
+//=============================================================
+niflheim,184,199,5	script	Little Girl#02	793,{
+	mes "[Sairin]";
+	if(MISC_QUEST & 256){
+		mes "Thanks again!";
+		close;
+	}
+	if(@niflheimlost == 2){
+		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 MISC_QUEST,MISC_QUEST | 256;
+		set @niflheimlost,0;
+		close;
+	}
+	if(@niflheimlost == 1){
+M_YES:
+		set @niflheimlost,1;
+		mes "Please find him and tell him where I am! I saw him last in Niflheim Field, the first one...";
+		close;
+	}
+	mes "Sir, will you please help me?";
+	if(BaseJob==Job_Novice){
+		mes "Oh... you are lost, too...";
+		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",M_YES, "No",M_NO;
+M_NO:
+	close;
+}
+
+nif_fild01,213,268,5	script	Little Boy	797,{
+	if(MISC_QUEST & 256){
+L_DONE:
+		set @niflheimlost,2;
+		mes "[Marius]";
+		mes "Thank you for helping us!";
+		close;
+	}
+	if(@niflheimlost == 2) goto L_PART2;
+	if(@niflheimlost == 1){
+		mes "[Marius]";
+		mes "Who are you?";
+		mes "...";
+		mes "You found Sairin?";
+		mes "She ran to Niflheim?";
+		next;
+L_PART2:
+		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.";
+		next;
+		menu "Yes",L_DONE, "No",-;
+		close;	
+	}
+	mes "[Marius]";
+	mes "Sairin... where are you?";
+	close;
+}

+ 733 - 242
npc/quests/quests_niflheim.txt

@@ -3,299 +3,790 @@
 //===== By: ================================================== 
 //= The eAthena Dev Team
 //===== Current Version: ===================================== 
-//= 1.2
+//= 1.3
 //===== Compatible With: ===================================== 
 //= eAthena 7.15 +
 //===== Description: ========================================= 
-//= Book of Devil		(MISC_QUEST | 256)
-//= Piano Key Ouest		(MISC_QUEST | 32)
+//= [Aegis Conversion]
+//= Piano Key Ouest
+//= - Escape from Niflheim
+//= - Variables in use: nif_esc, MISC_QUEST (Bit 32)
+//= Message Delivery Quest
+//= - Deliver a message to Erious' departed wife.
+//= - Variables in use: nif_revive, MISC_QUEST (Bit 16384)
 //===== Additional Comments: ================================= 
 //= 1.0 Initial release, moved Book of Devil and Piano quest
 //=	from npc/cities/niflheim.txt [Evera]
 //= 1.1 Optimized Book of Devil quest. used bit-wise var,
 //=	Optimized Piano Quest - now uses 1 variable [Lupus]
 //= 1.2 Fixed bad NPC header data to comply with rev. 11603. [L0ne_W0lf]
+//= 1.3 Moved the Book of Devil quest to custom folder. [L0ne_W0lf]
+//=	Updated to Aegis 10.3 Standed, added Message Delivery Quest.
+//=	Rescripted Piano Quest. Prior quest progress will be lost. 
 //============================================================ 
 
 //=============================================================
-//Quest for Book of Devil
+//Piano Quest
 //=============================================================
-niflheim,184,199,5	script	Little Girl#02	793,{
-	mes "[Sairin]";
-	if(MISC_QUEST & 256){
-		mes "Thanks again!";
-		close;
-	}
-	if(@niflheimlost == 2){
-		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 MISC_QUEST,MISC_QUEST | 256;
-		set @niflheimlost,0;
-		close;
-	}
-	if(@niflheimlost == 1){
-M_YES:
-		set @niflheimlost,1;
-		mes "Please find him and tell him where I am! I saw him last in Niflheim Field, the first one...";
-		close;
-	}
-	mes "Sir, will you please help me?";
-	if(BaseJob==Job_Novice){
-		mes "Oh... you are lost, too...";
-		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.";
+niflheim,224,243,3	script	Alreg#nif	795,{
+	if (nif_piano) set nif_piano,0;
+	mes "[Alreg]";
+	mes "Me like meat, muheh.";
+	mes "You! Look tempting.";
 	next;
-	mes "[Sairin]";
-	mes "Suddenly, I found a doll. I picked it up, and it turned into a ghost!";
+	mes "[Alreg]";
+	mes "Me want to taste you.";
 	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",M_YES, "No",M_NO;
-M_NO:
-	close;
-}
-
-nif_fild01,213,268,5	script	Little Boy	797,{
-	if(MISC_QUEST & 256){
-L_DONE:
-		set @niflheimlost,2;
-		mes "[Marius]";
-		mes "Thank you for helping us!";
-		close;
-	}
-	if(@niflheimlost == 2) goto L_PART2;
-	if(@niflheimlost == 1){
-		mes "[Marius]";
-		mes "Who are you?";
-		mes "...";
-		mes "You found Sairin?";
-		mes "She ran to Niflheim?";
+	mes "^FF3355*Crunch* Crunch*^000000";
+	if (nif_esc == 0 && (MISC_QUEST & 32) == 0) {
+		set piano_root,rand(1,2);
+		percentheal -60,0;
 		next;
-L_PART2:
-		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.";
+		mes "["+ strcharinfo(0) +"]";
+		mes "NooOOoOOoOoO~!";
 		next;
-		menu "Yes",L_DONE, "No",-;
-		close;	
+		mes "[Alreg]";
+		mes "It long time since I had meat";
+		mes "so... so good. You taste";
+		mes "good. Alreg give you this";
+		mes "for payback. Present!";
+		mes "*Burrrp*";
+		set nif_esc,rand(1,2);
+		getitem 7184,1; //Piano_Keyboard
+		close;
 	}
-	mes "[Marius]";
-	mes "Sairin... where are you?";
-	close;
-}
-
-//=============================================================
-//Piano Quest
-//=============================================================
-niflheim,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_piano&1 || (MISC_QUEST & 32)) goto L_end;
-	percentheal -60,0;
+	percentheal -30,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... ";
+	mes "["+ strcharinfo(0) +"]";
+	mes "Ow~! What are you";
+	mes "trying to do, kill me?!";
 	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_piano, nif_piano|1;
+	mes "[Alreg]";
+	mes "Hm? Oh, no no no.";
+	mes "Me am trying to eat you.";
 	close;
-L_end:
-	percentheal -30,0;
- 	close;
 }
 
-nif_in,105,81,3	script	Crayu	794,{
+nif_in,105,81,3	script	Crayu#nif	794,{
 	mes "[Crayu]";
-	mes "Ah, there was this poem...";
-	mes "in which author and time of writing was unknown,";
-	mes "and has been circulating since long ago...";
+	mes "Living one...";
+	mes "Listen to this song...";
+	mes "It's been sung by many for a";
+	mes "long time, but nobody knows";
+	mes "when it was made or who wrote it.";
 	next;
 	mes "[Crayu]";
-	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";
+	mes "^FF00001. Mountain sunset to the west";
+	mes "^FF00002. Where the purple dusk falls ";
+	mes "^FF00003. Surrounded by beautiful melody";
+	mes "^FF00004. You become the key that ignores its master^000000";
 	next;
-	mes "[Crayu]";
-	if(nif_piano&2 || (MISC_QUEST & 32)){
-		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 mysterious secret";
-		mes "hidden within these words...";
-		close;
+	if (nif_esc == 1 || nif_esc == 4) {
+		mes "[Crayu]";
+		mes "Okay, wait! Here's a test for you!";
+		switch(rand(1,4)) {
+		case 1:
+			set .@songline$,"Mountain sunset to the west";
+			mes "Write down the first line of the song.";
+			break;
+		case 2:
+			set .@songline$,"Where the purple dusk falls";
+			mes "Write down the second line of the song.";
+			break;
+		case 3:
+			set .@songline$,"Surrounded by beautiful melody";
+			mes "Write down the third line of the song.";
+			break;
+		case 4:
+			set .@songline$,"You become the key that ignores its master";
+			mes "Write down the fourth line of the song.";
+			break;
+		}
+		next;
+		input .@input$;
+		if (.@input$ == .@songline$) {
+			mes "[Crayu]";
+			mes "Excellent...!";
+			mes "So you've been listening~!";
+			mes "That makes you one of my";
+			mes "favorite guests. Here's a";
+			mes "little reward for you.";
+			next;
+			if (nif_esc == 1) {
+				set nif_esc,3;
+			}
+			else {
+				set nif_esc,6;
+			}
+			getitem 7184,1; //Piano_Keyboard
+			mes "[Crayu]";
+			mes "Lastly, I hope you will show your";
+			mes "respect to other Bards, just as";
+			mes "you have done for me.";
+			close;
+		}
+		else {
+			mes "[Crayu]";
+			mes "*Sigh*... If you had only";
+			mes "listened to me, it would";
+			mes "have been easy to answer.";
+			mes "Try to remember the line";
+			mes "and try again!";
+			close;
+		}
 	}
-	set @nif_random,rand(1,4);
-	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$;
-	switch(@nif_random){
-	case 1:
-		set @str1$,"When the sun sets in the western hills,";
-		break;
-	case 2:
-		set @str1$,"Where points the velvet gloom of dawn,";
-		break;
-	case 3:
-		set @str1$,"The beautiful melody surrounding thy soul,";
-		break;
-	case 4:
-		set @str1$,"Is the key from Lord Death's wrath.";
-		break;
-	}
 	mes "[Crayu]";
-	if(@inputstr1$ == @str1$){
-		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_piano, nif_piano|2;
-		next;
-		mes "[Crayu]";
-		mes "I hope you will treat other poets";
-		mes "as well as you treated me, farewell.";
-		close;
-	}
-	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!";
+	mes "I wonder what the lyrics mean...";
+	mes "They seem quite profound...";
+	mes "I have the feeling that this song";
+	mes "carries some secret.";
 	close;
 }
 
-nif_in,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_piano&4 || (MISC_QUEST & 32)) 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_piano, nif_piano|4;
-	next;
-	mes "[Kurtz]";
-	mes "Why is business so bad lately...";
-	mes "(mumble mumble)";
+nif_in,31,20,3	script	Kuzkahina#nif	794,{
+	if (nif_esc == 2 || nif_esc == 3) {
+		mes "[Kuzkahina]";
+		mes "I don't understand";
+		mes "why I can't make any";
+		mes "money with this store...";
+		mes "Even when I was alive";
+		mes "I could never make any";
+		mes "money with my businesses...";
+		next;
+		mes "[Kuzkahina]";
+		mes "Hey you! Make yourself useful";
+		mes "and throw this away when you leave.";
+		set nif_esc,nif_esc+2;
+		getitem 7184,1; //Piano_Keyboard
+		next;
+		mes "[Kuzkahina]";
+		mes "Gosh, what's with this store?";
+		mes "How did I end up hiring such useless employees...?";
+		mes "*mumble mumble*";
+		mes "*mumble mumble*";
+		close;
+	}
+	mes "[Kuzkahina]";
+	mes "I don't understand";
+	mes "why I can't make any";
+	mes "money with this store...";
+	mes "Even when I was alive";
+	mes "I could never make any";
+	mes "money with my businesses...";
 	close;
 }
 
-niflheim,169,71,5	script	#1	111,2,2,{
-	if(MISC_QUEST & 32 || nif_piano&8) 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_piano, nif_piano|8;
-L_end:
-	close;
+niflheim,208,103,1	script	#Graveyard1	111,1,1,{
+OnTouch:
+	if (nif_esc == 5 || nif_esc == 7 || nif_esc == 8 || nif_esc == 10) {
+		mes "^3355FFYou found something";
+		mes "half-buried near a grave.";
+		mes "It looks very well-shaped.^000000";
+		next;
+		mes "^3355FFWould you like to pick it up?^000000";
+		if (select("Yes:No") == 1) {
+			if (nif_esc < 10) {
+				set nif_esc,nif_esc+2;
+			}
+			else if (nif_esc == 10) {
+				set nif_esc,11;
+			}
+			getitem 7184,1; //Piano_Keyboard
+		}
+		close;
+	}
+	end;
 }
 
-niflheim,208,103,5	script	#2	111,2,2,{
-	if(MISC_QUEST & 32 || nif_piano&32) end;
-	if(nif_piano&16){
-		mes "- In the hole you have dug -";
-		mes "- there is something else -";
-		mes "- buried deep in the ground -";
-		mes "- Looks like its another fragment -";
+niflheim,169,71,1	script	#Graveyard2	111,1,1,{
+OnTouch:
+	if (nif_esc == 6 || nif_esc == 9) {
+		mes "^3355FFYou found something";
+		mes "half-buried near a grave.";
+		mes "It looks very well-shaped.^000000";
 		next;
-		mes "- Pick it up? -";
-		menu "Yes",-,"No",L_end;
-		getitem 7184,1;//Items: Piano Key,
-		set nif_piano, nif_piano|32;
-	L_end:
+		mes "^3355FFWould you like to pick it up?^000000";
+		if (select("Yes:No") == 1) {
+			set nif_esc,nif_esc+2;
+			getitem 7184,1; //Piano_Keyboard
+		}
 		close;
 	}
-	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_piano, nif_piano|16;
-	close;
+	end;
 }
 
-nif_in,115,181,5	script	#4	111,3,3,{
-	mes "- You see a huge old piano -";
-	if((MISC_QUEST & 32)==0) mes "- with a few keys missing  -";
-	if(MISC_QUEST & 32) mes "- with one key missing -";
-	if(MISC_QUEST & 32 || countitem(7184) < 6) close;
-
-	delitem 7184,countitem(7184);//Items: Piano Key,
-	set MISC_QUEST,MISC_QUEST | 32;
-	set nif_piano, 0;
-	mes "- You slide the 6 piano keys one -";
-	mes "- by one into the missing slots  -";
-	mes "- on the piano, but you realize  -";
-	mes "- the left-most side seems to be -";
-	mes "- missing one more key. -";
-	close;
+nif_in,115,181,0	script	#Piano	111,1,1,{
+OnTouch:
+	if (nif_esc == 0 && (MISC_QUEST & 32) == 0) {
+		mes "^3355FFYou see a big, heavy piano.";
+		mes "You get the feeling that";
+		mes "its music would sound magnificient.^000000";
+		next;
+		mes "^3355FFAs you examine the piano,";
+		mes "you find that 7 keys";
+		mes "are missing in the";
+		mes "middle of the keyboard.";
+		mes "If you had all the keys,";
+		mes "you could play music...^000000";
+		close;
+	}
+	if (nif_esc == 11) {
+		set nif_esc,12;
+		delitem 7184,6; //Piano_Keyboard
+		mes "^3355FFYou took the keys you've found";
+		mes "and inserted them into";
+		mes "each empty space.^000000";
+		next;
+		mes "^3355FFBut then you realize";
+		mes "that you're missing the last";
+		mes "key for the space on the far";
+		mes "left of the keyboard...^000000";
+		close;
+	}
+	end;
 }
 
-nif_in,118,151,5	script	#5	111,3,3,{
-	if((MISC_QUEST & 32)==0) 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",179,163;
-	close;
+nif_in,114,181,0	script	#Piano3	111,1,1,{
+OnTouch:
+	if (nif_esc == 12 || nif_esc == 13 || MISC_QUEST & 32) {
+		mes "^3355FFAs you bend towards";
+		mes "the final empty key space";
+		mes "to take a better look at it...^000000";
+		next;
+		soundeffect "complete.wav",0;
+		next;
+		if (nif_esc == 12) {
+			set MISC_QUEST,MISC_QUEST | 32;
+			set nif_piano, 0;
+		}
+		mes "^3355FFYou begin to feel dizzy and";
+		mes "your body feels as if it were";
+		mes "floating in air. Then, your";
+		mes "vision starts to blur...^000000";
+		close2;
+		warp "nif_in",179,163;
+		end;
+	}
+	end;
 }
 
-nif_in,188,168,3	script	Witch	792,{
+nif_in,188,168,3	script	Witch#nif	792,{
 	mes "[Kirkena]";
-	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...";
+	mes "Huh? ...You're alive, aren't you?";
+	mes "I'm not sure how more of you are";
+	mes "able to get here and I don't";
+	mes "know your reasons for coming,";
+	mes "but this place is dangerous for";
+	mes "the living.";
 	next;
 	mes "[Kirkena]";
-	mes "I shall use my powers to send you back";
-	mes "but you should not return in the future.";
+	mes "I am sending you back";
+	mes "outside of this town.";
+	mes "If you can help it, you";
+	mes "better not come back to";
+	mes "this place.";
 	close2;
 	warp "umbala",138,208;
 	end;
 }
+
+//=============================================================
+// Message Delivery Quest
+//=============================================================
+prt_in,161,20,3	script	Erious#nif	92,{
+	if (MISC_QUEST & 16384) {
+		mes "[Erious]";
+		mes "I wish you safety from harm";
+		mes "in your journeys, adventurer.";
+		close;
+	}
+	if (nif_revive == 0) {
+		mes "[Erious]";
+		mes "*Sob*Sob*";
+		mes "*Cries* Wahhh...!";
+		mes "Elly, how could you";
+		mes "leave me this way...";
+		emotion e_sob;
+		next;
+		if (select("Comfort him.:Neglect him.") == 1) {
+			mes "[Erious]";
+			mes "Ah, thank you for your kindness.";
+			mes "*Sob* My wife died while I was on";
+			mes "a trip. I'm so sorry that I";
+			mes "couldn't be with her when";
+			mes "the end came...";
+			next;
+			mes "[Erious]";
+			mes "I wish I could talk to my Elly,";
+			mes "although I know it's too late now.";
+			mes "*Cries* But... there is one last";
+			mes "hope that I have. My absolute";
+			mes "final chance...";
+			next;
+			mes "[Erious]";
+			mes "I was told that somewhere";
+			mes "in this world, there exists a town";
+			mes "where the dead reside. I might be";
+			mes "able to meet my wife there, but";
+			mes "I cannot leave my children here";
+			mes "without me. *Cries*";
+			next;
+			if (select("I can deliver your message to her.:I am so sorry to hear that.") == 1) {
+				mes "[Erious]";
+				mes "Oh, can you?";
+				mes "Thank you so much for your";
+				mes "generosity. If you can do";
+				mes "this for me, I would be";
+				mes "greatly indebted to you.";
+				next;
+				mes "[Erious]";
+				mes "You're an adventurer, aren't you?";
+				mes "If your journeys take you to that";
+				mes "town of the dead, and if you";
+				mes "happen to meet her by chance...";
+				next;
+				mes "[Erious]";
+				mes "Please send Elly a message for me,";
+				mes "let her know that what happened";
+				mes "a month ago was all my fault.";
+				mes "Thank you for your help,";
+				mes "and please take care.";
+				set nif_revive,1;
+				close;
+			}
+			mes "[Erious]";
+			mes "*Cries* Is there no way that I";
+			mes "can see her again? If I could";
+			mes "talk to her at least once more,";
+			mes "even if it's the last time,";
+			mes "I would do anything...";
+			close;
+		}
+		mes "[Erious]";
+		mes "*Cries* Eeeeelllllyyyy~~~~!";
+		mes "I never thought that would be";
+		mes "the last time we would see";
+		mes "each other...";
+		mes "*Sob*...";
+		close;
+	}
+	else if (nif_revive == 1) {
+		mes "[Erious]";
+		mes "This place I was told about...";
+		mes "The town of the dead...";
+		mes "From what I remember, it was";
+		mes "located near some rest area.";
+		next;
+		mes "[Erious]";
+		mes "All day and night, it's filled";
+		mes "with never ending screams of";
+		mes "agony and despair. I hope that";
+		mes "this will be helpful in your search.";
+		close;
+	}
+	else if (nif_revive == 5 || nif_revive == 6) {
+		mes "[Erious]";
+		mes "Oh my! You really found the town,";
+		mes "have you? I really appreciate that";
+		mes "you've endured all this hardship";
+		mes "for me... Um...So in the end...";
+		mes "Were you able to meet my Elly?";
+		next;
+		if (select("Yes.:Sorry, I couldn't.") == 1) {
+			if (nif_revive == 6 && countitem(934) > 0) {
+				mes "[Erious]";
+				mes "Are you serious? What did she say?";
+				mes "Did she say she will forgive me?";
+				next;
+				select("Yes. And she gave me...this.");
+				delitem 934,1; //Mementos
+				mes "[Erious]";
+				mes "Ah...In this box were the gifts";
+				mes "I gave her when we started";
+				mes "seeing each other. She had a";
+				mes "serious illness even before we";
+				mes "met, so I promised her that I";
+				mes "would cure her illness...";
+				next;
+				mes "[Erious]";
+				mes "That's why I went on that trip...";
+				mes "to find a cure or medicine";
+				mes "for her... But my efforts turned";
+				mes "out to be a good for nothing.";
+				mes "...................";
+				mes ".........";
+				next;
+				mes "[Erious]";
+				mes "Anyway, I appreciate your";
+				mes "generousity. I want to pay";
+				mes "you back for all the trouble";
+				mes "I caused you, but I only have";
+				mes "the medicine I found for her";
+				mes "illness during this trip.";
+				next;
+				mes "[Erious]";
+				mes "I hope you will take this medicine";
+				mes "as a token of my gratitute.";
+				next;
+				if (checkweight(610,26)) {
+					set MISC_QUEST,MISC_QUEST | 16384;
+					set nif_revive,0;
+					getitem 607,2; //Yggdrasilberry
+					getitem 608,2; //Seed_Of_Yggdrasil
+					getitem 610,10; //Leaf_Of_Yggdrasil
+					mes "[Erious]";
+					mes "Thank you for everything.";
+					mes "I wish you luck and safety";
+					mes "in your adventures.";
+					close;
+				}
+				mes "[Erious]";
+				mes "I have something to give you,";
+				mes "but you're carrying too much";
+				mes "stuff for me to give it to";
+				mes "right now. Why don't you";
+				mes "store your items somewhere?";
+				close;
+			}
+			else if (nif_revive == 6 && countitem(934) < 1) {
+				mes "[Erious]";
+				mes "Hmm...this is odd. I'm sure she would give you something as a token of meeting her. By any chance, is there anything that you've forgetten to bring me?";
+				close;
+			}
+			mes "[Erious]";
+			mes "I guess you misunderstood";
+			mes "something or you're trying";
+			mes "to scam a man in grief.";
+			close;
+		}
+		if (nif_revive == 5) {
+			mes "[Erious]";
+			mes "I see...you have failed to find";
+			mes "her... However, I also understand";
+			mes "that fulfilling my request may";
+			mes "be impossible...";
+			next;
+			mes "[Erious]";
+			mes "You've really gone out of your way";
+			mes "to help me, so I want to give you";
+			mes "something as a token of my";
+			mes "gratitute.";
+			next;
+			if (checkweight(610,10)) {
+				set MISC_QUEST,MISC_QUEST | 16384;
+				set nif_revive,0;
+				getitem 610,10; //Leaf_Of_Yggdrasil
+				mes "[Erious]";
+				mes "Thank you for everything.";
+				mes "I wish you luck and safety";
+				mes "from harm in your journeys.";
+				close;
+			}
+			mes "[Erious]";
+			mes "I have something to give you,";
+			mes "but you're carrying too much";
+			mes "stuff for me to give it to";
+			mes "right now. Why don't you";
+			mes "store your items somewhere?";
+			close;
+		}
+		mes "[Erious]";
+		mes "I see...";
+		mes "...Wait! Doesn't that belong";
+		mes "to my wife, Elly? Why are you";
+		mes "trying to cheat a grieving man...?";
+		close;
+	}
+	end;
+}
+
+umbala,215,181,3	script	Billik	733,{
+	if (nif_revive > 1 || MISC_QUEST & 16384) {
+		mes "[Billik]";
+		mes "Well, long time no see.";
+		mes "If you have a chance in the";
+		mes "future, let's meet in the";
+		mes "town of the dead later.";
+		mes "Hahahaha~";
+		emotion e_no1;
+		close;
+	}
+	if (nif_revive == 1) {
+		mes "[Billik]";
+		mes "The Town of the dead...";
+		mes "It's a very dangerous place.";
+		mes "Why would you want to go there?";
+		next;
+		if (select("I have to meet somebody there.:It's a part of my adventure.") == 1) {
+			mes "[Billik]";
+			mes "Someone you have to meet there...";
+			mes "Hmm... I suppose you wish to";
+			mes "contact the dead...";
+			mes "I can also see that you're";
+			mes "determined to go.";
+			next;
+			mes "[Billik]";
+			mes "*Sigh* Okay, if you really want to";
+			mes "go, you must find a man named";
+			mes "'Feylin.' It's very important to";
+			mes "let him know that I introduced";
+			mes "him to you.";
+			next;
+			mes "[Billik]";
+			mes "He's not very trusting, but he";
+			mes "likes roses a lot, so bring a rose";
+			mes "for him. That way, he'll know for";
+			mes "sure that I've sent you.";
+			set nif_revive,2;
+			next;
+			mes "[Billik]";
+			mes "The town of the dead is located";
+			mes "north of this place. Remember, it";
+			mes "is very dangerous to go there,";
+			mes "even for well experienced";
+			mes "adventurers, so...";
+			mes "Be careful.";
+			close;
+		}
+		mes "[Billik]";
+		mes "Hahaha~ I guess you like adventure";
+		mes "as much as I do. Although it's a";
+		mes "very dangrous place, you will be";
+		mes "paid back for your effort after";
+		mes "you get there. But be careful.";
+		close;
+	}
+	else if (nif_revive == 0) {
+		mes "[Billik]";
+		mes "What brings you here? I'm busy,";
+		mes "leave if you don't have any business.";
+		close;
+	}
+}
+
+niflheim,153,215,3	script	Feylin	794,{
+	if (nif_revive == 2) {
+		mes "[Feylin]";
+		if (Sex == 1) {
+			mes "Poor guy...";
+		}
+		else {
+			mes "Poor girl...";
+		}
+		mes "Dying at such a young age...";
+		mes "I am always sorry to see the";
+		mes "young pass away.";
+		next;
+		mes "[Feylin]";
+		mes "............??";
+		mes "Oh, I see you're not dead yet,";
+		mes "are you? It's unbelievable to";
+		mes "see another living person";
+		mes "in this town.";
+		next;
+		mes "[Feylin]";
+		mes "Are you coming to rescue someone,";
+		mes "or do you have another purpose?";
+		mes "If you came here to meet a";
+		mes "deceased friend of yours, you've";
+		mes "come to the wrong person.";
+		next;
+		mes "[Feylin]";
+		mes "Nobody in Niffelheim can";
+		mes "perform that kind of miracle...";
+		next;
+		mes "[Feylin]";
+		mes "I can tell you have been through";
+		mes "much hardship, but unfortunately,";
+		mes "you came here for nothing. I hope";
+		mes "you go back to where you came";
+		mes "from before it's too late.";
+		set nif_revive,3;
+		close;
+	}
+	else if (nif_revive == 3) {
+		mes "[Feylin]";
+		mes "I've asked you to leave this";
+		mes "town immediately. I'm sorry";
+		mes "but I know nothing about what";
+		mes "you are asking.";
+		emotion e_an;
+		next;
+		if (select("But...:I am sorry.") == 1) {
+			mes "[Feylin]";
+			mes "You must know something...";
+			mes "Otherwise, you wouldn't be";
+			mes "so stubborn. I am not sure";
+			mes "who told you contacting the";
+			mes "dead might be possible...";
+			next;
+			mes "[Feylin]";
+			mes "But I surely wouldn't have told";
+			mes "you. Besides, speaking about";
+			mes "such things is taboo.";
+			set nif_revive,4;
+			close;
+		}
+		mes "[Feylin]";
+		mes "Please consider leaving this";
+		mes "place as soon as possible.";
+		mes "Nobody should stay in";
+		mes "Niflheim for too long.";
+		close;
+	}
+	else if (nif_revive == 4) {
+		if (countitem(748) > 0) {
+			mes "[Feylin]";
+			mes "Huh, Billik must have sent you.";
+			mes "Since I'm indebted to him, I";
+			mes "suppose I will help you.";
+			mes "But let me warn you.";
+			mes "The price that I demand may be";
+			mes "more that you expect...";
+			next;
+			if (select("I'm willing to do this.:I don't think I can do this.") == 1) {
+				if (BaseLevel > 79 && BaseLevel < 100) {
+					mes "[Feylin]";
+					mes "Alright, but you must promise";
+					mes "me that you will not let other";
+					mes "people know what I am about";
+					mes "to tell you.";
+					next;
+					mes "[Feylin]";
+					mes "This sorcery requires great";
+					mes "sacrifice. Needless to say, there";
+					mes "is a chance that this spell may";
+					mes "fail. I must also have";
+					mes "10 Yggdrasil Leaf to cast this";
+					mes "spell. Do you wish to continue?";
+					next;
+					if (select("Yes:No") == 1) {
+						if (countitem(610) > 9) {
+							mes "[Feylin]";
+							mes "I see. Then we shall begin.";
+							mes "Woombahsokasabahah!";
+							mes "Woombah woombah hoombabah!";
+							mes "Yeeeeep!";
+							next;
+							set .@nif_revive1,rand(1,100);
+							if (.@nif_revive1 > 0) && (.@nif_revive1 < 88) {
+								mes "[Feylin]";
+								mes "...I am sorry.";
+								mes "I have failed to summon";
+								mes "who you wish to see. I am";
+								mes "really sorry for this result.";
+								emotion e_omg;
+								delitem 748,1; //Witherless_Rose
+								delitem 610,10; //Leaf_Of_Yggdrasil
+								set nif_revive,5;
+								percentheal -99,0;
+								next;
+								mes "[Feylin]";
+								mes "Unfortunately, it may be";
+								mes "impossible to summon the";
+								mes "spirit of the person with";
+								mes "whom you wished to speak...";
+								close;
+							}
+							else if (.@nif_revive1 > 87) && (.@nif_revive1 < 101) {
+								delitem 748,1; //Witherless_Rose
+								delitem 610,10; //Leaf_Of_Yggdrasil
+								percentheal -50,0;
+								mes "[Feylin]";
+								mes "..........";
+								mes "..........";
+								next;
+								mes "[Elly]";
+								mes "..........";
+								mes ".....Umm...";
+								mes "...Wasn't I just dead?";
+								mes "Um, do I know you?";
+								next;
+								select("I brought a message from your husband.");
+								mes "[Elly]";
+								mes "Oh...I see...I'm sorry that I could not meet him before I died...";
+								mes "So what is his message for me?";
+								next;
+								select("Forgive him for what happened a month ago.");
+								mes "[Elly]";
+								mes "*Sigh* He's such a nice husband...";
+								mes "He pays such attention, even to";
+								mes "the little things. Though, I";
+								mes "should be the one apologizing";
+								mes "to him...";
+								next;
+								mes "[Elly]";
+								mes "Please give him this box, and tell";
+								mes "him to forget about me. He should";
+								mes "live the rest of his life happily";
+								mes "with someone else. Oh, also let";
+								mes "him know that I forgive him.";
+								set nif_revive,6;
+								getitem 934,1; //Mementos
+								next;
+								mes "[Elly]";
+								mes "I am glad to hear from my";
+								mes "husband one more time. But I";
+								mes "think I have to go now.";
+								mes "Thank you for your trouble.";
+								mes "Farewell...";
+								next;
+								mes "[Elly]";
+								mes ".....................";
+								mes "....................";
+								next;
+								mes "[Feylin]";
+								mes "I guess you have accomplished what";
+								mes "you wanted. Well then, be careful";
+								mes "when you go back...";
+								close;
+							}
+						}
+						else {
+							mes "[Feylin]";
+							mes "If you don't have the";
+							mes "items, we cannot proceed.";
+							mes "Remember, I need 10 Yggdrasil";
+							mes "Leaves to perform this spell.";
+							mes "Please bring them as soon";
+							mes "as possible.";
+							close;
+						}
+					}
+					mes "[Feylin]";
+					mes "I hope you will bring the items";
+					mes "first. But... I don't have the";
+					mes "confidence to promise that";
+					mes "this spell will cast successfully.";
+					close;
+				}
+				mes "[Feylin]";
+				mes "Hmm... You don't seem to have";
+				mes "the strength to endure the";
+				mes "casting of this spell. At";
+				mes "your current strength, this";
+				mes "spell will kill you.";
+				mes "I cannot take that risk.";
+				close;
+			}
+			mes "[Feylin]";
+			mes "You made a good decision.";
+			mes "It's not a good idea to perform";
+			mes "this kind of sorcery in the";
+			mes "first place because of the";
+			mes "risks involved...";
+			close;
+		}
+		mes "[Feylin]";
+		mes "No matter how many times you ask";
+		mes "me, I cannot help you. Please";
+		mes "leave this place as soon as you can.";
+		close;
+	}
+	mes "[Feylin]";
+	mes "What makes you to come to such";
+	mes "a dangerous town? Please leave";
+	mes "this place as soon as you can.";
+	close;
+}

+ 2 - 0
npc/scripts_custom.conf

@@ -126,6 +126,8 @@
 //npc: npc/custom/quests/kiel_quest.txt
 // Custom Bongun Accessory/Bongun taming item quest
 //npc: npc/custom/quests/bongunsword.txt
+// Custom Baphomet Jr. Taming item quest.
+//npc: npc/custom/quests/bookofthedevil.txt
 //A custom event for 3 holidays: X-Mas, Karachun and New Year
 //Should be activated between 8 December and 8 January
 //npc: npc/custom/events/xmas_rings_event.txt