summaryrefslogtreecommitdiff
path: root/npc
diff options
context:
space:
mode:
authorL0ne_W0lf <L0ne_W0lf@54d463be-8e91-2dee-dedb-b68131a5f0ec>2008-04-04 04:28:25 +0000
committerL0ne_W0lf <L0ne_W0lf@54d463be-8e91-2dee-dedb-b68131a5f0ec>2008-04-04 04:28:25 +0000
commit44256c0db4fb625cef5f08a5530cfae74158cb85 (patch)
tree2d90e0f8a60700d0ef261e134cf1da37ca2b428e /npc
parentc2558f9411857d112cd0dce3f6d7dd920a38e432 (diff)
downloadhercules-44256c0db4fb625cef5f08a5530cfae74158cb85.tar.gz
hercules-44256c0db4fb625cef5f08a5530cfae74158cb85.tar.bz2
hercules-44256c0db4fb625cef5f08a5530cfae74158cb85.tar.xz
hercules-44256c0db4fb625cef5f08a5530cfae74158cb85.zip
Updated NIflheim Town and Quest NPCs
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@12472 54d463be-8e91-2dee-dedb-b68131a5f0ec
Diffstat (limited to 'npc')
-rw-r--r--npc/Changelog.txt1
-rw-r--r--npc/cities/niflheim.txt455
-rw-r--r--npc/custom/quests/bookofthedevil.txt92
-rw-r--r--npc/quests/quests_niflheim.txt975
-rw-r--r--npc/scripts_custom.conf2
5 files changed, 1125 insertions, 400 deletions
diff --git a/npc/Changelog.txt b/npc/Changelog.txt
index 82ff46365..c8345069c 100644
--- a/npc/Changelog.txt
+++ b/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
diff --git a/npc/cities/niflheim.txt b/npc/cities/niflheim.txt
index 57c202ac9..9b6d52203 100644
--- a/npc/cities/niflheim.txt
+++ b/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;
}
diff --git a/npc/custom/quests/bookofthedevil.txt b/npc/custom/quests/bookofthedevil.txt
new file mode 100644
index 000000000..0c601dfd2
--- /dev/null
+++ b/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;
+}
diff --git a/npc/quests/quests_niflheim.txt b/npc/quests/quests_niflheim.txt
index 147349421..de68c8db1 100644
--- a/npc/quests/quests_niflheim.txt
+++ b/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;
+}
diff --git a/npc/scripts_custom.conf b/npc/scripts_custom.conf
index 226724032..9e196459e 100644
--- a/npc/scripts_custom.conf
+++ b/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