Browse Source

1s job skill quests optimization. now using @temp vars

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@8820 54d463be-8e91-2dee-dedb-b68131a5f0ec
Lupus 18 năm trước cách đây
mục cha
commit
2f788df6b6

+ 2 - 4
npc/Changelog.txt

@@ -11,9 +11,6 @@ Mass Zero
 	* Redoing lots of the custom scripts.
 Massdriller
 	* Correcting & Bugfixing scripts
-MasterOfMuppets
-	* Working on The Sign Quest atm.
-	* Updating Items / Scripts
 erKURITA
 	* Warps maintainment
 Evera
@@ -35,9 +32,10 @@ Date		Added
 09/20
 	* Final optimization of Niflheim quests [Lupus]
 	- Book of Devil Quest uses bit-wise var MISC_QUEST | 256. Removed extra vars
-	- Piano Quest uses 1 bit-wise temp var instead of 5.
+	- Piano Quest uses 1 bit-wise temp var instead of 5 variables.
 	- Clear Niflheim garbage vars in Global_Functions.txt 
 	- Added few missing NEXT; into job quests, thanks to $ephiroth
+	- Changed permanent variables in 1st Job Quest skills to @temp ones
 09/19
 	* Fixed rpsroulette.txt, giving 10 blue potions as prize instead of the 20 it said. Also fixed
 	  a missing variable in sphinx_mask.txt. Noticed by JTE and fixed by Warian [erKURITA]

+ 6 - 0
npc/other/Global_Functions.txt

@@ -37,6 +37,10 @@
 function	script	F_ClearJobVar	{
 	// Misc ---------------------------------
 	set JBLVL,0;
+	set FIRSTAID,0;
+	set PLAYDEAD,0;
+	set got_bandage,0;
+	set got_novnametag,0;
 	// First Class Jobs ---------------------
 	set job_acolyte_q,0; set job_acolyte_q2,0;
 	set job_archer_q,0;
@@ -88,6 +92,8 @@ function	script	F_ClearGarbage	{
 	set niflheimlost2,0; set niflheimlost,0; set lostgirl,0;
 	set nif_random,0; set nif_random1,0;
 	if(MISC_QUEST&32){set nif_quest1,0; set nif_quest2,0; set nif_quest3,0; set nif_quest4,0; set nif_quest5,0;}
+	set ARWCRFT,0; set HOLYLIGHT,0; set ARWREP,0; set ENRGYCOAT,0; set CRAZYROAR,0; set CHANGECART,0; set CARTREVO,0;
+	set SANDATTACK,0; set STONEFLING,0; set BACKSLIDE,0; set BAGNFNTY,0;
 	return;
 }
 

+ 8 - 7
npc/quests/skills/acolyte_skills.txt

@@ -3,7 +3,7 @@
 //===== By: ==================================================
 //= kobra_k88
 //===== Current Version: =====================================
-//= 1.4
+//= 1.4a
 //===== Compatible With: =====================================
 //= eAthena 7.15 +
 //===== Description: =========================================
@@ -14,6 +14,7 @@
 //= 1.2 Added Baby Class Support [Lupus]
 //= 1.3 Removed callfunc Is_####_Class in favor of baseClass [Silentdragon]
 //= 1.4 Fixed an exploit [Lupus]
+//= 1.4a changed perm. variables to temp ones [Lupus]
 //============================================================
 
 
@@ -29,8 +30,8 @@ L_Other:
 	close;
 
 L_Start:
-	if (HOLYLIGHT == 1) goto L_Check;
-	if (getskilllv(156)>0) goto L_GotSkill;
+	if(@HOLYLIGHT) goto L_Check;
+	if(getskilllv(156)>0) goto L_GotSkill;
 	if(sex==1) mes "Ahh... Brother!";
 	if(sex==0) mes "Ahh... Sister!";
 	mes "Does the task of caring for our lost sheep tire you out? Is it too";
@@ -73,7 +74,7 @@ L_Start:
 			next;
 			mes "[Acolyte Klift]";
 			mes "Come back when you are ready.  I will be here.";
-			set HOLYLIGHT, 1;
+			set @HOLYLIGHT, 1;
 			close;
 	M_End:
 		mes "[Acolyte Klift]";
@@ -85,8 +86,8 @@ L_Check:
 	mes "So, are you ready for the Holy Light training? Let me check....";
 	next;
 	mes "[Acolyte Klift]";
-	if (BaseJob==Job_Acolyte && JobLevel<30) goto L_LowLvl;
-	if (countitem(727)<1 || countitem(991)<1 || countitem(2608)<1) goto L_NoItems;
+	if(BaseJob==Job_Acolyte && JobLevel<30) goto L_LowLvl;
+	if(countitem(727)<1 || countitem(991)<1 || countitem(2608)<1) goto L_NoItems;
 	delitem 727,1;
 	delitem 991,1;
 	delitem 2608,1;
@@ -101,7 +102,7 @@ L_Check:
 	mes "Yes! I feel it. You have released your hidden abilities and can now";
 	mes "use ^5555FFHoly Light^000000!";
 	skill 156,1,0;
-	set HOLYLIGHT, 0;
+	set @HOLYLIGHT, 0;
 	next;
 	mes "[Priest]";
 	mes "You have done well.  May God bless you!";

+ 16 - 15
npc/quests/skills/archer_skills.txt

@@ -3,7 +3,7 @@
 //===== By: ==================================================
 //= eAthena dev team
 //===== Current Version: =====================================
-//= 1.4
+//= 1.4b
 //===== Compatible With: =====================================
 //= eAthena 7.15 +
 //===== Description: =========================================
@@ -18,6 +18,7 @@
 //= 1.3 Removed callfunc Is_####_Class in favor of baseClass [Silentdragon]
 //= 1.4 Fixed exploits [Lupus]
 //= 1.4a Fixed some typos [IVBela]
+//= 1.4b changed perm. variables to temp ones [Lupus]
 //============================================================
 
 
@@ -25,7 +26,7 @@
 //<======================== Roberto: Arrow crafting =========================>\\
 morocc.gat,121,109,5	script	Roberto	88,{
 	mes "[Roberto]";
-	if (baseClass == Job_Archer) goto L_Start;
+	if(baseClass == Job_Archer) goto L_Start;
 
 L_Other:
 	mes "Eh?... First time seeing an archer or something? Why don't you just";
@@ -34,9 +35,9 @@ L_Other:
 	emotion e_what;
 	close;
 L_Start:
-	if (BaseJob==Job_Archer && JobLevel<30) goto L_LowLvl;
-	if (getskilllv(147)>0) goto L_GotSkill;
-	if (ARWCRFT == 1) goto L_GetSkill;
+	if(BaseJob==Job_Archer && JobLevel<30) goto L_LowLvl;
+	if(getskilllv(147)>0) goto L_GotSkill;
+	if(@ARWCRFT) goto L_GetSkill;
 	mes "Hmmm?.... Oh you seem to be a high level Archer type.  Why don't we";
 	mes "converse for a while, eh? Let me start off by talking about my";
 	mes "childhood.... . . . . . . . . . . .";
@@ -74,7 +75,7 @@ L_Start:
 		mes "41 Pointed Scales,";
 		mes "13 Trunks,";
 		mes "1 Red potion^000000";
-		set ARWCRFT, 1;
+		set @ARWCRFT, 1;
 		emotion e_ic;
 		close;
 	M_1:
@@ -92,7 +93,7 @@ L_Start:
 		close;
 
 L_GetSkill:
-	if ((countitem(907)<20) || (countitem(7033)<7) || (countitem(906)<41) || (countitem(1019)<13) || (countitem(501)<1)) goto L_NotEnuf;
+	if((countitem(907)<20) || (countitem(7033)<7) || (countitem(906)<41) || (countitem(1019)<13) || (countitem(501)<1)) goto L_NotEnuf;
 	delitem 907, 20;
 	delitem 7033, 7;
 	delitem 906, 41;
@@ -117,7 +118,7 @@ L_GetSkill:
 	mes "kind of unique and lengthy training.......";
 	next;
 	skill 147,1,0;
-	set ARWCRFT, 0;
+	set @ARWCRFT, 0;
 	mes "[Roberto]";
 	mes "...... Well good luck and have fun making arrows.  I've got other";
 	mes "things to do if you don't mind.......";
@@ -148,15 +149,15 @@ L_LowLvl:
 //<============================== Arrow Repel ===============================>\\
 payon.gat,103,63,5	script	Jason	88,{
 	mes "[Jason]";
-	if (baseClass == Job_Archer) goto L_Start;
+	if(baseClass == Job_Archer) goto L_Start;
 
 L_Other:
 	mes "What does life need from a lonely lad like me?";
 	close;
 L_Start:
-	if (getskilllv(148)>0) goto L_GotSkill;
-	if (BaseJob == Job_Archer && JobLevel < 35) goto L_LowLvl;
-	if (ARWREP == 1) goto L_Check;
+	if(getskilllv(148)>0) goto L_GotSkill;
+	if(BaseJob == Job_Archer && JobLevel < 35) goto L_LowLvl;
+	if(@ARWREP) goto L_Check;
 	mes "Hi, I'm the master of the skill ^0033FFArrow Repel^000000. I might be able to";
 	mes "teach you the skill, but only if you help me get the ingredients";
 	mes "for my Grandma's soup.";
@@ -178,7 +179,7 @@ L_Start:
 	next;
 	mes "[Jason]";
 	mes "Hurry hurry!";
-	set ARWREP, 1;
+	set @ARWREP, 1;
 	close;
 
 L_LowLvl:
@@ -187,7 +188,7 @@ L_LowLvl:
 	close;
 
 L_Check:
-	if ((countitem(721)<2) || (countitem(942)<3) || (countitem(962)<10) || (countitem(925)<10) || (countitem(532)<36)) goto L_NotEnuf;
+	if((countitem(721)<2) || (countitem(942)<3) || (countitem(962)<10) || (countitem(925)<10) || (countitem(532)<36)) goto L_NotEnuf;
 	delitem 721,2;
 	delitem 942,3;
 	delitem 962,10;
@@ -197,7 +198,7 @@ L_Check:
 	mes "Now it'll be my pleasure to teach you the skill ^0033FFArrow Repel^000000";
 	next;
 	skill 148,1,0;
-	set ARWREP, 0;
+	set @ARWREP, 0;
 	mes "[Jason]";
 	mes "There you go! Happy hunting in the future.";
 	close;

+ 5 - 4
npc/quests/skills/mage_skills.txt

@@ -3,7 +3,7 @@
 //===== By: ==================================================
 //= kobra_k88
 //===== Current Version: =====================================
-//= 1.4
+//= 1.4b
 //===== Compatible With: =====================================
 //= eAthena 7.15 +
 //===== Description: =========================================
@@ -15,6 +15,7 @@
 //= 1.3 Removed callfunc Is_####_Class in favor of baseClass [Silentdragon]
 //= 1.4 Fixed exploit [Lupus]
 //= 1.4a Fixed some typos [IVBela]
+//= 1.4b changed perm. variables to temp ones [Lupus]
 //============================================================
 
 
@@ -29,7 +30,7 @@ L_Other:
 	close;
 
 L_Start:
-	if(ENRGYCOAT == 1) goto L_GetSkill;
+	if(@ENRGYCOAT) goto L_GetSkill;
 	if(getskilllv(157)>0) goto L_GotSkill;
 	mes "Hey! My friend! I see that you are a magic user.  If you look within yourself, you'll find that you have... 'HIDDEN ABILITIES'!!";
 	next;
@@ -65,7 +66,7 @@ L_Start:
 			next;
 			mes "[BLIZZARDRISS]";
 			mes "When you are fully trained and have all of the required items come back and see me.";
-			set ENRGYCOAT, 1;
+			set @ENRGYCOAT, 1;
 			close;
 
 		sM_End:
@@ -91,7 +92,7 @@ L_GetSkill:
 	mes "~ several hours later ~";
 	next;
 	skill 157,1,0;
-	set ENRGYCOAT,0;
+	set @ENRGYCOAT,0;
  	mes "[BLIZZARDRISS]";
  	mes "You can now use the spell, 'Energy Coat'!! Use it wisely my friend!";
 	emotion e_no1;

+ 21 - 20
npc/quests/skills/merchant_skills.txt

@@ -17,6 +17,7 @@
 //= 1.3 Removed callfunc Is_####_Class in favor of baseClass [Silentdragon]
 //= 1.4 Fixed exploits [Lupus]
 //= 1.4a Fixed some typos [IVBela] 1.4b Gershuan -> Gershaun 
+//= 	changed perm. variables to temp ones [Lupus]
 //============================================================
 
 
@@ -31,15 +32,15 @@ alberta.gat,89,96,5	script	Necko#01	139,0,4,{
 
 alberta.gat,83,96,5	script	Necko#02	98,{
 	mes "[Necko]";
-	if (baseClass == Job_Merchant) goto L_Start;
+	if(baseClass == Job_Merchant) goto L_Start;
 
 L_Other:
 	mes "Necko's store is closed right now.  Come back later..... Hehe....";
 	close;
 
 L_Start:
-	if (getskilllv(155)>0) goto L_GotSkill;
-	if (CRAZYROAR == 1) goto L_GetSkill;
+	if(getskilllv(155)>0) goto L_GotSkill;
+	if(@CRAZYROAR) goto L_GetSkill;
 	mes "Oh! Did you come here because you were intrigued by my boisterous voice? My voice is quite loud, isn't it?";
 	mes "After all you heared it from a far off distance.";
 	emotion e_what;
@@ -75,7 +76,7 @@ L_Start:
 	mes "[Necko]";
 	mes "Come back when you are ready! I think I shall do a little vocal training myself........";
 	mes "Bbooowuuuuuuuuuuuuuuuuuuuuuuuuuh!!";
-	set CRAZYROAR, 1;
+	set @CRAZYROAR, 1;
 	close;
 
 	L_JobLvl:
@@ -87,7 +88,7 @@ L_Start:
 		close;
 
 L_GetSkill:
-	if ((countitem(722)<7) || (countitem(532)<1) || (countitem(921)<50)) goto L_Items;
+	if((countitem(722)<7) || (countitem(532)<1) || (countitem(921)<50)) goto L_Items;
 	delitem 722,7;
 	delitem 532,1;
 	delitem 921,50;
@@ -101,7 +102,7 @@ L_GetSkill:
 	mes "[Necko]";
 	mes "Raaaaaawwwwrrrrrrrrrrr!....... Ha ha!! Excellent.  Your voice is now finely tuned for ^3355FFCrazy Uproar^000000.  Good job.";
 	skill 155,1,0;
-	set CRAZYROAR, 0;
+	set @CRAZYROAR, 0;
 	emotion e_no1;
 	close;
 
@@ -121,13 +122,13 @@ L_GotSkill:
 //----------------------------------------- Charlron: Change cart ---------------------------------\\
 alberta.gat,119,221,6	script	Charlron	107,{
 	mes "[Charlron]";
-	if (baseClass == Job_Merchant) goto L_Start;
+	if(baseClass == Job_Merchant) goto L_Start;
 L_Other:
 	mes "I am a merchant that deals with many things.  My name is Charlron.  If you ever find anything interesting, come back and try to negotiate a deal with me.";
 	close;
 L_Start:
-	if (getskilllv(154)>0) goto L_GotSkill;
-	if (CHANGECART == 1) goto L_GetSkill;
+	if(getskilllv(154)>0) goto L_GotSkill;
+	if(@CHANGECART) goto L_GetSkill;
 	mes "Welcome young one.  Is selling fun for you? I am the merchant Charlron.";
 	next;
 	mes "[Charlron]";
@@ -140,12 +141,12 @@ L_Start:
 	mes "I can change the way your cart looks for you.  Of course some conditions need to be met......";
 	next;
 	mes "[Charlron]";
-	if (BaseJob==Job_Merchant && JobLevel < 30) goto L_JobLvl;
+	if(BaseJob==Job_Merchant && JobLevel < 30) goto L_JobLvl;
 	mes "First you will need to bring me these items:";
 	mes "^3355FF50 Trunks,";
 	mes "20 Animal Skin,";
 	mes "10 Iron^000000.";
-	set CHANGECART, 1;
+	set @CHANGECART, 1;
 	close;
 
 	L_JobLvl:
@@ -154,12 +155,12 @@ L_Start:
 		close;
 
 L_GetSkill:
-	if ((countitem(1019)<50) || (countitem(998)<10) || (countitem(919)<20)) goto L_Items;
+	if((countitem(1019)<50) || (countitem(998)<10) || (countitem(919)<20)) goto L_Items;
 	mes "Oh good, you have all of the items.  Well here you are..... Hmm?... Oh these are the design sheets for your cart.";
 	mes "Now that you have the proper materials, just follow these guides to make your cart look spectacular.";
 // Note: It is not supposed to take these items, just check you have collected them
 	skill 154,1,0;
-	set CHANGECART, 0;
+	set @CHANGECART, 0;
 	next;
 	mes "[Charlron]";
 	mes "Good luck, see you around";
@@ -180,7 +181,7 @@ L_GotSkill:
 
 //-------------------------====-------- Gershaun: Cart Revolution ---------------------------------\\
 alberta.gat,232,106,6	script	Gershuan	57,{
-	if (baseClass == Job_Merchant) goto L_Start;
+	if(baseClass == Job_Merchant) goto L_Start;
 
 L_Other:
 	mes "[Gershuan]";
@@ -190,8 +191,8 @@ L_Other:
 	close;
 
 L_Start:
-	if (getskilllv(153)>0) goto L_GotSkill;
-	if (CARTREVO == 1) goto L_GetSkill;
+	if(getskilllv(153)>0) goto L_GotSkill;
+	if(@CARTREVO) goto L_GetSkill;
 	mes "[Gershuan]";
 	mes "Hmm... a young merchant.  You must use carts too right? Since you have to do all of that vending.....  But is that all you use your cart for?";
 	emotion e_hmm;
@@ -239,7 +240,7 @@ L_Start:
 
 		sM_0:
 			mes "[Gershuan]";
-			if (BaseJob==Job_Merchant && JobLevel < 35) goto ssL_LowLvl;
+			if(BaseJob==Job_Merchant && JobLevel < 35) goto ssL_LowLvl;
 			mes "OK! I will give you the special training for Cart Revolution.  The first thing you will have to do is bring me these items:";
 			mes "^3355FF30 Sticky Mucus,";
 			mes "20 Fly wings,";
@@ -249,7 +250,7 @@ L_Start:
 			next;
 			mes "[Gershuan]";
 			mes "Come back when you have all of these items.  Good luck.";
-			set CARTREVO, 1;
+			set @CARTREVO, 1;
 			close;
 
 			ssL_LowLvl:
@@ -265,7 +266,7 @@ L_Start:
 			close;
 
 L_GetSkill:
-	if ((countitem(533)<2) || (countitem(998)<15) || (countitem(938)<30) || (countitem(601)<20) || (countitem(962)<5)) goto sM_0;
+	if((countitem(533)<2) || (countitem(998)<15) || (countitem(938)<30) || (countitem(601)<20) || (countitem(962)<5)) goto sM_0;
 	delitem 533,2;
 	delitem 998,15;
 	delitem 938,30;
@@ -292,7 +293,7 @@ L_GetSkill:
 	emotion e_no1;
 	next;
 	skill 153,1,0;
-	set CARTREVO, 0;
+	set @CARTREVO, 0;
 	mes "[Gershuan]";
 	mes "Take care of yourself and remember to fill that cart up so that it can do some major damage.";
 	emotion e_gg;

+ 30 - 30
npc/quests/skills/novice_skills.txt

@@ -22,7 +22,7 @@
 //<---------------------------------------------------------------------------------------------- Nurse Aid: First Aid NPC ---------------------------------------------------------------------------->\\
 prt_in.gat,235,133,4	script	Nurse Aid	90,{
 	mes "[Nurse Aid]";
-	if(FIRSTAID == 1) goto L_GetAid;
+	if(FIRSTAID) goto L_GetAid;
 	if(getskilllv(142)>0) goto L_GotAid;
 
 	mes "Oh hello there!  You look tired and a little worn out.  Have the monsters outside of town been giving you trouble?";
@@ -53,14 +53,14 @@ prt_in.gat,235,133,4	script	Nurse Aid	90,{
 
 		sM_Yes:
 			mes "[Nurse Aid]";
-			mes "In order for me to teach you First Aid you need to have at least a^0000ff job level of 3^000000.";
-			mes "You then need to give me:^ff0000 5 red herbs^000000,^00bb00 5 clovers^000000, and an^aaaa00 old bandage^000000.";
+			mes "In order for me to teach you First Aid you need to have at least a^0000ff Job Level of 3^000000.";
+			mes "You then need to give me:^ff0000 5 Red Herbs^000000,^00bb00 5 Clovers^000000, and an^aaaa00 Old Bandage^000000.";
 			next;
 			mes "[Nurse Aid]";
 			mes "You can get the bandage from the^0000ff 'Newbie Assistant'^000000 located on the second floor of the Castle.";
 			next;
 			mes "[Nurse Aid]";
-			mes "Once you get job level 3 and have all of the items come back and see me, OK?";
+			mes "Once you get Job Level 3 and have all of the items come back and see me, OK?";
 			set FIRSTAID,1;
 			close;				
 
@@ -114,12 +114,12 @@ L_Novice:
 	mes "Heh heh, I really miss those days..... Wow... It's funny to think about those years now......";
 	next;
 	mes "[Bulma]";
-	mes "They were difficult.... thankfully you can use the ^5555FFPlay Dead^000000 skill when you reach a ^5555FFjob level of 7^000000.";
+	mes "They were difficult.... thankfully you can use the ^5555FFPlay Dead^000000 skill when you reach a ^5555FFJob Level of 7^000000.";
 	mes "If you're interested in it come back and talk to me when you've leveled up a bit more.";
 	close;
 
 L_Start:
-	if(PLAYDEAD == 1) goto L_GetSkill;
+	if(PLAYDEAD) goto L_GetSkill;
 	if(getskilllv(143)>0) goto L_GotSkill;
 	mes "Hello my young friend.  You remind me of myself when I was young..... Heh heh, I really miss those days.....";
 	mes "Look at me acting all sentimental like some old man........";
@@ -234,30 +234,30 @@ L_NonNov:
 	emotion e_what;
 	close;
 L_Start:
-	if(FIRSTAID==1 && countitem(930)==0 && got_bandage!=1) goto L_Aid;
-	if(PLAYDEAD==1 && countitem(7039)==0 && got_novnametag!=1) goto L_Play;
+	if(FIRSTAID && countitem(930)==0 && got_bandage!=1){
+		mes "So Nurse Aid sent you huh.  She's a great nurse, you should feel very fortunate that she is helping you out.  Here take this.";
+		next;
+		getitem 930,1;
+		set got_bandage,1;
+		mes "[Newbie Assistant]";
+		mes "You'll need it in order for her to teach you her excellent healing technique.";
+		next;
+		mes "[Newbie Assistant]";
+		mes "When I watch her work it is like watching an angel that has descended down from the heavens.....";
+		next;
+		mes "[Newbie Assistant]";
+		mes "Her beauty, her grace, sometimes I wish........ (blushes).......... um.... well... err... tell her I said hello.";
+		emotion e_lv;
+		close;
+	}
+	if(PLAYDEAD && countitem(7039)==0 && got_novnametag!=1){
+		mes "So Bulma sent you uh.... okay here you go.";
+		getitem 7039,1;
+		set got_novnametag,1;
+		next;
+		mes "Good luck on your adventure.";
+		close;
+	}
 	mes "Hello.  I'm here to provide help to newbies like you.  If there is anything in particular that you need assistance with just let me know.";
 	close;
-L_Aid:
-	mes "So Nurse Aid sent you huh.  She's a great nurse, you should feel very fortunate that she is helping you out.  Here take this.";
-	next;
-	getitem 930,1;
-	set got_bandage,1;
-	mes "[Newbie Assistant]";
-	mes "You'll need it in order for her to teach you her excellent healing technique.";
-	next;
-	mes "[Newbie Assistant]";
-	mes "When I watch her work it is like watching an angel that has descended down from the heavens.....";
-	next;
-	mes "[Newbie Assistant]";
-	mes "Her beauty, her grace, sometimes I wish........ (blushes).......... um.... well... err... tell her I said hello.";
-	emotion e_lv;
-	close;
-L_Play:
-	mes "So Bulma sent you uh.... okay here you go.";
-	getitem 7039,1;
-	set got_novnametag,1;
-	next;
-	mes "Good luck on your adventure.";
-	close;
 }

+ 29 - 29
npc/quests/skills/thief_skills.txt

@@ -3,7 +3,7 @@
 //===== By: ================================================== 
 //= kobra_k88
 //===== Current Version: ===================================== 
-//= 1.4a
+//= 1.4b
 //===== Compatible With: ===================================== 
 //= eAthena 7.15 +
 //===== Description: ========================================= 
@@ -19,6 +19,7 @@
 //= 1.3 Removed callfunc Is_####_Class in favor of baseClass [Silentdragon]
 //= 1.4 Fixed exploit [Lupus]
 //= 1.4a Fixed some typos [IVBela]
+//= 1.4b changed perm. variables to temp ones [Lupus]
 //============================================================ 
 
 
@@ -59,7 +60,7 @@ M_Menu:
 
 	M_Sand:
 		mes "[Alcouskou]";
-		if(SANDATTACK == 1) goto L_Sand;
+		if(@SANDATTACK) goto L_Sand;
 		if(getskilllv(149) > 0) goto L_GotSand;
 		mes "The most important aspect of being a good Thief/Assassin is stealth.  One should never be seen or touched unless he/she wants to be";
 		next;
@@ -84,12 +85,12 @@ M_Menu:
 		next;
 		mes "[Alcouskou]";
 		mes "Come back when you are ready.";
-		set SANDATTACK, 1;
+		set @SANDATTACK, 1;
 		goto M_Menu;
 	M_Back:
 		mes "[Alcouskou]";
-		if (BACKSLIDE == 1)goto L_Back;
-		if (getskilllv(150)>0) goto L_GotBack;
+		if(@BACKSLIDE)goto L_Back;
+		if(getskilllv(150)>0) goto L_GotBack;
 		mes "People tend to focus on attack and damage, but it's necessary to understand that FLEEING is JUST AS IMPORTANT as attacking!";
 		next;
 		mes "[Alcouskou]";
@@ -120,12 +121,12 @@ M_Menu:
 		mes "[Alcouskou]";
 		mes "Think of it as the first part of your training.";
 		if(BaseJob == Job_Thief) mes "If you are a Thief, you will also need to have a job level of at least ^5555FF35^000000.";
-		set BACKSLIDE, 1;
+		set @BACKSLIDE, 1;
 		goto M_Menu;
 	M_Find:
 		mes "[Alcouskou]";
-		if (FINDSTONE == 1) goto L_Find;
-		if (getskilllv(151)>0) goto L_GotFind;
+		if(@FINDSTONE) goto L_Find;
+		if(getskilllv(151)>0) goto L_GotFind;
 		mes "The more experienced and better skilled members of our guild are quite handy.";
 		mes "They can turn something as common as a rock on the ground into a very effective weapon.";
 		next;
@@ -147,12 +148,12 @@ M_Menu:
 		next;
 		mes "[Alcouskou]";
 		mes "Collecting those items will help you develop the skills necessary to learn Find Stone.";
-		set FINDSTONE, 1;
+		set @FINDSTONE, 1;
 		goto M_Menu;
 	M_Fling:
 		mes "[Alcouskou]";
-		if (STONEFLING == 1) goto L_Fling;
-		if (getskilllv(152)>0) goto L_GotFling;
+		if(@STONEFLING) goto L_Fling;
+		if(getskilllv(152)>0) goto L_GotFling;
 		mes "The more experienced and better skilled members of our guild are quite handy.";
 		mes "They can turn something as common as a rock on the ground into a very effective weapon.";
 		next;
@@ -166,7 +167,7 @@ M_Menu:
 		mes "[Alcouskou]";
 		mes "If you wish to learn Stone Fling you must first bring me ^5555FF2 Garlet and 2 Scell^000000.";
 		mes "You will also need to have mastered ^5555FFFind Stone^000000 as well.";
-		set STONEFLING, 1;
+		set @STONEFLING, 1;
 		goto M_Menu;
 	M_End:
 		mes "[Alcouskou]";
@@ -174,8 +175,8 @@ M_Menu:
 		close;
 
 L_Sand:
-	if (countitem(7041)<5 || countitem(7042)<1) goto L_NotRdy1;
-	if (BaseJob==Job_Thief && JobLevel<25) goto L_LowLvl1;
+	if(countitem(7041)<5 || countitem(7042)<1) goto L_NotRdy1;
+	if(BaseJob==Job_Thief && JobLevel<25) goto L_LowLvl1;
 	delitem 7041, 5;
 	delitem 7042, 1;
 	mes "Alright, you've got all the items.  Now it's time to learn.... the... ultimate.... attack.... Sand Attack!!!";
@@ -201,8 +202,7 @@ L_Sand:
 	mes "Oh and it does Earth Property damage....... (I gotta find a better way to teach this).........";
 	emotion e_swt;
 	skill 149,1,0;
-	set SANDATTACK, 0;
-	set BAGNFNTY, 0;
+	set @SANDATTACK, 0;
 	close;
 
 	L_NotRdy1:
@@ -221,8 +221,8 @@ L_Sand:
 		close;
 
 L_Back:
-	if (countitem(940)<20) goto L_NotRdy2;
-	if (BaseJob==Thief && JobLevel<35) goto L_LowLvl2;
+	if(countitem(940)<20) goto L_NotRdy2;
+	if(BaseJob==Thief && JobLevel<35) goto L_LowLvl2;
 	delitem 940,20;
 	mes "Great, you have the grasshopper legs.  While you were collecting them I'm sure you picked up on many of the characteristics of grasshoppers.";
 	next;
@@ -241,7 +241,7 @@ L_Back:
 	mes "[Alcouskou]";
 	mes "Ah! You've got it.  Just like a pro.  With this skill being overwhelmed by mobs is a thing of the past.";
 	skill 150,1,0;
-	set BACKSLIDE, 0;
+	set @BACKSLIDE, 0;
 	close;
 
 	L_NotRdy2:
@@ -255,7 +255,7 @@ L_Back:
 		close;
 
 L_Find:
-	if (countitem(912)<1 || countitem(948)<1 || countitem(908)<5) goto L_NotRdy3;
+	if(countitem(912)<1 || countitem(948)<1 || countitem(908)<5) goto L_NotRdy3;
 	delitem 912,1;
 	delitem 948,1;
 	delitem 908,5;
@@ -274,7 +274,7 @@ L_Find:
 	mes "Very good.  You have chosen some fine stones.  This tells me that you have now perfected the Find Stone skill.";
 	emotion e_no1;
 	skill 151,1,0;
-	set FINDSTONE, 0;
+	set @FINDSTONE, 0;
 	next;
 	mes "[Alcouskou]";
 	mes "Have fun using it.";
@@ -288,8 +288,8 @@ L_Find:
 		close;
 
 L_Fling:
-	if (getskilllv(151) == 0) goto L_NotRdy4;
-	if ((countitem(910)<2) || (countitem(911)<2)) goto L_NotRdy4;
+	if(getskilllv(151) == 0) goto L_NotRdy4;
+	if((countitem(910)<2) || (countitem(911)<2)) goto L_NotRdy4;
 	delitem 910,2;
 	delitem 911,2;
 	mes "Good! You look like you're ready for me to teach you the Stone Fling skill.  Let us begin....";
@@ -315,7 +315,7 @@ L_Fling:
 	mes "Haha! Excellent! It's a bullseye.  You have now mastered Stone Fling, congratulations.";
 	emotion e_no1;
 	skill 152,1,0;
-	set STONEFLING, 0;
+	set @STONEFLING, 0;
 	next;
 	mes "[Alcouskou]";
 	mes "As you can see this is a skill that relies heavily on concentration.";
@@ -334,7 +334,7 @@ L_Fling:
 //====================================================================================
 payon.gat,91,77,4	script	RuRumuni	99,{
 	mes "[RuRumuni]";
-	if(SANDATTACK == 1 && BAGNFNTY != 2) goto L_Start;
+	if(@SANDATTACK && !countitem(7042)) goto L_Start;
 
 	mes "I am a humble merchant here in Payon.  I buy leather hides, brought in by the hunters, to make leather pouches to sell.";
 	mes "I grew up around leather and am quite good at working with it.";
@@ -345,16 +345,16 @@ payon.gat,91,77,4	script	RuRumuni	99,{
 	close;
 
 L_Start:
-	if(BAGNFNTY == 1) goto L_Check;
+	if(@BAGNFNTY == 1) goto L_Check;
 	mes "Hello.  So you were sent by Alcouskou to obtain a ^5533FF'Leather Bag of Infinity'^000000........";
 	mes "I will be more than happy to make one for you............";
 	next;
 	mes "[RuRumuni]";
 	mes "But this bag is very special, and I will need some special items in order to make it.";
 	next;
-	set BAGNFNTY, 1;
+	set @BAGNFNTY, 1;
 
-	L_List:
+L_List:
 	mes "[RuRumuni]";
 	mes "Here are the items that I will need:";
 	mes "- 5 ^5533FFScorpion Tails^000000";
@@ -382,6 +382,6 @@ L_Check:
 	mes "[RuRumuni]";
 	mes "Here you go, one Leather Bag of Infinity.  Enjoy!";
 	getitem 7042, 1;
-	set BAGNFNTY, 2;
+	set @BAGNFNTY, 0;
 	close;
 }