Sfoglia il codice sorgente

- Updated the jobmaster custom script to properly use Job_* constants rather than hardcoded numbers. Thanks to Pxxx for doing the update.

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@5590 54d463be-8e91-2dee-dedb-b68131a5f0ec
skotlex 19 anni fa
parent
commit
e9fc1d9198
2 ha cambiato i file con 98 aggiunte e 76 eliminazioni
  1. 4 0
      npc/Changelog.txt
  2. 94 76
      npc/custom/jobs/jobmaster.txt

+ 4 - 0
npc/Changelog.txt

@@ -27,6 +27,10 @@ Nexon
 
 Date		Added
 ======
+03/13
+	* Updated the jobmaster custom script to properly use Job_* constants
+	  rather than hardcoded numbers. Thanks to Pxxx for doing the update.
+	  [Skotlex]
 03/12
 	* Amatsu Field. Replaced Hydras with official G_HYDRA (w/o drops) [Lupus]
 03/11

+ 94 - 76
npc/custom/jobs/jobmaster.txt

@@ -3,7 +3,7 @@
 //===== By: ==================================================
 //= eAthena Dev Team [LunatikBunnie] (Editted by Amada`)
 //===== Current Version: =====================================
-//= 1.3
+//= 1.4
 //===== Compatible With: =====================================
 //= Any Athena Version
 //===== Description: =========================================
@@ -12,6 +12,8 @@
 //= Editted menu to avoid button mashing.
 //= 1.3 Added TK/SL/SG, thanks to Haplo. Fixed minor bugs [Lupus]
 //=    script leaves grabage variable: 'lastJob'
+//= 1.4 Added NJ/GS, changed all job numbers to Job_* constants. 
+//=    All credits go to pxxx [Skotlex]
 //============================================================
 
 // ------------------------------ Start ------------------------------
@@ -25,35 +27,35 @@ prontera.gat,153,193,6	script	Job Master	123,{
 	if(SkillPoint != 0) goto L_skillUsed;
 	if(Class == Job_Novice) goto L_novice;
 	if(JobLevel <10) goto L_notEn;
-	if((Class ==Job_Novice_High) && ((lastJob ==7) || (lastJob ==14))) goto L_cHsword;
-	if((Class ==Job_Novice_High) && ((lastJob ==9) || (lastJob ==16))) goto L_cHmage;
-	if((Class ==Job_Novice_High) && ((lastJob ==11) || (lastJob ==19) || (lastJob ==20))) goto L_cHarcher;
-	if((Class ==Job_Novice_High) && ((lastJob ==8) || (lastJob ==15))) goto L_cHacolyte;
-	if((Class ==Job_Novice_High) && ((lastJob ==10) || (lastJob ==18))) goto L_cHmerchant;
-	if((Class ==Job_Novice_High) && ((lastJob ==12) || (lastJob ==17))) goto L_cHthief;
+	if((Class ==Job_Novice_High) && ((lastJob ==Job_Knight) || (lastJob ==Job_Crusader))) goto L_cHsword;
+	if((Class ==Job_Novice_High) && ((lastJob ==Job_Wizard) || (lastJob ==Job_Sage))) goto L_cHmage;
+	if((Class ==Job_Novice_High) && ((lastJob ==Job_Hunter) || (lastJob ==Job_Bard) || (lastJob ==Job_Dancer))) goto L_cHarcher;
+	if((Class ==Job_Novice_High) && ((lastJob ==Job_Priest) || (lastJob ==Job_Monk))) goto L_cHacolyte;
+	if((Class ==Job_Novice_High) && ((lastJob ==Job_Blacksmith) || (lastJob ==Job_Alchem))) goto L_cHmerchant;
+	if((Class ==Job_Novice_High) && ((lastJob ==Job_Assassin) || (lastJob ==Job_Rogue))) goto L_cHthief;
 	if(JobLevel <@MinimumJB) goto L_notEn;
-	if(Class ==1) goto L_iSword;
-	if(Class ==2) goto L_iMage;
-	if(Class ==3) goto L_iArcher;
-	if(Class ==4) goto L_iAcolyte;
-	if(Class ==5) goto L_iMerchant;
-	if(Class ==6) goto L_iThief;
-	if(Class ==4046) goto L_iTaekwon;
+	if(Class ==Job_Swordman) goto L_iSword;
+	if(Class ==Job_Mage) goto L_iMage;
+	if(Class ==Job_Archer) goto L_iArcher;
+	if(Class ==Job_Acolytle) goto L_iAcolyte;
+	if(Class ==Job_Merchant) goto L_iMerchant;
+	if(Class ==Job_Thief) goto L_iThief;
+	if(Class ==Job_Taekwon) goto L_iTaekwon;
 	if(checkfalcon(0) || checkcart(0) || checkriding(0)) goto L_remove;
-	if(lastJob ==7) goto L_iKnight;
-	if(lastJob ==8) goto L_iPriest;
-	if(lastJob ==9) goto L_iWizard;
-	if(lastJob ==10) goto L_iBlacksmith;
-	if(lastJob ==11) goto L_iHunter;
-	if(lastJob ==12) goto L_iAssassin;
-	if(lastJob ==14) goto L_iCrusader;
-	if(lastJob ==15) goto L_iMonk;
-	if(lastJob ==16) goto L_iSage;
-	if(lastJob ==17) goto L_iRogue;
-	if(lastJob ==18) goto L_iAlchemist;
-	if(lastJob ==19) goto L_iBard;
-	if(lastJob ==20) goto L_iDancer;
-	if((Class >=7) && (Class <=20)) goto L_rebirth;
+	if(lastJob ==Job_Knight) goto L_iKnight;
+	if(lastJob ==Job_Priest) goto L_iPriest;
+	if(lastJob ==Job_Wizard) goto L_iWizard;
+	if(lastJob ==Job_Blacksmith) goto L_iBlacksmith;
+	if(lastJob ==Job_Hunter) goto L_iHunter;
+	if(lastJob ==Job_Assassin) goto L_iAssassin;
+	if(lastJob ==Job_Crusader) goto L_iCrusader;
+	if(lastJob ==Job_Monk) goto L_iMonk;
+	if(lastJob ==Job_Sage) goto L_iSage;
+	if(lastJob ==Job_Rogue) goto L_iRogue;
+	if(lastJob ==Job_Alchem) goto L_iAlchemist;
+	if(lastJob ==Job_Bard) goto L_iBard;
+	if(lastJob ==Job_Dancer) goto L_iDancer;
+	if((Class >=Job_Knight) && (Class <=Job_Dancer)) goto L_rebirth;
 	close;
 
 // Novice
@@ -63,47 +65,47 @@ prontera.gat,153,193,6	script	Job Master	123,{
 		if(JobLevel<10) goto L_notEn;
 		mes "^ff0000[Job Master]^000000";
 		mes "Welcome, please select the job you wish to change into";
-		menu "Swordsman",L_sword,"Mage",L_mage,"Archer",L_archer,"Acolyte",L_acolyte,"Merchant",L_merchant,"Thief",L_thief,"Super Novice",L_superN,"Taekwon",L_taekwon;
+		menu "Swordsman",L_sword,"Mage",L_mage,"Archer",L_archer,"Acolyte",L_acolyte,"Merchant",L_merchant,"Thief",L_thief,"Super Novice",L_superN,"Taekwon",L_taekwon,"Gunslinger",L_gun,"Ninja",L_ninja;
 // Change to Swordsman
 			L_sword:
 				mes "Are you SURE?";
 				menu "No",L_quit,"Yes",-;
-				jobchange 1;
+				jobchange Job_Swordman;
 				if(@GivePlat) goto L_GivePlat;
 				close;
 // Change to Mage
 			L_mage:
 				mes "Are you SURE?";
 				menu "No",L_quit,"Yes",-;
-				jobchange 2;
+				jobchange Job_Mage;
 				if(@GivePlat) goto L_GivePlat;
 				close;
 // Change to Archer
 			L_archer:
 				mes "Are you SURE?";
 				menu "No",L_quit,"Yes",-;
-				jobchange 3;
+				jobchange Job_Archer;
 				if(@GivePlat) goto L_GivePlat;
 				close;
 // Change to Acolyte
 			L_acolyte:
 				mes "Are you SURE?";
 				menu "No",L_quit,"Yes",-;
-				jobchange 4;
+				jobchange Job_Acolyte;
 				if(@GivePlat) goto L_GivePlat;
 				close;
 // Change to Merchant
 			L_merchant:
 				mes "Are you SURE?";
 				menu "No",L_quit,"Yes",-;
-				jobchange 5;
+				jobchange Job_Merchant;
 				if(@GivePlat) goto L_GivePlat;
 				close;
 // Change to Thief
 			L_thief:
 				mes "Are you SURE?";
 				menu "No",L_quit,"Yes",-;
-				jobchange 6;
+				jobchange Job_Thief;
 				if(@GivePlat) goto L_GivePlat;
 				close;
 // Change to Super Novice
@@ -111,7 +113,7 @@ prontera.gat,153,193,6	script	Job Master	123,{
 				mes "Are you SURE?";
 				menu "No",L_quit,"Yes",-;
 				if(BaseLevel<@SupNovM) goto L_notSup;
-				jobchange 23;
+				jobchange Job_SuperNovice;
 				if(@GivePlat) goto L_GivePlat;
 				close;
 // Change to Taekwon
@@ -121,6 +123,21 @@ prontera.gat,153,193,6	script	Job Master	123,{
 				jobchange Job_Taekwon;
 				callfunc "F_ClearJobVar";
 				close;
+// Change to Gunslinger
+			L_gun:
+				mes "Are you SURE?";
+				menu "No",L_quit,"Yes",-;
+				jobchange Job_Gunslinger;
+				callfunc "F_ClearJobVar";
+				close;
+// Change to Ninja
+			L_ninja:
+				mes "Are you SURE?";
+				menu "No",L_quit,"Yes",-;
+				jobchange Job_Ninja;
+				callfunc "F_ClearJobVar";
+				close;
+
 // Change to Knight/Crusader
 	L_iSword:
 		mes "^ff0000[Job Master]^000000";
@@ -129,13 +146,13 @@ prontera.gat,153,193,6	script	Job Master	123,{
 			L_knight:
 				mes "Are you SURE?";
 				menu "No",L_quit,"Yes",-;
-				jobchange 7;
+				jobchange Job_Knight;
 				if(@GivePlat) goto L_GivePlat;
 				close;
 			L_crusader:
 				mes "Are you SURE?";
 				menu "No",L_quit,"Yes",-;
-				jobchange 14;
+				jobchange Job_Crusader;
 				if(@GivePlat) goto L_GivePlat;
 				close;
 // Change to Wizard/Sage
@@ -146,13 +163,13 @@ prontera.gat,153,193,6	script	Job Master	123,{
 			L_wizard:
 				mes "Are you SURE?";
 				menu "No",L_quit,"Yes",-;
-				jobchange 9;
+				jobchange Job_Wizard;
 				if(@GivePlat) goto L_GivePlat;
 				close;
 			L_sage:
 				mes "Are you SURE?";
 				menu "No",L_quit,"Yes",-;
-				jobchange 16;
+				jobchange Job_Sage;
 				if(@GivePlat) goto L_GivePlat;
 				close;
 // Change to Hunter/Bard/Dancer
@@ -163,7 +180,7 @@ prontera.gat,153,193,6	script	Job Master	123,{
 			L_hunter:
 				mes "Are you SURE?";
 				menu "No",L_quit,"Yes",-;
-				jobchange 11;
+				jobchange Job_Hunter;
 				if(@GivePlat) goto L_GivePlat;
 				close;
 			L_bandd:
@@ -172,13 +189,13 @@ prontera.gat,153,193,6	script	Job Master	123,{
 				L_bard:
 					mes "Are you SURE?";
 					menu "No",L_quit,"Yes",-;
-					jobchange 19;
+					jobchange Job_Bard;
 					if(@GivePlat) goto L_GivePlat;
 					close;
 				L_dancer:
 					mes "Are you SURE?";
 					menu "No",L_quit,"Yes",-;
-					jobchange 20;
+					jobchange Job_Dancer;
 					if(@GivePlat) goto L_GivePlat;
 					close;
 // Change to Priest/Monk
@@ -189,13 +206,13 @@ prontera.gat,153,193,6	script	Job Master	123,{
 			L_priest:
 				mes "Are you SURE?";
 				menu "No",L_quit,"Yes",-;
-				jobchange 8;
+				jobchange Job_Priest;
 				if(@GivePlat) goto L_GivePlat;
 				close;
 			L_monk:
 				mes "Are you SURE?";
 				menu "No",L_quit,"Yes",-;
-				jobchange 15;
+				jobchange Job_Monk;
 				if(@GivePlat) goto L_GivePlat;
 				close;
 // Change to Blacksmith/Alchemist
@@ -206,13 +223,13 @@ prontera.gat,153,193,6	script	Job Master	123,{
 			L_blacksmith:
 				mes "Are you SURE?";
 				menu "No",L_quit,"Yes",-;
-				jobchange 10;
+				jobchange Job_Blacksmith;
 				if(@GivePlat) goto L_GivePlat;
 				close;
 			L_alchemist:
 				mes "Are you SURE?";
 				menu "No",L_quit,"Yes",-;
-				jobchange 18;
+				jobchange Job_Alchem;
 				if(@GivePlat) goto L_GivePlat;
 				close;
 // Change to Assassin/Rogue
@@ -223,13 +240,13 @@ prontera.gat,153,193,6	script	Job Master	123,{
 			L_assassin:
 				mes "Are you SURE?";
 				menu "No",L_quit,"Yes",-;
-				jobchange 12;
+				jobchange Job_Assassin;
 				if(@GivePlat) goto L_GivePlat;
 				close;
 			L_rogue:
 				mes "Are you SURE?";
 				menu "No",L_quit,"Yes",-;
-				jobchange 17;
+				jobchange Job_Rogue;
 				if(@GivePlat) goto L_GivePlat;
 				close;
 // Change to Star Gladiator/Soul Linker
@@ -258,7 +275,7 @@ prontera.gat,153,193,6	script	Job Master	123,{
 		menu "No",L_quit,"Yes",-;
 		if ((BaseLevel < 99) || (JobLevel < 50)) goto L_cantCh;
 		set lastJob, readparam(19);
-		jobchange 24;
+		jobchange Job_Novice_High;
 		resetlvl(1);
 		skill 142,1,0;
 		skill 143,1,0;
@@ -271,7 +288,7 @@ prontera.gat,153,193,6	script	Job Master	123,{
 		mes "Do you want to change into a High Swordsman?";
 		next;
 		menu "No",L_quit,"Yes",-;
-		jobchange 25;
+		jobchange Job_Swordman_High;
 		mes "^ff0000[Job Master]^000000";
 		mes "Thank you, please come again soon!";
 		close;
@@ -280,7 +297,7 @@ prontera.gat,153,193,6	script	Job Master	123,{
 		mes "Do you want to change into a High Mage?";
 		next;
 		menu "No",L_quit,"Yes",-;
-		jobchange 26;
+		jobchange Job_Mage_High;
 		mes "^ff0000[Job Master]^000000";
 		mes "Thank you, please come again soon!";
 		close;
@@ -289,7 +306,7 @@ prontera.gat,153,193,6	script	Job Master	123,{
 		mes "Do you want to change into a High Archer?";
 		next;
 		menu "No",L_quit,"Yes",-;
-		jobchange 27;
+		jobchange Job_Archer_High;
 		mes "^ff0000[Job Master]^000000";
 		mes "Thank you, please come again soon!";
 		close;
@@ -298,7 +315,7 @@ prontera.gat,153,193,6	script	Job Master	123,{
 		mes "Do you want to change into a High Acolyte?";
 		next;
 		menu "No",L_quit,"Yes",-;
-		jobchange 28;
+		jobchange Job_Acolyte_High;
 		mes "^ff0000[Job Master]^000000";
 		mes "Thank you, please come again soon!";
 		close;
@@ -307,7 +324,7 @@ prontera.gat,153,193,6	script	Job Master	123,{
 		mes "Do you want to change into a High Merchant?";
 		next;
 		menu "No",L_quit,"Yes",-;
-		jobchange 29;
+		jobchange Job_Merchant_High;
 		mes "^ff0000[Job Master]^000000";
 		mes "Thank you, please come again soon!";
 		close;
@@ -316,7 +333,7 @@ prontera.gat,153,193,6	script	Job Master	123,{
 		mes "Do you want to change into a High Thief?";
 		next;
 		menu "No",L_quit,"Yes",-;
-		jobchange 30;
+		jobchange Job_Thief_High;
 		mes "^ff0000[Job Master]^000000";
 		mes "Thank you, please come again soon!";
 		close;	
@@ -325,7 +342,7 @@ prontera.gat,153,193,6	script	Job Master	123,{
 		mes "^ff0000[Job Master]^000000";
 		mes "Do you want to change into a Lord Knight?";
 		menu "No",L_quit,"Yes",-;
-			jobchange 31;
+			jobchange Job_Lord_Knight;
 			if(@GivePlat) goto L_GivePlat;
 			close;
 // Change to Paladin
@@ -333,7 +350,7 @@ prontera.gat,153,193,6	script	Job Master	123,{
 		mes "^ff0000[Job Master]^000000";
 		mes "Do you want to change into a Paladin?";
 		menu "No",L_quit,"Yes",-;
-			jobchange 38;
+			jobchange Job_Paladin;
 			if(@GivePlat) goto L_GivePlat;
 			close;
 // Change to High Priest
@@ -341,7 +358,7 @@ prontera.gat,153,193,6	script	Job Master	123,{
 		mes "^ff0000[Job Master]^000000";
 		mes "Do you want to change into a High Priest?";
 		menu "No",L_quit,"Yes",-;
-			jobchange 32;
+			jobchange Job_High_Priest;
 			if(@GivePlat) goto L_GivePlat;
 			close;
 // Change to Champion
@@ -349,7 +366,7 @@ prontera.gat,153,193,6	script	Job Master	123,{
 		mes "^ff0000[Job Master]^000000";
 		mes "Do you want to change into a Champion?";
 		menu "No",L_quit,"Yes",-;
-			jobchange 39;
+			jobchange Job_Champion;
 			if(@GivePlat) goto L_GivePlat;
 			close;
 // Change to Whitesmith
@@ -357,7 +374,7 @@ prontera.gat,153,193,6	script	Job Master	123,{
 		mes "^ff0000[Job Master]^000000";
 		mes "Do you want to change into a Whitesmith?";
 		menu "No",L_quit,"Yes",-;
-			jobchange 34;
+			jobchange Job_Whitesmith;
 			if(@GivePlat) goto L_GivePlat;
 			close;
 // Change to Creator
@@ -365,7 +382,7 @@ prontera.gat,153,193,6	script	Job Master	123,{
 		mes "^ff0000[Job Master]^000000";
 		mes "Do you want to change into a Creator?";
 		menu "No",L_quit,"Yes",-;
-			jobchange 42;
+			jobchange Job_Creator;
 			if(@GivePlat) goto L_GivePlat;
 			close;
 // Change to High Wizard
@@ -373,7 +390,7 @@ prontera.gat,153,193,6	script	Job Master	123,{
 		mes "^ff0000[Job Master]^000000";
 		mes "Do you want to change into a High Wizard?";
 		menu "No",L_quit,"Yes",-;
-			jobchange 33;
+			jobchange Job_High_Wizard;
 			if(@GivePlat) goto L_GivePlat;
 			close;
 // Change to Professor
@@ -381,7 +398,7 @@ prontera.gat,153,193,6	script	Job Master	123,{
 		mes "^ff0000[Job Master]^000000";
 		mes "Do you want to change into a Professor?";
 		menu "No",L_quit,"Yes",-;
-			jobchange 40;
+			jobchange Job_Professor;
 			if(@GivePlat) goto L_GivePlat;
 			close;
 // Change to Sniper
@@ -389,7 +406,7 @@ prontera.gat,153,193,6	script	Job Master	123,{
 		mes "^ff0000[Job Master]^000000";
 		mes "Do you want to change into a Sniper?";
 		menu "No",L_quit,"Yes",-;
-			jobchange 35;
+			jobchange Job_Sniper;
 			if(@GivePlat) goto L_GivePlat;
 			close;
 // Change to Clown
@@ -397,7 +414,7 @@ prontera.gat,153,193,6	script	Job Master	123,{
 		mes "^ff0000[Job Master]^000000";
 		mes "Do you want to change into a Clown?";
 		menu "No",L_quit,"Yes",-;
-			jobchange 43;
+			jobchange Job_Clown;
 			if(@GivePlat) goto L_GivePlat;
 			close;
 // Change to Gypsy
@@ -405,7 +422,7 @@ prontera.gat,153,193,6	script	Job Master	123,{
 		mes "^ff0000[Job Master]^000000";
 		mes "Do you want to change into a Gypsy?";
 		menu "No",L_quit,"Yes",-;
-			jobchange 44;
+			jobchange Job_Gypsy;
 			if(@GivePlat) goto L_GivePlat;
 			close;
 // Change to Assassin Cross
@@ -413,7 +430,7 @@ prontera.gat,153,193,6	script	Job Master	123,{
 		mes "^ff0000[Job Master]^000000";
 		mes "Do you want to change into an Assassin Cross?";
 		menu "No",L_quit,"Yes",-;
-			jobchange 36;
+			jobchange Job_Assassin_Cross;
 			if(@GivePlat) goto L_GivePlat;
 			close;
 // Change to Stalker
@@ -421,18 +438,19 @@ prontera.gat,153,193,6	script	Job Master	123,{
 		mes "^ff0000[Job Master]^000000";
 		mes "Do you want to change into a Stalker?";
 		menu "No",L_quit,"Yes",-;
-			jobchange 41;
+			jobchange Job_Stalker;
 			if(@GivePlat) goto L_GivePlat;
 			close;
 // Giving Platinum Skills
 	L_GivePlat:
-		if (BaseJob==Job_SuperNovice) goto L_sSuperN;
-		if ((Class==Job_Swordman) || (Class==7) || (Class==13) || (Class==14)|| (Class==21) || (Class==4002) || (Class==4008)) goto L_sSword;
-		if ((Class==Job_Mage) || (Class==9) || (Class==16) || (Class==4003) || (Class==4010) || (Class==4017)) goto L_sMage;
-		if ((Class==Job_Archer) || (Class==11) || (Class==19) || (Class==20) || (Class==4004) || (Class==4012) || (Class==4020) || (Class==4021)) goto L_sArcher;
-		if ((Class==Job_Acolyte) || (Class==8) || (Class==15) || (Class==50) || (Class==54) || (Class==61) || (Class==4005) || (Class==4009) || (Class==4016)) goto L_sAcolyte;
-		if ((Class==Job_Merchant) || (Class==10) || (Class==18) || (Class==51) || (Class==56) || (Class==64) || (Class==4006) || (Class==4011) || (Class==4019)) goto L_sMerchant;
-		if ((Class==Job_Thief) || (Class==12) || (Class==17) || (Class==52) || (Class==58) || (Class==63) || (Class==4007) || (Class==4013) || (Class==4018)) goto L_sThief;
+		if (BaseClass==Job_SuperNovice) goto L_sSuperN;
+		if (BaseClass==Job_Swordman) goto L_sSword;
+		if (BaseClass==Job_Mage) goto L_sMage;
+		if (BaseClass==Job_Archer) goto L_sArcher;
+		if (BaseClass==Job_Acolyte) goto L_sAcolyte;
+		if (BaseClass==Job_Merchant) goto L_sMerchant;
+		if (BaseClass==Job_Thief) goto L_sThief;
+			close;
 		L_sSuperN:
 			skill 142,1,0;
 			close;