diff options
Diffstat (limited to 'npc/re')
-rw-r--r-- | npc/re/jobs/3-1/ranger.txt | 760 | ||||
-rw-r--r-- | npc/re/quests/skills/acolyte_skills.txt | 5 | ||||
-rw-r--r-- | npc/re/quests/skills/archer_skills.txt | 14 | ||||
-rw-r--r-- | npc/re/quests/skills/mage_skills.txt | 9 | ||||
-rw-r--r-- | npc/re/quests/skills/merchant_skills.txt | 9 | ||||
-rw-r--r-- | npc/re/quests/skills/swordman_skills.txt | 23 |
6 files changed, 90 insertions, 730 deletions
diff --git a/npc/re/jobs/3-1/ranger.txt b/npc/re/jobs/3-1/ranger.txt index 0097853e6..ca4208d84 100644 --- a/npc/re/jobs/3-1/ranger.txt +++ b/npc/re/jobs/3-1/ranger.txt @@ -4,7 +4,7 @@ //= Masao //= Credits: Muad_Dib //===== Current Version: ===================================== -//= 1.3 +//= 1.4 //===== Compatible With: ===================================== //= Any rAthena SVN //===== Description: ========================================= @@ -19,6 +19,7 @@ //= part until M_DESERT_WOLF_B Mercenary is fully working. //= 1.3 Fixed waves not being announced and counted [Elias] //= 1.3a Little beauty fix, changed break; to next; . [Masao] +//= 1.4 Some optimization. [Euphy] //============================================================ tur_dun01,156,36,5 script Survival Instructor#jr01 59,{ @@ -35,13 +36,10 @@ tur_dun01,156,36,5 script Survival Instructor#jr01 59,{ mes "The monsters here are a"; mes "little tough so be careful."; next; - switch(select("I came here to become a Ranger.:I just came to look around.")) + if(select("I came here to become a Ranger.:I just came to look around.") == 2) { - case 1: - break; - case 2: mes "[Survival Instructor, Rescue]"; - mes "Oh ya.?"; + mes "Oh ya?"; mes "The weather is really great. Shall we take a picture to commemorate it?"; next; mes "[Survival Instructor, Rescue]"; @@ -206,17 +204,14 @@ tur_dun01,156,36,5 script Survival Instructor#jr01 59,{ mes "Remember that you don't have any other equipment on, so be careful of the monsters."; mes "Ready to start?"; next; - switch(select("Wait a second:Yes, I'm ready")) + if(select("Wait a second:Yes, I'm ready") == 1) { - case 1: mes "[Survival Instructor, Rescue]"; mes "What kind of preparation can be so long."; next; mes "[Survival Instructor, Rescue]"; mes "Come again when you are absolutely ready."; close; - case 2: - break; } mes "[Survival Instructor, Rescue]"; mes "Well, then let's start."; @@ -264,17 +259,14 @@ tur_dun01,156,36,5 script Survival Instructor#jr01 59,{ mes "As you don't have any equipment on, be careful of the monsters in the field."; mes "Well, shall we start?"; next; - switch(select("Wait a minute:I will start")) + if(select("Wait a minute:I will start") == 1) { - case 1: mes "[Survival Instructor, Rescue]"; mes "What kind of preparation can be so long."; next; mes "[Survival Instructor, Rescue]"; mes "Come again when you are absolutely ready."; close; - case 2: - break; } mes "[Survival Instructor, Rescue]"; mes "Okay, let's start."; @@ -401,9 +393,8 @@ tur_dun01,91,169,3 script Test Instructor#jr02 732,{ mes "[Test Instructor, Teardrop]"; mes "That you are coming and going bugs me so, would you please stop?!"; next; - switch(select("Ranger practical test building?:I came for the test.")) + if(select("Ranger practical test building?:I came for the test.") == 1) { - case 1: mes "[Test Instructor, Teardrop]"; mes "What, what are you...?"; next; @@ -413,8 +404,6 @@ tur_dun01,91,169,3 script Test Instructor#jr02 732,{ mes "[Test Instructor, Teardrop]"; mes "How could you be a Ranger if you can't even recognize what's in front of you? Get out of here!"; close; - case 2: - break; } mes "[Test Instructor, Teardrop]"; mes "Ho, having come this far, it means you've passed the first survival test."; @@ -821,14 +810,11 @@ tur_dun01,91,169,3 script Test Instructor#jr02 732,{ mes "Because you've disappeared suddenly, the Ranger Master was looking for you."; mes "Dou you want to go to him now?"; next; - switch(select("Don't go:Go")) + if(select("Don't go:Go") == 1) { - case 1: mes "[Test Instructor, Teardrop]"; mes "Are you busy with something else?"; close; - case 2: - break; } mes "[Test Instructor, Teardrop]"; mes "Then I'll send you, please be well."; @@ -912,11 +898,8 @@ job3_rang01,30,44,3 script Test Waiting Room#jr_03 88,{ mes "Please think about it again."; mes "If you give up here, your job change request will be cancelled. Do you really want to give up the job change to a Ranger?"; next; - switch(select("No, I'll continue with the test:I give up the Ranger job change")) + if(select("No, I'll continue with the test:I give up the Ranger job change") == 2) { - case 1: - break; - case 2: mes "[Staff DTS]"; mes "You don't have as many guts as I thought."; nude; @@ -1063,6 +1046,10 @@ OnInit: OnEnable: set $@job_rang_point01,0; + set $@job_rang_text01,0; + setarray .text$[1], + "First","Second","Third","Fourth","Fifth","Sixth","Seventh","Eighth","Ninth","Tenth","Eleventh", + "Twelfth","Thirteenth","Fourteenth","Fifteenth","Sixteenth","Seventeenth","Eighteenth","Nineteenth","Last"; enablenpc "First Test Timer#jr_05"; initnpctimer; end; @@ -1072,206 +1059,55 @@ OnDisable: disablenpc "First Test Timer#jr_05"; end; -OnTimer3000: - mapannounce "job3_rang02","Test Supervisor, Notice : First Wave! Kill the Poring!",bc_map; - donpcevent "Correct Monster Summon::OnStart"; - end; - OnTimer8000: - donpcevent "Correct Monster Summon::OnReset"; - donpcevent "False Monster Summon::OnReset"; - end; - -OnTimer10000: - mapannounce "job3_rang02","Test Supervisor, Notice : Second Wave! Kill the Poring!",bc_map; - donpcevent "Correct Monster Summon::OnStart"; - end; - OnTimer15000: - donpcevent "Correct Monster Summon::OnReset"; - donpcevent "False Monster Summon::OnReset"; - end; - -OnTimer17000: - mapannounce "job3_rang02","Test Supervisor, Notice : Third Wave! Kill the Poring!",bc_map; - donpcevent "Correct Monster Summon::OnStart"; - end; - OnTimer22000: - donpcevent "Correct Monster Summon::OnReset"; - donpcevent "False Monster Summon::OnReset"; - end; - -OnTimer24000: - mapannounce "job3_rang02","Test Supervisor, Notice : Fourth Wave! Kill the Poring!",bc_map; - donpcevent "Correct Monster Summon::OnStart"; - end; - OnTimer29000: - donpcevent "Correct Monster Summon::OnReset"; - donpcevent "False Monster Summon::OnReset"; - end; - -OnTimer31000: - mapannounce "job3_rang02","Test Supervisor, Notice : Fifth Wave! Kill the Poring!",bc_map; - donpcevent "Correct Monster Summon::OnStart"; - end; - OnTimer36000: - donpcevent "Correct Monster Summon::OnReset"; - donpcevent "False Monster Summon::OnReset"; - end; - -OnTimer38000: - mapannounce "job3_rang02","Test Supervisor, Notice : Sixth Wave! Kill the Poring!",bc_map; - donpcevent "Correct Monster Summon::OnStart"; - end; - OnTimer43000: - donpcevent "Correct Monster Summon::OnReset"; - donpcevent "False Monster Summon::OnReset"; - end; - -OnTimer45000: - mapannounce "job3_rang02","Test Supervisor, Notice : Seventh Wave! Kill the Poring!",bc_map; - donpcevent "Correct Monster Summon::OnStart"; - end; - OnTimer50000: - donpcevent "Correct Monster Summon::OnReset"; - donpcevent "False Monster Summon::OnReset"; - end; - -OnTimer52000: - mapannounce "job3_rang02","Test Supervisor, Notice : Eight Wave! Kill the Poring!",bc_map; - donpcevent "Correct Monster Summon::OnStart"; - end; - OnTimer57000: - donpcevent "Correct Monster Summon::OnReset"; - donpcevent "False Monster Summon::OnReset"; - end; - -OnTimer59000: - mapannounce "job3_rang02","Test Supervisor, Notice : Nineth Wave! Kill the Poring!",bc_map; - donpcevent "Correct Monster Summon::OnStart"; - end; - OnTimer64000: - donpcevent "Correct Monster Summon::OnReset"; - donpcevent "False Monster Summon::OnReset"; - end; - -OnTimer66000: - mapannounce "job3_rang02","Test Supervisor, Notice : Tenth Wave! Kill the Poring!",bc_map; - donpcevent "Correct Monster Summon::OnStart"; - end; - OnTimer71000: - donpcevent "Correct Monster Summon::OnReset"; - donpcevent "False Monster Summon::OnReset"; - end; - -OnTimer73000: - mapannounce "job3_rang02","Test Supervisor, Notice : Eleventh Wave! Kill the Poring!",bc_map; - donpcevent "Correct Monster Summon::OnStart"; - end; - OnTimer78000: - donpcevent "Correct Monster Summon::OnReset"; - donpcevent "False Monster Summon::OnReset"; - end; - -OnTimer80000: - mapannounce "job3_rang02","Test Supervisor, Notice : Twelfth Wave! Kill the Poring!",bc_map; - donpcevent "Correct Monster Summon::OnStart"; - end; - OnTimer85000: - donpcevent "Correct Monster Summon::OnReset"; - donpcevent "False Monster Summon::OnReset"; - end; - -OnTimer87000: - mapannounce "job3_rang02","Test Supervisor, Notice : Thirteenth Wave! Kill the Poring!",bc_map; - donpcevent "Correct Monster Summon::OnStart"; - end; - OnTimer92000: - donpcevent "Correct Monster Summon::OnReset"; - donpcevent "False Monster Summon::OnReset"; - end; - -OnTimer94000: - mapannounce "job3_rang02","Test Supervisor, Notice : Fourteenth Wave! Kill the Poring!",bc_map; - donpcevent "Correct Monster Summon::OnStart"; - end; - OnTimer99000: - donpcevent "Correct Monster Summon::OnReset"; - donpcevent "False Monster Summon::OnReset"; - end; - -OnTimer101000: - mapannounce "job3_rang02","Test Supervisor, Notice : Fifteenth Wave! Kill the Poring!",bc_map; - donpcevent "Correct Monster Summon::OnStart"; - end; - OnTimer106000: - donpcevent "Correct Monster Summon::OnReset"; - donpcevent "False Monster Summon::OnReset"; - end; - -OnTimer108000: - mapannounce "job3_rang02","Test Supervisor, Notice : Sixteenth Wave! Kill the Poring!",bc_map; - donpcevent "Correct Monster Summon::OnStart"; - end; - OnTimer113000: - donpcevent "Correct Monster Summon::OnReset"; - donpcevent "False Monster Summon::OnReset"; - end; - -OnTimer115000: - mapannounce "job3_rang02","Test Supervisor, Notice : Seventeenth Wave! Kill the Poring!",bc_map; - donpcevent "Correct Monster Summon::OnStart"; - end; - OnTimer120000: - donpcevent "Correct Monster Summon::OnReset"; - donpcevent "False Monster Summon::OnReset"; - end; - -OnTimer122000: - mapannounce "job3_rang02","Test Supervisor, Notice : Eighteenth Wave! Kill the Poring!",bc_map; - donpcevent "Correct Monster Summon::OnStart"; - end; - OnTimer127000: - donpcevent "Correct Monster Summon::OnReset"; - donpcevent "False Monster Summon::OnReset"; - end; - -OnTimer129000: - mapannounce "job3_rang02","Test Supervisor, Notice : Nineteenth Wave! Kill the Poring!",bc_map; - donpcevent "Correct Monster Summon::OnStart"; - end; - OnTimer134000: +OnTimer141000: donpcevent "Correct Monster Summon::OnReset"; donpcevent "False Monster Summon::OnReset"; end; +OnTimer3000: +OnTimer10000: +OnTimer17000: +OnTimer24000: +OnTimer31000: +OnTimer38000: +OnTimer45000: +OnTimer52000: +OnTimer59000: +OnTimer66000: +OnTimer73000: +OnTimer80000: +OnTimer87000: +OnTimer94000: +OnTimer101000: +OnTimer108000: +OnTimer115000: +OnTimer122000: +OnTimer129000: OnTimer136000: - mapannounce "job3_rang02","Test Supervisor, Notice : Last Wave! Kill the Poring!",bc_map; + set $@job_rang_text01,$@job_rang_text01+1; + mapannounce "job3_rang02","Test Supervisor, Notice : "+.text$[$@job_rang_text01]+" Wave! Kill the Poring!",bc_map; donpcevent "Correct Monster Summon::OnStart"; end; -OnTimer141000: - donpcevent "Correct Monster Summon::OnReset"; - donpcevent "False Monster Summon::OnReset"; - end; - OnTimer143000: mapannounce "job3_rang02","Test Supervisor, Notice : Well done! Now for your test result!",bc_map; end; @@ -1309,6 +1145,7 @@ OnTimer154000: OnTimer157000: mapwarp "job3_rang02","tur_dun01",93,165; set $@job_rang_point01,0; + set $@job_rang_text01,0; stopnpctimer; donpcevent "Test Supervisor#jr_04::OnDisable"; donpcevent "Practical Test::OnEnable"; @@ -1323,135 +1160,13 @@ OnDisable: end; OnStart: - set .@job_ranger_pattern01,rand(1,32); - if (.@job_ranger_pattern01 == 1) - { - donpcevent "False Monster Summon::OnOne"; - monster "job3_rang02",35,58,"Poring",1002,1,"Correct Monster Summon::OnMyMobDead"; - }else if (.@job_ranger_pattern01 == 2) - { - donpcevent "False Monster Summon::OnOne"; - monster "job3_rang02",35,58,"Poring",1031,1,"Correct Monster Summon::OnMyMobDead"; - }else if (.@job_ranger_pattern01 == 3) - { - donpcevent "False Monster Summon::OnOne"; - monster "job3_rang02",35,58,"Poring",1242,1,"Correct Monster Summon::OnMyMobDead"; - }else if (.@job_ranger_pattern01 == 4) - { - donpcevent "False Monster Summon::OnOne"; - monster "job3_rang02",35,58,"Poring",1113,1,"Correct Monster Summon::OnMyMobDead"; - }else if (.@job_ranger_pattern01 == 5) - { - donpcevent "False Monster Summon::OnTwo"; - monster "job3_rang02",44,58,"Poring",1002,1,"Correct Monster Summon::OnMyMobDead"; - }else if (.@job_ranger_pattern01 == 6) - { - donpcevent "False Monster Summon::OnTwo"; - monster "job3_rang02",44,58,"Poring",1031,1,"Correct Monster Summon::OnMyMobDead"; - }else if (.@job_ranger_pattern01 == 7) - { - donpcevent "False Monster Summon::OnTwo"; - monster "job3_rang02",44,58,"Poring",1242,1,"Correct Monster Summon::OnMyMobDead"; - }else if (.@job_ranger_pattern01 == 8) - { - donpcevent "False Monster Summon::OnTwo"; - monster "job3_rang02",44,58,"Poring",1113,1,"Correct Monster Summon::OnMyMobDead"; - }else if (.@job_ranger_pattern01 == 9) - { - donpcevent "False Monster Summon::OnThree"; - monster "job3_rang02",54,58,"Poring",1002,1,"Correct Monster Summon::OnMyMobDead"; - }else if (.@job_ranger_pattern01 == 10) - { - donpcevent "False Monster Summon::OnThree"; - monster "job3_rang02",54,58,"Poring",1031,1,"Correct Monster Summon::OnMyMobDead"; - }else if (.@job_ranger_pattern01 == 11) - { - donpcevent "False Monster Summon::OnThree"; - monster "job3_rang02",54,58,"Poring",1242,1,"Correct Monster Summon::OnMyMobDead"; - }else if (.@job_ranger_pattern01 == 12) - { - donpcevent "False Monster Summon::OnThree"; - monster "job3_rang02",54,58,"Poring",1113,1,"Correct Monster Summon::OnMyMobDead"; - }else if (.@job_ranger_pattern01 == 13) - { - donpcevent "False Monster Summon::OnFour"; - monster "job3_rang02",35,49,"Poring",1002,1,"Correct Monster Summon::OnMyMobDead"; - }else if (.@job_ranger_pattern01 == 14) - { - donpcevent "False Monster Summon::OnFour"; - monster "job3_rang02",35,49,"Poring",1031,1,"Correct Monster Summon::OnMyMobDead"; - }else if (.@job_ranger_pattern01 == 15) - { - donpcevent "False Monster Summon::OnFour"; - monster "job3_rang02",35,49,"Poring",1242,1,"Correct Monster Summon::OnMyMobDead"; - }else if (.@job_ranger_pattern01 == 16) - { - donpcevent "False Monster Summon::OnFour"; - monster "job3_rang02",35,49,"Poring",1113,1,"Correct Monster Summon::OnMyMobDead"; - }else if (.@job_ranger_pattern01 == 17) - { - donpcevent "False Monster Summon::OnFive"; - monster "job3_rang02",54,49,"Poring",1002,1,"Correct Monster Summon::OnMyMobDead"; - }else if (.@job_ranger_pattern01 == 18) - { - donpcevent "False Monster Summon::OnFive"; - monster "job3_rang02",54,49,"Poring",1031,1,"Correct Monster Summon::OnMyMobDead"; - }else if (.@job_ranger_pattern01 == 19) - { - donpcevent "False Monster Summon::OnFive"; - monster "job3_rang02",54,49,"Poring",1242,1,"Correct Monster Summon::OnMyMobDead"; - }else if (.@job_ranger_pattern01 == 20) - { - donpcevent "False Monster Summon::OnFive"; - monster "job3_rang02",54,49,"Poring",1031,1,"Correct Monster Summon::OnMyMobDead"; - }else if (.@job_ranger_pattern01 == 21) - { - donpcevent "False Monster Summon::OnSix"; - monster "job3_rang02",35,39,"Poring",1002,1,"Correct Monster Summon::OnMyMobDead"; - }else if (.@job_ranger_pattern01 == 22) - { - donpcevent "False Monster Summon::OnSix"; - monster "job3_rang02",35,39,"Poring",1031,1,"Correct Monster Summon::OnMyMobDead"; - }else if (.@job_ranger_pattern01 == 23) - { - donpcevent "False Monster Summon::OnSix"; - monster "job3_rang02",35,39,"Poring",1242,1,"Correct Monster Summon::OnMyMobDead"; - }else if (.@job_ranger_pattern01 == 24) - { - donpcevent "False Monster Summon::OnSix"; - monster "job3_rang02",35,39,"Poring",1113,1,"Correct Monster Summon::OnMyMobDead"; - }else if (.@job_ranger_pattern01 == 25) - { - donpcevent "False Monster Summon::OnSeven"; - monster "job3_rang02",44,39,"Poring",1002,1,"Correct Monster Summon::OnMyMobDead"; - }else if (.@job_ranger_pattern01 == 26) - { - donpcevent "False Monster Summon::OnSeven"; - monster "job3_rang02",44,39,"Poring",1031,1,"Correct Monster Summon::OnMyMobDead"; - }else if (.@job_ranger_pattern01 == 27) - { - donpcevent "False Monster Summon::OnSeven"; - monster "job3_rang02",44,39,"Poring",1242,1,"Correct Monster Summon::OnMyMobDead"; - }else if (.@job_ranger_pattern01 == 28) - { - donpcevent "False Monster Summon::OnSeven"; - monster "job3_rang02",44,39,"Poring",1113,1,"Correct Monster Summon::OnMyMobDead"; - }else if (.@job_ranger_pattern01 == 29) - { - donpcevent "False Monster Summon::OnEight"; - monster "job3_rang02",54,39,"Poring",1002,1,"Correct Monster Summon::OnMyMobDead"; - }else if (.@job_ranger_pattern01 == 30) - { - donpcevent "False Monster Summon::OnEight"; - monster "job3_rang02",54,39,"Poring",1031,1,"Correct Monster Summon::OnMyMobDead"; - }else if (.@job_ranger_pattern01 == 31) - { - donpcevent "False Monster Summon::OnEight"; - monster "job3_rang02",54,39,"Poring",1242,1,"Correct Monster Summon::OnMyMobDead"; - }else { - donpcevent "False Monster Summon::OnEight"; - monster "job3_rang02",54,39,"Poring",1113,1,"Correct Monster Summon::OnMyMobDead"; - } + setarray .@job_ranger_n01$[0],"OnOne","OnTwo","OnThree","OnFour","OnFive","OnSix","OnSeven","OnEight"; + setarray .@job_ranger_lx01[0],35,44,54,35,54,35,44,54; + setarray .@job_ranger_ly01[0],58,58,58,49,49,39,39,39; + setarray .@job_ranger_lm01[0],1002,1031,1242,1113; + set .@i, rand(8); + donpcevent "False Monster Summon::"+.@job_ranger_n01$[.@i]; + monster "job3_rang02",.@job_ranger_lx01[.@i],.@job_ranger_ly01[.@i],"Poring",.@job_ranger_lm01[rand(4)],1,"Correct Monster Summon::OnMyMobDead"; end; OnReset: @@ -1670,7 +1385,7 @@ OnTimer209000: end; OnTimer210000: - mapannounce "job3_rang02","Test Supervisor, Caution : Ugh.. What are you doing? Your time is up!",bc_map; + mapannounce "job3_rang02","Test Supervisor, Caution : Ugh... What are you doing? Your time is up!",bc_map; end; OnTimer213000: @@ -1953,305 +1668,39 @@ OnTimer9000: OnTimer12000: mapannounce "job3_rang02","Test Supervisor, Freeze : The 'Egg Bombs' will spawn 20 times! Each time you successfully dismantle one, you get 1 point! If you get 10 ore more points, you pass the preactical test, so go for it! Then I'll start!!!!!",bc_map; + set .n,14; end; OnTimer15000: - set .@rand,rand(1,3); - if (.@rand == 1) - { - donpcevent "Egg Bomb#job_ranger14::OnEnable"; - }else if (.@rand == 2) - { - donpcevent "Egg Bomb#job_ranger15::OnEnable"; - }else - { - donpcevent "Egg Bomb#job_ranger16::OnEnable"; - } - end; - OnTimer20000: - set .@rand,rand(1,3); - if (.@rand == 1) - { - donpcevent "Egg Bomb#job_ranger17::OnEnable"; - }else if (.@rand == 2) - { - donpcevent "Egg Bomb#job_ranger18::OnEnable"; - }else - { - donpcevent "Egg Bomb#job_ranger19::OnEnable"; - } - end; - OnTimer25000: - set .@rand,rand(1,3); - if (.@rand == 1) - { - donpcevent "Egg Bomb#job_ranger20::OnEnable"; - }else if (.@rand == 2) - { - donpcevent "Egg Bomb#job_ranger21::OnEnable"; - }else - { - donpcevent "Egg Bomb#job_ranger22::OnEnable"; - } - end; - OnTimer30000: - set .@rand,rand(1,3); - if (.@rand == 1) - { - donpcevent "Egg Bomb#job_ranger23::OnEnable"; - }else if (.@rand == 2) - { - donpcevent "Egg Bomb#job_ranger24::OnEnable"; - }else - { - donpcevent "Egg Bomb#job_ranger25::OnEnable"; - } - end; - OnTimer35000: - set .@rand,rand(1,3); - if (.@rand == 1) - { - donpcevent "Egg Bomb#job_ranger26::OnEnable"; - }else if (.@rand == 2) - { - donpcevent "Egg Bomb#job_ranger27::OnEnable"; - }else - { - donpcevent "Egg Bomb#job_ranger28::OnEnable"; - } - end; - OnTimer40000: - set .@rand,rand(1,3); - if (.@rand == 1) - { - donpcevent "Egg Bomb#job_ranger14::OnEnable"; - }else if (.@rand == 2) - { - donpcevent "Egg Bomb#job_ranger15::OnEnable"; - }else - { - donpcevent "Egg Bomb#job_ranger16::OnEnable"; - } - end; - OnTimer45000: - set .@rand,rand(1,3); - if (.@rand == 1) - { - donpcevent "Egg Bomb#job_ranger17::OnEnable"; - }else if (.@rand == 2) - { - donpcevent "Egg Bomb#job_ranger18::OnEnable"; - }else - { - donpcevent "Egg Bomb#job_ranger19::OnEnable"; - } - end; - OnTimer50000: - set .@rand,rand(1,3); - if (.@rand == 1) - { - donpcevent "Egg Bomb#job_ranger20::OnEnable"; - }else if (.@rand == 2) - { - donpcevent "Egg Bomb#job_ranger21::OnEnable"; - }else - { - donpcevent "Egg Bomb#job_ranger22::OnEnable"; - } - end; - OnTimer55000: - set .@rand,rand(1,3); - if (.@rand == 1) - { - donpcevent "Egg Bomb#job_ranger23::OnEnable"; - }else if (.@rand == 2) - { - donpcevent "Egg Bomb#job_ranger24::OnEnable"; - }else - { - donpcevent "Egg Bomb#job_ranger25::OnEnable"; - } - end; - OnTimer60000: - set .@rand,rand(1,3); - if (.@rand == 1) - { - donpcevent "Egg Bomb#job_ranger26::OnEnable"; - }else if (.@rand == 2) - { - donpcevent "Egg Bomb#job_ranger27::OnEnable"; - }else - { - donpcevent "Egg Bomb#job_ranger28::OnEnable"; - } - end; - OnTimer65000: - set .@rand,rand(1,3); - if (.@rand == 1) - { - donpcevent "Egg Bomb#job_ranger14::OnEnable"; - }else if (.@rand == 2) - { - donpcevent "Egg Bomb#job_ranger15::OnEnable"; - }else - { - donpcevent "Egg Bomb#job_ranger16::OnEnable"; - } - end; - OnTimer70000: - set .@rand,rand(1,3); - if (.@rand == 1) - { - donpcevent "Egg Bomb#job_ranger17::OnEnable"; - }else if (.@rand == 2) - { - donpcevent "Egg Bomb#job_ranger18::OnEnable"; - }else - { - donpcevent "Egg Bomb#job_ranger19::OnEnable"; - } - end; - OnTimer75000: - set .@rand,rand(1,3); - if (.@rand == 1) - { - donpcevent "Egg Bomb#job_ranger20::OnEnable"; - }else if (.@rand == 2) - { - donpcevent "Egg Bomb#job_ranger21::OnEnable"; - }else - { - donpcevent "Egg Bomb#job_ranger22::OnEnable"; - } - end; - OnTimer80000: - set .@rand,rand(1,3); - if (.@rand == 1) - { - donpcevent "Egg Bomb#job_ranger23::OnEnable"; - }else if (.@rand == 2) - { - donpcevent "Egg Bomb#job_ranger24::OnEnable"; - }else - { - donpcevent "Egg Bomb#job_ranger25::OnEnable"; - } - end; - OnTimer85000: - set .@rand,rand(1,3); - if (.@rand == 1) - { - donpcevent "Egg Bomb#job_ranger26::OnEnable"; - }else if (.@rand == 2) - { - donpcevent "Egg Bomb#job_ranger27::OnEnable"; - }else - { - donpcevent "Egg Bomb#job_ranger28::OnEnable"; - } - end; - OnTimer90000: - set .@rand,rand(1,3); - if (.@rand == 1) - { - donpcevent "Egg Bomb#job_ranger14::OnEnable"; - }else if (.@rand == 2) - { - donpcevent "Egg Bomb#job_ranger15::OnEnable"; - }else - { - donpcevent "Egg Bomb#job_ranger16::OnEnable"; - } - end; - OnTimer95000: - set .@rand,rand(1,3); - if (.@rand == 1) - { - donpcevent "Egg Bomb#job_ranger17::OnEnable"; - }else if (.@rand == 2) - { - donpcevent "Egg Bomb#job_ranger18::OnEnable"; - }else - { - donpcevent "Egg Bomb#job_ranger19::OnEnable"; - } - end; - OnTimer100000: - set .@rand,rand(1,3); - if (.@rand == 1) - { - donpcevent "Egg Bomb#job_ranger20::OnEnable"; - }else if (.@rand == 2) - { - donpcevent "Egg Bomb#job_ranger21::OnEnable"; - }else - { - donpcevent "Egg Bomb#job_ranger22::OnEnable"; - } - end; - OnTimer105000: - set .@rand,rand(1,3); - if (.@rand == 1) - { - donpcevent "Egg Bomb#job_ranger23::OnEnable"; - }else if (.@rand == 2) - { - donpcevent "Egg Bomb#job_ranger24::OnEnable"; - }else - { - donpcevent "Egg Bomb#job_ranger25::OnEnable"; - } - end; - OnTimer110000: - set .@rand,rand(1,3); - if (.@rand == 1) - { - donpcevent "Egg Bomb#job_ranger26::OnEnable"; - }else if (.@rand == 2) - { - donpcevent "Egg Bomb#job_ranger27::OnEnable"; - }else - { - donpcevent "Egg Bomb#job_ranger28::OnEnable"; - } + donpcevent "Egg Bomb#job_ranger"+(.n+rand(3))+"::OnEnable"; + if (.n == 26) set .n,14; + else set .n, .n+3; end; OnTimer113000: mapannounce "job3_rang02","Test Supervisor, Freeze : The test is ooooooooooooooveeeeerrr!!!!!!!!!!!!!!!!!!!!!!!!!!",bc_map; - donpcevent "Egg Bomb#job_ranger14::OnDisable"; - donpcevent "Egg Bomb#job_ranger15::OnDisable"; - donpcevent "Egg Bomb#job_ranger16::OnDisable"; - donpcevent "Egg Bomb#job_ranger17::OnDisable"; - donpcevent "Egg Bomb#job_ranger18::OnDisable"; - donpcevent "Egg Bomb#job_ranger19::OnDisable"; - donpcevent "Egg Bomb#job_ranger20::OnDisable"; - donpcevent "Egg Bomb#job_ranger21::OnDisable"; - donpcevent "Egg Bomb#job_ranger22::OnDisable"; - donpcevent "Egg Bomb#job_ranger23::OnDisable"; - donpcevent "Egg Bomb#job_ranger24::OnDisable"; - donpcevent "Egg Bomb#job_ranger25::OnDisable"; - donpcevent "Egg Bomb#job_ranger26::OnDisable"; - donpcevent "Egg Bomb#job_ranger27::OnDisable"; - donpcevent "Egg Bomb#job_ranger28::OnDisable"; + for(set .@i,14; .@i<29; set .@i,.@i+1) + donpcevent "Egg Bomb#job_ranger"+.@i+"::OnDisable"; + set .n,0; end; OnTimer116000: @@ -2994,44 +2443,16 @@ job3_rang01,90,43,3 script Ranger Master#jr_29 832,{ mes "Okay, before you really change the job into a ranger, I'll ask you on more time."; mes "Do you really want to become a ranger?"; next; - switch(select("No:Yes!")) + if(select("No:Yes!") == 1) { - case 1: mes "[Ranger Master, Neveragain]"; mes "Umm? That's not the answer that I was waiting for..."; next; mes "[Ranger Master, Neveragain]"; mes "Even after passing through all the rough practical tests, you don't want to become a ranger... are you sure?"; close; - case 2: - break; - } - if(Class == Job_Baby_Hunter){ - mes "[Ranger Master, Neveragain]"; - mes "Your firm answer seems very trustworthy!"; - next; - nude; - if (countitem(1703) > 0) - { - mes "[Ranger Master, Neveragain]"; - mes "From now on be active as a splendid Ranger!"; - mes "I wish you luck in your future!"; - delitem 1703,1; - set job_ranger01,7; - completequest 8262; - jobchange Job_Baby_Ranger; - getitem 5748,1; - getitem 2795,1; - getitem 6124,1; - close; - } - mes "[Ranger Master, Neveragain]"; - mes "...However,"; - mes "You have to return your test items."; - mes "What did you do with your testing Bow?"; - close; } - else if (Class == Job_Hunter) + if (Class == Job_Hunter || Class == Job_Sniper || Job_Baby_Hunter) { mes "[Ranger Master, Neveragain]"; mes "Your firm answer seems very trustworthy!"; @@ -3045,32 +2466,7 @@ job3_rang01,90,43,3 script Ranger Master#jr_29 832,{ delitem 1703,1; set job_ranger01,7; completequest 8262; - jobchange Job_Ranger; - getitem 5748,1; - getitem 2795,1; - getitem 6124,1; - close; - } - mes "[Ranger Master, Neveragain]"; - mes "...However,"; - mes "You have to return your test items."; - mes "What did you do with your testing Bow?"; - close; - }else if (Class == Job_Sniper) - { - mes "[Ranger Master, Neveragain]"; - mes "Your firm answer seems very trustworthy!"; - next; - nude; - if (countitem(1703) > 0) - { - mes "[Ranger Master, Neveragain]"; - mes "From now on be active as a splendid Ranger!"; - mes "I wish you luck in your future!"; - delitem 1703,1; - set job_ranger01,7; - completequest 8262; - jobchange Job_Ranger_T; + jobchange roclass(eaclass()|EAJL_THIRD); getitem 5748,1; getitem 2795,1; getitem 6124,1; @@ -3104,15 +2500,13 @@ job3_rang01,90,43,3 script Ranger Master#jr_29 832,{ warp "alberta",117,57; end; } - }else if (job_ranger01 > 6) - { + }else{ mes "[Ranger Master, Neveragain]"; mes "Hey, you look great."; mes "What are you doing here?"; next; - switch(select("I just came by:Please let me be out")) + if(select("I just came by:Please let me be out") == 1) { - case 1: mes "[Ranger Master, Neveragain]"; mes "Well, there's nothing to see and you came."; next; @@ -3120,8 +2514,6 @@ job3_rang01,90,43,3 script Ranger Master#jr_29 832,{ mes "Take a rest as long as you want."; mes "It's the place where you can have a tea easily."; close; - case 2: - break; } mes "[Ranger Master, Neveragain]"; mes "It was good to see you."; @@ -3130,29 +2522,6 @@ job3_rang01,90,43,3 script Ranger Master#jr_29 832,{ warp "alberta",117,57; end; } - mes "[Ranger Master, Neveragain]"; - mes "Hey, you look great."; - mes "What are you doing here?"; - next; - switch(select("I just came by:Please let me be out")) - { - case 1: - mes "[Ranger Master, Neveragain]"; - mes "Well, there's nothing to see and you came."; - next; - mes "[Ranger Master, Neveragain]"; - mes "Take a rest as long as you want."; - mes "It's the place where you can have a tea easily."; - close; - case 2: - break; - } - mes "[Ranger Master, Neveragain]"; - mes "It was good to see you."; - mes "Don't lose the dignity as a Ranger wherever you go."; - close2; - warp "alberta",117,57; - end; } job3_rang01,58,1,0 script Test#job_ranger 88,{ @@ -3195,21 +2564,8 @@ job3_rang01,58,1,0 script Test#job_ranger 88,{ case 8: mes "3rd Test has been Disabled"; donpcevent "Third Test Timer#jr_12::OnDisable"; - donpcevent "Egg Bomb#job_ranger14::OnDisable"; - donpcevent "Egg Bomb#job_ranger15::OnDisable"; - donpcevent "Egg Bomb#job_ranger16::OnDisable"; - donpcevent "Egg Bomb#job_ranger17::OnDisable"; - donpcevent "Egg Bomb#job_ranger18::OnDisable"; - donpcevent "Egg Bomb#job_ranger19::OnDisable"; - donpcevent "Egg Bomb#job_ranger20::OnDisable"; - donpcevent "Egg Bomb#job_ranger21::OnDisable"; - donpcevent "Egg Bomb#job_ranger22::OnDisable"; - donpcevent "Egg Bomb#job_ranger23::OnDisable"; - donpcevent "Egg Bomb#job_ranger24::OnDisable"; - donpcevent "Egg Bomb#job_ranger25::OnDisable"; - donpcevent "Egg Bomb#job_ranger26::OnDisable"; - donpcevent "Egg Bomb#job_ranger27::OnDisable"; - donpcevent "Egg Bomb#job_ranger28::OnDisable"; + for(set .@i,14; .@i<29; set .@i,.@i+1) + donpcevent "Egg Bomb#job_ranger"+.@i+"::OnDisable"; close; case 9: close; diff --git a/npc/re/quests/skills/acolyte_skills.txt b/npc/re/quests/skills/acolyte_skills.txt index c6dd68f4e..2d797d714 100644 --- a/npc/re/quests/skills/acolyte_skills.txt +++ b/npc/re/quests/skills/acolyte_skills.txt @@ -3,7 +3,7 @@ //===== By: ================================================== //= kobra_k88 //===== Current Version: ===================================== -//= 1.7 +//= 1.8 //===== Compatible With: ===================================== //= rAthena SVN //===== Description: ========================================= @@ -12,6 +12,7 @@ //= 1.5 Rescripted to Aegis 10.3 stadards. [L0ne_W0lf] //= 1.6 Fixed a typo in job check. (Bugreport:1531) [L0ne_W0lf] //= 1.7 Updated to latest available official file. [Masao] +//= 1.8 Fixed JobLevel requirements. [Euphy] //============================================================ prt_church,173,23,4 script Cleric 79,{ @@ -67,7 +68,7 @@ prt_church,173,23,4 script Cleric 79,{ mes "this skill for the work of good . ."; close; } - if ((countitem(727) > 0) && (countitem(991) > 0) && (countitem(2608) > 0) && (JobLevel > 29) && (BaseClass == Job_Acolyte)) { + if ((countitem(727) > 0) && (countitem(991) > 0) && (countitem(2608) > 0) && (JobLevel > 29 || (BaseJob == Job_Priest || BaseJob == Job_Monk)) && (BaseClass == Job_Acolyte)) { mes "[Acolyte Klift]"; mes "Your faith has proven worthy"; mes "for you to gain the ' Holy Light ' skill."; diff --git a/npc/re/quests/skills/archer_skills.txt b/npc/re/quests/skills/archer_skills.txt index dd1233e56..0fbb4d270 100644 --- a/npc/re/quests/skills/archer_skills.txt +++ b/npc/re/quests/skills/archer_skills.txt @@ -3,7 +3,7 @@ //===== By: ================================================== //= rAthena dev team //===== Current Version: ===================================== -//= 1.6 +//= 1.7 //===== Compatible With: ===================================== //= rAthena SVN //===== Description: ========================================= @@ -12,6 +12,7 @@ //= 1.5 Rescripted to Aegis 10.3 stadards. [L0ne_W0lf] //= 1.6 Updated to latest available official file. //= also fixed Item issue [bugreport:5607]. [Masao] +//= 1.7 Fixed JobLevel requirements. [Euphy] //============================================================ moc_ruins,118,99,5 script Roberto 88,{ @@ -33,7 +34,7 @@ moc_ruins,118,99,5 script Roberto 88,{ mes "Then byebye~"; close; } - else if ((BaseClass == Job_Archer) && (JobLevel >= 30)) { + else if (JobLevel >= 30 || (BaseJob == Job_Hunter || BaseJob == Job_Bard || BaseJob == Job_Dancer)) { mes "[Roberto]"; mes "Eh!"; mes " "; @@ -130,10 +131,9 @@ moc_ruins,118,99,5 script Roberto 88,{ } } mes "[Roberto]"; - mes "Hmm... Do you?"; - mes "Have something to say?"; - mes "I,"; - mes "have nothing."; + mes "Hmm... Do you"; + mes "have something to say?"; + mes "I have nothing."; mes "Difference in levels"; mes "cuts off conversations."; close; @@ -158,7 +158,7 @@ payon,103,63,3 script Jason 88,3,3,{ mes "Ehhhh... don't come any more ehh..."; close; } - else if (JobLevel >= 35) { + else if (JobLevel >= 35 || (BaseJob == Job_Hunter || BaseJob == Job_Bard || BaseJob == Job_Dancer)) { mes "[Jason]"; mes "Darn... my wound isn't healing."; mes "Bleh.. I was too careless... "; diff --git a/npc/re/quests/skills/mage_skills.txt b/npc/re/quests/skills/mage_skills.txt index cb141443d..2f9d124fa 100644 --- a/npc/re/quests/skills/mage_skills.txt +++ b/npc/re/quests/skills/mage_skills.txt @@ -3,7 +3,7 @@ //===== By: ================================================== //= kobra_k88 //===== Current Version: ===================================== -//= 1.7 +//= 1.8 //===== Compatible With: ===================================== //= rAthena SVN //===== Description: ========================================= @@ -12,6 +12,7 @@ //= 1.5 Rescripted to Aegis 10.3 stadards. [L0ne_W0lf] //= 1.6 Fixed a typo in job check. (Bugreport:1531) [L0ne_W0lf] //= 1.7 Updated to latest available official file. [Masao] +//= 1.8 Fixed JobLevel requirements. [Euphy] //============================================================ geffen_in,151,119,4 script Great Wizard 64,{ @@ -21,7 +22,7 @@ geffen_in,151,119,4 script Great Wizard 64,{ mes "Look into yourself to discover"; mes "your hidden abilities !"; next; - switch (select(" About mage's hidden ability :About skill ^3355FF' Energy Coat '^000000 :End conversation")) { + switch (select("About mage's hidden ability :About skill ^3355FF' Energy Coat '^000000 :End conversation")) { case 1: mes "[BLIZZARDRISS]"; mes "For many years"; @@ -92,7 +93,7 @@ geffen_in,151,119,4 script Great Wizard 64,{ mes "I have nothing more to teach you ..."; close; } - if ((countitem(746) > 2) && (countitem(730) > 0) && (countitem(935) > 4) && (countitem(943) > 0) && (JobLevel > 34) && (BaseClass == Job_Mage)) { + if ((countitem(746) > 2) && (countitem(730) > 0) && (countitem(935) > 4) && (countitem(943) > 0) && (JobLevel > 34 || (BaseJob == Job_Wizard || BaseJob == Job_Sage)) && (BaseClass == Job_Mage)) { mes "[BLIZZARDRISS]"; mes "Okay, I have received your request."; mes "I will now awaken your hidden energies . ."; @@ -138,7 +139,7 @@ geffen_in,151,119,4 script Great Wizard 64,{ mes "Didn't you listen to my explanation ? !"; mes "You have not prepared fully"; mes "for me to assist you."; - mes "Check that you have me all the requirements"; + mes "Check that you have all the requirements."; next; mes "[BLIZZARDRISS]"; mes "If you need me to explain"; diff --git a/npc/re/quests/skills/merchant_skills.txt b/npc/re/quests/skills/merchant_skills.txt index 1fb202072..def5ec6aa 100644 --- a/npc/re/quests/skills/merchant_skills.txt +++ b/npc/re/quests/skills/merchant_skills.txt @@ -3,7 +3,7 @@ //===== By: ================================================== //= kobra_k88 //===== Current Version: ===================================== -//= 1.6 +//= 1.7 //===== Compatible With: ===================================== //= rAthena SVN //===== Description: ========================================= @@ -12,6 +12,7 @@ //===== Additional Comments: ================================= //= 1.5 Rescripted to Aegis 10.3 stadards. [L0ne_W0lf] //= 1.6 Updated to latest available official file. [Masao] +//= 1.7 Fixed JobLevel requirements. [Euphy] //============================================================ alberta,83,96,5 script Necko 98,7,7,{ @@ -61,7 +62,7 @@ alberta,83,96,5 script Necko 98,7,7,{ mes "Kyukwakakakakakakakakakaka!"; close; } - else if ((countitem(722) > 6) && (countitem(532) > 0) && (countitem(921) > 49) && (JobLevel >= 15)) { + else if ((countitem(722) > 6) && (countitem(532) > 0) && (countitem(921) > 49) && (JobLevel >= 15 || (BaseJob == Job_Blacksmith || BaseJob == Job_Alchemist))) { mes "[Necko]"; mes "Oh! You!"; mes "You are qualified to learn how to shout!"; @@ -200,7 +201,7 @@ alberta,119,221,6 script Charlron 107,{ mes "Be healthy~"; close; } - else if (JobLevel >= 30) { + else if (JobLevel >= 30|| (BaseJob == Job_Blacksmith || BaseJob == Job_Alchemist)) { mes "[Charlron]"; mes "Nice to see you fellow merchant"; mes "If I remember correctly,"; @@ -347,7 +348,7 @@ alberta,232,103,6 script Gershaun 57,{ mes "Here! Hurry!"; close; } - else if ((BaseClass == Job_Merchant) && (JobLevel >= 35)) { + else if (JobLevel >= 35 || (BaseJob == Job_Blacksmith || BaseJob == Job_Alchemist)) { mes "[Gershaun]"; mes "Ooh. You have a firm body"; mes "for a merchant. You must be"; diff --git a/npc/re/quests/skills/swordman_skills.txt b/npc/re/quests/skills/swordman_skills.txt index 31853bc8c..295291a16 100644 --- a/npc/re/quests/skills/swordman_skills.txt +++ b/npc/re/quests/skills/swordman_skills.txt @@ -3,7 +3,7 @@ //===== By: ================================================== //= kobra_k88 //===== Current Version: ===================================== -//= 1.7 +//= 1.8 //===== Compatible With: ===================================== //= rAthena SVN //===== Description: ========================================= @@ -12,6 +12,7 @@ //===== Additional Comments: ================================= //= 1.6 Rescripted to Aegis 10.3 stadards. [L0ne_W0lf] //= 1.7 Updated to latest available official file. [Masao] +//= 1.8 Fixed JobLevel requirements. [Euphy] //============================================================ izlude_in,175,130,2 script Knight De Thomas 98,4,4,{ @@ -90,13 +91,13 @@ izlude_in,175,130,2 script Knight De Thomas 98,4,4,{ next; switch (select("Yes.:No, I'm not ready yet.")) { case 1: - if ((JobLevel > 34) && (countitem(713) > 199) && (countitem(1058) > 0)) { + if ((JobLevel > 34 || (BaseJob == Job_Knight || BaseJob == Job_Crusader)) && (countitem(713) > 199) && (countitem(1058) > 0)) { mes "[De Thomas]"; mes "Let's see....."; next; mes "[De Thomas]"; mes "Ok! I shall now teach you..."; - mes "..The Body Movin' skill!"; + mes "...The Body Movin' skill!"; next; delitem 713,200; //Empty_Bottle delitem 1058,1; //Wing_Of_Moth @@ -110,12 +111,12 @@ izlude_in,175,130,2 script Knight De Thomas 98,4,4,{ mes "[De Thomas]"; mes "Oh yeah, I won't be needing your"; mes "armor so you can keep it."; - mes "..Good luck now!"; + mes "Good luck now!"; close; } - else if (JobLevel < 35) { + else if (JobLevel < 35 && (BaseJob != Job_Knight && BaseJob != Job_Crusader)) { mes "[De Thomas]"; - mes "Wait a second your Job level isn't above ^00880035^000000!"; + mes "Wait a second, your Job level isn't above ^00880035^000000!"; mes "Come back when it is."; close; } @@ -150,7 +151,7 @@ izlude_in,175,130,2 script Knight De Thomas 98,4,4,{ prt_in,75,88,5 script Leon Von Frich 85,3,3,{ - if ((BaseClass == Job_Swordman) && (JobLevel >= 25)) { + if ((BaseClass == Job_Swordman) && (JobLevel >= 25 || (BaseJob == Job_Knight || BaseJob == Job_Crusader))) { if (getskilllv("SM_FATALBLOW") == 1) { mes "[Leon]"; mes "Eh?"; @@ -313,7 +314,7 @@ prt_in,94,57,3 script Juan 85,4,4,{ mes "You can do it."; close; } - else if (JobLevel < 10) { + else if (JobLevel < 10 && (BaseJob != Job_Knight && BaseJob != Job_Crusader)) { mes "[?]"; mes "What are you?"; mes "Eh, still a beginner."; @@ -321,13 +322,13 @@ prt_in,94,57,3 script Juan 85,4,4,{ mes "before coming back."; close; } - else if ((JobLevel > 10) && (JobLevel < 30)) { + else if (JobLevel < 30 && (BaseJob != Job_Knight && BaseJob != Job_Crusader)) { mes "[Juan]"; mes "Oh, nice to meet you."; mes "You can be on your way. (smiley~)"; close; } - else if ((countitem(924) > 34) && (countitem(958) > 9) && (countitem(957) > 9) && (countitem(518) > 9) && (JobLevel >= 30)) { + else if ((countitem(924) > 34) && (countitem(958) > 9) && (countitem(957) > 9) && (countitem(518) > 9)) { mes "[Juan]"; mes "Ooh. Young swordsman!"; mes "You are ready to learn the"; @@ -336,7 +337,7 @@ prt_in,94,57,3 script Juan 85,4,4,{ switch (select("Hoho, I would like to learn it now.:What is that?")) { case 1: mes "[Juan]"; - mes "Ok. Then.."; + mes "Ok. Then..."; next; delitem 924,35; //Powder_Of_Butterfly delitem 958,10; //Horrendous_Mouth |