summaryrefslogtreecommitdiff
path: root/npc/quests/first_class/tu_archer.txt
diff options
context:
space:
mode:
Diffstat (limited to 'npc/quests/first_class/tu_archer.txt')
-rw-r--r--npc/quests/first_class/tu_archer.txt318
1 files changed, 208 insertions, 110 deletions
diff --git a/npc/quests/first_class/tu_archer.txt b/npc/quests/first_class/tu_archer.txt
index 2f95cf11a..b965ae05d 100644
--- a/npc/quests/first_class/tu_archer.txt
+++ b/npc/quests/first_class/tu_archer.txt
@@ -1,19 +1,18 @@
-//===== rAthena Script =======================================
+//===== Hercules Script ======================================
//= Archer Class Tutorial and Job Specific Quest
-//===== By: ==================================================
+//===== By: ==================================================
//= Fix up by Jukka
-//===== Current Version: =====================================
-//= 1.9a
-//===== Compatible With: =====================================
-//= rAthena SVN (Testet in Trunk 88xx)
-//===== Description: =========================================
-//=
-//===== Additional Comments: =================================
+//===== Current Version: =====================================
+//= 2.0
+//===== Description: =========================================
+//= [Official Conversion]
+//= Archer training quest.
+//===== Additional Comments: =================================
//= 1.0 Fully working
-//= 1.1 optimized [Lupus] 1.2 fixed Weight check
-//= TODO: Test, Add correct misceffects numbers
+//= 1.1 optimized [Lupus]
+//= 1.2 fixed Weight check
//= 1.3 Moved Master Kavaruk (overlapped Phantasmic Arrow
-//= Skill quest NPC) [Lupus]
+//= Skill quest NPC) [Lupus]
//= 1.4 Fixed experience gains to match upcoming rate adjustments. [SinSloth]
//= 1.5 Fixed bad NPC header data to comply with rev. 11603. [L0ne_W0lf]
//= 1.6 Fixed infinate loop. (bugreport:2393) [L0ne_W0lf]
@@ -21,7 +20,9 @@
//= 1.8 Updated slightly, removed additional emotions from Reiden. [L0ne_W0lf]
//= 1.9 Misc. updates. [L0ne_W0lf]
//= 1.9a Added 'npcskill' command. [Euphy]
-//============================================================
+//= 2.0 Updated to match the official script. [Euphy]
+//= Added Pre-Renewal support.
+//============================================================
// Bard Jet
//============================================================
@@ -278,7 +279,7 @@ payon_in02,54,13,3 script Master Kavaruk 55,{
next;
mes "[Master Kavaruk]";
mes "I asked a member of Icarus to";
- mes "wander about the Rune-Midgarts Kingdom and gather news and information about what has been going on recenty.";
+ mes "wander about the Rune-Midgarts Kingdom and gather news and information about what has been going on recently.";
next;
mes "[Master Kavaruk]";
mes "He has been sending me letters containing detailed information, but all of a sudden, I've lost contact with him. I'm concerned over what may have happened.";
@@ -305,7 +306,10 @@ payon_in02,54,13,3 script Master Kavaruk 55,{
mes "for bringing me the news. As Arthail has said, I shall wait until he has more news for me.";
mes "You should also train and prepare for the future as well.";
set tu_archer02, 10;
- getexp 200,100;
+ if (checkre(3))
+ getexp 1000,1000;
+ else
+ getexp 2000,1000;
close;
}
}
@@ -543,7 +547,10 @@ pay_arche,103,165,5 script Reidin Corse#tu 832,{
set tu_archer01, 6;
mes "Now, your first assignment";
mes "is to learn ^3131FFLevel 3 Owl's Eye^000000!";
- mes "From Morroc, if you travel south, you can fight Condors for your training.";
+ if (checkre(0))
+ mes "From Morroc, if you travel south, you can fight Condors for your training.";
+ else
+ mes "From Prontera, if you travel south, south and then west, you can fight Condors for your training.";
next;
mes "[Reidin Corse]";
mes "You can head somewhere";
@@ -553,11 +560,20 @@ pay_arche,103,165,5 script Reidin Corse#tu 832,{
switch(select("I'll follow your advice, Chief!:I'll hunt somewhere else...")) {
case 1:
mes "[Reidin Corse]";
- mes "I'll send you to";
- mes "Morroc for now,";
- mes "so don't forget the";
- mes "directions I gave you.";
- mes "Travel ^3131FFsouth^000000.";
+ if (checkre(0)) {
+ mes "I'll send you to";
+ mes "Morroc for now,";
+ mes "so don't forget the";
+ mes "directions I gave you.";
+ mes "Travel ^3131FFsouth^000000.";
+ } else {
+ mes "I'll send you to";
+ mes "Prontera for now,";
+ mes "so don't forget the";
+ mes "directions I gave you.";
+ mes "Travel ^3131FFsouth^000000, ^3131FFsouth^000000,";
+ mes "and then ^3131FFwest^000000.";
+ }
next;
switch(select("Leave right away~:W-wait, let me get ready!")) {
case 1:
@@ -573,9 +589,15 @@ pay_arche,103,165,5 script Reidin Corse#tu 832,{
mes "[Reidin Corse]";
mes "Okay...!";
mes "Off you go!";
- mes "To Morroc!";
- close2;
- warp "morocc",156,46;
+ if (checkre(0)) {
+ mes "To Morroc!";
+ close2;
+ warp "morocc",156,46;
+ } else {
+ mes "To Prontera!";
+ close2;
+ warp "prontera",116,72;
+ }
end;
case 2:
mes "[Reidin Corse]";
@@ -601,7 +623,7 @@ pay_arche,103,165,5 script Reidin Corse#tu 832,{
emotion e_ag;
mes "Huh. So you already know a little about Owl's Eye already, huh? Well then, I guess I oughta talk about something you don't know about!";
set tu_archer01, 7;
- getexp 50,0;
+ getexp 500,0;
close;
}
break;
@@ -628,7 +650,7 @@ pay_arche,103,165,5 script Reidin Corse#tu 832,{
mes "Here, this is a small, special reward for you.";
specialeffect2 EF_WIND;
set tu_archer01, 7;
- getexp 50,0;
+ getexp 500,0;
next;
emotion e_pif;
mes "[Reidin Corse]";
@@ -709,7 +731,10 @@ pay_arche,103,165,5 script Reidin Corse#tu 832,{
set .@eagle, getskilllv("AC_VULTURE");
if(.@eagle < 3){
- mes "Alright, Mandagora usually live around Geffen. I can send you to Geffen, so just travel north from there to find";
+ if (checkre(0))
+ mes "Alright, Mandagora usually live around Geffen. I can send you to Geffen, so just travel north from there to find";
+ else
+ mes "Alright, Mandagora usually live around Mt. Mjolnir. I can send you to Prontera, so just travel north, then east from there to find";
mes "some of them.";
next;
mes "[Reidin Corse]";
@@ -738,7 +763,10 @@ pay_arche,103,165,5 script Reidin Corse#tu 832,{
mes "Alright...!";
mes "Get a move on!";
close2;
- warp "geffen",120,39;
+ if (checkre(0))
+ warp "geffen",120,39;
+ else
+ warp "prontera",116,72;
end;
case 2:
mes "[Reidin Corse]";
@@ -763,7 +791,10 @@ pay_arche,103,165,5 script Reidin Corse#tu 832,{
} else if(tu_archer01 == 8){
set .@eagle, getskilllv("AC_VULTURE");
if(.@eagle < 3){
- mes "Mandagora lives in the area north of Geffen. Learn up to Level 3 Vulture's Eye and get acquainted with your attack range.";
+ if (checkre(0))
+ mes "Mandagora lives in the area north of Geffen. Learn up to Level 3 Vulture's Eye and get acquainted with your attack range.";
+ else
+ mes "Mandagora lives in the area north and east of Prontera. Learn up to Level 3 Vulture's Eye and get acquainted with your attack range.";
next;
mes "[Reidin Corse]";
mes "Okay...";
@@ -776,7 +807,10 @@ pay_arche,103,165,5 script Reidin Corse#tu 832,{
mes "Alright...!";
mes "Get a move on!";
close2;
- warp "geffen",120,39;
+ if (checkre(0))
+ warp "geffen",120,39;
+ else
+ warp "prontera",116,72;
end;
case 2:
mes "[Reidin Corse]";
@@ -843,7 +877,7 @@ pay_arche,103,165,5 script Reidin Corse#tu 832,{
if(.@eagle == 0){
specialeffect2 EF_WIND;
set tu_archer01, 10;
- getexp 0,50;
+ getexp 0,500;
}
emotion e_no1;
next;
@@ -857,48 +891,75 @@ pay_arche,103,165,5 script Reidin Corse#tu 832,{
close;
}
} else if(tu_archer01 == 10){
- mes "Now, I've taught you a lot of stuff and I wanna make sure you retain all of it. That's why I want you to take this midterm. Your mission: ^FF0000Attack the Rockers^000000!";
- emotion e_no1;
- next;
- mes "[Reidin Corse]";
- mes "Rockers live just southwest of Prontera.";
- next;
- mes "[Reidin Corse]";
- mes "Be aware that Rockers are earth element monsters!! ^3131FFSo they should be weak against fire^000000.";
- next;
- mes "[Reidin Corse]";
- mes "Now go and bring ^3131FF10 Grasshopper's Leg^000000 from hunting Rockers.";
- mes "Bring all of that and you pass~";
- next;
- mes "[Reidin Corse]";
- mes "It's easier to find them if you pass by the southern gate of Prontera and then head west. Alright, off you go, " + strcharinfo(0) + "~";
+ if (checkre(0)) {
+ mes "Now, I've taught you a lot of stuff and I wanna make sure you retain all of it. That's why I want you to take this midterm. Your mission: ^FF0000Attack the Rockers^000000!";
+ emotion e_no1;
+ next;
+ mes "[Reidin Corse]";
+ mes "Rockers live just southwest of Prontera.";
+ next;
+ mes "[Reidin Corse]";
+ mes "Be aware that Rockers are earth element monsters!! ^3131FFSo they should be weak against fire^000000.";
+ next;
+ mes "[Reidin Corse]";
+ mes "Now go and bring ^3131FF10 Grasshopper's Leg^000000 from hunting Rockers.";
+ mes "Bring all of that and you pass~";
+ next;
+ mes "[Reidin Corse]";
+ mes "It's easier to find them if you pass by the southern gate of Prontera and then head west. Alright, off you go, " + strcharinfo(0) + "~";
+ } else {
+ mes "Now, I've taught you a lot of stuff and I wanna make sure you retain all of it. That's why I want you to take this midterm. Your mission: ^FF0000Attack the Rockers^000000!";
+ emotion e_no1;
+ next;
+ mes "[Reidin Corse]";
+ mes "There's a ship that";
+ mes "leads to Byalan Island in Izlude, Prontera's satellite city. Ride that ship to Byalan Island.";
+ next;
+ mes "[Reidin Corse]";
+ mes "In the center of that island is the entrance to a dungeon where a lot of Hydras live. Remember that it's a water dungeon, and that ^3131FFWater resists Fire^000000, ^3131FFbut is weak against Wind^000000.";
+ next;
+ mes "[Reidin Corse]";
+ mes "Now go and bring ^3131FF10 Tentacles^000000";
+ mes "from hunting Hydra and ^3131FF1 Crystal Blue^000000, which you can get from hunting the Mushrooms there.";
+ mes "Bring all of that and you pass~";
+ next;
+ mes "[Reidin Corse]";
+ mes "It's easier to find Izlude if you pass by Prontera, so head towards the fields near Prontera. Alright, off you go, " + strcharinfo(0) + "~";
+ }
set tu_archer01,11;
close;
} else if(tu_archer01 == 11){
- if(countitem(940) > 9){
- if(MaxWeight - Weight < 1000){
- mes "Why are you carrying";
- mes "so much stuff? You better put everything you don't need into Kafra Storage.";
- close;
- } else {
- mes "Hey, you're back!";
- mes "Let's see now...";
- next;
- emotion e_no1;
- mes "[Reidin Corse]";
- mes "Good! You pass.";
- mes "Don't forget that you gotta keep training and improve your skills. Before you know it, you'll be an expert almost as good as me!";
- specialeffect2 EF_WIND;
- set tu_archer01, 12;
- getexp 100,100;
- getitem 1707,1; //Great_Bow
- close;
- }
- } else {
+ if (checkre(0) && countitem(940) < 10) {
mes "Hey...";
mes "You gotta bring";
mes "^3131FF10 Grasshopper's Leg^000000 to pass my midterm! Go back to the southwest area of Prontera and get them!";
close;
+ } else if (!checkre(0) && (countitem(962) < 10 || countitem(991) == 0)) {
+ mes "Hey...";
+ mes "You gotta bring";
+ mes "^3131FF10 Tentacles^000000 and";
+ mes "^3131FF1 Crystal Blue^000000 to pass my midterm! Go back to the dungeon on Byalan Island and get them!";
+ close;
+ }
+ if(MaxWeight - Weight < 1000){
+ mes "Why are you carrying";
+ mes "so much stuff? You better put everything you don't need into Kafra Storage.";
+ close;
+ } else {
+ mes "Hey, you're back!";
+ mes "Let's see now...";
+ next;
+ emotion e_no1;
+ mes "[Reidin Corse]";
+ mes "Good! You pass.";
+ mes "Don't forget that you gotta keep training and improve your skills. Before you know it, you'll be an expert almost as good as me!";
+ specialeffect2 EF_WIND;
+ set tu_archer01, 12;
+ if (checkre(0))
+ delitem 940,10; //Grasshopper's_Leg
+ getexp 1000,1000;
+ getitem 1707,1; //Great_Bow
+ close;
}
} else if(tu_archer01 == 12){
mes "Alright, now there's only";
@@ -940,8 +1001,13 @@ pay_arche,103,165,5 script Reidin Corse#tu 832,{
mes "no need for you to fret.";
next;
mes "[Reidin Corse]";
- mes "Now, go into the forest east of Payon and hunt Spores and Wormtails. Your test will be to bring back ^3131FF10 Mushroom Spores^000000 and";
- mes "^3131FF10 Pointed Scales^000000.";
+ if (checkre(0)) {
+ mes "Now, go into the forest east of Payon and hunt Spores and Wormtails. Your test will be to bring back ^3131FF10 Mushroom Spores^000000 and";
+ mes "^3131FF10 Pointed Scales^000000.";
+ } else {
+ mes "Now, go to Mt. Mjolnir and hunt Floras. Your test will be to bring back ^3131FF5 Maneater Blossoms^000000 and";
+ mes "^3131FF20 Stems^000000.";
+ }
next;
mes "[Reidin Corse]";
mes "I know it's a little dangerous,";
@@ -968,49 +1034,81 @@ pay_arche,103,165,5 script Reidin Corse#tu 832,{
close;
}
} else if((tu_archer01 == 14) || (tu_archer01 == 15)){
- if((countitem(906) > 9) && (countitem(921) > 9)){
- mes "Ha-ha~!";
- mes "You look more like";
- mes "a veteran than a rookie";
- mes "now! Yeap, I can see it";
- mes "in your eyes.";
- next;
- mes "[Reidin Corse]";
- mes "Right, did you get a chance to meet my Acolyte pal, Mafra? She's pretty shy, but I hope you two got along.";
- next;
- mes "[Reidin Corse]";
- mes "I'm happy to tell";
- mes "you that you've passed";
- mes "my final exam! Here, take";
- mes "this little reward!";
- specialeffect2 EF_WIND;
- set tu_archer01,16;
- getexp 300,300;
- getitem 1770,500; //Iron_Arrow
- next;
- mes "[Reidin Corse]";
- mes "Well, it's like you're a full fledged Archer now. Honestly,";
- mes "I've got nothing more to teach you. Well, about archery, anyway.";
- emotion e_heh;
- next;
- mes "[Reidin Corse]";
- mes "Well, if you talk to him, Master Kavaruk might have something for you to do. He happens to have me running around to doing errands";
- mes "for him too. That creep!";
- emotion e_pif;
- next;
- mes "[Reidin Corse]";
- mes "Well, "+ strcharinfo(0) +",";
- mes "It'd make me really happy if you get to the point where you develop a true love for the art of archery. I'll see you sometime, okay?";
- emotion e_no1;
- close;
- } else {
+ if (checkre(0) && (countitem(906) < 10 || countitem(921) < 10)) {
mes "Remember, you";
mes "need to head into";
mes "the forest east of Payon and get me";
mes "^3131FF10 Mushroom Spores^000000";
mes "and ^3131FF10 Pointed Scales^000000.";
close;
+ } else if (!checkre(0) && (countitem(1032) < 5 || countitem(905) < 20)) {
+ mes "Remember, you";
+ mes "need to head over to";
+ mes "Mt. Mjolnir and get me";
+ mes "^3131FF5 Maneater Blossoms^000000";
+ mes "and ^3131FF20 Stems^000000.";
+ next;
+ mes "[Reidin Corse]";
+ mes "From Prontera, you'd get to Mt. Mjolnir by traveling ^3131FFnorth^000000, ^3131FFnorth^000000 and then ^3131FFeast^000000. But if you want,";
+ mes "I can just send you there.";
+ next;
+ switch(select("Go!:W-Wait!")) {
+ case 1:
+ mes "[Reidin Corse]";
+ mes "Alright!";
+ mes "Oh, and if you get";
+ mes "the chance, give a hello to my Acolyte pal over there for me~";
+ emotion e_heh;
+ close2;
+ warp "mjolnir_11",25,221;
+ end;
+ case 2:
+ mes "[Reidin Corse]";
+ mes "Huh?";
+ mes "Um, sure. But";
+ mes "there's no reason to";
+ mes "get so nervous, even if";
+ mes "this my final exam for you.";
+ close;
+ }
}
+ mes "Ha-ha~!";
+ mes "You look more like";
+ mes "a veteran than a rookie";
+ mes "now! Yeap, I can see it";
+ mes "in your eyes.";
+ next;
+ mes "[Reidin Corse]";
+ mes "Right, did you get a chance to meet my Acolyte pal, Mafra? She's pretty shy, but I hope you two got along.";
+ next;
+ mes "[Reidin Corse]";
+ mes "I'm happy to tell";
+ mes "you that you've passed";
+ mes "my final exam! Here, take";
+ mes "this little reward!";
+ specialeffect2 EF_WIND;
+ set tu_archer01,16;
+ if (checkre(3))
+ getexp 1000,1000;
+ else
+ getexp 3000,3000;
+ getitem 1770,500; //Iron_Arrow
+ next;
+ mes "[Reidin Corse]";
+ mes "Well, it's like you're a full fledged Archer now. Honestly,";
+ mes "I've got nothing more to teach you. Well, about archery, anyway.";
+ emotion e_heh;
+ next;
+ mes "[Reidin Corse]";
+ mes "Well, if you talk to him, Master Kavaruk might have something for you to do. He happens to have me running around to doing errands";
+ mes "for him too. That creep!";
+ emotion e_pif;
+ next;
+ mes "[Reidin Corse]";
+ mes "Well, "+ strcharinfo(0) +",";
+ mes "It'd make me really happy if you get to the point where you develop a true love for the art of archery. I'll see you sometime, okay?";
+ emotion e_no1;
+ close;
} else if(tu_archer01 == 16){
mes "I really like this town.";
mes "There's so much lush greenery";
@@ -1280,13 +1378,13 @@ pay_arche,84,139,3 script Seisner 727,{
specialeffect2 EF_WIND;
set tu_archer01, 3;
if(JobLevel == 1){
- getexp 0,5;
+ getexp 0,30;
} else if((JobLevel > 1) && (JobLevel < 11)){
- getexp 0,10;
+ getexp 0,80;
} else if((JobLevel > 10) && (JobLevel < 21)){
- getexp 0,25;
+ getexp 0,100;
} else {
- getexp 0,50;
+ getexp 0,120;
}
end;
}
@@ -1295,11 +1393,11 @@ pay_arche,84,139,3 script Seisner 727,{
// Target
//============================================================
-pay_arche,76,135,3 script Target#Target 111,{ end; } // empty NPC?? [Jukka]
+pay_arche,76,135,3 script #Target 111,{ end; }
// Acolyte
//============================================================
-pay_fild08,40,83,5 script Acolyte#tu 95,{
+- script ::Acolyte_Tu -1,{
mes "[Acolyte]";
if(tu_archer01 == 14){
if(gettime(3) >= 18 && gettime(3) < 22){