diff options
Diffstat (limited to 'npc/re/jobs/3-1/warlock.txt')
-rw-r--r-- | npc/re/jobs/3-1/warlock.txt | 1094 |
1 files changed, 1094 insertions, 0 deletions
diff --git a/npc/re/jobs/3-1/warlock.txt b/npc/re/jobs/3-1/warlock.txt new file mode 100644 index 000000000..363597c10 --- /dev/null +++ b/npc/re/jobs/3-1/warlock.txt @@ -0,0 +1,1094 @@ +//===== rAthena Script ======================================= +//= Warlock Job Quest +//===== By: ================================================== +//= Muad_Dib, Gepard & L0ne_W0lf +//===== Current Version: ===================================== +//= 1.3 +//===== Compatible With: ===================================== +//= rAthena SVN +//===== Description: ========================================= +//= [Official Conversion] +//= Job change Quest from Wizard / High Wizard -> Warlock. +//===== Additional Comments: ================================= +//= 1.0 First version. [Masao] +//= 1.1 Fixed some conversion mistakes, replaced numbers with +//= constants, added item names in comments. +//= 1.2 Fixed the problem where NPC are not enabled and chamber +//= will never open for the second try or use. +//= 1.2a Fixed a typo. [Euphy] +//= 1.3 Updated script, optimized. [Euphy] +//============================================================ + +morocc,103,144,0 script #distorted_space_1 139,1,1,{ +OnTouch: + if (job_wl > 1) { + mes " - There is a strange distortion here - "; + if (strnpcinfo(0) == "#distorted_space_1" && (Class == Job_Warlock || Class == Job_Warlock_T || Class == Job_Baby_Warlock)) { + close2; + if (countitem(6153) > 0) + warp "spl_in02",79,102; + end; + } + next; + switch(select("Extend your hand.:Ignore it.")) { + case 1: + mes " - I extend my arm as a fierce sound resonates in my ear and a cool wave surrounds me - "; + close2; + warp "spl_in02",79,102; + end; + case 2: + mes " - You ignore the distortion. - "; + close; + } + } + if (BaseLevel > 94 && (strnpcinfo(0) == "#distorted_space_2" || BaseJob == Job_Wizard)) { + mes " - There is a strange distortion here - "; + next; + switch(select("Search the area.:Ignore it.")) { + case 1: + mes " - There appears to be nothing here. But I can definitely feel something around here... - "; + next; + switch(select("Extend arm.:Leave it alone.")) { + case 1: + mes " - I extend my arm as a fierce sound resonates in my ear and a cool wave surrounds me - "; + close2; + warp "spl_in02",79,102; + end; + case 2: + mes " - You decide to leave it alone. - "; + close; + } + case 2: + mes " - You ignore it. - "; + close; + } + } + end; +} +splendide,141,284,0 duplicate(#distorted_space_1) #distorted_space_2 139,1,1 + +function script F_Warlock { + mes "[Assistant]"; + mes "Huh!!! Human!?!"; + mes "How did you enter here?"; + mes "This is only connected with a special gate!"; + next; + mes "[Assistant]"; + mes "I don't know how..."; + mes "But we should leave before my master spots you...!"; + next; + mes "[???]"; + mes "What's that noise out there?"; + mes "I warned them to be quiet while I'm meditating."; + next; + mes "[Assistant]"; + mes "Huh!?!"; + mes "Master..."; + mes "It's nothing..."; + next; + mes "[Master]"; + mes "Oh~ there's a human being in front of me."; + next; + mes "[Assistant]"; + mes "Oh this thing?"; + mes "I was just leading it out."; + next; + mes "[Master]"; + mes "Yoop!!!"; + next; + mes "[Yoop]"; + mes "Yeap...!!"; + next; + mes "[Master]"; + mes "There's the warp portal beyond you... Is it an illusion?"; + next; + mes "[Yoop]"; + mes "Sorry!!!"; + mes "It's my mistake..."; + next; + mes "[Master]"; + mes "Fool..."; + mes "I'll deal with you after you send the human away."; + next; + mes "[Master]"; + mes "MushSartas Ir Cyamar"; + mes "UdenLo"; + if (BaseJob == Job_Wizard) { + next; + mes " - The fairy with the green hair chants a spell. - "; + mes " - I feel like something special surrounds me. - "; + specialeffect2 EF_DISPELL; + next; + mes "[Master]"; + mes "Oh, that's interesting."; + mes "How dare you resist me human?"; + next; + if (BaseLevel > 98 && JobLevel > 49) { + select("I'm not sure. Who are you?"); + mes "[Master]"; + mes "I am the leader of the ^000077Warlock^000000s."; + mes "'^000077Sila Egnoloria^000000'"; + mes "If you are a Wizard, it would be good of you to memorize my name."; + next; + select("What is a ^000077Warlock^000000?"); + mes "[Master Egnoloria]"; + mes "Oh...are you interested?"; + next; + mes "[Master Egnoloria]"; + mes "A ^000077Warlock^000000 is someone who uses the magic of the giants of Jotunheim."; + mes "It can't be defined in any other words."; + next; + mes "[Master Egnoloria]"; + mes "Only the strong magic can explain it."; + next; + select("Could I become Warlock?"); + mes "[Master Egnoloria]"; + mes "You?"; + mes "You want to become a Warlock?"; + mes "Hahaha"; + next; + mes "[Master Egnoloria]"; + mes "You're so interesting."; + mes "It would be difficult for a human to become a Warlock."; + mes "The strong power would gnaw at your weak body."; + next; + mes "[Master Egnoloria]"; + mes "If you dare to face death, you can try to become one."; + next; + switch(select("What do I need to do?:Cancel.")) { + case 1: + mes "[Master Egnoloria]"; + mes "Are you serious?"; + mes "You hunger for power don't you human."; + next; + mes "[Master Egnoloria]"; + mes "The strong desire to be more powerful makes your soul more beautiful."; + next; + mes "[Master Egnoloria]"; + mes "But, I need to check that you're qualified."; + next; + mes "[Master Egnoloria]"; + mes "Yoop!"; + next; + mes "[Yoop]"; + mes "Yeap!!"; + next; + mes "[Master Egnoloria]"; + mes "Give this to the human."; + next; + mes "[Master Egnoloria]"; + mes "Talk to the guy with the weird hair."; + mes "He'll let you know what you should do."; + set job_wl,2; + setquest 11106; + close; + case 2: + mes "[Master Egnoloria]"; + mes "Good."; + mes "You are a human being so that's for you."; + set job_wl,1; + close2; + warp "splendide",200,100; + end; + } + } + mes "[Master]"; + mes "You're still quite far too low of a level to even consider this."; + } + close2; + warp "splendide",200,100; + end; +} + +spl_in02,77,107,5 script Assistant#Warlock1 446,{ + if (job_wl == 0) { + callfunc "F_Warlock"; + end; + } else if (job_wl == 1) { + mes "[Yoop]"; + mes "You're... we've met before."; + mes "Can you imagine how severely I was scolded by my master?!"; + mes "If you have any business with me, just go away!"; + next; + switch(select("Leave.:Stay.")) { + case 1: + mes "[Yoop]"; + mes "Leave me alone...!"; + close2; + warp "splendide",200,100; + end; + case 2: + mes "[Yoop]"; + mes "What?!"; + mes "Just do whatever you want..."; + mes "My master will deal with you then."; + close; + } + } else if (job_wl == 2 || job_wl == 3) { + mes "[Yoop]"; + if (job_wl == 2) { + mes "Dear, master! My pony-tail is funny looking?!"; + mes "Oh, but I spent a lot time on it!"; + next; + mes "[Master Egnoloria]"; + mes "It's noisy."; + mes "I need to meditate"; + mes "so do as I said."; + next; + mes "[Yoop]"; + mes "Huh.."; + mes "Oh, yeah!"; + next; + mes "[Yoop]"; + mes "Hey, human!"; + mes "Would you like to"; + mes "become a Warlock?"; + next; + } + if (SkillPoint != 0) { + mes "First, use all of your remaining job skill points before continuing."; + set job_wl,3; + close; + } + mes "This is the Master's"; + mes "decision so let me know."; + next; + mes "[Yoop]"; + mes "We need to test if your body can withstand being a Warlock."; + mes "So you need to gather materials to prove yourself."; + next; + mes "[Yoop]"; + mes "Please gather ^000077Glittering Crystal^000000s and ^000077Giant Bradium Fragment^000000s."; + next; + callsub L_Quest,1; + close; + } else if (job_wl == 4) { + if (countitem(6152) == 0 || countitem(6151) == 0) + callsub L_Quest,0; + else { + mes "[Yoop]"; + mes "I can't conduct the task here. I need to go to my lab."; + mes "My lab is located on the north western part of Splendide."; + } + close; + } else if (job_wl == 5) { + mes "[Yoop]"; + mes "This stone is well made."; + mes "Please go to my Master."; + close; + } else { + mes "[Yoop]"; + mes "A Magic Chamber is created from magic materials."; + next; + mes "[Yoop]"; + mes "This combined stone is formed differently according to the raw materials and the way of treating it."; + next; + mes "[Yoop]"; + mes "But most of stones are quite similar!"; + mes "We can't differentiate them easily."; + next; + mes "[Yoop]"; + mes "Even I don't know how it all works."; + close; + } + +L_Quest: + mes "[Yoop]"; + mes "You must be wearing these Magical Stone Rings to get these items while hunting."; + mes "You need to hunt Naga and Bradium Golems while wearing these rings."; + next; + if (getarg(0)) { + mes "[Yoop]"; + mes "Show us how strong you are. And don't forget to wear this."; + set job_wl,4; + getitem 2796,1; //Magical_Stone + getitem 2797,1; //Magical_Stone_ + changequest 11106,11107; + next; + } + mes "[Yoop]"; + mes "Bring these stones with you or else you won't be able to return!"; + mes "Be careful!"; + next; + mes "[Yoop]"; + mes "The person next to my Master will let you out if you talk to him."; + next; + mes "[Yoop]"; + mes "My lab is located on the north western part of Splendide. Bring these to me when you've gathered them."; + return; +} + +spl_in02,60,231,5 script Yoop#Warlock 446,{ + mes "[Yoop]"; + if (job_wl < 4) { + mes "Who are you?"; + mes "Get out of here!"; + close; + } else if (job_wl == 4) { + mes "You're back?"; + next; + switch(select("I brought the materials.:I've lost the Magical Stones.:Nothing.")) { + case 1: + mes "[Yoop]"; + if (countitem(6152) == 0 || countitem(6151) == 0) { + mes "......"; + mes "......Where?"; + mes "Don't bother me!"; + next; + mes "[Yoop]"; + mes "We need to test if your body can withstand being a Warlock."; + mes "So you need to gather materials to prove yourself."; + next; + mes "[Yoop]"; + mes "Please gather ^000077Glittering Crystal^000000s and ^000077Giant Bradium Fragment^000000s."; + next; + mes "[Yoop]"; + mes "You must be wearing these Magical Stone Rings to get these items while hunting."; + mes "You need to hunt Naga and Bradium Golems while wearing these rings."; + next; + mes "[Yoop]"; + mes "Bring these stones with you or else you won't be able to return!"; + mes "Be careful!"; + close; + } else if (countitem(6152) && countitem(6151)) { + if (isequipped(2796) || isequipped(2797)) { + mes "Bring me back the magical stones."; + close; + } + if (countitem(2796) == 0 || countitem(2797) == 0) { + mes "It seems that you don't have it?"; + mes "You lost it?"; + next; + mes "[Yoop]"; + mes "Please find that stone and come back to me."; + close; + } + mes "Alright! All the materials are ready!"; + mes "While I am concentrating on working on this stone. Can you go back to my master?"; + mes "I will follow up once it's done."; + delitem 2796,countitem(2796); //Magical_Stone + delitem 2797,countitem(2797); //Magical_Stone_ + delitem 6152,countitem(6152); //Glittering_Crystal + delitem 6151,countitem(6151); //Peice_Of_Great_Bradium + set job_wl,5; + changequest 11107,11108; + close; + } + case 2: + mes "[Yoop]"; + mes "What?!"; + mes "I asked you to double check it and make sure you wore it!"; + next; + mes "[Yoop]"; + mes "Please check whether you misplaced it or if you already have it equipped."; + next; + switch(select("I found it.:Nah.")) { + case 1: + mes "[Yoop]"; + mes "Don't tease me!"; + mes "It's not hard to tell if you have it or not!"; + close; + case 2: + if ((isequipped(2796) == 0 && countitem(2796) == 0) || (isequipped(2797) == 0 && countitem(2797) == 0)) { + if (countitem(732) > 0) { + switch(select("Give 3 carat diamond.:Just quit it.")) { + case 1: + mes "[Yoop]"; + mes "I will overlook your fault."; + mes "Please be careful with it."; + delitem 732,1; //Crystal_Jewel__ + if (isequipped(2796) == 0 && countitem(2796) == 0) + getitem 2796,1; //Magical_Stone + if (isequipped(2797) == 0 && countitem(2797) == 0) + getitem 2797,1; //Magical_Stone_ + close; + case 2: + mes "[Yoop]"; + mes "Just show me your good faith!"; + close; + } + } + mes "[Yoop]"; + mes "How can you can say that?"; + mes "^000077Just apologize^000000!"; + mes "I guess I could give you more stones if you give me say a 3 carat diamond..."; + close; + } + mes "[Yoop]"; + if (isequipped(2796) || isequipped(2797)) { + mes "Please check your equipment window..."; + mes "You sure you don't have it?"; + close; + } + mes "Then what's that you are holding now...?"; + close; + } + case 3: + mes "[Yoop]"; + mes "What...?"; + mes "Don't bother me, I am quite busy."; + close; + } + } else { + mes "I am focusing on meditating."; + mes "So I can create magic."; + next; + mes "[Yoop]"; + mes "And... you seem to have more talent on this than regular mages."; + mes "Maybe if I become an alchemist, I might be better than I am now don't you think?"; + next; + mes "[Yoop]"; + mes "I'm studying to better myself."; + next; + mes "[Yoop]"; + mes "If am inside of 'the room of time and magic', I will catch up with your power!"; + mes "Hahahaha..."; + close; + } +} + +spl_in02,84,103,3 script Assistant#Warlock2 439,{ + if (job_wl == 0) { + callfunc "F_Warlock"; + end; + } else if (job_wl == 1) { + mes "[Assistant]"; + mes "Human! What do you want?"; + close; + } else if (job_wl < 6) { + mes "[Assistant]"; + mes "It's not me you are looking for currently."; + close; + } else if (job_wl == 6) { + if (checkweight(1201,1) == 0 || MaxWeight - Weight < 3500) { + mes "You're carring out too many items."; + mes "You'd better minimize your weight."; + close; + } + mes "[Yoop]"; + mes "The test isn't that hard."; + mes "We can create the magic stone in the magic room."; + next; + mes "[Yoop]"; + mes "Be careful of the monsters in the test room."; + mes "These are rainbow Rubies sealed with a Warlock's magic."; + mes "Use these during the test."; + next; + mes "[Yoop]"; + mes "I will guide you into the magic room."; + set job_wl,7; + changequest 11109,11110; + getitem 12384,5; //Rainbow_Ruby_Water + getitem 12386,5; //Rainbow_Ruby_Wind + getitem 12387,5; //Rainbow_Ruby_Earth + getitem 12385,5; //Rainbow_Ruby_Fire + close2; + warp "job3_war01",23,20; + end; + } else if (job_wl == 7) { + if (checkweight(1201,1) == 0 || MaxWeight - Weight < 3500) { + mes "You're carring out too many items."; + mes "You'd better minimize your weight."; + close; + } + mes "[Yoop]"; + mes "Would you like to try it again?"; + mes "Let me give you more rubies."; + next; + if (countitem(12384)) delitem 12384,countitem(12384); //Rainbow_Ruby_Water + if (countitem(12386)) delitem 12386,countitem(12386); //Rainbow_Ruby_Wind + if (countitem(12387)) delitem 12387,countitem(12387); //Rainbow_Ruby_Earth + if (countitem(12385)) delitem 12385,countitem(12385); //Rainbow_Ruby_Fire + getitem 12384,5; //Rainbow_Ruby_Water + getitem 12386,5; //Rainbow_Ruby_Wind + getitem 12387,5; //Rainbow_Ruby_Earth + getitem 12385,5; //Rainbow_Ruby_Fire + close2; + warp "job3_war01",23,20; + end; + } else if (job_wl == 8) { + mes "[Yoop]"; + mes "You have successfully crystallized the Hollow Stone."; + mes "I'm sorry that I've doubted you."; + if (countitem(12384)) delitem 12384,countitem(12384); //Rainbow_Ruby_Water + if (countitem(12386)) delitem 12386,countitem(12386); //Rainbow_Ruby_Wind + if (countitem(12387)) delitem 12387,countitem(12387); //Rainbow_Ruby_Earth + if (countitem(12385)) delitem 12385,countitem(12385); //Rainbow_Ruby_Fire + next; + mes "[Yoop]"; + mes "All of the tests are done. Now talk to Master Engoloria."; + mes "I'm so happy that you have succeeded."; + set job_wl,9; + changequest 11111,11112; + close; + } else if (job_wl == 9) { + mes "[Yoop]"; + mes "All of the tests are done. Now talk to Master Engoloria."; + mes "I'm so happy that you have succeeded."; + close; + } else { + mes "[Yoop]"; + mes "I can feel that you have strong magic."; + mes "I envy you."; + next; + mes "[Yoop]"; + mes "It deserves something special."; + mes "Don't abuse it."; + close; + } +} + +spl_in02,78,110,5 script Assistant#Warlock3 437,{ + if (job_wl == 0) { + callfunc "F_Warlock"; + end; + } + mes "[Assistant]"; + mes "......"; + switch(job_wl) { + case 1: mes "If you don't have anything to say to me, would you just leave?"; break; + case 2: mes "I don't have a pony-tail..."; break; + default: mes "Please be quiet while my master is meditating."; break; + } + next; + switch(select("Leave:Stay")) { + case 1: + mes "[Assistant]"; + mes "Then be careful."; + close2; + warp "splendide",200,100; + end; + case 2: + mes "[Assistant]"; + mes "......"; + close; + } +} + +spl_in02,80,108,5 script Guild Master#Warlock 465,{ + if (job_wl == 0) { + callfunc "F_Warlock"; + end; + } else if (job_wl == 1) { + mes "[Master Egnoloria]"; + mes "Do you have something to ask me?"; + next; + switch(select("How can I be a Warlock?:Cancel.")) { + case 1: + mes "[Master Egnoloria]"; + mes "Are you serious?"; + mes "You hunger for power don't you human."; + next; + mes "[Master Egnoloria]"; + mes "The strong desire to be more powerful makes your soul more beautiful."; + next; + mes "[Master Egnoloria]"; + mes "But, I need to check that you're qualified."; + next; + mes "[Master Egnoloria]"; + mes "Yoop!"; + next; + mes "[Yoop]"; + mes "Yeap!!"; + next; + mes "[Master Egnoloria]"; + mes "Give this to the human."; + next; + mes "[Master Egnoloria]"; + mes "Talk to the guy with the weird hair."; + mes "He'll let you know what you should do."; + set job_wl,2; + setquest 11106; + close; + case 2: + mes "[Master Egnoloria]"; + mes "Good."; + mes "You are a human being so that's for you."; + close2; + warp "splendide",200,100; + end; + } + } else if (job_wl == 2) { + mes "[Master Egnoloria]"; + mes "I'm meditating, I said talk to Yoop ok."; + mes "Yoop has a funny pony-tail."; + mes "And don't disturb me."; + close; + } else if (job_wl == 3 || job_wl == 4) { + mes "[Master Egnoloria]"; + mes "......"; + next; + mes "[Assistant]"; + mes "Master is meditating."; + mes "Be quiet."; + close; + } else if (job_wl == 5) { + mes "[Master Egnoloria]"; + mes "I've heard from Yoop that a very useful stone can be created."; + next; + mes "[Master Egnoloria]"; + mes "It can be used to make magical jewelry that can cast powerful magic."; + next; + mes "[Master Egnoloria]"; + mes "Yoop."; + next; + mes "[Yoop]"; + mes "Yeap, Master!"; + next; + mes "[Master Egnoloria]"; + mes "Please take him to the magical room."; + next; + mes "[Yoop]"; + mes "Yup, Master."; + mes "Please follow me."; + emotion e_ic,0,"Assistant#Warlock2"; + set job_wl,6; + changequest 11108,11109; + close; + } else if (job_wl < 9) { + mes "[Master Egnoloria]"; + mes "......"; + next; + mes "[Yoop]"; + mes "My master is meditating now, please follow me."; + close; + } else if (job_wl == 9) { + if (BaseLevel < 99 || BaseJob != Job_Wizard) { + mes "[Master Egnoloria]"; + mes "Hm...?"; + mes "How did you come this far..."; + close; + } + if (checkweight(1201,1) == 0 || MaxWeight - Weight < 3500) { + mes "You've got too many items."; + mes "Please come back after reducing the number of items you have."; + close; + } + mes "[Master Egnoloria]"; + if (SkillPoint != 0) { + mes "Unless you like your current job, you should use all your skill points."; + close; + } + if (ismounting()) { + mes "You are on a riding pet,"; + mes "so you cannot change your job."; + mes "Please unequip your riding pet and try again!"; + close; + } + mes "Beautiful light..."; + mes "Don't make me disappointed at you..."; + next; + mes "[Master Egnoloria]"; + mes "You have become a member of the Warlocks."; + mes "Be proud."; + next; + if (SkillPoint != 0) { + mes "^0000ffYou still have left the skill points, Please use all the skill points and try to start again!^000000"; + close; + } + mes "[Master Egnoloria]"; + mes "This crystallized magical stone will keep you safe."; + if (Class == Job_High_Wizard) { + if (JobLevel > 69) set job_wl,13; + else if (JobLevel > 59) set job_wl,12; + else set job_wl,11; + } + else set job_wl,10; + jobchange roclass(eaclass()|EAJL_THIRD); + completequest 11112; + getitem 5753,1; //Magic_Stone_Hat + getitem 2795,1; //Green_Apple_Ring + close; + } else if (job_wl > 9) { + mes "[Master Egnoloria]"; + mes "How are you adjusting to the power of a Warlocks?"; + mes "If you get careless, you will be overthrown by your own power."; + close; + } +} + +job3_war01,22,22,7 script Yoop#WRR 439,{ + mes "[Yoop]"; + mes "If you ask Ebein to be sent to the magical room, he would send you there."; + mes "Wait in the queue to enter the Chamber of Magic."; + close; +} + +job3_war01,29,25,0 script Ebein#WRR 437,{ + mes "[Ebein]"; + mes "Would you like to take a test?"; + mes "If you stand by in the waiting room, you'll be able to go into the Chamber of Magic."; + next; + mes "[Ebein]"; + mes "If there're others inside the room, you just need to wait for a while."; + next; + switch(select("Go to the waiting room.:Go outside.")) { + case 1: + mes "[Ebein]"; + mes "Then please enter the room yourself."; + mes "Make sure you have enough potions to survive the test as the monsters are very powerful in the Chamber."; + close; + case 2: + mes "[Ebein]"; + mes "......"; + mes "Then I will send you outside."; + mes "Bye..."; + close2; + warp "spl_in02",79,102; + end; + } +} + +job3_war01,29,25,5 script The chamber of magic#1 437,{ + end; +OnInit: + disablenpc "The chamber of magic#1"; + waitingroom "The chamber of magic",20,"The chamber of magic#1::OnStartArena",1; + enablewaitingroomevent; + end; +OnStartArena: + warpwaitingpc "job3_war02",29,25; + donpcevent "The chamber of magic#2::OnEnable"; + initnpctimer; + disablewaitingroomevent; + end; +OnTimer10000: + if (getmapusers("job3_war02") == 0) { + donpcevent "The chamber of magic#2::OnReset"; + donpcevent "The chamber of magic#2::OnDisable"; + stopnpctimer "The chamber of magic#2"; + donpcevent "The chamber of magic#3::OnReset"; + donpcevent "The chamber of magic#3::OnDisable"; + stopnpctimer "The chamber of magic#3"; + donpcevent "The chamber of magic#4::OnReset"; + donpcevent "The chamber of magic#4::OnDisable"; + stopnpctimer "The chamber of magic#4"; + donpcevent "Hollow Stone#Warlock::OnReset"; + donpcevent "Hollow Stone#Warlock::OnDisable"; + stopnpctimer "Hollow Stone#Warlock"; + stopnpctimer; + enablewaitingroomevent; + end; + } + initnpctimer; + end; +OnEnable: + enablewaitingroomevent; + end; +OnDisable: + disablewaitingroomevent; + end; +} + +- script The chamber of magic#2 -1,{ +OnInit: + disablenpc strnpcinfo(0); + end; +OnEnable: + enablenpc strnpcinfo(0); + monster "job3_war02",23,32,"Magic Monster",2047,1,strnpcinfo(0)+"::OnMyMobDead"; + monster "job3_war02",23,21,"Magic Monster",2048,1,strnpcinfo(0)+"::OnMyMobDead"; + monster "job3_war02",34,32,"Magic Monster",2049,1,strnpcinfo(0)+"::OnMyMobDead"; + monster "job3_war02",34,21,"Magic Monster",2050,1,strnpcinfo(0)+"::OnMyMobDead"; + monster "job3_war02",23,32,"Magic Monster",2047,1,strnpcinfo(0)+"::OnMyMobDead"; + monster "job3_war02",23,21,"Magic Monster",2048,1,strnpcinfo(0)+"::OnMyMobDead"; + monster "job3_war02",34,32,"Magic Monster",2049,1,strnpcinfo(0)+"::OnMyMobDead"; + monster "job3_war02",34,21,"Magic Monster",2050,1,strnpcinfo(0)+"::OnMyMobDead"; + initnpctimer; + end; +OnReset: + killmonster "job3_war02",strnpcinfo(0)+"::OnMyMobDead"; + end; +OnDisable: + disablenpc strnpcinfo(0); + end; +OnMyMobDead: + if (mobcount("job3_war02",strnpcinfo(0)+"::OnMyMobDead") < 1) { + stopnpctimer; + mapannounce "job3_war02","The Monster Invasion has been stopped.",bc_map; + set .@str$, "The chamber of magic#"+((strnpcinfo(0) == "The chamber of magic#2")?"3":"4"); + donpcevent .@str$+"::OnEnable"; + } + end; +OnTimer3000: + if (strnpcinfo(0) != "The chamber of magic#2") end; + mapannounce "job3_war02","A Magical Power fragment has been created in the Magic Chamber Room.",bc_map; + end; +OnTimer4000: + mapannounce "job3_war02","Defend this room from monsters for 5 minutes.",bc_map; + end; +OnTimer5000: + mapannounce "job3_war02","Destroy all the monsters, and the Chamber will stabilize.",bc_map; + end; +OnTimer63000: + mapannounce "job3_war02","There's 4 min left to stabilize the chamber...",bc_map; + end; +OnTimer123000: + mapannounce "job3_war02","There's 3 min left to stabilize the chamber...",bc_map; + end; +OnTimer183000: + mapannounce "job3_war02","There's 2 min left to stabilize the chamber...",bc_map; + end; +OnTimer243000: + mapannounce "job3_war02","There's 1 min left to stabilize the chamber...",bc_map; + end; +OnTimer273000: + mapannounce "job3_war02","There's 30 seconds left to stabilize the chamber...",bc_map; + end; +OnTimer283000: + mapannounce "job3_war02","There's 20 seconds left to stabilize the chamber...",bc_map; + end; +OnTimer293000: + mapannounce "job3_war02","There's 10 seconds left to stabilize the chamber...",bc_map; + end; +OnTimer303000: + mapannounce "job3_war02","The magic stabilization has failed.",bc_map; + donpcevent "The chamber of magic#2::OnReset"; + donpcevent "The chamber of magic#3::OnReset"; + donpcevent "The chamber of magic#4::OnReset"; + end; +OnTimer304000: + mapwarp "job3_war02","spl_in02",79,102; + end; +OnTimer305000: + donpcevent "The chamber of magic#2::OnDisable"; + donpcevent "The chamber of magic#3::OnDisable"; + donpcevent "The chamber of magic#4::OnDisable"; + donpcevent "The chamber of magic#1::OnEnable"; + stopnpctimer; + end; +} +- duplicate(The chamber of magic#2) The chamber of magic#3 -1 + +- script The chamber of magic#4 -1,{ +OnInit: + disablenpc "The chamber of magic#4"; + end; +OnEnable: + enablenpc "The chamber of magic#4"; + monster "job3_war02",23,32,"Magic Monster",1002,1,"The chamber of magic#4::OnMyMobDead"; + monster "job3_war02",23,21,"Magic Monster",1002,1,"The chamber of magic#4::OnMyMobDead"; + monster "job3_war02",34,32,"Magic Monster",1002,1,"The chamber of magic#4::OnMyMobDead"; + monster "job3_war02",34,21,"Magic Monster",1002,1,"The chamber of magic#4::OnMyMobDead"; + monster "job3_war02",23,32,"Magic Monster",1002,1,"The chamber of magic#4::OnMyMobDead"; + monster "job3_war02",23,21,"Magic Monster",1002,1,"The chamber of magic#4::OnMyMobDead"; + monster "job3_war02",34,32,"Magic Monster",1002,1,"The chamber of magic#4::OnMyMobDead"; + monster "job3_war02",34,21,"Magic Monster",1002,1,"The chamber of magic#4::OnMyMobDead"; + initnpctimer; + end; +OnReset: + killmonster "job3_war02","The chamber of magic#4::OnMyMobDead"; + end; +OnDisable: + disablenpc "The chamber of magic#4"; + end; +OnMyMobDead: + if (mobcount("job3_war02","The chamber of magic#4::OnMyMobDead") < 1) { + mapannounce "job3_war02","Once it's stabilized, the fragments are toward the center.",bc_map; + stopnpctimer; + donpcevent "Hollow Stone#Warlock::OnEnable"; + } + end; +OnTimer4000: + mapannounce "job3_war02","Defend this room from monsters for 1 min.",bc_map; + end; +OnTimer5000: + mapannounce "job3_war02","Destroy all the monsters, and the Chamber will stabilize.",bc_map; + end; +OnTimer33000: + mapannounce "job3_war02","There's 30 seconds left to stabilize the chamber....",bc_map; + end; +OnTimer43000: + mapannounce "job3_war02","There's 20 seconds left to stabilize the chamber....",bc_map; + end; +OnTimer53000: + mapannounce "job3_war02","There's 10 seconds left to stabilize the chamber....",bc_map; + end; +OnTimer58000: + mapannounce "job3_war02","There's 5 seconds left to stabilize the chamber....",bc_map; + end; +OnTimer63000: + mapannounce "job3_war02","The magic stabilization has failed. The fragment has lost its power.",bc_map; + donpcevent "The chamber of magic#2::OnReset"; + donpcevent "The chamber of magic#3::OnReset"; + donpcevent "The chamber of magic#4::OnReset"; + end; +OnTimer64000: + mapwarp "job3_war02","spl_in02",79,102; + end; +OnTimer65000: + donpcevent "The chamber of magic#2::OnDisable"; + donpcevent "The chamber of magic#3::OnDisable"; + donpcevent "The chamber of magic#4::OnDisable"; + donpcevent "The chamber of magic#1::OnEnable"; + stopnpctimer; + end; +} + +- script Hollow Stone#Warlock -1,{ +OnInit: + disablenpc "Hollow Stone#Warlock"; + end; +OnEnable: + enablenpc "Hollow Stone#Warlock"; + donpcevent "The chamber of magic#2::OnReset"; + donpcevent "The chamber of magic#2::OnDisable"; + donpcevent "The chamber of magic#3::OnReset"; + donpcevent "The chamber of magic#3::OnDisable"; + donpcevent "The chamber of magic#4::OnReset"; + donpcevent "The chamber of magic#4::OnDisable"; + monster "job3_war02",29,27,"Hollow Stone",2035,1,"Hollow Stone#Warlock::OnMyMobDead"; + initnpctimer; + end; +OnReset: + killmonster "job3_war02","Hollow Stone#Warlock::OnMyMobDead"; + end; +OnDisable: + disablenpc "Hollow Stone#Warlock"; + end; +OnMyMobDead: + if (mobcount("job3_war02","Hollow Stone#Warlock::OnMyMobDead") < 1) { + mapannounce "job3_war02","The Hollow Stone is crystallized with enough magic power.",bc_map; + set job_wl,8; + changequest 11110,11111; + donpcevent "Hollow Stone#Warlock::OnReset"; + donpcevent "Hollow Stone#Warlock::OnDisable"; + stopnpctimer; + donpcevent "Ebein#E1::OnEnable"; + donpcevent "Ebein#E2::OnEnable"; + } + end; +OnTimer1000: + mapannounce "job3_war02","The Hollow Stone needs to be crystallized with magic.",bc_map; + end; +OnTimer2000: + mapannounce "job3_war02","The Hollow Stone will absorb any magic thrown at it.",bc_map; + end; +OnTimer3000: + mapannounce "job3_war02","You have 10 minutes to crystallize the Hollow Stone with your magic.",bc_map; + end; +OnTimer303000: + mapannounce "job3_war02","There's 5 min left to crystallize the stone....",bc_map; + end; +OnTimer363000: + mapannounce "job3_war02","There's 4 min left to crystallize the stone....",bc_map; + end; +OnTimer423000: + mapannounce "job3_war02","There's 3 min left to crystallize the stone....",bc_map; + end; +OnTimer483000: + mapannounce "job3_war02","There's 2 min left to crystallize the stone....",bc_map; + end; +OnTimer543000: + mapannounce "job3_war02","There's 1 min left to crystallize the stone....",bc_map; + end; +OnTimer573000: + mapannounce "job3_war02","There's 30 seconds left to crystallize the stone....",bc_map; + end; +OnTimer583000: + mapannounce "job3_war02","There's 20 seconds left to crystallize the stone....",bc_map; + end; +OnTimer593000: + mapannounce "job3_war02","There's 10 seconds left to crystallize the stone....",bc_map; + end; +OnTimer603000: + mapannounce "job3_war02","The Hollow Stone Crystalization has failed.",bc_map; + donpcevent "Hollow Stone#Warlock::OnReset"; + end; +OnTimer605000: + mapwarp "job3_war02","spl_in02",79,102; + end; +OnTimer607000: + donpcevent "Hollow Stone#Warlock::OnDisable"; + stopnpctimer; + donpcevent "The chamber of magic#1::OnEnable"; + end; +} + +- script Ebein#E1 -1,{ +OnInit: + disablenpc "Ebein#E1"; + end; +OnEnable: + initnpctimer; + end; +OnDisable: + disablenpc "Ebein#E1"; + end; +OnTimer2000: + mapannounce "job3_war01","Congratulations! You've succeeded in creating a magic crystal.",bc_map; + end; +OnTimer3000: + mapannounce "job3_war01","The Magic Chamber is starting to fill with magic power.",bc_map; + end; +OnTimer6000: + donpcevent "Ebein#E1::OnDisable"; + stopnpctimer; + donpcevent "The chamber of magic#1::OnEnable"; + end; +} + +- script Ebein#E2 -1,{ +OnInit: + disablenpc "Ebein#E2"; + end; +OnEnable: + initnpctimer; + end; +OnDisable: + disablenpc "Ebein#E2"; + end; +OnTimer3000: + mapannounce "job3_war02","Congratulations! You've succeeded in creating a magic crystal.",bc_map; + end; +OnTimer5000: + mapannounce "job3_war02","The Magic Chamber is starting to fill with magic power.",bc_map; + mapwarp "job3_war02","spl_in02",79,102; + end; +OnTimer6000: + donpcevent "Ebein#E2::OnDisable"; + stopnpctimer; + end; +} + +/* +job3_war01,1,2,0 script Button Girl 66,{ + switch(select("Open Arena:Close Arena:Open the Chamber of Magic:Close the Chamber of Magic:Hollow Stone On:Hollow Stone Off:Cancel")) { + case 1: + mes "Opening the Arena."; + donpcevent "The chamber of magic#1::OnEnable"; + close; + case 2: + mes "Closing the Arena."; + donpcevent "The chamber of magic#1::OnDisable"; + close; + case 3: + mes "Opening the Chamber of Magic."; + donpcevent "The chamber of magic#2::OnEnable"; + close; + case 4: + mes "Closing the Chamber of Magic."; + donpcevent "The chamber of magic#2::OnReset"; + donpcevent "The chamber of magic#2::OnDisable"; + donpcevent "The chamber of magic#3::OnReset"; + donpcevent "The chamber of magic#3::OnDisable"; + donpcevent "The chamber of magic#4::OnReset"; + donpcevent "The chamber of magic#4::OnDisable"; + close; + case 5: + mes "Enabing Hollow Stone."; + donpcevent "Hollow Stone#Warlock::OnEnable"; + close; + case 6: + mes "Disabling Hollow Stone."; + donpcevent "Hollow Stone#Warlock::OnReset"; + donpcevent "Hollow Stone#Warlock::OnDisable"; + close; + case 7: + close; + } +} +*/ + +spl_fild02,0,0,0,0 monster Bradium Golem 2049,20,5000,0,0 +spl_fild02,0,0,0,0 monster Naga 2047,20,5000,0,0
\ No newline at end of file |