summaryrefslogtreecommitdiff
path: root/npc/re/jobs/3-2/sorcerer.txt
diff options
context:
space:
mode:
Diffstat (limited to 'npc/re/jobs/3-2/sorcerer.txt')
-rw-r--r--npc/re/jobs/3-2/sorcerer.txt343
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