diff options
Diffstat (limited to 'npc/re/jobs/3-2/sorcerer.txt')
-rw-r--r-- | npc/re/jobs/3-2/sorcerer.txt | 343 |
1 files changed, 89 insertions, 254 deletions
diff --git a/npc/re/jobs/3-2/sorcerer.txt b/npc/re/jobs/3-2/sorcerer.txt index f54991c78..761a34e0d 100644 --- a/npc/re/jobs/3-2/sorcerer.txt +++ b/npc/re/jobs/3-2/sorcerer.txt @@ -1,40 +1,39 @@ //===== rAthena Script ======================================= // Sorcerer Job change Quest //===== By: ================================================== -//= Masao -//= Credits: Muad_Dib +//= Muad_Dib //===== Current Version: ===================================== -//= 1.1 +//= 1.2 //===== Compatible With: ===================================== //= Any rAthena SVN //===== Description: ========================================= -//= [Translated from the Official] +//= [Official Conversion] //= Job change Quest from Sage / Professor -> Sorcerer. //===== Additional Comments: ================================= -//= 1.0 First Version. +//= 1.0 First Version. [Masao] //= 1.1 Cleaning. [Euphy] +//= 1.2 Updated script, optimized. [Euphy] //============================================================ gef_tower,102,34,5 script Merito 742,{ - - if(checkweight(1201,1) == 0){ + mes "[Merito]"; + if (checkweight(1201,1) == 0 || MaxWeight - Weight < 1000) { mes "You packed so much in your bag. Try again after emptying your bag."; close; } - mes "[Merito]"; - if (Class == Job_Sorcerer || Class == Job_Sorcerer_T || Class == Job_Baby_Sorcerer){ + if (Class == Job_Sorcerer || Class == Job_Sorcerer_T || Class == Job_Baby_Sorcerer) { mes "Please get on with the sprits well~ You should~!"; close; } - if (JobLevel < 50 || SkillPoint != 0 || BaseLevel < 99){ + if (BaseLevel < 99 || JobLevel < 50 || SkillPoint != 0) { mes "Wow~ you are a young adventurer. I envy you."; close; } - if ((Class != Job_Sage) && (Class != Job_Professor) && (Class != Job_Baby_Sage)){ - mes "Wow~ you are a young adventurer. I envy you."; + if (BaseJob != Job_Sage) { + mes "Ahh~ I think you don't need to have a conversation with me."; close; } - if (job_soc < 1){ + if (job_soc == 0) { mes "Welcome. What can I help you with?"; next; select("Do you know about Sorcerers?"); @@ -44,7 +43,7 @@ gef_tower,102,34,5 script Merito 742,{ mes "[Merito]"; mes "What made you want to be a sorcerer?"; next; - if(select("The spirit of fire led me here.:The spirit of water led me here.:The spirit of earth led me here:The spirit of meat led me here.")==4) { + if(select("The spirit of fire led me here.:The spirit of water led me here.:The spirit of earth led me here:The spirit of meat led me here.") == 4) { mes "[Merito]"; mes "That kind of spirit doesn't exist!"; close; @@ -56,27 +55,26 @@ gef_tower,102,34,5 script Merito 742,{ mes "[Merito]"; mes "Hmm... Then first, can you write down your name on this list?"; next; - if(select("Write name.:I won't.")==2){ + if(select("Write name.:I won't.") == 2) { mes "[Merito]"; mes "Well, okay. See you again when you get a chance."; close; } mes "[Merito]"; - mes "So, you are ["+strcharinfo(0)+"]."; + mes "So, you are [" + strcharinfo(0) + "]."; next; mes "[Merito]"; mes "Give me a second to register your name."; mes "Talk to me again in a second."; set job_soc,1; close; - } - else if (job_soc == 1){ + } else if (job_soc == 1) { mes "Good, then I'll give you a short explanation about the Sorcerer."; next; mes "[Merito]"; - mes "["+strcharinfo(0)+"], can you handle magic skillfully?"; + mes "[" + strcharinfo(0) + "], can you handle magic skillfully?"; next; - if(select("Yes, I can.:No, I'm not really good at it.")==2){ + if(select("Yes, I can.:No, I'm not really good at it.") == 2) { mes "[Merito]"; mes "What!? You don't know how to use magic?"; mes "What are you doing here then? Get out of here. Right now!"; @@ -86,7 +84,7 @@ gef_tower,102,34,5 script Merito 742,{ mes "Okay, that should be obvious."; mes "Of course, Sorcerers use magic, too. But, do you know the main difference Sorcerers have from other magical jobs?"; next; - switch(select("They know how to sing.:They're all old fogies.:They can deal with the spirits.")){ + switch(select("They know how to sing.:They're all old fogies.:They can deal with the spirits.")) { case 1: mes "[Merito]"; mes "Well maybe some but that's not the main difference."; @@ -110,7 +108,7 @@ gef_tower,102,34,5 script Merito 742,{ mes "[Merito]"; mes "Well, it's all up to you. What are you going to do?"; next; - switch(select("I will take the test.:I'll do it later.")){ + switch(select("I will take the test.:I'll do it later.")) { case 1: mes "[Merito]"; mes "Okay. "; @@ -123,44 +121,41 @@ gef_tower,102,34,5 script Merito 742,{ mes "What? I was sure that you wanted to become a Sorcerer."; close; } - } - else if (job_soc > 1){ - mes "How about your test? Well, Karacas is a little lazy, so that might bother you some..."; + } else { + mes "How about your test? Well, Karacas is a little lazy, so that might bother you some... kkk"; close; } } gef_tower,113,161,5 script Karacas 754,{ - - if(checkweight(1201,1) == 0){ - mes "You packed so much in your bag. Try again after emptying your bag."; + mes "[Karacas]"; + if (checkweight(1201,1) == 0 || MaxWeight - Weight < 1000) { + mes "Oh, it seems that you're too heavy. Empty your bag and then come again."; close; } - mes "[Karacas]"; - if (Class == Job_Sorcerer || Class == Job_Sorcerer_T || Class == Job_Baby_Sorcerer){ + if (Class == Job_Sorcerer || Class == Job_Sorcerer_T || Class == Job_Baby_Sorcerer) { mes "You look happy. Have a great journey."; close; } - if (JobLevel < 50 || SkillPoint != 0 || BaseLevel < 99){ + if ((JobLevel < 50) || (SkillPoint != 0) || (BaseLevel < 99)) { mes "Is there anything I can do for you?"; close; } - if ((Class != Job_Sage) && (Class != Job_Professor) && (Class != Job_Baby_Sage)){ - mes "Is there anything I can do for you?"; + if (BaseJob != Job_Sage) { + mes "I belong to the Sorcerer association. I don't think you have any business with me."; close; } - if (job_soc < 2){ - mes "More people are visiting Geffen Tower thesedays."; + if (job_soc < 2) { + mes "More people are visiting Geffen Tower these days."; close; - } - else if (job_soc == 2){ + } else if (job_soc == 2) { mes "...."; next; select("Ah... excuse me~"); mes "[Karacas]"; mes "... (Z z z~)"; next; - selecT("Hm hm!!!~"); + select("Hm hm!!!~"); mes "[Karacas]"; mes "Aaaak!! "; mes "Oh, my... "; @@ -174,9 +169,9 @@ gef_tower,113,161,5 script Karacas 754,{ mes "The list... has already arrived."; next; mes "[Karacas]"; - mes "So, you are ["+strcharinfo(0)+"]... right?"; + mes "So, you are [" + strcharinfo(0) + "]... right?"; next; - if(select("Yes, I am.:No, I'm not!")==2){ + if(select("Yes, I am.:No, I'm not!") == 2) { mes "[Karacas]"; mes "Oh, there must be some mistake in the list, I think. Will you come again later?"; close; @@ -234,9 +229,8 @@ gef_tower,113,161,5 script Karacas 754,{ set job_soc,3; changequest 12096,12097; close; - } - else if (job_soc == 3){ - if ((countitem(992) > 2) && (countitem(991) > 2) && (countitem(990) > 2) && (countitem(993) > 2)){ + } else if (job_soc == 3) { + if (countitem(992) > 2 && countitem(991) > 2 && countitem(990) > 2 && countitem(993) > 2) { mes "Oh, you have all the materials."; next; select("What should I do next?"); @@ -294,7 +288,7 @@ gef_tower,113,161,5 script Karacas 754,{ mes "[Karacas]"; mes "Have any questions?"; next; - if(select("No.:Please explain it again.")==2){ + if(select("No.:Please explain it again.") == 2) { mes "[Karacas]"; mes "Haha, then can I have a cup of water for a minute? Please come and find me again later."; next; @@ -318,18 +312,17 @@ gef_tower,113,161,5 script Karacas 754,{ mes "[Karacas]"; mes "When you bring these basic things, I'll guide you to the next step."; close; - } - else if (job_soc == 4){ - if (countitem(6276) && countitem(6278) && countitem(6277)){ + } else if (job_soc == 4) { + if (countitem(6276) && countitem(6278) && countitem(6277)) { mes "Wow~ your skill is good."; mes "I thought you'd be overwhelmed by the spirits but you've managed to get the effective medicine!"; next; select("Is this all I need to do?"); mes "[Karacas]"; mes "Well done. First, I will organize the miraculous medicine so please wait a moment."; - delitem 6276,1; - delitem 6278,1; - delitem 6277,1; + delitem 6276,1; //Clear_Reagent + delitem 6278,1; //Black_Reagent + delitem 6277,1; //Red_Reagent set job_soc,5; completequest 12098; close; @@ -339,247 +332,89 @@ gef_tower,113,161,5 script Karacas 754,{ mes "[Karacas]"; mes "Don't give up and keep on trying~"; close; - } - else if (job_soc == 5){ + } else if (job_soc == 5) { mes "Originally my teacher needs to check the Sorcerer job change but after he went out to find the spirit of fish, I can't see him. So I'll check it myself."; next; mes "[Karacas]"; - mes "Dear ["+strcharinfo(0)+"],"; + mes "Dear [" + strcharinfo(0) + "],"; mes "you went around the rough wilds to open the door as a Sorcerer and passed all the requirements that our Academy has given."; next; mes "[Karacas]"; mes "Of course it is just a beginning, we don't know which spirit you're going to commune with or what kind of hardships await you."; next; mes "[Karacas]"; - mes "But with the ability you've shown until now, you will be capable to do anything from now on. Dear ["+strcharinfo(0)+"]"; + mes "But with the ability you've shown until now, you will be capable to do anything from now on. Dear [" + strcharinfo(0) + "]"; next; - mes "[Karacas]"; + mes "[Kalakas]"; + if (BaseLevel < 99 || JobLevel < 50 || SkillPoint) { + mes "Before I appointed you the need job, please check on your own body status. "; + next; + mes "[Kalakas]"; + mes "You must have the etiquette of your job now before you accept the new job! "; + close; + } + if (ismounting()) { + mes "Good, before we get started..."; + mes "Please unequip your riding pet~"; + close; + } mes "Moreover, I formally acknowledge that you've completed all the job transfer tests of the Sorcerer Academy."; next; mes "[Karacas]"; - mes "Congratulations, ["+strcharinfo(0)+"]"; + mes "Congratulations, [" + strcharinfo(0) + "]"; jobchange roclass(eaclass()|EAJL_THIRD); - getitem 5756,1; - getitem 2795,1; + getitem 5756,1; //Wind_Whisper + getitem 2795,1; //Green_Apple_Ring next; mes "[Karacas]"; mes "I hope that you gain more communion with spirits from now on."; close; } } +- script Spirit Detecting Staff#0 -1,{ -thor_v01,64,252,0 script Spirit Detecting Staff#1 836,{ + if (strnpcinfo(4) == "thor_v01") setarray .@id[0],990,994,6276,6278; + else if (strnpcinfo(4) == "ice_dun01") setarray .@id[0],991,995,6278,6276; + else if (strnpcinfo(4) == "mjo_dun03") setarray .@id[0],993,997,6277,6276; + else if (strnpcinfo(4) == "gon_dun02") setarray .@id[0],992,996,6277,6278; - if ((job_soc == 4) && (countitem(990) > 2)){ + if (job_soc == 4 && countitem(.@id[0]) > 2) { progressbar "ffff00",5; - set .@rand,rand(1,70); - if (.@rand < 10){ - if ((job_soc == 4) && (countitem(990) > 2) && (countitem(6276) < 1)){ - mes "You got a reagent by communicating with an unseen spirit."; - delitem 990,3; - getitem 6276,1; - close; - }else if ((job_soc == 4) && (countitem(990) > 2) && (countitem(6276) > 0)){ - mes "It doesn't seem like you got anything special from the spirits."; - delitem 990,3; - close; - } - mes "The spirit is mad at you."; - close; - }else if ((.@rand > 9) && (.@rand < 16)){ - if ((job_soc == 4) && (countitem(990) > 2) && (countitem(6278) < 1)){ + delitem .@id[0],3; //Boody_Red,Crystal_Blue,Yellow_Live,Wind_Of_Verdure + set .@soc_ran, rand(1,70); + if (.@soc_ran < 10) { + if (countitem(.@id[2]) == 0) { mes "You got a reagent by communicating with an unseen spirit."; - delitem 990,3; - getitem 6278,1; - close; - }else if ((job_soc == 4) && (countitem(990) > 2) && (countitem(6278) > 0)){ - mes "It doesn't seem like you got anything special from the spirits."; - delitem 990,3; - close; - } - mes "The spirit is mad at you."; - close; - }else if (.@rand == 56){ - if ((job_soc == 4) && (countitem(990) > 2)){ - mes "The spirit combined the property stones into a huge property stone."; - delitem 990,3; - getitem 994,1; + getitem .@id[2],1; //Clear_Reagent,Black_Reagent,Red_Reagent close; } - mes "The spirit is mad at you."; + mes "It doesn't seem like you got anything special from the spirits."; close; - } - mes "You used the property stones but it looks like you failed to communicate with the spirits."; - delitem 990,3; - close; - }else if ((job_soc == 4) && (countitem(990) < 3)){ - mes "I can see the detecting staff that's been installed by the Sorcerer Union to communicate with the spirits ."; - next; - mes "If you have the suitable property stones, you should be able to commune with the spirits."; - close; - } - mes "I can see the detecting staff that's been installed by the Sorcerer Union to communicate with the spirits ."; - close; -} - -ice_dun01,274,274,0 script Spirit Detecting Staff#2 836,{ - - if ((job_soc == 4) && (countitem(991) > 2)){ - progressbar "ffff00",5; - set .@rand,rand(1,70); - if (.@rand < 10){ - if ((job_soc == 4) && (countitem(991) > 2) && (countitem(6278) < 1)){ + } else if (.@soc_ran > 9 && .@soc_ran < 16) { + if (countitem(.@id[3]) == 0) { mes "You got a reagent by communicating with an unseen spirit."; - delitem 991,3; - getitem 6278,1; - close; - }else if ((job_soc == 4) && (countitem(991) > 2) && (countitem(6278) > 0)){ - mes "It doesn't seem like you got anything special from the spirits."; - delitem 991,3; + getitem .@id[3],1; //Clear_Reagent,Black_Reagent,Red_Reagent close; } - mes "The spirit is mad at you."; + mes "It doesn't seem like you got anything special from the spirits."; close; - }else if ((.@rand > 9) && (.@rand < 16)){ - if ((job_soc == 4) && (countitem(991) > 2) && (countitem(6276) < 1)){ - mes "You got a reagent by communicating with an unseen spirit."; - delitem 991,3; - getitem 6276,1; - close; - }else if ((job_soc == 4) && (countitem(991) > 2) && (countitem(6276) > 0)){ - mes "It doesn't seem like you got anything special from the spirits."; - delitem 991,3; - close; - } - mes "The spirit is mad at you."; + } else if (.@soc_ran == 56) { + mes "The spirit combined the property stones into a huge property stone."; + getitem .@id[1],1; //Flame_Heart,Mistic_Frozen,Great_Nature,Rough_Wind close; - }else if (.@rand == 56){ - if ((job_soc == 4) && (countitem(991) > 2)){ - mes "The spirit combined the property stones into a huge property stone."; - delitem 991,3; - getitem 995,1; - close; - } - mes "The spirit is mad at you."; + } else { + mes "You used the property stones but it looks like you failed to communicate with the spirits."; close; } - mes "You used the property stones but it looks like you failed to communicate with the spirits."; - delitem 991,3; - close; - }else if ((job_soc == 4) && (countitem(991) < 3)){ - mes "I can see the detecting staff that's been installed by the Sorcerer Union to communicate with the spirits ."; - next; - mes "If you have the suitable property stones, you should be able to commune with the spirits."; - close; } - mes "I can see the detecting staff that's been installed by the Sorcerer Union to communicate with the spirits ."; - close; -} - -mjo_dun03,200,141,0 script Spirit Detecting Staff#3 836,{ - - if ((job_soc == 4) && (countitem(993) > 2)){ - progressbar "ffff00",5; - set .@rand,rand(1,70); - if (.@rand < 10){ - if ((job_soc == 4) && (countitem(993) > 2) && (countitem(6277) < 1)){ - mes "You got a reagent by communicating with an unseen spirit."; - delitem 993,3; - getitem 6277,1; - close; - }else if ((job_soc == 4) && (countitem(993) > 2) && (countitem(6277) > 0)){ - mes "It doesn't seem like you got anything special from the spirits."; - delitem 993,3; - close; - } - mes "The spirit is mad at you."; - close; - }else if ((.@rand > 9) && (.@rand < 16)){ - if ((job_soc == 4) && (countitem(993) > 2) && (countitem(6276) < 1)){ - mes "You got a reagent by communicating with an unseen spirit."; - delitem 993,3; - getitem 6276,1; - close; - }else if ((job_soc == 4) && (countitem(993) > 2) && (countitem(6276) > 0)){ - mes "It doesn't seem like you got anything special from the spirits."; - delitem 993,3; - close; - } - mes "The spirit is mad at you."; - close; - }else if (.@rand == 56){ - if ((job_soc == 4) && (countitem(993) > 2)){ - mes "The spirit combined the property stones into a huge property stone."; - delitem 993,3; - getitem 997,1; - close; - } - mes "The spirit is mad at you."; - close; - } - mes "You used the property stones but it looks like you failed to communicate with the spirits."; - delitem 993,3; - close; - }else if ((job_soc == 4) && (countitem(993) < 3)){ - mes "I can see the detecting staff that's been installed by the Sorcerer Union to communicate with the spirits ."; + mes "I can see the detecting staff that's been installed by the Sorcerer Union to communicate with the spirits."; + if (job_soc == 4 && countitem(.@id[0]) < 3) { next; mes "If you have the suitable property stones, you should be able to commune with the spirits."; - close; } - mes "I can see the detecting staff that's been installed by the Sorcerer Union to communicate with the spirits ."; close; } - -gon_dun02,195,190,0 script Spirit Detecting Staff#4 836,{ - - if ((job_soc == 4) && (countitem(992) > 2)){ - progressbar "ffff00",5; - set .@rand,rand(1,70); - if (.@rand < 10){ - if ((job_soc == 4) && (countitem(992) > 2) && (countitem(6277) < 1)){ - mes "You got a reagent by communicating with an unseen spirit."; - delitem 992,3; - getitem 6277,1; - close; - }else if ((job_soc == 4) && (countitem(992) > 2) && (countitem(6277) > 0)){ - mes "It doesn't seem like you got anything special from the spirits."; - delitem 992,3; - close; - } - mes "The spirit is mad at you."; - close; - }else if ((.@rand > 9) && (.@rand < 16)){ - if ((job_soc == 4) && (countitem(992) > 2) && (countitem(6278) < 1)){ - mes "You got a reagent by communicating with an unseen spirit."; - delitem 992,3; - getitem 6278,1; - close; - }else if ((job_soc == 4) && (countitem(992) > 2) && (countitem(6278) > 0)){ - mes "It doesn't seem like you got anything special from the spirits."; - delitem 992,3; - close; - } - mes "The spirit is mad at you."; - close; - }else if (.@rand == 56){ - if ((job_soc == 4) && (countitem(992) > 2)){ - mes "The spirit combined the property stones into a huge property stone."; - delitem 992,3; - getitem 996,1; - close; - } - mes "The spirit is mad at you."; - close; - } - mes "You used the property stones but it looks like you failed to communicate with the spirits."; - delitem 992,3; - close; - }else if ((job_soc == 4) && (countitem(992) < 3)){ - mes "I can see the detecting staff that's been installed by the Sorcerer Union to communicate with the spirits ."; - next; - mes "If you have the suitable property stones, you should be able to commune with the spirits."; - close; - } - mes "I can see the detecting staff that's been installed by the Sorcerer Union to communicate with the spirits ."; - close; -}
\ No newline at end of file +thor_v01,64,252,0 duplicate(Spirit Detecting Staff#0) Spirit Detecting Staff#1 836 +ice_dun01,274,274,0 duplicate(Spirit Detecting Staff#0) Spirit Detecting Staff#2 836 +mjo_dun03,200,141,0 duplicate(Spirit Detecting Staff#0) Spirit Detecting Staff#3 836 +gon_dun02,195,190,0 duplicate(Spirit Detecting Staff#0) Spirit Detecting Staff#4 836
\ No newline at end of file |