* Fixed compilation errors.
* Tidy up jobmaster for easy debugging. git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@6686 54d463be-8e91-2dee-dedb-b68131a5f0ec
This commit is contained in:
parent
64a604f58e
commit
6ae92d0a86
@ -3,6 +3,9 @@ Date Added
|
||||
AS OF SVN REV. 5091, WE ARE NOW USING TRUNK. ALL UNTESTED BUGFIXES/FEATURES GO INTO TRUNK.
|
||||
IF YOU HAVE A WORKING AND TESTED BUGFIX PUT IT INTO STABLE AS WELL AS TRUNK.
|
||||
|
||||
2006/05/22
|
||||
* Fixed compilation errors.
|
||||
Tidy up jobmaster for easy debugging. [Lance]
|
||||
2006/05/21
|
||||
* Part A of the Homunculus code.
|
||||
This only features the structures, status_* and clif_* (packets) and is
|
||||
|
@ -34,54 +34,54 @@ prontera.gat,153,193,6 script Job Master 123,{
|
||||
mes "Welcome, please select the job you wish to change into";
|
||||
if(lastJob != 0 && Class == Job_Novice_High){
|
||||
switch(lastJob){
|
||||
case Job_Knight:
|
||||
case Job_Crusader:
|
||||
set @target_job, Job_Swordman_High;
|
||||
break;
|
||||
case Job_Monk:
|
||||
case Job_Priest:
|
||||
set @target_job, Job_Acolyte_High;
|
||||
break;
|
||||
case Job_Alchem:
|
||||
case Job_Blacksmith:
|
||||
set @target_job, Job_Merchant_High;
|
||||
break;
|
||||
case Job_Rogue:
|
||||
case Job_Assassin:
|
||||
set @target_job, Job_Thief_High;
|
||||
break;
|
||||
case Job_Wizard:
|
||||
case Job_Sage:
|
||||
set @target_job, Job_Mage_High;
|
||||
break;
|
||||
case Job_Hunter:
|
||||
case Job_Bard:
|
||||
case Job_Dancer:
|
||||
set @target_job, Job_Archer_High;
|
||||
break;
|
||||
}
|
||||
case Job_Knight:
|
||||
case Job_Crusader:
|
||||
set @target_job, Job_Swordman_High;
|
||||
break;
|
||||
case Job_Monk:
|
||||
case Job_Priest:
|
||||
set @target_job, Job_Acolyte_High;
|
||||
break;
|
||||
case Job_Alchem:
|
||||
case Job_Blacksmith:
|
||||
set @target_job, Job_Merchant_High;
|
||||
break;
|
||||
case Job_Rogue:
|
||||
case Job_Assassin:
|
||||
set @target_job, Job_Thief_High;
|
||||
break;
|
||||
case Job_Wizard:
|
||||
case Job_Sage:
|
||||
set @target_job, Job_Mage_High;
|
||||
break;
|
||||
case Job_Hunter:
|
||||
case Job_Bard:
|
||||
case Job_Dancer:
|
||||
set @target_job, Job_Archer_High;
|
||||
break;
|
||||
}
|
||||
} else {
|
||||
switch(select("Swordsman","Mage","Archer","Acolyte","Merchant","Thief",
|
||||
"Super Novice","Taekwon","Gunslinger","Ninja")){
|
||||
case 7:
|
||||
if(Class == Job_Novice_High) goto L_noReq;
|
||||
if($@JC_SupNovM > BaseLevel) goto L_BvError;
|
||||
set @target_job, Job_SuperNovice;
|
||||
break;
|
||||
case 8:
|
||||
if(Class == Job_Novice_High) goto L_noReq;
|
||||
if(Upper == 2) goto L_noReq;
|
||||
set @target_job, Job_Taekwon;
|
||||
break;
|
||||
case 9:
|
||||
case 10:
|
||||
if(Class == Job_Novice_High) goto L_noReq;
|
||||
set @target_job, @menu + 15;
|
||||
break;
|
||||
default:
|
||||
set @target_job, @menu;
|
||||
if(Class == Job_Novice_High) set @target_job, @target_job + 4001;
|
||||
break;
|
||||
case 7:
|
||||
if(Class == Job_Novice_High) goto L_noReq;
|
||||
if($@JC_SupNovM > BaseLevel) goto L_BvError;
|
||||
set @target_job, Job_SuperNovice;
|
||||
break;
|
||||
case 8:
|
||||
if(Class == Job_Novice_High) goto L_noReq;
|
||||
if(Upper == 2) goto L_noReq;
|
||||
set @target_job, Job_Taekwon;
|
||||
break;
|
||||
case 9:
|
||||
case 10:
|
||||
if(Class == Job_Novice_High) goto L_noReq;
|
||||
set @target_job, @menu + 15;
|
||||
break;
|
||||
default:
|
||||
set @target_job, @menu;
|
||||
if(Class == Job_Novice_High) set @target_job, @target_job + 4001;
|
||||
break;
|
||||
}
|
||||
}
|
||||
mes "Are you sure?";
|
||||
@ -103,49 +103,49 @@ prontera.gat,153,193,6 script Job Master 123,{
|
||||
set @target_job, lastJob + 4001;
|
||||
} else {
|
||||
switch(Class){
|
||||
case Job_Swordman_High:
|
||||
case Job_Baby_Swordman:
|
||||
case Job_Swordman:
|
||||
set @job_opt[0], Job_Knight;
|
||||
set @job_opt[1], Job_Crusader;
|
||||
break;
|
||||
case Job_Mage_High:
|
||||
case Job_Baby_Mage:
|
||||
case Job_Mage:
|
||||
set @job_opt[0], Job_Wizard;
|
||||
set @job_opt[1], Job_Sage;
|
||||
break;
|
||||
case Job_Archer_High:
|
||||
case Job_Baby_Archer:
|
||||
case Job_Archer:
|
||||
set @job_opt[0], Job_Hunter;
|
||||
if(Sex == 0)
|
||||
set @job_opt[1], Job_Dancer;
|
||||
else
|
||||
set @job_opt[1], Job_Bard;
|
||||
break;
|
||||
case Job_Acolyte_High:
|
||||
case Job_Baby_Acolyte:
|
||||
case Job_Acolyte:
|
||||
set @job_opt[0], Job_Priest;
|
||||
set @job_opt[1], Job_Monk;
|
||||
break;
|
||||
case Job_Merchant_High:
|
||||
case Job_Baby_Merchant:
|
||||
case Job_Merchant:
|
||||
set @job_opt[0], Job_Blacksmith;
|
||||
set @job_opt[1], Job_Alchem;
|
||||
break;
|
||||
case Job_Thief_High:
|
||||
case Job_Baby_Theif:
|
||||
case Job_Theif:
|
||||
set @job_opt[0], Job_Assassin;
|
||||
set @job_opt[1], Job_Rogue;
|
||||
break;
|
||||
default:
|
||||
set @job_opt[0], Job_Star_Gladiator;
|
||||
set @job_opt[1], Job_Soul_Linker;
|
||||
break;
|
||||
case Job_Swordman_High:
|
||||
case Job_Baby_Swordman:
|
||||
case Job_Swordman:
|
||||
set @job_opt[0], Job_Knight;
|
||||
set @job_opt[1], Job_Crusader;
|
||||
break;
|
||||
case Job_Mage_High:
|
||||
case Job_Baby_Mage:
|
||||
case Job_Mage:
|
||||
set @job_opt[0], Job_Wizard;
|
||||
set @job_opt[1], Job_Sage;
|
||||
break;
|
||||
case Job_Archer_High:
|
||||
case Job_Baby_Archer:
|
||||
case Job_Archer:
|
||||
set @job_opt[0], Job_Hunter;
|
||||
if(Sex == 0)
|
||||
set @job_opt[1], Job_Dancer;
|
||||
else
|
||||
set @job_opt[1], Job_Bard;
|
||||
break;
|
||||
case Job_Acolyte_High:
|
||||
case Job_Baby_Acolyte:
|
||||
case Job_Acolyte:
|
||||
set @job_opt[0], Job_Priest;
|
||||
set @job_opt[1], Job_Monk;
|
||||
break;
|
||||
case Job_Merchant_High:
|
||||
case Job_Baby_Merchant:
|
||||
case Job_Merchant:
|
||||
set @job_opt[0], Job_Blacksmith;
|
||||
set @job_opt[1], Job_Alchem;
|
||||
break;
|
||||
case Job_Thief_High:
|
||||
case Job_Baby_Theif:
|
||||
case Job_Theif:
|
||||
set @job_opt[0], Job_Assassin;
|
||||
set @job_opt[1], Job_Rogue;
|
||||
break;
|
||||
default:
|
||||
set @job_opt[0], Job_Star_Gladiator;
|
||||
set @job_opt[1], Job_Soul_Linker;
|
||||
break;
|
||||
}
|
||||
mes "Welcome, please select the job you wish to change into";
|
||||
set @target_job, @job_opt[select(callfunc("getJobName",@job_opt[0]), callfunc("getJobName",@job_opt[1]))-1];
|
||||
|
@ -1371,11 +1371,11 @@ int clif_spawn(struct block_list *bl)
|
||||
int clif_homunack(struct map_session_data *sd)
|
||||
{
|
||||
struct homun_data *hd = sd->hd;
|
||||
unsigned char buf[64];
|
||||
|
||||
nullpo_retr(0, sd);
|
||||
nullpo_retr(0, sd->hd);
|
||||
|
||||
unsigned char buf[64];
|
||||
//memset(buf,0,packet_len_table[0x230]);
|
||||
memset(buf,0,12); //not yet set that stuff
|
||||
WBUFW(buf,0)=0x230;
|
||||
@ -1390,11 +1390,11 @@ int clif_homunack(struct map_session_data *sd)
|
||||
int clif_homuninfo(struct map_session_data *sd)
|
||||
{
|
||||
struct homun_data *hd = sd->hd;
|
||||
unsigned char buf[128];
|
||||
|
||||
nullpo_retr(0, sd);
|
||||
nullpo_retr(0, sd->hd);
|
||||
|
||||
unsigned char buf[128];
|
||||
memset(buf,0,71); //packet_len_table[0x22e]);
|
||||
WBUFW(buf,0)=0x22e;
|
||||
memcpy(WBUFP(buf,2),hd->name,NAME_LENGTH);
|
||||
@ -1418,13 +1418,14 @@ int clif_homuninfo(struct map_session_data *sd)
|
||||
WBUFW(buf,67)=hd->skillpts;
|
||||
WBUFW(buf,69)=0x21;
|
||||
clif_send(buf,/*packet_len_table[0x22e]*/71,&sd->bl,SELF);
|
||||
return 0;
|
||||
}
|
||||
|
||||
// like skillinfoblock, just for homunculi.
|
||||
int clif_homunskillinfoblock(struct map_session_data *sd)
|
||||
{
|
||||
int fd;
|
||||
int i,c,len=4,id, inf2;
|
||||
int i,c,len=4,id/*, inf2*/;
|
||||
|
||||
nullpo_retr(0, sd);
|
||||
nullpo_retr(0, sd->hd);
|
||||
|
Loading…
x
Reference in New Issue
Block a user