12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361136213631364136513661367136813691370137113721373137413751376137713781379138013811382138313841385138613871388138913901391139213931394139513961397139813991400140114021403140414051406140714081409141014111412141314141415141614171418141914201421142214231424142514261427142814291430143114321433143414351436143714381439144014411442144314441445144614471448144914501451145214531454145514561457145814591460146114621463146414651466146714681469147014711472147314741475147614771478147914801481148214831484148514861487148814891490149114921493149414951496149714981499150015011502150315041505150615071508150915101511151215131514151515161517151815191520152115221523152415251526152715281529153015311532153315341535153615371538153915401541154215431544154515461547154815491550155115521553155415551556155715581559156015611562156315641565156615671568156915701571157215731574157515761577157815791580158115821583158415851586158715881589159015911592159315941595159615971598159916001601160216031604160516061607160816091610161116121613161416151616161716181619162016211622162316241625162616271628162916301631163216331634163516361637163816391640164116421643164416451646164716481649165016511652165316541655165616571658165916601661166216631664166516661667166816691670167116721673167416751676167716781679168016811682168316841685168616871688168916901691169216931694169516961697169816991700170117021703170417051706170717081709171017111712171317141715171617171718171917201721172217231724172517261727172817291730173117321733173417351736173717381739174017411742174317441745174617471748174917501751175217531754175517561757175817591760176117621763176417651766176717681769177017711772177317741775177617771778177917801781178217831784178517861787178817891790179117921793 |
- //===== rAthena Script =======================================
- //= Nightmare Biolab NPCs
- //===== Description: =========================================
- //= [Walkthrough Conversion]
- //= Nightmare Biolab exchange NPCs
- //===== Changelogs: ==========================================
- //= 1.0 First version. [Capuche]
- //============================================================
- // Item Functions
- //============================================================
- function script F_Pieces_Of_Sentiment { // 22687
- specialeffect2 EF_HIT4;
- .@r = rand(6);
- if (.@r == 0)
- warp "lhz_dun_n",40,212;
- else if (.@r == 1)
- warp "lhz_dun_n",87,84;
- else if (.@r == 2)
- warp "lhz_dun_n",140,89;
- else if (.@r == 3)
- warp "lhz_dun_n",162,252;
- else if (.@r == 4)
- warp "lhz_dun_n",201,101;
- else
- warp "lhz_dun_n",230,138;
- delitem 22687,1;
- return;
- }
- function script F_Cursed_Crystal { // 23080
- // custom rates
- .@r = rand(500);
- if (.@r < 10) getitem 23016,100;// Cursed_Fragment
- else if (.@r < 352) getitem 23016,200;// Cursed_Fragment
- else if (.@r < 469) getitem 23016,300;// Cursed_Fragment
- else if (.@r < 498) getitem 23016,400;// Cursed_Fragment
- else getitem 23016,500;// Cursed_Fragment
- return;
- }
- function script F_Cursed_Fragment { // 23016
- // custom rates
- .@r = rand(981);
- if (.@r < 166) {
- if (rand(2) == 0)
- showscript "Please... stay with me...";
- else
- showscript "Stay... here with me...";
- sleep2 200;
- warp "Random",0,0;
- }
- else if (.@r < 231) {
- showscript "It's so cold in here...";
- sc_start SC_FREEZE,8000,0;
- }
- else if (.@r < 304) {
- showscript "I'm sorry... I will leave now... thank you...";
- getitem 6820,1;// Energy_Fragment
- }
- else if (.@r < 317)
- sc_start SC_CONFUSION,3000,0;
- else if (.@r < 328) {
- showscript "Somebody please help me...";
- sc_start SC_CURSE,3000,0;
- }
- else if (.@r < 408) {
- showscript "Dear Odin...";
- sc_start SC_ASSUMPTIO,100000,5;
- specialeffect2 EF_ASSUMPTIO;
- }
- else if (.@r < 496) {
- showscript "I will never forgive you...!";
- sc_start SC_ATKPOTION,600000,10;
- sc_start SC_MATKPOTION,600000,10;
- }
- else {
- .@rand = rand(5);
- if (.@rand == 0)
- showscript "Wake up!";
- else if (.@rand == 1)
- showscript "Stop it... It hurts...";
- else if (.@rand == 2)
- showscript "I'm so scared... scared...";
- else if (.@rand == 3)
- showscript "You shouldn't have come here...";
- else
- showscript "Hello... Is anyone there... ?";
- }
- return;
- }
- // Nightmare Biolab Entrances
- lighthalzen,321,218,4 script Ohno Tohiro#1 4_M_RASWORD,{
- disable_items;
- mes "[Ohno Tohiro]";
- mes "I was asked to collect some kind of research charts...";
- next;
- mes "[Ohno Tohiro]";
- mes "Uh...? I didn't realize someone is here already...";
- mes "hmm... hmm...";
- mes "Is there something you want from me?";
- while(true) {
- next;
- switch( select( "End the conversation.", "Ask him about the tomb of honor.", "Return to the tomb of honor.", "Say that Zeny is not enough." ) ) {
- case 1:
- mes "[Ohno Tohiro]";
- mes "There are many adventurers looking for this crevice, except for you!";
- mes "If you change your mind, come back to me again!";
- close;
- case 2:
- mes "[Ohno Tohiro]";
- mes "You also heard about the crevice that leads to that place, right?";
- mes "There are many adventurers like you these days!";
- next;
- mes "[Ohno Tohiro]";
- mes "I entered this crevice for the first time and guess what? It led to a place where there are so many monsters swarming around.";
- next;
- mes "[Ohno Tohiro]";
- mes "I gave a heads up to one adventurer I know. Then, he showed a high interest in it!";
- mes "He kept muttering to himself about biomedical research, labs something like that.";
- next;
- mes "[Ohno Tohiro]";
- mes "He kept asking me to show him how to get there. I felt reluctant to let him know about this crevice because I didn't want others to know about it. But I traded this info for 100,000 Zeny.";
- next;
- mes "[Ohno Tohiro]";
- mes "Not much later, he came back with his body thoroughly injured. It was a miracle that he came back alive... It was horrible...";
- mes "However, he was holding several items. At first glance, they looked so powerful that even I felt scared.";
- next;
- mes "[Ohno Tohiro]";
- mes "After that, many adventurers entered this dangerous place through this crevice after hearing the rumor. I hardly found any adventurers coming out of this crevice again. Since then, this place has been called the tomb of honor.";
- mes "I earned some money thanks to them, though.";
- next;
- mes "[Ohno Tohiro]";
- mes "You want to know why I earned money?";
- mes "I found this place for the first time, so its ownership belongs to me as well! You got a problem with that?";
- next;
- mes "[Ohno Tohiro]";
- mes "Hmm hmm... Anyway, give me 100,000 Zeny. Then, I'll open the door which leads to the crevice for adventurers like you...";
- continue;
- case 3:
- if (Zeny < 100000) {
- mes "[Ohno Tohiro]";
- mes "You don't have enough money!";
- mes "There is nothing free in this world!";
- continue;
- }
- mes "[Ohno Tohiro]";
- mes "Let me see... one... two... three";
- mes "Alright. Now that I received the Zeny, I'll open the crevice.";
- mes "I hope you can come back alive!...";
- next;
- Zeny = Zeny - 100000;
- warp "lhz_dun_n",100,202;
- end;
- case 4:
- mes "[Ohno Tohiro]";
- mes "What? You don't have enough Zeny, but you want to enter?";
- mes "Hmm... Then... by any chance, you have a research chart?";
- next;
- mes "[Ohno Tohiro]";
- mes "Hush, speak quietly. People around here may hear us. Do you have it or not?";
- next;
- mes "[Ohno Tohiro]";
- mes "Don't ask me why I need it. Just bring me 10 research charts. Then, I'll send you to the tomb of honor for nothing. What you do think?";
- next;
- if (select( "Go back to the previous menu.", "Hand over 10 research charts." ) == 1) {
- mes "[Ohno Tohiro]";
- mes "You got any other business with me?";
- continue;
- }
- if (countitem(7347) < 10) {
- mes "[Ohno Tohiro]";
- mes "It seems 10 research charts are missing now.";
- mes "Maybe you didn't pick them up from the warehouse.";
- next;
- mes "[Ohno Tohiro]";
- mes "Is there something else you want from me?";
- continue;
- }
- mes "[Ohno Tohiro]";
- mes "Oh... yes, this is it... This is what I need... hoo hoo...";
- next;
- mes "[Ohno Tohiro]";
- mes "I'll send you to the crevice as promised.";
- mes "I want you alive. See you again!";
- next;
- delitem 7347,10;// Research Chart
- warp "lhz_dun_n",100,202;
- end;
- }
- }
- }
- lighthalzen,320,204,3 script A kid with black finger 4_F_04,{
- disable_items;
- mes "[Lunar]";
- mes "What are you looking for? Are you looking for the place where all the dead men roam?";
- next;
- mes "[Lunar]";
- mes "I can take you there if you want. You will need ^0000cd20 Sentimental Fragment and 150K Zeny^000000.";
- next;
- mes "[Lunar]";
- mes "Or you can just see sentiment safely without the interruption of the dead. That will cost you ^0000cd30 Sentimental Fragment and 2M Zeny^000000.";
- next;
- mes "[Lunar]";
- mes "Where do you want to go?";
- next;
- switch( select( "Where all the dead men roam.", "Only thoughts can be met.", "What kind of place is it?", "I don't mind." ) ) {
- case 1:
- mes "[Lunar]";
- mes "You have everything right?";
- next;
- if (countitem(22687) < 20 || Zeny < 150000) {
- mes "[Lunar]";
- mes "Let me see.";
- next;
- mes "[Lunar]";
- mes "It's not enough. You need ^0000cd20 Sentimental Fragment and 150K Zeny^000000. I can't take you there for free.";
- close;
- }
- mes "[Lunar]";
- mes "You have everything right?";
- next;
- mes "[Lunar]";
- mes "Good. You have everything. I'll take you there.";
- next;
- mes "[Lunar]";
- mes "But... I'm taking you there for money... you should be careful.";
- next;
- mes "[Lunar]";
- mes "So.. if you go inside, you'll see a ^0000cdStrange Machine that looks like a crystal^000000.";
- next;
- mes "[Lunar]";
- mes "This machine will recover your HP if you use it. It helped me survive. I have no idea why it's in that kind of place though...";
- next;
- mes "[Lunar]";
- mes "I turned off the machine so no one can use it, but I'll let you use it as my special treat.";
- next;
- mes "[Lunar]";
- mes "Please be careful and use the machine if you need to!!";
- delitem 22687,20;// Sentimental Fragment
- Zeny = Zeny - 150000;
- if (isbegin_quest(14683) > 0)
- erasequest 14683;
- setquest 14683;// Mysterious Device
- close2;
- warp "lhz_dun_n",162,254;
- end;
- case 2:
- mes "[Lunar]";
- mes "You've got all the items and money??";
- next;
- if (countitem(22687) < 30 || Zeny < 2000000) {
- mes "[Lunar]";
- mes "Let me see.";
- next;
- mes "[Lunar]";
- mes "It's not enough. ^0000cd30 Sentimental Fragment and 2M Zeny^000000 are needed. I can't take you for free.";
- close;
- }
- mes "[Lunar]";
- mes "Good. You have everything. I'll take you there.";
- next;
- mes "[Lunar]";
- mes "The exit is outside of the wall.";
- next;
- mes "[Lunar]";
- mes "^EE0000Well, I also have a warning. Your location can't be saved in there, so if you log off or get disconnected, you'll be moved to your save point.";
- close2;
- delitem 22687,30;
- Zeny = Zeny - 2000000;
- warp "lhz_d_n2",60,44;
- end;
- case 3:
- mes "[Lunar]";
- mes "I dug in the ground to find something to eat and I found something even better.";
- next;
- mes "[Lunar]";
- mes "The living can't survive there. Only the dead roam around.";
- next;
- mes "[Lunar]";
- mes "There's a rumor.. that people who went there never came back...";
- next;
- mes "[Lunar]";
- mes "I was so scared but.. it became clear that it's a popular place for adventurers to visit.";
- next;
- mes "[Lunar]";
- mes "The place I arrived at was ^0000cdnear Strange Sentiment^000000.";
- next;
- mes "[Lunar]";
- mes "I ran away since so many dead men tried to kill me.";
- next;
- mes "[Lunar]";
- mes "But then I got lost and fell down to a weird place.";
- next;
- mes "[Lunar]";
- mes "The place was the same as where the dead men roam ^0000cdbut there are only sentiments^000000. I was so scared, so I got out right away.";
- next;
- mes "[Lunar]";
- mes "I will take you there if you give me the money and items.";
- next;
- mes "[Lunar]";
- mes "You might go easier without his help.";
- close;
- case 4:
- mes "[Lunar]";
- mes "Please visit me any time. We have nothing to lose anyway.";
- close;
- }
- }
- lighthalzen,327,216,3 script Crevice#1 4_CRACK,{
- end;
- OnInit:
- while(true) {
- sleep 6000;
- specialeffect EF_AGIUP3;
- }
- end;
- }
- // Dungeon exit
- lhz_dun_n,96,203,3 script Dungeon gateway#1 4_CRACK,{
- if (select( "Don't exit the dungeon.", "Exit the dungeon." ) == 1) {
- mes "- You still have business to deal with here -";
- close;
- }
- warp "lighthalzen",310,228;
- end;
- OnInit:
- while(true) {
- sleep 6000;
- specialeffect EF_AGIUP3;
- }
- end;
- }
- // Lighthalzen Exchange NPCs
- lighthalzen,319,213,4 script Veteran Adventurer#JCv2 4_M_MELODY,2,2,{
- disable_items;
- mes "[Veteran Adventurer]";
- mes "Oh! You want to exchange mind or grudge pieces?";
- next;
- setarray .@items[0],
- 6469,200, // Will of Warrior
- 6470,200, // Blood Thirst
- 6471,300; // Ghost Chill
- .@color$[0] = countitem(6820) < 200 ? "^777777" : "^000000";
- .@color$[1] = countitem(6820) < 300 ? "^777777" : "^000000";
- .@s = select( "Listen to the story.", .@color$[0] + "1 Will of Warrior (200 Energy pieces)", .@color$[0] + "1 Blood Thirst (200 energy pieces)", .@color$[1] + "1 Ghost Chill (300 energy pieces)^000000" ) - 2;
- if (.@s == -1) {
- emotion ET_QUESTION;
- mes "[Veteran Adventurer]";
- mes "You look like you have free time, don't you? Well, my business is slow these days too...";
- next;
- mes "[Veteran Adventurer]";
- mes "One day, the guild master entered in my guild all of a sudden...";
- next;
- mes "[Veteran Adventurer]";
- mes "'^1F294DI'll make all members in all guilds wear the Cloak of the Fallen Soldier!!^000000'.";
- next;
- mes "[Veteran Adventurer]";
- mes "As you know, this equipment requires a large amount of material, so all guild members had no choice but to be stuck in the dungeon and forced to work.";
- next;
- mes "[Veteran Adventurer]";
- mes "You never know what luck you eventually may have. I flung myself into this digging work with determination and found so many rare pieces.";
- next;
- mes "[Veteran Adventurer]";
- mes "Ms. Sub-guild master sent me to exchange things with others as a pile kept forming.";
- next;
- mes "[Veteran Adventurer]";
- mes "Of course, the amount of exchange was decided by the guild master emphasizing";
- mes "'^1F294DI'll never accept it if it's below this amount!!^000000'...";
- next;
- emotion ET_HNG;
- mes "[Veteran Adventurer]";
- mes "Ms. Sub-guild master tried to throw dirt into the guild master's eyes. We really had a hard time stopping her.";
- next;
- mes "[Veteran Adventurer]";
- mes "I guess we can take care of it quickly if he adjusts it to a low amount. (sigh)... That's what happened.";
- close;
- }
- .@s *= 2;
- mes "[Veteran Adventurer]";
- mes "^3300661 " + getitemname(.@items[.@s]) + "^000000 is exchanged with ^CC3333" + .@items[.@s+1] + " Energy Pieces^000000.";
- next;
- if (select( "Exchange.", "Do not exchange." ) == 2) {
- emotion ET_OTL;
- mes "[Veteran Adventurer]";
- mes "What?... I thought you were going to exchange it.";
- close;
- }
- while(true) {
- if (countitem(6820) < .@items[.@s+1]) {
- emotion ET_SORRY;
- mes "[Veteran Adventurer]";
- mes "Sorry. I don't have a choice because the guild master ordered it. You need " + .@items[.@s+1] + " items, if he says no, I'm not at liberty to exchange it.";
- close;
- }
- delitem 6820, .@items[.@s+1];// Energy Pieces
- getitem .@items[.@s],1;
- mes "[Veteran Adventurer]";
- mes "Would you like to continue to exchange it?";
- next;
- if (select( "Continue with the exchange.", "Stop the exchange." ) == 2) {
- emotion ET_THANKS;
- mes "[Veteran Adventurer]";
- mes "Thank you... I guess I won't be punished by the guild master, thanks to you.";
- close;
- }
- }
- end;
- OnTouch:
- .@r = rand(4);
- if (.@r == 0)
- npctalk "I would like to exchange 1 Will of Warrior for 200 energy pieces.", "", bc_self;
- else if (.@r == 1)
- npctalk "I would like to exchange 1 Ghost Chill with 300 energy pieces.", "", bc_self;
- else if (.@r == 2)
- npctalk "I would like to exchange 1 Blood Thirst with 200 energy pieces.", "", bc_self;
- else {
- emotion ET_OHNO;
- npctalk "Oh!... Why is it so difficult to find pieces?", "", bc_self;
- }
- end;
- }
- lighthalzen,312,296,4 script Bully#JCv2 4_M_LGTPOOR,{
- disable_items;
- mes "[Bully]";
- mes "Hey, buddy. Do you have some remaining Energy pieces? I'll exchange them with something appropriate if you want.";
- next;
- .@s = select(
- "Listen to the story.",
- ( countitem(25127) < 2000 ? "^777777" : "^000000" ) + "1 Energy Fragment (2000 Silent E Particles)",
- ( countitem(25128) < 1000 ? "^777777" : "^000000" ) + "1 Energy Fragment (1000 Weak E Particles)",
- ( countitem(25129) < 500 ? "^777777" : "^000000" ) + "1 Energy Fragment (500 Unstable E Particles)",
- ( countitem(25130) < 500 ? "^777777" : "^000000" ) + "1 Energy Fragment (500 Sinister E Particles)",
- ( countitem(25131) < 50 ? "^777777" : "^000000" ) + "1 Energy Fragment (50 Fallen E Particles)",
- ( countitem(6820) < 50 ? "^777777" : "^000000" ) + "1 Sentimental Fragment (50 Energy Fragments)",
- ( countitem(6820) < 666 ? "^777777" : "^000000" ) + "1 Cursed Fragment (666 Energy Fragments)"
- ) - 2;
- if (.@s == -1) {
- emotion ET_THINK;
- mes "[Bully]";
- mes ". . . . . . .";
- next;
- mes "[Bully]";
- mes "Hmm... this is quite unexpected.";
- mes "Normally he ignores me and goes on to do his work.";
- next;
- mes "[Bully]";
- mes "I'm sorry, but I've got nothing to say. I'm just doing this because I can earn lots of money.";
- close;
- }
- setarray .@exchange[0],
- 6820, 25127,2000, // Silent Energy Particle -> Energy Fragment
- 6820, 25128,1000, // Weak Energy Particles -> Energy Fragment
- 6820, 25129,500, // Unstable Energy Particle -> Energy Fragment
- 6820, 25130,500, // Sinister Energy Particle -> Energy Fragment
- 6820, 25131,50, // Fallen Energy Particle -> Energy Fragment
- 22687, 6820,50, // Energy Fragment -> Sentimental Fragment
- 23016, 6820,666; // Energy Fragment -> Cursed Fragment
- .@index = .@s * 3;
- mes "[Bully]";
- mes "Are you sure you want to exchange ^330066" + .@exchange[.@index+2] + " " + getitemname(.@exchange[.@index+1]) + "^000000 with ^CC33331 " + getitemname(.@exchange[.@index]) + "^000000?";
- next;
- if (select( "Exchange.", "Do not exchange." ) == 2) {
- emotion ET_HNG;
- mes "[Bully]";
- mes "Well... if you don't like it, never mind.";
- close;
- }
- while(true) {
- if (countitem(.@exchange[.@index+1]) < .@exchange[.@index+2]) {
- emotion ET_SCRATCH;
- mes "[Bully]";
- mes "No... No... you shouldn't do this.";
- mes "You told me you would exchange it with " + .@exchange[.@index+2] + " (item)s.";
- close;
- }
- delitem .@exchange[.@index+1], .@exchange[.@index+2];
- getitem .@exchange[.@index], 1;
- emotion ET_SEXY;
- mes "[Bully]";
- mes "Oh thank you. Is there something else you want to exchange?";
- next;
- if (select( "Continue with the exchange.", "Stop the exchange." ) == 2) {
- mes "[Bully]";
- mes "When you have some energy piece left, come to me again.";
- close;
- }
- }
- }
- // Enchants NPCs
- lhz_dun_n,145,265,4 script Silent Mind#JCv2 4_CENERE,{
- disable_items;
- mes "[Silent Mind]";
- mes ". . . . . .!";
- mes "...";
- mes "^FF0000*You can obtain the Death's Chest when you give 3 of the same types of souls to the mind.*^000000";
- next;
- setarray .@item[0],6814,6815,6816,6817,6818,6819;
- for ( .@i = 0; .@i < 6; ++.@i ) {
- if (countitem(.@item[.@i]) < 3)
- .@menu$ += "^777777Not enough " + getitemname(.@item[.@i]) + ".^000000:";
- else
- .@menu$ += "Hand over 3 " + getitemname(.@item[.@i]) + ".:";
- }
- .@s = select(.@menu$) - 1;
- while(true) {
- if (countitem(.@item[.@s]) < 3) {
- emotion ET_HNG;
- mes "[Silent Mind]";
- mes "!. . . . . .";
- mes "^FF0000*You need 3 of the same types of souls to trade with the Death's Chest.*^000000";
- close;
- }
- delitem .@item[.@s],3;
- getitem 22679,1;// Chest_of_Death
- emotion ET_HUNGRY;
- mes "[Silent Mind]";
- mes ". . . . . .";
- mes "...";
- mes "^FF0000*You've obtained the Death's Chest. Would you like to continue the trade?*^000000";
- next;
- if (select( "Continue with the exchange.", "Stop the exchange." ) == 2) {
- mes "[Silent Mind]";
- mes ". . . . . .";
- close;
- }
- }
- }
- lhz_dun_n,134,265,2 script Wandering Mind#JCv2 4_CENERE,{
- disable_items;
- npctalk "Kkk... I can... sense...", "", bc_self;
- mes "[Wandering Mind]";
- mes "Kkk... I can... sense...the grudges...of countless...subjects...";
- next;
- npctalk "Who... am... I?...", "", bc_self;
- mes "[Wandering Mind]";
- mes "Where is... here?... here?... Aaargh... Who... am... I?... I cannot... remember...";
- next;
- mes "[Wandering Mind]";
- mes "I need... grudge's... grudge's... strong... power... It will help... both me... and you... all... Kkk...";
- next;
- switch( select( "Old Helmet enchant", "Old Helmet reset", "Old Helmet enchant description" ) ) {
- case 1:
- npctalk "Hand over... grudge... grudge...", "", bc_self;
- mes "[Wandering Mind]";
- mes "Krrr... hehe... hand over... grudge's... grudge's... strong power... I'll enchant... a special power... into the helmet...";
- mes "^FF0000*If you bring Cursed Fragment, you can enchant it into the Old Helmet.*^000000";
- next;
- .@equip_id = getequipid(EQI_HEAD_TOP);
- switch(.@equip_id) {
- case 18971:// Old_Rune_Circlet
- case 18972:// Old_Mitra
- case 18973:// Old_Driver_Band_R
- case 18974:// Old_Driver_Band_Y
- case 18975:// Old_Shadow_Handicraft
- case 18976:// Old_Minstrel_Song_Hat
- case 18977:// Old_Midas_Whisper
- case 18978:// Old_Magic_Stone_Hat
- case 18979:// Old_Blazing_Soul
- case 18980:// Old_Wind_Whisper
- case 18981:// Old_Dying_Swan
- case 18982:// Old_Circlet_Of_Bone
- case 18983:// Old_Protect_Of_Crown
- case 18984:// Old_Camo_RabbitHood
- break;
- default:
- npctalk "Destroy it... Destroy it...", "", bc_self;
- mes "[Wandering Mind]";
- mes "This is... interesting... In that helmet... there is no fragrance... filled with a special power... Do you want... destruction...? kkk...";
- mes "^FF0000*Enchantment using Cursed Fragment is only possible in the Old Helmet.*^000000";
- close;
- }
- mes "[Wandering Mind]";
-
- .@requirement = 10; // 10 Cursed Fragments by default
- setarray .@card[0], getequipcardid(EQI_HEAD_TOP,0), getequipcardid(EQI_HEAD_TOP,1), getequipcardid(EQI_HEAD_TOP,2), getequipcardid(EQI_HEAD_TOP,3);
- .@refine = getequiprefinerycnt(EQI_HEAD_TOP);
-
- if (.@card[3] == 0) {
- .@slot = 3;
- mes "How about... we begin... lightly?... Test... your luck... Kr..hehe...";
- mes "^FF0000*Attempts enchantment to 4th slot. One of 6 statuses is randomly enchanted.*^000000";
- }
- else if (.@card[2] == 0) {
- .@slot = 2;
- mes "Kr... hehe... Do... you like... your... first... enchantment?...";
- mes "^FF0000*Attempts enchantment to 3rd slot. One of 6 statuses is randomly enchanted.*^000000";
- }
- else if (.@card[1] == 0) {
- .@slot = 1;
- mes "Kr... hehe... Whether there will be... a door... to acquire... a much stronger power... will be... decided... now...";
- mes "^FF0000*Attempts enchantment to 2nd slot.";
- mes "Once you succeed in Mettle, Magic Essence, Acute, Master Archer, Adamantine, Affection enchantments, it can be reinforced.*^000000";
- }
- else {
- // enchant leveling
- switch( .@card[1] ) {
- case 29061: // Ambition1Lv
- case 29071: // Tab1Lv
- case 29081: // Expect1Lv
- case 29091: // ArchLine1Lv
- case 29101: // Steel1Lv
- case 29111: // Mercy1Lv
- mes "Kr... he... he... You are... lucky... I wish... you all the success!... Only then... will you come and visit me... with more grudges... I suppose...";
- .@requirement = 20;
- .@enchant_level = 1;
- .@enchant_rate = 80;
- break;
- case 29062: // Ambition2Lv
- case 29072: // Tab2Lv
- case 29082: // Expect2Lv
- case 29092: // ArchLine2Lv
- case 29102: // Steel2Lv
- case 29112: // Mercy2Lv
- mes "3rd... level... reinforcement?... If you succeed... you will... gain... much stronger powers... but if you fail... you'll lose the powers... that you've gathered... so far...";
- .@requirement = 40;
- .@enchant_level = 2;
- .@enchant_rate = 70;
- break;
- case 29063: // Ambition3Lv
- case 29073: // Tab3Lv
- case 29083: // Expect3Lv
- case 29093: // ArchLine3Lv
- case 29103: // Steel3Lv
- case 29113: // Mercy3Lv
- mes "4th... level... reinforcement?... If you succeed... you will... gain... much stronger powers... but if you fail... you'll lose the powers... that you've gathered... so far...";
- .@requirement = 50;
- .@enchant_level = 3;
- .@enchant_rate = 50;
- break;
- case 29064: // Ambition4Lv
- case 29074: // Tab4Lv
- case 29084: // Expect4Lv
- case 29094: // ArchLine4Lv
- case 29104: // Steel4Lv
- case 29114: // Mercy4Lv
- mes "5th... level... reinforcement?... Are you... ready... to control... such huge... powers?... but if you fail... the result will be... worth... seeing...";
- .@requirement = 70;
- .@enchant_level = 4;
- .@enchant_rate = 20;
- break;
- case 29065: // Ambition5Lv
- case 29075: // Tab5Lv
- case 29085: // Expect5Lv
- case 29095: // ArchLine5Lv
- case 29105: // Steel5Lv
- case 29115: // Mercy5Lv
- mes "6th... level... reinforcement?... Are you... ready... to control... such huge... powers?... but if you fail... the result will be... worth... seeing...";
- .@requirement = 100;
- .@enchant_level = 5;
- .@enchant_rate = 20; // unknown rates
- break;
- case 29066: // Ambition6Lv
- case 29076: // Tab6Lv
- case 29086: // Expect6Lv
- case 29096: // ArchLine6Lv
- case 29106: // Steel6Lv
- case 29116: // Mercy6Lv
- // custom text
- mes "7th... level... reinforcement?... Are you... ready... to control... such huge... powers?... but if you fail... the result will be... worth... seeing...";
- .@requirement = 150;
- .@enchant_level = 6;
- .@enchant_rate = 20; // unknown rates
- break;
- case 29067: // Ambition7Lv
- case 29077: // Tab7Lv
- case 29087: // Expect7Lv
- case 29097: // ArchLine7Lv
- case 29107: // Steel7Lv
- case 29117: // Mercy7Lv
- // custom text
- mes "8th... level... reinforcement?... Are you... ready... to control... such huge... powers?... but if you fail... the result will be... worth... seeing...";
- .@requirement = 250;
- .@enchant_level = 7;
- .@enchant_rate = 20; // unknown rates
- break;
- case 29068: // Ambition8Lv
- case 29078: // Tab8Lv
- case 29088: // Expect8Lv
- case 29098: // ArchLine8Lv
- case 29108: // Steel8Lv
- case 29118: // Mercy8Lv
- // custom text
- mes "9th... level... reinforcement?... Are you... ready... to control... such huge... powers?... but if you fail... the result will be... worth... seeing...";
- .@requirement = 500;
- .@enchant_level = 8;
- .@enchant_rate = 20; // unknown rates
- break;
- case 29069: // Ambition9Lv
- case 29079: // Tab9Lv
- case 29089: // Expect9Lv
- case 29099: // ArchLine9Lv
- case 29109: // Steel9Lv
- case 29119: // Mercy9Lv
- // custom text
- mes "10th... level... reinforcement?... Are you... ready... to control... such huge... powers?... but if you fail... the result will be... worth... seeing...";
- .@requirement = 1000;
- .@enchant_level = 9;
- .@enchant_rate = 20; // unknown rates
- break;
- case 29070: // Ambition10Lv
- case 29080: // Tab10Lv
- case 29090: // Expect10Lv
- case 29100: // ArchLine10Lv
- case 29110: // Steel10Lv
- case 29120: // Mercy10Lv
- // custom text
- default:
- mes "Krr hehe... It's impossible... to reinforce... this power... The only way left is... to reset...";
- mes "^FF0000*Mettle, Magic Spirit, Vigor, Bull's Eye, Adamantine, Benevolence";
- mes "You can reinforce the enchantment level only when the equipment is enchanted.*^000000";
- close;
- }
- .@slot = 999;
- }
- next;
- mes "[Wandering Mind]";
- mes "However...before that happens... I need to check... whether or not you have... sufficient Cursed Fragments... ";
- next;
- mes "[Wandering Mind]";
- mes "Cursed... Fragments..." + .@requirement + " are... needed... I wonder... whether... you can afford... them?... kk... kk...";
- mes "^FF0000*In enchantment, " + .@requirement + " Cursed Fragment(s) is(are) required.*^000000";
- next;
- if (select( "Pay fee.", "Do not pay fee." ) == 2) {
- mes "[Wandering Mind]";
- mes "K...kk... It seems... you're not... ready to accept... such a huge power... yet...";
- close;
- }
- if (countitem(23016) < .@requirement) {// Cursed Fragment
- mes "[Wandering Mind]";
- mes "K...kk... are you... kidding... me?... How come... you... crave for... the power... with such a trivial grudge?...";
- mes "^FF0000*In enchantment, Cursed Fragment(s) 10 item(s) is(are) required.";
- mes "Check the amount of Cursed Fragments you possess.*^000000";
- close;
- }
- mes "[Wandering Mind]";
- mes "Krr.. hehe... It's... the power of the grudge... I think... this power... is strong... enough to...";
- mes "^FF0000*Equipment smelting level, card, equipment loss doesn't occur. However, the enchantment level may be downgraded, depending on the success or failure.*^000000";
- next;
- if (select( "Perform the enchantment.", "Do not perform the enchantment." ) == 2) {
- mes "[Wandering Mind]";
- mes "K...kk... It seems... you're not... ready to accept... such a huge power... yet...";
- close;
- }
- progressbar "000000",1;
- delitem 23016, .@requirement;// Cursed Fragment
- // anti-hack
- if (callfunc("F_IsEquipIDHack", EQI_HEAD_TOP, .@equip_id) || callfunc("F_IsEquipCardHack", EQI_HEAD_TOP, .@card[0], .@card[1], .@card[2], .@card[3]) || callfunc("F_IsEquipRefineHack", EQI_HEAD_TOP, .@refine))
- close;
- switch(.@slot) {
- case 3:
- case 2:
- setarray .@enchant[0],
- 4700, // Strength1
- 4701, // Strength2
- 4702, // Strength3
- 4703, // Strength4
- 4704, // Strength5
- 4710, // Inteligence1
- 4711, // Inteligence2
- 4712, // Inteligence3
- 4713, // Inteligence4
- 4714, // Inteligence5
- 4720, // Dexterity1
- 4721, // Dexterity2
- 4722, // Dexterity3
- 4723, // Dexterity4
- 4724, // Dexterity5
- 4730, // Agility1
- 4731, // Agility2
- 4732, // Agility3
- 4733, // Agility4
- 4734, // Agility5
- 4740, // Vitality1
- 4741, // Vitality2
- 4742, // Vitality3
- 4743, // Vitality4
- 4744, // Vitality5
- 4750, // Luck1
- 4751, // Luck2
- 4752, // Luck3
- 4753, // Luck4
- 4754; // Luck5
- .@card[.@slot] = .@enchant[ rand( getarraysize(.@enchant) ) ]; // unknown rates
- break;
- case 1:
- setarray .@enchant[0],
- 4703, // Strength4
- 4704, // Strength5
- 4713, // Inteligence4
- 4714, // Inteligence5
- 4723, // Dexterity4
- 4724, // Dexterity5
- 4733, // Agility4
- 4734, // Agility5
- 4743, // Vitality4
- 4744, // Vitality5
- 4753, // Luck4
- 4754, // Luck5
- 29061, // Ambition1Lv
- 29071, // Tab1Lv
- 29081, // Expect1Lv
- 29091, // ArchLine1Lv
- 29101, // Steel1Lv
- 29111; // Mercy1Lv
- .@card[1] = .@enchant[ rand( getarraysize(.@enchant) ) ]; // unknown rates
- break;
- case 999:
- // enchant leveling
- if (.@enchant_rate > rand(100))
- .@level_dt = 1;
- else
- .@level_dt = -1;
- .@enchant_level += .@level_dt;
- .@card[1] += .@level_dt;
- if (.@card[1] < 29061 || .@card[1] > 29120) {
- mes "[Wandering Mind]";
- mes "Something bad happened.";
- close;
- }
- if (.@enchant_level < 1 || .@enchant_level > 10) {
- // item not deleted
- specialeffect2 EF_SUI_EXPLOSION;
- mes "[Wandering Mind]";
- mes "K..aargh...!! The power of the grudge... was driven... into a frenzy... However... fortunately it didn't explode because the power... was.... weak.";
- close;
- }
- break;
- default:
- mes "[Wandering Mind]";
- mes "Something bad happened.";
- close;
- }
- delequip EQI_HEAD_TOP;
- getitem2 .@equip_id,1,1,.@refine,0,.@card[0],.@card[1],.@card[2],.@card[3];
- if (.@level_dt == -1) {// can only happens during enchant leveling
- specialeffect2 EF_SUI_EXPLOSION;
- mes "[Wandering Mind]";
- mes "K..aargh...!! The power of the grudge... was driven... to a frenzy... The power... which used to be... stable... also fell... one level down...";
- mes "^FF0000*Due to enchantment failure, it has been downgraded one level down.*^000000";
- close;
- }
- specialeffect2 EF_FIREHIT;
- mes "[Wandering Mind]";
- mes "It... is a success. I can sense that the power of the grudge has become stronger.";
- mes "^FF0000*Congratulation. You've succeeded in enchantment.*^000000";
- close;
- case 2:
- .@equip_id = getequipid(EQI_HEAD_TOP);
- switch(.@equip_id) {
- case 18971:// Old_Rune_Circlet
- case 18972:// Old_Mitra
- case 18973:// Old_Driver_Band_R
- case 18974:// Old_Driver_Band_Y
- case 18975:// Old_Shadow_Handicraft
- case 18976:// Old_Minstrel_Song_Hat
- case 18977:// Old_Midas_Whisper
- case 18978:// Old_Magic_Stone_Hat
- case 18979:// Old_Blazing_Soul
- case 18980:// Old_Wind_Whisper
- case 18981:// Old_Dying_Swan
- case 18982:// Old_Circlet_Of_Bone
- case 18983:// Old_Protect_Of_Crown
- case 18984:// Old_Camo_RabbitHood
- break;
- default:
- npctalk "Destroy it... Destroy it...", "", bc_self;
- mes "[Wandering Mind]";
- mes "This is... interesting... In that helmet... there is no fragrance... filled with a special power... Do you want... destruction...? kkk...";
- mes "^FF0000*Enchantment using Cursed Fragments is only possible in the Old Helmet.*^000000";
- close;
- }
- setarray .@card[0], getequipcardid(EQI_HEAD_TOP,0), getequipcardid(EQI_HEAD_TOP,1), getequipcardid(EQI_HEAD_TOP,2), getequipcardid(EQI_HEAD_TOP,3);
- .@refine = getequiprefinerycnt(EQI_HEAD_TOP);
- if (.@card[3] < 1) {// one enchant required
- npctalk "You are... very calm...", "", bc_self;
- mes "[Wandering Mind]";
- mes "kkk... You look pretty calm... There is no power... contained... in the thing... I gave... to you...";
- mes "^FF0000*This helmet is not enchanted, so it cannot be reset.*^000000";
- close;
- }
- npctalk "Krr... hehe... I will eat... well... today...", "", bc_self;
- mes "[Wandering Mind]";
- mes "Kkk... You don't... like this power?... Bring me 10 mind powers... Then, I'll make this power... disappear...";
- mes "^FF0000*You need 10 Sentimental Fragments to reset it.";
- mes "All enchantments applied to the helmet, except for the smelting level of equipment and 1 slot card, will be reset.*^000000";
- next;
- if (select( "Ignore him.", "Pay fee." ) == 1) {
- npctalk "Forever...", "", bc_self;
- mes "[Wandering Mind]";
- mes "I'll... wait for... you... If you need me to... I'll wait for you... forever... kkk...";
- close;
- }
- if (countitem(22687) < 10) {// Sentimental Fragment
- mes "Kk..k... If you... don't bring...";
- mes "10 mind powers... I will be... in trouble...";
- mes "^FF0000*You need 10 Sentimental Fragments to reset it.";
- mes "Check the amount of Sentimental Fragments that you possess.*^000000";
- close;
- }
- npctalk "K... kk...", "", bc_self;
- mes "[Wandering Mind]";
- mes "Fine!... I'll... reset... the enchantment... of the old helmet... I think... we may be able to absorb... a strong mind...";
- next;
- progressbar "000000",2;
- specialeffect2 EF_FIREHIT;
- delitem 22687,10;// Sentimental Fragment
- if (callfunc("F_IsEquipIDHack", EQI_HEAD_TOP, .@equip_id) || callfunc("F_IsEquipCardHack", EQI_HEAD_TOP, .@card[0], .@card[1], .@card[2], .@card[3]) || callfunc("F_IsEquipRefineHack", EQI_HEAD_TOP, .@refine))
- close;
- delequip EQI_HEAD_TOP;
- getitem2 .@equip_id,1,1,.@refine,0,.@card[0],0,0,0;
- mes "[Wandering Mind]";
- mes "K..kk... The power... of a strong grudge... has been... absorbed... Things I've lost... K.. aargh...";
- close;
- case 3:
- for ( .@i = 18971; .@i <= 18984; ++.@i ) {
- if (.@i < 18977)
- .@string$[0] += getitemname(.@i) + ", ";
- else if (.@i < 18984)
- .@string$[1] += getitemname(.@i) + ", ";
- else
- .@string$[2] = getitemname(.@i);
- }
- mes "[Wandering Mind]";
- mes "Do you want... power?... If so, you... need to have... the old Helmet..";
- mes "^FF0000*You can enchant it into the " + .@string$[0];
- mes "" + .@string$[1];
- mes "" + .@string$[2] + ".*^000000";
- next;
- mes "[Wandering Mind]";
- mes "If you... bring grudge's... power... I'll... give you... great power...";
- mes "^FF0000*You need Cursed Fragments in order to enchant it.*^000000";
- next;
- mes "[Wandering Mind]";
- mes "Kkk... Of course... in order to obtain... great power... you may need... a countless amount of... grudge's... power...";
- mes "^FF0000*Enchantment is proceeded in the order of 4, 3, 2 slots. You need 10 Cursed Fragments when you enchant each slot for the first time.*^000000";
- next;
- mes "[Wandering Mind]";
- mes "If you have... the opportunity... you might be... able to upgrade... the enchantment level... ";
- mes "^FF0000*When reinforcing the enchant level, 50, 70, 100, 150, 250, 500, 1000 Cursed Fragments are consumed, depending on the enchant level";
- mes "increase after 20 Cursed Fragments in the 2nd step, and 40 Cursed Fragments in the 3rd step.*^000000";
- close;
- }
- }
- lhz_dun_n,143,269,4 script Victimized Soul's Mind#1 4_M_DEATH2,{
- disable_items;
- .@r = rand(5);
- if (.@r == 0)
- npctalk "You... are the ones... who turned... me... into a monster...", "", bc_self;
- else if (.@r == 1)
- npctalk "Please save me... I'll... do whatever... you order...", "", bc_self;
- else if (.@r == 2)
- npctalk "My beloved... wife and daughter... are waiting for... me... at home...", "", bc_self;
- else if (.@r == 3)
- npctalk "After such... a terrible thing.. you... did", "", bc_self;
- else
- npctalk "My...leg...my...arm...", "", bc_self;
- mes "[Victimized Soul's Mind]";
- mes "Countless... subjects'... minds...";
- mes "Past...present...and revenge...";
- mes "Who are you...";
- mes "Can...you console... us who... are tormented in sadness?...";
- next;
- if (.@r == 0)
- npctalk "Even after I die... or in my dream...", "", bc_self;
- else if (.@r == 1)
- npctalk "Please... save me... Please put away... that knife... It scares me...", "", bc_self;
- else if (.@r == 2)
- npctalk "Please... just... let me go... I'll give you money... as much as you want...", "", bc_self;
- else if (.@r == 3)
- npctalk "Aren't... you afraid of... God's... wrath?...", "", bc_self;
- else
- npctalk "Aargh... Ah... Urgh...", "", bc_self;
- mes "[Victimized Soul's Mind]";
- mes "If you... can... do it... maybe... I can... give... you guys help...";
- next;
- if (.@r == 0)
- npctalk "I'll munch you... into pieces...", "", bc_self;
- else if (.@r == 1)
- npctalk "Please... Aaargh...", "", bc_self;
- else if (.@r == 2)
- npctalk "Please...", "", bc_self;
- else if (.@r == 3)
- npctalk "God... will protect... you... if you... repent... your sin... just now...", "", bc_self;
- else
- npctalk "...shrieking...", "", bc_self;
- mes "[Victimized Soul's Mind]";
- mes "Weapon which appears... to be filled with... strong minds... our sadness... and resentment...";
- mes "If you... bring... one... I'll restore... it... to energy... pieces...";
- while(true) {
- next;
- if (select( "Hand over the weapon.", "End the conversation." ) == 2) {
- mes "[Victimized Soul's Mind]";
- mes "...You... will... find me... again...";
- close;
- }
- mes "[Victimized Soul's Mind]";
- mes "What kind... of mind... is contained... in this... weapon?...";
- next;
- while(true) {
- switch( select( "Go back to previous menu.", "Katar", "Bow", "Axe, Mace, Book", "Wand", "Sword, Dagger", "Spear, Two-handed sword", "Musical instrument, Whip, Knuckle" ) ) {
- case 1:
- break;
- case 2:
- callsub S_Exchange,
- 1284, // Krishna
- 1290, // Agent_Katar
- 1285, // Chakram
- 1291; // Guillotine_Katar
- continue;
- case 3:
- callsub S_Exchange,
- 18109, // Catapult
- 18110, // Big_CrossBow
- 1745, // Falken_Blitz
- 18103, // Mystic_Bow
- 18111; // Creeper_Bow
- continue;
- case 4:
- callsub S_Exchange,
- 1311, // Vecer_Axe
- 1392, // Ygnus_Stale
- 1393, // End_Sektura
- 16017, // Bloody_Cross
- 16010, // Red_Ether_Bag
- 2161, // Geffenia_Book_Water
- 1584, // Chilly_Spell_Book
- 16000, // Erde
- 16001; // Red_Square_Bag
- continue;
- case 5:
- callsub S_Exchange,
- 2005, // Dea_Staff
- 2004, // Kronos
- 1647, // Croce_Staff
- 1659, // Recovery_Light
- 1646, // La'cryma_Stick
- 1654; // Mental_Stick
- continue;
- case 6:
- callsub S_Exchange,
- 13431, // Chrome_Sword
- 13421, // Ruber
- 13061, // Black_Wing
- 13062, // Ancient_Dagger
- 13070, // Scarletto_Nail
- 13069, // Aztoe_Nail
- 13046, // Krieg
- 13047; // Weihna
- continue;
- case 7:
- callsub S_Exchange,
- 1433, // Imperial_Spear
- 1435, // Cannon_Spear
- 1490, // Giant_Lance
- 1196, // Chrome_Twohand_Sword
- 1189; // Krasnaya
- continue;
- case 8:
- callsub S_Exchange,
- 1930, // Green_Whistle
- 1984, // Stem_Whip
- 1985, // Rosebine
- 1830; // Sura_Rampage
- continue;
- }
- break;
- }
- }
- end;
- S_Exchange:
- .@size = getargcount();
- .@menu$ = "Go back to previous menu.:";
- for ( .@i = 0; .@i < .@size; .@i++ ) {
- if (countitem(getarg(.@i)) < 1)
- .@menu$ += "^777777Not enough " + getitemname(getarg(.@i)) + ".^000000:";
- else
- .@menu$ += "You have " + getitemname(getarg(.@i)) + ".:";
- }
- .@s = select(.@menu$) - 2;
- if (.@s == -1)
- return;
- mes "[Victimized Soul's Mind]";
- mes "You...have chosen... the weapon... which appears to be... filled with... strong minds... I'm... trying to restore it... into Energy Fragments... Do you... agree with it?";
- next;
- if (select( "Disagree with it.", "Acquire Energy Fragments." ) == 2) {
- if (countitem(getarg(.@s)) < 1) {
- mes "[Victimized Soul's Mind]";
- mes "You don't... have... ^006400" + getitemname(getarg(.@s)) + "^000000...";
- mes "Do you have... any other business... with me?...";
- next;
- return;
- }
- progressbar "000000",5;
- specialeffect EF_BLACKBODY;
- specialeffect EF_GUMGANG4;
- specialeffect EF_DARKCASTING2;
- specialeffect EF_RG_COIN7;
- percentheal -50,-50;
- specialeffect2 EF_POISONSMOKE;
- specialeffect2 EF_NPC_BURNT;
- delitem getarg(.@s),1;
- getitem 6820, rand(1,3);// Energy Fragment
- mes "[Victimized Soul's Mind]";
- mes "I have made... Energy... Fragment... by restoring ^006400" + getitemname(getarg(.@s)) + "^000000...";
- next;
- mes "- I got critical damage - - by mind's powerful wavelength - - which seeped into my body. -";
- next;
- }
- mes "[Victimized Soul's Mind]";
- mes "Do you have... any other business... with me?...";
- next;
- return;
- }
- lhz_dun_n,136,269,6 script Sorrowful Soul's Mind#1 4_M_DEATH,{
- disable_items;
- .@r = rand(5);
- if (.@r == 0)
- npctalk "Mom...It hurts...", "", bc_self;
- else if (.@r == 1)
- npctalk "Go to hell...all of you...", "", bc_self;
- else if (.@r == 2)
- npctalk "I don't get it. Why...me?...", "", bc_self;
- else if (.@r == 3)
- npctalk "Ughhh...I don't... deserve this...", "", bc_self;
- else
- npctalk "You guys are all...demons...", "", bc_self;
- mes "[Sorrowful Soul's Mind]";
- mes "Countless... subjects'... minds...";
- mes "Past...present...and revenge...";
- next;
- if (.@r == 0)
- npctalk "My heart... is too painful...", "", bc_self;
- else if (.@r == 1)
- npctalk "I... will... send you there...", "", bc_self;
- else if (.@r == 2)
- npctalk "I... don't have much time left... to stay here.", "", bc_self;
- else if (.@r == 3)
- npctalk "You thought... you would stay alive... after everything you've done?...", "", bc_self;
- else
- npctalk "I'm innocent... I... don't deserve this...", "", bc_self;
- mes "[Sorrowful Soul's Mind]";
- mes "Who are you?...";
- mes "Can...you take back our souls again... tormented... in sadness?...";
- next;
- if (.@r == 0)
- npctalk "I want to... go... home...", "", bc_self;
- else if (.@r == 1)
- npctalk "I'll... curse you... even after... I die...", "", bc_self;
- else if (.@r == 2)
- npctalk "I have...nothing...", "", bc_self;
- else if (.@r == 3)
- npctalk "What are you... thinking?...", "", bc_self;
- else
- npctalk "You... don't even... have... a family?...", "", bc_self;
- mes "[Sorrowful Soul's Mind]";
- mes "If you... can... do it... maybe... I can... give... you guys... what... you need...";
- next;
- setarray .@item_name$[0],
- getitemname(18971), // Old_Rune_Circlet
- getitemname(18972), // Old_Mitra
- getitemname(18973), // Old_Driver_Band_R
- getitemname(18974), // Old_Driver_Band_Y
- getitemname(18975), // Old_Shadow_Handicraft
- getitemname(18976), // Old_Minstrel_Song_Hat
- getitemname(18977), // Old_Midas_Whisper
- getitemname(18978), // Old_Magic_Stone_Hat
- getitemname(18979), // Old_Blazing_Soul
- getitemname(18980), // Old_Wind_Whisper
- getitemname(18981), // Old_Dying_Swan
- getitemname(18984), // Old_Camo_RabbitHood
- getitemname(18982), // Old_Circlet_Of_Bone
- getitemname(18983), // Old_Protect_Of_Crown
- getitemname(20749); // Cloak of the Fallen Soldier[1]
- while(true) {
- if (select( "Hand over the soul.", "End the conversation." ) == 2) {
- mes "[Sorrowful Soul's Mind]";
- mes "...I wish... you... can come back... to me again...";
- close;
- }
- mes "[Sorrowful Soul's Mind]";
- mes "If you hand over... our soul...I'll make something... filled with... special powers.. using a combination...";
- mes "What... do you... want?...";
- while(true) {
- next;
- switch( select( "Go back to the previous menu.", .@item_name$[0], .@item_name$[1], .@item_name$[2], .@item_name$[3], .@item_name$[4], .@item_name$[5], .@item_name$[6], .@item_name$[7], .@item_name$[8], .@item_name$[9], .@item_name$[10], .@item_name$[11], .@item_name$[12], .@item_name$[13], .@item_name$[14] + "[1]" ) ) {
- case 1:
- break;
- case 2:
- mes "- " + .@item_name$[0] + " -";
- mes "^006400This item cannot be traded with other accounts.^000000";
- mes "^006400All State + 1, MDEF+ 5^000000";
- mes "^006400ATK + 4 per 1 refinement level increase^000000";
- mes "^006400ASPD + 1 per 5 refinement level increase^000000";
- mes "^006400Increases MHP, MSP by 1% 2 each refinement level increase^000000";
- mes "^006400Increases Ignition Break damage by 20%^000000";
- mes "^006400per 2 refinement level increase^000000";
- mes "^006400Increases Hundred Spear damage by 15%^000000";
- mes "^006400per 2 refinement level increase^000000";
- mes "^006400Type: Helmet Defense: 10^000000";
- mes "^006400Location: Top Weight: 10^000000";
- mes "^006400SLOT: 1^000000";
- mes "^006400Required Level: 170 Job: Rune Knight^000000";
- callsub S_Make,
- 18971, // Old_Rune_Circlet
- 19961, // C_Rune_Circlet
- 6814; // Swordman_Soul
- continue;
- case 3:
- mes "- " + .@item_name$[1] + " -";
- mes "^006400This item cannot be traded with other accounts.^000000";
- mes "^006400All State + 1, MDEF+ 5^000000";
- mes "^006400MATK + 2, ATK + 4, Heal Amount + 2% per 1 refinement level increase.^000000";
- mes "^006400Increases MHP, MSP by 1% per 2 refinement level increase^000000";
- mes "^006400Increases Judex damage by 20% per 2 refinement level increase.^000000";
- mes "^006400Increases Magnus Exorcismus damage by 10% per 2 refinement level increase.^000000";
- mes "^006400Type: Helmet Defense: 10^000000";
- mes "^006400Location: Top Weight: 10^000000";
- mes "^006400SLOT: 1^000000";
- mes "^006400Required Level: 170 Job: Archbishop^000000";
- callsub S_Make,
- 18972, // Old_Mitra
- 19962, // C_Mitra
- 6819; // Acolyte_Soul
- continue;
- case 4:
- mes "- " + .@item_name$[2] + " -";
- mes "^006400This item cannot be traded with other accounts.^000000";
- mes "^006400All State + 1^000000";
- mes "^006400ATK + 4 per 1 refinement level increase^000000";
- mes "^006400ASPD + 1 per 5 refinement level increase^000000";
- mes "^006400Increases MHP, MSP by 1% per 2 refinement level increase^000000";
- mes "^006400Increases Power Swing damage by 20% per 2 refinement level increase.^000000";
- mes "^006400Increases Axe Tornado damage by 20% per 2 refinement level increase.^000000";
- mes "^006400Type: Helmet Defense: 10^000000";
- mes "^006400Location: Top Weight: 10^000000";
- mes "^006400SLOT: 1^000000";
- mes "^006400Required Level: 170 Job: Mechanic^000000";
- callsub S_Make,
- 18973, // Old_Driver_Band_R
- 19963, // C_Driver_Band_R
- 6815; // Merchant_Soul
- continue;
- case 5:
- mes "- " + .@item_name$[3] + " -";
- mes "^006400This item cannot be traded with other accounts.^000000";
- mes "^006400All State + 1^000000";
- mes "^006400ATK + 4 per 1 refinement level increase^000000";
- mes "^006400ASPD + 1 per 5 refinement level increase^000000";
- mes "^006400Increases MHP, MSP by 1% per 2 refinement level increase^000000";
- mes "^006400Increases Arm Cannon damage by 5% per 2 refinement level increase.^000000";
- mes "^006400Reduces Suicidal Destruction cooldown by 10 seconds per 4 refinement level increase.^000000";
- mes "^006400Type: Helmet Defense: 10^000000";
- mes "^006400Location: Top Weight: 10^000000";
- mes "^006400SLOT: 1^000000";
- mes "^006400Required Level: 170 Job: Mechanic^000000";
- callsub S_Make,
- 18974, // Old_Driver_Band_Y
- 19964, // C_Driver_Band_Y
- 6815; // Merchant_Soul
- continue;
- case 6:
- mes "- " + .@item_name$[4] + " -";
- mes "^006400This item cannot be traded with other accounts.^000000";
- mes "^006400All State + 1^000000";
- mes "^006400ATK + 4, MATK + 4 per each refinement level increase.^000000";
- mes "^006400Increases MHP, MSP by 1% per 2 refinement level increase^000000";
- mes "^006400Increases Triangle Shot damage by 25% per 2 refinement level increase.^000000";
- mes "^006400Reduces Masquerade-unlock key, Enervation cooldown by 1 second when your character's refinement level reaches 6.^000000";
- mes "^006400Reduces Masquerade-Laziness, Weakness cooldown by 1 second when your character's refinement level reaches 8.^000000";
- mes "^006400Reduces Masquerade-Ignorance, Gloomy cooldown by 1 second when your character's refinement level reaches 10.^000000";
- mes "^006400Type: Helmet Defense: 10^000000";
- mes "^006400Location: Top Weight: 10^000000";
- mes "^006400SLOT: 1^000000";
- mes "^006400Required Level: 170 Job: Shadow_Chaser^000000";
- callsub S_Make,
- 18975, // Old_Shadow_Handicraft
- 19965, // C_Shadow_Handicraft
- 6816; // Thief_Soul
- continue;
- case 7:
- mes "- " + .@item_name$[5] + " -";
- mes "^006400This item cannot be traded with other accounts.^000000";
- mes "^006400All State + 1^000000";
- mes "^006400Increases ranged physical damage by 1% per each refinement level increase.^000000";
- mes "^006400Increases MHP, MSP by 1% per 2 refinement level increase^000000";
- mes "^006400Increases Arrow Vulcan damage by 20% per 2 refinement level increase.^000000";
- mes "^006400Increases Severe Rainstorm damage by 5% per 2 refinement level increase.^000000";
- mes "^006400Type: Helmet Defense: 10^000000";
- mes "^006400Location: Top Weight: 10^000000";
- mes "^006400SLOT: 1^000000";
- mes "^006400Required Level: 170 Job: Minstrel^000000";
- callsub S_Make,
- 18976, // Old_Minstrel_Song_Hat
- 19966, // C_Minstrel_Song_Hat
- 6818; // Archer_Soul
- continue;
- case 8:
- mes "- " + .@item_name$[6] + " -";
- mes "^006400This item cannot be traded with other accounts.^000000";
- mes "^006400All State + 1^000000";
- mes "^006400ATK + 4 per 1 refinement level increase^000000";
- mes "^006400Increases ranged physical damage by 1% per 2 refinement level increase.^000000";
- mes "^006400Increases MHP, MSP by 1% per 2 refinement level increase^000000";
- mes "^006400Increases Cart Cannon damage by 15% per 2 refinement level increase.^000000";
- mes "^006400Type: Helmet Defense: 10^000000";
- mes "^006400Location: Top Weight: 10^000000";
- mes "^006400SLOT: 1^000000";
- mes "^006400Required Level: 170 Job: Generic^000000";
- callsub S_Make,
- 18977, // Old_Midas_Whisper
- 19967, // C_Midas_Whisper
- 6815; // Merchant_Soul
- continue;
- case 9:
- mes "- " + .@item_name$[7] + " -";
- mes "^006400This item cannot be traded with other accounts.^000000";
- mes "^006400All State + 1 MDEF+ 5^000000";
- mes "^006400Increases SP regen by 20%.^000000";
- mes "^006400MATK + 1% per each refinement level increase.^000000";
- mes "^006400Increases MHP, MSP by 1% per 2 refinement level increase^000000";
- mes "^006400Increases Soul Expansion damage by 5% per 2 refinement level increase.^000000";
- mes "^006400Reduces Crimson Rock cooldown by 1 second.^000000";
- mes "^006400Reduces Crimson Rock cooldown by 0.1 depending on refinement level.^000000";
- mes "^006400Type: Helmet Defense: 10^000000";
- mes "^006400Location: Top Weight: 10^000000";
- mes "^006400SLOT: 1^000000";
- mes "^006400Required Level: 170 Job: Warlock^000000";
- callsub S_Make,
- 18978, // Old_Magic_Stone_Hat
- 19968, // C_Magic_Stone_Hat
- 6817; // Mage_Soul
- continue;
- case 10:
- mes "- " + .@item_name$[8] + " -";
- mes "^006400This item cannot be traded with other accounts.^000000";
- mes "^006400All State + 1^000000";
- mes "^006400ATK + 4, CRI + 2 per each refinement level increase.^000000";
- mes "^006400Increases MHP, MSP by 1% per 2 refinement level increase^000000";
- mes "^006400Increases Rampage Blaster damage by 15% per 2 refinement level increase.^000000";
- mes "^006400Increases Lightning Shot damage by 20% per 2 refinement level increase.^000000";
- mes "^006400Type: Helmet Defense: 10^000000";
- mes "^006400Location: Top Weight: 10^000000";
- mes "^006400SLOT: 1^000000";
- mes "^006400Required Level: 170 Job: Sura^000000";
- callsub S_Make,
- 18979, // Old_Blazing_Soul
- 19969, // C_Blazing_Soul
- 6819; // Acolyte_Soul
- continue;
- case 11:
- mes "- " + .@item_name$[9] + " -";
- mes "^006400This item cannot be traded with other accounts.^000000";
- mes "^006400All State + 1 MDEF+ 5.^000000";
- mes "^006400MATK + 1%, ATK + 4 per each refinement level increase.^000000";
- mes "^006400Increases MHP, MSP by 1% per 2 refinement level increase^000000";
- mes "^006400Increases Poison Burst damage by 15% per 2 refinement level increase.^000000";
- mes "^006400Increases Varetyr Spear damage by 20% per 2 refinement level increase.^000000";
- mes "^006400Type: Helmet Defense: 10^000000";
- mes "^006400Location: Top Weight: 10^000000";
- mes "^006400SLOT: 1^000000";
- mes "^006400Required Level: 170 Job: Sorcerer^000000";
- callsub S_Make,
- 18980, // Old_Wind_Whisper
- 19970, // C_Wind_Whisper
- 6817; // Mage_Soul
- continue;
- case 12:
- mes "- " + .@item_name$[10] + " -";
- mes "^006400This item cannot be traded with other accounts.^000000";
- mes "^006400All State + 1^000000";
- mes "^006400Increases ranged physical damage by 1% per each refinement level increase.^000000";
- mes "^006400Increases MHP, MSP by 1% per 2 refinement level increase^000000";
- mes "^006400Increases Arrow Vulcan damage by 20% per 2 refinement level increase.^000000";
- mes "^006400Increases Severe Rainstorm damage by 5% per 2 refinement level increase.^000000";
- mes "^006400Type: Helmet Defense: 10^000000";
- mes "^006400Location: Top Weight: 10^000000";
- mes "^006400SLOT: 1^000000";
- mes "^006400Required Level: 170 Job: Wanderer^000000";
- callsub S_Make,
- 18981, // Old_Dying_Swan
- 19971, // C_Dying_Swan
- 6818; // Archer_Soul
- continue;
- case 13:
- mes "- " + .@item_name$[11] + " -";
- mes "^006400This item cannot be traded with other accounts.^000000";
- mes "^006400All State + 1^000000";
- mes "^006400Increases ranged physical damage by 1% per each refinement level increase.^000000";
- mes "^006400Complete evasion +1 per 3 refinement level increase.^000000";
- mes "^006400Increases MHP, MSP by 1% per 2 refinement level increase^000000";
- mes "^006400Increases Cluster Bomb damage by 15% per 2 refinement level increase.^000000";
- mes "^006400Increases Warg Strike damage by 10% per 2 refinement level increase.^000000";
- mes "^006400Type: Helmet Defense: 10^000000";
- mes "^006400Location: Top Weight: 10^000000";
- mes "^006400SLOT: 1^000000";
- mes "^006400Required Level: 170 Job: Ranger^000000";
- callsub S_Make,
- 18984, // Old_Camo_RabbitHood
- 19974, // C_Camouflage_RabbitHood
- 6818; // Archer_Soul
- continue;
- case 14:
- mes "- " + .@item_name$[12] + " -";
- mes "^006400This item cannot be traded with other accounts.^000000";
- mes "^006400All State + 1^000000";
- mes "^006400Increases critical damage by 1% and attack speed per each refinement level increase (Reduces attack delay 1%)^000000";
- mes "^006400Increases MHP, MSP by 1% per 2 refinement level increase^000000";
- mes "^006400Increases Cross Impact damage by 10% per 2 refinement level increase.^000000";
- mes "^006400Increases Cross Reaper Slash damage by 20% per 2 refinement level increase.^000000";
- mes "^006400Type: Helmet Defense: 10^000000";
- mes "^006400Location: Top Weight: 10^000000";
- mes "^006400SLOT: 1^000000";
- mes "^006400Required Level: 170 Job: Guillotine_Cross^000000";
- callsub S_Make,
- 18982, // Old_Circlet_Of_Bone
- 19973, // C_Circlet_Of_Bone
- 6816; // Thief_Soul
- continue;
- case 15:
- mes "- " + .@item_name$[13] + " -";
- mes "^006400This item cannot be traded with other accounts.^000000";
- mes "^006400All State + 1 MDEF+ 5.^000000";
- mes "^006400ATK + 4 per 1 refinement level increase^000000";
- mes "^006400ASPD + 1 per 5 refinement level increase^000000";
- mes "^006400Increases MHP, MSP by 1% per 2 refinement level increase^000000";
- mes "^006400Increases Cannon Spear damage by 20% per 2 refinement level increase.^000000";
- mes "^006400Increases Over Brand damage by 5% per 2 refinement level increase.^000000";
- mes "^006400Type: Helmet Defense: 10^000000";
- mes "^006400Location: Top Weight: 10^000000";
- mes "^006400SLOT: 1^000000";
- mes "^006400Required Level: 170 Job: Royal Guard^000000";
- callsub S_Make,
- 18983, // Old_Protect_Of_Crown
- 19972, // C_Protect_Of_Crown
- 6814; // Swordman_Soul
- continue;
- case 16:
- mes "- " + .@item_name$[14] + "[1] -";
- mes "^006400Legendary clock known to have been worn by those^000000 ^006400who fought bravely and were killed in the battle.";
- mes "Increases MHP, MSP by 1% per 2 refinement level increase";
- mes "ATK + 10 when your character's pure STR reaches 90.";
- mes "(Additional ATK + 2 per each refinement level increase)";
- mes "MATK + 20 when your character's pure INT reaches 90.";
- mes "(Additional MATK + 3 per each refinement level increase)";
- mes "when your character's pure VIT reaches 90";
- mes "3% resistance against normal attack";
- mes "(Additional 3% when refinement level reaches 8,";
- mes "Additional 4% when refinement level reaches 10)";
- mes "when your character's pure AGI reaches 90";
- mes "Increased attack speed (3% attack delay reduction)";
- mes "(Attack delay additionally decreased by 1% per 2 refinement level increase)";
- mes "(Additional ASPD + 1 when your character's refinement level reaches 10.)";
- mes "When your character's pure DEX reaches 90";
- mes "Increases ranged attack power by 3%";
- mes "(Additional 1% per 2 refinement level increase)";
- mes "When your character's LUK reaches 90";
- mes "Increases critical damage by 5%.";
- mes "(Additional 1% per each refinement level increase)";
- mes "Type: Robe Defense: 30";
- mes "Weight: 60";
- mes "SLOT: 1";
- mes "Required Level: 170 Job: All^000000";
- callsub S_Make,
- 20749, // Manteau_Of_Fallen_
- 20748, // Manteau_Of_Fallen
- 6471, // Goast_Chill
- true;
- continue;
- }
- break;
- }
- }
- S_Make:
- .@reward_id = getarg(0);
- .@equipment_req = getarg(1);
- .@item_misc_req = getarg(2);
- if (getarg(3,0)) {
- setarray .@string$[0], "chill", "cloak";
- setarray .@material[0],20,100; // chill, energy
- }
- else {
- setarray .@string$[0], "soul", "hat";
- setarray .@material[0],1,20; // soul, energy
- }
- next;
- mes "[Sorrowful Soul's Mind]";
- mes "In order to make... ^006400" + getitemname(.@reward_id) + "^000000...";
- mes "Bring their... wandering " + .@string$[0] + ", " + .@string$[1] + "... the vessel to hold the soul and... the dark energy... filling up this place...";
- next;
- mes "[Sorrowful Soul's Mind]";
- mes "I need 1 " + getitemname(.@equipment_req) + ", " + .@material[0] + " " + getitemname(.@item_misc_req) + "... " + .@material[1] + " " + getitemname(6820) + "..";
- mes "If 5 times of " + getitemname(6820) + " and " + .@string$[0] + "s are collected... you... will never fail...";
- mes "How... would... you do it?";
- next;
- switch( select( "Go back to the previous menu.", "Use " + .@material[1] + " energies, " + .@material[0] + " " + .@string$[0], "Use " + (.@material[1] * 5) + " energies, " + (.@material[0] * 5) + " " + .@string$[0] + "s" ) ) {
- case 1:
- mes "[Sorrowful Soul's Mind]";
- mes "I hoped that... you could... see... other things... as well...";
- return;
- case 2:
- .@rate = 1;
- break;
- case 3:
- .@rate = 5;
- break;
- }
- if (countitem(.@equipment_req) < 1 || countitem(.@item_misc_req) < (.@material[0] * .@rate) || countitem(6820) < (.@material[1] * .@rate)) {
- mes "[Sorrowful Soul's Mind]";
- mes "You don't... have... enough material... to make... ^006400" + getitemname(.@reward_id) + "^000000...";
- return;
- }
- progressbar "000000",5;
- percentheal -50,-50;
- specialeffect2 EF_POISONSMOKE;
- specialeffect2 EF_NPC_BURNT;
- delitem .@equipment_req, 1;
- delitem .@item_misc_req, (.@material[0] * .@rate);
- delitem 6820, (.@material[1] * .@rate);// Energy Fragment
- if ((20*.@rate) > rand(100)) {
- specialeffect EF_BLACKBODY;
- specialeffect EF_GUMGANG4;
- specialeffect EF_DARKCASTING2;
- specialeffect EF_RG_COIN7;
- mes "[Sorrowful Soul's Mind]";
- mes "Here is... ^006400" + getitemname(.@reward_id) + "^000000...";
- getitem .@reward_id,1;
- }
- else {
- specialeffect EF_POISONSMOKE;
- specialeffect EF_GUMGANG4;
- mes "[Sorrowful Soul's Mind]";
- mes "^006400" + getitemname(.@reward_id) + "^000000... failed...";
- }
- next;
- mes "- I got critical damage - - by the mind's powerful wavelength - - which seeped into my body. -";
- next;
- mes "[Sorrowful Soul's Mind]";
- mes "Is there... anything... I can... help you with?...";
- return;
- }
- // Exchange npcs - safe map (no mobs)
- lhz_d_n2,53,49,4 duplicate(Silent Mind#JCv2) Silent Mind#JCv2C 4_CENERE
- lhz_d_n2,42,49,2 duplicate(Wandering Mind#JCv2) Wandering Mind#JCv2C 4_CENERE
- lhz_d_n2,51,53,4 duplicate(Victimized Soul's Mind#1) Victimized Soul's Mind#1C 4_M_DEATH2
- lhz_d_n2,44,53,6 duplicate(Sorrowful Soul's Mind#1) Sorrowful Soul's Mind#1C 4_M_DEATH
- // Safe map - Exit
- lhz_d_n2,34,45,3 script #lhzdw 1_SHADOW_NPC,{
- mes "[Bastets]";
- mes "You can see the exit.";
- next;
- if (select( "Go back to Lighthalzen.", "Don't go back." ) == 1)
- warp "lighthalzen",310,228;
- end;
- }
- // Heal
- lhz_dun_n,167,259,2 script A Questionable Device#l 4_SYSTEM_BOX,3,3,{
- if (isbegin_quest(14683) == 1) {
- mes "[System Message]";
- mes "Emergency Protocol activated. The user will be able to run RT-223.";
- next;
- if (select( "Do not run.", "Run." ) == 2) {
- mes "[System Message]";
- mes "All personnel should act in accordance with the emergency rules.";
- close;
- }
- specialeffect EF_MAPPILLAR;
- mes "[System Message]";
- mes "Running RT-223 to the user. Standby mode will be activated after this process.";
- specialeffect2 EF_BABY;
- percentheal 100,100;
- completequest 14683;// Mysterious Device
- close;
- }
- end;
- OnTouch:
- npctalk "All personnel should act in accordance with the emergency rules.", "", bc_self;
- end;
- OnInit:
- questinfo( QTYPE_QUEST, QMARK_YELLOW, "isbegin_quest(14683) == 1" );
- end;
- }
- // Misc
- lhz_dun_n,75,121,0 script #Alphoccio_Basil_A1 HIDDEN_WARP_NPC,3,3,{
- end;
- OnTouch:
- specialeffect EF_BAT2;
- disablenpc strnpcinfo(0);
- initnpctimer;
- end;
- OnTimer1000:
- .@npc_name$ = strnpcinfo(0);
- if (.@npc_name$ == "#Alphoccio_Basil_A1") npctalk "It was my mistake to think that this will be just traveling...", "#lhz_dun_talk_A23";
- else if (.@npc_name$ == "#Alphoccio_Basil_A2") npctalk "I thought we could make songs and travel around the world forever...", "#lhz_dun_talk_A24";
- else if (.@npc_name$ == "#Catherine Cheiron_A1") npctalk "It's a very strange trick...", "#lhz_dun_talk_A5";
- else if (.@npc_name$ == "#Flamel_Emule_A1") npctalk "I've never felt so helpless before...", "#lhz_dun_talk_A15";
- else if (.@npc_name$ == "#Gertie_Wie_A1") npctalk "We have been used...", "#lhz_dun_talk_A21";
- else if (.@npc_name$ == "#Gertie_Wie_A2") npctalk "I should have received more money if I knew this would happen...", "#lhz_dun_talk_A22";
- else if (.@npc_name$ == "#Harword Alt-Eisen_A2") npctalk "I cannot see my future anymore...", "#lhz_dun_talk_A10";
- else if (.@npc_name$ == "#Shecil_Damon_A2") npctalk "I cannot die like this here...", "#lhz_dun_talk_A12";
- else if (.@npc_name$ == "#Flamel_Emule_A2") npctalk "I feel like... my consciousness... is no longer me...", "#lhz_dun_talk_A16";
- // incomplete
- end;
- OnTimer40000:
- stopnpctimer;
- enablenpc strnpcinfo(0);
- end;
- }
- lhz_dun_n,92,102,0 duplicate(#Alphoccio_Basil_A1) #Alphoccio_Basil_A2 HIDDEN_WARP_NPC,3,3
- lhz_dun_n,150,74,0 duplicate(#Alphoccio_Basil_A1) #Catherine Cheiron_A1 HIDDEN_WARP_NPC,3,3
- lhz_dun_n,174,98,0 duplicate(#Alphoccio_Basil_A1) #Katrinn Chiron_A2 HIDDEN_WARP_NPC,3,3
- lhz_dun_n,25,65,0 duplicate(#Alphoccio_Basil_A1) #Celia_Alde_A1 HIDDEN_WARP_NPC,3,3
- lhz_dun_n,60,102,0 duplicate(#Alphoccio_Basil_A1) #Celia_Alde_A2 HIDDEN_WARP_NPC,3,3
- lhz_dun_n,194,188,0 duplicate(#Alphoccio_Basil_A1) #Chen_Liu_A1 HIDDEN_WARP_NPC,3,3
- lhz_dun_n,255,206,0 duplicate(#Alphoccio_Basil_A1) #Chen_Liu_A2 HIDDEN_WARP_NPC,3,3
- lhz_dun_n,81,184,0 duplicate(#Alphoccio_Basil_A1) #Eremes_Guille_A1 HIDDEN_WARP_NPC,3,3
- lhz_dun_n,113,191,0 duplicate(#Alphoccio_Basil_A1) #Eremes_Guille_A2 HIDDEN_WARP_NPC,3,3
- lhz_dun_n,84,87,0 duplicate(#Alphoccio_Basil_A1) #Flamel_Emule_A1 HIDDEN_WARP_NPC,3,3
- lhz_dun_n,39,55,0 duplicate(#Alphoccio_Basil_A1) #Flamel_Emule_A2 HIDDEN_WARP_NPC,3,3
- lhz_dun_n,232,198,0 duplicate(#Alphoccio_Basil_A1) #Gertie_Wie_A1 HIDDEN_WARP_NPC,3,3
- lhz_dun_n,130,148,0 duplicate(#Alphoccio_Basil_A1) #Gertie_Wie_A2 HIDDEN_WARP_NPC,3,3
- lhz_dun_n,119,195,0 duplicate(#Alphoccio_Basil_A1) #Harword Alt-Eisen_A1 HIDDEN_WARP_NPC,3,3
- lhz_dun_n,158,210,0 duplicate(#Alphoccio_Basil_A1) #Harword Alt-Eisen_A2 HIDDEN_WARP_NPC,3,3
- lhz_dun_n,159,122,0 duplicate(#Alphoccio_Basil_A1) #Magaleta_Sorin_A1 HIDDEN_WARP_NPC,3,3
- lhz_dun_n,133,39,0 duplicate(#Alphoccio_Basil_A1) #Magaleta_Sorin_A2 HIDDEN_WARP_NPC,3,3
- lhz_dun_n,168,193,0 duplicate(#Alphoccio_Basil_A1) #Randel_Lawrence_A1 HIDDEN_WARP_NPC,3,3
- lhz_dun_n,188,188,0 duplicate(#Alphoccio_Basil_A1) #Randel_Lawrence_A2 HIDDEN_WARP_NPC,3,3
- lhz_dun_n,44,155,0 duplicate(#Alphoccio_Basil_A1) #Seyren Windsor_A1 HIDDEN_WARP_NPC,3,3
- lhz_dun_n,54,221,0 duplicate(#Alphoccio_Basil_A1) #Seyren Windsor_A2 HIDDEN_WARP_NPC,3,3
- lhz_dun_n,249,66,0 duplicate(#Alphoccio_Basil_A1) #Shecil_Damon_A1 HIDDEN_WARP_NPC,3,3
- lhz_dun_n,213,97,0 duplicate(#Alphoccio_Basil_A1) #Shecil_Damon_A2 HIDDEN_WARP_NPC,3,3
- lhz_dun_n,191,129,0 duplicate(#Alphoccio_Basil_A1) #Trentini_A1 HIDDEN_WARP_NPC,3,3
- lhz_dun_n,259,132,0 duplicate(#Alphoccio_Basil_A1) #Trentini_A2 HIDDEN_WARP_NPC,3,3
- lhz_dun_n,44,155,6 script #lhz_dun_talk_A1 CLEAR_NPC,{ end; }
- lhz_dun_n,54,221,6 duplicate(#lhz_dun_talk_A1) #lhz_dun_talk_A2 CLEAR_NPC
- lhz_dun_n,159,122,6 duplicate(#lhz_dun_talk_A1) #lhz_dun_talk_A3 CLEAR_NPC
- lhz_dun_n,133,39,6 duplicate(#lhz_dun_talk_A1) #lhz_dun_talk_A4 CLEAR_NPC
- lhz_dun_n,150,74,6 duplicate(#lhz_dun_talk_A1) #lhz_dun_talk_A5 CLEAR_NPC
- lhz_dun_n,174,98,6 duplicate(#lhz_dun_talk_A1) #lhz_dun_talk_A6 CLEAR_NPC
- lhz_dun_n,81,184,6 duplicate(#lhz_dun_talk_A1) #lhz_dun_talk_A7 CLEAR_NPC
- lhz_dun_n,113,191,6 duplicate(#lhz_dun_talk_A1) #lhz_dun_talk_A8 CLEAR_NPC
- lhz_dun_n,119,195,6 duplicate(#lhz_dun_talk_A1) #lhz_dun_talk_A9 CLEAR_NPC
- lhz_dun_n,158,210,6 duplicate(#lhz_dun_talk_A1) #lhz_dun_talk_A10 CLEAR_NPC
- lhz_dun_n,249,66,6 duplicate(#lhz_dun_talk_A1) #lhz_dun_talk_A11 CLEAR_NPC
- lhz_dun_n,213,97,6 duplicate(#lhz_dun_talk_A1) #lhz_dun_talk_A12 CLEAR_NPC
- lhz_dun_n,168,193,6 duplicate(#lhz_dun_talk_A1) #lhz_dun_talk_A13 CLEAR_NPC
- lhz_dun_n,188,188,6 duplicate(#lhz_dun_talk_A1) #lhz_dun_talk_A14 CLEAR_NPC
- lhz_dun_n,84,87,6 duplicate(#lhz_dun_talk_A1) #lhz_dun_talk_A15 CLEAR_NPC
- lhz_dun_n,39,55,6 duplicate(#lhz_dun_talk_A1) #lhz_dun_talk_A16 CLEAR_NPC
- lhz_dun_n,25,65,6 duplicate(#lhz_dun_talk_A1) #lhz_dun_talk_A17 CLEAR_NPC
- lhz_dun_n,60,102,6 duplicate(#lhz_dun_talk_A1) #lhz_dun_talk_A18 CLEAR_NPC
- lhz_dun_n,194,188,6 duplicate(#lhz_dun_talk_A1) #lhz_dun_talk_A19 CLEAR_NPC
- lhz_dun_n,255,206,6 duplicate(#lhz_dun_talk_A1) #lhz_dun_talk_A20 CLEAR_NPC
- lhz_dun_n,232,198,6 duplicate(#lhz_dun_talk_A1) #lhz_dun_talk_A21 CLEAR_NPC
- lhz_dun_n,130,148,6 duplicate(#lhz_dun_talk_A1) #lhz_dun_talk_A22 CLEAR_NPC
- lhz_dun_n,75,121,6 duplicate(#lhz_dun_talk_A1) #lhz_dun_talk_A23 CLEAR_NPC
- lhz_dun_n,92,102,6 duplicate(#lhz_dun_talk_A1) #lhz_dun_talk_A24 CLEAR_NPC
- lhz_dun_n,191,129,6 duplicate(#lhz_dun_talk_A1) #lhz_dun_talk_A25 CLEAR_NPC
- lhz_dun_n,259,132,6 duplicate(#lhz_dun_talk_A1) #lhz_dun_talk_A26 CLEAR_NPC
- // npc location -> quest ID inaccurate
- lhz_dun_n,132,61,2 script A Questionable Device#14684 4_SYSTEM_BOX,5,5,{
- end;
- OnTouch:
- .@quest_id = atoi(strnpcinfo(2));
- switch( checkquest(.@quest_id,PLAYTIME) ) {
- case -1:
- break;
- case 0:
- case 1:
- npctalk "... Current... Required... Cool.. Down..Time..";
- end;
- case 2:
- erasequest .@quest_id;
- break;
- }
- specialeffect EF_MAPPILLAR;
- npctalk "Emergency Protocol... Activated.. to.. RT..017... Cooldown... 1 hour......";
- specialeffect2 EF_BABY;
- setquest .@quest_id;// Mysterious Device
- switch( .@quest_id ) {
- case 14684:
- // atk dmg+10%, def+10% on monsters (inaccurates, unknown values)
- // atk+: Swordman, Thief / def+: Acolyte, Merchant
- sc_start2 SC_LHZ_DUN_N1,1800000,10,10,10000,SCSTART_NOTICKDEF; /// last 30 mins
- break;
- case 14685:
- // atk+: Acolyte, Merchant / def+: Mage, Archer
- sc_start2 SC_LHZ_DUN_N2,1800000,10,10,10000,SCSTART_NOTICKDEF;
- break;
- case 14686:
- // atk+: Mage, Archer / def+: Swordman, Thief
- sc_start2 SC_LHZ_DUN_N3,1800000,10,10,10000,SCSTART_NOTICKDEF;
- break;
- case 14687:
- // atk+: MvPs / def+: MvPs
- sc_start2 SC_LHZ_DUN_N4,1800000,10,10,10000,SCSTART_NOTICKDEF;
- break;
- }
- end;
- OnInit:
- .@condition$ = "!isbegin_quest(" + strnpcinfo(2) + ")";
- questinfo( QTYPE_QUEST, QMARK_YELLOW, .@condition$ );
- end;
- }
- lhz_dun_n,53,127,2 duplicate(A Questionable Device#14684) A Questionable Device#14685 4_SYSTEM_BOX,5,5
- lhz_dun_n,214,127,2 duplicate(A Questionable Device#14684) A Questionable Device#14686 4_SYSTEM_BOX,5,5
- lhz_dun_n,148,148,2 duplicate(A Questionable Device#14684) A Questionable Device#14687 4_SYSTEM_BOX,5,5
- /*
- // Unknown effects
- lhz_dun_n,130,204,2 script Dead Man#lhzd01 4_TOWER_06,5,5
- lhz_dun_n,78,133,2 script Dead Man#lhzd02 4_TOWER_06,5,5
- lhz_dun_n,47,65,2 script Dead Man#lhzd03 4_TOWER_06,5,5
- lhz_dun_n,141,39,2 script Dead Man#lhzd04 4_TOWER_06,5,5
- lhz_dun_n,123,85,2 script Dead Man#lhzd05 4_TOWER_06,5,5
- lhz_dun_n,212,71,2 script Dead Man#lhzd06 4_TOWER_06,5,5
- lhz_dun_n,213,109,2 script Dead Man#lhzd07 4_TOWER_06,5,5
- lhz_dun_n,145,179,2 script Dead Man#lhzd08 4_TOWER_06,5,5
- lhz_dun_n,233,135,2 script Dead Man#lhzd09 4_TOWER_06,5,5
- lhz_dun_n,241,201,2 script Dead Man#lhzd10 4_TOWER_06,5,5
- lhz_dun_n,150,211,2 script Dead Man#lhzd11 4_TOWER_03,5,5
- lhz_dun_n,69,144,2 script Dead Man#lhzd12 4_TOWER_03,5,5
- lhz_dun_n,113,81,2 script Dead Man#lhzd13 4_TOWER_03,5,5
- lhz_dun_n,144,64,2 script Dead Man#lhzd14 4_TOWER_03,5,5
- lhz_dun_n,157,93,2 script Dead Man#lhzd15 4_TOWER_03,5,5
- lhz_dun_n,231,69,2 script Dead Man#lhzd16 4_TOWER_03,5,5
- lhz_dun_n,179,107,2 script Dead Man#lhzd17 4_TOWER_03,5,5
- lhz_dun_n,172,175,2 script Dead Man#lhzd18 4_TOWER_03,5,5
- lhz_dun_n,228,149,2 script Dead Man#lhzd19 4_TOWER_03,5,5
- lhz_dun_n,248,218,2 script Dead Man#lhzd20 4_TOWER_03,5,5
- lhz_dun_n,139,233,2 script Dead Man#lhzd21 4_TOWER_08,5,5
- lhz_dun_n,69,110,2 script Dead Man#lhzd22 4_TOWER_08,5,5
- lhz_dun_n,100,109,2 script Dead Man#lhzd23 4_TOWER_08,5,5
- lhz_dun_n,137,72,2 script Dead Man#lhzd24 4_TOWER_08,5,5
- lhz_dun_n,169,85,2 script Dead Man#lhzd25 4_TOWER_08,5,5
- lhz_dun_n,245,63,2 script Dead Man#lhzd26 4_TOWER_08,5,5
- lhz_dun_n,182,126,2 script Dead Man#lhzd27 4_TOWER_08,5,5
- lhz_dun_n,182,154,2 script Dead Man#lhzd28 4_TOWER_08,5,5
- lhz_dun_n,246,141,2 script Dead Man#lhzd29 4_TOWER_08,5,5
- lhz_dun_n,236,226,2 script Dead Man#lhzd30 4_TOWER_08,5,5
- lhz_dun_n,38,200,2 script Dead Man#lhzd31 4_TOWER_11,5,5
- lhz_dun_n,95,86,2 script Dead Man#lhzd32 4_TOWER_11,5,5
- lhz_dun_n,98,138,2 script Dead Man#lhzd33 4_TOWER_11,5,5
- lhz_dun_n,145,89,2 script Dead Man#lhzd34 4_TOWER_11,5,5
- lhz_dun_n,186,92,2 script Dead Man#lhzd35 4_TOWER_11,5,5
- lhz_dun_n,181,148,2 script Dead Man#lhzd36 4_TOWER_11,5,5
- lhz_dun_n,181,148,2 script Dead Man#lhzd37 4_TOWER_11,5,5
- lhz_dun_n,203,144,2 script Dead Man#lhzd38 4_TOWER_11,5,5
- lhz_dun_n,240,134,2 script Dead Man#lhzd39 4_TOWER_11,5,5
- lhz_dun_n,141,129,2 script Dead Man#lhzd40 4_TOWER_11,5,5
- lhz_dun_n,81,160,2 script Dead Man#lhzd41 4_TOWER_13,5,5
- lhz_dun_n,41,77,2 script Dead Man#lhzd42 4_TOWER_13,5,5
- lhz_dun_n,99,162,2 script Dead Man#lhzd43 4_TOWER_13,5,5
- lhz_dun_n,136,95,2 script Dead Man#lhzd44 4_TOWER_13,5,5
- lhz_dun_n,184,80,2 script Dead Man#lhzd45 4_TOWER_13,5,5
- lhz_dun_n,202,102,2 script Dead Man#lhzd46 4_TOWER_13,5,5
- lhz_dun_n,157,143,2 script Dead Man#lhzd47 4_TOWER_13,5,5
- lhz_dun_n,202,133,2 script Dead Man#lhzd48 4_TOWER_13,5,5
- lhz_dun_n,220,178,2 script Dead Man#lhzd49 4_TOWER_13,5,5
- lhz_dun_n,131,148,2 script Dead Man#lhzd50 4_TOWER_13,5,5
- */
|