Sfoglia il codice sorgente

Updated Valkyrie NPCs

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@5724 54d463be-8e91-2dee-dedb-b68131a5f0ec
Vicious 19 anni fa
parent
commit
56ba8dad2d
2 ha cambiato i file con 62 aggiunte e 59 eliminazioni
  1. 2 0
      npc/Changelog.txt
  2. 60 59
      npc/cities/valkyrie.txt

+ 2 - 0
npc/Changelog.txt

@@ -26,6 +26,8 @@ Nexon
 == Changelog ==
 
 Date		Added
+03/23
+	* Updated Rebirth NPC/functions to use constant. Might have broken it, so do report [Vicious]
 03/21
 	* Improved payment healer. [Lance]
 03/20

+ 60 - 59
npc/cities/valkyrie.txt

@@ -4,7 +4,7 @@
 //= Nana, fixes by Poki
 //= finished, optimized and tested by Lupus
 //===== Current Version: ===================================== 
-//= 2.0b
+//= 2.1
 //===== Compatible With: ===================================== 
 //= eAthena 1.0 +
 //===== Description: ========================================= 
@@ -25,6 +25,7 @@
 //= 1.9 Added support for Job NPC Fase pics, sorrected one dialogue stuff [Lupus]
 //= 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]
 //============================================================ 
 
 
@@ -35,7 +36,7 @@ valkyrie.gat,48,66,0	warp	valk01	1,1,valkyrie.gat,48,75,0
 // -== Book of Ymir (Heavens Door) ==-
 yuno_in02.gat,93,207,0	script	Book of Ymir	111,{
 	mes "[Book of Ymir]";
-	if(Upper==2 || baseClass == Job_Taekwon) goto L_BABY; //don't allow Taekwondo classes, Baby Classes
+	if(Upper==2 || baseClass == Job_Taekwon || BaseJob == Job_Gunslinger || BaseJob == Job_Ninja) goto L_BABY; //don't allow Taekwondo classes, Baby Classes, and GS/NJ
 	if(valkyrie_Q == 1) goto L_FADED;
 	if(valkyrie_Q == 2) goto L_START;
 L_BABY:
@@ -77,8 +78,8 @@ L_START:
 // -== The Librarian that watches the "Book of Ymir" ==-
 yuno_in02.gat,91,176,5	script	Librarian	754,{
 	mes "[Librarian]";
-	if(valkyrie_Q>0) goto L_DONE;
-	if(BaseJob >= 7 && Upper==0) goto L_PAY;
+	if(valkyrie_Q > 0) goto L_DONE;
+	if(BaseJob >= Job_Knight && Upper==0) goto L_PAY;
 	mes "Have a look around, but don't touch the book. Only a few chosen ones can read its wise words.";
 	close;
 
@@ -95,11 +96,11 @@ L_PAY:
 	menu "Pay now",-,"Close",M_EXIT;
 
 	if(Zeny != 1285000) goto L_WRONGZ;
+	set Zeny,0;
+	set valkyrie_Q,1;
 	mes "[Librarian]";
 	mes "Go now, into Heart of Ymir";
 	mes "There, you'll find the last piece of information before you can open the book.";
-	set valkyrie_Q,1;
-	set Zeny,0;
 	close;
 
 L_WRONGZ:
@@ -146,7 +147,7 @@ yuno_in02.gat,90,77,4	script	Researcher	744,{
 	mes "Argh, where is it!?";
 	mes "They said that it would be around here somewhere...";
 	mes "Maybe I have to look deeper into this castle...";
-	emotion 1;
+	emotion e_what;
 	close;
 }
 
@@ -159,12 +160,12 @@ yuno_in02.gat,90,77,4	script	Researcher	744,{
 // -== Valhallana ==-
 valkyrie.gat,48,86,6	script	Valkyrie	811,{
 	mes "[Valhallana]";
-	if(BaseJob == 23) goto L_SN;
-	if(baseClass == Job_Taekwon ) goto L_TAEKWON; //sent back any Taekwondo classes
-	if(Upper == 2 ) goto L_BABY;
-	if(Upper > 0 ) goto L_ALREADY;
+	if(BaseJob == Job_SuperNovice) goto L_SN;
+	if(baseClass == Job_Taekwon || BaseJob == Job_Gunslinger || BaseJob == Job_Ninja) goto L_TAEKWON; //sent back any Taekwondo/GS/NJ classes
+	if(Upper == 2) goto L_BABY;
+	if(Upper > 0) goto L_ALREADY;
 	if(BaseLevel >= 99 && JobLevel >= 50 && BaseJob >= 7) goto L_CHANGE;
-	if(BaseJob < 7) goto L_NOTHING;
+	if(BaseJob <= Job_Thief) goto L_NOTHING;
 
 	mes "You need 99 Base Level and 50 Job Level.";
 	mes "Also you must get rid of all of your money and items.";
@@ -182,7 +183,7 @@ L_Y:
 
 L_TAEKWON:
 	mes "How did you get here?";
-	emotion 1;
+	emotion e_what;
 	next;
 	goto L_Y;
 
@@ -192,14 +193,14 @@ L_SN:
 	next;
 	mes "[Valhallana]";
 	mes "I am sorry, but I can't help you.";
-	emotion 17;
+	emotion e_sry;
 	next;
 	goto L_NOTHING;
 
 L_ALREADY:
 	mes "I can't help you anymore.";
-	if(Class == 4001) mes "You have been reborn already.";
-	if(Class > 4001 && Class < 4008 ) mes "Go and ask these people in the hall.";
+	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.";
 	next;
 
 L_NOTHING:
@@ -247,17 +248,17 @@ L_CHANGE:
 	mes "[Valhallana]";
 	mes "Done...";
 	mes "Good luck.";
-	jobchange 24; //Novice High
+	jobchange Job_Novice_High;
 	resetlvl(1);
 	callfunc "F_ClearJobVar";
 	set RES_SKILL,0; //we reset Reset Skills NPC counter
 	next;
-	if(ADVJOB == Job_Assassin + 4001 || ADVJOB == Job_Rogue + 4001 ) goto L_Mor;
-	if(ADVJOB == Job_Blacksmith + 4001 || ADVJOB == Job_Alchem + 4001 ) goto L_Alb;
-	if(ADVJOB == Job_Hunter + 4001 || ADVJOB == Job_Bard + 4001 || ADVJOB == Job_Dancer + 4001 ) goto L_Pay;
-	if(ADVJOB == Job_Knight + 4001 || ADVJOB == Job_Crusader + 4001 ) goto L_Izl;
-	if(ADVJOB == Job_Priest + 4001 || ADVJOB == Job_Monk + 4001 ) goto L_Pro;
-	if(ADVJOB == Job_Wizard + 4001 || ADVJOB == Job_Sage + 4001 ) goto L_Gef;
+	if(ADVJOB == Job_Lord_Knight || ADVJOB == Job_Paladin) goto L_Izl;
+	if(ADVJOB == Job_High_Priest || ADVJOB == Job_Champion) goto L_Pro;
+	if(ADVJOB == Job_High_Wizard || ADVJOB == Job_Professor) goto L_Gef;
+	if(ADVJOB == Job_Whitesmith || ADVJOB == Job_Creator) goto L_Alb;
+	if(ADVJOB == Job_Sniper || ADVJOB == Job_Clown || ADVJOB == Job_Gypsy) goto L_Pay;
+	if(ADVJOB == Job_Assassin_Cross || ADVJOB == Job_Stalker) goto L_Mor;
 
 L_Pro:
 	savepoint "prontera.gat",273,354;
@@ -325,18 +326,18 @@ L_SKILLPNTS:
 function	script	F_ToHigh	{
 	if(Upper == 2) return; //Baby Class - skip it
 	set @fjob,ADVJOB; //alternative classes should pass, too
-	if(@fjob == Job_Rogue + 4001 ) set @fjob,Job_Assassin+4001;
-	if(@fjob == Job_Alchem + 4001 ) set @fjob,Job_Blacksmith+4001;
-	if(@fjob == Job_Bard + 4001 || @fjob == Job_Dancer + 4001 ) set @fjob,Job_Hunter+4001;
-	if(@fjob == Job_Crusader + 4001 ) set @fjob,Job_Knight+4001;
-	if(@fjob == Job_Monk + 4001 ) set @fjob,Job_Priest+4001;
-	if(@fjob == Job_Sage + 4001 ) set @fjob,Job_Wizard+4001;
-
-	if(Class == 3977+getarg(0) ) goto L_WELCOME; //3rd Job
-	if(Class >= 4008) goto L_ALREADY; //already advanced class
-	if(Class == 4001 && @fjob == 3977+getarg(2) ) goto L_GETHIGH; //High Novice -> High XXXX
-	if(Class == 4001) mes "Hello, Novice High! If you are going to became a "+getarg(1)+", then go visit your very first job teacher.";
-	if(Class == 4001) close;
+	if(@fjob == Job_Stalker) set @fjob,Job_Assassin_Cross;
+	if(@fjob == Job_Creator) set @fjob,Job_Whitesmith;
+	if(@fjob == Job_Clown || @fjob == Job_Gypsy) set @fjob,Job_Sniper;
+	if(@fjob == Job_Paladin) set @fjob,Job_Lord_Knight;
+	if(@fjob == Job_Champion) set @fjob,Job_High_Priest;
+	if(@fjob == Job_Professor) set @fjob,Job_High_Wizard;
+
+	if(Class == 3977+getarg(0)) goto L_WELCOME; //3rd Job
+	if(Class >= Job_Lord_Knight) goto L_ALREADY; //already advanced class
+	if(Class == Job_Novice_High && @fjob == 3977+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;
 	return; //this char doesn't want to get HIGH class
 
 L_GETHIGH:
@@ -373,33 +374,33 @@ L_GETHIGH:
 L_NO_QSKILL:
 	mes "["+getarg(8)+"]";
 	mes "I wish you good fortune in the near future!";
-	emotion 46;
+	emotion e_grat;
 	close;
 
 L_NOTREADY:
 	mes "You are not ready to become a "+getarg(1)+".";
 	mes "You have to raise your Job Level to 10.";
-	emotion 0;
+	emotion e_gasp;
 	close;
 
 L_SKILLPNTS:
 	mes "You will need to use up all of your skill points if you want me to continue.";
-	emotion 20;
+	emotion e_hmm;
 	close;
 
 L_CART:
 	mes "Please, drop your cart and we'll continue.";
-	emotion 20;
+	emotion e_hmm;
 	close;
 
 L_FALCON:
 	mes "Please, free your Falcon and we'll continue.";
-	emotion 20;
+	emotion e_hmm;
 	close;
 
 L_PECO:
 	mes "Please, free your Pecopeco and we'll continue.";
-	emotion 20;
+	emotion e_hmm;
 	close;
 
 L_WELCOME:
@@ -412,7 +413,7 @@ L_ALREADY:
 	mes "["+getarg(8)+"]";
 	mes "It's such a big honor to salute envoys of Valhalla.";
 	mes "Come again.";
-	emotion 2;
+	emotion e_ho;
 	close;
 }
 
@@ -424,10 +425,10 @@ L_ALREADY:
 function	script	F_Rebirth	{
 	mes "["+getarg(3)+"]";
 	if(Upper == 2) goto L_BABY; //Baby Class - skip it
-	if(Class >= 4008) goto L_ALREADY; //already advanced class
+	if(Class >= Job_Lord_Knight goto L_ALREADY; //already advanced class
 	if(Class == (3977+getarg(0)) && ADVJOB == (3977+getarg(2))) goto L_GET3RD; //Hight XXXX -> 3rd Job
 	mes "Go talk to either Valhallana or one of my collegues...";
-	emotion 17;
+	emotion e_sry;
 	close;
 
 L_GET3RD:
@@ -446,38 +447,38 @@ L_GET3RD:
 L_NOTREADY:
 	mes "You have went so far to get here. But I am sorry, you aren't quite ready to become a "+getarg(3)+".";
 	mes "You need at least Job Level 45 or higher.";
-	emotion 0;
+	emotion e_gasp;
 	close;
 
 L_SKILLPNTS:
 	mes "You will need to use up all of your skill points if you want me to continue.";
-	emotion 20;
+	emotion e_hmm;
 	close;
 
 L_CART:
 	mes "Please, drop your cart and we'll continue.";
-	emotion 20;
+	emotion e_hmm;
 	close;
 
 L_FALCON:
 	mes "Please, free your Falcon and we'll continue.";
-	emotion 20;
+	emotion e_hmm;
 	close;
 
 L_PECO:
 	mes "Please, free your Pecopeco and we'll continue.";
-	emotion 20;
+	emotion e_hmm;
 	close;
 
 L_ALREADY:
 	mes "Well, hello there! You have been reborn once, there is no second chance.";
-	emotion 2;
+	emotion e_ho;
 	close;
 
 L_BABY:
 	mes "What a lively baby!";
 	mes "How did you get here? Go to aunt Valhallana and ask her to take your home.";
-	emotion 41;
+	emotion e_pat;
 	close;
 }
 
@@ -493,35 +494,35 @@ function	script	F_BlockHigh	{
 	mes "["+getarg(4)+"]";
 	if(Class == (3977+getarg(0)) && ADVJOB == (3977+getarg(2))) goto L_RIGHTHIGH;
 	if(Class == (3977+getarg(2))) goto L_RIGHT3RD;
-	if(Class >= 4008) goto L_ALREADY3RD; //already advanced class, but from wrong guild
+	if(Class >= Job_Lord_Knight) goto L_ALREADY3RD; //already advanced class, but from wrong guild
 //this player is a High Novice
-	if(Class == 4001) 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) mes "Hello, Novice High! If you are going to became a "+getarg(1)+", then go visit your very first job teacher.";
 //this player has 1st advanced job, but from wrong guild
 	if(Class == (3977+getarg(0))) mes "A "+getarg(1)+"?";
-	if(Class != 4001) mes "Rumors say only Valhallana knows your way...";
-	emotion 17;
+	if(Class != Job_Novice_High) mes "Rumors say only Valhallana knows your way...";
+	emotion e_sry;
 	close;
 
 L_RIGHT3RD:
 	mes "Well, hello there! You look... younger.";
-	emotion 20;
+	emotion e_hmm;
 	next;
 	mes "["+getarg(4)+"]";
 	mes "You are always welcome here, "+strcharinfo(0)+"!";
 	mes "Our good old guild is your second home, isn't it?";
-	emotion 21;
+	emotion e_no1;
 	close;
 
 L_RIGHTHIGH:
 	mes "Hello, "+strcharinfo(0)+"!";
 	mes "If you are going to become a "+getarg(3)+", then you should visit Valhalla again.";
 	if(JobLevel < 45) mes "But you need at least Job Level 45 or higher.";
-	emotion 0;
+	emotion e_gasp;
 	close;
 
 L_ALREADY3RD:
 	mes "A "+getarg(3)+"?";
 	mes "You don't belong to our guild. Begone!";
-	emotion 23;
+	emotion e_omg;
 	close;
 }