소스 검색

Some script cleaning.
- Replaced lots of numerics with constants.
- Added spacing to make some scripts more readable.

Fixed a mistake in 14fddd3.

Signed-off-by: Euphy <euphy.raliel@rathena.org>

Euphy 10 년 전
부모
커밋
30b4d578a7

+ 19 - 12
npc/custom/healer.txt

@@ -15,23 +15,30 @@
 
 -	script	Healer	-1,{
 
-	set .@Price,0;	// Zeny required for heal
-	set .@Buffs,0;	// Also buff players? (1: yes / 0: no)
-	set .@Delay,0;	// Heal delay, in seconds
+	.@Price = 0;	// Zeny required for heal
+	.@Buffs = 0;	// Also buff players? (1: yes / 0: no)
+	.@Delay = 0;	// Heal delay, in seconds
 
-	if (@HD > gettimetick(2)) end;
+	if (@HD > gettimetick(2))
+		end;
 	if (.@Price) {
-		message strcharinfo(0),"Healing costs "+callfunc("F_InsertComma",.@Price)+" Zeny.";
-		if (Zeny < .@Price) end;
-		if(select("^0055FFHeal^000000:^777777Cancel^000000") == 2) end;
-		set Zeny, Zeny-.@Price;
+		message strcharinfo(0), "Healing costs " + callfunc("F_InsertComma",.@Price) + " Zeny.";
+		if (Zeny < .@Price)
+			end;
+		if (select("^0055FFHeal^000000:^777777Cancel^000000") == 2)
+			end;
+		Zeny -= .@Price;
 	}
-	specialeffect2 EF_HEAL2; percentheal 100,100;
+	specialeffect2 EF_HEAL2;
+	percentheal 100,100;
 	if (.@Buffs) {
-		specialeffect2 EF_INCAGILITY; sc_start SC_INCREASEAGI,240000,10;
-		specialeffect2 EF_BLESSING; sc_start SC_BLESSING,240000,10;
+		specialeffect2 EF_INCAGILITY;
+		sc_start SC_INCREASEAGI,240000,10;
+		specialeffect2 EF_BLESSING;
+		sc_start SC_BLESSING,240000,10;
 	}
-	if (.@Delay) set @HD, gettimetick(2)+.@Delay;
+	if (.@Delay)
+		@HD = gettimetick(2) + .@Delay;
 	end;
 }
 

+ 192 - 75
npc/custom/jobmaster.txt

@@ -20,12 +20,17 @@ prontera,153,193,6	script	Job Master	123,{
 function Job_Menu;
 
 	mes "[Job Master]";
-	if (Class > 4049) {
+	if (Class > Job_Soul_Linker) {
 		mes "No more jobs are available.";
 		close;
 	}
 	if (checkfalcon() || checkcart() || checkriding() || ismounting()) {
-		mes "Please remove your "+((checkfalcon())?"falcon":"")+((checkcart())?"cart":"")+((checkriding())?"Peco":"")+((ismounting())?"mount":"")+" before proceeding.";
+		mes "Please remove your " +
+			((checkfalcon()) ? "falcon" : "") +
+			((checkcart()) ? "cart" : "") +
+			((checkriding()) ? "Peco" : "") +
+			((ismounting()) ? "mount" : "") +
+			" before proceeding.";
 		close;
 	}
 	if (.SkillPointCheck && SkillPoint) {
@@ -33,15 +38,18 @@ function Job_Menu;
 		close;
 	}
 
-	set .@eac, eaclass();
-	set .@i, ((.ThirdClass)?roclass(.@eac&EAJ_UPPERMASK):Class);
-	if (.@i > 6 && .@i < 22) {
+	.@eac = eaclass();
+	.@i = ((.ThirdClass) ? roclass(.@eac&EAJ_UPPERMASK) : Class);
+	if (.@i >= Job_Knight && .@i <= Job_Crusader2) {
 		if (BaseLevel < .Rebirth[0] || JobLevel < .Rebirth[1]) {
-			set .@blvl, .Rebirth[0]-BaseLevel; set .@jlvl, .Rebirth[1]-JobLevel;
-			mes "You need "+((.@blvl>0)?.@blvl+" more base levels "+((.@jlvl>0)?"/ ":""):"")+((.@jlvl>0)?.@jlvl+" more job levels ":"")+"to continue.";
+			.@blvl = .Rebirth[0] - BaseLevel;
+			.@jlvl = .Rebirth[1] - JobLevel;
+			mes "You need " +
+				((.@blvl > 0) ? .@blvl + " more base levels " + ((.@jlvl > 0) ? "/ " : "") : "") +
+				((.@jlvl > 0) ? .@jlvl + " more job levels " : "") + "to continue.";
 			close;
 		}
-		if (Class > 21) {
+		if (Class > Job_Crusader2) {
 			mes "Switch to third class?";
 			next;
 			Job_Menu(roclass(.@eac|EAJL_THIRD));
@@ -50,25 +58,32 @@ function Job_Menu;
 		while(1) {
 			mes "Select an option.";
 			next;
-			set .@i, select(" ~ ^0055FFRebirth^000000:"+((.ThirdClass)?" ~ ^FF0000Third Class^000000":"")+": ~ ^777777Cancel^000000");
-			if (.@i==3) close;
+			.@i = select(" ~ ^0055FFRebirth^000000:" + ((.ThirdClass) ? " ~ ^FF0000Third Class^000000" : "") + ": ~ ^777777Cancel^000000");
+			if (.@i == 3)
+				close;
 			mes "[Job Master]";
 			mes "Are you sure?";
 			next;
-			Job_Menu(((.@i==1)?4001:roclass(.@eac|EAJL_THIRD)));
+			Job_Menu(((.@i == 1) ? Job_Novice_High : roclass(.@eac|EAJL_THIRD)));
 			mes "[Job Master]";
 		}
 	}
-	set .@j1, roclass(.@eac|EAJL_2_1); set .@j2,roclass(.@eac|EAJL_2_2);
-	if ((.@eac&EAJ_UPPERMASK) == EAJ_SUPER_NOVICE) setarray .@exp[0],roclass(.@eac|EAJL_THIRD),99;
-	if (Class == Job_Ninja || Class == Job_Gunslinger) setarray .@exp[0],.@j1,70;
+	.@j1 = roclass(.@eac|EAJL_2_1);
+	.@j2 = roclass(.@eac|EAJL_2_2);
+	if ((.@eac&EAJ_UPPERMASK) == EAJ_SUPER_NOVICE)
+		setarray .@exp[0], roclass(.@eac|EAJL_THIRD), 99;
+	if (Class == Job_Ninja || Class == Job_Gunslinger)
+		setarray .@exp[0], .@j1, 70;
 	if (.@exp[0] && .SecondExpanded) {
 		if (BaseLevel < .Rebirth[0] || JobLevel < .@exp[1]) {
-			set .@blvl, .Rebirth[0]-BaseLevel; set .@jlvl, .@exp[1]-JobLevel;
-			mes "You need "+((.@blvl>0)?.@blvl+" more base levels "+((.@jlvl>0)?"/ ":""):"")+((.@jlvl>0)?.@jlvl+" more job levels ":"")+"to continue.";
+			.@blvl = .Rebirth[0] - BaseLevel;
+			.@jlvl = .@exp[1] - JobLevel;
+			mes "You need " +
+				((.@blvl > 0) ? .@blvl + " more base levels " + ((.@jlvl > 0) ? "/ " : "") : "") +
+				((.@jlvl > 0) ? .@jlvl + " more job levels " : "") + "to continue.";
 			close;
 		}
-		mes "Switch to "+jobname(.@exp[0])+"?";
+		mes "Switch to " + jobname(.@exp[0]) + "?";
 		next;
 		Job_Menu(.@exp[0]);
 		close;
@@ -80,107 +95,209 @@ function Job_Menu;
 		}
 	if ((.@eac&EAJ_BASEMASK) == EAJ_NOVICE) {
 		if (JobLevel < .JobReq[0])
-			mes "A job level of "+.JobReq[0]+" is required to change into the 1st Class.";
-		else if (Class == 4001 && .LastJob && lastJob) {
+			mes "A job level of " + .JobReq[0] + " is required to change into the 1st Class.";
+		else if (Class == Job_Novice_High && .LastJob && lastJob) {
 			mes "Switch classes now?";
 			next;
 			Job_Menu(roclass((eaclass(lastJob)&EAJ_BASEMASK)|EAJL_UPPER));
-		} else switch(Class) {
-			case 0: Job_Menu(1,2,3,4,5,6,23,4046,24,25,4023);
-			case 4001: Job_Menu(4002,4003,4004,4005,4006,4007);
-			case 4023: Job_Menu(4024,4025,4026,4027,4028,4029,4045);
-			default: mes "An error has occurred."; break;
+		} else {
+			switch(Class) {
+			case Job_Novice:
+				Job_Menu(
+					Job_Swordman,
+					Job_Mage,
+					Job_Archer,
+					Job_Acolyte,
+					Job_Merchant,
+					Job_Thief,
+					Job_SuperNovice,
+					Job_Taekwon,
+					Job_Gunslinger,
+					Job_Ninja,
+					Job_Baby
+				);
+				break;
+			case Job_Novice_High:
+				Job_Menu(
+					Job_Swordman_High,
+					Job_Mage_High,
+					Job_Archer_High,
+					Job_Acolyte_High,
+					Job_Merchant_High,
+					Job_Thief_High
+				);
+				break;
+			case Job_Baby:
+				Job_Menu(
+					Job_Baby_Swordman,
+					Job_Baby_Mage,
+					Job_Baby_Archer,
+					Job_Baby_Acolyte,
+					Job_Baby_Merchant,
+					Job_Baby_Thief,
+					Job_Super_Baby
+				);
+				break;
+			default:
+				mes "An error has occurred.";
+				break;
+			}
 		}
 		close;
 	}
 	if (roclass(.@eac|EAJL_2_1) == -1 || roclass(.@eac|EAJL_2_2) == -1)
 		mes "No more jobs are available.";
 	else if (!(.@eac&EAJL_2) && JobLevel < .JobReq[1])
-		mes "A job level of "+.JobReq[1]+" is required to change into the 2nd Class.";
+		mes "A job level of " + .JobReq[1] + " is required to change into the 2nd Class.";
 	else if (.LastJob && lastJob && (.@eac&EAJL_UPPER)) {
 		mes "Switch classes now?";
 		next;
-		Job_Menu(lastJob+4001);
+		Job_Menu(lastJob + Job_Novice_High);
 	} else
-		Job_Menu(.@j1,.@j2);
+		Job_Menu(.@j1, .@j2);
 	close;
 
 function Job_Menu {
 	while(1) {
 		if (getargcount() > 1) {
 			mes "Select a job.";
-			set .@menu$,"";
-			for(set .@i,0; .@i<getargcount(); set .@i,.@i+1)
-				set .@menu$, .@menu$+" ~ "+jobname(getarg(.@i))+":";
-			set .@menu$, .@menu$+" ~ ^777777Cancel^000000";
+			.@menu$ = "";
+			for (.@i = 0; .@i < getargcount(); .@i++)
+				.@menu$ = .@menu$ + " ~ " + jobname(getarg(.@i)) + ":";
+			.@menu$ = .@menu$+" ~ ^777777Cancel^000000";
 			next;
-			set .@i, getarg(select(.@menu$)-1,0);
-			if (!.@i) close;
-			if ((.@i == 23 || .@i == 4045) && BaseLevel < .SNovice) {
+			.@i = getarg(select(.@menu$) - 1, 0);
+			if (!.@i)
+				close;
+			if ((.@i == Job_SuperNovice || .@i == Job_Super_Baby) && BaseLevel < .SNovice) {
 				mes "[Job Master]";
-				mes "A base level of "+.SNovice+" is required to turn into a "+jobname(.@i)+".";
+				mes "A base level of " + .SNovice + " is required to turn into a " + jobname(.@i) + ".";
 				close;
 			}
 			mes "[Job Master]";
 			mes "Are you sure?";
 			next;
 		} else
-			set .@i, getarg(0);
-		if (select(" ~ Change into ^0055FF"+jobname(.@i)+"^000000 class: ~ ^777777"+((getargcount() > 1)?"Go back":"Cancel")+"^000000") == 1) {
+			.@i = getarg(0);
+		if (select(" ~ Change into ^0055FF" + jobname(.@i) + "^000000 class: ~ ^777777" + ((getargcount() > 1) ? "Go back" : "Cancel") + "^000000") == 1) {
 			mes "[Job Master]";
-			mes "You are now "+callfunc("F_InsertArticle",jobname(.@i))+"!";
-			if (.@i==4001 && .LastJob) set lastJob, Class;
+			mes "You are now " + callfunc("F_InsertArticle", jobname(.@i)) + "!";
+			if (.@i == Job_Novice_High && .LastJob)
+				lastJob = Class;
 			jobchange .@i;
-			if (.@i==4001) resetlvl(1);
-			else if (.@i==Job_Baby) resetstatus;
-			specialeffect2 EF_ANGEL2; specialeffect2 EF_ELECTRIC;
-			if (.Platinum) callsub Get_Platinum;
+			if (.@i == Job_Novice_High)
+				resetlvl(1);
+			else if (.@i == Job_Baby)
+				resetstatus;
+			specialeffect2 EF_ANGEL2;
+			specialeffect2 EF_ELECTRIC;
+			if (.Platinum)
+				callsub Get_Platinum;
 			close;
 		}
-		if (getargcount() == 1) return;
+		if (getargcount() == 1)
+			return;
 		mes "[Job Master]";
 	}
 	end;
 }
 
 Get_Platinum:
-	skill 142,1,0;
-	switch(BaseClass) {
-		case 0: if (Class !=23) skill 143,1,0; break;
-		case 1: skill 144,1,0; skill 145,1,0; skill 146,1,0; break;
-		case 2: skill 157,1,0; break;
-		case 3: skill 147,1,0; skill 148,1,0; break;
-		case 4: skill 156,1,0; break;
-		case 5: skill 153,1,0; skill 154,1,0; skill 155,1,0; break;
-		case 6: skill 149,1,0; skill 150,1,0; skill 151,1,0; skill 152,1,0; break;
-		default: break;
+	skill "NV_FIRSTAID",1,0;
+	switch (BaseClass) {
+	case Job_Novice:
+		if (Class != Job_SuperNovice)
+			skill "NV_TRICKDEAD",1,0;
+		break;
+	case Job_Swordman:
+		skill "SM_MOVINGRECOVERY",1,0;
+		skill "SM_FATALBLOW",1,0;
+		skill "SM_AUTOBERSERK",1,0;
+		break;
+	case Job_Mage:
+		skill "MG_ENERGYCOAT",1,0;
+		break;
+	case Job_Archer:
+		skill "AC_MAKINGARROW",1,0;
+		skill "AC_CHARGEARROW",1,0;
+		break;
+	case Job_Acolyte:
+		skill "AL_HOLYLIGHT",1,0;
+		break;
+	case Job_Merchant:
+		skill "MC_CARTREVOLUTION",1,0;
+		skill "MC_CHANGECART",1,0;
+		skill "MC_LOUD",1,0;
+		break;
+	case Job_Thief:
+		skill "TF_SPRINKLESAND",1,0;
+		skill "TF_BACKSLIDING",1,0;
+		skill "TF_PICKSTONE",1,0;
+		skill "TF_THROWSTONE",1,0;
+		break;
+	default:
+		break;
 	}
-	switch(BaseJob) {
-		case 7: skill 1001,1,0; break;
-		case 8: skill 1014,1,0; break;
-		case 9: skill 1006,1,0; break;
-		case 10: skill 1012,1,0; skill 1013,1,0; break;
-		case 11: skill 1009,1,0; break;
-		case 12: skill 1003,1,0; skill 1004,1,0; break;
-		case 14: skill 1002,1,0; break;
-		case 15: skill 1015,1,0; skill 1016,1,0; break;
-		case 16: skill 1007,1,0; skill 1008,1,0; skill 1017,1,0; skill 1018,1,0; skill 1019,1,0; break;
-		case 17: skill 1005,1,0; break;
-		case 18: skill 238,1,0; break;
-		case 19: skill 1010,1,0; break;
-		case 20: skill 1011,1,0; break;
-		default: break;
+	switch (BaseJob) {
+	case Job_Knight:
+		skill "KN_CHARGEATK",1,0;
+		break;
+	case Job_Priest:
+		skill "PR_REDEMPTIO",1,0;
+		break;
+	case Job_Wizard:
+		skill "WZ_SIGHTBLASTER",1,0;
+		break;
+	case Job_Blacksmith:
+		skill "BS_UNFAIRLYTRICK",1,0;
+		skill "BS_GREED",1,0;
+		break;
+	case Job_Hunter:
+		skill "HT_PHANTASMIC",1,0;
+		break;
+	case Job_Assassin:
+		skill "AS_SONICACCEL",1,0;
+		skill "AS_VENOMKNIFE",1,0;
+		break;
+	case Job_Crusader:
+		skill "CR_SHRINK",1,0;
+		break;
+	case Job_Monk:
+		skill "MO_KITRANSLATION",1,0;
+		skill "MO_BALKYOUNG",1,0;
+		break;
+	case Job_Sage:
+		skill "SA_CREATECON",1,0;
+		skill "SA_ELEMENTWATER",1,0;
+		skill "SA_ELEMENTGROUND",1,0;
+		skill "SA_ELEMENTFIRE",1,0;
+		skill "SA_ELEMENTWIND",1,0;
+		break;
+	case Job_Rogue:
+		skill "RG_CLOSECONFINE",1,0;
+		break;
+	case Job_Alchemist:
+		skill "AM_BIOETHICS",1,0;
+		break;
+	case Job_Bard:
+		skill "BA_PANGVOICE",1,0;
+		break;
+	case Job_Dancer:
+		skill "DC_WINKCHARM",1,0;
+		break;
+	default:
+		break;
 	}
 	return;
 
 OnInit:
 	setarray .Rebirth[0],99,50;	// Minimum base level, job level to rebirth OR change to third class
 	setarray .JobReq[0],10,40;	// Minimum job level to turn into 1st class, 2nd class
-	set .ThirdClass,1;		// Enable third classes? (1: yes / 0: no)
-	set .SecondExpanded,1;		// Enable new expanded second classes: Ex. Super Novice, Kagerou/Oboro, Rebellion? (1: yes / 0: no)
-	set .SNovice,45;		// Minimum base level to turn into Super Novice
-	set .LastJob,1;			// Enforce linear class changes? (1: yes / 0: no)
-	set .SkillPointCheck,1;		// Force player to use up all skill points? (1: yes / 0: no)
-	set .Platinum,1;		// Get platinum skills automatically? (1: yes / 0: no)
+	.ThirdClass = 1;			// Enable third classes? (1: yes / 0: no)
+	.SecondExpanded = 1;		// Enable new expanded second classes: Ex. Super Novice, Kagerou/Oboro, Rebellion? (1: yes / 0: no)
+	.SNovice = 45;				// Minimum base level to turn into Super Novice
+	.LastJob = 1;				// Enforce linear class changes? (1: yes / 0: no)
+	.SkillPointCheck = 1;		// Force player to use up all skill points? (1: yes / 0: no)
+	.Platinum = 1;				// Get platinum skills automatically? (1: yes / 0: no)
 	end;
 }

+ 83 - 25
npc/custom/platinum_skills.txt

@@ -30,32 +30,90 @@ prontera,128,200,6	script	Platinum Skill NPC	94,{
 		mes "Have a nice day... >.>";
 		close;
 	}
-	skill 142,1,0;
-	switch(BaseClass) {
-		case 0: if (Class !=23) skill 143,1,0; break;
-		case 1: skill 144,1,0; skill 145,1,0; skill 146,1,0; break;
-		case 2: skill 157,1,0; break;
-		case 3: skill 147,1,0; skill 148,1,0; break;
-		case 4: skill 156,1,0; break;
-		case 5: skill 153,1,0; skill 154,1,0; skill 155,1,0; break;
-		case 6: skill 149,1,0; skill 150,1,0; skill 151,1,0; skill 152,1,0; break;
-		default: break;
+	skill "NV_FIRSTAID",1,0;
+	switch (BaseClass) {
+	case Job_Novice:
+		if (Class != Job_SuperNovice)
+			skill "NV_TRICKDEAD",1,0;
+		break;
+	case Job_Swordman:
+		skill "SM_MOVINGRECOVERY",1,0;
+		skill "SM_FATALBLOW",1,0;
+		skill "SM_AUTOBERSERK",1,0;
+		break;
+	case Job_Mage:
+		skill "MG_ENERGYCOAT",1,0;
+		break;
+	case Job_Archer:
+		skill "AC_MAKINGARROW",1,0;
+		skill "AC_CHARGEARROW",1,0;
+		break;
+	case Job_Acolyte:
+		skill "AL_HOLYLIGHT",1,0;
+		break;
+	case Job_Merchant:
+		skill "MC_CARTREVOLUTION",1,0;
+		skill "MC_CHANGECART",1,0;
+		skill "MC_LOUD",1,0;
+		break;
+	case Job_Thief:
+		skill "TF_SPRINKLESAND",1,0;
+		skill "TF_BACKSLIDING",1,0;
+		skill "TF_PICKSTONE",1,0;
+		skill "TF_THROWSTONE",1,0;
+		break;
+	default:
+		break;
 	}
-	switch(BaseJob) {
-		case 7: skill 1001,1,0; break;
-		case 8: skill 1014,1,0; break;
-		case 9: skill 1006,1,0; break;
-		case 10: skill 1012,1,0; skill 1013,1,0; break;
-		case 11: skill 1009,1,0; break;
-		case 12: skill 1003,1,0; skill 1004,1,0; break;
-		case 14: skill 1002,1,0; break;
-		case 15: skill 1015,1,0; skill 1016,1,0; break;
-		case 16: skill 1007,1,0; skill 1008,1,0; skill 1017,1,0; skill 1018,1,0; skill 1019,1,0; break;
-		case 17: skill 1005,1,0; break;
-		case 18: skill 238,1,0; break;
-		case 19: skill 1010,1,0; break;
-		case 20: skill 1011,1,0; break;
-		default: break;
+	switch (BaseJob) {
+	case Job_Knight:
+		skill "KN_CHARGEATK",1,0;
+		break;
+	case Job_Priest:
+		skill "PR_REDEMPTIO",1,0;
+		break;
+	case Job_Wizard:
+		skill "WZ_SIGHTBLASTER",1,0;
+		break;
+	case Job_Blacksmith:
+		skill "BS_UNFAIRLYTRICK",1,0;
+		skill "BS_GREED",1,0;
+		break;
+	case Job_Hunter:
+		skill "HT_PHANTASMIC",1,0;
+		break;
+	case Job_Assassin:
+		skill "AS_SONICACCEL",1,0;
+		skill "AS_VENOMKNIFE",1,0;
+		break;
+	case Job_Crusader:
+		skill "CR_SHRINK",1,0;
+		break;
+	case Job_Monk:
+		skill "MO_KITRANSLATION",1,0;
+		skill "MO_BALKYOUNG",1,0;
+		break;
+	case Job_Sage:
+		skill "SA_CREATECON",1,0;
+		skill "SA_ELEMENTWATER",1,0;
+		skill "SA_ELEMENTGROUND",1,0;
+		skill "SA_ELEMENTFIRE",1,0;
+		skill "SA_ELEMENTWIND",1,0;
+		break;
+	case Job_Rogue:
+		skill "RG_CLOSECONFINE",1,0;
+		break;
+	case Job_Alchemist:
+		skill "AM_BIOETHICS",1,0;
+		break;
+	case Job_Bard:
+		skill "BA_PANGVOICE",1,0;
+		break;
+	case Job_Dancer:
+		skill "DC_WINKCHARM",1,0;
+		break;
+	default:
+		break;
 	}
 	mes "[Platinum Skill NPC]";
 	mes "There you go!";

+ 13 - 13
npc/custom/resetnpc.txt

@@ -17,15 +17,15 @@
 
 prontera,150,193,4	script	Reset Girl	124,{
 
-	set .@ResetStat,5000;	// Zeny for stat reset
-	set .@ResetSkill,5000;	// Zeny for skill reset
-	set .@ResetBoth,9000;	// Zeny for resetting both together
+	.@ResetStat  = 5000;	// Zeny for stat reset
+	.@ResetSkill = 5000;	// Zeny for skill reset
+	.@ResetBoth  = 9000;	// Zeny for resetting both together
 
 	mes "[Reset Girl]";
 	mes "I am the Reset Girl.";
-	mes "Reset Stats: "+ callfunc("F_InsertComma",.@ResetStat) +"z";
-	mes "Reset Skills: "+ callfunc("F_InsertComma",.@ResetSkill) +"z";
-	mes "Reset Both: "+ callfunc("F_InsertComma",.@ResetBoth) +"z";
+	mes "Reset Stats: "  + callfunc("F_InsertComma", .@ResetStat)  + "z";
+	mes "Reset Skills: " + callfunc("F_InsertComma", .@ResetSkill) + "z";
+	mes "Reset Both: "   + callfunc("F_InsertComma", .@ResetBoth)  + "z";
 	mes "Please select the service you want:";
 	next;
 	switch(select("^FF3355Reset Skills:Reset Stats:Reset Both^000000:Cancel")) {
@@ -35,9 +35,9 @@ prontera,150,193,4	script	Reset Girl	124,{
 			mes "Sorry, you don't have enough Zeny.";
 			close;
 		}
-		set Zeny, Zeny-.@ResetSkill;
+		Zeny -= .@ResetSkill;
 		sc_end SC_ALL;
-		ResetSkill;
+		resetskill;
 		mes "There you go!";
 		close;
 	case 2:
@@ -46,8 +46,8 @@ prontera,150,193,4	script	Reset Girl	124,{
 			mes "Sorry, you don't have enough Zeny.";
 			close;
 		}
-		set Zeny, Zeny-.@ResetStat;
-		ResetStatus;
+		Zeny -= .@ResetStat;
+		resetstatus;
 		mes "There you go!";
 		close;
 	case 3:
@@ -56,10 +56,10 @@ prontera,150,193,4	script	Reset Girl	124,{
 			mes "Sorry, you don't have enough Zeny.";
 			close;
 		}
-		set Zeny, Zeny-.@ResetBoth;
+		Zeny -= .@ResetBoth;
 		sc_end SC_ALL;
-		ResetSkill;
-		ResetStatus;
+		resetskill;
+		resetstatus;
 		mes "There you go!";
 		close;
 	case 4:

+ 24 - 9
npc/custom/stylist.txt

@@ -14,8 +14,14 @@
 //============================================================
 
 prontera,170,180,1	script	Stylist#custom_stylist	122,{
-	setarray .@Styles[1],getbattleflag("max_cloth_color"),getbattleflag("max_hair_style"),getbattleflag("max_hair_color");
-	setarray .@Look[1],LOOK_CLOTHES_COLOR,LOOK_HAIR,LOOK_HAIR_COLOR;
+	setarray .@Styles[1],
+		getbattleflag("max_cloth_color"),
+		getbattleflag("max_hair_style"),
+		getbattleflag("max_hair_color");
+	setarray .@Look[1],
+		LOOK_CLOTHES_COLOR,
+		LOOK_HAIR,
+		LOOK_HAIR_COLOR;
 	set .@s, select(" ~ Cloth color: ~ Hairstyle: ~ Hair color");
 	set .@Revert, getlook(.@Look[.@s]);
 	set .@Style,1;
@@ -24,13 +30,22 @@ prontera,170,180,1	script	Stylist#custom_stylist	122,{
 		message strcharinfo(0),"This is style #"+.@Style+".";
 		set .@menu$, " ~ Next (^0055FF"+((.@Style!=.@Styles[.@s])?.@Style+1:1)+"^000000): ~ Previous (^0055FF"+((.@Style!=1)?.@Style-1:.@Styles[.@s])+"^000000): ~ Jump to...: ~ Revert to original (^0055FF"+.@Revert+"^000000)";
 		switch(select(.@menu$)) {
-			case 1: set .@Style, ((.@Style!=.@Styles[.@s])?.@Style+1:1); break;
-			case 2: set .@Style, ((.@Style!=1)?.@Style-1:.@Styles[.@s]); break;
-			case 3: message strcharinfo(0),"Choose a style between 1 - "+.@Styles[.@s]+".";
-				input .@Style,0,.@Styles[.@s];
-				if (!.@Style) set .@Style, rand(1,.@Styles[.@s]);
-				break;
-			case 4: set .@Style, .@Revert; setlook .@Look[.@s], .@Revert; break;
+		case 1:
+			set .@Style, ((.@Style != .@Styles[.@s]) ? .@Style+1 : 1);
+			break;
+		case 2:
+			set .@Style, ((.@Style != 1) ? .@Style-1 : .@Styles[.@s]);
+			break;
+		case 3:
+			message strcharinfo(0),"Choose a style between 1 - "+.@Styles[.@s]+".";
+			input .@Style,0,.@Styles[.@s];
+			if (!.@Style)
+				set .@Style, rand(1,.@Styles[.@s]);
+			break;
+		case 4:
+			set .@Style, .@Revert;
+			setlook .@Look[.@s], .@Revert;
+			break;
 		}
 	}
 }

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

@@ -101,7 +101,7 @@ valkyrie,53,50,3	script	Biochemist#Valkyrie	122,{
 				mes "responsibility in using these";
 				mes "secrets for the right ends...";
 				next;
-				skill 238,1,0;
+				skill "AM_BIOETHICS",1,0;
 				mes "[Biochemist]";
 				mes "Open your eyes...";
 				mes "Now that you have";

+ 2 - 2
npc/jobs/valkyrie.txt

@@ -151,8 +151,8 @@ valkyrie,48,86,4	script	Valkyrie#	811,{
 			jobchange Job_Novice_High;
 			resetlvl(1);
 			set MISC_QUEST,MISC_QUEST | 1024; //<-reset Skill Reset Event
-			skill 142,1,0;
-			skill 143,1,0;
+			skill "NV_FIRSTAID",1,0;
+			skill "NV_TRICKDEAD",1,0;
 			completequest 1000;
 			next;
 			mes "[Valkyrie]";

+ 3 - 3
npc/pre-re/jobs/1-1/acolyte.txt

@@ -56,9 +56,9 @@ prt_church,184,41,4	script	Cleric#aco	60,{
 				mes "wish you luck on your";
 				mes "new life's journey.";
 				next;
-				skill 143,0,0;
+				skill "NV_TRICKDEAD",0,0;
 				jobchange Job_Acolyte_High;
-				skill 156,1,0;
+				skill "AL_HOLYLIGHT",1,0;
 				mes "[Father Mareusis]";
 				mes "Now, venture forth and seek those who need your help. May God light your path.";
 				close;
@@ -181,7 +181,7 @@ prt_church,184,41,4	script	Cleric#aco	60,{
 		mes "[Father Mareusis]";
 		mes "I am proud to say that you are now ready to become an Acolyte!";
 		next;
-		skill 143,0,0;
+		skill "NV_TRICKDEAD",0,0;
 		callfunc "Job_Change",Job_Acolyte;
 		callfunc "F_ClearJobVar";
 		if(checkquest(1001) != -1) {

+ 3 - 3
npc/pre-re/jobs/1-1/archer.txt

@@ -51,10 +51,10 @@ payon_in02,64,71,4	script	Archer Guildsman#archer	85,{
 			mes "need to say anything else.";
 			mes "I know you'll make a great Archer...";
 			next;
-			skill 143,0,0;
+			skill "NV_TRICKDEAD",0,0;
 			jobchange Job_Archer_high;
-			skill 147,1,0;
-			skill 148,1,0;
+			skill "AC_MAKINGARROW",1,0;
+			skill "AC_CHARGEARROW",1,0;
 			mes "[Archer Guildsman]";
 			mes "Although there's no special";
 			mes "reward for you this time, I hope you understand. Take care of yourself.";

+ 2 - 2
npc/pre-re/jobs/1-1/mage.txt

@@ -46,9 +46,9 @@ geffen_in,164,124,4	script	Mage Guildsman	123,{
 				mes "[Mage Guildsman]";
 				mes "Well, since you have passed the Mage test once, I will not question your qualification. You want to have your magic skills back immediately, don't you?";
 				next;
-				skill 143,0,0;
+				skill "NV_TRICKDEAD",0,0;
 				jobchange Job_Mage_High;
-				skill 157,1,0;
+				skill "MG_ENERGYCOAT",1,0;
 				mes "[Mage Guildsman]";
 				mes "Wow, for some reason, you look way better than you did before. Anyway, I believe you will do a better job being a Mage as well.";
 				close;

+ 4 - 4
npc/pre-re/jobs/1-1/merchant.txt

@@ -56,11 +56,11 @@ alberta_in,53,43,6	script	Merchant#mer	86,{
 			mes "[Chief Mahnsoo]";
 			mes "I guess it's destiny that we meet like this once more. Alright. Once again, let me change you into a Merchant!";
 			next;
-			skill 143,0,0;
+			skill "NV_TRICKDEAD",0,0;
 			jobchange Job_Merchant_High;
-			skill 153,1,0;
-			skill 154,1,0;
-			skill 155,1,0;
+			skill "MC_CARTREVOLUTION",1,0;
+			skill "MC_CHANGECART",1,0;
+			skill "MC_LOUD",1,0;
 			mes "[Chief Mahnsoo]";
 			mes "Ah~ How nostalgic. Just like old times! Alright, do your best!";
 			close;

+ 4 - 4
npc/pre-re/jobs/1-1/swordman.txt

@@ -59,11 +59,11 @@ izlude_in,74,172,4	script	Swordman#swd_1	119,{
 			mes "[Swordman]";
 			mes "Excellent! Let me promote you to a Swordman right away!";
 			next;
-			skill 143,0,0;
+			skill "NV_TRICKDEAD",0,0;
 			jobchange Job_Swordman_High;
-			skill 144,1,0;
-			skill 145,1,0;
-			skill 146,1,0;
+			skill "SM_MOVINGRECOVERY",1,0;
+			skill "SM_FATALBLOW",1,0;
+			skill "SM_AUTOBERSERK",1,0;
 			mes "[Swordman]";
 			mes "Hmm... You look like a well-experienced Swordman. Still, I'm sure that you must train to improve your skills and gain strength!";
 			close;

+ 5 - 5
npc/pre-re/jobs/1-1/thief.txt

@@ -40,12 +40,12 @@ moc_prydb1,39,129,2	script	Thief Guide	69,{
 				mes "[Thief Guide]";
 				mes "Well, I got this feeling like you've been through a lifetime of fighting, so I'm promoting you to a Thief right this minute. I better give you tough guys what you want...";
 				next;
-				skill 143,0,0;
+				skill "NV_TRICKDEAD",0,0;
 				jobchange Job_Thief_High;
-				skill 149,1,0;
-				skill 150,1,0;
-				skill 151,1,0;
-				skill 152,1,0;
+				skill "TF_SPRINKLESAND",1,0;
+				skill "TF_BACKSLIDING",1,0;
+				skill "TF_PICKSTONE",1,0;
+				skill "TF_THROWSTONE",1,0;
 				mes "[Thief Guide]";
 				mes "Since you've become a Thief, live as a Thief. Now, go for it! Next~";
 				close;

+ 1 - 1
npc/pre-re/jobs/novice/novice.txt

@@ -753,7 +753,7 @@ new_1-2,83,111,3	script	Skill Tutor#nv	753,{
 			next;
 			mes "^3355FFYou have learned";
 			mes "the ^4A708BFirst Aid^3355FF skill.^000000";
-			skill 142,1,0; //NV_FIRSTAID
+			skill "NV_FIRSTAID",1,0;
 			set NOV_SK,3;
 			set nov_get_item03,11;
 			next;

+ 1 - 1
npc/quests/skills/assassin_skills.txt

@@ -538,7 +538,7 @@ in_moc_16,23,27,5	script	Assassin#realgirl	885,{
 			mes "Yes, that's it...!";
 			mes "Very well executed.";
 			mes "Good work, "+ strcharinfo(0) +".";
-			skill 1003,1,0;
+			skill "AS_SONICACCEL",1,0;
 			set ASSN_SK,7;
 			next;
 			mes "[Esmille]";

+ 1 - 1
npc/quests/skills/bard_skills.txt

@@ -571,7 +571,7 @@ morocc_in,169,72,7	script	Spiteful-Looking Bard#bs	741,3,3,{
 				mes "spinning, head spinning...!''";
 				specialeffect2 EF_TALK_FROSTJOKE;
 				delitem 574,5; //Egg
-				skill 1010,1,0;
+				skill "BA_PANGVOICE",1,0;
 				set qskill_bard,9;
 				next;
 				mes "[Riott]";

+ 3 - 3
npc/quests/skills/rogue_skills.txt

@@ -140,7 +140,7 @@ in_rogue,355,179,0	script	Haijara Greg#rogueguild	46,{
 			mes "eh? Then I will teach you the";
 			mes "Close Confine skill once again.";
 			specialeffect2 EF_LIGHTSPHERE;
-			skill 1005,1,0;
+			skill "RG_CLOSECONFINE",1,0;
 			set ROG_SK,13;
 			close;
 		}
@@ -493,7 +493,7 @@ in_rogue,355,179,0	script	Haijara Greg#rogueguild	46,{
 					mes "more about this skill through";
 					mes "practice, and that you become as great a legend as Chae Takbae.";
 					set ROG_SK,12;
-					skill 1005,1,0;
+					skill "RG_CLOSECONFINE",1,0;
 					specialeffect2 EF_LIGHTSPHERE;
 					close;
 				}
@@ -505,7 +505,7 @@ in_rogue,355,179,0	script	Haijara Greg#rogueguild	46,{
 				mes "practice. Good luck, and";
 				mes "thanks again for your help.";
 				set ROG_SK,12;
-				skill 1005,1,0;
+				skill "RG_CLOSECONFINE",1,0;
 				specialeffect2 EF_LIGHTSPHERE;
 				close;
 			}

+ 80 - 80
npc/re/instances/WolfchevLaboratory.txt

@@ -973,99 +973,99 @@ lhz_cube,233,24,4	script	Sorcerer#Bio4Reward	4_M_UMDANCEKID,{
 	mes "OK! Which power do you want to dwell in your equipment?";
 	next;
 	switch(select("I say no! I don't need that!!", .@menu_in$[1], .@menu_in$[2], .@menu_in$[3])) {
-		case 1:
+	case 1:
+		mes "[Pudding]";
+		mes "Ohhh.. I was looking forward to doing it, but it's all up to you......";
+		close;
+	case 2:
+		if (countitem(6469) < 10) {
 			mes "[Pudding]";
-			mes "Ohhh.. I was looking forward to doing it, but it's all up to you......";
+			mes "Not enough '^F2766EWill of Warrior^000000', You need to bring 10 '^F2766EWill of Warrior^000000'";
 			close;
-		case 2:
-			if (countitem(6469) < 10) {
-				mes "[Pudding]";
-				mes "Not enough '^F2766EWill of Warrior^000000', You need to bring 10 '^F2766EWill of Warrior^000000'";
-				close;
+		}
+		else if (getequipcardid(.@part, 3) > 0) {
+			mes "[Pudding]";
+			mes "This equipment already got the power of '^F2766EWill of Warrior^000000'.";
+			close;
+		} else {
+			.@socket_type = 4;
+		}
+		break;
+	case 3:
+		if (countitem(6470) < 10) {
+			mes "[Pudding]";
+			mes "Not enough '^952420Thirst for Blood^000000', You need to bring 10 '^952420Thirst for Blood^000000'";
+			close;
+		}
+		else if (getequipcardid(.@part, 2) > 0) {
+			mes "[Pudding]";
+			mes "This equipment already got the power of '^952420Thirst for Blood^000000'.";
+			close;
+		} else {
+			.@socket_type = 3;
+		}
+		break;
+	case 4:
+		// Enchant Removal
+		if (countitem(6471) < 10) {
+			.@menu_clear$[1] = "^999999Not enough 'Chill of the Dead'^000000";
+			.@menu_clear$[2] = "^999999Not enough 'Chill of the Dead'^000000";
+			.@4thzptsodyd = 1;
+			.@3thzptsodyd = 1;
+		} else {
+			if (getequipcardid(.@part, 3) > 0) {
+				.@menu_clear$[1] = "Remove the power of '^F2766EWill of Warrior^000000'";
+			} else {
+				.@menu_clear$[1] = "^999999There's no power to remove^000000";
+				.@4thzptsodyd = 1;
 			}
-			else if (getequipcardid(.@part, 3) > 0) {
-				mes "[Pudding]";
-				mes "This equipment already got the power of '^F2766EWill of Warrior^000000'.";
-				close;
+			if (getequipcardid(.@part, 2) > 0) {
+				.@menu_clear$[2] = "Remove the power of '^952420Thirst for Blood^000000'";
 			} else {
-				.@socket_type = 4;
+				.@menu_clear$[2] = "^999999There's no power to remove^000000";
+				.@3thzptsodyd = 1;
 			}
-			break;
+		}
+		mes "[Pudding]";
+		mes "Alright, which power do you want to remove?";
+		next;
+		.@menu = select("No, I don't wannna remove any.", .@menu_clear$[1], .@menu_clear$[2]);
+		switch(.@menu){
+		case 1:
+			mes "[Pudding]";
+			mes "Really? Ok. I got it..";
+			close;
+		case 2:
 		case 3:
-			if (countitem(6470) < 10) {
+			if (countitem(6471) < 10) {
 				mes "[Pudding]";
-				mes "Not enough '^952420Thirst for Blood^000000', You need to bring 10 '^952420Thirst for Blood^000000'";
+				mes "Not enough '^88C6F7Chill of the Dead^000000', You need to bring 10 '^88C6F7Chill of the Dead^000000'";
 				close;
 			}
-			else if (getequipcardid(.@part, 2) > 0) {
+			if ( (.@menu==3 && .@3thzptsodyd == 1) || (.@menu==2 && .@4thzptsodyd == 1) ) {
 				mes "[Pudding]";
-				mes "This equipment already got the power of '^952420Thirst for Blood^000000'.";
+				mes "This equipment didn't get any special power.";
 				close;
-			} else {
-				.@socket_type = 3;
-			}
-			break;
-		case 4:
-			// Enchant Removal
-			if (countitem(6471) < 10) {
-				.@menu_clear$[1] = "^999999Not enough 'Chill of the Dead'^000000";
-				.@menu_clear$[2] = "^999999Not enough 'Chill of the Dead'^000000";
-				.@4thzptsodyd = 1;
-				.@3thzptsodyd = 1;
-			} else {
-				if (getequipcardid(.@part, 3) > 0) {
-					.@menu_clear$[1] = "Remove the power of '^F2766EWill of Warrior^000000'";
-				} else {
-					.@menu_clear$[1] = "^999999There's no power to remove^000000";
-					.@4thzptsodyd = 1;
-				}
-				if (getequipcardid(.@part, 2) > 0) {
-					.@menu_clear$[2] = "Remove the power of '^952420Thirst for Blood^000000'";
-				} else {
-					.@menu_clear$[2] = "^999999There's no power to remove^000000";
-					.@3thzptsodyd = 1;
-				}
 			}
+			setarray .@equip_card[0], getequipcardid(.@part,0), getequipcardid(.@part,1), getequipcardid(.@part,2), getequipcardid(.@part,3);
+			if (.@menu == 2)
+				.@equip_card[3] = 0;
+			else
+				.@equip_card[2] = 0;
+			.@equip_item = getequipid(.@part);
+			specialeffect EF_BEGINSPELL2, AREA, "Sorcerer#Bio4Reward";
+			progressbar "ffff00", 2;
+			specialeffect2 EF_FROSTWEAPON;
+			delitem 6471, 10; //Goast_Chill
+			delequip .@part;
+			getitem2 .@equip_item, 1, 1, .@refine_count, 0, .@equip_card[0], .@equip_card[1], .@equip_card[2], .@equip_card[3];
 			mes "[Pudding]";
-			mes "Alright, which power do you want to remove?";
-			next;
-			.@menu = select("No, I don't wannna remove any.", .@menu_clear$[1], .@menu_clear$[2]);
-			switch(.@menu){
-				case 1:
-					mes "[Pudding]";
-					mes "Really? Ok. I got it..";
-					close;
-				case 2:
-				case 3:
-					if (countitem(6471) < 10) {
-						mes "[Pudding]";
-						mes "Not enough '^88C6F7Chill of the Dead^000000', You need to bring 10 '^88C6F7Chill of the Dead^000000'";
-						close;
-					}
-					if ( (.@menu==3 && .@3thzptsodyd == 1) || (.@menu==2 && .@4thzptsodyd == 1) ) {
-						mes "[Pudding]";
-						mes "This equipment didn't get any special power.";
-						close;
-					}
-					setarray .@equip_card[0], getequipcardid(.@part,0), getequipcardid(.@part,1), getequipcardid(.@part,2), getequipcardid(.@part,3);
-					if (.@menu == 2)
-						.@equip_card[3] = 0;
-					else
-						.@equip_card[2] = 0;
-					.@equip_item = getequipid(.@part);
-					specialeffect EF_BEGINSPELL2, AREA, "Sorcerer#Bio4Reward";
-					progressbar "ffff00", 2;
-					specialeffect2 EF_FROSTWEAPON;
-					delitem 6471, 10; //Goast_Chill
-					delequip .@part;
-					getitem2 .@equip_item, 1, 1, .@refine_count, 0, .@equip_card[0], .@equip_card[1], .@equip_card[2], .@equip_card[3];
-					mes "[Pudding]";
-					if (.@menu==3)
-						mes "The power of '^952420Thirst for Blood^000000' has been perfectly removed.";
-					else
-						mes "The power of '^F2766EWill of Warrior^000000' has been perfectly removed.";
-					close;
-			}
+			if (.@menu == 3)
+				mes "The power of '^952420Thirst for Blood^000000' has been perfectly removed.";
+			else
+				mes "The power of '^F2766EWill of Warrior^000000' has been perfectly removed.";
+			close;
+		}
 	}
 	mes "[Pudding]";
 	mes "Before I dwell the power, let me explain to you cautions.";

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

@@ -39,9 +39,9 @@ prt_church,184,41,4	script	Cleric#aco	60,{
 				mes "wish you luck on your";
 				mes "new life's journey.";
 				next;
-				skill 143,0,0;
+				skill "NV_TRICKDEAD",0,0;
 				jobchange Job_Acolyte_High;
-				skill 156,1,0;
+				skill "AL_HOLYLIGHT",1,0;
 				mes "[Father Mareusis]";
 				mes "Now, venture forth and seek those who need your help. May God light your path.";
 				close;

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

@@ -39,10 +39,10 @@ payon_in02,64,71,4	script	Archer Guildsman#archer	85,{
 			mes "need to say anything else.";
 			mes "I know you'll make a great Archer...";
 			next;
-			skill 143,0,0;
+			skill "NV_TRICKDEAD",0,0;
 			jobchange Job_Archer_high;
-			skill 147,1,0;
-			skill 148,1,0;
+			skill "AC_MAKINGARROW",1,0;
+			skill "AC_CHARGEARROW",1,0;
 			mes "[Archer Guildsman]";
 			mes "Although there's no special";
 			mes "reward for you this time, I hope you understand. Take care of yourself.";

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

@@ -33,9 +33,9 @@ geffen_in,164,124,4	script	Mage Guildsman#mage	123,{
 				mes "[Mage Guildsman]";
 				mes "Well, since you have passed the Mage test once, I will not question your qualification. You want to have your magic skills back immediately, don't you?";
 				next;
-				skill 143,0,0;
+				skill "NV_TRICKDEAD",0,0;
 				jobchange Job_Mage_High;
-				skill 157,1,0;
+				skill "MG_ENERGYCOAT",1,0;
 				mes "[Mage Guildsman]";
 				mes "Wow, for some reason, you look way better than you did before. Anyway, I believe you will do a better job being a Mage as well.";
 				close;

+ 4 - 4
npc/re/jobs/1-1/merchant.txt

@@ -37,11 +37,11 @@ alberta_in,53,43,6	script	Merchant#mer	86,{
 			mes "[Chief Mahnsoo]";
 			mes "I guess it's destiny that we meet like this once more. Alright. Once again, let me change you into a Merchant!";
 			next;
-			skill 143,0,0;
+			skill "NV_TRICKDEAD",0,0;
 			jobchange Job_Merchant_High;
-			skill 153,1,0;
-			skill 154,1,0;
-			skill 155,1,0;
+			skill "MC_CARTREVOLUTION",1,0;
+			skill "MC_CHANGECART",1,0;
+			skill "MC_LOUD",1,0;
 			mes "[Chief Mahnsoo]";
 			mes "Ah~ How nostalgic. Just like old times! Alright, do your best!";
 			close;

+ 4 - 4
npc/re/jobs/1-1/swordman.txt

@@ -34,11 +34,11 @@ izlude_in,74,172,4	script	Swordman#swd	119,{
 			mes "[Swordman]";
 			mes "Excellent! Let me promote you to a Swordman right away!";
 			next;
-			skill 143,0,0;
+			skill "NV_TRICKDEAD",0,0;
 			jobchange Job_Swordman_High;
-			skill 144,1,0;
-			skill 145,1,0;
-			skill 146,1,0;
+			skill "SM_MOVINGRECOVERY",1,0;
+			skill "SM_FATALBLOW",1,0;
+			skill "SM_AUTOBERSERK",1,0;
 			mes "[Swordman]";
 			mes "Hmm... You look like a well-experienced Swordman. Still, I'm sure that you must train to improve your skills and gain strength!";
 			close;

+ 5 - 5
npc/re/jobs/1-1/thief.txt

@@ -30,12 +30,12 @@ moc_prydb1,39,129,2	script	Thief Guide#thief	69,{
 				mes "[Thief Guide]";
 				mes "Well, I got this feeling like you've been through a lifetime of fighting, so I'm promoting you to a Thief right this minute. I better give you tough guys what you want...";
 				next;
-				skill 143,0,0;
+				skill "NV_TRICKDEAD",0,0;
 				jobchange Job_Thief_High;
-				skill 149,1,0;
-				skill 150,1,0;
-				skill 151,1,0;
-				skill 152,1,0;
+				skill "TF_SPRINKLESAND",1,0;
+				skill "TF_BACKSLIDING",1,0;
+				skill "TF_PICKSTONE",1,0;
+				skill "TF_THROWSTONE",1,0;
 				mes "[Thief Guide]";
 				mes "Since you've become a Thief, live as a Thief. Now, go for it! Next~";
 				close;

+ 0 - 7
npc/re/merchants/enchan_mora.txt

@@ -1110,13 +1110,6 @@ L_Socket:
 		}
 		delitem 6380,1; //Mora_Coin
 		set Zeny, Zeny-100000;
-
-		// anti-hack
-		if (callfunc("F_IsEquipIDHack", .@part, .@equip_id) ||
-		    callfunc("F_IsEquipRefineHack", .@part, .@equip_refine) ||
-		    callfunc("F_IsEquipCardHack", .@part, .@equip_card[0], .@equip_card[1], .@equip_card[2], .@equip_card[3]))
-			close;
-
 		delequip .@part;
 		if (.@enchant == 9) {
 			specialeffect2 EF_SUI_EXPLOSION;