summaryrefslogtreecommitdiff
path: root/npc
diff options
context:
space:
mode:
authorLupus <Lupus@54d463be-8e91-2dee-dedb-b68131a5f0ec>2005-04-02 22:06:40 +0000
committerLupus <Lupus@54d463be-8e91-2dee-dedb-b68131a5f0ec>2005-04-02 22:06:40 +0000
commitab9000884a33241b4a293826a9dc0506b8c3c326 (patch)
tree4a32734282524268a39fd3181d8c1ce34936ab91 /npc
parent47b830dbd449936e3dffc96424f025930bad719f (diff)
downloadhercules-ab9000884a33241b4a293826a9dc0506b8c3c326.tar.gz
hercules-ab9000884a33241b4a293826a9dc0506b8c3c326.tar.bz2
hercules-ab9000884a33241b4a293826a9dc0506b8c3c326.tar.xz
hercules-ab9000884a33241b4a293826a9dc0506b8c3c326.zip
finished Valkirye
fixed Skill Points exploit in Assassin Job Quest git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/branches/stable@1383 54d463be-8e91-2dee-dedb-b68131a5f0ec
Diffstat (limited to 'npc')
-rw-r--r--npc/Changelog.txt14
-rw-r--r--npc/cities/valkyrie.txt380
-rw-r--r--npc/jobs/1-1/acolyte.txt6
-rw-r--r--npc/jobs/1-1/archer.txt6
-rw-r--r--npc/jobs/1-1/mage.txt6
-rw-r--r--npc/jobs/1-1/merchant.txt6
-rw-r--r--npc/jobs/1-1/swordsman.txt6
-rw-r--r--npc/jobs/1-1/thief.txt6
-rw-r--r--npc/jobs/2-1-1/AssassinCross.txt131
-rw-r--r--npc/jobs/2-1-1/HighPriest.txt101
-rw-r--r--npc/jobs/2-1-1/HighWizard.txt101
-rw-r--r--npc/jobs/2-1-1/LordKnight.txt120
-rw-r--r--npc/jobs/2-1-1/Sniper.txt117
-rw-r--r--npc/jobs/2-1-1/WhiteSmith.txt117
-rw-r--r--npc/jobs/2-1/assassin.txt7
-rw-r--r--npc/jobs/2-2-1/Champion.txt102
-rw-r--r--npc/jobs/2-2-1/Clown.txt123
-rw-r--r--npc/jobs/2-2-1/Creator.txt119
-rw-r--r--npc/jobs/2-2-1/Gypsy.txt123
-rw-r--r--npc/jobs/2-2-1/Paladin.txt120
-rw-r--r--npc/jobs/2-2-1/Professor.txt101
-rw-r--r--npc/jobs/2-2-1/Stalker.txt131
22 files changed, 582 insertions, 1361 deletions
diff --git a/npc/Changelog.txt b/npc/Changelog.txt
index 5c4a0a706..13d42dcc0 100644
--- a/npc/Changelog.txt
+++ b/npc/Changelog.txt
@@ -10,10 +10,6 @@ Darkchild
Lupus
* looking for exploits, optimization, bugs hunt
* Adding new cards, checking/adding mobs/items
-Aria
- * Devnpc
- * Correct typos/mistakes
- * Update stuff
kobra_k88
* Optimize WoE
Shinigami
@@ -37,6 +33,16 @@ Other Ppl
Date Added
======
+04/03
+ * Finished Valkyrie. Now it correctly works. Valhallana reborns players to High Novices. [Lupus]
+ (added missed kRO condition: to reborn, player shouldn't have money nor items(equipment) )
+ Then Valhallana warps just reborn players to the home city of their main job.
+ On Job Level 10 of High Novice they can get 1st Advanced Job from correct 1-1 job quests NPC.
+ They'll get there all learnt skill quests.
+ On reaching 45 Job Level they may visit Valkyrie and get 2-2-1 / 2-1-1 class (3rd Job)
+ from a correct NPC.
+ * Fixed SKILL POINTS exploit in Assassin Job Quest [Lupus]
+
03/31
* Payon : new NPCs scripted as far as I could and old ones updated (all from iRO) [DracoRPG]
* Corrected a G_GRYPHON spawn in umbala field to GRYPHON, thanks to CrasherZero
diff --git a/npc/cities/valkyrie.txt b/npc/cities/valkyrie.txt
index 94f41920b..8b2602307 100644
--- a/npc/cities/valkyrie.txt
+++ b/npc/cities/valkyrie.txt
@@ -1,7 +1,19 @@
-// Valkyrie Replacement after kRO.
-// The Jobquest from kRO on how to advance to a Reborn class.
-// Made by: Nana
-// 1.0.2 bugfixex by Lupus
+//===== eAthena Script =======================================
+//= Valkyrie Realm
+//===== By: ==================================================
+//= Nana, fixes by Poki
+//= finished, optimized and tested by Lupus
+//===== Current Version: =====================================
+//= 1.1
+//===== Compatible With: =====================================
+//= eAthena 1.0 +
+//===== Description: =========================================
+//= The Jobquest from kRO on how to advance to a Reborn class.
+//===== Additional Comments: =================================
+//= v1.1 Made all into functions,additional checks,quest skills,
+//= now Valhallana can return you back. She also makes reborn
+//= process only when you got no Zeny/items (as in kRO) [Lupus]
+//============================================================
// -== Warp's needed! ==-
@@ -10,13 +22,13 @@ valkyrie.gat,48,66,0 warp valk01 1,1,valkyrie.gat,48,75,0
// -== Book of Ymir (Heavens Door) ==-
yuno_in02.gat,93,207,0 script Book of Ymir 111,{
- if(valkyrie_Q == 1) goto L_Faded;
- if(valkyrie_Q == 2) goto L_Start;
mes "[Book of Ymir]";
+ if(valkyrie_Q == 1) goto L_FADED;
+ if(valkyrie_Q == 2) goto L_START;
mes ". . . . .";
close;
-L_Faded:
+L_FADED:
mes "[Book of Ymir]";
mes "*The book opens as you aproach it*";
next;
@@ -27,7 +39,7 @@ L_Faded:
mes "*After reading the two first pages you turn the other page, and watches the words fade away as you try to read them...";
close;
-L_Start:
+L_START:
mes "[Book of Ymir]";
mes "*The book opens as you aproach it*";
next;
@@ -52,67 +64,55 @@ L_Start:
// -== The Librarian that watches the "Book of Ymir" ==-
yuno_in02.gat,91,176,5 script Librarian 754,{
- if (valkyrie_Q>0) goto L_DONE;
- if(readparam(19) >= 7) goto L_Pay;
mes "[Librarian]";
+ if(valkyrie_Q>0) goto L_DONE;
+ if(Class >= 7) goto L_PAY;
mes "Have a look around, but dont touch the book. Only a few chosen one can read its wise words.";
close;
-L_Pay:
- mes "[Librarian]";
+L_PAY:
mes "You seem like a worthy human.";
mes "I, the 78th Librarian of the secret order sworn to protect this book wont thread lightly on you.";
mes "In order to let me allow you to view into this wonderous book, you have to do two things for me.";
next;
mes "[Librarian]";
- mes "One. You have to pay me 1,285,000 zeny. Remember that you need the accurate amount. Not over or under 1,285,000z.";
+ mes "One. You have to pay me 1,285,000 Zeny. Remember that you need the accurate amount. Not over or under 1,285,000z.";
mes "Two. You have to venture deep inside of Yuno castle, into the Heart of Ymir.";
mes "Remember that you cannot view the book unless you have done this.";
mes "Now go, brave one.";
- menu "Pay now",pay_now,"Close",-;
- close;
+ menu "Pay now",-,"Close",M_EXIT;
-pay_now:
- if(readparam(20) < 1285000) goto accurate_z;
- if(readparam(20) > 1285000) goto accurate_z;
+ if(Zeny != 1285000) goto L_WRONGZ;
mes "[Librarian]";
mes "Go now, into Heart of Ymir";
mes "There, you'll find the last pice of information before you can open the book.";
set valkyrie_Q,1;
- set zeny,zeny-1285000;
+ set Zeny,0;
close;
-accurate_z:
+L_WRONGZ:
mes "[Librarian]";
- mes "You didnt bring me the accurate number of zeny i wanted. Bring me back only 1,285,000 zeny!";
+ mes "You didnt bring me the accurate number of zeny I wanted. Bring me back only 1,285,000 zeny!";
mes "Not more, nor less.";
close;
L_DONE:
- mes "[Librarian]";
mes "Why? You have already paid me.";
mes "Now go and look for the Book of Ymir.";
+M_EXIT:
close;
-
}
// -== The Heart of Ymir ==-
yuno_in05.gat,80,44,0 script Heart of Ymir 803,{
- if(valkyrie_Q < 1) goto not_applicable;
- if(valkyrie_Q == 1) goto L_Listen;
- if(valkyrie_Q == 2) goto L_Done;
- mes "[Heart of Ymir]";
- mes "The book wont open.";
- close;
-
-not_applicable:
mes "[Heart of Ymir]";
+ if(valkyrie_Q == 1) goto L_LISTEN;
+ if(valkyrie_Q == 2) goto L_DONE;
mes "The book wont open.";
mes "It seems like you have to pay the Librarian to open this book first!";
close;
-L_Listen:
- mes "[Heart of Ymir]";
+L_LISTEN:
mes "Thus upon hard times and our self esteem is at it's lowest, then is when our faith have to be the strongest.";
mes "For aeon's the secret guardians of the path to heaven has protected the sacret gate from evil spirits entering it.";
mes "Thus, the bonds became to weaken over time.. Thats when the Legion of Sages started recruiting and making young, brave, quick minded mages, sages, teaching them the laws and propositions of our world.";
@@ -124,8 +124,7 @@ L_Listen:
set valkyrie_Q,2;
close;
-L_Done:
- mes "[Heart of Ymir]";
+L_DONE:
mes "I have nothing more to teach you, nor to tell you.";
close;
}
@@ -135,22 +134,317 @@ yuno_in02.gat,90,77,4 script Researcher 744,{
mes "[Researcher]";
mes "Argh, where is it!?";
mes "They said that it would be around here somewhere..";
- mes "Maybe i have to look deeper into this castle..";
+ mes "Maybe I have to look deeper into this castle..";
+ emotion 1;
close;
}
// -== Valhallana ==-
+ mes "Please go over there, to the person representing your class.";
+ mes "Good Luck.";
+ mes "You don't belong here yet.";
+}
+
+// -== Valhallana ==-
valkyrie.gat,48,86,6 script Valkyrie 811,{
- if(readparam(19) < 7) goto L_cannot;
+ if(Class == 23) goto L_SN;
+ if(Class >= 24) goto L_ALREADY;
+ if(BaseLevel >= 99 && JobLevel >= 50 && Class >= 7) goto L_CHANGE;
+ if(Class < 7) goto L_NOTHING;
+
+ mes "[Valhallana]";
+ mes "You need 99 Base Level and 50 Job Level.";
+ mes "Also you must get rid of all of your money and items.";
+ next;
+ goto L_NOTHING;
+
+L_SN:
+ mes "[Valhallana]";
+ mes "Welcome to Valkyrie "+strcharinfo(0)+".";
+ mes "I see, you have followed a hard way of Super Novice.";
+ next;
+ mes "[Valhallana]";
+ mes "I am sorry, but I can't help you.";
+ emotion 17;
+ next;
+ goto L_NOTHING;
+
+L_ALREADY:
+ mes "[Valhallana]";
+ mes "You have been reborn already. I can't help you more.";
+ next;
+// goto L_NOTHING;
+
+L_NOTHING:
+ mes "[Valhallana]";
+ mes "Do you wish to go back in Your world?";
+ next;
+ menu "Yes",L_Y,"No",-;
+
+ mes "[Valhallana]";
+ mes "As you wish...";
+ close;
+
+L_Y:
+ mes "[Valhallana]";
+ mes "As you wish...";
+ next;
+ warp "yuno_in02.gat",93,204;
+ close;
+
+L_CHANGE:
mes "[Valhallana]";
mes "Welcome to Valkyrie "+strcharinfo(0)+", from this point of, there is no returning back.";
- mes "Please go over there, to the person representing your class.";
- mes "Good Luck.";
+ next;
+ if(Zeny || Weight) goto L_ZENYITEMS;
+ if(checkcart(0)) goto L_CART;
+ if(checkfalcon(0)) goto L_FALCON;
+ if(checkriding(0)) goto L_PECO;
+ if(skillpoint > 0) goto L_SKILLPNTS;
+
+ mes "[Valhallana]";
+ mes "Let's start your reincarnation ceremony...";
+ next;
+
+ set ADVJOB,Class+4001; //memo the target 3rd Job ID
+
+// callfunc "F_ToHigh",25,"Swordman High",31,"Lord Knight",144,145,146,0;
+// callfunc "F_ToHigh",28,"Acolyte High",32,"High Priest",156,0,0,0;
+// callfunc "F_ToHigh",26,"High Mage",33,"High Wizard",157,0,0,0;
+// callfunc "F_ToHigh",29,"Merchant High",34,"White Smith",153,154,155,0;
+// callfunc "F_ToHigh",27,"High Archer",35,"Sniper",147,148,0,0;
+// callfunc "F_ToHigh",30,"Theif High",36,"Assassin Cross",149,150,151,152;
+// callfunc "F_ToHigh",25,"Swordman High",38,"Paladin",144,145,146,0;
+// callfunc "F_ToHigh",28,"Acolyte High",39,"Champion",156,0,0,0;
+// callfunc "F_ToHigh",26,"High Mage",40,"Professor",157,0,0,0;
+// callfunc "F_ToHigh",30,"Theif High",41,"Stalker",149,150,151,152;
+// callfunc "F_ToHigh",29,"Merchant High",42,"Creator",153,154,155,0;
+// callfunc "F_ToHigh",27,"High Archer",43,"Clown",147,148,0,0;
+// callfunc "F_ToHigh",27,"High Archer",44,"Gypsy",147,148,0,0;
+
+ if( getskilllv(144) || getskilllv(156) || getskilllv(157) || getskilllv(153) || getskilllv(147) || getskilllv(149) ) set QSK1,1;
+ if( getskilllv(145) || getskilllv(154) || getskilllv(148) || getskilllv(150) ) set QSK2,1;
+ if( getskilllv(146) || getskilllv(155) || getskilllv(151) ) set QSK3,1;
+ if( getskilllv(152) ) set QSK4,1;
+ mes "[Valhallana]";
+ mes "Done...";
+ mes "Good luck.";
+ jobchange 24; //Novice High
+ resetlvl(1);
+ next;
+ if(ADVJOB == Job_Assassin + 4001 || ADVJOB == Job_Rogue + 4001 ) goto L_Mor;
+ if(ADVJOB == Job_Blacksmith + 4001 || ADVJOB == Job_Alchem + 4001 ) goto L_Alb;
+ if(ADVJOB == Job_Hunter + 4001 || ADVJOB == Job_Bard + 4001 || ADVJOB == Job_Dancer + 4001 ) goto L_Pay;
+ if(ADVJOB == Job_Knight + 4001 || ADVJOB == Job_Crusader + 4001 ) goto L_Izl;
+ if(ADVJOB == Job_Priest + 4001 || ADVJOB == Job_Monk + 4001 ) goto L_Pro;
+ if(ADVJOB == Job_Wizard + 4001 || ADVJOB == Job_Sage + 4001 ) goto L_Gef;
+ goto L_Pro;
+
+L_ZENYITEMS:
+ mes "[Valhallana]";
+ mes "Your money and items do rope you to your routine life.";
+ mes "You should get rid of them.";
close;
-L_cannot:
+L_CART:
mes "[Valhallana]";
- mes "You don't belong here yet.";
- warp "prontera",100,100;
+ mes "Please, drop your cart. And we'll continue.";
+ close;
+
+L_FALCON:
+ mes "[Valhallana]";
+ mes "Please, free your Falcon. And we'll continue.";
+ close;
+
+L_PECO:
+ mes "[Valhallana]";
+ mes "Please, free your Pecopeco. And we'll continue.";
close;
-} \ No newline at end of file
+
+L_SKILLPNTS:
+ mes "[Valhallana]";
+ mes "You will need to use up all of your skill points if you want me to continue.";
+ close;
+
+L_Mor:
+ savepoint "morocc.gat",160,94;
+ warp "morocc.gat",160,94;
+ close;
+
+L_Alb:
+ savepoint "alberta.gat",116,57;
+ warp "alberta.gat",116,57;
+ close;
+
+L_Pay:
+ savepoint "payon.gat",155,90;
+ warp "payon.gat",155,90;
+ close;
+
+L_Izl:
+ savepoint "izlude.gat",94,103;
+ warp "izlude.gat",94,103;
+ close;
+
+L_Pro:
+ savepoint "prontera.gat",273,354;
+ warp "prontera.gat",273,354;
+ close;
+
+L_Gef:
+ savepoint "geffen.gat",120,100;
+ warp "geffen.gat",120,100;
+ close;
+}
+
+// function HIGH NOVICE -> HIGH 1
+//getarg(0) - High Job ID
+//getarg(1) - High Job Name
+//getarg(2) - 3rd Job ID
+//getarg(3) - 3rd Job Name
+//getarg(4) - Quest Skill N? You can pass 0, if there's no Quest Skill
+//getarg(5) - Quest Skill N?
+//getarg(6) - Quest Skill N?
+//getarg(7) - Quest Skill N?
+//getarg(8) - current NPC's name
+
+function script F_ToHigh {
+ if(Class == 3977+getarg(0) ) goto L_WELCOME; //3rd Job
+ if(Class >= 4008) goto L_ALREADY; //already advanced class
+ if(Class == 4001 && ADVJOB == (3977+getarg(2))) goto L_GETHIGH; //High Novice -> High XXXX
+ return; //this char doesn't want to get HIGH class
+
+L_GETHIGH:
+ mes "["+getarg(8)+"]";
+ if(JobLevel < 10) goto L_NOTREADY;
+ if(checkcart(0)) goto L_CART;
+ if(checkfalcon(0)) goto L_FALCON;
+ if(checkriding(0)) goto L_PECO;
+ if(skillpoint > 0) goto L_SKILLPNTS;
+
+ mes "Hello there "+strcharinfo(0)+"!";
+ mes "You've made a brave choice in coming here to be reborn and stepping forth into the advanced ranks,";
+ mes "Now... close your eyes.";
+ next;
+ mes "["+getarg(8)+"]";
+ mes "Open your eyes.";
+ mes "You have become a "+getarg(1)+".";
+ jobchange getarg(0); //High Class
+ next;
+ if (!(QSK1 || QSK2 || QSK3 || QSK4)) goto L_NO_QSKILL;
+ mes "["+getarg(8)+"]";
+ mes "Let me just add in the missing Quest Skills you lost under the Reborn process, "+strcharinfo(0)+".";
+ next;
+//return learnt quest skills
+ if (getarg(4)) skill getarg(4),QSK1,0;
+ set SQK1,0;
+ if (getarg(5)) skill getarg(5),QSK2,0;
+ set SQK2,0;
+ if (getarg(6)) skill getarg(6),QSK3,0;
+ set SQK3,0;
+ if (getarg(7)) skill getarg(7),QSK4,0;
+ set SQK4,0;
+
+L_NO_QSKILL:
+ mes "["+getarg(8)+"]";
+ mes "I wish you good fortune in the near future!";
+ emotion 46;
+ close;
+
+L_NOTREADY:
+ mes "You are not ready to become a "+getarg(1)+".";
+ mes "You have to raise your Job Level to 10.";
+ emotion 0;
+ close;
+
+L_SKILLPNTS:
+ mes "You will need to use up all of your skill points if you want me to continue.";
+ emotion 20;
+ close;
+
+L_CART:
+ mes "Please, drop your cart. And we'll continue.";
+ emotion 20;
+ close;
+
+L_FALCON:
+ mes "Please, free your Falcon. And we'll continue.";
+ emotion 20;
+ close;
+
+L_PECO:
+ mes "Please, free your Pecopeco. And we'll continue.";
+ emotion 20;
+ close;
+
+L_WELCOME:
+ mes "["+getarg(8)+"]";
+ mes "You are welcome, "+strcharinfo(0)+"!";
+ mes "We always glad to see here a "+getarg(1)+"!";
+ close;
+
+L_ALREADY:
+ mes "["+getarg(8)+"]";
+ mes "It's such a big honor to salute envoys of Valhalla.";
+ mes "Come again.";
+ emotion 2;
+ close;
+}
+
+// function GET 3rd JOB
+//getarg(0) - High Job ID
+//getarg(1) - High Job Name
+//getarg(2) - 3rd Job ID
+//getarg(3) - 3rd Job Name
+function script F_Rebirth {
+ mes "["+getarg(3)+"]";
+ if(Class >= 4008) goto L_ALREADY; //already advanced class
+ if(Class == (3977+getarg(0)) && ADVJOB == (3977+getarg(2))) goto L_GET3RD; //Hight XXXX -> 3rd Job
+ mes "Go talk to either Valhallana or my collegues...";
+ emotion 17;
+ close;
+
+L_GET3RD:
+ if(JobLevel < 45) goto L_NOTREADY;
+ if(checkcart(0)) goto L_CART;
+ if(checkfalcon(0)) goto L_FALCON;
+ if(checkriding(0)) goto L_PECO;
+ if(skillpoint > 0) goto L_SKILLPNTS;
+
+ mes "Congratulations!";
+ mes "You have trained well. Now stroll here as a "+getarg(3)+"!";
+ jobchange getarg(2); //Rebirth Class
+ set ADVJOB,0;
+ close;
+
+L_NOTREADY:
+ mes "You have went so far to get here. But I am sorry, you aren't quite ready to become a "+getarg(3)+".";
+ mes "You need at least Job Level 45 or higher.";
+ emotion 0;
+ close;
+
+L_SKILLPNTS:
+ mes "You will need to use up all of your skill points if you want me to continue.";
+ emotion 20;
+ close;
+
+L_CART:
+ mes "Please, drop your cart. And we'll continue.";
+ emotion 20;
+ close;
+
+L_FALCON:
+ mes "Please, free your Falcon. And we'll continue.";
+ emotion 20;
+ close;
+
+L_PECO:
+ mes "Please, free your Pecopeco. And we'll continue.";
+ emotion 20;
+ close;
+
+L_ALREADY:
+ mes "Well, hello there! You have been reborn once, there is no second chance.";
+ emotion 2;
+ close;
+}
diff --git a/npc/jobs/1-1/acolyte.txt b/npc/jobs/1-1/acolyte.txt
index 142fa635b..61edb7e44 100644
--- a/npc/jobs/1-1/acolyte.txt
+++ b/npc/jobs/1-1/acolyte.txt
@@ -3,20 +3,22 @@
//===== By: ==================================================
//= kobra_k88
//===== Current Version: =====================================
-//= 1.2
+//= 1.3
//===== Compatible With: =====================================
-//= eAthena 0.5.2 +, dev mod 1009 +
+//= eAthena 1.0 +
//===== Description: =========================================
//= <Description>
//===== Additional Comments: =================================
//= v1.0 Fully working.
//= v1.1 Added function calls for Priest Quest.
//= v1.2 Fixed Marthilda, Yosuke bugs. [Lupus]
+//= v1.3 Added instant job change for High Novice [Lupus]
//============================================================
// -- Father Mareusis --
prt_church.gat,184,41,4 script "Father Mareusis" 60,{
+ callfunc "F_ToHigh",28,"Acolyte High",32,"High Priest",156,0,0,0,"Father Mareusis";
mes "[Father Mareusis]";
if(Class==Job_Novice && job_acolyte_q > 0) goto L_Check;
mes "What is it you are looking for?";
diff --git a/npc/jobs/1-1/archer.txt b/npc/jobs/1-1/archer.txt
index 32518a9b3..86291415b 100644
--- a/npc/jobs/1-1/archer.txt
+++ b/npc/jobs/1-1/archer.txt
@@ -3,18 +3,20 @@
//===== By: ==================================================
//= kobra_k88
//===== Current Version: =====================================
-//= 1.0
+//= 1.1
//===== Compatible With: =====================================
-//= eAthena 7.15 +
+//= eAthena 1.0 +
//===== Description: =========================================
//= <Description>
//===== Additional Comments: =================================
//= Fully working
+//= v1.1 Added instant job change for High Novice [Lupus]
//============================================================
// -- Archer Guildsman --
payon_in02.gat,64,71,4 script Archer Guildsman 59,{
+ callfunc "F_ToHigh",27,"High Archer",35,"Sniper",147,148,0,0,"Archer Guildsman";
mes "[Archer Guildsman]";
if(Class==Job_Novice && job_archer_q == 1) goto L_Check;
mes "Good Day. How may I help you?";
diff --git a/npc/jobs/1-1/mage.txt b/npc/jobs/1-1/mage.txt
index 0b234fb99..1a8b267db 100644
--- a/npc/jobs/1-1/mage.txt
+++ b/npc/jobs/1-1/mage.txt
@@ -3,19 +3,21 @@
//===== By: ==================================================
//= kobra_k88
//===== Current Version: =====================================
-//= 1.1
+//= 1.2
//===== Compatible With: =====================================
-//= eAthena 7.15 +
+//= eAthena 1.0 +
//===== Description: =========================================
//= <Description>
//===== Additional Comments: =================================
//= Fully working
//= 1.1 Fixed input ingridients bug [Lupus]
+//= v1.2 Added instant job change for High Novice [Lupus]
//============================================================
// -- Expert Mage --
geffen_in.gat,164,124,4 script Expert Mage 123,{
+ callfunc "F_ToHigh",26,"High Mage",33,"High Wizard",157,0,0,0,"Expert Mage";
if(Class==Job_Novice && job_magician_q >= 1) goto L_BeMage;
mes "[Expert Mage]";
diff --git a/npc/jobs/1-1/merchant.txt b/npc/jobs/1-1/merchant.txt
index 49ca27475..afd58ac42 100644
--- a/npc/jobs/1-1/merchant.txt
+++ b/npc/jobs/1-1/merchant.txt
@@ -3,19 +3,21 @@
//===== By: ==================================================
//= kobra_k88
//===== Current Version: =====================================
-//= 1.0
+//= 1.1
//===== Compatible With: =====================================
-//= eAthena 7.15 +
+//= eAthena 1.0 +
//===== Description: =========================================
//= <Description>
//===== Additional Comments: =================================
//= Fully working
+//= v1.1 Added instant job change for High Novice [Lupus]
//============================================================
// == Guild NPCs ==
// -- Mahnsoo --
alberta_in.gat,53,43,6 script Chief Mahnsoo 86,{
+ callfunc "F_ToHigh",29,"Merchant High",34,"White Smith",153,154,155,0,"Chief Mahnsoo";
mes "[Chief Mahnsoo]";
if(Class==Job_Novice && job_merchant_q3 == 4) goto L_MakeMerc;
if(Class==Job_Novice && job_merchant_q3 == 3) goto L_GiveRecpt;
diff --git a/npc/jobs/1-1/swordsman.txt b/npc/jobs/1-1/swordsman.txt
index cf6b62c7b..636e12a7e 100644
--- a/npc/jobs/1-1/swordsman.txt
+++ b/npc/jobs/1-1/swordsman.txt
@@ -3,14 +3,15 @@
//===== By: ==================================================
//= kobra_k88
//===== Current Version: =====================================
-//= 1.0
+//= 1.1
//===== Compatible With: =====================================
-//= eAthena 7.15 +
+//= eAthena 1.0 +
//===== Description: =========================================
//= <Description>
//===== Additional Comments: =================================
//= Fully working. I have created a custom warp to get into the test room so disable
//= the one in your warp script or scripts. It is this warp: "izlude_in.gat",40,170.
+//= v1.1 Added instant job change for High Novice [Lupus]
//============================================================
@@ -49,6 +50,7 @@ izlude_in.gat,62,170,0 script w1039 45,1,1,{
// == Npcs ==
// -- Master Swordsman --
izlude_in.gat,74,172,5 script Master Swordsman 119,{
+ callfunc "F_ToHigh",25,"Swordman High",31,"Lord Knight",144,145,146,0,"Master Swordsman";
mes "[Master Swordsman]";
if(Class==Job_Novice && job_sword_q == 2) goto L_Done;
mes "Welcome to the Swordsman Association! So.. What business brings you to us?";
diff --git a/npc/jobs/1-1/thief.txt b/npc/jobs/1-1/thief.txt
index e73054ee9..6f45409e9 100644
--- a/npc/jobs/1-1/thief.txt
+++ b/npc/jobs/1-1/thief.txt
@@ -3,13 +3,14 @@
//===== By: ==================================================
//= eAthena dev team
//===== Current Version: =====================================
-//= 1.0
+//= 1.1
//===== Compatible With: =====================================
-//= eAthena 7.15 +
+//= eAthena 1.0 +
//===== Description: =========================================
//= <Description>
//===== Additional Comments: =================================
//= Fully working
+//= v1.1 Added instant job change for High Novice [Lupus]
//============================================================
@@ -232,6 +233,7 @@ M_Menu:
// -- Test Grader --
moc_prydb1.gat,42,133,2 script Comrade Brad 118,{
+ callfunc "F_ToHigh",30,"Theif High",36,"Assassin Cross",149,150,151,152,"Brad";
if(Class == 0) goto L_Novice;
if(Class == 6) goto L_Thief;
diff --git a/npc/jobs/2-1-1/AssassinCross.txt b/npc/jobs/2-1-1/AssassinCross.txt
index adf202371..9167411b6 100644
--- a/npc/jobs/2-1-1/AssassinCross.txt
+++ b/npc/jobs/2-1-1/AssassinCross.txt
@@ -1,118 +1,19 @@
-// Advance Class jobchanger after kRO Normals.
-// Checks if the player have any questskills, cart\falcon, level and such.
-// Made by Nana.
+//===== eAthena Script =======================================
+//= Advance Class jobchanger after kRO Normals.
+//===== By: ==================================================
+//= Nana
+//= finished, optimized and tested by Lupus
+//===== Current Version: =====================================
+//= 1.1
+//===== Compatible With: =====================================
+//= eAthena 1.0 +
+//===== Description: =========================================
+//= Advance Class jobchanger after kRO Normals.
+//===== Additional Comments: =================================
+//= v1.1 Made all into functions, additional checks, etc. [Lupus]
+//============================================================
// -== Assassin Cross ==-
valkyrie.gat,44,58,6 script Assassin Cross 725,{
- if(getskilllv(149) > 0) set @qsk,1;
- if(getskilllv(150) > 0) set @qsk1,1;
- if(getskilllv(151) > 0) set @qsk2,1;
- if(getskilllv(152) > 0) set @qsk3,1;
- if(checkcart(0) > 0) goto L_Cart;
- if(readparam(12) > 0) goto Skill_Points;
- if(readparam(19) >= 4008) goto L_Advance;
- if((readparam(19) == 4001) && (readparam(55) >= 10)) goto L_HNov;
- if((readparam(19) == 4007) && (readparam(55) >= 45)) goto L_HTHF;
- if(readparam(19) < 7) goto L_Class;
- if(readparam(19) == 4001) goto L_Class1;
- if(readparam(19) == 4007) goto L_Class;
- if((readparam(11) >= 99) && (readparam(55) >= 50) && (readparam(19) >= 7)) goto L_Change;
- if((readparam(11) < 99) && (readparam(55) < 50)) goto L_Levels;
- mes "[Assassin Cross]";
- mes "Hi there...";
- close;
-
-L_Change:
- mes "[Assassin Cross]";
- mes "Hello there "+strcharinfo(0)+"!";
- mes "You've made a brave choice in coming here to be reborn and stepping forth into the ranks of Assassin Cross,";
- mes "I wish you good fortune in the near future!";
- jobchange 24;
- resetlvl(1);
- close;
-
-L_Cart:
- mes "[Assassin Cross]";
- mes "Please un-equip that cart before continuing.";
- close;
-
-L_Class1:
- mes "[Assassin Cross]";
- mes "You're not ready to become an High thief yet.";
- close;
-
-L_Class:
- mes "[Assassin Cross]";
- mes "You've come far to get here. unfortunately, you're not ready to become an Assassin Cross yet.";
- close;
-
-L_Levels:
- mes "[Assassin Cross]";
- mes "You're doing great! keep up the good work. You'll eventually get to the point where you can be an Assassin Cross";
- close;
-
-L_HNov:
- mes "[Assassin Cross]";
- mes "Tread lightly ahead as you're about to enter the distinguished world of Ragnarok.";
- mes "Must great fortune follow you!";
- jobchange 30;
- next;
- mes "[Assassin Cross]";
- mes "Let me just add in the missing Quest Skills you lost under the Reborn process if you had any, "+strcharinfo(0)+".";
- next;
- if(@qsk > 0) goto qsk;
- if(@qsk1 > 0) goto qsk1;
- if(@qsk2 > 0) goto qsk2;
- if(@qsk3 > 0) goto qsk3;
- next;
-qsk:
- skill 149,1,0;
- set @qsk,0;
- if(@qsk1 > 0) goto qsk1;
- if(@qsk2 > 0) goto qsk2;
- if(@qsk3 > 0) goto qsk3;
- goto L_HNov_2;
-qsk1:
- skill 150,1,0;
- set @qsk1,0;
- if(@qsk > 0) goto qsk;
- if(@qsk2 > 0) goto qsk2;
- if(@qsk3 > 0) goto qsk3;
- goto L_HNov_2;
-qsk2:
- skill 151,1,0;
- set @qsk2,0;
- if(@qsk > 0) goto qsk;
- if(@qsk1 > 0) goto qsk1;
- if(@qsk3 > 0) goto qsk3;
- goto L_HNov_2;
-qsk3:
- skill 152,1,0;
- set @qsk3,0;
- if(@qsk > 0) goto qsk;
- if(@qsk1 > 0) goto qsk1;
- if(@qsk2 > 0) goto qsk2;
- goto L_HNov_2;
-
-L_HNov_2:
- mes "[Assassin Cross]";
- mes "Now when the formalities are fixed, I congratulate you on your Advancement to High Thief";
- close;
-L_HTHF:
- mes "[Assassin Cross]";
- mes "Congratulations!";
- mes "You're not finally after alot of hard work, able to enter the halls of Valkyrie as an Assassin Cross!";
- jobchange 36;
- close;
-
-Skill_Points:
- mes "[Assassin Cross]";
- mes "Please use all of your skillpoints before proceeding.";
- close;
-
-L_Advance:
- mes "[Assassin Cross]";
- mes "Hey there! You are already an Reborn. You cannot reach any higher";
- mes "*whistles*";
- close;
-} \ No newline at end of file
+ callfunc "F_Rebirth",30,"Theif High",36,"Assassin Cross",149,150,151,152;
+}
diff --git a/npc/jobs/2-1-1/HighPriest.txt b/npc/jobs/2-1-1/HighPriest.txt
index db0c4c21b..b026ce79d 100644
--- a/npc/jobs/2-1-1/HighPriest.txt
+++ b/npc/jobs/2-1-1/HighPriest.txt
@@ -1,88 +1,19 @@
-// Advance Class jobchanger after kRO Normals.
-// Checks if the player have any questskills, cart\falcon, level and such.
-// Made by Nana.
+//===== eAthena Script =======================================
+//= Advance Class jobchanger after kRO Normals.
+//===== By: ==================================================
+//= Nana
+//= finished, optimized and tested by Lupus
+//===== Current Version: =====================================
+//= 1.1
+//===== Compatible With: =====================================
+//= eAthena 1.0 +
+//===== Description: =========================================
+//= Advance Class jobchanger after kRO Normals.
+//===== Additional Comments: =================================
+//= v1.1 Made all into functions, additional checks, etc. [Lupus]
+//============================================================
// -== High Priest ==-
valkyrie.gat,44,42,6 script High Priest 60,{
- if(getskilllv(156) > 0) set @qsk;
- if(checkcart(0) > 0) goto L_Cart;
- if(readparam(12) > 0) goto Skill_Points;
- if(readparam(19) >= 4008) goto L_Advance;
- if((readparam(19) == 4001) && (readparam(55) >= 10)) goto L_HNov;
- if((readparam(19) == 4005) && (readparam(55) >= 45)) goto L_HACO;
- if(readparam(19) < 7) goto L_Class;
- if(readparam(19) == 4001) goto L_Class1;
- if(readparam(19) == 4005) goto L_Class;
- if((readparam(11) >= 99) && (readparam(55) >= 50) && (readparam(19) >= 7)) goto L_Change;
- if((readparam(11) < 99) && (readparam(55) < 50)) goto L_Levels;
- mes "[High Priest]";
- mes "Hi there...";
- close;
-
-L_Change:
- mes "[High Priest]";
- mes "Hello there "+strcharinfo(0)+"!";
- mes "You've made a brave choice in coming here to be reborn and stepping forth into the ranks of High Priest,";
- mes "I wish you good fortune in the near future!";
- jobchange 24;
- resetlvl(1);
- close;
-
-L_Cart:
- mes "[High Priest]";
- mes "Please un-equip that cart before continuing.";
- close;
-
-L_Class1:
- mes "[High Priest]";
- mes "You're not ready to become an Acolyte High yet...";
- close;
-
-L_Class:
- mes "[High Priest]";
- mes "You've come far to get here. unfortunately, you're not ready to become an High Priest yet.";
- close;
-
-L_Levels:
- mes "[High Priest]";
- mes "You're doing great! keep up the good work. You'll eventually get to the point where you can be an High Priest";
- close;
-
-L_HNov:
- mes "[High Priest]";
- mes "Tread lightly ahead as you're about to enter the distinguished world of Ragnarok.";
- mes "Must great fortune follow you!";
- jobchange 28;
- next;
- mes "[High Priest]";
- mes "Let me just add in the missing Quest Skills you lost under the Reborn process if you had any, "+strcharinfo(0)+".";
- next;
- if(@qsk > 0) goto qsk;
- next;
-qsk:
- skill 156,1,0;
- set @qsk,0;
- goto L_HNov_2;
-
-L_HNov_2:
- mes "[High Priest]";
- mes "Now when the formalities are fixed, I congratulate you on your Advancement to Acolyte High";
- close;
-L_HACO:
- mes "[High Priest]";
- mes "Congratulations!";
- mes "You're not finally after alot of hard work, able to enter the halls of Valkyrie as an High Priest!";
- jobchange 32;
- close;
-
-Skill_Points:
- mes "[High Priest]";
- mes "Please use all of your skillpoints before proceeding.";
- close;
-
-L_Advance:
- mes "[High Priest]";
- mes "Hey there! You are already an Reborn. You cannot reach any higher";
- mes "*whistles*";
- close;
-} \ No newline at end of file
+ callfunc "F_Rebirth",28,"Acolyte High",32,"High Priest",156,0,0,0;
+}
diff --git a/npc/jobs/2-1-1/HighWizard.txt b/npc/jobs/2-1-1/HighWizard.txt
index acf51c225..87833c2f4 100644
--- a/npc/jobs/2-1-1/HighWizard.txt
+++ b/npc/jobs/2-1-1/HighWizard.txt
@@ -1,88 +1,19 @@
-// Advance Class jobchanger after kRO Normals.
-// Checks if the player have any questskills, cart\falcon, level and such.
-// Made by Nana.
+//===== eAthena Script =======================================
+//= Advance Class jobchanger after kRO Normals.
+//===== By: ==================================================
+//= Nana
+//= finished, optimized and tested by Lupus
+//===== Current Version: =====================================
+//= 1.1
+//===== Compatible With: =====================================
+//= eAthena 1.0 +
+//===== Description: =========================================
+//= Advance Class jobchanger after kRO Normals.
+//===== Additional Comments: =================================
+//= v1.1 Made all into functions, additional checks, etc. [Lupus]
+//============================================================
// -== High Wizard ==-
valkyrie.gat,44,47,6 script High Wizard 735,{
- if(getskilllv(157) > 0) set @qsk,1;
- if(checkcart(0) > 0) goto L_Cart;
- if(readparam(12) > 0) goto Skill_Points;
- if(readparam(19) >= 4008) goto L_Advance;
- if((readparam(19) == 4001) && (readparam(55) >= 10)) goto L_HNov;
- if((readparam(19) == 4003) && (readparam(55) >= 45)) goto L_HMAG;
- if(readparam(19) < 7) goto L_Class;
- if(readparam(19) == 4001) goto L_Class1;
- if(readparam(19) == 4003) goto L_Class;
- if((readparam(11) >= 99) && (readparam(55) >= 50) && (readparam(19) >= 7)) goto L_Change;
- if((readparam(11) < 99) && (readparam(55) < 50)) goto L_Levels;
- mes "[High Wizard]";
- mes "Hi there...";
- close;
-
-L_Change:
- mes "[High Wizard]";
- mes "Hello there "+strcharinfo(0)+"!";
- mes "You've made a brave choice in coming here to be reborn and stepping forth into the ranks of High Wizard,";
- mes "I wish you good fortune in the near future!";
- jobchange 24;
- resetlvl(1);
- close;
-
-L_Cart:
- mes "[High Wizard]";
- mes "Please un-equip that cart before continuing.";
- close;
-
-L_Class1:
- mes "[High Wizard]";
- mes "You're not ready to become an High Mage yet.";
- close;
-
-L_Class:
- mes "[High Wizard]";
- mes "You've come far to get here. unfortunately, you're not ready to become an High Wizard yet.";
- close;
-
-L_Levels:
- mes "[High Wizard]";
- mes "You're doing great! keep up the good work. You'll eventually get to the point where you can be an High Wizard";
- close;
-
-L_HNov:
- mes "[High Wizard]";
- mes "Tread lightly ahead as you're about to enter the distinguished world of Ragnarok.";
- mes "Must great fortune follow you!";
- jobchange 26;
- next;
- mes "[High Wizard]";
- mes "Let me just add in the missing Quest Skills you lost under the Reborn process if you had any, "+strcharinfo(0)+".";
- next;
- if(@qsk > 0) goto qsk;
- next;
-qsk:
- skill 157,1,0;
- set @qsk,0;
- goto L_HNov_2;
-
-L_HNov_2:
- mes "[High Wizard]";
- mes "Now when the formalities are fixed, I congratulate you on your Advancement to High Mage";
- close;
-L_HMAG:
- mes "[High Wizard]";
- mes "Congratulations!";
- mes "You're not finally after alot of hard work, able to enter the halls of Valkyrie as an High Wizard!";
- jobchange 33;
- close;
-
-Skill_Points:
- mes "[High Wizard]";
- mes "Please use all of your skillpoints before proceeding.";
- close;
-
-L_Advance:
- mes "[High Wizard]";
- mes "Hey there! You are already an Reborn. You cannot reach any higher";
- mes "*whistles*";
- close;
-} \ No newline at end of file
+ callfunc "F_Rebirth",26,"High Mage",33,"High Wizard",157,0,0,0;
+}
diff --git a/npc/jobs/2-1-1/LordKnight.txt b/npc/jobs/2-1-1/LordKnight.txt
index 9dbeaa345..6cd7ec155 100644
--- a/npc/jobs/2-1-1/LordKnight.txt
+++ b/npc/jobs/2-1-1/LordKnight.txt
@@ -1,107 +1,19 @@
-// Advance Class jobchanger after kRO Normals.
-// Checks if the player have any questskills, cart\falcon, level and such.
-// Made by Nana.
+//===== eAthena Script =======================================
+//= Advance Class jobchanger after kRO Normals.
+//===== By: ==================================================
+//= Nana
+//= finished, optimized and tested by Lupus
+//===== Current Version: =====================================
+//= 1.1
+//===== Compatible With: =====================================
+//= eAthena 1.0 +
+//===== Description: =========================================
+//= Advance Class jobchanger after kRO Normals.
+//===== Additional Comments: =================================
+//= v1.1 Made all into functions, additional checks, etc. [Lupus]
+//============================================================
// -== Lord Knight ==-
valkyrie.gat,44,39,6 script Lord Knight 56,{
- if(getskilllv(144) > 0) set @qsk,1;
- if(getskilllv(145) > 0) set @qsk1,1;
- if(getskilllv(146) > 0) set @qsk2,1;
- if(checkcart(0) > 0) goto L_Cart;
- if(readparam(12) > 0) goto Skill_Points;
- if(readparam(19) >= 4008) goto L_Advance;
- if((readparam(19) == 4001) && (readparam(55) >= 10)) goto L_HNov;
- if((readparam(19) == 4002) && (readparam(55) >= 45)) goto L_HSWM;
- if(readparam(19) < 7) goto L_Class;
- if(readparam(19) == 4001) goto L_Class1;
- if(readparam(19) == 4002) goto L_Class;
- if((readparam(11) >= 99) && (readparam(55) >= 50) && (readparam(19) >= 7)) goto L_Change;
- if((readparam(11) < 99) && (readparam(55) < 50)) goto L_Levels;
- mes "[Lord Knight]";
- mes "Hi there...";
- close;
-
-L_Change:
- mes "[Lord Knight]";
- mes "Hello there "+strcharinfo(0)+"!";
- mes "You've made a brave choice in coming here to be reborn and stepping forth into the ranks of Lord Knight,";
- mes "I wish you good fortune in the near future!";
- jobchange 24;
- resetlvl(1);
- close;
-
-L_Cart:
- mes "[Lord Knight]";
- mes "Please un-equip that cart before continuing.";
- close;
-
-L_Class1:
- mes "[Lord Knight]";
- mes "You're not ready to become an High Swordsman yet.";
- close;
-
-L_Class:
- mes "[Lord Knight]";
- mes "You've come far to get here. unfortunately, you're not ready to become an Lord Knight yet.";
- close;
-
-L_Levels:
- mes "[Lord Knight]";
- mes "You're doing great! keep up the good work. You'll eventually get to the point where you can be an Lord Knight";
- close;
-
-L_HNov:
- mes "[Lord Knight]";
- mes "Tread lightly ahead as you're about to enter the distinguished world of Ragnarok.";
- mes "Must great fortune follow you!";
- jobchange 25;
- next;
- mes "[Lord Knight]";
- mes "Let me just add in the missing Quest Skills you lost under the Reborn process if you had any, "+strcharinfo(0)+".";
- next;
- if(@qsk > 0) goto qsk;
- if(@qsk1 > 0) goto qsk1;
- if(@qsk2 > 0) goto qsk2;
- if(@qsk3 > 0) goto qsk3;
- next;
-qsk:
- skill 144,1,0;
- set @qsk,0;
- if(@qsk1 > 0) goto qsk1;
- if(@qsk2 > 0) goto qsk2;
- goto L_HNov_2;
-qsk1:
- skill 145,1,0;
- set @qsk1,0;
- if(@qsk > 0) goto qsk;
- if(@qsk2 > 0) goto qsk2;
- goto L_HNov_2;
-qsk2:
- skill 146,1,0;
- set @qsk2,0;
- if(@qsk > 0) goto qsk;
- if(@qsk1 > 0) goto qsk1;
- goto L_HNov_2;
-
-L_HNov_2:
- mes "[Lord Knight]";
- mes "Now when the formalities are fixed, I congratulate you on your Advancement to High Swordsman";
- close;
-L_HSWM:
- mes "[Lord Knight]";
- mes "Congratulations!";
- mes "You're not finally after alot of hard work, able to enter the halls of Valkyrie as an Lord Knight!";
- jobchange 31;
- close;
-
-Skill_Points:
- mes "[Lord Knight]";
- mes "Please use all of your skillpoints before proceeding.";
- close;
-
-L_Advance:
- mes "[Lord Knight]";
- mes "Hey there! You are already an Reborn. You cannot reach any higher";
- mes "*whistles*";
- close;
-} \ No newline at end of file
+ callfunc "F_Rebirth",25,"Swordman High",31,"Lord Knight",144,145,146,0;
+}
diff --git a/npc/jobs/2-1-1/Sniper.txt b/npc/jobs/2-1-1/Sniper.txt
index 3b39fb628..1bbf6e75f 100644
--- a/npc/jobs/2-1-1/Sniper.txt
+++ b/npc/jobs/2-1-1/Sniper.txt
@@ -1,104 +1,19 @@
-// Advance Class jobchanger after kRO Normals.
-// Checks if the player have any questskills, cart\falcon, level and such.
-// Made by Nana.
+//===== eAthena Script =======================================
+//= Advance Class jobchanger after kRO Normals.
+//===== By: ==================================================
+//= Nana
+//= finished, optimized and tested by Lupus
+//===== Current Version: =====================================
+//= 1.1
+//===== Compatible With: =====================================
+//= eAthena 1.0 +
+//===== Description: =========================================
+//= Advance Class jobchanger after kRO Normals.
+//===== Additional Comments: =================================
+//= v1.1 Made all into functions, additional checks, etc. [Lupus]
+//============================================================
// -== Sniper ==-
valkyrie.gat,44,55,6 script Sniper 727,{
- if(getskilllv(147) > 0) set @qsk,1;
- if(getskilllv(148) > 0) set @qsk1,1;
- if(checkfalcon(0) > 0) goto L_Falcon;
- if(checkcart(0) > 0) goto L_Cart;
- if(readparam(12) > 0) goto Skill_Points;
- if(readparam(19) >= 4008) goto L_Advance;
- if((readparam(19) == 4001) && (readparam(55) >= 10)) goto L_HNov;
- if((readparam(19) == 4004) && (readparam(55) >= 45)) goto L_HARC;
- if(readparam(19) < 7) goto L_Class;
- if(readparam(19) == 4001) goto L_Class1;
- if(readparam(19) == 4004) goto L_Class;
- if((readparam(11) >= 99) && (readparam(55) >= 50) && (readparam(19) >= 7)) goto L_Change;
- if((readparam(11) < 99) && (readparam(55) < 50)) goto L_Levels;
- mes "[Sniper]";
- mes "Hi there...";
- close;
-
-L_Change:
- mes "[Sniper]";
- mes "Hello there "+strcharinfo(0)+"!";
- mes "You've made a brave choice in coming here to be reborn and stepping forth into the ranks of Sniper,";
- mes "I wish you good fortune in the near future!";
- jobchange 24;
- resetlvl(1);
- close;
-
-L_Cart:
- mes "[Sniper]";
- mes "Please un-equip that cart before continuing.";
- close;
-
-L_Class1:
- mes "[Sniper]";
- mes "You're not ready to become an High Archer yet.";
- close;
-
-L_Class:
- mes "[Sniper]";
- mes "You've come far to get here. unfortunately, you're not ready to become an Sniper yet.";
- close;
-
-L_Levels:
- mes "[Sniper]";
- mes "You're doing great! keep up the good work. You'll eventually get to the point where you can be an Sniper";
- close;
-
-L_HNov:
- mes "[Sniper]";
- mes "Tread lightly ahead as you're about to enter the distinguished world of Ragnarok.";
- mes "Must great fortune follow you!";
- jobchange 27;
- next;
- mes "[Sniper]";
- mes "Let me just add in the missing Quest Skills you lost under the Reborn process if you had any, "+strcharinfo(0)+".";
- next;
- if(@qsk > 0) goto qsk;
- if(@qsk1 > 0) goto qsk1;
- if(@qsk2 > 0) goto qsk2;
- if(@qsk3 > 0) goto qsk3;
- next;
-qsk:
- skill 147,1,0;
- set @qsk,0;
- if(@qsk1 > 0) goto qsk1;
- goto L_HNov_2;
-qsk1:
- skill 148,1,0;
- set @qsk1,0;
- if(@qsk > 0) goto qsk;
- goto L_HNov_2;
-
-L_HNov_2:
- mes "[Sniper]";
- mes "Now when the formalities are fixed, I congratulate you on your Advancement to High Archer";
- close;
-L_HARC:
- mes "[Sniper]";
- mes "Congratulations!";
- mes "You're not finally after alot of hard work, able to enter the halls of Valkyrie as an Sniper!";
- jobchange 35;
- close;
-
-Skill_Points:
- mes "[Sniper]";
- mes "Please use all of your skillpoints before proceeding.";
- close;
-
-L_Advance:
- mes "[Sniper]";
- mes "Hey there! You are already an Reborn. You cannot reach any higher";
- mes "*whistles*";
- close;
-
-L_Falcon:
- mes "[Sniper]";
- mes "Please take your Falcon off before proceeding "+strcharinfo(0)+".";
- close;
-} \ No newline at end of file
+ callfunc "F_Rebirth",27,"High Archer",35,"Sniper",147,148,0,0;
+}
diff --git a/npc/jobs/2-1-1/WhiteSmith.txt b/npc/jobs/2-1-1/WhiteSmith.txt
index b289c0232..103cd65b5 100644
--- a/npc/jobs/2-1-1/WhiteSmith.txt
+++ b/npc/jobs/2-1-1/WhiteSmith.txt
@@ -1,106 +1,19 @@
-// Advance Class jobchanger after kRO Normals.
-// Checks if the player have any questskills, cart\falcon, level and such.
-// Made by Nana.
+//===== eAthena Script =======================================
+//= Advance Class jobchanger after kRO Normals.
+//===== By: ==================================================
+//= Nana
+//= finished, optimized and tested by Lupus
+//===== Current Version: =====================================
+//= 1.1
+//===== Compatible With: =====================================
+//= eAthena 1.0 +
+//===== Description: =========================================
+//= Advance Class jobchanger after kRO Normals.
+//===== Additional Comments: =================================
+//= v1.1 Made all into functions, additional checks, etc. [Lupus]
+//============================================================
// -== White Smith ==-
valkyrie.gat,44,51,6 script White Smith 725,{
- if(getskilllv(153) > 0) set @qsk,1;
- if(getskilllv(154) > 0) set @qsk1,1;
- if(getskilllv(155) > 0) set @qsk2,1;
- if(checkcart(0) > 0) goto L_Cart;
- if(readparam(12) > 0) goto Skill_Points;
- if(readparam(19) >= 4008) goto L_Advance;
- if((readparam(19) == 4001) && (readparam(55) >= 10)) goto L_HNov;
- if((readparam(19) == 4007) && (readparam(55) >= 45)) goto L_HMERC;
- if(readparam(19) < 7) goto L_Class;
- if(readparam(19) == 4001) goto L_Class1;
- if(readparam(19) == 4007) goto L_Class;
- if((readparam(11) >= 99) && (readparam(55) >= 50) && (readparam(19) >= 7)) goto L_Change;
- if((readparam(11) < 99) && (readparam(55) < 50)) goto L_Levels;
- mes "[White Smith]";
- mes "Hi there...";
- close;
-
-L_Change:
- mes "[White Smith]";
- mes "Hello there "+strcharinfo(0)+"!";
- mes "You've made a brave choice in coming here to be reborn and stepping forth into the ranks of White Smith,";
- mes "I wish you good fortune in the near future!";
- jobchange 24;
- resetlvl(1);
- close;
-
-L_Cart:
- mes "[White Smith]";
- mes "Please un-equip that cart before continuing.";
- close;
-
-L_Class1:
- mes "[White Smith]";
- mes "You're not ready to become an High Merchant yet.";
- close;
-
-L_Class:
- mes "[White Smith]";
- mes "You've come far to get here. unfortunately, you're not ready to become an White Smith yet.";
- close;
-
-L_Levels:
- mes "[White Smith]";
- mes "You're doing great! keep up the good work. You'll eventually get to the point where you can be an White Smith";
- close;
-
-L_HNov:
- mes "[White Smith]";
- mes "Tread lightly ahead as you're about to enter the distinguished world of Ragnarok.";
- mes "Must great fortune follow you!";
- jobchange 29;
- next;
- mes "[White Smith]";
- mes "Let me just add in the missing Quest Skills you lost under the Reborn process if you had any, "+strcharinfo(0)+".";
- next;
- if(@qsk > 0) goto qsk;
- if(@qsk1 > 0) goto qsk1;
- if(@qsk2 > 0) goto qsk2;
- next;
-qsk:
- skill 153,1,0;
- set @qsk,0;
- if(@qsk1 > 0) goto qsk1;
- if(@qsk2 > 0) goto qsk2;
- goto L_HNov_2;
-qsk1:
- skill 154,1,0;
- set @qsk1,0;
- if(@qsk > 0) goto qsk;
- if(@qsk2 > 0) goto qsk2;
- goto L_HNov_2;
-qsk2:
- skill 155,1,0;
- set @qsk2,0;
- if(@qsk > 0) goto qsk;
- if(@qsk1 > 0) goto qsk1;
- goto L_HNov_2;
-
-L_HNov_2:
- mes "[White Smith]";
- mes "Now when the formalities are fixed, I congratulate you on your Advancement to High Merchant";
- close;
-L_HMERC:
- mes "[White Smith]";
- mes "Congratulations!";
- mes "You're not finally after alot of hard work, able to enter the halls of Valkyrie as an White Smith!";
- jobchange 34;
- close;
-
-Skill_Points:
- mes "[White Smith]";
- mes "Please use all of your skillpoints before proceeding.";
- close;
-
-L_Advance:
- mes "[White Smith]";
- mes "Hey there! You are already an Reborn. You cannot reach any higher";
- mes "*whistles*";
- close;
+ callfunc "F_Rebirth",29,"Merchant High",34,"White Smith",153,154,155,0;
}
diff --git a/npc/jobs/2-1/assassin.txt b/npc/jobs/2-1/assassin.txt
index 659da0c3d..f9b7a730a 100644
--- a/npc/jobs/2-1/assassin.txt
+++ b/npc/jobs/2-1/assassin.txt
@@ -3,7 +3,7 @@
//===== By: ==================================================
//= kobra_k88
//===== Current Version: =====================================
-//= 1.1
+//= 1.2
//===== Compatible With: =====================================
//= eAthena RC4
//===== Description: =========================================
@@ -12,12 +12,13 @@
//===== Additional Comments: =================================
//= v1.0 Used some dialogue from the aegis Assassin script translated By: Pgro Team (OwNaGe)
//= Also converted the booby traps from the aegis script.[kobra_k88]
-//=v1.1 Made adjustments to ontouch npcs to work with the new "ontouch" functionality.
+//= v1.1 Made adjustments to ontouch npcs to work with the new "ontouch" functionality.
//= Fixed some duplicate npc names. Added missing waitingroom triggers.
//= Fixed warp in "TimerSin", was supposed to be an areawarp.
//= For some reason sometimes the "Nameless One" would have message windows
//= without controls. Changed the doevent that triggers him to an
//= addtimer and that seemed make the prob. go away[kobra_k88]
+//= 1.2 Fixed WRONG skillpoint check! [Lupus]
//============================================================
@@ -147,7 +148,7 @@ L_Failed2:
end;
L_Change:
- if (skpoint > 0) goto L_SkPoints;
+ if (skillpoint > 0) goto L_SkPoints;
if(countitem(1008) < 1) goto L_NoNecklace;
mes "Ah... the Necklace of Oblivion..... that means that the Guild Master has accepted you into the Assassin clan.";
next;
diff --git a/npc/jobs/2-2-1/Champion.txt b/npc/jobs/2-2-1/Champion.txt
index a86818498..d86a3f749 100644
--- a/npc/jobs/2-2-1/Champion.txt
+++ b/npc/jobs/2-2-1/Champion.txt
@@ -1,89 +1,19 @@
-// Advance Class jobchanger after kRO Normals.
-// Checks if the player have any questskills, cart\falcon, level and such.
-// Made by Nana.
+//===== eAthena Script =======================================
+//= Advance Class jobchanger after kRO Normals.
+//===== By: ==================================================
+//= Nana
+//= finished, optimized and tested by Lupus
+//===== Current Version: =====================================
+//= 1.1
+//===== Compatible With: =====================================
+//= eAthena 1.0 +
+//===== Description: =========================================
+//= Advance Class jobchanger after kRO Normals.
+//===== Additional Comments: =================================
+//= v1.1 Made all into functions, additional checks, etc. [Lupus]
+//============================================================
// -== Champion ==-
valkyrie.gat,53,42,4 script Champion 52,{
- if(getskilllv(156) > 0) set @qsk;
- if(checkcart(0) > 0) goto L_Cart;
- if(readparam(12) > 0) goto Skill_Points;
- if(readparam(19) >= 4008) goto L_Advance;
- if((readparam(19) == 4001) && (readparam(55) >= 10)) goto L_HNov;
- if((readparam(19) == 4005) && (readparam(55) >= 45)) goto L_HACO;
- if(readparam(19) < 7) goto L_Class;
- if(readparam(19) == 4001) goto L_Class1;
- if(readparam(19) == 4005) goto L_Class;
- if((readparam(11) >= 99) && (readparam(55) >= 50) && (readparam(19) >= 7)) goto L_Change;
- if((readparam(11) < 99) && (readparam(55) < 50)) goto L_Levels;
- mes "[Champion]";
- mes "Hi there...";
- close;
-
-L_Change:
- mes "[Champion]";
- mes "Hello there "+strcharinfo(0)+"!";
- mes "You've made a brave choice in coming here to be reborn and stepping forth into the ranks of Champion,";
- mes "I wish you good fortune in the near future!";
- jobchange 24;
- resetlvl(1);
- close;
-
-L_Cart:
- mes "[Champion]";
- mes "Please un-equip that cart before continuing.";
- close;
-
-L_Class1:
- mes "[Champion]";
- mes "You're not ready to become an Acolyte High yet...";
- close;
-
-L_Class:
- mes "[Champion]";
- mes "You've come far to get here. unfortunately, you're not ready to become an Champion yet.";
- close;
-
-L_Levels:
- mes "[Champion]";
- mes "You're doing great! keep up the good work. You'll eventually get to the point where you can be an Champion";
- close;
-
-L_HNov:
- mes "[Champion]";
- mes "Tread lightly ahead as you're about to enter the distinguished world of Ragnarok.";
- mes "Must great fortune follow you!";
- jobchange 28;
- next;
- mes "[Champion]";
- mes "Let me just add in the missing Quest Skills you lost under the Reborn process if you had any, "+strcharinfo(0)+".";
- next;
- if(@qsk > 0) goto qsk;
- next;
-qsk:
- skill 156,1,0;
- set @qsk,0;
- goto L_HNov_2;
- close;
-
-L_HNov_2:
- mes "[Champion]";
- mes "Now when the formalities are fixed, I congratulate you on your Advancement to Acolyte High";
- close;
-L_HACO:
- mes "[Champion]";
- mes "Congratulations!";
- mes "You're not finally after alot of hard work, able to enter the halls of Valkyrie as an Champion!";
- jobchange 39;
- close;
-
-Skill_Points:
- mes "[Champion]";
- mes "Please use all of your skillpoints before proceeding.";
- close;
-
-L_Advance:
- mes "[Champion]";
- mes "Hey there! You are already an Reborn. You cannot reach any higher";
- mes "*whistles*";
- close;
-} \ No newline at end of file
+ callfunc "F_Rebirth",28,"Acolyte High",39,"Champion",156,0,0,0;
+}
diff --git a/npc/jobs/2-2-1/Clown.txt b/npc/jobs/2-2-1/Clown.txt
index 9a7fe8e9e..a7e303ac5 100644
--- a/npc/jobs/2-2-1/Clown.txt
+++ b/npc/jobs/2-2-1/Clown.txt
@@ -1,110 +1,19 @@
-// Advance Class jobchanger after kRO Normals.
-// Checks if the player have any questskills, cart\falcon, level and such.
-// Made by Nana.
+//===== eAthena Script =======================================
+//= Advance Class jobchanger after kRO Normals.
+//===== By: ==================================================
+//= Nana
+//= finished, optimized and tested by Lupus
+//===== Current Version: =====================================
+//= 1.1
+//===== Compatible With: =====================================
+//= eAthena 1.0 +
+//===== Description: =========================================
+//= Advance Class jobchanger after kRO Normals.
+//===== Additional Comments: =================================
+//= v1.1 Made all into functions, additional checks, etc. [Lupus]
+//============================================================
// -== Clown ==-
valkyrie.gat,53,54,4z script Clown 741,{
- if(readparam(21) > 0) goto L_Female;
- if(getskilllv(147) > 0) set @qsk,1;
- if(getskilllv(148) > 0) set @qsk1,1;
- if(checkfalcon(0) > 0) goto L_Falcon;
- if(checkcart(0) > 0) goto L_Cart;
- if(readparam(12) > 0) goto Skill_Points;
- if(readparam(19) >= 4008) goto L_Advance;
- if((readparam(19) == 4001) && (readparam(55) >= 10)) goto L_HNov;
- if((readparam(19) == 4004) && (readparam(55) >= 45)) goto L_HARC;
- if(readparam(19) < 7) goto L_Class;
- if(readparam(19) == 4001) goto L_Class1;
- if(readparam(19) == 4004) goto L_Class;
- if((readparam(11) >= 99) && (readparam(55) >= 50) && (readparam(19) >= 7)) goto L_Change;
- if((readparam(11) < 99) && (readparam(55) < 50)) goto L_Levels;
- mes "[Clown]";
- mes "Hi there...";
- close;
-
-L_Change:
- mes "[Clown]";
- mes "Hello there "+strcharinfo(0)+"!";
- mes "You've made a brave choice in coming here to be reborn and stepping forth into the ranks of Clown,";
- mes "I wish you good fortune in the near future!";
- jobchange 24;
- resetlvl(1);
- close;
-
-L_Cart:
- mes "[Clown]";
- mes "Please un-equip that cart before continuing.";
- close;
-
-L_Class1:
- mes "[Clown]";
- mes "You're not ready to become an High Archer yet.";
- close;
-
-L_Class:
- mes "[Clown]";
- mes "You've come far to get here. unfortunately, you're not ready to become an Clown yet.";
- close;
-
-L_Levels:
- mes "[Clown]";
- mes "You're doing great! keep up the good work. You'll eventually get to the point where you can be an Clown";
- close;
-
-L_HNov:
- mes "[Clown]";
- mes "Tread lightly ahead as you're about to enter the distinguished world of Ragnarok.";
- mes "Must great fortune follow you!";
- jobchange 27;
- next;
- mes "[Clown]";
- mes "Let me just add in the missing Quest Skills you lost under the Reborn process if you had any, "+strcharinfo(0)+".";
- next;
- if(@qsk > 0) goto qsk;
- if(@qsk1 > 0) goto qsk1;
- if(@qsk2 > 0) goto qsk2;
- if(@qsk3 > 0) goto qsk3;
- next;
-qsk:
- skill 147,1,0;
- set @qsk,0;
- if(@qsk1 > 0) goto qsk1;
- goto L_HNov_2;
-qsk1:
- skill 148,1,0;
- set @qsk1,0;
- if(@qsk > 0) goto qsk;
- goto L_HNov_2;
-
-L_HNov_2:
- mes "[Clown]";
- mes "Now when the formalities are fixed, I congratulate you on your Advancement to High Archer";
- close;
-L_HARC:
- mes "[Clown]";
- mes "Congratulations!";
- mes "You're not finally after alot of hard work, able to enter the halls of Valkyrie as an Clown!";
- jobchange 43;
- close;
-
-Skill_Points:
- mes "[Clown]";
- mes "Please use all of your skillpoints before proceeding.";
- close;
-
-L_Advance:
- mes "[Clown]";
- mes "Hey there! You are already an Reborn. You cannot reach any higher";
- mes "*whistles*";
- close;
-
-L_Falcon:
- mes "[Clown]";
- mes "Please take your Falcon off before proceeding "+strcharinfo(0)+".";
- close;
-
-L_Female:
- mes "[Clown]";
- mes "Only males can become a Clown.";
- close;
-} \ No newline at end of file
+ callfunc "F_Rebirth",27,"High Archer",43,"Clown",147,148,0,0;
+}
diff --git a/npc/jobs/2-2-1/Creator.txt b/npc/jobs/2-2-1/Creator.txt
index a48dd7871..219091856 100644
--- a/npc/jobs/2-2-1/Creator.txt
+++ b/npc/jobs/2-2-1/Creator.txt
@@ -1,106 +1,19 @@
-// Advance Class jobchanger after kRO Normals.
-// Checks if the player have any questskills, cart\falcon, level and such.
-// Made by Nana.
+//===== eAthena Script =======================================
+//= Advance Class jobchanger after kRO Normals.
+//===== By: ==================================================
+//= Nana
+//= finished, optimized and tested by Lupus
+//===== Current Version: =====================================
+//= 1.1
+//===== Compatible With: =====================================
+//= eAthena 1.0 +
+//===== Description: =========================================
+//= Advance Class jobchanger after kRO Normals.
+//===== Additional Comments: =================================
+//= v1.1 Made all into functions, additional checks, etc. [Lupus]
+//============================================================
// -== Creator ==-
valkyrie.gat,53,50,6 script Creator 122,{
- if(getskilllv(153) > 0) set @qsk,1;
- if(getskilllv(154) > 0) set @qsk1,1;
- if(getskilllv(155) > 0) set @qsk2,1;
- if(checkcart(0) > 0) goto L_Cart;
- if(readparam(12) > 0) goto Skill_Points;
- if(readparam(19) >= 4008) goto L_Advance;
- if((readparam(19) == 4001) && (readparam(55) >= 10)) goto L_HNov;
- if((readparam(19) == 4007) && (readparam(55) >= 45)) goto L_HMERC;
- if(readparam(19) < 7) goto L_Class;
- if(readparam(19) == 4001) goto L_Class1;
- if(readparam(19) == 4007) goto L_Class;
- if((readparam(11) >= 99) && (readparam(55) >= 50) && (readparam(19) >= 7)) goto L_Change;
- if((readparam(11) < 99) && (readparam(55) < 50)) goto L_Levels;
- mes "[Creator]";
- mes "Hi there...";
- close;
-
-L_Change:
- mes "[Creator]";
- mes "Hello there "+strcharinfo(0)+"!";
- mes "You've made a brave choice in coming here to be reborn and stepping forth into the ranks of Creator,";
- mes "I wish you good fortune in the near future!";
- jobchange 24;
- resetlvl(1);
- close;
-
-L_Cart:
- mes "[Creator]";
- mes "Please un-equip that cart before continuing.";
- close;
-
-L_Class1:
- mes "[Creator]";
- mes "You're not ready to become an High Merchant yet.";
- close;
-
-L_Class:
- mes "[Creator]";
- mes "You've come far to get here. unfortunately, you're not ready to become an Creator yet.";
- close;
-
-L_Levels:
- mes "[Creator]";
- mes "You're doing great! keep up the good work. You'll eventually get to the point where you can be an Creator";
- close;
-
-L_HNov:
- mes "[Creator]";
- mes "Tread lightly ahead as you're about to enter the distinguished world of Ragnarok.";
- mes "Must great fortune follow you!";
- jobchange 29;
- next;
- mes "[Creator]";
- mes "Let me just add in the missing Quest Skills you lost under the Reborn process if you had any, "+strcharinfo(0)+".";
- next;
- if(@qsk > 0) goto qsk;
- if(@qsk1 > 0) goto qsk1;
- if(@qsk2 > 0) goto qsk2;
- next;
-qsk:
- skill 153,1,0;
- set @qsk,0;
- if(@qsk1 > 0) goto qsk1;
- if(@qsk2 > 0) goto qsk2;
- goto L_HNov_2;
-qsk1:
- skill 154,1,0;
- set @qsk1,0;
- if(@qsk > 0) goto qsk;
- if(@qsk2 > 0) goto qsk2;
- goto L_HNov_2;
-qsk2:
- skill 155,1,0;
- set @qsk2,0;
- if(@qsk > 0) goto qsk;
- if(@qsk1 > 0) goto qsk1;
- goto L_HNov_2;
-
-L_HNov_2:
- mes "[Creator]";
- mes "Now when the formalities are fixed, I congratulate you on your Advancement to High Merchant";
- close;
-L_HMERC:
- mes "[Creator]";
- mes "Congratulations!";
- mes "You're not finally after alot of hard work, able to enter the halls of Valkyrie as an Creator!";
- jobchange 42;
- close;
-
-Skill_Points:
- mes "[Creator]";
- mes "Please use all of your skillpoints before proceeding.";
- close;
-
-L_Advance:
- mes "[Creator]";
- mes "Hey there! You are already an Reborn. You cannot reach any higher";
- mes "*whistles*";
- close;
-} \ No newline at end of file
+ callfunc "F_Rebirth",29,"Merchant High",42,"Creator",153,154,155,0;
+}
diff --git a/npc/jobs/2-2-1/Gypsy.txt b/npc/jobs/2-2-1/Gypsy.txt
index bc3914af9..9f05d1970 100644
--- a/npc/jobs/2-2-1/Gypsy.txt
+++ b/npc/jobs/2-2-1/Gypsy.txt
@@ -1,110 +1,19 @@
-// Advance Class jobchanger after kRO Normals.
-// Checks if the player have any questskills, cart\falcon, level and such.
-// Made by Nana.
+//===== eAthena Script =======================================
+//= Advance Class jobchanger after kRO Normals.
+//===== By: ==================================================
+//= Nana
+//= finished, optimized and tested by Lupus
+//===== Current Version: =====================================
+//= 1.1
+//===== Compatible With: =====================================
+//= eAthena 1.0 +
+//===== Description: =========================================
+//= Advance Class jobchanger after kRO Normals.
+//===== Additional Comments: =================================
+//= v1.1 Made all into functions, additional checks, etc. [Lupus]
+//============================================================
// -== Gypsy ==-
valkyrie.gat,53,56,4 script Gypsy 101,{
- if(readparam(21) < 1) goto L_Male;
- if(getskilllv(147) > 0) set @qsk,1;
- if(getskilllv(148) > 0) set @qsk1,1;
- if(checkfalcon(0) > 0) goto L_Falcon;
- if(checkcart(0) > 0) goto L_Cart;
- if(readparam(12) > 0) goto Skill_Points;
- if(readparam(19) >= 4008) goto L_Advance;
- if((readparam(19) == 4001) && (readparam(55) >= 10)) goto L_HNov;
- if((readparam(19) == 4004) && (readparam(55) >= 45)) goto L_HARC;
- if(readparam(19) < 7) goto L_Class;
- if(readparam(19) == 4001) goto L_Class1;
- if(readparam(19) == 4004) goto L_Class;
- if((readparam(11) >= 99) && (readparam(55) >= 50) && (readparam(19) >= 7)) goto L_Change;
- if((readparam(11) < 99) && (readparam(55) < 50)) goto L_Levels;
- mes "[Gypsy]";
- mes "Hi there...";
- close;
-
-L_Change:
- mes "[Gypsy]";
- mes "Hello there "+strcharinfo(0)+"!";
- mes "You've made a brave choice in coming here to be reborn and stepping forth into the ranks of Gypsy,";
- mes "I wish you good fortune in the near future!";
- jobchange 24;
- resetlvl(1);
- close;
-
-L_Cart:
- mes "[Gypsy]";
- mes "Please un-equip that cart before continuing.";
- close;
-
-L_Class1:
- mes "[Gypsy]";
- mes "You're not ready to become an High Archer yet.";
- close;
-
-L_Class:
- mes "[Gypsy]";
- mes "You've come far to get here. unfortunately, you're not ready to become an Gypsy yet.";
- close;
-
-L_Levels:
- mes "[Gypsy]";
- mes "You're doing great! keep up the good work. You'll eventually get to the point where you can be an Gypsy";
- close;
-
-L_HNov:
- mes "[Gypsy]";
- mes "Tread lightly ahead as you're about to enter the distinguished world of Ragnarok.";
- mes "Must great fortune follow you!";
- jobchange 27;
- next;
- mes "[Gypsy]";
- mes "Let me just add in the missing Quest Skills you lost under the Reborn process if you had any, "+strcharinfo(0)+".";
- next;
- if(@qsk > 0) goto qsk;
- if(@qsk1 > 0) goto qsk1;
- if(@qsk2 > 0) goto qsk2;
- if(@qsk3 > 0) goto qsk3;
- next;
-qsk:
- skill 147,1,0;
- set @qsk,0;
- if(@qsk1 > 0) goto qsk1;
- goto L_HNov_2;
-qsk1:
- skill 148,1,0;
- set @qsk1,0;
- if(@qsk > 0) goto qsk;
- goto L_HNov_2;
-
-L_HNov_2:
- mes "[Gypsy]";
- mes "Now when the formalities are fixed, I congratulate you on your Advancement to High Archer";
- close;
-L_HARC:
- mes "[Gypsy]";
- mes "Congratulations!";
- mes "You're not finally after alot of hard work, able to enter the halls of Valkyrie as an Gypsy!";
- jobchange 44;
- close;
-
-Skill_Points:
- mes "[Gypsy]";
- mes "Please use all of your skillpoints before proceeding.";
- close;
-
-L_Advance:
- mes "[Gypsy]";
- mes "Hey there! You are already an Reborn. You cannot reach any higher";
- mes "*whistles*";
- close;
-
-L_Falcon:
- mes "[Gypsy]";
- mes "Please take your Falcon off before proceeding "+strcharinfo(0)+".";
- close;
-
-L_Male:
- mes "[Gypsy]";
- mes "Only females can become a Gypsy.";
- close;
-} \ No newline at end of file
+ callfunc "F_Rebirth",27,"High Archer",44,"Gypsy",147,148,0,0;
+}
diff --git a/npc/jobs/2-2-1/Paladin.txt b/npc/jobs/2-2-1/Paladin.txt
index 6694c973a..207c8674a 100644
--- a/npc/jobs/2-2-1/Paladin.txt
+++ b/npc/jobs/2-2-1/Paladin.txt
@@ -1,107 +1,19 @@
-// Advance Class jobchanger after kRO Normals.
-// Checks if the player have any questskills, cart\falcon, level and such.
-// Made by Nana.
+//===== eAthena Script =======================================
+//= Advance Class jobchanger after kRO Normals.
+//===== By: ==================================================
+//= Nana
+//= finished, optimized and tested by Lupus
+//===== Current Version: =====================================
+//= 1.1
+//===== Compatible With: =====================================
+//= eAthena 1.0 +
+//===== Description: =========================================
+//= Advance Class jobchanger after kRO Normals.
+//===== Additional Comments: =================================
+//= v1.1 Made all into functions, additional checks, etc. [Lupus]
+//============================================================
// -== Paladin ==-
valkyrie.gat,53,39,4 script Paladin 752,{
- if(getskilllv(144) > 0) set @qsk,1;
- if(getskilllv(145) > 0) set @qsk1,1;
- if(getskilllv(146) > 0) set @qsk2,1;
- if(checkcart(0) > 0) goto L_Cart;
- if(readparam(12) > 0) goto Skill_Points;
- if(readparam(19) >= 4008) goto L_Advance;
- if((readparam(19) == 4001) && (readparam(55) >= 10)) goto L_HNov;
- if((readparam(19) == 4002) && (readparam(55) >= 45)) goto L_HSWM;
- if(readparam(19) < 7) goto L_Class;
- if(readparam(19) == 4001) goto L_Class1;
- if(readparam(19) == 4002) goto L_Class;
- if((readparam(11) >= 99) && (readparam(55) >= 50) && (readparam(19) >= 7)) goto L_Change;
- if((readparam(11) < 99) && (readparam(55) < 50)) goto L_Levels;
- mes "[Paladin]";
- mes "Hi there...";
- close;
-
-L_Change:
- mes "[Paladin]";
- mes "Hello there "+strcharinfo(0)+"!";
- mes "You've made a brave choice in coming here to be reborn and stepping forth into the ranks of Paladin,";
- mes "I wish you good fortune in the near future!";
- jobchange 24;
- resetlvl(1);
- close;
-
-L_Cart:
- mes "[Paladin]";
- mes "Please un-equip that cart before continuing.";
- close;
-
-L_Class1:
- mes "[Paladin]";
- mes "You're not ready to become an High Swordsman yet.";
- close;
-
-L_Class:
- mes "[Paladin]";
- mes "You've come far to get here. unfortunately, you're not ready to become an Paladin yet.";
- close;
-
-L_Levels:
- mes "[Paladin]";
- mes "You're doing great! keep up the good work. You'll eventually get to the point where you can be an Paladin";
- close;
-
-L_HNov:
- mes "[Paladin]";
- mes "Tread lightly ahead as you're about to enter the distinguished world of Ragnarok.";
- mes "Must great fortune follow you!";
- jobchange 25;
- next;
- mes "[Paladin]";
- mes "Let me just add in the missing Quest Skills you lost under the Reborn process if you had any, "+strcharinfo(0)+".";
- next;
- if(@qsk > 0) goto qsk;
- if(@qsk1 > 0) goto qsk1;
- if(@qsk2 > 0) goto qsk2;
- if(@qsk3 > 0) goto qsk3;
- next;
-qsk:
- skill 144,1,0;
- set @qsk,0;
- if(@qsk1 > 0) goto qsk1;
- if(@qsk2 > 0) goto qsk2;
- goto L_HNov_2;
-qsk1:
- skill 145,1,0;
- set @qsk1,0;
- if(@qsk > 0) goto qsk;
- if(@qsk2 > 0) goto qsk2;
- goto L_HNov_2;
-qsk2:
- skill 146,1,0;
- set @qsk2,0;
- if(@qsk > 0) goto qsk;
- if(@qsk1 > 0) goto qsk1;
- goto L_HNov_2;
-
-L_HNov_2:
- mes "[Paladin]";
- mes "Now when the formalities are fixed, I congratulate you on your Advancement to High Swordsman";
- close;
-L_HSWM:
- mes "[Paladin]";
- mes "Congratulations!";
- mes "You're not finally after alot of hard work, able to enter the halls of Valkyrie as an Paladin!";
- jobchange 38;
- close;
-
-Skill_Points:
- mes "[Paladin]";
- mes "Please use all of your skillpoints before proceeding.";
- close;
-
-L_Advance:
- mes "[Paladin]";
- mes "Hey there! You are already an Reborn. You cannot reach any higher";
- mes "*whistles*";
- close;
-} \ No newline at end of file
+ callfunc "F_Rebirth",25,"Swordman High",38,"Paladin",144,145,146,0;
+}
diff --git a/npc/jobs/2-2-1/Professor.txt b/npc/jobs/2-2-1/Professor.txt
index e7d94d9ac..9582345a3 100644
--- a/npc/jobs/2-2-1/Professor.txt
+++ b/npc/jobs/2-2-1/Professor.txt
@@ -1,88 +1,19 @@
-// Advance Class jobchanger after kRO Normals.
-// Checks if the player have any questskills, cart\falcon, level and such.
-// Made by Nana.
+//===== eAthena Script =======================================
+//= Advance Class jobchanger after kRO Normals.
+//===== By: ==================================================
+//= Nana
+//= finished, optimized and tested by Lupus
+//===== Current Version: =====================================
+//= 1.1
+//===== Compatible With: =====================================
+//= eAthena 1.0 +
+//===== Description: =========================================
+//= Advance Class jobchanger after kRO Normals.
+//===== Additional Comments: =================================
+//= v1.1 Made all into functions, additional checks, etc. [Lupus]
+//============================================================
// -== Professor ==-
valkyrie.gat,53,47,4 script Professor 743,{
- if(getskilllv(157) > 0) set @qsk,1;
- if(checkcart(0) > 0) goto L_Cart;
- if(readparam(12) > 0) goto Skill_Points;
- if(readparam(19) >= 4008) goto L_Advance;
- if((readparam(19) == 4001) && (readparam(55) >= 10)) goto L_HNov;
- if((readparam(19) == 4003) && (readparam(55) >= 45)) goto L_HMAG;
- if(readparam(19) < 7) goto L_Class;
- if(readparam(19) == 4001) goto L_Class1;
- if(readparam(19) == 4003) goto L_Class;
- if((readparam(11) >= 99) && (readparam(55) >= 50) && (readparam(19) >= 7)) goto L_Change;
- if((readparam(11) < 99) && (readparam(55) < 50)) goto L_Levels;
- mes "[Professor]";
- mes "Hi there...";
- close;
-
-L_Change:
- mes "[Professor]";
- mes "Hello there "+strcharinfo(0)+"!";
- mes "You've made a brave choice in coming here to be reborn and stepping forth into the ranks of Professor,";
- mes "I wish you good fortune in the near future!";
- jobchange 24;
- resetlvl(1);
- close;
-
-L_Cart:
- mes "[Professor]";
- mes "Please un-equip that cart before continuing.";
- close;
-
-L_Class1:
- mes "[Professor]";
- mes "You're not ready to become an High Mage yet.";
- close;
-
-L_Class:
- mes "[Professor]";
- mes "You've come far to get here. unfortunately, you're not ready to become an Professor yet.";
- close;
-
-L_Levels:
- mes "[Professor]";
- mes "You're doing great! keep up the good work. You'll eventually get to the point where you can be an Professor";
- close;
-
-L_HNov:
- mes "[Professor]";
- mes "Tread lightly ahead as you're about to enter the distinguished world of Ragnarok.";
- mes "Must great fortune follow you!";
- jobchange 26;
- next;
- mes "[Professor]";
- mes "Let me just add in the missing Quest Skills you lost under the Reborn process if you had any, "+strcharinfo(0)+".";
- next;
- if(@qsk > 0) goto qsk;
- next;
-qsk:
- skill 157,1,0;
- set @qsk,0;
- goto L_HNov_2;
-
-L_HNov_2:
- mes "[Professor]";
- mes "Now when the formalities are fixed, I congratulate you on your Advancement to High Mage";
- close;
-L_HMAG:
- mes "[Professor]";
- mes "Congratulations!";
- mes "You're not finally after alot of hard work, able to enter the halls of Valkyrie as an Professor!";
- jobchange 40;
- close;
-
-Skill_Points:
- mes "[Professor]";
- mes "Please use all of your skillpoints before proceeding.";
- close;
-
-L_Advance:
- mes "[Professor]";
- mes "Hey there! You are already an Reborn. You cannot reach any higher";
- mes "*whistles*";
- close;
-} \ No newline at end of file
+ callfunc "F_Rebirth",26,"High Mage",40,"Professor",157,0,0,0;
+}
diff --git a/npc/jobs/2-2-1/Stalker.txt b/npc/jobs/2-2-1/Stalker.txt
index fa23b6ac5..b2cf2781f 100644
--- a/npc/jobs/2-2-1/Stalker.txt
+++ b/npc/jobs/2-2-1/Stalker.txt
@@ -1,118 +1,19 @@
-// Advance Class jobchanger after kRO Normals.
-// Checks if the player have any questskills, cart\falcon, level and such.
-// Made by Nana.
+//===== eAthena Script =======================================
+//= Advance Class jobchanger after kRO Normals.
+//===== By: ==================================================
+//= Nana
+//= finished, optimized and tested by Lupus
+//===== Current Version: =====================================
+//= 1.1
+//===== Compatible With: =====================================
+//= eAthena 1.0 +
+//===== Description: =========================================
+//= Advance Class jobchanger after kRO Normals.
+//===== Additional Comments: =================================
+//= v1.1 Made all into functions, additional checks, etc. [Lupus]
+//============================================================
// -== Stalker ==-
valkyrie.gat,53,58,4 script Stalker 747,{
- if(getskilllv(149) > 0) set @qsk,1;
- if(getskilllv(150) > 0) set @qsk1,1;
- if(getskilllv(151) > 0) set @qsk2,1;
- if(getskilllv(152) > 0) set @qsk3,1;
- if(checkcart(0) > 0) goto L_Cart;
- if(readparam(12) > 0) goto Skill_Points;
- if(readparam(19) >= 4008) goto L_Advance;
- if((readparam(19) == 4001) && (readparam(55) >= 10)) goto L_HNov;
- if((readparam(19) == 4007) && (readparam(55) >= 45)) goto L_HTHF;
- if(readparam(19) < 7) goto L_Class;
- if(readparam(19) == 4001) goto L_Class1;
- if(readparam(19) == 4007) goto L_Class;
- if((readparam(11) >= 99) && (readparam(55) >= 50) && (readparam(19) >= 7)) goto L_Change;
- if((readparam(11) < 99) && (readparam(55) < 50)) goto L_Levels;
- mes "[Stalker]";
- mes "Hi there...";
- close;
-
-L_Change:
- mes "[Stalker]";
- mes "Hello there "+strcharinfo(0)+"!";
- mes "You've made a brave choice in coming here to be reborn and stepping forth into the ranks of Stalker,";
- mes "I wish you good fortune in the near future!";
- jobchange 24;
- resetlvl(1);
- close;
-
-L_Cart:
- mes "[Stalker]";
- mes "Please un-equip that cart before continuing.";
- close;
-
-L_Class1:
- mes "[Stalker]";
- mes "You're not ready to become an High thief yet.";
- close;
-
-L_Class:
- mes "[Stalker]";
- mes "You've come far to get here. unfortunately, you're not ready to become an Stalker yet.";
- close;
-
-L_Levels:
- mes "[Stalker]";
- mes "You're doing great! keep up the good work. You'll eventually get to the point where you can be an Stalker";
- close;
-
-L_HNov:
- mes "[Stalker]";
- mes "Tread lightly ahead as you're about to enter the distinguished world of Ragnarok.";
- mes "Must great fortune follow you!";
- jobchange 30;
- next;
- mes "[Stalker]";
- mes "Let me just add in the missing Quest Skills you lost under the Reborn process if you had any, "+strcharinfo(0)+".";
- next;
- if(@qsk > 0) goto qsk;
- if(@qsk1 > 0) goto qsk1;
- if(@qsk2 > 0) goto qsk2;
- if(@qsk3 > 0) goto qsk3;
- next;
-qsk:
- skill 149,1,0;
- set @qsk,0;
- if(@qsk1 > 0) goto qsk1;
- if(@qsk2 > 0) goto qsk2;
- if(@qsk3 > 0) goto qsk3;
- goto L_HNov_2;
-qsk1:
- skill 150,1,0;
- set @qsk1,0;
- if(@qsk > 0) goto qsk;
- if(@qsk2 > 0) goto qsk2;
- if(@qsk3 > 0) goto qsk3;
- goto L_HNov_2;
-qsk2:
- skill 151,1,0;
- set @qsk2,0;
- if(@qsk > 0) goto qsk;
- if(@qsk1 > 0) goto qsk1;
- if(@qsk3 > 0) goto qsk3;
- goto L_HNov_2;
-qsk3:
- skill 152,1,0;
- set @qsk3,0;
- if(@qsk > 0) goto qsk;
- if(@qsk1 > 0) goto qsk1;
- if(@qsk2 > 0) goto qsk2;
- goto L_HNov_2;
-
-L_HNov_2:
- mes "[Stalker]";
- mes "Now when the formalities are fixed, I congratulate you on your Advancement to High Thief";
- close;
-L_HTHF:
- mes "[Stalker]";
- mes "Congratulations!";
- mes "You're not finally after alot of hard work, able to enter the halls of Valkyrie as an Stalker!";
- jobchange 41;
- close;
-
-Skill_Points:
- mes "[Stalker]";
- mes "Please use all of your skillpoints before proceeding.";
- close;
-
-L_Advance:
- mes "[Stalker]";
- mes "Hey there! You are already an Reborn. You cannot reach any higher";
- mes "*whistles*";
- close;
-} \ No newline at end of file
+ callfunc "F_Rebirth",30,"Theif High",41,"Stalker",149,150,151,152;
+}