diff options
Diffstat (limited to 'npc/re')
-rw-r--r-- | npc/re/instances/BakonawaLake.txt | 2 | ||||
-rw-r--r-- | npc/re/instances/BangungotHospital.txt | 12 | ||||
-rw-r--r-- | npc/re/instances/BuwayaCave.txt | 2 | ||||
-rw-r--r-- | npc/re/instances/HazyForest.txt | 2 | ||||
-rw-r--r-- | npc/re/instances/MalangdoCulvert.txt | 3 | ||||
-rw-r--r-- | npc/re/instances/OldGlastHeim.txt | 2 | ||||
-rw-r--r-- | npc/re/instances/WolfchevLaboratory.txt | 2 | ||||
-rw-r--r-- | npc/re/instances/ghost_palace.txt | 1 | ||||
-rw-r--r-- | npc/re/instances/octopus_cave.txt | 2 | ||||
-rw-r--r-- | npc/re/instances/saras_memory.txt | 1 | ||||
-rw-r--r-- | npc/re/jobs/2e/kagerou_oboro.txt | 346 | ||||
-rw-r--r-- | npc/re/jobs/3-1/guillotine_cross.txt | 313 | ||||
-rw-r--r-- | npc/re/mapflag/gvg.txt | 41 | ||||
-rw-r--r-- | npc/re/mapflag/zone.txt | 35 | ||||
-rw-r--r-- | npc/re/merchants/shadow_refiner.txt | 2 | ||||
-rw-r--r-- | npc/re/quests/eden/eden_tutorial.txt | 245 | ||||
-rw-r--r-- | npc/re/quests/quests_malangdo.txt | 157 | ||||
-rw-r--r-- | npc/re/quests/quests_malaya.txt | 91 | ||||
-rw-r--r-- | npc/re/scripts_mapflags.conf | 1 | ||||
-rw-r--r-- | npc/re/woe-fe/invest_main.txt | 512 |
20 files changed, 997 insertions, 775 deletions
diff --git a/npc/re/instances/BakonawaLake.txt b/npc/re/instances/BakonawaLake.txt index 5e2ae7f33..2868cc589 100644 --- a/npc/re/instances/BakonawaLake.txt +++ b/npc/re/instances/BakonawaLake.txt @@ -33,8 +33,6 @@ //= 1.1 //========================================================================= -1@ma_b mapflag src4instance - ma_scene01,174,179,4 script Taho 4_M_DEWZATIMAN,{ disable_items; if (checkweight(Knife,1) == 0) { diff --git a/npc/re/instances/BangungotHospital.txt b/npc/re/instances/BangungotHospital.txt index 1504f892f..424626ac9 100644 --- a/npc/re/instances/BangungotHospital.txt +++ b/npc/re/instances/BangungotHospital.txt @@ -33,8 +33,6 @@ //= 1.1 //========================================================================= -1@ma_h mapflag src4instance - //== Instance Creation ===================================== ma_dun01,147,10,5 script Nurse#ma_dun01 4_F_NURSE,{ if (BaseLevel < 100) end; @@ -50,7 +48,7 @@ ma_dun01,147,10,5 script Nurse#ma_dun01 4_F_NURSE,{ else if (malaya_bang == 31) callsub L_Closed,0; else - goto L_NoParty; + callsub L_NoParty; } if (questprogress(11309,HUNTING) != 2) { .@playtime = questprogress(9224,PLAYTIME); @@ -102,7 +100,7 @@ ma_dun01,147,10,5 script Nurse#ma_dun01 4_F_NURSE,{ cutin "",255; end; } else { - //if (!.@party_id) goto L_NoParty; //unneeded + //if (!.@party_id) callsub L_NoParty; //unneeded if (malaya_bang > 39) callsub L_Enter,(getcharid(CHAR_ID_CHAR) == getpartyleader(.@party_id,2))?1:0,1,1; else { @@ -124,7 +122,7 @@ ma_dun01,147,10,5 script Nurse#ma_dun01 4_F_NURSE,{ end; } } else if (.@quest == 1) { - if (!.@party_id) goto L_NoParty; + if (!.@party_id) callsub L_NoParty; if (malaya_bang > 39) { if (questprogress(9222,HUNTING) == 1) { .@playtime = questprogress(9224,PLAYTIME); @@ -134,7 +132,7 @@ ma_dun01,147,10,5 script Nurse#ma_dun01 4_F_NURSE,{ next; callsub L_Enter,0,0; } else if (.@playtime == 2) { - //if (!.@party_id) goto L_NoParty; //unneeded + //if (!.@party_id) callsub L_NoParty; //unneeded if (malaya_bang > 39) callsub L_Enter,(getcharid(CHAR_ID_CHAR) == getpartyleader(.@party_id,2))?1:0,1,1; else { @@ -213,7 +211,7 @@ ma_dun01,147,10,5 script Nurse#ma_dun01 4_F_NURSE,{ cutin "",255; end; } else { - if (!.@party_id) goto L_NoParty; + if (!.@party_id) callsub L_NoParty; if (malaya_bang > 39) callsub L_Enter,(getcharid(CHAR_ID_CHAR) == getpartyleader(.@party_id,2))?1:0,1,1; else { diff --git a/npc/re/instances/BuwayaCave.txt b/npc/re/instances/BuwayaCave.txt index 242d0a8e4..859d6bd85 100644 --- a/npc/re/instances/BuwayaCave.txt +++ b/npc/re/instances/BuwayaCave.txt @@ -33,8 +33,6 @@ //= 1.0 //========================================================================= -1@ma_c mapflag src4instance - ma_fild02,312,317,5 script Guard#buwaya_cave 4_MAL_SOLDIER,{ if (BaseLevel < 130) { mes "[Guard]"; diff --git a/npc/re/instances/HazyForest.txt b/npc/re/instances/HazyForest.txt index 7f85fee50..c649171f8 100644 --- a/npc/re/instances/HazyForest.txt +++ b/npc/re/instances/HazyForest.txt @@ -33,8 +33,6 @@ //= 1.1 //========================================================================= -1@mist mapflag src4instance - //== Instance Creation ===================================== bif_fild01,158,340,5 script Laphine Soldier#mist 4_M_FAIRYSOLDIER,{ diff --git a/npc/re/instances/MalangdoCulvert.txt b/npc/re/instances/MalangdoCulvert.txt index 164caf548..1bd76aedb 100644 --- a/npc/re/instances/MalangdoCulvert.txt +++ b/npc/re/instances/MalangdoCulvert.txt @@ -35,9 +35,6 @@ //= 1.1 //========================================================================= -1@pump mapflag src4instance -2@pump mapflag src4instance - //== Quest NPCs ============================================ mal_in01,172,28,2 script Albo#mal 4_CAT_SAILOR5,{ if (checkweight(Knife,1) == 0) { diff --git a/npc/re/instances/OldGlastHeim.txt b/npc/re/instances/OldGlastHeim.txt index bf099cd2d..9f3f29fdf 100644 --- a/npc/re/instances/OldGlastHeim.txt +++ b/npc/re/instances/OldGlastHeim.txt @@ -36,8 +36,6 @@ //================= Current Version ======================================= //= 1.2 //========================================================================= -1@gl_k mapflag src4instance -2@gl_k mapflag src4instance glast_01,204,273,6 script Hugin#ghinstance 4_M_SAGE_C,{ if (BaseLevel < 130) { // iRO text diff --git a/npc/re/instances/WolfchevLaboratory.txt b/npc/re/instances/WolfchevLaboratory.txt index e88ec4332..51e2f8a06 100644 --- a/npc/re/instances/WolfchevLaboratory.txt +++ b/npc/re/instances/WolfchevLaboratory.txt @@ -33,8 +33,6 @@ //= 1.0.2 //========================================================================= -1@lhz mapflag src4instance - //== Giacomo Girolam ======================================= lighthalzen,303,303,6 script Giacomo Girolamo#kiup2 4_M_KHMAN,3,3,{ if ((MaxWeight - Weight) < 1000 || !checkweight(Knife, 1)) { diff --git a/npc/re/instances/ghost_palace.txt b/npc/re/instances/ghost_palace.txt index b1a8f3c10..6e77db2f8 100644 --- a/npc/re/instances/ghost_palace.txt +++ b/npc/re/instances/ghost_palace.txt @@ -30,7 +30,6 @@ //================= Current Version ======================================= //= 1.1 //========================================================================= -1@spa mapflag src4instance dali02,44,129,5 script Unpleasent Royal Guard 4_M_SAKRAYROYAL,{ if (BaseLevel < 120) { diff --git a/npc/re/instances/octopus_cave.txt b/npc/re/instances/octopus_cave.txt index b09d243ab..b134742c9 100644 --- a/npc/re/instances/octopus_cave.txt +++ b/npc/re/instances/octopus_cave.txt @@ -33,8 +33,6 @@ //= 1.1 //========================================================================= -1@cash mapflag src4instance - //== Instance Creation ===================================== mal_dun01,151,235,5 script Starfish 4_ASTER,{ diff --git a/npc/re/instances/saras_memory.txt b/npc/re/instances/saras_memory.txt index 2b3b4f2c0..38b598d5b 100644 --- a/npc/re/instances/saras_memory.txt +++ b/npc/re/instances/saras_memory.txt @@ -37,7 +37,6 @@ //================= Current Version ======================================= //= 1.1 //========================================================================= -1@sara mapflag src4instance dali,130,107,5 script Leon the Adventurer#Sara 4_M_DST_GRAND,{ // instance CD check only at the Dimensional Device mes("[Leon the Adventurer]"); diff --git a/npc/re/jobs/2e/kagerou_oboro.txt b/npc/re/jobs/2e/kagerou_oboro.txt index ae28e7b2d..08f8d6024 100644 --- a/npc/re/jobs/2e/kagerou_oboro.txt +++ b/npc/re/jobs/2e/kagerou_oboro.txt @@ -786,208 +786,204 @@ job_ko,81,124,4 script Cougar#ko 4_M_JOB_ASSASSIN,{ warp "amatsu",147,136; end; } - if (job_kagero != 5) { - goto L_Kick; - } - if (MaxWeight - Weight < 1000 || checkweight("Knife",1) == 0) { - mes "[Cougar]"; - mes "This is a test of knowledge, so why did you bring so many things?"; - close; - } - set .@ko_test_01, questprogress(5136); - set .@ko_test_01_1, questprogress(5139); - if (.@ko_test_01 == 1 && .@ko_test_01_1 == 0) { - mes "[Cougar]"; - mes "It's been a while."; - next; - select("Aren't you..."); - mes "[Cougar]"; - mes "I remember you from before looking for the way of the ninja."; - next; - mes "[Cougar]"; - mes "You've grown this strong already?"; - next; - mes "[Cougar]"; - mes "Ha ha ha-"; - mes "A truly determined youth! I like that."; - next; - mes "[Cougar]"; - mes "Good! The test you are about to take is the ^339CCCTest of Knowledge^000000."; - next; - mes "[Cougar]"; - mes "I hope you haven't been lazy with your studies while focusing on getting stronger?"; - next; - switch(select("Yes", "No")) { - case 1: - setquest 5139; - mes "[Cougar]"; - mes "That's a relief. Let me know when you are ready to start the test."; - close; - case 2: - setquest 5139; + if (job_kagero == 5) { + if (MaxWeight - Weight < 1000 || checkweight("Knife",1) == 0) { mes "[Cougar]"; - mes "So you were all talk? Well, let me know when you are ready then."; + mes "This is a test of knowledge, so why did you bring so many things?"; close; } - } else if (.@ko_test_01 == 1 && .@ko_test_01_1 == 1) { - mes "[Cougar]"; - mes "I'm ready at my end. Are you ready for the test?"; - next; - if(select("Yes", "No") == 2) { + set .@ko_test_01, questprogress(5136); + set .@ko_test_01_1, questprogress(5139); + if (.@ko_test_01 == 1 && .@ko_test_01_1 == 0) { mes "[Cougar]"; - mes "Well, what can I do but wait for you."; - close; - } - mes "[Cougar]"; - mes "This isn't your first test, is it?"; - next; - mes "[Cougar]"; - mes "You only need to choose the correct answer to my questions."; - next; - mes "[Cougar]"; - mes "Let's start."; - next; - - set .@questions,10; // number of questions to ask - - // shuffle array an array of questions to be asked - freeloop(1); - setarray .@n[0], - 1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25, - 26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50; - for (set .@i,getarraysize(.@n)-1; .@i>0; set .@i,.@i-1) { - set .@rand, rand(.@i); - set .@tmp, .@n[.@i]; - set .@n[.@i], .@n[.@rand]; - set .@n[.@rand], .@tmp; - } - deletearray .@n[10],getarraysize(.@n) - .@questions; - freeloop(0); - - set @job_ko_cougar,0; - for (set .@i,1; .@i<=.@questions; set .@i,.@i+1) { + mes "It's been a while."; + next; + select("Aren't you..."); mes "[Cougar]"; - mes (.@i < .@questions)?"Question number "+.@i+":":"Last question:"; - switch (.@n[.@i-1]) { - case 1: callsub L_Question,"What is the DEX + LUK total for a Job Master?",2,"8:10:12:14"; break; - case 2: callsub L_Question,"What is the highest job level for a ninja?",1,"70:50:99:100"; break; - case 3: callsub L_Question,"How many skill points do you need to master the Throw Coins skill?",3,"25:30:35:37"; break; - case 4: callsub L_Question,"Which of the following is the correct number of Evasion and effect duration for Mirror Image level 10?",4,"Up to 7 and 200 seconds:Up to 5 and 220 seconds:Up to 6 and 240 seconds:Up to 5 and 240 seconds"; break; - case 5: callsub L_Question,"How many skill points do you need to master the Cicada Skin Shed?",1,"5:3:1:4"; break; - case 6: callsub L_Question,"If Dagger Throwing Practice is at 7, how much ATK is added to Shuriken attacks?",2,"18:21:27:30"; break; - case 7: callsub L_Question,"What is the basic attack range for Throw Shuriken?",3,"7 blocks:8 blocks:9 blocks:10 blocks"; break; - case 8: callsub L_Question,"What is the maximum moving range of Shadow Leap?",4,"6 blocks:7 blocks:8 blocks:9 blocks"; break; - case 9: callsub L_Question,"How much money is used for Throw Coins level 6?",4,"2000-8000:1000-6000:3000-8000:3000-6000"; break; - case 10: callsub L_Question,"What is the most important aspect of increasing ATK for the Killing Strike skill?",2,"VIT:MAXHP:INT:MAXSP"; break; - case 11: callsub L_Question,"What is not the effect you get after reaching the STR status?",3,"Close range attack increase:Weight limit increase:Magic attack increase:Weapon attack increase"; break; - case 12: callsub L_Question,"What is not the effect you get after reaching the INT status?",4,"MAXSP increase:MATK increase:Magic damage increase:Staff attack increase"; break; - case 13: callsub L_Question,"What is not the effect you get after reaching the DEX status?",2,"Casting time decrease:Evasion increase:Accuracy increase:Long range attack increase"; break; - case 14: callsub L_Question,"What is not the effect you get after reaching the AGI status?",1,"Accuracy increase:Flee increase:Attack speed increase:Delay after attack decrease"; break; - case 15: callsub L_Question,"What is not the effect you get after reaching the VIT status?",4,"Weapon defense increase:MAXHP increase:Magic defense increase:Attack increase"; break; - case 16: callsub L_Question,"What is not the effect you get after reaching the LUK status?",3,"Accuracy increase:Complete evasion increase:Magic damage decrease:Critical rate increase"; break; - case 17: callsub L_Question,"You need to equip a card to your shoes to enhance Killing Strike attack. Which of the following is the appropriate card to equip?",2,"Gold Acidus Card:Matyr Card:Odium of Thantos Card:Eddga Card"; break; - case 18: callsub L_Question,"You need a catalyst to use ninja skills. Which of the following skills does not need a catalyst?",3,"Blaze Shield:Watery Evasion:Flaming Petals:Snow Flake Draft"; break; - case 19: callsub L_Question,"How much does STR/INT go up when Ninja Aura level 5 is used?",2,"4:5:6:7"; break; - case 20: callsub L_Question,"You are hunting the Orc Warrior. Which Kunai would you use? ",1,"Heat Wave Kunai:Icicle Kunai:Fell Poison Kunai:High Wind Kunai"; break; - case 21: callsub L_Question,"Which village is the Ninja Guild located in?",2,"Lutie:Amatsu:Dewata:Comodo"; break; - case 22: callsub L_Question,"How do Ninjas get promoted?",3,"By Val Kiwi:By Randgris:None:By Valkyrie"; break; - case 23: callsub L_Question,"What was next to me when you first met me?",4,"A cushion:A folding screen:A flowerpot:A brazier"; break; - case 24: callsub L_Question,"What is the level of Dagger Throwing Practice you have to reach to learn the Killing Strike skill?",1,"7:5:6:8"; break; - case 25: callsub L_Question,"How many hits does a Throw Kunai give to a monster?",2,"2:3:4:5"; break; - case 26: callsub L_Question,"When your First Wind is at level 4, what will go with the MATK and range?",3,"MATK400, 8 blocks:MATK500, 7 blocks:MATK500, 8 blocks:MATK400, 7 blocks"; break; - case 27: callsub L_Question,"Which of the following skills can't you learn at Dagger Throwing Practice level 7?",4,"Throw Kunai:Throw Huuma Shuriken:Killing Strike:Throw Coins"; break; - case 28: callsub L_Question,"What level do you have to be in Dagger Throwing Practice in order to learn the Throw Coins skill?",4,"4:6:8:10"; break; - case 29: callsub L_Question,"What is the attack range for the Exploding Dragon?",3,"3*3:4*4:5*5:6*6"; break; - case 30: callsub L_Question,"How long is the effect time for the Watery Evasion level 7 skill?",2,"40 seconds:45 seconds:50 seconds:55 seconds"; break; - case 31: callsub L_Question,"What is the attack effect for Haze Slasher level 4?",1,"140%:150%:160%:170%"; break; - case 32: callsub L_Question,"How much power is in the Huuma Blaze Shuriken weapon?",1,"Fireball 5 , DEX-2:Fireball 5 , DEX-3:Fireball 4 , DEX-2:Fireball 4 , DEX-3"; break; - case 33: callsub L_Question,"How much power is in the Murasame weapon?",2,"Human attack 10%:Human critical +10:Demon attack 10%:Demon critical +10"; break; - case 34: callsub L_Question,"What is the maximum hit number for Blaze Shield level 10?",3,"7:8:9:10"; break; - case 35: callsub L_Question,"What is the property of the Lightning Jolt?",4,"Fire:Water:Ground:Wind"; break; - case 36: callsub L_Question,"You are creating a weapon for small monsters. What is the best card to use?",4,"Hydra Card:Minorous Card:Skel Woker Card:Desert Wolf Card"; break; - case 37: callsub L_Question,"You are creating a weapon for mid-sized monsters. What is the best card to use?",3,"Hydra Card:Minorous Card:Skel Woker Card:Desert Wolf Card"; break; - case 38: callsub L_Question,"You are creating a weapon for huge monsters. What is the best card to use?",2,"Hydra Card:Minorous Card:Skel Woker Card:Desert Wolf Card"; break; - case 39: callsub L_Question,"Which NPC promotes you?",1,"Valkyrie:Val Kiwi:Balp Hiri:Elephant"; break; - case 40: callsub L_Question,"Which catalyst do you need to use the Blaze Shield skill?",2,"Ice Stone:Flame Stone:Wind Stone:Earth Stone"; break; - case 41: callsub L_Question,"Which of the following is not an effect of the Watery Evasion skill?",4,"Movement speed decrease:Waterball availability:Holy Water craftability:VIT decrease"; break; - case 42: callsub L_Question,"Which of the following matches are incorrect for skill and property?",3,"Flaming Petals-Fire:Snow Flake Draft-Water:Freezing Spear-Ground:Lightning Jolt-Wind"; break; - case 43: callsub L_Question,"Which of the following is the best skill to use when attacking a ground property enemy?",2,"First Wind:Exploding Dragon:Snow Flake Draft:Wind Blade"; break; - case 44: callsub L_Question,"Which Ninja Mastery skill level do you need to learn the Exploding Dragon skill?",1,"10:9:8:1"; break; - case 45: callsub L_Question,"What is the attack range when you master Flip Tatami?",3,"5:7:3:1"; break; - case 46: callsub L_Question,"What weapon cannot be made by the blacksmith Khaibara?",4,"Khukri:Murasame:Hakujin:Humma Wing Shuriken"; break; - case 47: callsub L_Question,"Which of the following correctly matches material needed to make a Icicle Kunai?",2,"4 Nimbus Shuriken, 2 Ice Stone:8 Nimbus Shuriken, 2 Ice Stone:2 Nimbus Shuriken, 1 Ice Stone:1 Nimbus Shuriken, 2 Ice Stone"; break; - case 48: callsub L_Question,"Which of the following Kunai will give the most damage to the ground property monster, Porcellio?",1,"Heat Wave Kunai:Icicle Kunai:Fell Poison Kunai:High Wind Kunai"; break; - case 49: callsub L_Question,"Which of the following blacksmiths do not create ninja items?",2,"Khaibara:Aiku:Tetsu:Toshu"; break; - case 50: callsub L_Question,"What is the name of the suspicious man you can meet during the Ninja job change quest?",3,"Red Leopard Jack:Black Leopard Jack:Red Leopard Joe:Black Leopard Joe"; break; - default: - mes "[Cougar]"; - mes "An unknown error has occurred."; - mes "Please contact customer service."; - close; - } - } - mes "[Cougar]"; - mes "You're through all 10 questions. Wasn't so bad! The important part starts now."; - next; - mes "[Cougar]"; - mes "... ... ..."; - next; - if (@job_ko_cougar < 90) { + mes "I remember you from before looking for the way of the ninja."; + next; mes "[Cougar]"; - mes "You fool!!"; - mes "You couldn't even solve these?"; + mes "You've grown this strong already?"; next; mes "[Cougar]"; - mes "Can't believe someone who is taking a new path can be so pathetic."; + mes "Ha ha ha-"; + mes "A truly determined youth! I like that."; next; mes "[Cougar]"; - mes "I'll give you another chance."; - mes "You will take the test again with new questions. Better pass it this time."; - } else { + mes "Good! The test you are about to take is the ^339CCCTest of Knowledge^000000."; + next; mes "[Cougar]"; - mes "Hmm. " + (@job_ko_cougar) + "?"; + mes "I hope you haven't been lazy with your studies while focusing on getting stronger?"; next; + switch(select("Yes", "No")) { + case 1: + setquest 5139; + mes "[Cougar]"; + mes "That's a relief. Let me know when you are ready to start the test."; + close; + case 2: + setquest 5139; + mes "[Cougar]"; + mes "So you were all talk? Well, let me know when you are ready then."; + close; + } + } else if (.@ko_test_01 == 1 && .@ko_test_01_1 == 1) { mes "[Cougar]"; - mes "Well, looks like you weren't lazy with your studies."; + mes "I'm ready at my end. Are you ready for the test?"; next; + if(select("Yes", "No") == 2) { + mes "[Cougar]"; + mes "Well, what can I do but wait for you."; + close; + } mes "[Cougar]"; - mes "What? Proud of yourself for solving these questions?"; + mes "This isn't your first test, is it?"; next; mes "[Cougar]"; - mes "You still have a long way to go and this is only a small fraction of it."; + mes "You only need to choose the correct answer to my questions."; next; mes "[Cougar]"; - mes "Well... I'm curious how far your strong will can take you through other tests."; + mes "Let's start."; next; - completequest 5136; - erasequest 5139; + + set .@questions,10; // number of questions to ask + + // shuffle array an array of questions to be asked + freeloop(1); + setarray .@n[0], + 1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25, + 26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50; + for (set .@i,getarraysize(.@n)-1; .@i>0; set .@i,.@i-1) { + set .@rand, rand(.@i); + set .@tmp, .@n[.@i]; + set .@n[.@i], .@n[.@rand]; + set .@n[.@rand], .@tmp; + } + deletearray .@n[10],getarraysize(.@n) - .@questions; + freeloop(0); + + set @job_ko_cougar,0; + for (set .@i,1; .@i<=.@questions; set .@i,.@i+1) { + mes "[Cougar]"; + mes (.@i < .@questions)?"Question number "+.@i+":":"Last question:"; + switch (.@n[.@i-1]) { + case 1: callsub L_Question,"What is the DEX + LUK total for a Job Master?",2,"8:10:12:14"; break; + case 2: callsub L_Question,"What is the highest job level for a ninja?",1,"70:50:99:100"; break; + case 3: callsub L_Question,"How many skill points do you need to master the Throw Coins skill?",3,"25:30:35:37"; break; + case 4: callsub L_Question,"Which of the following is the correct number of Evasion and effect duration for Mirror Image level 10?",4,"Up to 7 and 200 seconds:Up to 5 and 220 seconds:Up to 6 and 240 seconds:Up to 5 and 240 seconds"; break; + case 5: callsub L_Question,"How many skill points do you need to master the Cicada Skin Shed?",1,"5:3:1:4"; break; + case 6: callsub L_Question,"If Dagger Throwing Practice is at 7, how much ATK is added to Shuriken attacks?",2,"18:21:27:30"; break; + case 7: callsub L_Question,"What is the basic attack range for Throw Shuriken?",3,"7 blocks:8 blocks:9 blocks:10 blocks"; break; + case 8: callsub L_Question,"What is the maximum moving range of Shadow Leap?",4,"6 blocks:7 blocks:8 blocks:9 blocks"; break; + case 9: callsub L_Question,"How much money is used for Throw Coins level 6?",4,"2000-8000:1000-6000:3000-8000:3000-6000"; break; + case 10: callsub L_Question,"What is the most important aspect of increasing ATK for the Killing Strike skill?",2,"VIT:MAXHP:INT:MAXSP"; break; + case 11: callsub L_Question,"What is not the effect you get after reaching the STR status?",3,"Close range attack increase:Weight limit increase:Magic attack increase:Weapon attack increase"; break; + case 12: callsub L_Question,"What is not the effect you get after reaching the INT status?",4,"MAXSP increase:MATK increase:Magic damage increase:Staff attack increase"; break; + case 13: callsub L_Question,"What is not the effect you get after reaching the DEX status?",2,"Casting time decrease:Evasion increase:Accuracy increase:Long range attack increase"; break; + case 14: callsub L_Question,"What is not the effect you get after reaching the AGI status?",1,"Accuracy increase:Flee increase:Attack speed increase:Delay after attack decrease"; break; + case 15: callsub L_Question,"What is not the effect you get after reaching the VIT status?",4,"Weapon defense increase:MAXHP increase:Magic defense increase:Attack increase"; break; + case 16: callsub L_Question,"What is not the effect you get after reaching the LUK status?",3,"Accuracy increase:Complete evasion increase:Magic damage decrease:Critical rate increase"; break; + case 17: callsub L_Question,"You need to equip a card to your shoes to enhance Killing Strike attack. Which of the following is the appropriate card to equip?",2,"Gold Acidus Card:Matyr Card:Odium of Thantos Card:Eddga Card"; break; + case 18: callsub L_Question,"You need a catalyst to use ninja skills. Which of the following skills does not need a catalyst?",3,"Blaze Shield:Watery Evasion:Flaming Petals:Snow Flake Draft"; break; + case 19: callsub L_Question,"How much does STR/INT go up when Ninja Aura level 5 is used?",2,"4:5:6:7"; break; + case 20: callsub L_Question,"You are hunting the Orc Warrior. Which Kunai would you use? ",1,"Heat Wave Kunai:Icicle Kunai:Fell Poison Kunai:High Wind Kunai"; break; + case 21: callsub L_Question,"Which village is the Ninja Guild located in?",2,"Lutie:Amatsu:Dewata:Comodo"; break; + case 22: callsub L_Question,"How do Ninjas get promoted?",3,"By Val Kiwi:By Randgris:None:By Valkyrie"; break; + case 23: callsub L_Question,"What was next to me when you first met me?",4,"A cushion:A folding screen:A flowerpot:A brazier"; break; + case 24: callsub L_Question,"What is the level of Dagger Throwing Practice you have to reach to learn the Killing Strike skill?",1,"7:5:6:8"; break; + case 25: callsub L_Question,"How many hits does a Throw Kunai give to a monster?",2,"2:3:4:5"; break; + case 26: callsub L_Question,"When your First Wind is at level 4, what will go with the MATK and range?",3,"MATK400, 8 blocks:MATK500, 7 blocks:MATK500, 8 blocks:MATK400, 7 blocks"; break; + case 27: callsub L_Question,"Which of the following skills can't you learn at Dagger Throwing Practice level 7?",4,"Throw Kunai:Throw Huuma Shuriken:Killing Strike:Throw Coins"; break; + case 28: callsub L_Question,"What level do you have to be in Dagger Throwing Practice in order to learn the Throw Coins skill?",4,"4:6:8:10"; break; + case 29: callsub L_Question,"What is the attack range for the Exploding Dragon?",3,"3*3:4*4:5*5:6*6"; break; + case 30: callsub L_Question,"How long is the effect time for the Watery Evasion level 7 skill?",2,"40 seconds:45 seconds:50 seconds:55 seconds"; break; + case 31: callsub L_Question,"What is the attack effect for Haze Slasher level 4?",1,"140%:150%:160%:170%"; break; + case 32: callsub L_Question,"How much power is in the Huuma Blaze Shuriken weapon?",1,"Fireball 5 , DEX-2:Fireball 5 , DEX-3:Fireball 4 , DEX-2:Fireball 4 , DEX-3"; break; + case 33: callsub L_Question,"How much power is in the Murasame weapon?",2,"Human attack 10%:Human critical +10:Demon attack 10%:Demon critical +10"; break; + case 34: callsub L_Question,"What is the maximum hit number for Blaze Shield level 10?",3,"7:8:9:10"; break; + case 35: callsub L_Question,"What is the property of the Lightning Jolt?",4,"Fire:Water:Ground:Wind"; break; + case 36: callsub L_Question,"You are creating a weapon for small monsters. What is the best card to use?",4,"Hydra Card:Minorous Card:Skel Woker Card:Desert Wolf Card"; break; + case 37: callsub L_Question,"You are creating a weapon for mid-sized monsters. What is the best card to use?",3,"Hydra Card:Minorous Card:Skel Woker Card:Desert Wolf Card"; break; + case 38: callsub L_Question,"You are creating a weapon for huge monsters. What is the best card to use?",2,"Hydra Card:Minorous Card:Skel Woker Card:Desert Wolf Card"; break; + case 39: callsub L_Question,"Which NPC promotes you?",1,"Valkyrie:Val Kiwi:Balp Hiri:Elephant"; break; + case 40: callsub L_Question,"Which catalyst do you need to use the Blaze Shield skill?",2,"Ice Stone:Flame Stone:Wind Stone:Earth Stone"; break; + case 41: callsub L_Question,"Which of the following is not an effect of the Watery Evasion skill?",4,"Movement speed decrease:Waterball availability:Holy Water craftability:VIT decrease"; break; + case 42: callsub L_Question,"Which of the following matches are incorrect for skill and property?",3,"Flaming Petals-Fire:Snow Flake Draft-Water:Freezing Spear-Ground:Lightning Jolt-Wind"; break; + case 43: callsub L_Question,"Which of the following is the best skill to use when attacking a ground property enemy?",2,"First Wind:Exploding Dragon:Snow Flake Draft:Wind Blade"; break; + case 44: callsub L_Question,"Which Ninja Mastery skill level do you need to learn the Exploding Dragon skill?",1,"10:9:8:1"; break; + case 45: callsub L_Question,"What is the attack range when you master Flip Tatami?",3,"5:7:3:1"; break; + case 46: callsub L_Question,"What weapon cannot be made by the blacksmith Khaibara?",4,"Khukri:Murasame:Hakujin:Humma Wing Shuriken"; break; + case 47: callsub L_Question,"Which of the following correctly matches material needed to make a Icicle Kunai?",2,"4 Nimbus Shuriken, 2 Ice Stone:8 Nimbus Shuriken, 2 Ice Stone:2 Nimbus Shuriken, 1 Ice Stone:1 Nimbus Shuriken, 2 Ice Stone"; break; + case 48: callsub L_Question,"Which of the following Kunai will give the most damage to the ground property monster, Porcellio?",1,"Heat Wave Kunai:Icicle Kunai:Fell Poison Kunai:High Wind Kunai"; break; + case 49: callsub L_Question,"Which of the following blacksmiths do not create ninja items?",2,"Khaibara:Aiku:Tetsu:Toshu"; break; + case 50: callsub L_Question,"What is the name of the suspicious man you can meet during the Ninja job change quest?",3,"Red Leopard Jack:Black Leopard Jack:Red Leopard Joe:Black Leopard Joe"; break; + default: + mes "[Cougar]"; + mes "An unknown error has occurred."; + mes "Please contact customer service."; + close; + } + } + mes "[Cougar]"; + mes "You're through all 10 questions. Wasn't so bad! The important part starts now."; + next; + mes "[Cougar]"; + mes "... ... ..."; + next; + if (@job_ko_cougar < 90) { + mes "[Cougar]"; + mes "You fool!!"; + mes "You couldn't even solve these?"; + next; + mes "[Cougar]"; + mes "Can't believe someone who is taking a new path can be so pathetic."; + next; + mes "[Cougar]"; + mes "I'll give you another chance."; + mes "You will take the test again with new questions. Better pass it this time."; + } else { + mes "[Cougar]"; + mes "Hmm. " + (@job_ko_cougar) + "?"; + next; + mes "[Cougar]"; + mes "Well, looks like you weren't lazy with your studies."; + next; + mes "[Cougar]"; + mes "What? Proud of yourself for solving these questions?"; + next; + mes "[Cougar]"; + mes "You still have a long way to go and this is only a small fraction of it."; + next; + mes "[Cougar]"; + mes "Well... I'm curious how far your strong will can take you through other tests."; + next; + completequest 5136; + erasequest 5139; + mes "[Cougar]"; + mes "I'll let you go now so go report back to Guide Gion with your results."; + close2; + warp "job_ko",16,113; + end; + } + set @job_ko_cougar,0; + close; + } else if (.@ko_test_01 == 2 && .@ko_test_01_1 == 0) { mes "[Cougar]"; mes "I'll let you go now so go report back to Guide Gion with your results."; close2; warp "job_ko",16,113; end; } - set @job_ko_cougar,0; - close; - } else if (.@ko_test_01 == 2 && .@ko_test_01_1 == 0) { - mes "[Cougar]"; - mes "I'll let you go now so go report back to Guide Gion with your results."; - close2; - warp "job_ko",16,113; - end; - } else { - L_Kick: - mes "[Cougar]"; - mes "How did you get here?"; - next; - mes "[Cougar]"; - mes "It's my duty to get rid of you."; - mes "^000099(He's a short, silent man.)^000000"; - mes "This will push you back!"; - close2; - warp "amatsu",147,136; - end; } + mes "[Cougar]"; + mes "How did you get here?"; + next; + mes "[Cougar]"; + mes "It's my duty to get rid of you."; + mes "^000099(He's a short, silent man.)^000000"; + mes "This will push you back!"; + close2; + warp "amatsu",147,136; end; //callsub L_Question,"<Question>",<correct answer choice>,"<Choice 1>:<Choice 2>:<Choice 3>:<Choice 4>"; diff --git a/npc/re/jobs/3-1/guillotine_cross.txt b/npc/re/jobs/3-1/guillotine_cross.txt index d56aff87d..f70ee321c 100644 --- a/npc/re/jobs/3-1/guillotine_cross.txt +++ b/npc/re/jobs/3-1/guillotine_cross.txt @@ -35,103 +35,110 @@ //========================================================================= que_job01,75,96,3 script Guild Member#3rdgc01 4_M_MOCASS1,{ - if (job_3rd_gc == 0) { - if (Class == Job_Assassin || Class == Job_Assassin_Cross || Class == Job_Baby_Assassin) { - if (BaseLevel >= 99) { - L_Mission: - mes "[Ahcart]"; - mes "Finally, it's time..."; - mes "Hey, what's your name?"; - next; - switch(select(strcharinfo(PC_NAME),".....")) { - case 1: + if (job_3rd_gc == 0 || job_3rd_gc == 1) { + if (job_3rd_gc == 0) { + if (Class == Job_Assassin || Class == Job_Assassin_Cross || Class == Job_Baby_Assassin) { + if (BaseLevel < 99) { mes "[Ahcart]"; - mes strcharinfo(PC_NAME)+"?"; - mes "Got it. I'll remember your name."; - mes "A master told me that you are a person with ability."; - break; - case 2: - mes "[Ahcart]"; - mes "What? You are a distrustful person."; - mes "Hmm, whatever."; - mes "I heard that you are a person with ability."; - break; - } - next; - mes "[Ahcart]"; - mes "My duty is delivering a guild message to a capable assassin."; - mes "I think that you are suitable to perform the guild's duty."; - next; - mes "[Ahcart]"; - mes "So, would you perform this duty for us?"; - mes "Of course, I'm going to offer a reward for completing your task."; - next; - select("What is the request?"); - mes "[Ahcart]"; - mes "It's unclear."; - mes "I told you. It's a special task."; - mes "The only thing I know is the condition to bring a person with the master's ability."; - next; - mes "[Ahcart]"; - mes "First, one who has patience."; - mes "Second, one who is quiet."; - mes "Third, one who is focused."; - next; - mes "[Ahcart]"; - mes "What do you think about what I told you?"; - mes "This task means that it needs a person who can perform a task irrespective of their own will."; - next; - mes "[Ahcart]"; - mes "It's necessary to keep this request secret."; - mes "But it's also your duty not to tell anyone."; - next; - mes "[Ahcart]"; - mes "This is all your choice."; - mes "Will you help us with this request?"; - next; - switch(select("I'll do it.", "Give me time to think.")) { - case 1: - mes "[Ahcart]"; - mes "Ok, to Veins."; - mes "I'll contact them."; - mes "It's your first duty to go to Veins."; + mes "Hmm, you are my peer."; + mes "I'm Ahcart. I'm from Veins."; + mes "Hmm..."; next; mes "[Ahcart]"; - mes "You should be able to find it easily."; - mes "Go now."; - job_3rd_gc = 3; - setquest 7101; - close; - case 2: - mes "[Ahcart]"; - mes "Got it."; - mes "But don't think about it for too long."; - job_3rd_gc = 2; + mes "Of course, a chapter of the assassin guild is not only in Morroc. If you have a chance to go there, visit there."; + mes "I think you might go there."; + job_3rd_gc = 1; close; } + } else { + mes "[A man of a sharp impression]"; + mes "...."; + mes "What the...?"; + mes "You are not an assassin."; + close; } + } else if (job_3rd_gc == 1) { + if (BaseLevel < 99) { + mes "[Ahcart]"; + mes "If you become stronger and more skillful, then the assassin's guild will give you a special task."; + mes "Go for it."; + close; + } + } + mes "[Ahcart]"; + mes "Finally, it's time..."; + mes "Hey, what's your name?"; + next; + switch(select(strcharinfo(PC_NAME),".....")) { + case 1: mes "[Ahcart]"; - mes "Hmm, you are my peer."; - mes "I'm Ahcart. I'm from Veins."; - mes "Hmm..."; + mes strcharinfo(PC_NAME)+"?"; + mes "Got it. I'll remember your name."; + mes "A master told me that you are a person with ability."; + break; + case 2: + mes "[Ahcart]"; + mes "What? You are a distrustful person."; + mes "Hmm, whatever."; + mes "I heard that you are a person with ability."; + break; + } + next; + mes "[Ahcart]"; + mes "My duty is delivering a guild message to a capable assassin."; + mes "I think that you are suitable to perform the guild's duty."; + next; + mes "[Ahcart]"; + mes "So, would you perform this duty for us?"; + mes "Of course, I'm going to offer a reward for completing your task."; + next; + select("What is the request?"); + mes "[Ahcart]"; + mes "It's unclear."; + mes "I told you. It's a special task."; + mes "The only thing I know is the condition to bring a person with the master's ability."; + next; + mes "[Ahcart]"; + mes "First, one who has patience."; + mes "Second, one who is quiet."; + mes "Third, one who is focused."; + next; + mes "[Ahcart]"; + mes "What do you think about what I told you?"; + mes "This task means that it needs a person who can perform a task irrespective of their own will."; + next; + mes "[Ahcart]"; + mes "It's necessary to keep this request secret."; + mes "But it's also your duty not to tell anyone."; + next; + mes "[Ahcart]"; + mes "This is all your choice."; + mes "Will you help us with this request?"; + next; + switch(select("I'll do it.", "Give me time to think.")) { + case 1: + mes "[Ahcart]"; + mes "Ok, to Veins."; + mes "I'll contact them."; + mes "It's your first duty to go to Veins."; next; mes "[Ahcart]"; - mes "Of course, a chapter of the assassin guild is not only in Morroc. If you have a chance to go there, visit there."; - mes "I think you might go there."; - job_3rd_gc = 1; + mes "You should be able to find it easily."; + mes "Go now."; + job_3rd_gc = 3; + setquest 7101; + close; + case 2: + mes "[Ahcart]"; + mes "Got it."; + mes "But don't think about it for too long."; + job_3rd_gc = 2; close; } - mes "[A man of a sharp impression]"; - mes "...."; - mes "What the...?"; - mes "You are not an assassin."; - close; - } else if (job_3rd_gc == 1) { - if (BaseLevel >= 99) goto L_Mission; - mes "[Ahcart]"; - mes "If you become stronger and more skillful, then the assassin's guild will give you a special task."; - mes "Go for it."; - close; + + + + } else if (job_3rd_gc == 2) { mes "[Ahcart]"; mes "Have you thought about it more?"; @@ -3649,85 +3656,87 @@ job3_guil01,148,53,3 script Bercasell#3rdgc16 4_M_GUILLOTINE,{ next; switch(select("Yes, change my job.", "I need to think about it.")) { case 1: - L_JobChange: - mes "[Bercasell]"; - mes "You don't regret it?"; - callsub L_Info; - mes "[Bercasell]"; - mes "You can become a living offensive weapon."; - mes "Do you really want to become a Guillotine Cross?"; - next; - switch(select("Yes, change my job.", "I need to rethink it.")) { - case 1: - mes "[Bercasell]"; - if (hascashmount()) { - mes "I cannot perform the job change."; - mes "Please remove your mount and try again."; - close; - } else if (SkillPoint != 0) { - mes "You still have unspent skill points."; - mes "Please use all your skill points and try again."; - close; - } - mes "Is your decision final?"; - mes "Good."; - next; - mes "[Bercasell]"; - mes "Now, you are an assassin, yet you are not an assassin anymore."; - mes "You are in the shadows, but it's different from the other shadows."; - next; - mes "[Bercasell]"; - mes "Your enemy is everything you can see."; - mes "Don't forget yourself."; - mes "A weight of the blood on your weapons."; - next; - mes "[Bercasell]"; - mes "Ok, change your clothes to your new uniform."; - mes "You are now a Guillotine Cross."; - next; - mes "[Bercasell]"; - mes "A sword of the shadow..."; - setlook 7,0; - jobchange roclass(eaclass()|EAJL_THIRD); - if (questprogress(7096) == 1) { - job_3rd_gc = 25; - erasequest 7096; - } else if (questprogress(7097) == 1) { - job_3rd_gc = 26; - erasequest 7097; - } else if (questprogress(7098) == 1) { - job_3rd_gc = 27; - erasequest 7098; - } else if (questprogress(7099) == 1) { - job_3rd_gc = 28; - erasequest 7099; - } - getitem Green_Apple_Ring,1; - getitem Silent_Executer,1; - next; - mes "[Bercasell]"; - mes "And... these are presents to celebrate your becoming a Guillotine Cross."; - close; - case 2: - mes "[Bercasell]"; - mes "You are prudent. That's a good thing."; - mes "I'll wait for the day that you decide to join us as a Guillotine Cross."; - close; - } + break; case 2: mes "[Bercasell]"; mes "You are prudent. That's a good thing."; mes "I'll wait for the day that you decide to join us as a Guillotine Cross."; close; } + break; } + break; case 2: - goto L_JobChange; + break; case 3: mes "[Bercasell]"; mes "Don't bother me."; close; } + mes "[Bercasell]"; + mes "You don't regret it?"; + callsub L_Info; + mes "[Bercasell]"; + mes "You can become a living offensive weapon."; + mes "Do you really want to become a Guillotine Cross?"; + next; + switch(select("Yes, change my job.", "I need to rethink it.")) { + case 1: + mes "[Bercasell]"; + if (hascashmount()) { + mes "I cannot perform the job change."; + mes "Please remove your mount and try again."; + close; + } else if (SkillPoint != 0) { + mes "You still have unspent skill points."; + mes "Please use all your skill points and try again."; + close; + } + mes "Is your decision final?"; + mes "Good."; + next; + mes "[Bercasell]"; + mes "Now, you are an assassin, yet you are not an assassin anymore."; + mes "You are in the shadows, but it's different from the other shadows."; + next; + mes "[Bercasell]"; + mes "Your enemy is everything you can see."; + mes "Don't forget yourself."; + mes "A weight of the blood on your weapons."; + next; + mes "[Bercasell]"; + mes "Ok, change your clothes to your new uniform."; + mes "You are now a Guillotine Cross."; + next; + mes "[Bercasell]"; + mes "A sword of the shadow..."; + setlook 7,0; + jobchange roclass(eaclass()|EAJL_THIRD); + if (questprogress(7096) == 1) { + job_3rd_gc = 25; + erasequest 7096; + } else if (questprogress(7097) == 1) { + job_3rd_gc = 26; + erasequest 7097; + } else if (questprogress(7098) == 1) { + job_3rd_gc = 27; + erasequest 7098; + } else if (questprogress(7099) == 1) { + job_3rd_gc = 28; + erasequest 7099; + } + getitem Green_Apple_Ring,1; + getitem Silent_Executer,1; + next; + mes "[Bercasell]"; + mes "And... these are presents to celebrate your becoming a Guillotine Cross."; + close; + case 2: + mes "[Bercasell]"; + mes "You are prudent. That's a good thing."; + mes "I'll wait for the day that you decide to join us as a Guillotine Cross."; + close; + } } mes "......"; mes "What can I do for you?"; diff --git a/npc/re/mapflag/gvg.txt b/npc/re/mapflag/gvg.txt new file mode 100644 index 000000000..2e0e85f32 --- /dev/null +++ b/npc/re/mapflag/gvg.txt @@ -0,0 +1,41 @@ +//================= Hercules Script ======================================= +//= _ _ _ +//= | | | | | | +//= | |_| | ___ _ __ ___ _ _| | ___ ___ +//= | _ |/ _ \ '__/ __| | | | |/ _ \/ __| +//= | | | | __/ | | (__| |_| | | __/\__ \ +//= \_| |_/\___|_| \___|\__,_|_|\___||___/ +//================= License =============================================== +//= This file is part of Hercules. +//= http://herc.ws - http://github.com/HerculesWS/Hercules +//= +//= Copyright (C) 2017 Hercules Dev Team +//= +//= 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 <http://www.gnu.org/licenses/>. +//========================================================================= +//= Mapflag: Guild versus Guild mode. +//================= Current Version ======================================= +//= 1.0 +//================= Description =========================================== +//= Players can attack other guilds, and will have their guild +//= icons shown. WoE damage reductions will also take place. +//= gvg: Turns on GvG mode +//= gvg_castle: Describes castle maps for WoE. +//========================================================================= + +// Hall of the Abyss ====== +gld2_ald mapflag gvg_dungeon +gld2_gef mapflag gvg_dungeon +gld2_pay mapflag gvg_dungeon +gld2_prt mapflag gvg_dungeon diff --git a/npc/re/mapflag/zone.txt b/npc/re/mapflag/zone.txt index a6cfd95f1..24ffce665 100644 --- a/npc/re/mapflag/zone.txt +++ b/npc/re/mapflag/zone.txt @@ -32,6 +32,41 @@ //= Flags maps as part of zones defined in map_zone_db.txt //========================================================================= +// Misty Forest Labyrinth =========== +1@mist mapflag zone Memorial Dungeon + +// Octopus Cave =========== +1@cash mapflag zone Memorial Dungeon + +// Drain =========== +1@pump mapflag zone Memorial Dungeon +2@pump mapflag zone Memorial Dungeon + +// Somatology Laboratory =========== +1@lhz mapflag zone Memorial Dungeon + +// Bangungot Hospital F2 =========== +1@ma_h mapflag zone Memorial Dungeon + +// Buwaya Cave =========== +1@ma_c mapflag zone Memorial Dungeon + +// Bakonawa Hideout =========== +1@ma_b mapflag zone Memorial Dungeon + +// Inside Eclage =========== +1@ecl mapflag zone Memorial Dungeon + +// Old Glast Heim =========== +1@gl_k mapflag zone Memorial Dungeon +2@gl_k mapflag zone Memorial Dungeon + +// Ghost Palace =========== +1@spa mapflag zone Memorial Dungeon + +// Sara's Memory Instance =========== +1@sara mapflag zone Memorial Dungeon + // WoE:TE te_prt_gld mapflag zone WoE TE te_prtcas01 mapflag zone WoE TE diff --git a/npc/re/merchants/shadow_refiner.txt b/npc/re/merchants/shadow_refiner.txt index 4e5049e5f..2f8984498 100644 --- a/npc/re/merchants/shadow_refiner.txt +++ b/npc/re/merchants/shadow_refiner.txt @@ -158,7 +158,7 @@ itemmall,31,76,3 script Shadow Blacksmith#nomal 4_F_JOB_BLACKSMITH,{ } delitem .@choose,1; Zeny -= 20000; - if (getequippercentrefinery(.@SelectedPart) > rand(100) || getequippercentrefinery(.@SelectedPart) > rand(100)) { + if (getequippercentrefinery(.@SelectedPart) > rand(100) || ( .@option == 1 && getequippercentrefinery(.@SelectedPart) > rand(100))) { successrefitem .@SelectedPart; mes "[Shadow Blacksmith]"; mes "Refine was successful."; diff --git a/npc/re/quests/eden/eden_tutorial.txt b/npc/re/quests/eden/eden_tutorial.txt index e9fac253b..45d7c6f1e 100644 --- a/npc/re/quests/eden/eden_tutorial.txt +++ b/npc/re/quests/eden/eden_tutorial.txt @@ -35,8 +35,129 @@ moc_para01,34,178,3 script Tutorial Instructor 4_M_KHMAN,{ if (Class == Job_Novice) { // Fall through - } else if (!questprogress(9167)) { - OnStartQuest: + } else if (!questprogress(9167) || questprogress(9173) == 1) { + if (questprogress(9173) == 1) { + mes "[Tutorial Instructor]"; + mes "Do you have any questions?"; + next; + switch(select("Can I do the same quest again?", "About the Quest Window...", "About ENCHANT...", "About Searching Vends...", "About Mercenary and Pets...", "End Conversation.")) { + case 1: + if (questprogress(9173,PLAYTIME) == 1) { + mes "[Tutorial Instructor]"; + mes "The one method to do the same quests repeatdedly is to do the ^006400Daily Quests^000000."; + next; + mes "[Tutorial Instructor]"; + mes "Once you complete a ^006400Daily Quest^000000 and turn it in, wait about a day then come back to get the request and do it all over again!"; + mes "[Tutorial Instructor]"; + mes "If you received a daily quest, look at bottom right of the ^006400Quest Window^000000. There is a section that is called ^006400LIMITED^000000. In that section, it'll tell you how much time needs to pass before you can pick up another daily quest."; + next; + mes "[Tutorial Instructor]"; + mes "It seems you still have some time left to wait out after finishing my quest. Wait it out a bit more, then come find me and you can get the same quest again."; + close; + } + mes "[Tutorial Instructor]"; + mes "It seems that about a day has passed since you've finished my quest. Alright, so like the ^006400Daily Quests^000000, you can get a quest from me. Did you want to proceed?"; + next; + switch(select("Yes", "No")) { + case 1: + @tutorial_restart = 1; + break; + case 2: + mes "[Tutorial Instructor]"; + mes "Okay. But if you change your mind and want to receive a quest, come find me."; + close; + } + break; + case 2: + mes "[Tutorial Instructor]"; + mes "They say that the ^006400Quest Window^000000 details out everything you need to know about your quests."; + next; + mes "[Tutorial Instructor]"; + mes "If you look at the top left"; + mes "in the area with the information,"; + mes "it says ^006400QUEST^000000"; + mes "and if you click that"; + mes "it'll show all information"; + mes "that pertains to the request."; + next; + mes "[Tutorial Instructor]"; + mes "Using the ^006400Quest Window^000000 will make your life easier. It'll tell you where to go, what items to get or who to find and etc."; + close; + case 3: + mes "[Tutorial Instructor]"; + mes "006400ENCHANT^000000, in general, is divided into two parts: ^006400SOCKET ENCHANT^000000 and ^006400HIDDEN SOCKET ENCHANT^000000."; + next; + mes "[Tutorial Instructor]"; + mes "^006400SOCKET ENCHANT^000000 is used to add a SOCKET into equipments and ^006400HIDDEN SOCKET ENCHANT^000000 is used to put in stats into a socket of an armor."; + next; + mes "[Tutorial Instructor]"; + mes "Of course, in order to do this we are in need of some materials and there is a chance that it may fail, but that's the risk you're taking."; + next; + mes "[Tutorial Instructor]"; + mes "The people who do the ^006400SOCKET ENCHANT^000000 can be found in ^8B4513Prontera, Morroc, Payon,^000000. ^8B4513Rhitalzen^000000 is in the Refinery and ^0000FFSeiyablem^000000 and ^0000FFReiablem^000000 can be found near the entrance."; + next; + mes "[Tutorial Instructor]"; + mes "The one who does ^006400HIDDEN SOCKET ENCHANT^000000 is found at the 6 o'clock location of ^8B4513Prontera^000000. Look for the ^0000FFCraftman Apprentice^000000."; + next; + mes "[Tutorial Instructor]"; + mes "Do you think you understand a little bit more about ^006400ENCHANT^000000?"; + close; + case 4: + mes "[Tutorial Instructor]"; + mes "^006400Vend Search^000000 can be utilized by the ^006400Universal Silver Catalog^000000 item. Since you search through as vends on that map, it'll make it easier for you to find the item that you're looking for."; + next; + mes "[Tutorial Instructor]"; + mes "The ^006400Universal Silver Catalog^000000"; + mes "can be obtained from "; + mes "the ^0000FFCatalogue Wizard^000000"; + mes "that is located in South Prontera;"; + next; + mes "[Tutorial Instructor]"; + mes "It only costs 200 zeny for one"; + mes "of these and with it you can"; + mes "search up to 10 times."; + mes "You can say that it's a necessity."; + next; + mes "[Tutorial Instructor]"; + mes "So, are you getting familiar with ^006400Vend Search^000000? Don't just stand there and listen to me. Go ahead and try it for yourself!"; + close; + case 5: + mes "[Tutorial Instructor]"; + mes "Depending on what you need, ^006400Mercenary^000000 and ^006400Pet^000000 can be used in various ways."; + next; + mes "[Tutorial Instructor]"; + mes "If a 006400Mercenary^000000 gives you direct effect"; + mes "by fighting for you"; + mes "then a ^006400Pet^000000 helps you indirectly with their"; + mes "abilities and varied appearances,"; + mes "and it captures your heart."; + next; + mes "[Tutorial Instructor]"; + mes "In order to employ a Mercenary"; + mes "Go find the ^006400Mercenary Guild^000000"; + mes "which is by the front door of ^8B4513Prontera^000000."; + mes "Go to the ^006400Information Agent^000000"; + mes "and ask them where the ^006400Mercenary Guild Official^000000"; + mes "is located and they will let you know."; + next; + mes "[Tutorial Instructor]"; + mes "In order to get a ^006400Pet^000000, while hunting you will obtain taming items. Use the tame on the monster it's for and you can get a pet."; + next; + mes "[Tutorial Instructor]"; + mes "Because there is a chance for failure, please use the taming item with great care."; + next; + mes "[Tutorial Instructor]"; + mes "That aside... you can get a ^006400Mercenary^000000 from the Mercenary Guild and you can get a ^006400Pet^000000 by trading or buying it from another player."; + next; + mes "[Tutorial Instructor]"; + mes "Now, do you understand a bit more about using a ^006400Mercenary^000000 and a ^006400Pet^000000? I hope you get a chance to use them in the future."; + close; + case 6: + mes "[Tutorial Instructor]"; + mes "If you have any questions, come find me again."; + close; + } + } if (@tutorial_restart) { .@tutorial_restart = 1; @tutorial_restart = 0; @@ -459,126 +580,6 @@ moc_para01,34,178,3 script Tutorial Instructor 4_M_KHMAN,{ mes "then bring them back to me."; close; } - } else if (questprogress(9173) == 1) { - mes "[Tutorial Instructor]"; - mes "Do you have any questions?"; - next; - switch(select("Can I do the same quest again?", "About the Quest Window...", "About ENCHANT...", "About Searching Vends...", "About Mercenary and Pets...", "End Conversation.")) { - case 1: - if (questprogress(9173,PLAYTIME) == 1) { - mes "[Tutorial Instructor]"; - mes "The one method to do the same quests repeatdedly is to do the ^006400Daily Quests^000000."; - next; - mes "[Tutorial Instructor]"; - mes "Once you complete a ^006400Daily Quest^000000 and turn it in, wait about a day then come back to get the request and do it all over again!"; - mes "[Tutorial Instructor]"; - mes "If you received a daily quest, look at bottom right of the ^006400Quest Window^000000. There is a section that is called ^006400LIMITED^000000. In that section, it'll tell you how much time needs to pass before you can pick up another daily quest."; - next; - mes "[Tutorial Instructor]"; - mes "It seems you still have some time left to wait out after finishing my quest. Wait it out a bit more, then come find me and you can get the same quest again."; - close; - } - mes "[Tutorial Instructor]"; - mes "It seems that about a day has passed since you've finished my quest. Alright, so like the ^006400Daily Quests^000000, you can get a quest from me. Did you want to proceed?"; - next; - switch(select("Yes", "No")) { - case 1: - @tutorial_restart = 1; - goto OnStartQuest; - case 2: - mes "[Tutorial Instructor]"; - mes "Okay. But if you change your mind and want to receive a quest, come find me."; - close; - } - case 2: - mes "[Tutorial Instructor]"; - mes "They say that the ^006400Quest Window^000000 details out everything you need to know about your quests."; - next; - mes "[Tutorial Instructor]"; - mes "If you look at the top left"; - mes "in the area with the information,"; - mes "it says ^006400QUEST^000000"; - mes "and if you click that"; - mes "it'll show all information"; - mes "that pertains to the request."; - next; - mes "[Tutorial Instructor]"; - mes "Using the ^006400Quest Window^000000 will make your life easier. It'll tell you where to go, what items to get or who to find and etc."; - close; - case 3: - mes "[Tutorial Instructor]"; - mes "006400ENCHANT^000000, in general, is divided into two parts: ^006400SOCKET ENCHANT^000000 and ^006400HIDDEN SOCKET ENCHANT^000000."; - next; - mes "[Tutorial Instructor]"; - mes "^006400SOCKET ENCHANT^000000 is used to add a SOCKET into equipments and ^006400HIDDEN SOCKET ENCHANT^000000 is used to put in stats into a socket of an armor."; - next; - mes "[Tutorial Instructor]"; - mes "Of course, in order to do this we are in need of some materials and there is a chance that it may fail, but that's the risk you're taking."; - next; - mes "[Tutorial Instructor]"; - mes "The people who do the ^006400SOCKET ENCHANT^000000 can be found in ^8B4513Prontera, Morroc, Payon,^000000. ^8B4513Rhitalzen^000000 is in the Refinery and ^0000FFSeiyablem^000000 and ^0000FFReiablem^000000 can be found near the entrance."; - next; - mes "[Tutorial Instructor]"; - mes "The one who does ^006400HIDDEN SOCKET ENCHANT^000000 is found at the 6 o'clock location of ^8B4513Prontera^000000. Look for the ^0000FFCraftman Apprentice^000000."; - next; - mes "[Tutorial Instructor]"; - mes "Do you think you understand a little bit more about ^006400ENCHANT^000000?"; - close; - case 4: - mes "[Tutorial Instructor]"; - mes "^006400Vend Search^000000 can be utilized by the ^006400Universal Silver Catalog^000000 item. Since you search through as vends on that map, it'll make it easier for you to find the item that you're looking for."; - next; - mes "[Tutorial Instructor]"; - mes "The ^006400Universal Silver Catalog^000000"; - mes "can be obtained from "; - mes "the ^0000FFCatalogue Wizard^000000"; - mes "that is located in South Prontera;"; - next; - mes "[Tutorial Instructor]"; - mes "It only costs 200 zeny for one"; - mes "of these and with it you can"; - mes "search up to 10 times."; - mes "You can say that it's a necessity."; - next; - mes "[Tutorial Instructor]"; - mes "So, are you getting familiar with ^006400Vend Search^000000? Don't just stand there and listen to me. Go ahead and try it for yourself!"; - close; - case 5: - mes "[Tutorial Instructor]"; - mes "Depending on what you need, ^006400Mercenary^000000 and ^006400Pet^000000 can be used in various ways."; - next; - mes "[Tutorial Instructor]"; - mes "If a 006400Mercenary^000000 gives you direct effect"; - mes "by fighting for you"; - mes "then a ^006400Pet^000000 helps you indirectly with their"; - mes "abilities and varied appearances,"; - mes "and it captures your heart."; - next; - mes "[Tutorial Instructor]"; - mes "In order to employ a Mercenary"; - mes "Go find the ^006400Mercenary Guild^000000"; - mes "which is by the front door of ^8B4513Prontera^000000."; - mes "Go to the ^006400Information Agent^000000"; - mes "and ask them where the ^006400Mercenary Guild Official^000000"; - mes "is located and they will let you know."; - next; - mes "[Tutorial Instructor]"; - mes "In order to get a ^006400Pet^000000, while hunting you will obtain taming items. Use the tame on the monster it's for and you can get a pet."; - next; - mes "[Tutorial Instructor]"; - mes "Because there is a chance for failure, please use the taming item with great care."; - next; - mes "[Tutorial Instructor]"; - mes "That aside... you can get a ^006400Mercenary^000000 from the Mercenary Guild and you can get a ^006400Pet^000000 by trading or buying it from another player."; - next; - mes "[Tutorial Instructor]"; - mes "Now, do you understand a bit more about using a ^006400Mercenary^000000 and a ^006400Pet^000000? I hope you get a chance to use them in the future."; - close; - case 6: - mes "[Tutorial Instructor]"; - mes "If you have any questions, come find me again."; - close; - } } mes "[Tutorial Instructor]"; mes "Lately, it has been said that"; diff --git a/npc/re/quests/quests_malangdo.txt b/npc/re/quests/quests_malangdo.txt index 1351ab80a..9a67c4af8 100644 --- a/npc/re/quests/quests_malangdo.txt +++ b/npc/re/quests/quests_malangdo.txt @@ -1174,10 +1174,49 @@ mal_in02,140,94,0 script Bob#mal 4_CAT_DOWN,{ } else if (ma_tomas == 14) { // Dialogue in repeatable quest is identical. // Uses a variable to determine the quest mode. - @mal_bob_q = 1; - L_Quest1: - .@i = @mal_bob_q; - @mal_bob_q = 0; + .@i = 1; + } else if (ma_tomas == 15) { + .@i = 3; + } else if (ma_tomas == 16) { + mes "[Bob]"; + mes "Khhh~~~~~~~~~~~~~~~~~~~~~~"; + mes "That was perfect!"; + emotion e_no1; + next; + mes "[Bob]"; + mes "The adhesive filled in just right!!"; + mes "The perfect stapler job!!"; + mes "The speechless and marvelous finishing skill!!"; + next; + mes "[Bob]"; + mes "Impressed!"; + mes "Mysterious!"; + mes "Shocked!"; + emotion e_omg; + next; + mes "[Bob]"; + mes "You did a great job indeed!!!"; + mes "I will tell Dr. Mali!"; + if (countitem(Fix_Kit) > 0) + delitem Fix_Kit,1; + ma_tomas = 17; + changequest 11223,11224; + close; + } else if (ma_tomas > 99) { + if (questprogress(11240)) + .@i = 2; + else if (questprogress(11241)) + .@i = 3; + } else { + mes "[Bob]"; + mes "You bow-wow! bow! wow! I mew! mew! mew!"; + mes "I'm into juice from delicious fish, mew~"; + emotion e_ho; + close; + } + switch (.@i) { + case 1: + case 2: mes "[Bob]"; mes "You bow-wow! bow! wow! I mew! mew! mew!"; mes "I'm into juice from delicious fish, mew~"; @@ -1251,8 +1290,7 @@ mal_in02,140,94,0 script Bob#mal 4_CAT_DOWN,{ emotion e_otl; close; } - } else if (ma_tomas == 15) { - L_Quest2: + case 3: if (checkweight(Knife,1) == 0) { mes " - Notice !! -"; mes " - Since you have too many items - "; @@ -1283,43 +1321,7 @@ mal_in02,140,94,0 script Bob#mal 4_CAT_DOWN,{ mes "Ah, right..."; mes "^0000ffYou may fall into the gap of the crack, unfortunately, so please watch out.^000000"; close; - } else if (ma_tomas == 16) { - mes "[Bob]"; - mes "Khhh~~~~~~~~~~~~~~~~~~~~~~"; - mes "That was perfect!"; - emotion e_no1; - next; - mes "[Bob]"; - mes "The adhesive filled in just right!!"; - mes "The perfect stapler job!!"; - mes "The speechless and marvelous finishing skill!!"; - next; - mes "[Bob]"; - mes "Impressed!"; - mes "Mysterious!"; - mes "Shocked!"; - emotion e_omg; - next; - mes "[Bob]"; - mes "You did a great job indeed!!!"; - mes "I will tell Dr. Mali!"; - if (countitem(Fix_Kit) > 0) - delitem Fix_Kit,1; - ma_tomas = 17; - changequest 11223,11224; - close; - } else if (ma_tomas > 99) { - if (questprogress(11240)) { - @mal_bob_q = 2; - goto L_Quest1; - } else if (questprogress(11241)) - goto L_Quest2; - } - mes "[Bob]"; - mes "You bow-wow! bow! wow! I mew! mew! mew!"; - mes "I'm into juice from delicious fish, mew~"; - emotion e_ho; - close; + } } - script Crack#mal0 FAKE_NPC,{ @@ -2221,38 +2223,7 @@ mal_dun01,136,122,3 script Biscuit#mal 4_ASTER,{ } else if (ma_tomas == 26) { // Dialogue in repeatable quest is identical. // Uses a variable to determine the quest mode. - @mal_bob_q = 1; - L_Quest: - .@i = @mal_bob_q; - @mal_bob_q = 0; - if (countitem(Delicious_Jelly) < 30) { - mes "[Biscuit]"; - mes "It's not enough at all~"; - mes "I need at least 30 Delicious Jelly."; - close; - } - mes "[Biscuit]"; - mes "You got them well."; - mes "There won't be any problem to prepare her meal."; - delitem Delicious_Jelly,30; - if (.@i == 1) { - ma_tomas = 27; - changequest 11231,11232; - } else { - erasequest 11244; - setquest 11245; - getitem Egrade_Coin,5; - } - next; - mes "[Biscuit]"; - mes "Though the jelly looks strange, it tastes good..."; - mes "Star Candy seems to like it a lot as well."; - next; - mes "[Biscuit]"; - mes "Have your meal, Star Candy~"; - mes "Uhhh, why don't you eat it?"; - mes "You have no appetite?"; - close; + .@i = 1; } else if (ma_tomas == 27) { mes "[Biscuit]"; mes "Hooo.. it's natural that you have no appetite..."; @@ -2403,8 +2374,7 @@ mal_dun01,136,122,3 script Biscuit#mal 4_ASTER,{ close; } else if (ma_tomas > 99) { if (questprogress(11244)) { - @mal_bob_q = 2; - goto L_Quest; + .@i = 2; } else if (questprogress(11245,PLAYTIME) == 1) { mes "[Biscuit]"; mes "I'll call you when I need you, so don't worry!"; @@ -2430,10 +2400,39 @@ mal_dun01,136,122,3 script Biscuit#mal 4_ASTER,{ close; } } + } else { + mes "[Biscuit]"; + mes "Star Candy is really good."; + mes "She never loses her smile, even though it's so hard to stand..."; + close; + } + if (countitem(Delicious_Jelly) < 30) { + mes "[Biscuit]"; + mes "It's not enough at all~"; + mes "I need at least 30 Delicious Jelly."; + close; } mes "[Biscuit]"; - mes "Star Candy is really good."; - mes "She never loses her smile, even though it's so hard to stand..."; + mes "You got them well."; + mes "There won't be any problem to prepare her meal."; + delitem Delicious_Jelly,30; + if (.@i == 1) { + ma_tomas = 27; + changequest 11231,11232; + } else { + erasequest 11244; + setquest 11245; + getitem Egrade_Coin,5; + } + next; + mes "[Biscuit]"; + mes "Though the jelly looks strange, it tastes good..."; + mes "Star Candy seems to like it a lot as well."; + next; + mes "[Biscuit]"; + mes "Have your meal, Star Candy~"; + mes "Uhhh, why don't you eat it?"; + mes "You have no appetite?"; close; } diff --git a/npc/re/quests/quests_malaya.txt b/npc/re/quests/quests_malaya.txt index 410ee71a7..8c47fb2ed 100644 --- a/npc/re/quests/quests_malaya.txt +++ b/npc/re/quests/quests_malaya.txt @@ -2426,67 +2426,64 @@ malaya,326,68,2 script Pedro the Sailor 4W_SAILOR,{ end; } else if (.@playtime == 2) { erasequest 7401; - goto L_SetQuest; } else { if (!questprogress(7403)) { - if (!questprogress(7402)) { - goto L_SetQuest; + if (questprogress(7402)) { + mes "[Pedro the Sailor]"; + mes "You know what to do."; + mes "Gather the flowers and take it to Mumbaki to get an Offering Bouquet made."; + next; + mes "[Pedro the Sailor]"; + mes "Give the Bouquet to Miss Diwata to cheer her up."; + mes "....Thank you."; + close; } + } else { mes "[Pedro the Sailor]"; - mes "You know what to do."; - mes "Gather the flowers and take it to Mumbaki to get an Offering Bouquet made."; + mes "Diwata is calm!"; + mes "I can even feel the difference out here."; + mes "I am always in your debt."; next; mes "[Pedro the Sailor]"; - mes "Give the Bouquet to Miss Diwata to cheer her up."; - mes "....Thank you."; + mes "You know what? Why don't you do this on a more regular basis?"; + mes "I think you kind of like doing it."; + setquest 7401; + erasequest 7403; +// if (IsPremiumPcCafe == 10) + getitem Lesser_Agimat, 2; // Lesser_Agimat +// else +// getitem Lesser_Agimat, 1; // Lesser_Agimat + getexp 200000,200000; + if (!rand(3)) + $malayaNames$[0] = strcharinfo(PC_NAME); close; } + } + mes "[Pedro the Sailor]"; + mes "Ah, the thing is..."; + mes "We can't go right now.."; + mes "You see, the ghosts are back..."; + mes "I'm fed up with nuisance."; + next; + mes "[Pedro the Sailor]"; + mes "I mean... Miss Diwata... Isn't feeling very well and, even with the Spiritual Protection"; + mes "a normal person can't stand it."; + next; + if (select("I see. Take care then.", "How about a Floral Tribute?") == 1) { mes "[Pedro the Sailor]"; - mes "Diwata is calm!"; - mes "I can even feel the difference out here."; - mes "I am always in your debt."; - next; - mes "[Pedro the Sailor]"; - mes "You know what? Why don't you do this on a more regular basis?"; - mes "I think you kind of like doing it."; - setquest 7401; - erasequest 7403; -// if (IsPremiumPcCafe == 10) - getitem Lesser_Agimat, 2; // Lesser_Agimat -// else -// getitem Lesser_Agimat, 1; // Lesser_Agimat - getexp 200000,200000; - if (!rand(3)) - $malayaNames$[0] = strcharinfo(PC_NAME); + mes "I'm glad you understand."; + mes "Sigh..."; close; } + mes "[Pedro the Sailor]"; + mes "Hmmm. That would be nice."; + mes "If she can be soothed with flowers...!"; + mes "Good luck."; + setquest 7402; + close; } } end; - -L_SetQuest: - mes "[Pedro the Sailor]"; - mes "Ah, the thing is..."; - mes "We can't go right now.."; - mes "You see, the ghosts are back..."; - mes "I'm fed up with nuisance."; - next; - mes "[Pedro the Sailor]"; - mes "I mean... Miss Diwata... Isn't feeling very well and, even with the Spiritual Protection"; - mes "a normal person can't stand it."; - next; - if (select("I see. Take care then.", "How about a Floral Tribute?") == 1) { - mes "[Pedro the Sailor]"; - mes "I'm glad you understand."; - mes "Sigh..."; - close; - } - mes "[Pedro the Sailor]"; - mes "Hmmm. That would be nice."; - mes "If she can be soothed with flowers...!"; - mes "Good luck."; - setquest 7402; - close; } ma_in01,125,107,3 script Ghost Diwata G_SKOGUL,4,4,{ diff --git a/npc/re/scripts_mapflags.conf b/npc/re/scripts_mapflags.conf index 8727d9b44..570294c47 100644 --- a/npc/re/scripts_mapflags.conf +++ b/npc/re/scripts_mapflags.conf @@ -28,4 +28,5 @@ //= Map Flags //========================================================================= +"npc/re/mapflag/gvg.txt", "npc/re/mapflag/zone.txt", diff --git a/npc/re/woe-fe/invest_main.txt b/npc/re/woe-fe/invest_main.txt index c912444cc..d743225df 100644 --- a/npc/re/woe-fe/invest_main.txt +++ b/npc/re/woe-fe/invest_main.txt @@ -107,16 +107,16 @@ function script F_Invest_Status { return 0; // Open for investments. - if (.@day >= 3 && (.@day < 5 || (.@day == 5 && .@hour <= 12))) + if (.@day >= WEDNESDAY && (.@day < FRIDAY || (.@day == FRIDAY && .@hour <= 12))) return 1; // Investments closed, calculating results. - if (.@day == 5 && .@hour == 12 && .@minute < 35) + if (.@day == FRIDAY && .@hour == 12 && .@minute < 35) return 2; // Calculations complete, dungeons open. - if ((.@day == 5 && (.@hour > 12 || (.@hour == 12 && .@minute >= 35))) || .@day > 5 || - .@day < 2 || (.@day == 2 && .@hour < 20)) + if ((.@day == FRIDAY && (.@hour > 12 || (.@hour == 12 && .@minute >= 35))) || .@day > FRIDAY || + .@day < TUESDAY || (.@day == TUESDAY && .@hour < 20)) return 3; // Dungeons closed. @@ -273,14 +273,14 @@ OnCalculate: else setd "$"+.@cas$[.@i]+"_invest_result",1; } - // No further actions if 20,000,000z isn't reached. - if (!.@total_2000) - end; // No further actions if any realm hits 70,000,000z. if (.@total_7000) { $2011_agit_invest = 4; end; } + // No further actions if 20,000,000z isn't reached. + if (!.@total_2000) + end; // Otherwise, highest investment above 20,000,000z opens Hall of Abyss. .@max = .@funds[0]; for(.@i = 1; .@i<4; ++.@i) { @@ -882,7 +882,7 @@ OnAgitInvest: close; } case 3: - if (checkweight(Knife,1) == 0 || MaxWeight - Weight < 1000) { + if (checkweight(Knife,1) == 0 || MaxWeight - Weight < 2000) { mes "- Currently you're carrying -"; mes "- too many items with you. -"; mes "- Please try again after you -"; @@ -1126,7 +1126,7 @@ OnAgitInvest: next; switch(select("Invest for gate connection", "Deepest Layer Dungeon Access", "Abyss Gate Access", "Cancel")) { case 1: - if (checkweight(Knife,1) == 0 || MaxWeight - Weight < 1000) { + if (checkweight(Knife,1) == 0 || MaxWeight - Weight < 2000) { mes "[Gate Manager]"; mes "You have too many items to receive the Thank You Ticket as a small gift for your investment."; mes "Please come back after making room in your inventory."; @@ -1401,27 +1401,48 @@ malangdo,218,123,1 script Namis#invest 4_CAT_SAILOR2,4,4,{ "Piece of Thanatos' armor","I hear Dragon Scales are tough 02","The identity of the creepy eye","If only I could see!"; .@i = select(implode(.@event1$[0],":"))-1; switch(.@i+1) { - case 1: callsub L_Check,"2 Pieces of Queen's Wing",6326,2,"Wings of the Insect Queen? What a pitiful name. I would've given some cool names!",.@event1$[.@i]; - case 2: callsub L_Check,"2 Broken Crowns",7754,2,"For crying out loud! Those cats working on these events must be playing around. Can't they think of a better name?",.@event1$[.@i]; - case 3: callsub L_Check,"2 Fire Dragon Scales",7451,2,"Dragon scales? Well... I guess they are tough. But what are they going to use them for?",.@event1$[.@i]; - case 4: callsub L_Check,"3 Mother's Nightmares",7020,3,"Even though I don't have the authority to find out, I wonder what they're doing with the collected items?",.@event1$[.@i]; - case 5: callsub L_Check,"5 Gemstones",7300,5,"Something useful for a change. The ore will end up as nice pieces of jewelry.",.@event1$[.@i]; - case 6: callsub L_Check,"5 Heroic Emblems",968,5,"Good, good. This is the kind of name I wanted!",.@event1$[.@i]; - case 7: callsub L_Check,"3 Taeguk Plates",7169,3,"Taking in something like this, maybe they're up to something dangerous.",.@event1$[.@i]; - case 8: callsub L_Check,"3 Broken Pharaoh Symbols and 3 Tutankhamen's Masks",7113,3,"I hear the pyramids are in Morroc, but I've never been there. Some humans call it Morco.",.@event1$[.@i],7114,3; - case 9: callsub L_Check,"2 Pocket Watches",7513,2,"Those lazy merchants, why do they need pocket watches they don't even use?",.@event1$[.@i]; - case 10: callsub L_Check,"3 Young Twigs",7018,3,"Mellow Island has a climate like with where we cats used to live. But the trees die out sometimes due to it being an island.",.@event1$[.@i]; - case 11: callsub L_Check,"5 Rossata Pieces",7211,5,"I guess they collect these because humans have them, but what's the use of researching ancient languages?",.@event1$[.@i]; - case 12: callsub L_Check,"5 Fangs of Garm",7036,5,"Weak humans need sharp weapons, but cats already have nice and sharp claws, so why are we collecting these!!",.@event1$[.@i]; - case 13: callsub L_Check,"3 Baphomet Dolls",750,3,"Baphomet dolls are great for playing around with.",.@event1$[.@i]; - case 14: callsub L_Check,"1 Tiger's Footskin and 5 Tiger Skins",1030,1,"Did you know that tigers are cats too? Therefore, cats are better than tigers.",.@event1$[.@i],1029,5; - case 15: callsub L_Check,"3 Broken Shield Pieces and 3 Shining Spear Blades",7108,3,"I don't know what they want with these.",.@event1$[.@i],7109,3; - case 16: callsub L_Check,"3 Osiris Dolls",751,3,"Shame~ I never got to play with an Osiris doll.",.@event1$[.@i]; - case 17: callsub L_Check,"1 Ice Scale",7562,1,"Mellow Island is a fabulous place to live. But the ships are too hot.",.@event1$[.@i]; - case 18: callsub L_Check,"1 Skeletal Armor Piece",7450,1,"Ewww... Why would they collect something so creepy?",.@event1$[.@i]; - case 19: callsub L_Check,"1 Darkred Scale Piece",6091,1,"Dragon scales? Well... I guess they are tough. But what are they going to use them for?",.@event1$[.@i]; - case 20: callsub L_Check,"2 Wills of Red Darkness",7566,2,"Interesting! Does it scream or something when I poke it in the eye?",.@event1$[.@i]; - case 21: callsub L_Check,"2 Foolishness of the Blind",7021,2,"This blind man is foolish in not knowing that gathering 300 cats cures blindness...",.@event1$[.@i]; + case 1: + callsub(L_Check, "2 Pieces of Queen's Wing", Queen_Wing_Piece, 2, "Wings of the Insect Queen? What a pitiful name. I would've given some cool names!", .@event1$[.@i]); + case 2: + callsub(L_Check, "2 Broken Crowns", Broken_Crown, 2, "For crying out loud! Those cats working on these events must be playing around. Can't they think of a better name?", .@event1$[.@i]); + case 3: + callsub(L_Check, "2 Fire Dragon Scales", Scale_Of_Red_Dragon, 2, "Dragon scales? Well... I guess they are tough. But what are they going to use them for?", .@event1$[.@i]); + case 4: + callsub(L_Check, "3 Mother's Nightmares", Mothers_Nightmare, 3, "Even though I don't have the authority to find out, I wonder what they're doing with the collected items?", .@event1$[.@i]); + case 5: + callsub(L_Check, "5 Gemstones", Gemstone, 5, "Something useful for a change. The ore will end up as nice pieces of jewelry.", .@event1$[.@i]); + case 6: + callsub(L_Check, "5 Heroic Emblems", Voucher_Of_Orcish_Hero, 5, "Good, good. This is the kind of name I wanted!", .@event1$[.@i]); + case 7: + callsub(L_Check, "3 Taeguk Plates", Taegeuk_Plate, 3, "Taking in something like this, maybe they're up to something dangerous.", .@event1$[.@i]); + case 8: + callsub(L_Check, "3 Broken Pharaoh Symbols and 3 Tutankhamen's Masks", Broken_Pharaoh_Symbol, 3, "I hear the pyramids are in Morroc, but I've never been there. Some humans call it Morco.", .@event1$[.@i], Tutankhamens_Mask, 3); + case 9: + callsub(L_Check, "2 Pocket Watches", Pocket_Watch, 2, "Those lazy merchants, why do they need pocket watches they don't even use?", .@event1$[.@i]); + case 10: + callsub(L_Check, "3 Young Twigs", Young_Twig, 3, "Mellow Island has a climate like with where we cats used to live. But the trees die out sometimes due to it being an island.", .@event1$[.@i]); + case 11: + callsub(L_Check, "5 Rossata Pieces", Rojerta_Piece, 5, "I guess they collect these because humans have them, but what's the use of researching ancient languages?", .@event1$[.@i]); + case 12: + callsub(L_Check, "5 Fangs of Garm", Fang_Of_Garm, 5, "Weak humans need sharp weapons, but cats already have nice and sharp claws, so why are we collecting these!!", .@event1$[.@i]); + case 13: + callsub(L_Check, "3 Baphomet Dolls", Baphomet_Doll, 3, "Baphomet dolls are great for playing around with.", .@event1$[.@i]); + case 14: + callsub(L_Check, "1 Tiger's Footskin and 5 Tiger Skins", Tiger_Footskin, 1, "Did you know that tigers are cats too? Therefore, cats are better than tigers.", .@event1$[.@i], Tigers_Skin, 5); + case 15: + callsub(L_Check, "3 Broken Shield Pieces and 3 Shining Spear Blades", Boroken_Shiled_Piece, 3, "I don't know what they want with these.", .@event1$[.@i], Shine_Spear_Blade, 3); + case 16: + callsub(L_Check, "3 Osiris Dolls", Osiris_Doll, 3, "Shame~ I never got to play with an Osiris doll.", .@event1$[.@i]); + case 17: + callsub(L_Check, "1 Ice Scale", Ice_Scale, 1, "Mellow Island is a fabulous place to live. But the ships are too hot.", .@event1$[.@i]); + case 18: + callsub(L_Check, "1 Skeletal Armor Piece", Piece_Of_Bone_Armor, 1, "Ewww... Why would they collect something so creepy?", .@event1$[.@i]); + case 19: + callsub(L_Check, "1 Darkred Scale Piece", Dark_Red_Scale, 1, "Dragon scales? Well... I guess they are tough. But what are they going to use them for?", .@event1$[.@i]); + case 20: + callsub(L_Check, "2 Wills of Red Darkness", Will_Of_Darkness_, 2, "Interesting! Does it scream or something when I poke it in the eye?", .@event1$[.@i]); + case 21: + callsub(L_Check, "2 Foolishness of the Blind", Foolishness_Of_Blind, 2, "This blind man is foolish in not knowing that gathering 300 cats cures blindness...", .@event1$[.@i]); } case 3: mes "[Namis]"; @@ -1496,21 +1517,36 @@ malangdo,215,119,4 script Thanks Ticket Machine 2_VENDING_MACHINE1,{ mes "The Vending Machine is selling items in the following list."; next; switch(select("Finish", "1 Siege Arrow Quiver A (2 Tickets)", "1 Siege Arrow Quiver S (2 Tickets)", "30 White Potion (12 Tickets)", "30 White Slim Potion (14 Tickets)", "10 Dark Water (20 Tickets)", "20 Siege_Violet_Potion (30 Tickets)", "10 Coldproof Potion (30 Tickets)", "10 Thunderproof Potion (30 Tickets)", "10 Earthproof Potion (30 Tickets)", "10 Fireproof Potion (30 Tickets)", "10 Elemental Converter[Fire] (30 Tickets)")) { - case 1: close; - case 2: callsub L_Purchase,2,12678,1; //Siege_Arrow_Quiver_A - case 3: callsub L_Purchase,2,12677,1; //Siege_Arrow_Quiver_S - case 4: callsub L_Purchase,12,504,30; //White_Potion - case 5: callsub L_Purchase,14,547,30; //White_Slim_Potion - case 6: callsub L_Purchase,20,12020,10; //Water_Of_Darkness - case 7: callsub L_Purchase,30,11547,20; //Woe_Violet_Potion - case 8: callsub L_Purchase,30,12119,10; //Resist_Water - case 9: callsub L_Purchase,30,12121,10; //Resist_Wind - case 10: callsub L_Purchase,30,12120,10; //Resist_Earth - case 11: callsub L_Purchase,30,12118,10; //Resist_Fire - case 12: callsub L_Purchase,30,12114,10,"Elemental Converter[Fire]"; //Elemental_Fire - case 13: callsub L_Purchase,30,12115,10,"Elemental Converter[Water]"; //Elemental_Water - case 14: callsub L_Purchase,30,12117,10,"Elemental Converter[Wind]"; //Elemental_Wind - case 15: callsub L_Purchase,30,12116,10,"Elemental Converter[Earth]"; //Elemental_Earth + case 1: + close; + case 2: + callsub(L_Purchase, 2, Siege_Arrow_Quiver_A, 1); + case 3: + callsub(L_Purchase, 2, Siege_Arrow_Quiver_S, 1); + case 4: + callsub(L_Purchase, 12, White_Potion, 30); + case 5: + callsub(L_Purchase, 14, White_Slim_Potion, 30); + case 6: + callsub(L_Purchase, 20, Water_Of_Darkness, 10); + case 7: + callsub(L_Purchase, 30, Woe_Violet_Potion, 20); + case 8: + callsub(L_Purchase, 30, Resist_Water, 10); + case 9: + callsub(L_Purchase, 30, Resist_Wind, 10); + case 10: + callsub(L_Purchase, 30, Resist_Earth, 10); + case 11: + callsub(L_Purchase, 30, Resist_Fire, 10); + case 12: + callsub(L_Purchase, 30, Elemental_Fire, 10, "Elemental Converter[Fire]"); + case 13: + callsub(L_Purchase, 30, Elemental_Water, 10, "Elemental Converter[Water]"); + case 14: + callsub(L_Purchase, 30, Elemental_Wind, 10, "Elemental Converter[Wind]"); + case 15: + callsub(L_Purchase, 30, Elemental_Earth, 10, "Elemental Converter[Earth]"); } end; case 3: @@ -1520,67 +1556,126 @@ malangdo,215,119,4 script Thanks Ticket Machine 2_VENDING_MACHINE1,{ mes "You don't have enough ^FF0000Invest Thanks Ticket^000000 to proceed."; close; } - delitem Thanks_Invest_Ticket,5; - .@i = rand(1,10000); - if (.@i <= 100) callsub L_Bag,12531,1; //White_Potion_Box - else if (.@i <= 200) callsub L_Bag,12549,1; //White_Slim_Pot_Box2 - else if (.@i <= 250) callsub L_Bag,11549,10; //Woe_Blue_Potion - else if (.@i <= 660) callsub L_Bag,617,1; //Old_Violet_Box - else if (.@i <= 710) callsub L_Bag,12532,1; //Royal_Jelly_Box2 - else if (.@i <= 760) callsub L_Bag,12533,1; //Blue_Herb_Box2 - else if (.@i <= 810) callsub L_Bag,505,5; //Blue_Potion - else if (.@i <= 1110) callsub L_Bag,644,1; //Gift_Box - else if (.@i <= 1120) callsub L_Bag,607,1; //Yggdrasilberry - else if (.@i <= 1130) callsub L_Bag,608,2; //Seed_Of_Yggdrasil - else if (.@i <= 1140) callsub L_Bag,12292,5; //Unripe_Fruit - else if (.@i <= 1150) callsub L_Bag,12293,5; //Dried_Yggdrasilberry - else if (.@i <= 1250) callsub L_Bag,12679,1; //Sg_White_Potion_Box - else if (.@i <= 1471) callsub L_Bag,603,1; //Old_Blue_Box - else if (.@i <= 1571) callsub L_Bag,12550,1,"Poison Bottle Box(30)"; //Poison_Bottle_Box2 - else if (.@i <= 1671) callsub L_Bag,12020,10; //Water_Of_Darkness - else if (.@i <= 1871) callsub L_Bag,12030,5; //Box_Of_Grudge - else if (.@i <= 2071) callsub L_Bag,12031,5; //Sleepy_Box - else if (.@i <= 2371) callsub L_Bag,12033,2; //Box_Of_Sunlight - else if (.@i <= 2571) callsub L_Bag,12114,5,"Elemental Converter[Fire]"; //Elemental_Fire - else if (.@i <= 2771) callsub L_Bag,12115,5,"Elemental Converter[Water]"; //Elemental_Water - else if (.@i <= 2971) callsub L_Bag,12117,5,"Elemental Converter[Wind]"; //Elemental_Wind - else if (.@i <= 3171) callsub L_Bag,12116,5,"Elemental Converter[Earth]"; //Elemental_Earth - else if (.@i <= 3271) callsub L_Bag,12680,1; //Sg_Blue_Potion_Box - else if (.@i <= 3471) callsub L_Bag,12118,5; //Resist_Fire - else if (.@i <= 3671) callsub L_Bag,12119,5; //Resist_Water - else if (.@i <= 3871) callsub L_Bag,12121,5; //Resist_Wind - else if (.@i <= 4071) callsub L_Bag,12120,5; //Resist_Earth - else if (.@i <= 4271) callsub L_Bag,929,20; //Immortal_Heart - else if (.@i <= 4471) callsub L_Bag,1059,20; //Transparent_Cloth - else if (.@i <= 4671) callsub L_Bag,905,20; //Stem - else if (.@i <= 4871) callsub L_Bag,606,10; //Aloebera - else if (.@i <= 5071) callsub L_Bag,609,10; //Amulet - else if (.@i <= 5271) callsub L_Bag,710,2; //Illusion_Flower - else if (.@i <= 5471) callsub L_Bag,576,20; //Prickly_Fruit - else if (.@i <= 5671) callsub L_Bag,621,10; //Bitter_Herb - else if (.@i <= 5871) callsub L_Bag,709,10; //Izidor - else if (.@i <= 6071) callsub L_Bag,605,10; //Anodyne - else if (.@i <= 6171) callsub L_Bag,11548,10; //Woe_White_Potion - else if (.@i <= 6371) callsub L_Bag,706,10; //Four_Leaf_Clover - else if (.@i <= 6571) callsub L_Bag,521,10; //Leaflet_Of_Aloe - else if (.@i <= 6771) callsub L_Bag,707,10; //Singing_Plant - else if (.@i <= 6971) callsub L_Bag,610,10; //Leaf_Of_Yggdrasil - else if (.@i <= 7021) callsub L_Bag,12676,1; //Sg_Violet_Potion_Box - else if (.@i <= 7171) callsub L_Bag,6249,10; //Savage_Meat - else if (.@i <= 7321) callsub L_Bag,6252,10; //Wolf_Blood - else if (.@i <= 7471) callsub L_Bag,6254,10; //Beef_Head_Meat - else if (.@i <= 7621) callsub L_Bag,6253,10; //Cold_Ice - else if (.@i <= 7771) callsub L_Bag,6256,10; //Ice_Fragment - else if (.@i <= 7921) callsub L_Bag,6257,10; //Ice_Crystal - else if (.@i <= 8071) callsub L_Bag,6260,10; //Petti_Tail - else if (.@i <= 8309) callsub L_Bag,7932,20; //Poison_Herb_Nerium - else if (.@i <= 8547) callsub L_Bag,7933,20; //Poison_Herb_Rantana - else if (.@i <= 8785) callsub L_Bag,7934,20; //Poison_Herb_Makulata - else if (.@i <= 9023) callsub L_Bag,7935,20; //Poison_Herb_Seratum - else if (.@i <= 9261) callsub L_Bag,7936,20; //Poison_Herb_Scopolia - else if (.@i <= 9499) callsub L_Bag,7937,20; //Poison_Herb_Amoena - else if (.@i <= 9699) callsub L_Bag,6217,20; //Mandragora_Flowerpot - else callsub L_Bag,12016,10; //Speed_Up_Potion + delitem(Thanks_Invest_Ticket, 5); + .@i = rand(1, 10000); + if (.@i <= 100) + callsub(L_Bag, White_Potion_Box, 1); + else if (.@i <= 200) + callsub(L_Bag, White_Slim_Pot_Box2, 1); + else if (.@i <= 250) + callsub(L_Bag, Woe_Blue_Potion, 10); + else if (.@i <= 660) + callsub(L_Bag, Old_Violet_Box, 1); + else if (.@i <= 710) + callsub(L_Bag, Royal_Jelly_Box2, 1); + else if (.@i <= 760) + callsub(L_Bag, Blue_Herb_Box2, 1); + else if (.@i <= 810) + callsub(L_Bag, Blue_Potion, 5); + else if (.@i <= 1110) + callsub(L_Bag, Gift_Box, 1); + else if (.@i <= 1120) + callsub(L_Bag, Yggdrasilberry, 1); + else if (.@i <= 1130) + callsub(L_Bag, Seed_Of_Yggdrasil, 2); + else if (.@i <= 1140) + callsub(L_Bag, Unripe_Fruit, 5); + else if (.@i <= 1150) + callsub(L_Bag, Dried_Yggdrasilberry, 5); + else if (.@i <= 1250) + callsub(L_Bag, Sg_White_Potion_Box, 1); + else if (.@i <= 1471) + callsub(L_Bag, Old_Blue_Box, 1); + else if (.@i <= 1571) + callsub(L_Bag, Poison_Bottle_Box2, 1, "Poison Bottle Box(30);"); + else if (.@i <= 1671) + callsub(L_Bag, Water_Of_Darkness, 10); + else if (.@i <= 1871) + callsub(L_Bag, Box_Of_Grudge, 5); + else if (.@i <= 2071) + callsub(L_Bag, Sleepy_Box, 5); + else if (.@i <= 2371) + callsub(L_Bag, Box_Of_Sunlight, 2); + else if (.@i <= 2571) + callsub(L_Bag, Elemental_Fire, 5, "Elemental Converter[Fire]"); + else if (.@i <= 2771) + callsub(L_Bag, Elemental_Water, 5, "Elemental Converter[Water]"); + else if (.@i <= 2971) + callsub(L_Bag, Elemental_Earth, 5, "Elemental Converter[Wind]"); + else if (.@i <= 3171) + callsub(L_Bag, Elemental_Wind, 5, "Elemental Converter[Earth]"); + else if (.@i <= 3271) + callsub(L_Bag, Sg_Blue_Potion_Box, 1); + else if (.@i <= 3471) + callsub(L_Bag, Resist_Fire, 5); + else if (.@i <= 3671) + callsub(L_Bag, Resist_Water, 5); + else if (.@i <= 3871) + callsub(L_Bag, Resist_Wind, 5); + else if (.@i <= 4071) + callsub(L_Bag, Resist_Earth, 5); + else if (.@i <= 4271) + callsub(L_Bag, Immortal_Heart, 20); + else if (.@i <= 4471) + callsub(L_Bag, Transparent_Cloth, 20); + else if (.@i <= 4671) + callsub(L_Bag, Stem, 20); + else if (.@i <= 4871) + callsub(L_Bag, Aloebera, 10); + else if (.@i <= 5071) + callsub(L_Bag, Amulet, 10); + else if (.@i <= 5271) + callsub(L_Bag, Illusion_Flower, 2); + else if (.@i <= 5471) + callsub(L_Bag, Prickly_Fruit, 20); + else if (.@i <= 5671) + callsub(L_Bag, Bitter_Herb, 10); + else if (.@i <= 5871) + callsub(L_Bag, Izidor, 10); + else if (.@i <= 6071) + callsub(L_Bag, Anodyne, 10); + else if (.@i <= 6171) + callsub(L_Bag, Woe_White_Potion, 10); + else if (.@i <= 6371) + callsub(L_Bag, Four_Leaf_Clover, 10); + else if (.@i <= 6571) + callsub(L_Bag, Leaflet_Of_Aloe, 10); + else if (.@i <= 6771) + callsub(L_Bag, Singing_Plant, 10); + else if (.@i <= 6971) + callsub(L_Bag, Leaf_Of_Yggdrasil, 10); + else if (.@i <= 7021) + callsub(L_Bag, Sg_Violet_Potion_Box, 1); + else if (.@i <= 7171) + callsub(L_Bag, Savage_Meat, 10); + else if (.@i <= 7321) + callsub(L_Bag, Wolf_Blood, 10); + else if (.@i <= 7471) + callsub(L_Bag, Beef_Head_Meat, 10); + else if (.@i <= 7621) + callsub(L_Bag, Cold_Ice, 10); + else if (.@i <= 7771) + callsub(L_Bag, Ice_Fragment, 10); + else if (.@i <= 7921) + callsub(L_Bag, Ice_Crystal, 10); + else if (.@i <= 8071) + callsub(L_Bag, Petti_Tail, 10); + else if (.@i <= 8309) + callsub(L_Bag, Poison_Herb_Nerium, 20); + else if (.@i <= 8547) + callsub(L_Bag, Poison_Herb_Rantana, 20); + else if (.@i <= 8785) + callsub(L_Bag, Poison_Herb_Makulata, 20); + else if (.@i <= 9023) + callsub(L_Bag, Poison_Herb_Seratum, 20); + else if (.@i <= 9261) + callsub(L_Bag, Poison_Herb_Scopolia, 20); + else if (.@i <= 9499) + callsub(L_Bag, Poison_Herb_Amoena, 20); + else if (.@i <= 9699) + callsub(L_Bag, Mandragora_Flowerpot, 20); + else + callsub(L_Bag, Speed_Up_Potion, 10); end; case 4: mes "Black Paw Jelly Bag Button chosen. Need to insert 50 ^FF0000Invest Thanks Ticket^000000 and a random item will appear."; @@ -1589,75 +1684,142 @@ malangdo,215,119,4 script Thanks Ticket Machine 2_VENDING_MACHINE1,{ mes "You don't have enough ^FF0000Invest Thanks Ticket^000000 to proceed."; close; } - delitem Thanks_Invest_Ticket,50; - .@i = rand(1,10000); - if (.@i <= 100) callsub L_Bag,12531,1; //White_Potion_Box - else if (.@i <= 200) callsub L_Bag,12549,1; //White_Slim_Pot_Box2 - else if (.@i <= 250) callsub L_Bag,11549,20; //Woe_Blue_Potion - else if (.@i <= 450) callsub L_Bag,617,1; //Old_Violet_Box - else if (.@i <= 500) callsub L_Bag,12532,1; //Royal_Jelly_Box2 - else if (.@i <= 550) callsub L_Bag,12533,1; //Blue_Herb_Box2 - else if (.@i <= 600) callsub L_Bag,505,10; //Blue_Potion - else if (.@i <= 800) callsub L_Bag,644,1; //Gift_Box - else if (.@i <= 810) callsub L_Bag,607,2; //Yggdrasilberry - else if (.@i <= 820) callsub L_Bag,608,3; //Seed_Of_Yggdrasil - else if (.@i <= 830) callsub L_Bag,12292,10; //Unripe_Fruit - else if (.@i <= 840) callsub L_Bag,12293,10; //Dried_Yggdrasilberry - else if (.@i <= 940) callsub L_Bag,12679,1; //Sg_White_Potion_Box - else if (.@i <= 1140) callsub L_Bag,603,1; //Old_Blue_Box - else if (.@i <= 1240) callsub L_Bag,12550,1,"Poison Bottle Box(30)"; //Poison_Bottle_Box2 - else if (.@i <= 1340) callsub L_Bag,12020,20; //Water_Of_Darkness - else if (.@i <= 1440) callsub L_Bag,12030,10; //Box_Of_Grudge - else if (.@i <= 1540) callsub L_Bag,12031,10; //Sleepy_Box - else if (.@i <= 1690) callsub L_Bag,12033,4; //Box_Of_Sunlight - else if (.@i <= 1790) callsub L_Bag,12114,10,"Elemental Converter[Fire]"; //Elemental_Fire - else if (.@i <= 1890) callsub L_Bag,12115,10,"Elemental Converter[Water]"; //Elemental_Water - else if (.@i <= 1990) callsub L_Bag,12117,10,"Elemental Converter[Wind]"; //Elemental_Wind - else if (.@i <= 2090) callsub L_Bag,12116,10,"Elemental Converter[Earth]"; //Elemental_Earth - else if (.@i <= 2190) callsub L_Bag,12680,1; //Sg_Blue_Potion_Box - else if (.@i <= 2290) callsub L_Bag,12118,10; //Resist_Fire - else if (.@i <= 2390) callsub L_Bag,12119,10; //Resist_Water - else if (.@i <= 2490) callsub L_Bag,12121,10; //Resist_Wind - else if (.@i <= 2590) callsub L_Bag,12120,10; //Resist_Earth - else if (.@i <= 2690) callsub L_Bag,929,40; //Immortal_Heart - else if (.@i <= 2790) callsub L_Bag,1059,40; //Transparent_Cloth - else if (.@i <= 2890) callsub L_Bag,905,40; //Stem - else if (.@i <= 2990) callsub L_Bag,606,20; //Aloebera - else if (.@i <= 3090) callsub L_Bag,609,20; //Amulet - else if (.@i <= 3190) callsub L_Bag,710,4; //Illusion_Flower - else if (.@i <= 3290) callsub L_Bag,576,40; //Prickly_Fruit - else if (.@i <= 3390) callsub L_Bag,621,20; //Bitter_Herb - else if (.@i <= 3490) callsub L_Bag,709,20; //Izidor - else if (.@i <= 3590) callsub L_Bag,605,20; //Anodyne - else if (.@i <= 3690) callsub L_Bag,11548,20; //Woe_White_Potion - else if (.@i <= 3790) callsub L_Bag,706,20; //Four_Leaf_Clover - else if (.@i <= 3890) callsub L_Bag,521,20; //Leaflet_Of_Aloe - else if (.@i <= 3990) callsub L_Bag,707,20; //Singing_Plant - else if (.@i <= 4090) callsub L_Bag,610,20; //Leaf_Of_Yggdrasil - else if (.@i <= 4140) callsub L_Bag,12676,1; //Sg_Violet_Potion_Box - else if (.@i <= 4240) callsub L_Bag,6249,20; //Savage_Meat - else if (.@i <= 4340) callsub L_Bag,6252,20; //Wolf_Blood - else if (.@i <= 4440) callsub L_Bag,6254,20; //Beef_Head_Meat - else if (.@i <= 4540) callsub L_Bag,6253,20; //Cold_Ice - else if (.@i <= 4640) callsub L_Bag,6256,20; //Ice_Fragment - else if (.@i <= 4740) callsub L_Bag,6257,20; //Ice_Crystal - else if (.@i <= 4840) callsub L_Bag,6260,20; //Petti_Tail - else if (.@i <= 4940) callsub L_Bag,7932,40; //Poison_Herb_Nerium - else if (.@i <= 5040) callsub L_Bag,7933,40; //Poison_Herb_Rantana - else if (.@i <= 5140) callsub L_Bag,7934,40; //Poison_Herb_Makulata - else if (.@i <= 5240) callsub L_Bag,7935,40; //Poison_Herb_Seratum - else if (.@i <= 5340) callsub L_Bag,7936,40; //Poison_Herb_Scopolia - else if (.@i <= 5440) callsub L_Bag,7937,40; //Poison_Herb_Amoena - else if (.@i <= 5540) callsub L_Bag,6217,40; //Mandragora_Flowerpot - else if (.@i <= 6000) callsub L_Bag,12016,20; //Speed_Up_Potion - else if (.@i <= 6500) callsub L_Bag,2483,1; //Siege_Greave - else if (.@i <= 7000) callsub L_Bag,2484,1; //Siege_Boots - else if (.@i <= 7500) callsub L_Bag,2485,1; //Siege_Shoes - else if (.@i <= 8000) callsub L_Bag,2586,1; //Siege_Manteau - else if (.@i <= 8500) callsub L_Bag,2587,1; //Siege_Muffler - else if (.@i <= 9000) callsub L_Bag,15046,1; //Siege_Plate - else if (.@i <= 9500) callsub L_Bag,15047,1; //Siege_Suits - else callsub L_Bag,15048,1; //Siege_Robe + delitem(Thanks_Invest_Ticket, 50); + .@i = rand(1, 10000); + if (.@i <= 100) + callsub(L_Bag, White_Potion_Box, 1); + else if (.@i <= 200) + callsub(L_Bag, White_Slim_Pot_Box2, 1); + else if (.@i <= 250) + callsub(L_Bag, Woe_Blue_Potion, 20); + else if (.@i <= 450) + callsub(L_Bag, Old_Violet_Box, 1); + else if (.@i <= 500) + callsub(L_Bag, Royal_Jelly_Box2, 1); + else if (.@i <= 550) + callsub(L_Bag, Blue_Herb_Box2, 1); + else if (.@i <= 600) + callsub(L_Bag, Blue_Potion, 10); + else if (.@i <= 800) + callsub(L_Bag, Gift_Box, 1); + else if (.@i <= 810) + callsub(L_Bag, Yggdrasilberry, 2); + else if (.@i <= 820) + callsub(L_Bag, Seed_Of_Yggdrasil, 3); + else if (.@i <= 830) + callsub(L_Bag, Unripe_Fruit, 10); + else if (.@i <= 840) + callsub(L_Bag, Dried_Yggdrasilberry, 10); + else if (.@i <= 940) + callsub(L_Bag, Sg_White_Potion_Box, 1); + else if (.@i <= 1140) + callsub(L_Bag, Old_Blue_Box, 1); + else if (.@i <= 1240) + callsub(L_Bag, Poison_Bottle_Box2, 1, "Poison Bottle Box(30)"); + else if (.@i <= 1340) + callsub(L_Bag, Water_Of_Darkness, 20); + else if (.@i <= 1440) + callsub(L_Bag, Box_Of_Grudge, 10); + else if (.@i <= 1540) + callsub(L_Bag, Sleepy_Box, 10); + else if (.@i <= 1690) + callsub(L_Bag, Box_Of_Sunlight, 4); + else if (.@i <= 1790) + callsub(L_Bag, Elemental_Fire, 10, "Elemental Converter[Fire]"); + else if (.@i <= 1890) + callsub(L_Bag, Elemental_Water, 10, "Elemental Converter[Water]"); + else if (.@i <= 1990) + callsub(L_Bag, Elemental_Wind, 10, "Elemental Converter[Wind]"); + else if (.@i <= 2090) + callsub(L_Bag, Elemental_Earth, 10, "Elemental Converter[Earth]"); + else if (.@i <= 2190) + callsub(L_Bag, Sg_Blue_Potion_Box, 1); + else if (.@i <= 2290) + callsub(L_Bag, Resist_Fire, 10); + else if (.@i <= 2390) + callsub(L_Bag, Resist_Water, 10); + else if (.@i <= 2490) + callsub(L_Bag, Resist_Wind, 10); + else if (.@i <= 2590) + callsub(L_Bag, Resist_Earth, 10); + else if (.@i <= 2690) + callsub(L_Bag, Immortal_Heart, 40); + else if (.@i <= 2790) + callsub(L_Bag, Transparent_Cloth, 40); + else if (.@i <= 2890) + callsub(L_Bag, Stem, 40); + else if (.@i <= 2990) + callsub(L_Bag, Aloebera, 20); + else if (.@i <= 3090) + callsub(L_Bag, Amulet, 20); + else if (.@i <= 3190) + callsub(L_Bag, Illusion_Flower, 4); + else if (.@i <= 3290) + callsub(L_Bag, Prickly_Fruit, 40); + else if (.@i <= 3390) + callsub(L_Bag, Bitter_Herb, 20); + else if (.@i <= 3490) + callsub(L_Bag, Izidor, 20); + else if (.@i <= 3590) + callsub(L_Bag, Anodyne, 20); + else if (.@i <= 3690) + callsub(L_Bag, Woe_White_Potion, 20); + else if (.@i <= 3790) + callsub(L_Bag, Four_Leaf_Clover, 20); + else if (.@i <= 3890) + callsub(L_Bag, Leaflet_Of_Aloe, 20); + else if (.@i <= 3990) + callsub(L_Bag, Singing_Plant, 20); + else if (.@i <= 4090) + callsub(L_Bag, Leaf_Of_Yggdrasil, 20); + else if (.@i <= 4140) + callsub(L_Bag, Sg_Violet_Potion_Box, 1); + else if (.@i <= 4240) + callsub(L_Bag, Savage_Meat, 20); + else if (.@i <= 4340) + callsub(L_Bag, Wolf_Blood, 20); + else if (.@i <= 4440) + callsub(L_Bag, Beef_Head_Meat, 20); + else if (.@i <= 4540) + callsub(L_Bag, Cold_Ice, 20); + else if (.@i <= 4640) + callsub(L_Bag, Ice_Fragment, 20); + else if (.@i <= 4740) + callsub(L_Bag, Ice_Crystal, 20); + else if (.@i <= 4840) + callsub(L_Bag, Petti_Tail, 20); + else if (.@i <= 4940) + callsub(L_Bag, Poison_Herb_Nerium, 40); + else if (.@i <= 5040) + callsub(L_Bag, Poison_Herb_Rantana, 40); + else if (.@i <= 5140) + callsub(L_Bag, Poison_Herb_Makulata, 40); + else if (.@i <= 5240) + callsub(L_Bag, Poison_Herb_Seratum, 40); + else if (.@i <= 5340) + callsub(L_Bag, Poison_Herb_Scopolia, 40); + else if (.@i <= 5440) + callsub(L_Bag, Poison_Herb_Amoena, 40); + else if (.@i <= 5540) + callsub(L_Bag, Mandragora_Flowerpot, 40); + else if (.@i <= 6000) + callsub(L_Bag, Speed_Up_Potion, 20); + else if (.@i <= 6500) + callsub(L_Bag, Siege_Greave, 1); + else if (.@i <= 7000) + callsub(L_Bag, Siege_Boots, 1); + else if (.@i <= 7500) + callsub(L_Bag, Siege_Shoes, 1); + else if (.@i <= 8000) + callsub(L_Bag, Siege_Manteau, 1); + else if (.@i <= 8500) + callsub(L_Bag, Siege_Muffler, 1); + else if (.@i <= 9000) + callsub(L_Bag, Siege_Plate, 1); + else if (.@i <= 9500) + callsub(L_Bag, Siege_Suits, 1); + else + callsub(L_Bag, Siege_Robe, 1); end; } end; |