From a44741c83773989430f5e3ac4a8a83c93b1341ff Mon Sep 17 00:00:00 2001 From: Ben Longbons Date: Sat, 5 Oct 2013 22:15:20 -0700 Subject: Enumify sex It's amazing some of this code ever worked ... --- src/map/chrif.cpp | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) (limited to 'src/map/chrif.cpp') diff --git a/src/map/chrif.cpp b/src/map/chrif.cpp index 1f7d1cc..43608d3 100644 --- a/src/map/chrif.cpp +++ b/src/map/chrif.cpp @@ -219,7 +219,7 @@ int chrif_changemapserver(dumb_ptr sd, WFIFOW(char_fd, 36) = y; WFIFOIP(char_fd, 38) = ip; WFIFOL(char_fd, 42) = port; - WFIFOB(char_fd, 44) = sd->status.sex; + WFIFOB(char_fd, 44) = static_cast(sd->status.sex); WFIFOIP(char_fd, 45) = s_ip; WFIFOSET(char_fd, 49); @@ -604,11 +604,11 @@ void chrif_changedgm(int fd) static void chrif_changedsex(int fd) { - int acc, sex, i; + int acc, i; dumb_ptr sd; acc = RFIFOL(fd, 2); - sex = RFIFOL(fd, 6); + SEX sex = static_cast(RFIFOB(fd, 6)); if (battle_config.etc_log) PRINTF("chrif_changedsex %d.\n", acc); sd = map_id2sd(acc); @@ -616,7 +616,10 @@ void chrif_changedsex(int fd) { if (sd != NULL && sd->status.sex != sex) { - sd->sex = sd->status.sex = !sd->status.sex; + if (sd->status.sex == SEX::MALE) + sd->sex = sd->status.sex = SEX::FEMALE; + else if (sd->status.sex == SEX::FEMALE) + sd->sex = sd->status.sex = SEX::MALE; // to avoid any problem with equipment and invalid sex, equipment is unequiped. for (i = 0; i < MAX_INVENTORY; i++) { -- cgit v1.2.3-60-g2f50