diff options
author | Ben Longbons <b.r.longbons@gmail.com> | 2013-10-05 22:15:20 -0700 |
---|---|---|
committer | Ben Longbons <b.r.longbons@gmail.com> | 2013-10-10 14:37:49 -0700 |
commit | a44741c83773989430f5e3ac4a8a83c93b1341ff (patch) | |
tree | f235bfd95ae17d597fda2fedc1ea561358edf23a /src/map/chrif.cpp | |
parent | e591d5b6d891516476aaf12808f4d3b3506e5f92 (diff) | |
download | tmwa-a44741c83773989430f5e3ac4a8a83c93b1341ff.tar.gz tmwa-a44741c83773989430f5e3ac4a8a83c93b1341ff.tar.bz2 tmwa-a44741c83773989430f5e3ac4a8a83c93b1341ff.tar.xz tmwa-a44741c83773989430f5e3ac4a8a83c93b1341ff.zip |
Enumify sex
It's amazing some of this code ever worked ...
Diffstat (limited to 'src/map/chrif.cpp')
-rw-r--r-- | src/map/chrif.cpp | 11 |
1 files changed, 7 insertions, 4 deletions
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<map_session_data> 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<uint8_t>(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<map_session_data> sd; acc = RFIFOL(fd, 2); - sex = RFIFOL(fd, 6); + SEX sex = static_cast<SEX>(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++) { |