Jelajahi Sumber

Completed full save/restore of Quest Skills on the REBIRTHING 8)

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@7089 54d463be-8e91-2dee-dedb-b68131a5f0ec
Lupus 19 tahun lalu
induk
melakukan
69179113d6

+ 3 - 0
npc/Changelog.txt

@@ -36,6 +36,9 @@ Musashiden
 
 Date		Added
 ======
+06/11
+	* Updated all job quests, Valhallana, to completely save/restore ALL Quest Skills [Lupus]
+	  IMPORTANT! Don't forget to update all files, includin new Global_Functions.txt
 06/09
 	* Added some missing iRO - Lighthalzen NPCs [Musashiden]
 	* Fixed a problem with Kafra's getarg(1),6 of showing the default menu [Evera]

+ 47 - 73
npc/cities/valkyrie.txt

@@ -4,7 +4,7 @@
 //= Nana, fixes by Poki
 //= finished, optimized and tested by Lupus
 //===== Current Version: ===================================== 
-//= 2.1
+//= 2.2
 //===== Compatible With: ===================================== 
 //= eAthena 1.0 +
 //===== Description: ========================================= 
@@ -26,6 +26,7 @@
 //= 2.0 Removed callfunc Is_####_Class in favor of baseClass [Silentdragon]
 //= 2.0b Fixed. TODO: add new Quest Skills [Lupus]
 //= 2.1 Changed all numbers into constants. [Vicious]
+//= 2.2 Now ALL quests skills are saved/restored [Lupus]
 //============================================================ 
 
 
@@ -119,26 +120,24 @@ M_EXIT:
 // -== The Heart of Ymir ==-
 yuno_in05.gat,50,44,0	script	Heart of Ymir	111,{
 	mes "[Heart of Ymir]";
-	if(valkyrie_Q == 1) goto L_LISTEN;
-	if(valkyrie_Q == 2) goto L_DONE;
+	if(valkyrie_Q == 1){
+		mes "Thus upon hard times and when our self esteem is at its lowest, then is when our faith has to be the strongest.";
+		mes "For aeons the secret guardians of the path to heaven have protected the secret gate from evil spirits entering it.";
+		mes "Thus, the bonds became to weaken over time... That's when the Legion of Sages started recruiting and making young, brave and quick minded mages and sages, teaching them the laws and propositions of our world.";
+		next;
+		mes "[Heart of Ymir]";
+		mes "Aeons passed and the Sages grew stronger in both mind and forces, until they all were feared throughout the monsters' world.";
+		mes "Now, after listening to my words of wisdom, please advance to the Book of Ymir and give yourself into God's light.";
+		mes "If you are pure of heart and have no evil intentions, the gates of dawn will open for you and take you in...";
+		set valkyrie_Q,2;
+		close;
+	}
+	if(valkyrie_Q == 2){
+		mes "I have nothing more to teach you, nor to tell you.";
+		close;
+	}
 	mes ". . .";
 	close;
-
-L_LISTEN:
-	mes "Thus upon hard times and when our self esteem is at its lowest, then is when our faith has to be the strongest.";
-	mes "For aeons the secret guardians of the path to heaven have protected the secret gate from evil spirits entering it.";
-	mes "Thus, the bonds became to weaken over time... That's when the Legion of Sages started recruiting and making young, brave and quick minded mages and sages, teaching them the laws and propositions of our world.";
-	next;
-	mes "[Heart of Ymir]";
-	mes "Aeons passed and the Sages grew stronger in both mind and forces, until they all were feared throughout the monsters' world.";
-	mes "Now, after listening to my words of wisdom, please advance to the Book of Ymir and give yourself into God's light.";
-	mes "If you are pure of heart and have no evil intentions, the gates of dawn will open for you and take you in...";
-	set valkyrie_Q,2;
-	close;
-
-L_DONE:
-	mes "I have nothing more to teach you, nor to tell you.";
-	close;
 }
 
 // -== Researcher of the Book of Ymir ==-
@@ -151,12 +150,6 @@ yuno_in02.gat,90,77,4	script	Researcher	744,{
 	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,{
 	mes "[Valhallana]";
@@ -200,7 +193,7 @@ L_SN:
 L_ALREADY:
 	mes "I can't help you anymore.";
 	if(Class == Job_Novice_High) mes "You have been reborn already.";
-	if(Class >= Job_Swordman_High && Class <= Job_Thief_High) mes "Go and ask these people in the hall.";
+	if(Class >= Job_Swordman_High && Class <= Job_Thief_High) mes "Please go over there, to the person representing your class.";
 	next;
 
 L_NOTHING:
@@ -225,28 +218,12 @@ L_CHANGE:
 	mes "Let's start your reincarnation ceremony...";
 	next;
 
-	set ADVJOB,Class+4001; //memo the target 3rd Job ID
+	set ADVJOB, Class+Job_Novice_High; //memo the target 3rd Job ID
 	if(ADVJOB == Job_Lord_Knight2) set ADVJOB,Job_Lord_Knight;
 	if(ADVJOB == Job_Paladin2) set ADVJOB,Job_Paladin;
 
-//	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,"Thief 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,"Thief 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;
+	callfunc("F_SaveQuestSkills");
+
 	mes "[Valhallana]";
 	mes "Done...";
 	mes "Good luck.";
@@ -318,12 +295,7 @@ L_SKILLPNTS:
 //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
+//getarg(3) - current NPC's name
 
 function	script	F_ToHigh	{
 	if(Upper == 2) return; //Baby Class - skip it
@@ -340,12 +312,14 @@ function	script	F_ToHigh	{
 	if(Class == getarg(0)) goto L_WELCOME; //3rd Job
 	if(Class >= Job_Lord_Knight && Class <= Job_Paladin2) goto L_ALREADY; //already advanced class
 	if(Class == Job_Novice_High && @fjob == getarg(2)) goto L_GETHIGH; //High Novice -> High XXXX
-	if(Class == Job_Novice_High) mes "Hello, Novice High! If you are going to became a "+getarg(1)+", then go visit your very first job teacher.";
-	if(Class == Job_Novice_High) close;
+	if(Class == Job_Novice_High) {
+		mes "Hello, Novice High! If you are going to became a "+getarg(1)+", then go visit your very first job teacher.";
+		close;
+	}
 	return; //this char doesn't want to get HIGH class
 
 L_GETHIGH:
-	mes "["+getarg(8)+"]";
+	mes "["+getarg(3)+"]";
 	if(JobLevel < 10) goto L_NOTREADY;
 	if(checkcart(0)) goto L_CART;
 	if(checkfalcon(0)) goto L_FALCON;
@@ -356,27 +330,19 @@ L_GETHIGH:
 	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 "["+getarg(3)+"]";
 	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)+"]";
+	if(ADV_QSK){
+		mes "["+getarg(3)+"]";
+		mes "Let me just add in the missing Quest Skills you lost under the Reborn process, "+strcharinfo(0)+".";
+		next;
+		//return learnt quest skills
+		callfunc("F_Load1Skills");
+	}
+	mes "["+getarg(3)+"]";
 	mes "I wish you good fortune in the near future!";
 	emotion e_grat;
 	close;
@@ -408,13 +374,13 @@ L_PECO:
 	close;
 
 L_WELCOME:
-	mes "["+getarg(8)+"]";
+	mes "["+getarg(3)+"]";
 	mes "You are welcome, "+strcharinfo(0)+"!";
 	mes "We're always glad to see a "+getarg(1)+" here!";
 	close;
 
 L_ALREADY:
-	mes "["+getarg(8)+"]";
+	mes "["+getarg(3)+"]";
 	mes "It's such a big honor to salute envoys of Valhalla.";
 	mes "Come again.";
 	emotion e_ho;
@@ -446,6 +412,14 @@ L_GET3RD:
 	mes "You have trained well. Now stroll here as a "+getarg(3)+"!";
 	jobchange getarg(2); //Rebirth Class
 	set ADVJOB,0;
+	if(ADV_QSK2){
+		next;
+		mes "["+getarg(3)+"]";
+		mes "Let me just add in the missing Quest Skills you lost under the Reborn process, "+strcharinfo(0)+".";
+		next;
+		//return learnt quest skills
+		callfunc("F_Load2Skills");
+	}
 	close;
 
 L_NOTREADY:

+ 3 - 2
npc/jobs/1-1/acolyte.txt

@@ -3,7 +3,7 @@
 //===== By: ================================================== 
 //= kobra_k88
 //===== Current Version: ===================================== 
-//= 1.4
+//= 1.5
 //===== Compatible With: ===================================== 
 //= eAthena 1.0 +
 //===== Description: ========================================= 
@@ -15,12 +15,13 @@
 //= v1.2a Added instant job change for High Novice [Lupus]
 //= v1.3 Added Baby Class support [Lupus]
 //= v1.4 Optimised and moved first checker to Jfunc1-1 [massdriller]
+//= 1.5 Now saves/restores all quest skills [Lupus]
 //============================================================ 
 
 
 // -- Father Mareusis --
 prt_church.gat,184,41,4	script	Father Mareusis	60,{
-	callfunc "F_ToHigh",Job_Acolyte_High,"Acolyte High",Job_High_Priest,"High Priest",156,0,0,0,"Father Mareusis";
+	callfunc "F_ToHigh",Job_Acolyte_High,"Acolyte High",Job_High_Priest,"Father Mareusis";
 	mes "[Father Mareusis]";
 	if(BaseJob==Job_Novice && job_acolyte_q > 0) goto L_Check;
 	mes "What is it you are looking for?";

+ 3 - 2
npc/jobs/1-1/archer.txt

@@ -3,7 +3,7 @@
 //===== By: ================================================== 
 //= kobra_k88
 //===== Current Version: ===================================== 
-//= 1.4
+//= 1.5
 //===== Compatible With: ===================================== 
 //= eAthena 1.0 +
 //===== Description: ========================================= 
@@ -13,12 +13,13 @@
 //= v1.1 Added instant job change for High Novice [Lupus]
 //= v1.3 Added Baby Class support [Lupus]
 //= v1.4 Optimised and moved first checker to Jfunc1-1 [massdriller]
+//= 1.5 Now saves/restores all quest skills [Lupus]
 //============================================================ 
 
 
 // -- Archer Guildsman -- 
 payon_in02.gat,64,71,4	script	Archer Guildsman	59,{
-	callfunc "F_ToHigh",Job_Archer_High,"High Archer",Job_Sniper,"Sniper",147,148,0,0,"Archer Guildsman";
+	callfunc "F_ToHigh",Job_Archer_High,"High Archer",Job_Sniper,"Archer Guildsman";
 	mes "[Archer Guildsman]";
 	if(BaseJob==Job_Novice && job_archer_q == 1) goto L_Check;
 	mes "Good Day. How may I help you?";

+ 3 - 2
npc/jobs/1-1/mage.txt

@@ -3,7 +3,7 @@
 //===== By: ================================================== 
 //= kobra_k88
 //===== Current Version: ===================================== 
-//= 1.4
+//= 1.5
 //===== Compatible With: ===================================== 
 //= eAthena 1.0 +
 //===== Description: ========================================= 
@@ -14,12 +14,13 @@
 //= v1.2 Added instant job change for High Novice [Lupus]
 //= 1.3 Added Baby Class support [Lupus]
 //= v1.4 Optimised and moved first checker to Jfunc1-1 [massdriller]
+//= 1.5 Now saves/restores all quest skills [Lupus]
 //============================================================ 
 
 
 // -- Expert Mage -- 
 geffen_in.gat,164,124,4	script	Expert Mage	123,{
-	callfunc "F_ToHigh",Job_Mage_High,"High Mage",Job_High_Wizard,"High Wizard",157,0,0,0,"Expert Mage";
+	callfunc "F_ToHigh",Job_Mage_High,"High Mage",Job_High_Wizard,"Expert Mage";
 	if(BaseJob==Job_Novice && job_magician_q >= 1) goto L_BeMage;
 
 	mes "[Expert Mage]";

+ 3 - 2
npc/jobs/1-1/merchant.txt

@@ -3,7 +3,7 @@
 //===== By: ================================================== 
 //= kobra_k88
 //===== Current Version: ===================================== 
-//= 1.5
+//= 1.6
 //===== Compatible With: ===================================== 
 //= eAthena 1.0 +
 //===== Description: ========================================= 
@@ -14,13 +14,14 @@
 //= v1.3 Added Baby Class support [Lupus]
 //= v1.4 Optimised and moved first checker to Jfunc1-1 [massdriller]
 //= 1.5 Changed Prontera->Izlude teleport price to 600 [Lupus]
+//= 1.6 Now saves/restores all quest skills [Lupus]
 //============================================================ 
 
 
 // == Guild NPCs == 
 // -- Mahnsoo --
 alberta_in.gat,53,43,6	script	Chief Mahnsoo	86,{
-	callfunc "F_ToHigh",Job_Merchant_High,"Merchant High",Job_Whitesmith,"White Smith",153,154,155,0,"Chief Mahnsoo";
+	callfunc "F_ToHigh",Job_Merchant_High,"Merchant High",Job_Whitesmith,"Chief Mahnsoo";
 	mes "[Chief Mahnsoo]";
 	if(BaseJob==Job_Novice && job_merchant_q3 == 4) goto L_MakeMerc;
 	if(BaseJob==Job_Novice && job_merchant_q3 == 3) goto L_GiveRecpt;

+ 3 - 2
npc/jobs/1-1/swordman.txt

@@ -3,7 +3,7 @@
 //===== By: ================================================== 
 //= kobra_k88
 //===== Current Version: ===================================== 
-//= 1.6
+//= 1.7
 //===== Compatible With: ===================================== 
 //= eAthena 1.0 +
 //===== Description: ========================================= 
@@ -17,6 +17,7 @@
 //=     and are limited to 7min to complete the quest [Fredzilla]
 //= v1.5 Optimised and moved first checker to Jfunc1-1 [massdriller]
 //= 1.6 Fixed possible EXP abuse [Lupus]
+//= 1.7 Now saves/restores all quest skills [Lupus]
 //============================================================ 
 
 
@@ -55,7 +56,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",Job_Swordman_High,"Swordman High",Job_Lord_Knight,"Lord Knight",144,145,146,0,"Master Swordsman";
+	callfunc "F_ToHigh",Job_Swordman_High,"Swordman High",Job_Lord_Knight,"Master Swordsman";
 	mes "[Master Swordsman]";
 	if(BaseJob==Job_Novice && job_sword_q == 2) goto L_Done;
 	mes "Welcome to the Swordsman Association! So.. What business brings you to us?";

+ 2 - 1
npc/jobs/1-1/thief.txt

@@ -14,6 +14,7 @@
 //= 1.3 Added Baby Class support [Lupus]
 //= v1.4 Optimised and moved first checker to Jfunc1-1 [massdriller]
 //= Fixed possible EXP abuse [Lupus]
+//= 1.5 Now saves/restores all quest skills [Lupus]
 //============================================================
 
 
@@ -208,7 +209,7 @@ M_Menu:
 
 // -- Test Grader --
 moc_prydb1.gat,42,133,2	script	Comrade Brad	118,{
-	callfunc "F_ToHigh",Job_Thief_High,"Thief High",Job_Assassin_Cross,"Assassin Cross",149,150,151,152,"Brad";
+	callfunc "F_ToHigh",Job_Thief_High,"Thief High",Job_Assassin_Cross,"Brad";
 	if(BaseJob == 0) goto L_Novice;
 	if(BaseJob == 6) goto L_Thief;
 

+ 3 - 2
npc/jobs/2-1a/AssassinCross.txt

@@ -4,7 +4,7 @@
 //= Nana
 //= finished, optimized and tested by Lupus
 //===== Current Version: ===================================== 
-//= 1.2
+//= 1.3
 //===== Compatible With: ===================================== 
 //= eAthena 1.0 +
 //===== Description: ========================================= 
@@ -12,9 +12,10 @@
 //===== Additional Comments: ================================= 
 //= v1.1 Made all into functions, additional checks, etc. [Lupus]
 //= v1.2 Made numbers into constants. [Vicious]
+//= 1.3 Now saves/restores all the quest skills [Lupus]
 //============================================================ 
 
 // -== Assassin Cross ==-
 valkyrie.gat,44,58,6	script	Assassin Cross	725,{
-	callfunc "F_Rebirth",Job_Thief_High,"Thief High",Job_Assassin_Cross,"Assassin Cross",149,150,151,152;
+	callfunc "F_Rebirth",Job_Thief_High,"Thief High",Job_Assassin_Cross,"Assassin Cross";
 }

+ 3 - 2
npc/jobs/2-1a/HighPriest.txt

@@ -4,7 +4,7 @@
 //= Nana
 //= finished, optimized and tested by Lupus
 //===== Current Version: ===================================== 
-//= 1.2
+//= 1.3
 //===== Compatible With: ===================================== 
 //= eAthena 1.0 +
 //===== Description: ========================================= 
@@ -12,9 +12,10 @@
 //===== Additional Comments: ================================= 
 //= v1.1 Made all into functions, additional checks, etc. [Lupus]
 //= v1.2 Made numbers into constants. [Vicious]
+//= 1.3 Now saves/restores all the quest skills [Lupus]
 //============================================================ 
 
 // -== High Priest ==-
 valkyrie.gat,44,42,6	script	High Priest	60,{
-	callfunc "F_Rebirth",Job_Acolyte_High,"Acolyte High",Job_High_Priest,"High Priest",156,0,0,0;
+	callfunc "F_Rebirth",Job_Acolyte_High,"Acolyte High",Job_High_Priest,"High Priest";
 }

+ 3 - 2
npc/jobs/2-1a/HighWizard.txt

@@ -4,7 +4,7 @@
 //= Nana
 //= finished, optimized and tested by Lupus
 //===== Current Version: ===================================== 
-//= 1.2
+//= 1.3
 //===== Compatible With: ===================================== 
 //= eAthena 1.0 +
 //===== Description: ========================================= 
@@ -12,9 +12,10 @@
 //===== Additional Comments: ================================= 
 //= v1.1 Made all into functions, additional checks, etc. [Lupus]
 //= v1.2 Made numbers into constants. [Vicious]
+//= 1.3 Now saves/restores all the quest skills [Lupus]
 //============================================================ 
 
 // -== High Wizard ==-
 valkyrie.gat,44,47,6	script	High Wizard	735,{
-	callfunc "F_Rebirth",Job_Mage_High,"High Mage",Job_High_Wizard,"High Wizard",157,0,0,0;
+	callfunc "F_Rebirth",Job_Mage_High,"High Mage",Job_High_Wizard,"High Wizard";
 }

+ 3 - 2
npc/jobs/2-1a/LordKnight.txt

@@ -4,7 +4,7 @@
 //= Nana
 //= finished, optimized and tested by Lupus
 //===== Current Version: ===================================== 
-//= 1.2
+//= 1.3
 //===== Compatible With: ===================================== 
 //= eAthena 1.0 +
 //===== Description: ========================================= 
@@ -12,9 +12,10 @@
 //===== Additional Comments: ================================= 
 //= v1.1 Made all into functions, additional checks, etc. [Lupus]
 //= v1.2 Made numbers into constants. [Vicious]
+//= 1.3 Now saves/restores all the quest skills [Lupus]
 //============================================================ 
 
 // -== Lord Knight ==-
 valkyrie.gat,44,39,6	script	Lord Knight	56,{
-	callfunc "F_Rebirth",Job_Swordman_High,"Swordman High",Job_Lord_Knight,"Lord Knight",144,145,146,0;
+	callfunc "F_Rebirth",Job_Swordman_High,"Swordman High",Job_Lord_Knight,"Lord Knight";
 }

+ 3 - 2
npc/jobs/2-1a/Sniper.txt

@@ -4,7 +4,7 @@
 //= Nana
 //= finished, optimized and tested by Lupus
 //===== Current Version: ===================================== 
-//= 1.2
+//= 1.3
 //===== Compatible With: ===================================== 
 //= eAthena 1.0 +
 //===== Description: ========================================= 
@@ -12,9 +12,10 @@
 //===== Additional Comments: ================================= 
 //= v1.1 Made all into functions, additional checks, etc. [Lupus]
 //= v1.2 Made numbers into constants. [Vicious]
+//= 1.3 Now saves/restores all the quest skills [Lupus]
 //============================================================ 
 
 // -== Sniper ==-
 valkyrie.gat,44,55,6	script	Sniper	727,{
-	callfunc "F_Rebirth",Job_Archer_High,"High Archer",Job_Sniper,"Sniper",147,148,0,0;
+	callfunc "F_Rebirth",Job_Archer_High,"High Archer",Job_Sniper,"Sniper";
 }

+ 3 - 2
npc/jobs/2-1a/WhiteSmith.txt

@@ -4,7 +4,7 @@
 //= Nana
 //= finished, optimized and tested by Lupus
 //===== Current Version: ===================================== 
-//= 1.2
+//= 1.3
 //===== Compatible With: ===================================== 
 //= eAthena 1.0 +
 //===== Description: ========================================= 
@@ -12,9 +12,10 @@
 //===== Additional Comments: ================================= 
 //= v1.1 Made all into functions, additional checks, etc. [Lupus]
 //= v1.2 Made numbers into constants. [Vicious]
+//= 1.3 Now saves/restores all the quest skills [Lupus]
 //============================================================ 
 
 // -== White Smith ==-
 valkyrie.gat,44,51,6	script	White Smith	726,{
-	callfunc "F_Rebirth",Job_Merchant_High,"Merchant High",Job_Whitesmith,"White Smith",153,154,155,0;
+	callfunc "F_Rebirth",Job_Merchant_High,"Merchant High",Job_Whitesmith,"White Smith";
 }

+ 3 - 2
npc/jobs/2-2a/Champion.txt

@@ -4,7 +4,7 @@
 //= Nana
 //= finished, optimized and tested by Lupus
 //===== Current Version: ===================================== 
-//= 1.2
+//= 1.3
 //===== Compatible With: ===================================== 
 //= eAthena 1.0 +
 //===== Description: ========================================= 
@@ -12,9 +12,10 @@
 //===== Additional Comments: ================================= 
 //= v1.1 Made all into functions, additional checks, etc. [Lupus]
 //= v1.2 Made numbers into constants. [Vicious]
+//= 1.3 Now saves/restores all the quest skills [Lupus]
 //============================================================ 
 
 // -== Champion ==-
 valkyrie.gat,53,42,4	script	Champion	52,{
-	callfunc "F_Rebirth",Job_Acolyte_High,"Acolyte High",Job_Champion,"Champion",156,0,0,0;
+	callfunc "F_Rebirth",Job_Acolyte_High,"Acolyte High",Job_Champion,"Champion";
 }

+ 3 - 2
npc/jobs/2-2a/Clown.txt

@@ -4,7 +4,7 @@
 //= Nana
 //= finished, optimized and tested by Lupus
 //===== Current Version: ===================================== 
-//= 1.2
+//= 1.3
 //===== Compatible With: ===================================== 
 //= eAthena 1.0 +
 //===== Description: ========================================= 
@@ -12,9 +12,10 @@
 //===== Additional Comments: ================================= 
 //= v1.1 Made all into functions, additional checks, etc. [Lupus]
 //= v1.2 Made numbers into constants. [Vicious]
+//= 1.3 Now saves/restores all the quest skills [Lupus]
 //============================================================ 
 
 // -== Clown ==-
 valkyrie.gat,53,54,4z	script	Clown	741,{
-	callfunc "F_Rebirth",Job_Archer_High,"High Archer",Job_Clown,"Clown",147,148,0,0;
+	callfunc "F_Rebirth",Job_Archer_High,"High Archer",Job_Clown,"Clown";
 }

+ 3 - 2
npc/jobs/2-2a/Creator.txt

@@ -4,7 +4,7 @@
 //= Nana
 //= finished, optimized and tested by Lupus
 //===== Current Version: ===================================== 
-//= 1.2
+//= 1.3
 //===== Compatible With: ===================================== 
 //= eAthena 1.0 +
 //===== Description: ========================================= 
@@ -12,9 +12,10 @@
 //===== Additional Comments: ================================= 
 //= v1.1 Made all into functions, additional checks, etc. [Lupus]
 //= v1.2 Made numbers into constants. [Vicious]
+//= 1.3 Now saves/restores all the quest skills [Lupus]
 //============================================================ 
 
 // -== Creator ==-
 valkyrie.gat,53,50,6	script	Creator	122,{
-	callfunc "F_Rebirth",Job_Merchant_High,"Merchant High",Job_Creator,"Creator",153,154,155,0;
+	callfunc "F_Rebirth",Job_Merchant_High,"Merchant High",Job_Creator,"Creator";
 }

+ 3 - 2
npc/jobs/2-2a/Gypsy.txt

@@ -4,7 +4,7 @@
 //= Nana
 //= finished, optimized and tested by Lupus
 //===== Current Version: ===================================== 
-//= 1.2
+//= 1.3
 //===== Compatible With: ===================================== 
 //= eAthena 1.0 +
 //===== Description: ========================================= 
@@ -12,9 +12,10 @@
 //===== Additional Comments: ================================= 
 //= v1.1 Made all into functions, additional checks, etc. [Lupus]
 //= v1.2 Made numbers into constants. [Vicious]
+//= 1.3 Now saves/restores all the quest skills [Lupus]
 //============================================================ 
 
 // -== Gypsy ==-
 valkyrie.gat,53,56,4	script	Gypsy	101,{
-	callfunc "F_Rebirth",Job_Archer_High,"High Archer",Job_Gypsy,"Gypsy",147,148,0,0;
+	callfunc "F_Rebirth",Job_Archer_High,"High Archer",Job_Gypsy,"Gypsy";
 }

+ 3 - 2
npc/jobs/2-2a/Paladin.txt

@@ -4,7 +4,7 @@
 //= Nana
 //= finished, optimized and tested by Lupus
 //===== Current Version: ===================================== 
-//= 1.2
+//= 1.3
 //===== Compatible With: ===================================== 
 //= eAthena 1.0 +
 //===== Description: ========================================= 
@@ -12,9 +12,10 @@
 //===== Additional Comments: ================================= 
 //= v1.1 Made all into functions, additional checks, etc. [Lupus]
 //= v1.2 Made numbers into constants. [Vicious]
+//= 1.3 Now saves/restores all the quest skills [Lupus]
 //============================================================ 
 
 // -== Paladin ==-
 valkyrie.gat,53,39,4	script	Paladin	752,{
-	callfunc "F_Rebirth",Job_Swordman_High,"Swordman High",Job_Paladin,"Paladin",144,145,146,0;
+	callfunc "F_Rebirth",Job_Swordman_High,"Swordman High",Job_Paladin,"Paladin";
 }

+ 3 - 2
npc/jobs/2-2a/Professor.txt

@@ -4,7 +4,7 @@
 //= Nana
 //= finished, optimized and tested by Lupus
 //===== Current Version: ===================================== 
-//= 1.2
+//= 1.3
 //===== Compatible With: ===================================== 
 //= eAthena 1.0 +
 //===== Description: ========================================= 
@@ -12,9 +12,10 @@
 //===== Additional Comments: ================================= 
 //= v1.1 Made all into functions, additional checks, etc. [Lupus]
 //= v1.2 Made numbers into constants. [Vicious]
+//= 1.3 Now saves/restores all the quest skills [Lupus]
 //============================================================ 
 
 // -== Professor ==-
 valkyrie.gat,53,47,4	script	Professor	743,{
-	callfunc "F_Rebirth",Job_Mage_High,"High Mage",Job_Professor,"Professor",157,0,0,0;
+	callfunc "F_Rebirth",Job_Mage_High,"High Mage",Job_Professor,"Professor";
 }

+ 3 - 2
npc/jobs/2-2a/Stalker.txt

@@ -4,7 +4,7 @@
 //= Nana
 //= finished, optimized and tested by Lupus
 //===== Current Version: ===================================== 
-//= 1.2
+//= 1.3
 //===== Compatible With: ===================================== 
 //= eAthena 1.0 +
 //===== Description: ========================================= 
@@ -12,9 +12,10 @@
 //===== Additional Comments: ================================= 
 //= v1.1 Made all into functions, additional checks, etc. [Lupus]
 //= v1.2 Made numbers into constants. [Vicious]
+//= 1.3 Now saves/restores all the quest skills [Lupus]
 //============================================================ 
 
 // -== Stalker ==-
 valkyrie.gat,53,58,4	script	Stalker	747,{
-	callfunc "F_Rebirth",Job_Thief_High,"Thief High",Job_Stalker,"Stalker",149,150,151,152;
+	callfunc "F_Rebirth",Job_Thief_High,"Thief High",Job_Stalker,"Stalker";
 }

+ 8 - 6
npc/other/Global_Functions.txt

@@ -3,7 +3,7 @@
 //===== By: ================================================== 
 //= Lupus, kobra_k88
 //===== Current Version: ===================================== 
-//= 1.91
+//= 2.0
 //===== Compatible With: ===================================== 
 //= eAthena 1.0
 //===== Description: ========================================= 
@@ -21,6 +21,7 @@
 //= 1.8 Added Job Vars clear for Extended classes: TK,SL,SG [Lupus]
 //= 1.9 Added "F_ClearGarbage" func that clears outdated, wasted variables [Lupus]
 //= 1.91 Added "F_SaveQuestSkills","F_Load?Skills" functions [Lupus]
+//= 2.0 Fixed F_Save/LoadQuestSkills functions. Had to split in into 2 vars [Lupus]
 //============================================================ 
 
 
@@ -71,7 +72,7 @@ function	script	F_ClearGarbage	{
 	if(nif_q_done) {set nif_q_done,0; set MISC_QUEST,MISC_QUEST | 64;}
 	if(MORGEN >= 2) {set MISC_QUEST,MISC_QUEST | 4; set MORGEN,0;}
 	set nif_t,0;
-	//set QSK1,0; set QSK2,0; set QSK3,0; set QSK4,0; 
+	set QSK1,0; set QSK2,0; set QSK3,0; set QSK4,0;
 	return;
 }
 
@@ -417,14 +418,14 @@ function	script	getJobName	{
 // *** Function "F_SaveQuestSkills": Store learnt quest skills 
 //////////////////////////////////////////////////////////////////////////////////
 function	script	F_SaveQuestSkills	{
-	set ADV_QSK,0;
+	set ADV_QSK,0; set ADV_QSK2,0;
 	//1st classes quest skills
 	for(set @i, 0; @i < 14; set @i, @i + 1){
 		if(getskilllv(144+@i)) set ADV_QSK,ADV_QSK|pow(2,@i);
 	}
 	//2nd classes quest skills
 	for(set @i, 0; @i < 19; set @i, @i + 1){
-		if(getskilllv(1001+@i)) set ADV_QSK,ADV_QSK|pow(2,14+@i);
+		if(getskilllv(1001+@i)) set ADV_QSK2,ADV_QSK2|pow(2,@i);
 	}
 	return;
 }
@@ -437,6 +438,7 @@ function	script	F_Load1Skills	{
 	for(set @i, 0; @i < 14; set @i, @i + 1){
 		if(ADV_QSK|pow(2,@i) == ADV_QSK) skill 144+@i,1,0;
 	}
+	set ADV_QSK,0; //Clear var
 	return;
 }
 
@@ -446,8 +448,8 @@ function	script	F_Load1Skills	{
 function	script	F_Load2Skills	{
 	//2nd classes quest skills
 	for(set @i, 0; @i < 19; set @i, @i + 1){
-		if(ADV_QSK|pow(2,14+@i) == ADV_QSK) skill 1001+@i,1,0;
+		if(ADV_QSK2|pow(2,@i) == ADV_QSK2) skill 1001+@i,1,0;
 	}
-	set ADV_QSK,0; //Clear var
+	set ADV_QSK2,0; //Clear var
 	return;
 }