diff options
Diffstat (limited to 'src/map')
-rw-r--r-- | src/map/atcommand.c | 4 | ||||
-rw-r--r-- | src/map/script.c | 4 |
2 files changed, 8 insertions, 0 deletions
diff --git a/src/map/atcommand.c b/src/map/atcommand.c index 8d88566c7..11022f490 100644 --- a/src/map/atcommand.c +++ b/src/map/atcommand.c @@ -6515,8 +6515,12 @@ ACMD_FUNC(uptime) *------------------------------------------*/ ACMD_FUNC(changesex) { + int i; nullpo_retr(-1, sd); pc_resetskill(sd,4); + // to avoid any problem with equipment and invalid sex, equipment is unequiped. + for( i=0; i<EQI_MAX; i++ ) + if( sd->equip_index[i] >= 0 ) pc_unequipitem(sd, sd->equip_index[i], 3); chrif_changesex(sd); return 0; } diff --git a/src/map/script.c b/src/map/script.c index 5b38a0daf..e7a11309c 100644 --- a/src/map/script.c +++ b/src/map/script.c @@ -9684,10 +9684,14 @@ BUILDIN_FUNC(changebase) *------------------------------------------*/ BUILDIN_FUNC(changesex) { + int i; TBL_PC *sd = NULL; sd = script_rid2sd(st); pc_resetskill(sd,4); + // to avoid any problem with equipment and invalid sex, equipment is unequiped. + for( i=0; i<EQI_MAX; i++ ) + if( sd->equip_index[i] >= 0 ) pc_unequipitem(sd, sd->equip_index[i], 3); chrif_changesex(sd); return 0; } |