//================= Hercules Script ======================================= //= _ _ _ //= | | | | | | //= | |_| | ___ _ __ ___ _ _| | ___ ___ //= | _ |/ _ \ '__/ __| | | | |/ _ \/ __| //= | | | | __/ | | (__| |_| | | __/\__ \ //= \_| |_/\___|_| \___|\__,_|_|\___||___/ //================= License =============================================== //= This file is part of Hercules. //= http://herc.ws - http://github.com/HerculesWS/Hercules //= //= Copyright (C) 2012-2015 Hercules Dev Team //= Copyright (C) Euphy //= //= Hercules is free software: you can redistribute it and/or modify //= it under the terms of the GNU General Public License as published by //= the Free Software Foundation, either version 3 of the License, or //= (at your option) any later version. //= //= This program is distributed in the hope that it will be useful, //= but WITHOUT ANY WARRANTY; without even the implied warranty of //= MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the //= GNU General Public License for more details. //= //= You should have received a copy of the GNU General Public License //= along with this program. If not, see . //========================================================================= //= Easter Event (2010) //================= Description =========================================== //= Lift Lina's curse for an Easter Egg Shell. //================= Current Version ======================================= //= 1.0 //========================================================================= prontera,202,297,3 script Rina#Easter 4_F_JOB_HUNTER,{ disable_items; if (BaseLevel < 40) { mes "[Rina]"; mes "Hi~!"; mes "You are an adventurer like me."; next; mes "[Rina]"; mes "I am put under a curse."; mes "I know you want to help me,"; mes "but your experience is not enough."; next; consumeitem 607; //Yggdrasilberry consumeitem 12068; //Luk_Dish03 consumeitem 12063; //Dex_Dish03 consumeitem 12053; //Vit_Dish03 npcskill "AL_INCAGI",1,0,0; npcskill "AL_BLESSING",1,0,0; mes "[Rina]"; mes "I am not in the good condition,"; mes "so what I can do for you"; mes "is just like this."; mes "Then, good bye."; mes "Take care~!"; close; } .@quest1 = questprogress(9117); if (!.@quest1) { playbgm "30.mp3"; // One Step Closer mes "[Rina]"; mes "Hi~!"; mes "You are an adventurer like me."; mes "Well... In fact, I am"; mes "put under a strange curse."; next; mes "[Rina]"; mes "To release this curse,"; mes "somebody needs to do ^800080Oath-taking ceremony^000000"; mes "with me,"; mes "and then needs to solve"; mes "several problems instead of me."; next; if (select("Let's help ^800080Rina^000000.", "Just skip it.") == 2) { emotion e_sigh; mes "[Rina]"; mes "To help me,"; mes "I need a competent adventurer."; mes "If you know those people,"; mes "I hope you to introduce them to me later."; close; } emotion e_awsm; mes "[Rina]"; mes "Are you really going to help me?"; mes "Thank you."; mes "You are so brave."; next; playbgm "01.mp3"; // Title mes "[Rina]"; mes "Then I'll start ^800080Oath-taking ceremony^000000."; mes " "; mes "^787878( A mysterious atmosphere hangs in the air. )^000000"; next; specialeffect(EF_COUPLECASTING, AREA, playerattached()); next; mes "[Rina]"; mes "Blah blah blah..."; mes " "; mes "Blah blah blah..."; mes " "; mes "^787878( ... This is a strange spell. )^000000"; next; specialeffect(EF_SIGNUM, AREA, playerattached()); mes "[Rina]"; mes "Haaaaah~"; mes "^800080Oath-taking ceremony^000000 is done enough now."; mes "Isn't that so simple?"; next; emotion e_dum; mes "[Rina]"; mes "Okay, from no on,"; mes "you need to go on ^006400a real adventure"; mes "to release my curse^000000."; mes "Let me know when you are ready."; setquest 9117; close; } else if (.@quest1 == 1) { callsub(L_HuntingInfo, .@quest1); } else if (.@quest1 == 2) { if (questprogress(9118) != 2 || questprogress(9119) != 2 || questprogress(9120) != 2 || questprogress(9121) != 2) { if (questprogress(9118,HUNTING) == 2 || questprogress(9119,HUNTING) == 2 || questprogress(9120,HUNTING) == 2 || questprogress(9121,HUNTING) == 2) { mes "[Rina]"; mes "You did it."; mes "I can feel that my body is recovering."; mes "But it is not enough."; next; mes "[Rina]"; mes "^006400You have one more thing to do.^000000"; mes "Let me know when you're ready."; close2; completequest 9118; completequest 9119; completequest 9120; completequest 9121; setquest 9122; } else callsub(L_HuntingInfo, .@quest1); end; } } if (questprogress(9122) == 1) { mes "[Rina]"; mes "I will check one thing."; mes "For this task,"; mes "You need to feel the music."; next; mes "[Rina]"; mes "You cannot complete the task"; mes "without the music."; mes "do you have any problem?"; next; mes "- Check! -"; mes "^787878- BGM option should be turned on -^000000"; mes "^787878- in the game option menu. -^000000"; mes "^787878- Please check -^000000"; mes "^787878- whether you can listen -^000000"; mes "^787878- to the music sound. -^000000"; next; if(select("[I'm ready to listen to the BGM.]", "[I can't listen to the BGM.]") == 2) { mes "[Rina]"; mes "I am so shocked that"; mes "you cannot feel the music."; mes "What should we do now..."; close2; emotion e_sob; end; } mes "[Rina]"; mes "Listen carefully"; mes "the feelings of it..."; mes "I can't hear it,"; mes "but you can hear the sound."; next; if (oversea_event2 < 520 || oversea_event3 < 270 || oversea_event6 < 245 || oversea_event9 < 197) { if (oversea_event2 == 520) playbgm "13.mp3"; // Theme of Geffen else if (oversea_event3 == 270) playbgm "59.mp3"; // Theme of Lutie else if (oversea_event6 == 245) playbgm "70.mp3"; // Theme of Juno else if (oversea_event9 == 197) playbgm "94.mp3"; // Theme of Rachel else { switch(rand(1,4)) { case 1: playbgm "13.mp3"; oversea_event2 = 520; break; case 2: playbgm "59.mp3"; oversea_event3 = 270; break; case 3: playbgm "70.mp3"; oversea_event6 = 245; break; case 4: playbgm "94.mp3"; oversea_event9 = 197; break; } } } mes "[Rina]"; mes "^006400The music you're hearing now^000000"; mes "has something to do with the one specific city."; mes "Think carefully ^006400what kind of city^000000"; mes "has similar feeling with this music."; next; mes "[Rina]"; mes "And..."; mes "Go to ^006400the city"; mes "where you can remind by this music^000000."; next; mes "[Rina]"; mes "After that,"; mes "find ^FF0000the strange mark^000000"; mes "around the entrances of the city."; mes "Then you can release the curse on me."; next; mes "[Rina]"; mes "It must be tough"; mes "but I hope you good luck."; close2; emotion e_sigh; end; } if (questprogress(9123) == 1) { emotion e_kis; mes "[Rina]"; mes "You're back~!"; mes "My curse has been released."; mes "Thank you so much."; next; if (checkweight(Easter_Egg_Shell,1) == 0) { mes "[Rina]"; mes "Your bag is too full."; mes "I have a present for you"; mes "so make your bag lighter."; mes "I'll wait for you."; close; } completequest 9123; getitem Easter_Egg_Shell,1; .@BaseExp = (BaseLevel * (BaseLevel / 4)) * ((BaseLevel / 29) + (BaseLevel / 6)) + (5 * BaseLevel / 2); if (ADVJOB == 0) { if (BaseLevel < 40) .@nBaseExp = .@BaseExp; else if (BaseLevel < 50) .@nBaseExp = .@BaseExp + (BaseLevel * BaseLevel); else if (BaseLevel < 60) .@nBaseExp = .@BaseExp + (BaseLevel * BaseLevel * (BaseLevel / 20)); else if (BaseLevel < 70) .@nBaseExp = .@BaseExp + (BaseLevel * BaseLevel * (BaseLevel / 10)); else if (BaseLevel < 80) .@nBaseExp = .@BaseExp + (BaseLevel * BaseLevel * (BaseLevel / 5)); else if (BaseLevel < 90) .@nBaseExp = .@BaseExp + (BaseLevel * BaseLevel * (BaseLevel / 3)); else if (BaseLevel < 99) .@nBaseExp = .@BaseExp + (BaseLevel * BaseLevel * (BaseLevel / 2)); else .@nBaseExp = .@BaseExp + (BaseLevel * BaseLevel * (BaseLevel / 2) * 2); .@nJobExp = (JobLevel * (JobLevel - 3) * (JobLevel / 25 + 1) + (16 - (JobLevel * 2))) * 2; } else { if (BaseLevel < 30) .@nBaseExp = .@BaseExp; else if (BaseLevel < 40) .@nBaseExp = .@BaseExp + (BaseLevel * 10); else if (BaseLevel < 50) .@nBaseExp = .@BaseExp + (BaseLevel * BaseLevel * 2); else if (BaseLevel < 60) .@nBaseExp = .@BaseExp + (BaseLevel * BaseLevel * (BaseLevel / 10)); else if (BaseLevel < 70) .@nBaseExp = .@BaseExp + (BaseLevel * BaseLevel * (BaseLevel / 5)); else if (BaseLevel < 80) .@nBaseExp = .@BaseExp + (BaseLevel * BaseLevel * (BaseLevel / 3)); else if (BaseLevel < 90) .@nBaseExp = .@BaseExp + (BaseLevel * BaseLevel * (BaseLevel / 2)); else if (BaseLevel < 98) .@nBaseExp = .@BaseExp + (BaseLevel * BaseLevel * BaseLevel); else .@nBaseExp = .@BaseExp + (BaseLevel * BaseLevel * BaseLevel * 2); .@nJobExp = (JobLevel * JobLevel * (JobLevel / 5 + 2) + (20 - JobLevel)) * 3; } getexp .@nBaseExp,.@nJobExp; mes "[Rina]"; mes "This is the present for you."; mes "It's not a big one"; mes "but please take it"; mes "as a token of my gratitude."; next; mes "[Rina]"; mes "I'll take a rest for a few days"; mes "and then I'll go on an adventure."; mes "See you again."; close2; consumeitem 607; //Yggdrasilberry consumeitem 12068; //Luk_Dish03 consumeitem 12063; //Dex_Dish03 consumeitem 12053; //Vit_Dish03 npcskill "AL_INCAGI",1,0,0; npcskill "AL_BLESSING",1,0,0; end; } mes "[Rina]"; mes "Thank you for releasing my curse."; mes "I'll take a rest for a few days"; mes "and then go on an adventure again."; mes "Have a happy day~!"; close2; consumeitem 607; //Yggdrasilberry npcskill "AL_INCAGI",1,0,0; npcskill "AL_BLESSING",1,0,0; end; L_HuntingInfo: mes "[Rina]"; mes "What you need to do is"; mes "to choose one monster among"; mes "^FF0000DEVIRUCHI,^000000 ^FF0000WRAITH DEAD,^000000"; mes "^FF0000DULLAHAN,^000000 ^FF0000NIGHTMARE TERROR^000000"; mes "and then kill ^0000FF50^000000 monsters"; mes "and come back to me."; next; mes "[Rina]"; mes "It must be a tough task,"; mes "but you are the right person"; mes "who did the oath-taking ceremony."; mes "I hope you succeed."; if (getarg(0) < 2) { completequest 9117; setquest 9118; setquest 9119; setquest 9120; setquest 9121; } close2; npcskill "AL_INCAGI",1,0,0; npcskill "AL_BLESSING",1,0,0; end; } geffen,207,114,4 script #Hiddne01Easter CLEAR_NPC,{ if (oversea_event2 > 519) { OnRelease: specialeffect EF_PATTACK; mes "- I found ^0000FFthe strange mark^000000. -"; next; specialeffect(EF_HOLYHIT, AREA, playerattached()); mes "- I can definitely feel that"; mes "- ^0000FFRina^000000 has been released"; mes "- from the curse."; mes "- ^006400Let's go back to Rina!^000000"; if (questprogress(9122) != 2) { completequest 9122; setquest 9123; } close; } end; } xmas,144,52,4 script #Hiddne02Easter CLEAR_NPC,{ if (oversea_event3 > 269) doevent "#Hiddne01Easter::OnRelease"; end; } yuno,164,46,4 script #Hiddne03Easter CLEAR_NPC,{ if (oversea_event6 > 244) doevent "#Hiddne01Easter::OnRelease"; end; } rachel,36,132,4 script #Hiddne04Easter CLEAR_NPC,{ if (oversea_event9 > 196) doevent "#Hiddne01Easter::OnRelease"; end; } prontera,204,297,3 script Rina's Little Friend 4_DRAGON_EGG,{ disable_items; if (!questprogress(9117)) { emotion e_swt2; mes "[Rina's Little Friend]"; mes "......."; mes " "; mes "^787878( No response. )^000000"; close; } if (questprogress(9123) == 2) { emotion e_meh; mes "[Rina's Little Friend]"; mes "Hi."; mes "I guess you're the trustworthy friend."; mes "Are you here to make a deal with me?"; next; switch(select("Yes.", "No.", "What do you mean?")) { case 1: if (ADVJOB == 0) { if (BaseLevel < 70) .@nCharge = 400000; else if (BaseLevel < 90) .@nCharge = 450000; else .@nCharge = 480000; } else .@nCharge = 500000; if (countitem(Egg) < 1 || countitem(Sparkling_Dust) < 20 || Zeny < .@nCharge) { mes "[Rina's Little Friend]"; mes "Hmm."; mes "The material is not enough."; mes "Please check the things you need."; close; } mes "[Rina's Little Friend]"; mes "Cool... if you give me the materials"; mes "I will start it right now."; mes "Are you ready for it?"; next; if(select("Yes, let's start it.", "No, stop it.") == 2) { mes "[Rina's Little Friend]"; mes "Heh. It's boring."; close; } mes "[Rina's Little Friend]"; mes "Okay, I will start it now."; mes " "; mes "^787878( A mysterious atmosphere hangs in the air. )^000000"; next; specialeffect EF_ASPERSIO; delitem Egg,1; delitem Sparkling_Dust,20; Zeny -= .@nCharge; .@nPercentage = rand(1,100); if (.@nPercentage <= 41) { mes "[Rina's Little Friend]"; mes "Life is given to the egg."; mes "Aaaaah~ I got to take some rest."; mes "Good bye~!"; if (.@nPercentage <= 12) getitem Poporing_Egg,1; else if (.@nPercentage <= 24) getitem Picky_Egg,1; else if (.@nPercentage <= 36) getitem Savage_Bebe_Egg,1; else getitem Deviruchi_Egg,1; close2; emotion e_yawn; end; } else if (.@nPercentage <= 60) { if (.@nPercentage >= 42 && .@nPercentage <= 45) getitem Easter_Egg_Shell,1; else getitem Holy_Egg,5; mes "[Rina's Little Friend]"; mes "It seems that you have quite interesting things."; mes "I need to take some rest."; mes "Good bye~!"; close2; emotion e_yawn; end; } else if (.@nPercentage <= 85) { if (.@nPercentage >= 61 && .@nPercentage <= 75) { getitem Sparkling_Dust,20; getitem Yggdrasilberry,1; } else { getitem Egg,1; getitem Seed_Of_Yggdrasil,2; } mes "[Rina's Little Friend]"; mes "There was no change."; mes "I didn't mean to do it,"; mes "but I'm sorry..."; mes "I hope to see you again, my friend."; emotion e_dum; close; } else { getitem Dex_Dish08,2; mes "[Rina's Little Friend]"; mes "Hmm."; mes "It became a dish."; mes "Looks delicious."; mes "Then, good bye~!"; close2; emotion e_rice; end; } case 2: mes "[Rina's Little Friend]"; mes "You are here just to see my cute looks?"; mes "Aren't you peeking at Rina"; mes "pretending to see me?"; mes "It's funny... haha~"; close2; emotion e_gg; end; case 3: playbgm "23.mp3"; // Travel mes "[Rina's Little Friend]"; mes "Huh?!"; mes "I never told you before?"; mes "Then listen carefully."; next; mes "[Rina's Little Friend]"; mes "I have a"; mes "special ability."; mes "It's to give a special strength"; mes "to ^0000FFthe egg^000000."; next; mes "[Rina's Little Friend]"; mes "Well, I cannot do that unlimitedly."; mes "There is no magic that is done forever."; mes "So I need some additional cost."; next; mes "[Rina's Little Friend]"; mes "And I cannot sure"; mes "to what the egg will be changed."; mes "It may be end in failure"; mes "and it can be something like Pet Egg."; next; if(select("Ask the cost.", "Stop listening because it feels like a trick.") == 2) { mes "[Rina's Little Friend]"; mes "Well... I don't really care."; mes "Good bye."; close2; playbgm "08.mp3"; // Theme of Prontera end; } mes "[Rina's Little Friend]"; mes "Do you want to make a deal?"; mes "You need"; mes "^0000FF1 Egg^000000, ^0000FF20 Light Granule^000000 and"; if (ADVJOB == 0) { if (BaseLevel < 70) mes "^B8860B400,000 Zeny."; else if (BaseLevel < 90) mes "^B8860B450,000 Zeny^000000."; else mes "^B8860B480,000 Zeny^000000."; } else mes "^B8860B500,000 Zeny^000000."; next; mes "[Rina's Little Friend]"; mes "If you are interested"; mes "make that zeny and come again."; mes "Haha..."; mes "I'll be waiting for you."; close2; playbgm "08.mp3"; // Theme of Prontera emotion e_gg; end; } } emotion e_meh; mes "[Rina's Little Friend]"; mes "Ahem!"; mes "Why? Are you surprised to see me speaking?"; mes "Well, I understand you."; mes "Only the person who did"; mes "the oath-taking ceremony can talk with me."; next; mes "[Rina's Little Friend]"; mes "If Rina's curse is released,"; mes "I can also"; mes "suggest you"; mes "an interesting thing."; next; mes "[Rina's Little Friend]"; mes "I will let you know"; mes "the detailed explanation later."; mes "Then see you later, my friend."; close; } prontera,116,82,5 script Traveler#01Easter 4_M_03,{ mes "[Traveler]"; mes "I'm a traveler"; mes "and I often visit ^8B4513Prontera^000000."; mes "Hmm, I think I might"; mes "see you around here before."; next; if(select("Listen some more.", "Just ignore it.") == 2) { mes "[Traveler]"; mes "As I expected,"; mes "you are a silent person. Ha ha."; mes "Good bye."; close; } mes "[Traveler]"; mes "A few days ago,"; mes "I saw a new adventurer"; mes "who were standing"; mes "near the ^8B4513Cathedral^000000."; next; emotion e_lv; mes "[Traveler]"; mes "That adventurer seemed pretty."; mes "But..."; mes "I feel some strange energy"; mes "so I don't come close to that person."; next; mes "[Traveler]"; mes "Look like"; mes "you're interested in"; mes "that new adventurer?"; mes "Or that is just your face look. Ha ha."; next; if(select("I'm interested in it.", "I don't care at all.") == 2) { mes "[Traveler]"; mes "Ah~ I see~!"; mes "Then, Good bye."; close; } mes "[Traveler]"; mes "Just as I expected!"; mes "You can find"; mes "that new adventurer"; mes "on the way to the ^8B4513Cathedral^000000"; mes "at the direction of 1o'clock in ^8B4513Prontera^000000."; next; mes "[Traveler]"; mes "She was carrying"; mes "^800080a big egg thing^000000."; mes "That's what I know."; close; OnInit: initnpctimer; end; OnTimer5000: emotion e_gasp; stopnpctimer; initnpctimer; end; } prontera,163,194,5 script Traveler#02Easter 4_F_03,{ mes "[Traveler]"; mes "A while ago,"; mes "I met a lady"; mes "and she said she has been"; mes "under a strange curse."; next; mes "[Traveler]"; mes "I wanted to help her"; mes "but my experience is not enough."; mes "So I couldn't help her."; next; mes "[Traveler]"; mes "If you are more than"; mes "level ^0000FF40^000000,"; mes "go to the ^8B4513Cathedral^000000"; mes "at the direction of 1'o clock."; mes "I hope you can help her..."; close; OnInit: initnpctimer; end; OnTimer5000: emotion e_gasp; stopnpctimer; initnpctimer; end; }