|
@@ -65,7 +65,7 @@ struct fame_list smith_fame_list[MAX_FAME_LIST];
|
|
struct fame_list chemist_fame_list[MAX_FAME_LIST];
|
|
struct fame_list chemist_fame_list[MAX_FAME_LIST];
|
|
struct fame_list taekwon_fame_list[MAX_FAME_LIST];
|
|
struct fame_list taekwon_fame_list[MAX_FAME_LIST];
|
|
|
|
|
|
-static unsigned short equip_pos[EQI_MAX]={EQP_ACC_L,EQP_ACC_R,EQP_SHOES,EQP_GARMENT,EQP_HEAD_LOW,EQP_HEAD_MID,EQP_HEAD_TOP,EQP_ARMOR,EQP_HAND_L,EQP_HAND_R,EQP_COSTUME_HEAD_TOP,EQP_COSTUME_HEAD_MID,EQP_COSTUME_HEAD_LOW,EQP_AMMO};
|
|
|
|
|
|
+static unsigned short equip_pos[EQI_MAX]={EQP_ACC_L,EQP_ACC_R,EQP_SHOES,EQP_GARMENT,EQP_HEAD_LOW,EQP_HEAD_MID,EQP_HEAD_TOP,EQP_ARMOR,EQP_HAND_L,EQP_HAND_R,EQP_COSTUME_HEAD_TOP,EQP_COSTUME_HEAD_MID,EQP_COSTUME_HEAD_LOW,EQP_COSTUME_GARMENT,EQP_AMMO};
|
|
|
|
|
|
#define MOTD_LINE_SIZE 128
|
|
#define MOTD_LINE_SIZE 128
|
|
static char motd_text[MOTD_LINE_SIZE][CHAT_SIZE_MAX]; // Message of the day buffer [Valaris]
|
|
static char motd_text[MOTD_LINE_SIZE][CHAT_SIZE_MAX]; // Message of the day buffer [Valaris]
|
|
@@ -1437,7 +1437,7 @@ int pc_calc_skilltree(struct map_session_data *sd)
|
|
sd->status.skill[id].id = id;
|
|
sd->status.skill[id].id = id;
|
|
sd->status.skill[id].flag = SKILL_FLAG_TEMPORARY; // So it is not saved, and tagged as a "bonus" skill.
|
|
sd->status.skill[id].flag = SKILL_FLAG_TEMPORARY; // So it is not saved, and tagged as a "bonus" skill.
|
|
}
|
|
}
|
|
- else if( id != NV_BASIC)
|
|
|
|
|
|
+ else if( id != NV_BASIC )
|
|
{
|
|
{
|
|
sd->status.skill[id].flag = SKILL_FLAG_REPLACED_LV_0 + sd->status.skill[id].lv; // Remember original level
|
|
sd->status.skill[id].flag = SKILL_FLAG_REPLACED_LV_0 + sd->status.skill[id].lv; // Remember original level
|
|
}
|
|
}
|
|
@@ -7525,7 +7525,7 @@ int pc_equiplookall(struct map_session_data *sd)
|
|
clif_changelook(&sd->bl,LOOK_HEAD_BOTTOM,sd->status.head_bottom);
|
|
clif_changelook(&sd->bl,LOOK_HEAD_BOTTOM,sd->status.head_bottom);
|
|
clif_changelook(&sd->bl,LOOK_HEAD_TOP,sd->status.head_top);
|
|
clif_changelook(&sd->bl,LOOK_HEAD_TOP,sd->status.head_top);
|
|
clif_changelook(&sd->bl,LOOK_HEAD_MID,sd->status.head_mid);
|
|
clif_changelook(&sd->bl,LOOK_HEAD_MID,sd->status.head_mid);
|
|
- clif_changelook(&sd->bl, LOOK_ROBE, sd->status.robe);
|
|
|
|
|
|
+ clif_changelook(&sd->bl,LOOK_ROBE, sd->status.robe);
|
|
|
|
|
|
return 0;
|
|
return 0;
|
|
}
|
|
}
|
|
@@ -8570,11 +8570,14 @@ int pc_equipitem(struct map_session_data *sd,int n,int req_pos)
|
|
}
|
|
}
|
|
if(pos & EQP_SHOES)
|
|
if(pos & EQP_SHOES)
|
|
clif_changelook(&sd->bl,LOOK_SHOES,0);
|
|
clif_changelook(&sd->bl,LOOK_SHOES,0);
|
|
- if( pos&EQP_GARMENT )
|
|
|
|
- {
|
|
|
|
|
|
+ if(pos&EQP_GARMENT) {
|
|
sd->status.robe = id ? id->look : 0;
|
|
sd->status.robe = id ? id->look : 0;
|
|
clif_changelook(&sd->bl, LOOK_ROBE, sd->status.robe);
|
|
clif_changelook(&sd->bl, LOOK_ROBE, sd->status.robe);
|
|
}
|
|
}
|
|
|
|
+ if(pos & EQP_COSTUME_GARMENT) {
|
|
|
|
+ sd->status.robe = id ? id->look : 0;
|
|
|
|
+ clif_changelook(&sd->bl,LOOK_ROBE,sd->status.robe);
|
|
|
|
+ }
|
|
|
|
|
|
pc_checkallowskill(sd); //Check if status changes should be halted.
|
|
pc_checkallowskill(sd); //Check if status changes should be halted.
|
|
iflag = sd->npc_item_flag;
|
|
iflag = sd->npc_item_flag;
|
|
@@ -8710,12 +8713,17 @@ int pc_unequipitem(struct map_session_data *sd,int n,int flag) {
|
|
|
|
|
|
if(sd->status.inventory[n].equip & EQP_SHOES)
|
|
if(sd->status.inventory[n].equip & EQP_SHOES)
|
|
clif_changelook(&sd->bl,LOOK_SHOES,0);
|
|
clif_changelook(&sd->bl,LOOK_SHOES,0);
|
|
- if( sd->status.inventory[n].equip&EQP_GARMENT )
|
|
|
|
- {
|
|
|
|
|
|
+
|
|
|
|
+ if(sd->status.inventory[n].equip&EQP_GARMENT && pc_checkequip(sd,EQP_COSTUME_GARMENT) == -1) {
|
|
sd->status.robe = 0;
|
|
sd->status.robe = 0;
|
|
clif_changelook(&sd->bl, LOOK_ROBE, 0);
|
|
clif_changelook(&sd->bl, LOOK_ROBE, 0);
|
|
}
|
|
}
|
|
|
|
|
|
|
|
+ if(sd->status.inventory[n].equip & EQP_COSTUME_GARMENT) {
|
|
|
|
+ sd->status.robe = ( pc_checkequip(sd,EQP_GARMENT) >= 0 ) ? sd->inventory_data[pc_checkequip(sd,EQP_GARMENT)]->look : 0;
|
|
|
|
+ clif_changelook(&sd->bl,LOOK_ROBE,sd->status.robe);
|
|
|
|
+ }
|
|
|
|
+
|
|
clif_unequipitemack(sd,n,sd->status.inventory[n].equip,1);
|
|
clif_unequipitemack(sd,n,sd->status.inventory[n].equip,1);
|
|
|
|
|
|
if((sd->status.inventory[n].equip & EQP_ARMS) &&
|
|
if((sd->status.inventory[n].equip & EQP_ARMS) &&
|