
git-svn-id: https://svn.code.sf.net/p/rathena/svn/athena@277 54d463be-8e91-2dee-dedb-b68131a5f0ec
559 lines
15 KiB
Plaintext
559 lines
15 KiB
Plaintext
//===== eAthena Script =======================================
|
|
//= Niflheim Script
|
|
//===== By: ==================================================
|
|
//= Fyrien, Dizzy, PKGINGO
|
|
//= Official NPCs translated and re-edited by Celest
|
|
//===== Current Version: =====================================
|
|
//= 1.06
|
|
//===== Compatible With: =====================================
|
|
//= Any eAthena Version; Niflheim Required
|
|
//===== Description: =========================================
|
|
//= Official NPC's for Niflheim
|
|
//= 1.01 Splitted file(guides, shops). Fixed rand() bugs,
|
|
//= missing labels bugs, optimization [Lupus]
|
|
//= 1.03 fixed end; -> close;
|
|
//= 1.04-1.05 fixed several bugs with missing CLOSE button, wrong var name
|
|
//= in Piano Keys quest
|
|
//= fixed zeny/item, exploit in Sairin, some optimizations [Lupus]
|
|
//= 1.06 some typos in some variables fixed (thx 2 Dr.Evil) [Lupus]
|
|
//=
|
|
//= TODO: remove any save points from Niflheim (from Kafra)
|
|
//= remove or commetn Warpers (they make Niflheim Piano Quest meaningless)
|
|
//============================================================
|
|
|
|
prontera.gat,164,161,4 script Traveler::NifTrav 68,{
|
|
mes "[Traveler]";
|
|
mes "I've come across some strange things in my time. Things you'd have to see to belive. Have you heard of Niffleheim, the City of the Dead?";
|
|
next;
|
|
menu "Show me, please...",M_show, "Sounds scarey...Nevermind...",-;
|
|
|
|
mes "[Traveler]";
|
|
mes "A wise choice by any means...";
|
|
close;
|
|
M_show:
|
|
warp "niflheim.gat",202,171;
|
|
close;
|
|
}
|
|
- script EDNifTrav -1,{
|
|
OnInit:
|
|
OnMinute00:
|
|
disablenpc "NifTrav";
|
|
end;
|
|
OnMinute56:
|
|
enablenpc "NifTrav";
|
|
end;
|
|
}
|
|
|
|
niflheim.gat,52,174,3 script Kirz 796,{
|
|
mes "[Kirz]";
|
|
mes "Humans are not allowed here!";
|
|
mes "Living things-! are not";
|
|
mes "allowed to pass!";
|
|
close;
|
|
}
|
|
|
|
niflheim.gat,213,221,0 script Spirit::spirits 802,{
|
|
mes "[Spirit]";
|
|
mes "Welcome to my world...";
|
|
mes "This land we call....";
|
|
mes "Niflheim....";
|
|
percentheal -85,-85;
|
|
close;
|
|
}
|
|
|
|
niflheim.gat,39,146,0 duplicate(spirits) Spirit#2 802
|
|
niflheim.gat,95,61,0 duplicate(spirits) Spirit#3 802
|
|
niflheim.gat,313,187,0 duplicate(spirits) Spirit#4 802
|
|
niflheim.gat,212,264,0 duplicate(spirits) Spirit#5 802
|
|
niflheim.gat,247,72,0 duplicate(spirits) Spirit#6 802
|
|
niflheim.gat,130,176,0 duplicate(spirits) Spirit#7 802
|
|
niflheim.gat,173,110,0 duplicate(spirits) Spirit#8 802
|
|
niflheim.gat,182,167,0 duplicate(spirits) Spirit#9 802
|
|
|
|
niflheim.gat,184,199,5 script Little Girl 793,{
|
|
mes "[Sairin]";
|
|
if(niflheimlost2 == 1) goto L_thanks;
|
|
if(niflheimlost == 1) goto L_foundhim;
|
|
if(lostgirl == 1) goto L_sure2;
|
|
mes "Sir, will you please help me?";
|
|
if(Class==Job_Novice) mes "Oh... you are lost, too..."; //Exploit fix
|
|
if(Class==Job_Novice) close;
|
|
next;
|
|
menu "Yes",-, "No",M_no;
|
|
|
|
mes "[Sairin]";
|
|
mes "My friend and I went for a hike and ended up wandering into a strange field.";
|
|
next;
|
|
mes "[Sairin]";
|
|
mes "Suddenly, I found a doll. I picked it up, and it turned into a ghost!";
|
|
next;
|
|
mes "[Sairin]";
|
|
mes "I screamed and ran as fast as I could. When I stopped running, I ended up in this strange town..";
|
|
next;
|
|
mes "[Sairin]";
|
|
mes "No one here will help me, and there are ghosts everywhere! Could you help me find my friend?";
|
|
next;
|
|
menu "Sure",-, "No",M_no;
|
|
L_sure2:
|
|
set lostgirl,1;
|
|
mes "Please find him and tell him where I am! I saw him last in Niflheim Field, the first one...";
|
|
close;
|
|
|
|
L_foundhim:
|
|
mes "You found him?";
|
|
mes "Oh thank you!";
|
|
mes "Please, take this as a token of my appreciation.";
|
|
getitem 642,1;//Items: Book of Devil,
|
|
set niflheimlost2,1;
|
|
close;
|
|
L_thanks:
|
|
mes "Thanks again!";
|
|
M_no:
|
|
close;
|
|
}
|
|
|
|
nif_fild01.gat,213,268,5 script Little Boy 797,{
|
|
mes "[Marius]";
|
|
if(niflheimlost == 1) goto L_alreadydone;
|
|
if(lostgirl == 1) goto L_sure2;
|
|
mes "Sairin...where are you?";
|
|
close;
|
|
L_alreadydone:
|
|
mes "Thank you for helping us!";
|
|
close;
|
|
L_sure2:
|
|
mes "Who are you?";
|
|
mes "...";
|
|
mes "You found Sairin?";
|
|
mes "She ran to Niflheim?";
|
|
next;
|
|
set niflheimlost,1;
|
|
mes "[Marius]";
|
|
mes "Could you tell her that I am on my way?";
|
|
mes "I am a little slow, and its very important that she knows.";
|
|
menu "Yes",L_alreadydone, "No",-;
|
|
|
|
close;
|
|
}
|
|
|
|
niflheim.gat,195,211,5 script Gigantia 796,{
|
|
mes "[Gigantia]";
|
|
mes "The Lord of Death always sees everything...";
|
|
close;
|
|
}
|
|
|
|
niflheim.gat,153,215,3 script Feline 794,{
|
|
mes "[Feline]";
|
|
mes "Why are you in this dangerous village?";
|
|
mes "Better go back fast...";
|
|
close;
|
|
}
|
|
|
|
nif_in.gat,16,27,1 script Dead Cock 800,{
|
|
mes "[Dead Cock]";
|
|
mes "I was eaten by humans when alive,";
|
|
mes "now it's my turn to eat you! Gugugugu~";
|
|
mes "Aaah, i can't believe there's such a world after death, gugugu";
|
|
percentheal -5,0;
|
|
close;
|
|
}
|
|
|
|
nif_in.gat,16,30,4 script Vampire Bat 799,{
|
|
mes "[Vampire Bat]";
|
|
mes "Alive or dead, human blood";
|
|
mes "is always the tastiest!";
|
|
mes "What? You want your blood";
|
|
mes "to be sucked by me? Nice nice-!";
|
|
percentheal -5,0;
|
|
close;
|
|
}
|
|
|
|
nif_in.gat,156,93,5 script Child 793,{
|
|
mes "[Anne]";
|
|
mes "Where, is this place? I just woke up";
|
|
mes "and found myself here... mommy...";
|
|
mes "have you seen my mommy, hmm? ... sob...";
|
|
mes "I want to go home...";
|
|
next;
|
|
menu "About the witch...",L_Wizzard,"About the curse...",L_Curse,"Stop conversation",L_end;
|
|
|
|
L_Wizzard:
|
|
mes "[Anne]";
|
|
mes "A witch? I don't know any witches...";
|
|
mes "although i read about them in storybooks,";
|
|
mes "but i don't know if they're real or not,";
|
|
mes "must be really scary if she is real...";
|
|
next;
|
|
mes "[Anne]";
|
|
mes "But why is it so cold?";
|
|
if (sex == 1) mes "Aren't you cold, brother? Wierd... Hu~";
|
|
if (sex == 0) mes "Aren't you cold, sister? Wierd... Hu~";
|
|
mes "I miss my warm home,";
|
|
mes "Can you help me please? Hmmm? Hmmm?";
|
|
close;
|
|
|
|
L_Curse:
|
|
mes "[Anne]";
|
|
mes "Curse... My grandma told me";
|
|
mes "she has a way to avoid any curse";
|
|
mes "unlifteable by holy blessings...";
|
|
next;
|
|
mes "[Anne]";
|
|
mes "Klaatu...";
|
|
mes "Verata.....";
|
|
mes "And... something... something... what was it?";
|
|
mes "I can't remember the last one.";
|
|
next;
|
|
mes "[Anne]";
|
|
mes "She said if you can pronounce these magic words";
|
|
mes "to escape a cursed fate.";
|
|
mes "Now i can't remember what she said was important...";
|
|
mes "looks like i forgot them too.";
|
|
close;
|
|
|
|
L_end:
|
|
mes "[Anne]";
|
|
mes "So cold... so cold... i wish i could";
|
|
mes "go home... if you can please take me with you...";
|
|
mes "it's too scary here...";
|
|
mes "please.... help me....";
|
|
close;
|
|
}
|
|
|
|
niflheim.gat,350,258,5 script Cursed Soul 802,{
|
|
killmonster "niflheim.gat","mymob";
|
|
mes "[Aesop Bruce]";
|
|
mes "I feel a strong curse on youaaaahhhhh";
|
|
mes "I shall deny your existanceahhhhhhh";
|
|
mes "Turn back or you will dieeeaaaahhhh";
|
|
mes "Don't touch my boookkssaaaahhhh";
|
|
next;
|
|
menu "Pick up 1st book",L_book1,"Pick up 2nd book",L_book2,"Pick up 3rd book",L_book3,"Leave silently",L_back;
|
|
|
|
L_book1:
|
|
mes "[Aesop]";
|
|
mes "Don't you touch my bookssssahhh!!";
|
|
mes "Ahahaha, i curse you for being bitten, torn and clawed at!!";
|
|
mes "Forever binded to this curse!!";
|
|
monster "niflheim.gat",350,258,"Rideword",1478,1,"mymob";
|
|
close;
|
|
|
|
L_book2:
|
|
mes "[Aesop Bruce]";
|
|
mes "I said don't touch my booksssahhh...";
|
|
mes "Get lost....";
|
|
mes "Don't disrupt my restingggaaahh!!";
|
|
warp "niflheim.gat",34,162;
|
|
close;
|
|
|
|
L_book3:
|
|
set nif_t,0;
|
|
set @nif_random1,rand(1,10);
|
|
mes "[Aesop Bruce]";
|
|
mes "Ahahaha.... i see you are brave!!";
|
|
mes "Start reading your prayersahahahah!!";
|
|
next;
|
|
L_MENU1:
|
|
menu "Clover.",L_MENU1_1,"Klaatu.",L_MENU1_2,"Kleitos.",L_MENU1_3;
|
|
|
|
L_MENU1_1:
|
|
goto L_MENU2;
|
|
|
|
L_MENU1_2:
|
|
set nif_t,nif_t + 10;
|
|
goto L_MENU2;
|
|
|
|
L_MENU1_3:
|
|
goto L_MENU2;
|
|
|
|
L_MENU2:
|
|
menu "Verit.",L_MENU2_1,"Veritas.",L_MENU2_2,"Verata.",L_MENU2_3;
|
|
|
|
L_MENU2_1:
|
|
goto L_MENU3;
|
|
|
|
L_MENU2_2:
|
|
goto L_MENU3;
|
|
|
|
L_MENU2_3:
|
|
set nif_t,nif_t + 10;
|
|
goto L_MENU3;
|
|
|
|
L_MENU3:
|
|
menu "Necktie.",L_MENU3_1,"Necklace.",L_MENU3_2,"Nero.",L_MENU3_3,"^FFFFFFNictu.^000000",L_MENU3_4;
|
|
|
|
L_MENU3_1:
|
|
goto L_score;
|
|
|
|
L_MENU3_2:
|
|
goto L_score;
|
|
|
|
L_MENU3_3:
|
|
goto L_score;
|
|
|
|
L_MENU3_4:
|
|
set nif_t,nif_t + 10;
|
|
goto L_score;
|
|
|
|
|
|
L_score:
|
|
if (nif_t == 30) goto L_sucess1;
|
|
mes "[Aesop Bruce]";
|
|
mes "Hahahaha!! Your prayers were wrong!!";
|
|
mes "Time to face deathohohohoho,";
|
|
mes "May you be cured forevahahahaha!!";
|
|
monster "niflheim.gat",349,256,"Orc Skeleton",1462,1,"mymob";
|
|
monster "niflheim.gat",347,258,"Orc Skeleton",1462,1,"mymob";
|
|
monster "niflheim.gat",347,254,"Orc Skeleton",1462,1,"mymob";
|
|
monster "niflheim.gat",350,252,"Orc Skeleton",1462,1,"mymob";
|
|
monster "niflheim.gat",344,255,"Orc Skeleton",1462,1,"mymob";
|
|
monster "niflheim.gat",348,252,"Orc Skeleton",1462,1,"mymob";
|
|
monster "niflheim.gat",347,259,"Orc Skeleton",1462,1,"mymob";
|
|
close;
|
|
|
|
L_sucess1:
|
|
if (@nif_random1 == 10) goto L_sucess2;
|
|
mes "[Aesop Bruce]";
|
|
mes "Your prayers were correctaaahhhh...";
|
|
mes "but your curse still remainsaaahhhh!!";
|
|
mes "Haahahahaha.....!!!";
|
|
close;
|
|
|
|
L_sucess2:
|
|
mes "[Aesop Bruce]";
|
|
mes "Hahahaha!! Your curse has been lifted!!";
|
|
mes "Gahahahaha.....!!!";
|
|
close;
|
|
|
|
L_back:
|
|
mes "[Aesop Bruce]";
|
|
mes "Ahahahaha! Not bad thinking at alllhhhaahaaa...";
|
|
mes "I shall pray that you live to returnahhhh....";
|
|
close;
|
|
}
|
|
|
|
niflheim.gat,224,243,3 script Alager 795,{
|
|
mes "[Alager]";
|
|
mes "Muahaha, i love to eat meat...";
|
|
mes "You look... delicious!";
|
|
next;
|
|
mes "[Alager]";
|
|
mes "I'm going to eat you...";
|
|
next;
|
|
mes "-Chomp bite slurp-";
|
|
if (nif_quest1 == 1 || nif_q_done == 1) goto L_end;
|
|
percentheal -60,0;
|
|
next;
|
|
mes "[Alager]";
|
|
mes "Ahhh, it's been some time since i had such delicious meat!";
|
|
// 50% made up, not the slightest idea how to translate these ^^;
|
|
mes "as an ex-barbeque chef, my favourite meat";
|
|
mes "would be like preparing beef fillet,";
|
|
mes "crossed and grilled to perfection";
|
|
mes "that would be really delicious... ";
|
|
next;
|
|
mes "[Alager]";
|
|
mes "Ah, let me thank you with this,";
|
|
mes "I found it on the ground, hoho~";
|
|
getitem 7184,1;//Items: Piano Key,
|
|
set nif_quest1, 1;
|
|
close;
|
|
L_end:
|
|
percentheal -30,0;
|
|
close;
|
|
}
|
|
|
|
nif_in.gat,105,81,3 script Grey 794,{
|
|
mes "[Grey]";
|
|
mes "Ah, there was this poem...";
|
|
mes "in which author and time of writing was unknown,";
|
|
mes "and has been circulating since long ago...";
|
|
next;
|
|
mes "[Grey]";
|
|
mes "^FF0000When the sun sets in the western hills,^000000";
|
|
mes "^FF0000Where points the velvet gloom of dawn,^000000";
|
|
mes "^FF0000The beautiful melody surrounding thy soul,^000000";
|
|
mes "^FF0000Is the key from Lord Death's wrath.^000000";
|
|
next;
|
|
if (nif_quest2 == 1 || nif_q_done == 1) goto L_end;
|
|
set @nif_random,rand(1,4);
|
|
mes "[Grey]";
|
|
mes "Heh, let me give you a little exam!";
|
|
mes "Repeat line no. " + @nif_random + " of the poem";
|
|
mes "that you have just heard to me!";
|
|
next;
|
|
input @inputstr1$;
|
|
if (@nif_random == 2) goto L_RAN_2;
|
|
if (@nif_random == 3) goto L_RAN_3;
|
|
if (@nif_random == 4) goto L_RAN_4;
|
|
//if (@nif_random == 1) goto L_RAN_1;
|
|
L_RAN_1:
|
|
set @str1$,"When the sun sets in the western hills,";
|
|
goto L_RAN_B;
|
|
|
|
L_RAN_2:
|
|
set @str1$,"Where points the velvet gloom of dawn,";
|
|
goto L_RAN_B;
|
|
|
|
L_RAN_3:
|
|
set @str1$,"The beautiful melody surrounding thy soul,";
|
|
goto L_RAN_B;
|
|
|
|
L_RAN_4:
|
|
set @str1$,"Is the key from Lord Death's wrath.";
|
|
goto L_RAN_B;
|
|
|
|
L_RAN_B:
|
|
if (@inputstr1$ == @str1$) goto L_RAN_SC;
|
|
mes "[Grey]";
|
|
mes "Aih... If you had paid more attention,";
|
|
mes "you would have known the correct answer!";
|
|
mes "Come back for the challenge again,";
|
|
mes "when you have thought over it!";
|
|
close;
|
|
|
|
L_RAN_SC:
|
|
mes "[Grey]";
|
|
mes "Hoho... I see you have paid attention!";
|
|
mes "I am Grey, a wandering poet of yore,";
|
|
mes "you are the best audience i have had so far,";
|
|
mes "here, take this as a reward.";
|
|
getitem 7184,1;//Items: Piano Key,
|
|
set nif_quest2, 1;
|
|
next;
|
|
mes "[Grey]";
|
|
mes "I hope you will treat other poets";
|
|
mes "as well as you treated me, farewell.";
|
|
close;
|
|
|
|
L_end:
|
|
mes "[Grey]";
|
|
mes "I wonder what does it mean...";
|
|
mes "If you read it carefully,";
|
|
mes "it seems to have a deep meaning,";
|
|
mes "as if there is a myterious secret";
|
|
mes "hidden within these words...";
|
|
close;
|
|
}
|
|
|
|
nif_in.gat,31,20,3 script Kurtz 794,{
|
|
mes "[Kurtz]";
|
|
mes "Business nowadays is really bad...";
|
|
mes "Back when i used to be alive,";
|
|
mes "my business was this bad too~!";
|
|
if (nif_quest3 == 1 || nif_q_done == 1) close;
|
|
next;
|
|
mes "[Kurtz]";
|
|
mes "Hey! You there! Dump this for me";
|
|
mes "on the way out will you!";
|
|
getitem 7184,1;//Items: Piano Key,
|
|
set nif_quest3, 1;
|
|
next;
|
|
mes "[Kurtz]";
|
|
mes "Why is business so bad lately...";
|
|
mes "(mumble mumble)";
|
|
close;
|
|
}
|
|
|
|
niflheim.gat,169,71,5 script #1 111,2,2{
|
|
if (nif_q_done == 1) end;
|
|
if (nif_quest4 == 1) end;
|
|
|
|
mes "- In the nearby tombs -";
|
|
mes "- you see something -";
|
|
mes "- half buried in the ground -";
|
|
mes "- What is it? -";
|
|
mes "- Looks like it broke off something -";
|
|
next;
|
|
mes "- Pick it up? -";
|
|
menu "Yes",-,"No",L_end;
|
|
getitem 7184,1;//Items: Piano Key,
|
|
set nif_quest4, 1;
|
|
L_end:
|
|
close;
|
|
}
|
|
|
|
niflheim.gat,208,103,5 script #2 111,2,2{
|
|
if (nif_q_done == 1) end;
|
|
if (nif_quest5 == 1) goto L_key2;
|
|
if (nif_quest5 >= 2) end;
|
|
|
|
mes "- In the nearby tombs -";
|
|
mes "- you see something -";
|
|
mes "- half buried in the ground -";
|
|
mes "- What is it? -";
|
|
mes "- Looks like it broke off something -";
|
|
next;
|
|
mes "- Pick it up? -";
|
|
menu "Yes",-,"No",L_end;
|
|
getitem 7184,1;//Items: Piano Key,
|
|
set nif_quest5, 1;
|
|
close;
|
|
L_key2:
|
|
mes "- In the hole you have dug -";
|
|
mes "- there is something else -";
|
|
mes "- buried deep in the ground -";
|
|
mes "- Looks like its another fragment -";
|
|
next;
|
|
mes "- Pick it up? -";
|
|
menu "Yes",-,"No",L_end;
|
|
getitem 7184,1;//Items: Piano Key,
|
|
set nif_quest5, 2;
|
|
L_end:
|
|
close;
|
|
}
|
|
|
|
nif_in.gat,115,181,5 script #4 111,3,3{
|
|
mes "- You see a huge old piano -";
|
|
if (nif_q_done==0) mes "- with a few keys missing -";
|
|
if (nif_q_done==1) mes "- with one key missing -";
|
|
if (nif_q_done==0 && countitem(7184) > 5) goto L_event;//Items: Piano Key,
|
|
close;
|
|
|
|
L_event:
|
|
delitem 7184,6;//Items: Piano Key,
|
|
set nif_q_done, 1;
|
|
//clear auxiliary vars now
|
|
set nif_quest1, 0;
|
|
set nif_quest2, 0;
|
|
set nif_quest3, 0;
|
|
set nif_quest4, 0;
|
|
set nif_quest5, 0;
|
|
set nif_random,0; //clear garbage from the previous version of the script
|
|
set nif_random1,0; //clear garbage
|
|
mes "- You slide the 6 piano keys one -";
|
|
mes "- by one into the missing slots -";
|
|
mes "- on the piano, but you realise -";
|
|
mes "- the left-most side seems to be -";
|
|
mes "- missing one more key. -";
|
|
close;
|
|
}
|
|
|
|
nif_in.gat,118,151,5 script #5 111,3,3{
|
|
if (nif_q_done != 1) end;
|
|
|
|
mes "- The very moment the long shadow -";
|
|
mes "- of your body falls on the piano -";
|
|
next;
|
|
mes "- You suddenly seem to feel lighter -";
|
|
mes "- and your vision starts to blur... -";
|
|
next;
|
|
warp "nif_in.gat",179,163;
|
|
close;
|
|
}
|
|
|
|
nif_in.gat,188,168,3 script Witch 792,{
|
|
mes "[Kilgana]";
|
|
mes "Hmm?... Aren't you a living human?";
|
|
mes "Must have took you some effort";
|
|
mes "to get to this place...";
|
|
mes "Whatever reason though, this is not a place";
|
|
mes "the living shall belong...";
|
|
next;
|
|
mes "[Kilgana]";
|
|
mes "I shall use my powers to send you back";
|
|
mes "but you should not return in the future.";
|
|
warp "umbala.gat",138,208;
|
|
close;
|
|
}
|