/*========================================== * Divorce request from char server * triggered on account deletion or as an * ack from a map-server divorce request *------------------------------------------ */ static int chrif_divorce(CharId char_id, CharId partner_id) { dumb_ptr<map_session_data> sd = nullptr; if (!char_id || !partner_id) return 0; sd = map_nick2sd(map_charid2nick(char_id)); if (sd && sd->status.partner_id == partner_id) { sd->status.partner_id = CharId(); if (sd->npc_flags.divorce) { sd->npc_flags.divorce = 0; map_scriptcont(sd, sd->npc_id); } } sd = map_nick2sd(map_charid2nick(partner_id)); nullpo_retz(sd); if (sd->status.partner_id == char_id) sd->status.partner_id = CharId(); return 0; }
/*========================================== * Divorce request from char server * triggered on account deletion or as an * ack from a map-server divorce request *------------------------------------------ */ static int chrif_divorce(CharId char_id, CharId partner_id) { dumb_ptr<map_session_data> sd = nullptr; if (!char_id || !partner_id) return 0; sd = map_nick2sd(map_charid2nick(char_id)); if (sd && sd->status.partner_id == partner_id) { sd->status.partner_id = CharId(); } sd = map_nick2sd(map_charid2nick(partner_id)); if (sd && sd->status.partner_id == char_id) { sd->status.partner_id = CharId(); } return 0; }