summaryrefslogtreecommitdiff
path: root/src/map/clif.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/map/clif.c')
-rw-r--r--src/map/clif.c21
1 files changed, 15 insertions, 6 deletions
diff --git a/src/map/clif.c b/src/map/clif.c
index a1942d5fc..f60594160 100644
--- a/src/map/clif.c
+++ b/src/map/clif.c
@@ -7852,15 +7852,24 @@ int clif_charnameack (int fd, struct block_list *bl)
WBUFB(buf,30) = 0;
memcpy(WBUFP(buf,54), md->guardian_data->guild_name, NAME_LENGTH);
memcpy(WBUFP(buf,78), md->guardian_data->castle->castle_name, NAME_LENGTH);
- } else if (battle_config.show_mob_hp) {
- char mobhp[50];
+ } else if (battle_config.show_mob_info) {
+ char mobhp[50], *str_p = mobhp;
+
WBUFW(buf, 0) = cmd = 0x195;
- sprintf(mobhp, "HP: %u/%u", md->status.hp, md->status.max_hp);
+ if (battle_config.show_mob_info&4)
+ str_p += sprintf(str_p, "Lv. %d |", md->level);
+ if (battle_config.show_mob_info&1)
+ str_p += sprintf(str_p, "HP: %u/%u |", md->status.hp, md->status.max_hp);
+ if (battle_config.show_mob_info&2)
+ str_p += sprintf(str_p, "HP: %d%% |", 100*md->status.hp/md->status.max_hp);
//Even thought mobhp ain't a name, we send it as one so the client
//can parse it. [Skotlex]
- memcpy(WBUFP(buf,30), mobhp, NAME_LENGTH);
- WBUFB(buf,54) = 0;
- memcpy(WBUFP(buf,78), mobhp, NAME_LENGTH);
+ if (str_p != mobhp) {
+ *(str_p-2) = '\0'; //Remove trailing space + pipe.
+ memcpy(WBUFP(buf,30), mobhp, NAME_LENGTH);
+ WBUFB(buf,54) = 0;
+ memcpy(WBUFP(buf,78), mobhp, NAME_LENGTH);
+ }
}
}
break;