* Updated Eden Quests 71-85 to its latest version. (translation: Muad_Dib)

* Updated all 1st class training quests, mostly experience changes. (credits: Muad_Dib, partial revert of r17210)
* Added Pre-Renewal support to 1st class training quests. (bugreport:7808)
* Corrected level 10 AL_HEAL lines in 'npcskill' to use MVP heal.
* Corrected EXP checks in 'checkre' to use RENEWAL_EXP instead of RENEWAL.
* Fixed Hunter skill quest not accepting Rangers.
* Fixed a bug in Hall of Abyss. (bugreport:7815)
* Fix unable to move when cloaking in levels less than 3. (credits: Akinari, bugreport:7810)
* Idle timer now resets on continuous attacks, i.e. /noctrl or ctrl+click. (Hercules 19f0fcd)
* Idle timer is now initialized upon login, fixing a bug with the 'checkidle' command. (credits: Akinari)

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@17409 54d463be-8e91-2dee-dedb-b68131a5f0ec
This commit is contained in:
euphyy 2013-07-10 05:11:53 +00:00
parent 81e3b03ace
commit 4589a4d135
25 changed files with 733 additions and 933 deletions

View File

@ -640,7 +640,9 @@
5052,0,0,0,0,0,0,0,"Traditional Weapon"
5053,0,0,0,0,0,0,0,"Traditional Weapon"
5054,0,0,0,0,0,0,0,"Traditional Weapon"
5055,0,2071,15,0,0,0,0,"Local Rising - Headless Horse"
5056,0,1584,15,0,0,0,0,"Local Rising - Tamruan"
5057,0,0,0,0,0,0,0,"Local Rising - Ready the Festival"
5058,0,0,0,0,0,0,0,"The mood of the players-(1)"
5059,0,0,0,0,0,0,0,"The mood of the players-(2)"
5060,180,0,0,0,0,0,0,"Cat Shock"

View File

@ -0,0 +1,16 @@
//===== rAthena Script =======================================
//= Archer Class Tutorial and Job Specific Quest
//===== By: ==================================================
//= Euphy
//===== Current Version: =====================================
//= 1.0
//===== Compatible With: =====================================
//= rAthena SVN
//===== Description: =========================================
//= [Official Conversion]
//= Archer training quest.
//===== Additional Comments: =================================
//= 1.0 First version. [Euphy]
//============================================================
mjolnir_11,27,223,3 duplicate(Acolyte_Tu) Acolyte#tu 95

View File

@ -76,6 +76,9 @@ npc: npc/pre-re/other/mercenary_rent.txt
//npc: npc/pre-re/quests/collection/quest_pupa.txt
//npc: npc/pre-re/quests/collection/quest_zhupolong.txt
// --------------------------------------------------------------
// - Quests-Tutorials for basic classes (1st class quests) ------
npc: npc/pre-re/quests/first_class/tu_archer.txt
// --------------------------------------------------------------
npc: npc/pre-re/quests/monstertamers.txt
npc: npc/pre-re/quests/mrsmile.txt
npc: npc/pre-re/quests/quests_13_1.txt

View File

@ -3,15 +3,15 @@
//===== By: ==================================================
//= Fix up by Jukka
//===== Current Version: =====================================
//= 1.7
//= 1.8
//===== Compatible With: =====================================
//= rAthena SVN (Testet in Trunk 88xx)
//= rAthena SVN
//===== Description: =========================================
//=
//= [Official Conversion]
//= Acolyte training quest.
//===== Additional Comments: =================================
//= 1.0 Fully working
//= 1.1 optimized [Lupus]
//= TODO: Test, Add correct misceffects numbers
//= 1.2 Fixed experience gains to match upcoming rate adjustments. [SinSloth]
//= 1.3 Fixed bad NPC header data to comply with rev. 11603. [L0ne_W0lf]
//= 1.4 Misc. updates. [L0ne_W0lf]
@ -19,6 +19,7 @@
//= 1.6 Fixed a wrong placed curly bracket. [Joseph]
//= 1.6a Added 'npcskill' command. [Euphy]
//= 1.7 Fixed exp, texts, and requirements in pre-renewal [Daegaladh]
//= 1.8 Updated to match the official script. [Euphy]
//============================================================
// Priest Praupin
@ -291,13 +292,10 @@ prt_monk,230,106,3 script Asthe#tu 79,{
next;
mes "[Asthe]";
mes "HEAL !!";
npcskill "AL_HEAL",10,99,60;
npcskill "AL_HEAL",11,99,60;
set tu_acolyte01, 3;
if(getskilllv("AL_HEAL") == 0){
if(checkre(3))
getexp 0,10;
else
getexp 0,100;
getexp 0,100;
specialeffect2 EF_CONE;
}
close;
@ -386,17 +384,11 @@ prt_monk,230,106,3 script Asthe#tu 79,{
set tu_acolyte01, 5;
delitem 1504, 1; //Mace
if(Class == Job_Acolyte_High) {
if(checkre(3))
getexp 200,100;
else
getexp 2000,1000;
getexp 2000,1000;
specialeffect2 EF_CONE;
close;
} else {
if(checkre(3))
getexp 100,50;
else
getexp 1000,500;
getexp 1000,500;
specialeffect2 EF_CONE;
close;
}
@ -785,8 +777,8 @@ prt_monk,230,106,3 script Asthe#tu 79,{
mes "[Asthe]";
mes "Well, please don't forget what I've taught you. I hope you look back with fondness at our time together amongst these beautiful flowers. May God bless you~";
set tu_acolyte01, 25;
if(checkre(3))
getexp 500,300;
if (checkre(3))
getexp 1000,1000;
else
getexp 5000,3000;
specialeffect2 EF_CONE;
@ -842,8 +834,8 @@ monk_in,18,38,6 script Priest Gardron#tu 110,{
close;
}
} else if(tu_acolyte01 == 8){
if(countitem(checkre(0)?939:957) > 4){
mes "Oh..!";
if(countitem((checkre(0)?939:957)) > 4){
mes "Oh...!";
mes "You've returned!";
mes "Let's see... One...";
mes "Two... Three...";
@ -864,45 +856,48 @@ monk_in,18,38,6 script Priest Gardron#tu 110,{
mes "Acolyte training.";
set tu_acolyte01, 9;
percentheal 100,100;
if(checkre(3))
getexp 200,200;
if (checkre(3))
getexp 1000,1000;
else
getexp 2000,2000;
specialeffect2 EF_CONE;
//getitem 505,1; //Blue_Potion
close;
} else {
if(checkre(0)) {
mes "A little while ago, a Prontera Sister sent me a message. Apparently,";
mes "the residents of Prontera are being plagued by Hornets.";
if (checkre(0)) {
mes "A few days ago, a sister in Prontera";
mes "sent me a telegram that citizens had been harmed";
mes "by Hornets in the western field,";
mes "so she asked the abbey to help with them.";
next;
mes "[Priest Gardron]";
mes "She has requested the convent for help, but we've got a big problem. We're running out of people here that can deal with this situation...";
mes "But at this time,";
mes "we are also short of hands...";
mes "so it's a big problem.";
next;
mes "[Priest Gardron]";
mes "....!";
emotion e_gasp;
next;
mes "[Priest Gardron]";
mes ""+strcharinfo(0)+",";
mes "may I ask";
mes "you to take care";
mes "of this task? Exterminate the Hornets west of Prontera.";
mes "May I entrust you, acolyte "+strcharinfo(0)+",";
mes "this urgent matter?";
mes "Please dispose of Hornets";
mes "which are causint trouble on ^FF0000the western field of Prontera^000000.";
next;
mes "[Priest Gardron]";
mes "Since you're still in basic training, I will give you some";
mes "help if you return with";
mes "^3131FF5 Bee Stings^000000.";
mes "I know that you are undergoing the discipline,";
mes "So I will give you something to help you";
mes "if you bring me ^3131FF 5^000000 ^3131FFBee Sting^000000.";
next;
mes "[Priest Gardron]";
mes "Now then...";
mes "Will you go to Prontera?";
next;
if(select("Let's go to Prontera!:Um, let me get ready first.")==1) {
if(select("Let's go to Prontera!:I'll be back after doing some preparation.") == 1) {
mes "[Priest Gardron]";
mes "Good, good.";
mes "I shall send you";
mes "there to fight the monsters west of Prontera so that you can return with 5 Bee Stings. May God bless you...";
mes "Okay, I will send you to Prontera.";
mes "Please dispose of Hornets and bring me 5 Bee Stings for confirmation.";
mes "My Lord, please protect this acolyte from evil monsters.";
close2;
warp "prontera",116,72;
end;
@ -964,8 +959,7 @@ prt_monk,235,245,5 script Dog#tu 81,{
mes "Woof woof!^000000";
next;
if(tu_acolyte01 == 10){
set .@dog_food, 0;
while((1)){
while(1) {
switch(select("Give a treat.:Pet the dog.:End actions.")){
case 1:
set .@dog_food, .@dog_food + 1;
@ -1051,7 +1045,6 @@ prt_monk,226,257,6 script Ill Girl#tu 93,{
mes "H-hurts...";
next;
select("Are you alright?");
mes "[Angelic]";
mes "My sister...";
mes "She was so beautiful...";
@ -1079,8 +1072,9 @@ prt_monk,226,257,6 script Ill Girl#tu 93,{
next;
mes "["+strcharinfo(0)+"]";
mes "Are you alright?";
mes "................";
next;
specialeffect EF_CURSEATTACK ;
specialeffect EF_CURSEATTACK;
soundeffectall "_curse.wav",0;
emotion e_omg;
mes "["+strcharinfo(0)+"]";
@ -1112,7 +1106,7 @@ prt_monk,226,257,6 script Ill Girl#tu 93,{
mes "["+strcharinfo(0)+"]";
mes "H...";
mes "Heal !!";
specialeffect EF_HEAL ;
specialeffect EF_HEAL;
next;
mes "^3355FFNothing happened.";
mes "It doesn't look like";
@ -1137,8 +1131,8 @@ prt_monk,226,257,6 script Ill Girl#tu 93,{
mes "It seemed that this good";
mes "deed has improved your skills.^000000";
set tu_acolyte01, 13;
if(checkre(3))
getexp 0,100;
if (checkre(3))
getexp 0,500;
else
getexp 0,1000;
specialeffect2 EF_CONE;

View File

@ -3,17 +3,18 @@
//===== By: ==================================================
//= Fix up by Jukka
//===== Current Version: =====================================
//= 1.9a
//= 2.0
//===== Compatible With: =====================================
//= rAthena SVN (Testet in Trunk 88xx)
//= rAthena SVN
//===== 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,6 +22,8 @@
//= 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 +281,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 +308,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 +549,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 +562,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 +591,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 +625,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 +652,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 +733,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 +765,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 +793,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 +809,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 +879,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 +893,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 +1003,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 +1036,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 +1380,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 +1395,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){

View File

@ -1,17 +1,17 @@
//===== rAthena Script =======================================
//= Theif Mage Quest Story Mode
//= Thief Mage Quest Story Mode
//===== By: ==================================================
//= Fix up by Jukka
//===== Current Version: =====================================
//= 1.3
//===== Compatible With: =====================================
//= rAthena SVN (Testet in Trunk 88xx)
//= rAthena SVN
//===== Description: =========================================
//=
//= [Official Conversion]
//= Battle Traces from Thief and Magician training quests.
//===== Additional Comments: =================================
//= 1.0 Fully working
//= 1.1 optimized [Lupus]
//= TODO: Test, Add correct misceffects numbers
//= 1.2 Changed "battle_trace" to "Trace of Battle". [L0ne_W0lf]
//= 1.3 Misc. updates. [L0ne_W0lf]
//============================================================

View File

@ -1,19 +1,20 @@
//===== rAthena Script =======================================
//= Magican Class Tutorial and Job Specific Quest
//= Magician Class Tutorial and Job Specific Quest
//===== By: ==================================================
//= Fix up by Jukka
//===== Current Version: =====================================
//= 1.3
//= 1.4
//===== Compatible With: =====================================
//= rAthena SVN (Testet in Trunk 88xx)
//= rAthena SVN
//===== Description: =========================================
//=
//= [Official Conversion]
//= Magician training quest.
//===== Additional Comments: =================================
//= 1.0 Fully working
//= 1.1 Optimized [Lupus]
//= TODO: Test, Add proper misceffects
//= 1.2 Fixed experience gains to match upcoming rate adjustments. [SinSloth]
//= 1.3 Misc. updates. [L0ne_W0lf]
//= 1.4 Updated to match the official script. [Euphy]
//============================================================
// Sign
@ -45,9 +46,14 @@ geffen,67,180,4 script New Mage Manager#M 102,{
mes "anyone can do what you do~";
close;
}
if(eaclass()&(EAJL_UPPER|EAJL_2) && tu_magician01 < 7){
if(eaclass()&(EAJL_UPPER|EAJL_2|EAJL_THIRD) && tu_magician01 < 7){
mes "[Mana]";
mes "My training isn't very helpful to those that are already skilled in magic. I'm afraid you'll have to rely on yourself to improve your skills.";
mes "Although I offer magic";
mes "training, it's not very helpful";
mes "if you're already experienced";
mes "in the use of magic. I'm sorry,";
mes "but you'll have to rely on your";
mes "own self to hone your skills.";
close;
}
switch(tu_magician01){
@ -128,7 +134,10 @@ geffen,67,180,4 script New Mage Manager#M 102,{
mes "time for a break. But we'll";
mes "continue this later, okay?";
set tu_magician01, 1;
getexp BaseLevel*3,BaseLevel*2;
if (checkre(3))
getexp BaseLevel*3,BaseLevel*2;
else
getexp BaseLevel*30,BaseLevel*15;
specialeffect2 EF_HIT5;
close;
case 1:
@ -202,7 +211,7 @@ geffen,67,180,4 script New Mage Manager#M 102,{
mes "only slightly injured and the";
mes "Fire Wall won't necessarily";
mes "block its approach. So beware!";
set tu_mana,tu_mana|1;
set .@eread_1,1;
next;
break;
case 2:
@ -237,7 +246,7 @@ geffen,67,180,4 script New Mage Manager#M 102,{
mes "afterwards, like Fire Bolt and";
mes "Fire Ball, to take advantage of";
mes "the monster's Earth property.";
set tu_mana,tu_mana|2;
set .@eread_2,1;
next;
break;
case 3:
@ -275,8 +284,7 @@ geffen,67,180,4 script New Mage Manager#M 102,{
mes "the ^93DB70Wind^000000 property skills";
mes "that we Mages can use are";
mes "Lighning Bolt and Thunder Storm.";
next;
set tu_mana,tu_mana|4;
set .@eread_3,1;
next;
break;
case 4:
@ -313,7 +321,7 @@ geffen,67,180,4 script New Mage Manager#M 102,{
mes "actually freeze monsters.";
mes "While monsters are frozen by";
mes "Frost Diver, they're considered Water monsters. Interesting, huh?";
set tu_mana,tu_mana|8;
set .@eread_4,1;
next;
break;
case 5:
@ -346,7 +354,7 @@ geffen,67,180,4 script New Mage Manager#M 102,{
mes "shield against long range";
mes "attacks or strong property";
mes "attacks, so be really careful!";
set tu_mana,tu_mana|16;
set .@eread_5,1;
next;
break;
case 6:
@ -358,32 +366,18 @@ geffen,67,180,4 script New Mage Manager#M 102,{
mes "ready, we'll cover some new";
mes "material for you to learn.";
next;
switch(select("W-wait, not yet!:I'm ready to go on.")) {
case 1:
break;
case 2:
if(select("W-wait, not yet!:I'm ready to go on.") == 2) {
mes "[Mana]";
mes "Alrighty, we'll";
mes "move on to the next";
mes "subject then. Ho ho ho~!";
set tu_magician01,2;
specialeffect2 EF_HIT5;
if(tu_mana&1){
getexp 15,7;
}
if(tu_mana&2){
getexp 15,7;
}
if(tu_mana&4){
getexp 15,7;
}
if(tu_mana&8){
getexp 15,7;
}
if(tu_mana&16){
getexp 15,7;
}
set tu_mana,0;
if(.@eread_1) getexp 150,70;
if(.@eread_2) getexp 150,70;
if(.@eread_3) getexp 150,70;
if(.@eread_4) getexp 150,70;
if(.@eread_5) getexp 150,70;
}
close;
}
@ -465,7 +459,7 @@ geffen,67,180,4 script New Mage Manager#M 102,{
mes "10 Chrysalis from them.";
mes "Then bring them to me, okay?";
set tu_magician01, 3;
getexp 40,20;
getexp 400,200;
specialeffect2 EF_HIT5;
close;
case 3:
@ -493,7 +487,7 @@ geffen,67,180,4 script New Mage Manager#M 102,{
mes "used to using your skills, huh?";
mes "Anyway, let me know when you're ready for the next lesson, okay?";
set tu_magician01, 5;
getexp 40,20;
getexp 400,200;
specialeffect2 EF_HIT5;
close;
}
@ -521,7 +515,7 @@ geffen,67,180,4 script New Mage Manager#M 102,{
mes "used to using your skills, huh?";
mes "Anyway, let me know when you're ready for the next lesson, okay?";
set tu_magician01, 5;
getexp 40,20;
getexp 400,200;
specialeffect2 EF_HIT5;
close;
}
@ -550,7 +544,7 @@ geffen,67,180,4 script New Mage Manager#M 102,{
mes "of Soul Strike and increase";
mes "that skill's level, it will grow in strength and you'll be able";
mes "to cast it much more quickly.";
set tu_mana,tu_mana|1;
set .@skill_e1,1;
next;
break;
case 2:
@ -570,7 +564,7 @@ geffen,67,180,4 script New Mage Manager#M 102,{
mes "certain number of attacks,";
mes "depending on the level of the";
mes "Safety Wall skill that you use.";
set tu_mana,tu_mana|2;
set .@skill_e2,1;
next;
break;
case 3:
@ -590,7 +584,7 @@ geffen,67,180,4 script New Mage Manager#M 102,{
mes "good use of the destructive";
mes "power of the Fire Ball!";
next;
set tu_mana,tu_mana|4;
set .@skill_e3,1;
break;
case 4:
mes "[Mana]";
@ -616,7 +610,7 @@ geffen,67,180,4 script New Mage Manager#M 102,{
mes "skill, its damage and chance";
mes "of freezing monsters will also";
mes "increase. Pretty dangerous, eh? ^FFFFFFkamenriderblack^000000";
set tu_mana,tu_mana|8;
set .@skill_e4,1;
next;
break;
case 5:
@ -635,7 +629,7 @@ geffen,67,180,4 script New Mage Manager#M 102,{
mes "within a certain range.";
mes "It's an incredibly potent";
mes "ground targeting attack.";
set tu_mana,tu_mana|16;
set .@skill_e5,1;
next;
break;
case 6:
@ -661,7 +655,7 @@ geffen,67,180,4 script New Mage Manager#M 102,{
mes "Fire Well strategically";
mes "and effectively, it can";
mes "be a very powerful skill~";
set tu_mana,tu_mana|32;
set .@skill_e6,1;
next;
break;
case 7:
@ -680,7 +674,7 @@ geffen,67,180,4 script New Mage Manager#M 102,{
mes "learn Energy Coat, I'm";
mes "sure Blizardis will tell";
mes "you all you need to know.";
set tu_mana,tu_mana|64;
set .@skill_e7,1;
next;
break;
case 8:
@ -701,28 +695,13 @@ geffen,67,180,4 script New Mage Manager#M 102,{
set tu_magician01, 6;
getitem 1604,1; //Wand
specialeffect2 EF_HIT5;
if(tu_mana&1){
getexp 30,10;
}
if(tu_mana&2){
getexp 30,10;
}
if(tu_mana&4){
getexp 30,10;
}
if(tu_mana&8){
getexp 30,10;
}
if(tu_mana&16){
getexp 30,10;
}
if(tu_mana&32){
getexp 30,10;
}
if(tu_mana&64){
getexp 30,10;
}
set tu_mana,0;
if(.@skill_e1) getexp 300,100;
if(.@skill_e2) getexp 300,100;
if(.@skill_e3) getexp 300,100;
if(.@skill_e4) getexp 300,100;
if(.@skill_e5) getexp 300,100;
if(.@skill_e6) getexp 300,100;
if(.@skill_e7) getexp 300,100;
close;
default:
break;
@ -810,7 +789,7 @@ geffen,67,180,4 script New Mage Manager#M 102,{
set tu_magician01, 28;
getitem 2321,1; //Silk_Robe
set Zeny, Zeny + 3000;
getexp 300,100;
getexp 3000,1000;
close;
default:
if(tu_magician01 < 27){

View File

@ -5,13 +5,14 @@
//===== Current Version: =====================================
//= 1.3
//===== Compatible With: =====================================
//= rAthena SVN (Testet in Trunk 88xx)
//= rAthena SVN
//===== Description: =========================================
//=
//= [Official Conversion]
//= Merchant training quest.
//===== Additional Comments: =================================
//= 1.0 Fully working
//= 1.1 Fixed bugs, optimized [Lupus] 1.2 fixed Weight check
//= TODO: Test, add missing misceffects
//= 1.1 Fixed bugs, optimized [Lupus]
//= 1.2 fixed Weight check
//= 1.2 Fixed experience gains to match upcoming rate adjustments. [SinSloth]
//= 1.3 Misc. updates. [L0ne_W0lf]
//============================================================

View File

@ -3,19 +3,20 @@
//===== By: ==================================================
//= Fix up by Jukka
//===== Current Version: =====================================
//= 1.5
//= 1.6
//===== Compatible With: =====================================
//= rAthena SVN (Testet in Trunk 88xx)
//= rAthena SVN
//===== Description: =========================================
//=
//= [Official Conversion]
//= Swordman training quest.
//===== Additional Comments: =================================
//= 1.0 Fully working
//= 1.1 optimized [Lupus]
//= TODO: Test, Add correct misceffects numbers
//= 1.2 Fixed a typo on NPC name. [SinSloth]
//= 1.3 Fixed experience gains to match upcoming rate adjustments. [SinSloth]
//= 1.4 Misc. updates. [L0ne_W0lf]
//= 1.5 Added Renewal Izlude coordinates.
//= 1.6 Added Pre-Renewal support. [Euphy]
//============================================================
// Shurank
@ -42,7 +43,7 @@ izlude_in,82,163,3 script Shurank 733,{
mes "come back to me...";
close;
}
if(BaseClass == Job_Swordman && eaclass()&(EAJL_2|EAJL_UPPER)){
if(BaseClass == Job_Swordman && eaclass()&(EAJL_2|EAJL_UPPER|EAJL_THIRD)){
mes "From your raiment,";
mes "I see that you are";
if(Sex)
@ -109,7 +110,10 @@ izlude_in,82,163,3 script Shurank 733,{
mes "your great efforts. But do not let your talents allow you to grow arrogant!";
set tu_swordman, 23;
completequest 8228;
getexp 186,0;
if (checkre(3))
getexp 186,0;
else
getexp 1860,0;
getitem 1113,1; //Scimiter
next;
mes "[Shurank]";
@ -197,7 +201,10 @@ izlude_in,82,163,3 script Shurank 733,{
mes "your accomplishment.";
set tu_swordman, 22;
changequest 8227,8228;
getexp 186,0;
if (checkre(3))
getexp 186,0;
else
getexp 1860,0;
next;
mes "[Shurank]";
mes "Next time, I will tell you more about the Magnum Break skill.";
@ -224,7 +231,10 @@ izlude_in,82,163,3 script Shurank 733,{
set tu_swordman, 13;
erasequest 8221;
setquest 8222;
getexp 126,0;
if (checkre(3))
getexp 126,0;
else
getexp 1260,0;
next;
mes "[Shurank]";
mes "Ah, once again, I have";
@ -286,7 +296,10 @@ izlude_in,82,163,3 script Shurank 733,{
set tu_swordman, 13;
erasequest 8221;
setquest 8222;
getexp 126,0;
if (checkre(3))
getexp 126,0;
else
getexp 1260,0;
next;
mes "[Shurank]";
mes "Ah, once again, I have";
@ -363,7 +376,10 @@ izlude_in,82,163,3 script Shurank 733,{
set tu_swordman, 13;
erasequest 8221;
setquest 8222;
getexp 126,0;
if (checkre(3))
getexp 126,0;
else
getexp 1260,0;
next;
mes "[Shurank]";
mes "Ah, once again, I have";
@ -384,7 +400,10 @@ izlude_in,82,163,3 script Shurank 733,{
mes "[Shurank]";
mes "Ah, I see that you have a fairly good understanding of the Provoke skill. Let me reward you in this small way for your efforts.";
set tu_swordman, 10;
getexp 112,0;
if (checkre(3))
getexp 112,0;
else
getexp 1120,0;
next;
mes "[Shurank]";
mes "Next time we speak, I will tell you what I know about the ^5D478BEndure^000000 skill. When you're ready to learn, come back to me.";
@ -398,7 +417,10 @@ izlude_in,82,163,3 script Shurank 733,{
mes "an outstanding Swordman.";
mes "Here is a small reward...";
set tu_swordman, 10;
getexp 126,0;
if (checkre(3))
getexp 126,0;
else
getexp 1260,0;
next;
mes "[Shurank]";
mes "Next time we speak, I will tell you what I know about the ^5D478BEndure^000000 skill. When you're ready to learn, come back to me.";
@ -447,7 +469,10 @@ izlude_in,82,163,3 script Shurank 733,{
mes "[Shurank]";
mes "Ah, I see that you have a fairly good understanding of the Provoke skill. Let me reward you in this small way for your efforts.";
set tu_swordman, 10;
getexp 112,0;
if (checkre(3))
getexp 112,0;
else
getexp 1120,0;
next;
mes "[Shurank]";
mes "Next time we speak, I will tell you what I know about the ^5D478BEndure^000000 skill. When you're ready to learn, come back to me.";
@ -461,7 +486,10 @@ izlude_in,82,163,3 script Shurank 733,{
mes "an outstanding Swordman.";
mes "Here is a small reward...";
set tu_swordman, 10;
getexp 126,0;
if (checkre(3))
getexp 126,0;
else
getexp 1260,0;
next;
mes "Next time we speak, I will tell you what I know about the ^5D478BEndure^000000 skill. When you're ready to learn, come back to me.";
close;
@ -543,7 +571,10 @@ izlude_in,82,163,3 script Shurank 733,{
mes "Ah, I see that you have a fairly good understanding of the Provoke skill. Let me reward you in this small way for your efforts.";
set tu_swordman, 10;
changequest 8219,8220;
getexp 112,0;
if (checkre(3))
getexp 112,0;
else
getexp 1120,0;
next;
mes "[Shurank]";
mes "Next time we speak, I will tell you what I know about the ^5D478BEndure^000000 skill. When you're ready to learn, come back to me.";
@ -561,7 +592,10 @@ izlude_in,82,163,3 script Shurank 733,{
completequest 8219;
completequest 8220;
setquest 8221;
getexp 126,0;
if (checkre(3))
getexp 126,0;
else
getexp 1260,0;
next;
mes "[Shurank]";
mes "Next time we speak, I will tell you what I know about the ^5D478BEndure^000000 skill. When you're ready to learn, come back to me.";
@ -650,7 +684,10 @@ izlude_in,82,163,3 script Shurank 733,{
mes "Ah! That healthy glow!";
mes "I see that you've mastered this skill already. Let me give you a little reward for your hard training!";
set tu_swordman, 5;
getexp 112,0;
if (checkre(3))
getexp 112,0;
else
getexp 1120,0;
next;
} else {
mes "[Shurank]";
@ -690,7 +727,10 @@ izlude_in,82,163,3 script Shurank 733,{
mes "Here's a small prize in recognition of your efforts thus far. But don't relax yet! You still have a long way to go before grasping";
mes "all of the basics.";
set tu_swordman, 4;
getexp 97,0;
if (checkre(3))
getexp 97,0;
else
getexp 970,0;
getitem 2503,1; //Muffler
close;
} else {
@ -725,7 +765,10 @@ izlude_in,82,163,3 script Shurank 733,{
mes "Here's a little reward for all of your hard work. I hope you realize the importance of using Bash as";
mes "you grow stronger.";
set tu_swordman, 3;
getexp 83,0;
if (checkre(3))
getexp 83,0;
else
getexp 830,0;
close;
} else if(.@chk_bash == 10){
mes "[Shurank]";
@ -736,7 +779,10 @@ izlude_in,82,163,3 script Shurank 733,{
mes "Here's a small prize in recognition of your efforts thus far. But don't relax yet! You still have a long way to go before grasping";
mes "all of the basics.";
set tu_swordman, 4;
getexp 97,0;
if (checkre(3))
getexp 97,0;
else
getexp 970,0;
getitem 2503,1; //Muffler
close;
} else {
@ -771,7 +817,10 @@ izlude_in,82,163,3 script Shurank 733,{
mes "Still, for your training efforts, let me give you a humble reward. But remember, we still have more";
mes "of the fundamentals to cover!";
set tu_swordman, 2;
getexp 58,0;
if (checkre(3))
getexp 58,0;
else
getexp 580,0;
close;
} else if((.@chk_bash > 4) && (.@chk_bash < 10)){
mes "[Shurank]";
@ -801,7 +850,10 @@ izlude_in,82,163,3 script Shurank 733,{
mes "For your efforts and patience, I offer you this small reward. Please take it and grow even stronger...";
set tu_swordman, 3;
setquest 8211;
getexp 83,0;
if (checkre(3))
getexp 83,0;
else
getexp 830,0;
next;
mes "[Shurank]";
mes "I believe that every true Swordman should master the Bash skill. If you ever do master the skill as a Swordman, come back to me.";
@ -815,7 +867,10 @@ izlude_in,82,163,3 script Shurank 733,{
mes "Here's a small prize in recognition of your efforts thus far. But don't relax yet! You still have a long way to go before grasping";
mes "all of the basics.";
set tu_swordman, 4;
getexp 97,0;
if (checkre(3))
getexp 97,0;
else
getexp 970,0;
getitem 2503,1; //Muffler
close;
} else {
@ -848,7 +903,10 @@ izlude_in,82,163,3 script Shurank 733,{
mes "[Shurank]";
mes "Now, if you wish to become a true Swordman, you must learn the Bash skill. There's no question about it: You've got to know these basics! Take this, and learn to Bash!";
set tu_swordman, 1;
getexp 49,0;
if (checkre(3))
getexp 49,0;
else
getexp 490,0;
setquest 8211;
close;
} else if((.@chk_bash > 0) && (.@chk_bash < 5)){
@ -873,7 +931,10 @@ izlude_in,82,163,3 script Shurank 733,{
mes "of the fundamentals to cover!";
set tu_swordman, 2;
changequest 8211,8212;
getexp 58,0;
if (checkre(3))
getexp 58,0;
else
getexp 580,0;
close;
} else if((.@chk_bash > 4) && (.@chk_bash < 10)){
mes "[Shurank]";
@ -896,7 +957,10 @@ izlude_in,82,163,3 script Shurank 733,{
mes "of the fundamentals to cover!";
set tu_swordman, 3;
changequest 8212,8213;
getexp 83,0;
if (checkre(3))
getexp 83,0;
else
getexp 830,0;
next;
mes "[Shurank]";
mes "But if you wish to become an expert Swordman in my eyes, you must master Bash!";
@ -914,7 +978,10 @@ izlude_in,82,163,3 script Shurank 733,{
completequest 8212;
completequest 8213;
setquest 8214;
getexp 97,0;
if (checkre(3))
getexp 97,0;
else
getexp 970,0;
getitem 2503,1; //Muffler
close;
}
@ -1067,7 +1134,10 @@ geffen,154,143,3 script Dequ'ee 734,{
mes "Hurry over to Morroc and monitor Bankley in case he does anything desperate. If something happens, report to me right away!";
set tu_swordman, 19;
changequest 8224,8225;
getexp 162,0;
if (checkre(3))
getexp 162,0;
else
getexp 1620,0;
close2;
warp "moc_fild07",359,201;
end;
@ -2113,7 +2183,10 @@ geffen,154,143,3 script Dequ'ee 734,{
mes "Thank you for taking the trouble to come this far. Let me reward you with some experience points.";
set tu_swordman, 7;
changequest 8216,8217;
getexp 112,0;
if (checkre(3))
getexp 112,0;
else
getexp 1120,0;
next;
mes "[Dequ'ee]";
mes "Take care";

View File

@ -3,18 +3,19 @@
//===== By: ==================================================
//= Fix up by Jukka
//===== Current Version: =====================================
//= 1.4
//= 1.5
//===== Compatible With: =====================================
//= rAthena SVN (Testet in Trunk 88xx)
//= rAthena SVN
//===== Description: =========================================
//=
//= [Official Conversion]
//= Thief training quest.
//===== Additional Comments: =================================
//= 1.0 Fully working
//= 1.1 optimized [Lupus]
//= TODO: Test, Add correct misceffects numbers
//= 1.2 Fixed experience gains to match upcoming rate adjustments. [SinSloth]
//= 1.3 Fixed a few minor mistakes [Playtester]
//= 1.4 Misc. updates. [L0ne_W0lf]
//= 1.5 Added Pre-Renewal support. [Euphy]
//============================================================
// Thief Trainer
@ -88,7 +89,7 @@ moc_ruins,66,164,4 script Thief Trainer#T 84,{
mes "[Yierhan]";
mes "So if you're feeling like the damage you're making is pretty weak, you might want more stat points in ^2F4F2FSTR^000000. How high your raise your own STR is really up to you.";
set tu_thief01, 1;
getexp 20,10;
getexp 200,100;
specialeffect2 EF_HIT5;
close;
case 2:
@ -104,7 +105,7 @@ moc_ruins,66,164,4 script Thief Trainer#T 84,{
mes "Sure, ^23238EDEX^000000 and LUK can";
mes "also increase your attack damage, but they're insignificant compared to STR. I repeat: ^660000insignificant^000000.";
set tu_thief01, 1;
getexp 40,20;
getexp 400,200;
specialeffect2 EF_HIT5;
close;
case 3:
@ -119,7 +120,7 @@ moc_ruins,66,164,4 script Thief Trainer#T 84,{
mes "[Yierhan]";
mes "So if you're feeling like the damage you're making is pretty weak, you might want more stat points in ^2F4F2FSTR^000000. How high your raise your own STR is really up to you.";
set tu_thief01, 1;
getexp 20,10;
getexp 200,100;
specialeffect2 EF_HIT5;
close;
}
@ -229,7 +230,7 @@ moc_ruins,66,164,4 script Thief Trainer#T 84,{
mes "about any other skills,";
mes "I can explain real quick.";
set tu_thief01, 3;
getexp BaseLevel*3,BaseLevel*2;
getexp BaseLevel*30,BaseLevel*15;
specialeffect2 EF_HIT5;
close;
} else if(tu_thief01 == 3){
@ -328,24 +329,12 @@ moc_ruins,66,164,4 script Thief Trainer#T 84,{
mes "Now that you're such an expert on skills, I want you to level up your skills and come back, got it?";
set tu_thief01, 4;
specialeffect2 EF_HIT5;
if(.@read_d){
getexp 30,10;
}
if(.@read_f){
getexp 30,10;
}
if(.@read_s){
getexp 30,10;
}
if(.@read_p){
getexp 30,10;
}
if(.@read_h){
getexp 30,10;
}
if(.@read_r){
getexp 30,10;
}
if(.@read_d) getexp 300,100;
if(.@read_f) getexp 300,100;
if(.@read_s) getexp 300,100;
if(.@read_p) getexp 300,100;
if(.@read_h) getexp 300,100;
if(.@read_r) getexp 300,100;
close;
}
}
@ -362,7 +351,7 @@ moc_ruins,66,164,4 script Thief Trainer#T 84,{
set tu_thief01, 5;
savepoint "moc_ruins",80,164;
getitem 602,1; //Wing_Of_Butterfly
getexp 10,5;
getexp 100,50;
specialeffect2 EF_HIT5;
close2;
warp "moc_fild12",158,373;
@ -420,7 +409,7 @@ moc_ruins,66,164,4 script Thief Trainer#T 84,{
mes "is pretty strong!";
set tu_thief01, 8;
getitem 1207,1; //Main_Gauche
getexp 100,50;
getexp 1000,500;
specialeffect2 EF_HIT5;
close;
case 2:
@ -430,7 +419,7 @@ moc_ruins,66,164,4 script Thief Trainer#T 84,{
mes "Alright, you better get stronger the next time I see you. Oh, and you can have this stuff. You know, since you're so gangster and all.";
set tu_thief01, 7;
getitem 1207,1; //Main_Gauche
getexp 50,20;
getexp 500,200;
specialeffect2 EF_HIT5;
close;
}
@ -447,22 +436,19 @@ moc_ruins,66,164,4 script Thief Trainer#T 84,{
mes "you so much, kid,";
mes "you can have this.";
mes "Take it, it's yours!";
set tu_thief01, 7;
getitem 1207,1; //Main_Gauche
getexp 50,20;
specialeffect2 EF_HIT5;
close;
break;
case 2:
mes "[Yierhan]";
mes "Good!";
mes "Less work for me!";
mes "Alright, you better get stronger the next time I see you. Oh, and you can have this stuff. You know, since you're so gangster and all.";
set tu_thief01, 7;
getitem 1207,1; //Main_Gauche
getexp 50,20;
specialeffect2 EF_HIT5;
close;
break;
}
set tu_thief01, 7;
getitem 1207,1; //Main_Gauche
getexp 500,200;
specialeffect2 EF_HIT5;
close;
}
}
} else if(tu_thief01 == 7){
@ -503,7 +489,7 @@ moc_ruins,66,164,4 script Thief Trainer#T 84,{
mes "out, be real careful";
mes "other there, okay?";
set tu_thief01, 8;
getexp 20,10;
getexp 200,100;
specialeffect2 EF_HIT5;
close;
} else if(tu_thief01 == 8){
@ -587,7 +573,7 @@ moc_ruins,66,164,4 script Thief Trainer#T 84,{
set tu_thief01, 27;
getitem 2307,1; //Mantle
set Zeny, Zeny + 5000;
getexp 800,300;
getexp 8000,3000;
close;
}
} else {
@ -668,7 +654,6 @@ moc_ruins,66,164,4 script Thief Trainer#T 84,{
mes "[Yierhan]";
mes "Ah, gotcha. Well, that's understandable. I mean, these things take time, you know?";
close;
break;
case 2:
mes "[Yierhan]";
mes "Yeah...?";
@ -676,7 +661,6 @@ moc_ruins,66,164,4 script Thief Trainer#T 84,{
mes "I guess these kinds of things require patience. And thinking.";
mes "You know, things I'm horrible at.";
close;
break;
case 3:
mes "[Yierhan]";
mes "Alright...!";
@ -712,7 +696,7 @@ moc_ruins,66,164,4 script Thief Trainer#T 84,{
mes "Hey, this stuff is yours. Think of it as a reward for helping us out. Right, and I'll let Mana know you did a great job. Take care of yourself now~";
set tu_magician01, 27;
set Zeny, Zeny + 5000;
getexp 500,200;
getexp 5000,2000;
close;
}
} else {

View File

@ -293,7 +293,7 @@ prt_castle,83,67,5 script Recruiter for the Brave 109,{
next;
changequest 10064,10065;
set ep13_ryu,9;
if (checkre(0))
if (checkre(3))
getexp 66000,21000;
else
getexp 660000,210000;
@ -1808,7 +1808,7 @@ moc_fild22b,230,197,5 script Munkenro#2 967,{
next;
completequest 10078;
set ep13_ryu,100;
if (checkre(0))
if (checkre(3))
getexp 66000,21000;
else
getexp 660000,210000;
@ -2704,7 +2704,7 @@ mid_camp,261,284,4 script Instructor#ep13bs 405,{
set ep13_newbs,100;
getitem 617,1; //Old_Violet_Box
getitem 12322,5; //Chocolate_Pie
if (checkre(0))
if (checkre(3))
getexp 100000,10000;
else
getexp 1000000,100000;
@ -4237,7 +4237,7 @@ mid_camp,188,254,3 script Monster Scholar#ep13 883,{
mes "I hope you'll make yourself known in Ash Vacuum with your great accomplishments.";
set ep13_animal,15;
completequest 2157;
if (checkre(0))
if (checkre(3))
getexp 100000,0;
else
getexp 1500000,0;
@ -4338,7 +4338,7 @@ mid_camp,188,254,3 script Monster Scholar#ep13 883,{
mes "- You pat his shoulder gently, it's worrying that Rumis is not able to return to his country. -";
set ep13_animal,100;
delitem 6033,1; //Horn_Of_Tendrilion
if (checkre(0))
if (checkre(3))
getexp 50000,0;
else
getexp 1000000,0;
@ -5173,7 +5173,7 @@ mid_camp,212,237,5 script Camp Guard Captain#man1 852,{
mes "I'll discuss this more with the expedition management.";
mes "Thank you for your valuable information.";
completequest 2158;
if (checkre(0))
if (checkre(3))
getexp 90000,0;
else
getexp 900000,0;
@ -5197,7 +5197,7 @@ mid_camp,212,237,5 script Camp Guard Captain#man1 852,{
mes "I'll discuss this more with the expedition management.";
mes "Thank you for your valuable information.";
completequest 2159;
if (checkre(0))
if (checkre(3))
getexp 90000,0;
else
getexp 900000,0;
@ -5626,7 +5626,7 @@ OnTouch:
mes "- You feel so refreshed and light, as you drink the tea that the Official offered. -";
specialeffect2 EF_ABSORBSPIRITS;
set ep13_1_rhea,100;
if (checkre(0))
if (checkre(3))
getexp 80000,3000;
else
getexp 300000,10000;
@ -7446,7 +7446,7 @@ mid_camp,143,306,5 script Breeder Taab#ep13_alba 946,{
next;
delitem 579,50; //Delicious_Fish
set ep13_alba,6;
if (checkre(0))
if (checkre(3))
getexp 8000,3000;
else
getexp 80000,30000;
@ -7482,7 +7482,7 @@ mid_camp,143,306,5 script Breeder Taab#ep13_alba 946,{
delitem 7198,30; //Great_Leaf
delitem 7188,30; //Browny_Root
set ep13_alba,6;
if (checkre(0))
if (checkre(3))
getexp 9000,4000;
else
getexp 90000,40000;
@ -7523,7 +7523,7 @@ mid_camp,143,306,5 script Breeder Taab#ep13_alba 946,{
delitem 528,20; //Monster's_Feed
delitem 537,30; //Pet_Food
set ep13_alba,6;
if (checkre(0))
if (checkre(3))
getexp 8000,3000;
else
getexp 80000,30000;
@ -7561,7 +7561,7 @@ mid_camp,143,306,5 script Breeder Taab#ep13_alba 946,{
delitem 517,50; //Meat
delitem 537,30; //Pet_Food
set ep13_alba,6;
if (checkre(0))
if (checkre(3))
getexp 8000,3000;
else
getexp 80000,30000;
@ -7596,7 +7596,7 @@ mid_camp,143,306,5 script Breeder Taab#ep13_alba 946,{
next;
delitem 6020,30; //Fur
set ep13_alba,6;
if (checkre(0))
if (checkre(3))
getexp 8000,3000;
else
getexp 80000,30000;
@ -9113,7 +9113,7 @@ mid_campin,90,121,5 script Hibba Agip 459,{
mes "And please take this small reward.";
mes "Thank you for your help so far.";
next;
if (checkre(0))
if (checkre(3))
getexp 30000,0;
else
getexp 2500000,0;
@ -10898,7 +10898,7 @@ mid_campin,68,185,3 script Pursuit Party Leader#1 803,{
mes "[Echinacea]";
mes "Keep up the good work assisting the explorers in this camp.";
set mao_morocc2,100;
if (checkre(0))
if (checkre(3))
getexp 120000,20000;
else
getexp 1200000,200000;
@ -11278,7 +11278,7 @@ mid_camp,199,311,7 script Mr. Kidd#ep13_dan01 884,{
delitem 6029,1; //Morocc_Tracing_Log
delitem 6027,1; //Crystal_Of_Feardoom
set mao_morocc2,10;
if (checkre(0))
if (checkre(3))
getexp 20000,1000;
else
getexp 200000,10000;

View File

@ -2454,7 +2454,7 @@ spl_in02,236,92,5 script Arc#ep13md_l02 447,{
mes "I'm sorry this is all I can give you for now.";
set ep13_mdrama,27;
getitem 6081,25; //Splendide_Coin
if (checkre(0))
if (checkre(3))
getexp 120000,10000;
else
getexp 1200000,100000;
@ -2776,7 +2776,7 @@ manuk,252,116,3 script Manuk Galtun#ep13_2day 450,{
completequest 7074;
completequest 7075;
set ep13_2_days01,2;
if (checkre(0))
if (checkre(3))
getexp 50000,30000;
else
getexp 500000,300000;
@ -3702,7 +3702,7 @@ mid_camp,197,237,3 script Schwartzvalt Mechanic#1 869,{
mes "I hope this ring would be a big help for your journey through the other world.";
completequest 8253;
set ep13_2_rhea,100;
if (checkre(0))
if (checkre(3))
getexp 200000,5000;
else
getexp 1000000,300000;
@ -4799,7 +4799,7 @@ man_in01,372,221,5 script Scientist#lifeguard 449,{
delitem 6078,.@stoneelse_chk; //Stone_Fragments
delitem 6076,1; //Portable_Toolbox
getitem 6080,3; //Manuk_Coin
if (checkre(0) == 0)
if (checkre(3) == 0)
getexp 0,700000;
changequest 2179+(ep13_2_tre-2),2182;
set ep13_2_tre,100;
@ -5667,7 +5667,7 @@ spl_in01,30,324,3 script High Laphine#grenouille 446,{
set ep13_2_tre1,6;
changequest 2185,2186;
getitem 6081,3; //Splendide_Coin
if (checkre(0) == 0)
if (checkre(3) == 0)
getexp 0,700000;
close;
}

View File

@ -20,15 +20,14 @@
//= 1.3b Splitted into different files [DracoRPG]
//= 1.3c Fixed some typos [IVBela]
//= 1.3d Changed NPC Name to the official [Lupus]
//= 1.4 Moved Arpesto from tu_archer and added his script. [Kisuka]
//= 1.4 Moved Arpesto from tu_archer and added his script. [Kisuka]
//============================================================
//============================================================
// HUNTER SKILL - PHANTASMIC ARROW
//============================================================
pay_arche,109,169,3 script Arpesto 712,{
if (Class == Job_Hunter || Class == Job_Sniper) {
if (BaseJob == Job_Hunter) {
if (qskill_hunter == 100) {
if (getskilllv("HT_PHANTASMIC")) {
mes "[Arpesto]";
@ -241,7 +240,7 @@ pay_arche,109,169,3 script Arpesto 712,{
set qskill_hunter,100;
close;
}
if (JobLevel < 40) {
if (BaseJob == Job_Hunter && JobLevel < 40) {
mes "[Arpesto]";
mes "Did the master send you";
mes "to me? Hmm... You're still";

View File

@ -14,7 +14,7 @@
//============================================================
prt_in,85,99,3 script Knight#kabuto 734,{
if (BaseJob == job_Knight) {
if (BaseJob == Job_Knight) {
if (KNGT_SK == 10) {
mes "[Essofeit]";
mes "Ah, it must be grand to";

View File

@ -823,7 +823,7 @@ tha_t02,231,161,5 script Entrance Guide 874,{
mes "Is there a Phantom on the top of this tower?";
if (rand(3) == 1) {
mes "You look tired. This isn't a big deal, but it's for you.";
npcskill "AL_HEAL",10,50,70;
npcskill "AL_HEAL",11,50,70;
}
close;
}

View File

@ -1147,7 +1147,7 @@ OnAgitInvest:
callfunc "F_Invest_Abyss","$fund_"+.@npc$+"0"+.@id,"[Gate Manager]";
end;
case 2:
callsub L_Enter,1,.@realm$;
callsub L_Enter,1,.@realm$,.@npc$;
mes "[Gate Manager]";
mes "You are interested in exploring the "+.@realm$+" Guild Dungeon Deepest Layer (2F).";
mes "Let me guide you. Good luck.";
@ -1187,7 +1187,7 @@ OnAgitInvest:
}
end;
case 3:
callsub L_Enter,2,.@realm$;
callsub L_Enter,2,.@realm$,.@npc$;
mes "[Gate Manager]";
mes "Let me guide you to the Abyss Gap connected with "+.@realm$+", the Abyss Gate 'Way of the Warrior'.";
close2;
@ -1235,7 +1235,7 @@ OnAgitInvest:
L_Enter:
set .@invest_status, callfunc("F_Invest_Status");
if (.@invest_status == 3) {
set .@status, getd("$"+.@npc$+"_invest_result");
set .@status, getd("$"+getarg(2)+"_invest_result");
if ((getarg(0) == 1 && .@status == 2) || .@status == 3)
return;
else {

View File

@ -933,7 +933,8 @@ new_1-2,35,176,4 script Soldier#nv 105,{
mes "Kill enough Porings.";
mes "Porings are easy to deal with, so cheer up.";
mes "Try again.";
npcskill "AL_HEAL",10,99,60;
npcskill "AL_HEAL",11,99,60;
percentheal 100,100;
close;
}
mes "[Brade]";
@ -946,7 +947,8 @@ new_1-2,35,176,4 script Soldier#nv 105,{
mes "[Brade]";
mes "Try using the job manuals to find out the characteristics of each job's skills.";
mes "I will restore your HP and SP... Keep it up.";
npcskill "AL_HEAL",10,99,60;
npcskill "AL_HEAL",11,99,60;
percentheal 100,100;
close;
}

View File

@ -3,7 +3,7 @@
//===== By: ==================================================
//= L0ne_W0lf
//===== Current Version: =====================================
//= 1.2
//= 1.3
//===== Compatible With: =====================================
//= rAthena SVN
//===== Description: =========================================
@ -12,6 +12,7 @@
//= 1.0 First Version.
//= 1.1 Some little optimization here and there. [Masao]
//= 1.2 Optimized. [Euphy]
//= 1.3 Updated to match the official scripts. [Euphy]
//============================================================
moc_para01,44,38,3 script Mission [71 - 85] 857,{
@ -21,586 +22,205 @@ moc_para01,44,38,3 script Mission [71 - 85] 857,{
mes "- this bulletin board. -";
close;
}
mes "- Many hunting missions -";
mes "- are on the bulletin board. -";
next;
if ((BaseLevel > 70) && (BaseLevel < 86)) {
switch (select("Sphinx Dungeon:Glast Heim:Juno Area:Clock Tower:Localized Islands")) {
case 1:
mes "- Sphinx Dungeon -";
mes "- I am Meidi who lives -";
mes "- in Morocc. I want to hunt -";
mes "- monsters in the Sphinx -";
mes "- Dungeon. I will wait for -";
mes "- you in front of the -";
mes "- western gate. -";
callsub L_Quest,10102,1;
mes "- Good. Now go find Meidi -";
mes "- at the western gate -";
mes "- in Morroc. -";
close;
case 2:
mes "- Glast Heim -";
mes "- I am Ancellia. -";
mes "- I need some help -";
mes "- hunting monsters -";
mes "- in Glast Heim.-";
mes "- Please help me. -";
callsub L_Quest,10103,2;
mes "- Look for Ancellia. -";
mes "- in Geffen. -";
close;
case 3:
mes "- Juno Area -";
mes "- I want to go to Juno, -";
mes "- but the monsters on -";
mes "- the way there are too -";
mes "- strong for me. Come -";
mes "- visit me in Al De Baran. -";
mes "- My name is Jeanbai. -";
callsub L_Quest,10104,3;
mes "- Look for Jeanbai -";
mes "- in Al De Baran. -";
close;
case 4:
mes "- Clock Tower -";
mes "- A Clock is the best thing! -";
mes "- I'm asking you to hunt -";
mes "- some monster inside of.-";
mes "- the Clock Tower, -";
mes "- Lisingshetter. -";
callsub L_Quest,10105,4;
mes "- Look for Lisingshetter -";
mes "- in front of the -";
mes "- Clock Tower. -";
close;
case 5:
mes "- Localized Islands -";
mes "- I need someone who -";
mes "- can hunt monsters -";
mes "- for Funfi in Alberta. -";
callsub L_Quest,10106,5;
mes "- Loof for Funfi -";
mes "- in Alberta. -";
// Clear the original quest data (no longer used).
if (slv_quest) set slv_quest,0;
if (checkquest(10102) > -1 || checkquest(10103) > -1 || checkquest(10104) > -1 || checkquest(10105) > -1 || checkquest(10106) > -1) {
for(set .@quest,10102; .@quest<=10106; set .@quest,.@quest+1) {
if (checkquest(.@quest) > -1)
erasequest .@quest;
}
mes "- Since the client has moved -";
mes "- to another place, -";
mes "- the application form has been removed. -";
next;
}
if (BaseLevel < 71) {
mes "- Only members of the -";
mes "- right level can read -";
mes "- this bulletin board. -";
mes "- Try to find a board -";
mes "- that suits your level. -";
close;
} else if (BaseLevel > 85) {
// Quest IDs: 10107-10123, 5055-5057
setarray .@quests[0],
10107,10108,10109,
10110,10111,10112,10113,
10114,10115,10116,10117,
10118,10119,10120,
10121,10122,10123,5055,5056;
for(set .@i,0; .@i<getarraysize(.@quests); set .@i,.@i+1) {
if (checkquest(.@quests[.@i],HUNTING) == 2)
set .@complete[getarraysize(.@complete)], .@quests[.@i];
}
if (checkquest(5057) > -1 && countitem(7187) >= 30)
set .@complete[getarraysize(.@complete)],5057;
if (getarraysize(.@complete)) {
mes "You have quests in progress.";
mes "Do you want to turn them in?";
next;
if(select("Of course.:No.") == 2)
close;
for(set .@i,0; .@i<getarraysize(.@complete); set .@i,.@i+1)
callsub L_Quest,.@complete[.@i];
close;
}
mes "- Only members of the -";
mes "- right level can read -";
mes "- this bulletin board. -";
mes "- Try to find a board -";
mes "- that suits your level. -";
close;
}
mes "- Only members of the -";
mes "- right level can read -";
mes "- this bulletin board. -";
mes "- Try to find a board -";
mes "- that suits your level. -";
close;
mes "- Choose where you -";
mes "- would like to hunt. -";
next;
switch(select("Sphinx Dungeon:Glast Heim:Juno Area:Clock Tower:Localized Islands")) {
case 1:
mes "- There are several requests -";
mes "- related to the Sphinx Dungeon -";
mes "- on this mission Board. -";
next;
set .@str1$,"The villagers of Morroc are worried by the increasing number of monsters in the Sphinx Dungeon. ";
set .@str2$,"- Meidi from Morroc -";
switch(select("Hunt Requiem:Hunt Marduk:Hunt Pasana")) {
case 1: callsub L_Quest,10107,.@str1$+"Hunt 10 Requiems.",.@str2$;
case 2: callsub L_Quest,10108,.@str1$+"Hunt 10 Marduks.",.@str2$;
case 3: callsub L_Quest,10109,.@str1$+"Hunt 10 Pasanas.",.@str2$;
}
case 2:
mes "- There are several requests -";
mes "- related to Glast Heim -";
mes "- on this mission Board. -";
next;
set .@str1$,"I am very afraid that the monsters from Glast Heim will attack us. ";
set .@str2$,"- Ancellia from Geffen -";
switch(select("Hunt Dark Frame:Hunt Evil Druid:Hunt Wraith:Hunt Raydric Archer")) {
case 1: callsub L_Quest,10110,.@str1$+"Hunt 10 Dark Frames.",.@str2$;
case 2: callsub L_Quest,10111,.@str1$+"Hunt 10 Evil Druids.",.@str2$;
case 3: callsub L_Quest,10112,.@str1$+"Hunt 10 Wraiths.",.@str2$;
case 4: callsub L_Quest,10113,.@str1$+"Hunt 10 Raydric Archers.",.@str2$;
}
case 3:
mes "- There are several requests -";
mes "- related to the area -";
mes "- around Juno. -";
next;
set .@str1$,"Those who can't fight, like me, find it much more difficult to travel due to the large number of monsters. ";
set .@str2$,"- Jeanbai, traveler -";
switch(select("Hunt Grand Peco:Hunt Sleeper:Hunt Goat:Hunt Harpy")) {
case 1: callsub L_Quest,10114,.@str1$+"Hunt 20 Grand Pecos.",.@str2$;
case 2: callsub L_Quest,10115,.@str1$+"Hunt 20 Sleepers.",.@str2$;
case 3: callsub L_Quest,10116,.@str1$+"Hunt 20 Goats.",.@str2$;
case 4: callsub L_Quest,10117,.@str1$+"Hunt 20 Harpies.",.@str2$;
}
case 4:
mes "- There are several requests -";
mes "- related to the Clock Tower -";
mes "- on this mission Board. -";
next;
set .@str1$,"I used to love listening to the sweet melody of the Al De Baran Clock Tower but I can't hear anything anymore because of all the noises the monsters are making. ";
set .@str2$,"- Rizingsetter, President of the Love Clock community -";
switch(select("Hunt Clock:Hunt Punk:Hunt Rideword")) {
case 1: callsub L_Quest,10118,.@str1$+"Hunt 15 Clocks before it breaks.",.@str2$;
case 2: callsub L_Quest,10119,.@str1$+"Hunt 15 Punks before it breaks.",.@str2$;
case 3: callsub L_Quest,10120,.@str1$+"Hunt 15 Ridewords before it breaks.",.@str2$;
}
case 5:
mes "- There are several requests -";
mes "- related to the Localized Islands -";
mes "- on this mission Board. -";
next;
set .@str1$,"I want to go on an adventure but there are so many things I have to deal with. If I can't, then others can't either! ";
set .@str2$,"- Funfy, who wants to go on an adventure -";
switch(select("Hunt Kikimora:Hunt Miyabi Doll:Hunt Mi Gao:Hunt Headless Mule:Hunt Tamruan:Gather Festival Masks for the Festival")) {
case 1: callsub L_Quest,10121,.@str1$+"Hunt 15 Kikimoras in Moscovia!",.@str2$;
case 2: callsub L_Quest,10122,.@str1$+"Hunt 15 Miyabi Dolls in Amatsu!",.@str2$;
case 3: callsub L_Quest,10123,.@str1$+"Hunt 15 Mi Gaos in Louyang!",.@str2$;
case 4: callsub L_Quest,5055,"I know there are many terrifying monsters outside the city, but what terrifies me are these Headless Mules lurking around. I hope they will never venture into town. Hunt 15 Headless Mules!","- Mariana from Brasilis -";
case 5: callsub L_Quest,5056,"Tamruans make a lot of noise. I don't mind in the morning but they keep me from falling asleep at night. I want to sleep. Hunt 15 Tamruans!","- Shaman Pumo from Ayotaya -";
case 6: callsub L_Quest,5057,"The Dumpling Childs stole all the masks that I had prepared for the festival. Try to get a hold of 30 masks! I'll owe you~","- SaYumMoon Chief of Kunlun -";
}
}
end;
//callsub L_Quest,<quest ID>{,"<description1>","<description2>"};
L_Quest:
next;
if(select("Accept mission.:Decline mission.") == 2) {
mes "- I don't want to do -";
mes "- a mission right now. -";
set .@quest, getarg(0);
switch(.@quest) {
case 10107: set .@name$,"Hunt Requiem"; set .@exp,15000; break;
case 10108: set .@name$,"Hunt Marduk"; set .@exp,15000; break;
case 10109: set .@name$,"Hunt Pasana"; set .@exp,15000; break;
case 10110: set .@name$,"Hunt Dark Frame"; set .@exp,20000; break;
case 10111: set .@name$,"Hunt Evil Druid"; set .@exp,20000; break;
case 10112: set .@name$,"Hunt Wraith"; set .@exp,20000; break;
case 10113: set .@name$,"Hunt Raydric Archer"; set .@exp,20000; break;
case 10114: set .@name$,"Hunt Grand Peco"; set .@exp,30000; break;
case 10115: set .@name$,"Hunt Sleeper"; set .@exp,30000; break;
case 10116: set .@name$,"Hunt Goat"; set .@exp,30000; break;
case 10117: set .@name$,"Hunt Harpy"; set .@exp,30000; break;
case 10118: set .@name$,"Hunt Clock"; set .@exp,25000; break;
case 10119: set .@name$,"Hunt Punk"; set .@exp,25000; break;
case 10120: set .@name$,"Hunt Rideword"; set .@exp,25000; break;
case 10121: set .@name$,"Hunt Kikimora"; set .@exp,30000; break;
case 10122: set .@name$,"Hunt Miyabi Doll"; set .@exp,30000; break;
case 10123: set .@name$,"Hunt Mi Gao"; set .@exp,30000; break;
case 5055: set .@name$,"Hunt Headless Mule"; set .@exp,30000; break;
case 5056: set .@name$,"Hunt Tamruan"; set .@exp,30000; break;
case 5057: set .@name$,"Gather Festival Masks for the Festival"; set .@exp,30000; break;
}
if (getargcount() == 1) {
mes "'"+.@name$+"' completed. Do you want to turn it in and receive your reward?";
next;
if(select("Turn in quest.:Cancel.") == 1) {
if (.@quest == 5057) delitem 7187,30; //Festival_Mask
erasequest .@quest;
getexp .@exp,0;
mes "You've received EXP for finishing the quest.";
next;
return;
}
close;
} else {
if (.@quest == 5057) {
// Quest 5057 is the only collection quest, so separate conditions are unnecessary.
if (checkquest(5057) == -1)
set .@hunting,-1;
else if (countitem(7187) >= 30)
set .@hunting,2;
} else
set .@hunting, checkquest(.@quest,HUNTING);
if (.@hunting == 0 || .@hunting == 1) {
mes getarg(1);
mes getarg(2);
next;
mes "Return here when you've finished the quest.";
} else if (.@hunting == 2) {
mes "You have completed the quest.";
next;
if(select("Turn in quest.:Cancel.") == 1) {
if (.@quest == 5057) delitem 7187,30; //Festival_Mask
erasequest .@quest;
getexp .@exp,0;
mes "You've received EXP for finishing the quest.";
}
}/* else if (.@hunting == 3) {
// recall_completequest .@quest
erasequest .@quest;
mes "You have re-accepted the quest '"+.@name$+"'.";
}*/ else {
mes getarg(1);
mes getarg(2);
next;
mes "Do you want to accept the quest?";
next;
if(select("Yes.:No.") == 1) {
mes "You've received the quest '"+.@name$+"'. View your quest info for more details.";
setquest .@quest;
}
}
close;
}
if (slv_quest && slv_quest != getarg(1)) {
mes "- You are already on -";
mes "- another mission. -";
mes "- You can't do multiple -";
mes "- missions. Finish your -";
mes "- current mission first. -";
close;
}
if (checkquest(getarg(0)) <= 0) {
setquest getarg(0);
set slv_quest,getarg(1);
return;
}
mes "- You are already on -";
mes "- or have recently -";
mes "- completed a mission. -";
mes "- You can't do anymore -";
mes "- missions right now. -";
close;
}
morocc,35,174,5 script Meidi 729,{
if ((checkquest(10107) == 2) && (checkquest(10108) == 2) && (checkquest(10109) == 2) && (slv_quest == 6)) {
set slv_quest,0;
mes "[Meidi]";
mes "You have completed the hunting missions.";
mes "I don't have anymore missions for you.";
mes "Thanks, you did a great job!";
close;
}
if (checkquest(10107) == 1 || checkquest(10108) == 1 || checkquest(10109) == 1) {
mes "[Meidi]";
mes "Wow! How did you come back so fast?";
mes "What monster did you hunt?";
next;
setarray .@monsters$[0],"Requiem","Marduk","Pasana";
set .@i, select(implode(.@monsters$,":"))-1;
if (checkquest(10107+.@i,HUNTING) == 2) {
mes "[Meidi]";
mes "You've hunted all 10 "+.@monsters$[.@i]+".";
mes "Thank you very much.";
next;
mes "[Meidi]";
mes "I know it isn't much but here's a small gift.";
mes "I hope that it will be helpful to you.";
next;
completequest 10107+.@i;
getexp 48000,0;
mes "[Meidi]";
mes "Wooohoo!";
mes "Good luck.";
close;
}
mes "[Meidi]";
mes "You didn't hunt 10 "+.@monsters$[.@i]+" yet.";
mes "You should make sure that you hunt all of them.";
mes "Can you check again?";
close;
}
if (slv_quest == 6) {
mes "[Meidi]";
mes "Sphinx Dungeon... many adventurers came back with great injuries.";
mes "That place is very dangerous.";
mes "Someone should go inside an make it safer for everyone.";
mes "Hopefully, very soon!";
close;
}
mes "[Meidi]";
mes "Sphinx Dungeon... many adventurers came back with great injuries.";
mes "That place is very dangerous.";
mes "Someone should go inside an make it safer for everyone.";
mes "Hopefully, very soon!";
if (slv_quest == 1) {
next;
mes "[Meidi]";
mes "Oh! Are you from the Eden Group?";
mes "Are you here for my mission?";
mes "You came right on time.";
mes "I was worried that noone would accept the mission that I posted.";
next;
mes "[Meidi]";
mes "So, I need help hunting 3 monsters";
mes "inside of the Sphinx Dungeon.";
mes "Got it? Its too dangerous for me so that's why I posted the mission.";
next;
mes "[Meidi]";
mes "Requiem, Marduk and Pasana...";
mes "I heard they are very dangerous monsters.";
mes "Can you hunt 10 of those monsters?";
mes "10 of each sounds good enough, right?";
next;
mes "[Meidi]";
mes "If you succeed, I will give you a small reward for your help.";
next;
switch (select("Accept mission.:Decline mission.")) {
case 1:
mes "[Meidi]";
mes "Oh. Thank you so much.";
mes "How can I pay you backf or your effort?";
mes "May Freya bless you~";
next;
completequest 10102;
setquest 10107;
setquest 10108;
setquest 10109;
set slv_quest,6;
mes "[Meidi]";
mes "Requiem, Marduk and Pasana.";
mes "Don't forget and good luck.";
close;
case 2:
set slv_quest,0;
erasequest 10102;
mes "[Meidi]";
mes "I see. There is no other way.";
mes "I will send a message to the Eden Group.";
mes "Don't worry and nevermind.";
close;
}
}
close;
}
geffen,146,132,3 script Ancellia 906,{
if ((checkquest(10110 == 2)) && (checkquest(10111) == 2) && (checkquest(10112) == 2) && (checkquest(10113) == 2) && (slv_quest == 6)) {
set slv_quest,0;
mes "[Ancellia]";
mes "Wow. You've finished all";
mes "of my missions. Great!";
mes "You are of great help.";
mes "I will inform the Eden Group of your assistance.";
mes "You can go back, don't worry.";
close;
}
if (checkquest(10110) == 1 || checkquest(10111) == 1 || checkquest(10112) == 1 || checkquest(10113) == 1) {
mes "[Ancellia]";
mes "You seem to have hunted all of the monsters.";
mes "What monster have you hunted?";
mes "Do you remember its name?";
next;
setarray .@monsters$[0],"Dark Frame","Evil Druid","Wraith","Raydric Archer";
set .@i, select(implode(.@monsters$,":"))-1;
if (checkquest(10110+.@i,HUNTING) == 2) {
mes "[Ancellia]";
mes "Ah, you've hunted 10 "+.@monsters$[.@i]+"s.";
mes "That was pretty difficult!";
mes "Thank you very much.";
next;
completequest 10110+.@i;
getexp 48000,0;
mes "[Ancellia]";
mes "Perhaps you can hunt the rest as well.";
mes "I will wait for you here.";
close;
}
mes "[Ancellia]";
mes "Hmm... maybe you were confused.";
mes "You didn't hunt all 10 "+.@monsters$[.@i]+".";
mes "Can you check again?";
close;
}
if (slv_quest == 6) {
mes "[Ancellia]";
mes "Go to Glast Heim and kill";
mes "Dark Frames, Evil Druids,";
mes "Wraith and Raydric Archers.";
mes "10 of each should do just fine.";
close;
}
mes "[Ancellia]";
mes "Glast Heim is very far away.";
mes "I heared that the castle was cursed by the ancient King of Prontera.";
mes "There is a another story.";
next;
mes "[Ancellia]";
mes "One day the came out of the castle and attacked a nearby village, it was terrible.";
mes "That's why I can't stop worrying.";
if (slv_quest == 2) {
next;
mes "[Ancellia]";
mes "Oh, you got my mission";
mes "from the Eden Group. Great~!";
mes "Thank you very much.";
next;
mes "[Ancellia]";
mes "I already explained.";
mes "So I expect you understand.";
mes "You need to hurry hunting";
mes "Dark Frames, Evil Druids,";
mes "Wraith and Raydric Archesr.";
next;
mes "[Ancellia]";
mes "You should hunt them all.";
mes "These are dangerous monsters so please take care of yourself.";
next;
switch (select("Accept mission.:Decline mission.")) {
case 1:
mes "[Ancellia]";
mes "Thanks a lot.";
mes "Be careful when you hunt these monsters. Good luck.";
next;
completequest 10103;
setquest 10110;
setquest 10111;
setquest 10112;
setquest 10113;
set slv_quest,6;
mes "[Ancellia]";
mes "Remember, Dark Frames,";
mes "Evil Druids, Wraiths";
mes "and Raydric Archers.";
close;
case 2:
set slv_quest,0;
erasequest 10103;
mes "[Ancellia]";
mes "Was the mission too hard?";
mes "I guess I'll just have to wait for someone else from the Eden Group to help me.";
close;
}
}
close;
}
aldebaran,144,230,3 script Jeanbai 900,{
if ((checkquest(10114) == 2) && (checkquest(10115) == 2) && (checkquest(10116) == 2) && (checkquest(10117) == 2) && (slv_quest == 6)) {
set slv_quest,0;
mes "[Jeanbai]";
mes "You've hunted all of the monsters.";
mes "I will inform the Eden Group.";
mes "Thank you.";
close;
}
if (checkquest(10114) == 1 || checkquest(10115) == 1 || checkquest(10116) == 1 || checkquest(10117) == 1) {
mes "[Jeanbai]";
mes "Huh? So... fast...";
mes "You amaze me!";
mes "So what monster did you hunt?";
next;
setarray .@monsters$[0],"Grand Peco","Sleeper","Goat","Harpy";
set .@i, select(implode(.@monsters$,":"))-1;
if (checkquest(10114+.@i,HUNTING) == 2) {
mes "[Jeanbai]";
mes "You've hunted 20 "+.@monsters$[.@i]+"s. Perfect!";
mes "Thanks a lot.";
next;
completequest 10114+.@i;
getexp 48000,0;
mes "[Jeanbai]";
mes "Please hunt the others as soon as possible.";
mes "I have faith in you!";
close;
}
mes "[Jeanbai]";
mes "What? Maybe you were confused.";
mes "You haven't hunted all 20 "+.@monsters$[.@i]+"s.";
mes "Please check again.";
close;
}
if (slv_quest == 6) {
mes "[Jeanbai]";
mes "Grand Pecos, Sleepers, Goats";
mes "and Harpies. Hunt 20 of each.";
mes "When you're finished hunting, come back to me.";
mes "I hope you finish as soon as you can.";
close;
}
mes "[Jeanbai]";
mes "I am traveler Jeanbai.";
mes "As I said I'm a traveler not a adventurer so, I am not good at fighting.";
mes "That's why I can't travel all over the world.";
next;
mes "[Jeanbai]";
mes "Monsters are increasing in numbers so travelers like me have a hard time getting around.";
mes "I wish I could travel around without having to worry about that.";
if (slv_quest == 3) {
next;
mes "[Jeanbai]";
mes "Oh, did you get my mission from the Eden Group?";
mes "Great~! We don't have a lot of time.";
mes "Let me explain.";
next;
mes "[Jeanbai]";
mes "The monsters around Juno,";
mes "Grand Pecos, Sleepers, Goats";
mes "and Harpies. Please hunt 20 of them.";
mes "I've been hesitating to visit Juno because of those monsters around there.";
next;
mes "[Jeanbai]";
mes "Will you accept this mission?";
mes "I hope you are the right person for the job.";
mes "So what do you say?";
next;
switch (select("Accept mission.:Decline mission.")) {
case 1:
mes "[Jeanbai]";
mes "Great!";
mes "You won't regret it.";
next;
completequest 10104;
setquest 10114;
setquest 10115;
setquest 10116;
setquest 10117;
set slv_quest,6;
mes "[Jeanbai]";
mes "When you're finished hunting, come back to me.";
mes "I hope you finish as soon as you can.";
close;
case 2:
set slv_quest,0;
erasequest 10104;
mes "[Jeanbai]";
mes "Too bad. I'm disappointed.";
mes "I should inform the Eden Group again.";
mes "I see, nevermind.";
close;
}
}
close;
}
aldebaran,105,116,3 script Lisingshetter 869,{
if ((checkquest(10118) == 2) && (checkquest(10119) == 2) && (checkquest(10120 == 2)) && (slv_quest == 6)) {
set slv_quest,0;
mes "[Lisingshetter]";
mes "You've completed all of my missions.";
mes "Amazing~! I will inform the Eden Group.";
mes "of your assistance. Thanks again!";
close;
}
if (checkquest(10118) == 1 || checkquest(10119) == 1 || checkquest(10120) == 1) {
mes "[Lisingshetter]";
mes "Wow. Are you done?";
mes "So fast~?! Unbelievable~";
mes "You were the right person for this mission.";
mes "Which monster did you hunt?";
next;
setarray .@monsters$[0],"Clock","Punk","Rideword";
set .@i, select(implode(.@monsters$,":"))-1;
if (checkquest(10118+.@i,HUNTING) == 2) {
mes "[Lisingshetter]";
mes "Good! You've hunted 15 "+.@monsters$[.@i]+"s.";
mes "Ah, now I can hear the clock sound clearly...";
mes "Tic!! toc!! tic!! toc!!...";
next;
completequest 10118+.@i;
getexp 48000,0;
mes "[Lisingshetter]";
mes "Thanks a lot!";
mes "I hope you can hunt the rest as well.";
mes "Go as soon as you can!";
close;
}
mes "[Lisingshetter]";
mes "Uh? Something is wrong.";
mes "15 "+.@monsters$[.@i]+"s, right?";
mes "You better check how many you've hunted.";
close;
}
if (slv_quest == 6) {
mes "[Lisingshetter]";
mes "Hunt 15 Clocks, Punks, and Ridewords.";
mes "Please hurry.";
close;
}
mes "[Lisingshetter]";
mes "I like clocks so much.";
mes "They move with regular rhythm";
mes "making tic toc sounds.";
mes "Ahah!! Hail to the clocks!";
next;
mes "[Lisingshetter]";
mes "That's why I like the Clock Tower so much.";
mes "It makes a really nice sound.";
mes "I like it so much!";
if (slv_quest == 4) {
next;
mes "[Lisingshetter]";
mes "Uh? Have you come to help me solve my trouble.";
mes "You already know I like clocks right?";
mes "That's why I need your help to hunt these monsters.";
next;
mes "[Lisingshetter]";
mes "There are too many monsters inside the Clock Tower.";
mes "Their presence is destroying the Clock Tower.";
next;
mes "[Lisingshetter]";
mes "Anyway. Can you help me?";
mes "Please hunt 15 Clocks, Punks and Ridewords before it breaks down.";
next;
switch (select("Accept mission.:Decline mission.")) {
case 1:
completequest 10105;
setquest 10118;
setquest 10119;
setquest 10120;
set slv_quest,6;
mes "[Lisingshetter]";
mes "Ok! I expect you will do the right thing.";
mes "Hunt 15 Clocks, Punks and Ridewords.";
close;
case 2:
set slv_quest,0;
erasequest 10105;
mes "[Lisingshetter]";
mes "You don't understand my love for clocks";
mes "I will find another brave adventurer.";
mes "I will inform the Eden Group.";
close;
}
}
close;
}
alberta,215,111,5 script Funfi 828,{
if ((checkquest(10121) == 2) && (checkquest(10122) == 2) && (checkquest(10123) == 2) && (slv_quest == 6)) {
set slv_quest,0;
mes "[Funfi]";
mes "Um! Thank you so much for all your efforts!";
mes "I will inform, the Eden Group about your assistance, don't worry!";
mes "Hahahaha...";
close;
}
if (checkquest(10121) == 1 || checkquest(10122) == 1 || checkquest(10123) == 1) {
mes "[Funfi]";
mes "Unbelievable~! So fast~!";
mes "Which monster did you hunt?";
next;
setarray .@monsters$[0],"Kikimora","Miyabi Doll","Mi Gao";
set .@i, select(implode(.@monsters$,":"))-1;
if (checkquest(10121+.@i,HUNTING) == 2) {
mes "[Funfi]";
mes "Ok! You've hunted 15 "+.@monsters$[.@i]+"!";
mes "You're the best!";
next;
completequest 10121+.@i;
getexp 48000,0;
mes "[Funfi]";
mes "Please hunt the others as well.";
mes "I have faith in you!";
close;
}
mes "[Funfi]";
mes "Oh~ No no~!!";
mes "Listen carefully! Hunt 15 "+.@monsters$[.@i]+".";
close;
}
if (slv_quest == 6) {
mes "[Funfi]";
mes "Moscovia's Kikimore,";
mes "Miyabi Dolls from Amatsu";
mes "and Mi Gaos from Louyang.";
mes "Please hunt 15 of each of those monsters.";
close;
}
mes "[Funfi]";
mes "I am a man who wants to experience adventures. But for some reason I can't...";
next;
mes "[Funfi]";
mes "There are a lot of funny things in the world... Wooo!";
if (slv_quest == 5) {
next;
mes "[Funfi]";
mes "Anyway are you from the Eden Group?";
mes "You are? Cool! I've been waiting for you~!";
next;
mes "[Funfi]";
mes "No questions! Just do it now!";
mes "Hunt Kikimora in Moscovia,";
mes "Miyabi Dolls in Amatsu";
mes "and Mi Gaos in Louyang!";
mes "Hunt 15 each of those monsters!";
next;
mes "[Funfi]";
mes "Please~!! haha.";
mes "Hurry up!";
next;
switch (select("Accept mission.:Decline mission.")) {
case 1:
completequest 10106;
setquest 10121;
setquest 10122;
setquest 10123;
set slv_quest,6;
getitem 7167,10; //Mystery_Iron_Bit
mes "[Funfi]";
mes "Ok! Good! Hurry up.";
mes "Hunt the monsters on each of those 3 islands.";
next;
mes "[Funfi]";
mes "I will give you some materials for use in Moscovia.";
mes "Go as soon as you can!";
close;
case 2:
set slv_quest,0;
erasequest 10106;
mes "[Funfi]";
mes "What? You don't want to work?! Gosh!";
mes "I will inform the Eden Group of this!";
close;
}
}
close;
}

View File

@ -1182,7 +1182,7 @@ moc_fild11,180,253,5 script Talking Dog#para03 972,{
mes "Oh, if you are tired I will help you.";
next;
mes "-When the dog barked, your HP and SP recovered.-";
npcskill "AL_HEAL",10,99,60;
npcskill "AL_HEAL",11,99,60;
percentheal 100,100;
close;
}
@ -1220,7 +1220,7 @@ moc_fild11,180,253,5 script Talking Dog#para03 972,{
mes "Oh, if you are tired I will help you.";
next;
mes "-When the dog barked, your HP and SP recovered.-";
npcskill "AL_HEAL",10,99,60;
npcskill "AL_HEAL",11,99,60;
percentheal 100,100;
close;
}
@ -1276,7 +1276,7 @@ moc_fild11,180,253,5 script Talking Dog#para03 972,{
mes "Oh, if you are tired I will help you.";
next;
mes "-When the dog barked, your HP and SP recovered.-";
npcskill "AL_HEAL",10,99,60;
npcskill "AL_HEAL",11,99,60;
percentheal 100,100;
close;
}
@ -1422,8 +1422,8 @@ prt_sewb1,131,262,3 script Timid Cat#para04 422,{
mes "[Timid Cat]";
mes "Take care to check your map so you don't get lost.";
mes "It's a service meeow.";
npcskill "AL_HEAL",10,99,60;
percentheal 0,100;
npcskill "AL_HEAL",11,99,60;
percentheal 100,100;
close;
}
if (para_suv01 == 8) {
@ -1460,7 +1460,7 @@ prt_sewb1,131,262,3 script Timid Cat#para04 422,{
mes "[Timid Cat]";
mes "I will help you a little.";
mes "Here, I have recovered your strengh meow..";
npcskill "AL_HEAL",10,99,60;
npcskill "AL_HEAL",11,99,60;
percentheal 100,100;
close;
}
@ -1495,8 +1495,8 @@ prt_sewb1,131,262,3 script Timid Cat#para04 422,{
mes "It's the last course so cheer up.";
mes "I will help you a little.";
mes "Here, I have recovered your strengh meow..";
npcskill "AL_HEAL",10,99,60;
percentheal 0,100;
npcskill "AL_HEAL",11,99,60;
percentheal 100,100;
close;
}
if (para_suv01 >= 10) {
@ -1607,7 +1607,7 @@ pay_arche,41,136,3 script Eden Member Karl#para05 904,{
mes "[Karl]";
mes "Just in case I will recover all your energy.";
mes "It's the last step so be careful.";
npcskill "AL_HEAL",10,99,60;
npcskill "AL_HEAL",11,99,60;
percentheal 100,100;
close;
}
@ -1638,8 +1638,8 @@ pay_arche,41,136,3 script Eden Member Karl#para05 904,{
mes "[Karl]";
mes "Just in case I will recover all your energy.";
mes "It's the last step so be careful.";
npcskill "AL_HEAL",10,99,60;
percentheal 0,100;
npcskill "AL_HEAL",11,99,60;
percentheal 100,100;
close;
}
if (para_suv01 >= 16) {
@ -1760,7 +1760,7 @@ anthell01,29,264,5 script Eden Member Cloud#para06 899,{
mes "What do you think of Ant Hell?";
mes "Can you stay longer?";
mes "Ok, I will recover your strengh so, keep going.";
npcskill "AL_HEAL",10,99,60;
npcskill "AL_HEAL",11,99,60;
percentheal 100,100;
close;
}
@ -1799,7 +1799,7 @@ anthell01,29,264,5 script Eden Member Cloud#para06 899,{
mes "[Cloud]";
mes "See, to cheer you up I will heal you until you finish the training.";
mes "Chin up and cheer up.";
npcskill "AL_HEAL",10,99,60;
npcskill "AL_HEAL",11,99,60;
percentheal 100,100;
close;
}
@ -1827,7 +1827,7 @@ anthell01,29,264,5 script Eden Member Cloud#para06 899,{
mes "[Cloud]";
mes "Just Vitata, isn't that an easy opponent?";
mes "If you see Maya just run away.";
npcskill "AL_HEAL",10,99,60;
npcskill "AL_HEAL",11,99,60;
percentheal 100,100;
close;
}
@ -1942,7 +1942,7 @@ in_orcs01,38,175,3 script Eden Member Hooksha 803,{
mes "[Hooksha]";
mes "You look tired I will recover your health.";
mes "If you are in trouble just come back here to safety.";
npcskill "AL_HEAL",10,99,60;
npcskill "AL_HEAL",11,99,60;
percentheal 100,100;
close;
}
@ -1973,7 +1973,7 @@ in_orcs01,38,175,3 script Eden Member Hooksha 803,{
mes "[Hooksha]";
mes "You look tired, I will recover your health.";
mes "If you are in trouble just come back here to safety.";
npcskill "AL_HEAL",10,99,60;
npcskill "AL_HEAL",11,99,60;
percentheal 100,100;
close;
}
@ -1999,7 +1999,7 @@ in_orcs01,38,175,3 script Eden Member Hooksha 803,{
mes "[Hooksha]";
mes "You look tired, I will recover your health.";
mes "If you are in trouble just come back here to safety.";
npcskill "AL_HEAL",10,99,60;
npcskill "AL_HEAL",11,99,60;
percentheal 100,100;
close;
}
@ -2072,7 +2072,7 @@ in_orcs01,38,175,3 script Eden Member Hooksha 803,{
mes "Can you stay longer?";
mes "You look tired, I will recover your health.";
mes "If you are in trouble just come back here to safety.";
npcskill "AL_HEAL",10,99,60;
npcskill "AL_HEAL",11,99,60;
percentheal 100,100;
close;
}
@ -2096,7 +2096,7 @@ in_orcs01,38,175,3 script Eden Member Hooksha 803,{
mes "Can you stay longer?";
mes "You look tired I will recover your health.";
mes "If you are in trouble just come back here to safety.";
npcskill "AL_HEAL",10,99,60;
npcskill "AL_HEAL",11,99,60;
percentheal 100,100;
close;
}
@ -2199,8 +2199,8 @@ iz_dun04,43,46,3 script Eden Member Callandiva 745,{
mes "Oh are you tired?";
mes "Mermans are not easy opponents.";
mes "I will help you recover so cheer up.";
npcskill "AL_HEAL",10,99,60;
percentheal 0,100;
npcskill "AL_HEAL",11,99,60;
percentheal 100,100;
close;
}
if (para_suv01 == 35) {
@ -2233,7 +2233,7 @@ iz_dun04,43,46,3 script Eden Member Callandiva 745,{
mes "Oh are you tired?";
mes "Strouf are not easy opponents.";
mes "I can help you recover so cheer up.";
npcskill "AL_HEAL",10,99,60;
npcskill "AL_HEAL",11,99,60;
percentheal 100,100;
close;
}

View File

@ -0,0 +1,16 @@
//===== rAthena Script =======================================
//= Archer Class Tutorial and Job Specific Quest
//===== By: ==================================================
//= Euphy
//===== Current Version: =====================================
//= 1.0
//===== Compatible With: =====================================
//= rAthena SVN
//===== Description: =========================================
//= [Official Conversion]
//= Archer training quest.
//===== Additional Comments: =================================
//= 1.0 First version. [Euphy]
//============================================================
pay_fild08,40,83,5 duplicate(Acolyte_Tu) Acolyte#tu 95

View File

@ -93,6 +93,9 @@ npc: npc/re/quests/eden/eden_quests.txt
npc: npc/re/quests/eden/eden_service.txt
npc: npc/re/quests/eden/eden_tutorial.txt
// --------------------------------------------------------------
// - Quests-Tutorials for basic classes (1st class quests) ------
npc: npc/re/quests/first_class/tu_archer.txt
// --------------------------------------------------------------
//npc: npc/re/quests/cupet.txt
npc: npc/re/quests/homun_s.txt
npc: npc/re/quests/magic_books.txt

View File

@ -4356,9 +4356,9 @@ static struct Damage battle_calc_weapon_attack(struct block_list *src, struct bl
#ifdef RENEWAL
if(is_attack_critical(wd, src, target, skill_id, skill_lv, false)) {
if(sd) // check for player so we don't crash out, monsters don't have bonus crit rates [helvetica]
wd.damage = (int32)floor(wd.damage * 1.4 * ((100 + sd->bonus.crit_atk_rate) / 100));
wd.damage = (int32)floor((double)wd.damage * 1.4 * ((100 + sd->bonus.crit_atk_rate) / 100));
else
wd.damage = (int32)floor(wd.damage * 1.4);
wd.damage = (int32)floor((double)wd.damage * 1.4);
}
#endif

View File

@ -9329,6 +9329,9 @@ void clif_parse_LoadEndAck(int fd,struct map_session_data *sd)
// Notify everyone that this char logged in [Skotlex].
map_foreachpc(clif_friendslist_toggle_sub, sd->status.account_id, sd->status.char_id, 1);
// Set the initial idle time
sd->idletime = last_tick;
//Login Event
npc_script_event(sd, NPCE_LOGIN);
} else {

View File

@ -425,6 +425,8 @@ int map_moveblock(struct block_list *bl, int x1, int y1, unsigned int tick)
if (sc->data[SC_DANCING])
skill_unit_move_unit_group(skill_id2group(sc->data[SC_DANCING]->val2), bl->m, x1-x0, y1-y0);
else {
if (sc->data[SC_CLOAKING] && !skill_check_cloaking(bl, NULL))
status_change_end(bl, SC_CLOAKING, INVALID_TIMER);
if (sc->data[SC_WARM])
skill_unit_move_unit_group(skill_id2group(sc->data[SC_WARM]->val4), bl->m, x1-x0, y1-y0);
if (sc->data[SC_BANDING])

View File

@ -7,6 +7,7 @@
#include "../common/db.h"
#include "../common/malloc.h"
#include "../common/random.h"
#include "../common/socket.h"
#include "map.h"
#include "path.h"
@ -987,7 +988,6 @@ int unit_can_move(struct block_list *bl) {
(sc->data[SC_DANCING]->val1&0xFFFF) == CG_MOONLIT ||
(sc->data[SC_DANCING]->val1&0xFFFF) == CG_HERMODE
) )
|| (sc->data[SC_CLOAKING] && sc->data[SC_CLOAKING]->val1 < 3) // Can't move at level less than 3
)
return 0;
@ -1927,8 +1927,11 @@ static int unit_attack_timer_sub(struct block_list* src, int tid, unsigned int t
unit_set_walkdelay(src, tick, sstatus->amotion, 1);
}
if(ud->state.attack_continue)
if(ud->state.attack_continue) {
if( src->type == BL_PC )
((TBL_PC*)src)->idletime = last_tick;
ud->attacktimer = add_timer(ud->attackabletime,unit_attack_timer,src->id,0);
}
if( sd )
sd->canlog_tick = gettick();