summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/map/clif.c2
-rw-r--r--src/map/pc.c5
2 files changed, 7 insertions, 0 deletions
diff --git a/src/map/clif.c b/src/map/clif.c
index a8969d38e..ac5ee91e3 100644
--- a/src/map/clif.c
+++ b/src/map/clif.c
@@ -2587,6 +2587,8 @@ int clif_updatestatus(struct map_session_data *sd,int type)
break;
case SP_CRITICAL:
WFIFOL(fd,4)=sd->battle_status.cri/10;
+ if(sd->status.weapon == W_KATAR)
+ WFIFOL(fd,4) <<=1;
break;
case SP_MATK1:
WFIFOL(fd,4)=sd->battle_status.matk_max;
diff --git a/src/map/pc.c b/src/map/pc.c
index 1110aba09..0c286f29e 100644
--- a/src/map/pc.c
+++ b/src/map/pc.c
@@ -7354,6 +7354,8 @@ int pc_equipitem(struct map_session_data *sd,int n,int req_pos)
sd->weapontype1 = 0;
pc_calcweapontype(sd);
clif_changelook(&sd->bl,LOOK_WEAPON,sd->status.weapon);
+ if( sd->status.weapon == W_KATAR )
+ clif_updatestatus(sd,SP_CRITICAL);
}
if(pos & EQP_HAND_L) {
if(id) {
@@ -7495,9 +7497,12 @@ int pc_unequipitem(struct map_session_data *sd,int n,int flag)
clif_changelook(&sd->bl,LOOK_WEAPON,sd->status.weapon);
}
if(sd->status.inventory[n].equip & EQP_HAND_L) {
+ bool kt_flag = ( sd->status.weapon == W_KATAR );
sd->status.shield = sd->weapontype2 = 0;
pc_calcweapontype(sd);
clif_changelook(&sd->bl,LOOK_SHIELD,sd->status.shield);
+ if( kt_flag )
+ clif_updatestatus(sd,SP_CRITICAL);
}
if(sd->status.inventory[n].equip & EQP_HEAD_LOW && pc_checkequip(sd,EQP_COSTUME_HEAD_LOW) == -1 ) {
sd->status.head_bottom = 0;