diff options
author | Ben Longbons <b.r.longbons@gmail.com> | 2014-11-04 22:28:16 -0800 |
---|---|---|
committer | Ben Longbons <b.r.longbons@gmail.com> | 2014-11-04 22:28:16 -0800 |
commit | 0bc322efc087ab0c7b53709e5e20ac76aee761de (patch) | |
tree | c656fb93447bc7268920f020c8459c7392abce6d /src/map/chrif.cpp | |
parent | ad98bbcff7d6385dbcc4b2c7d393c7f16420ebdd (diff) | |
download | tmwa-0bc322efc087ab0c7b53709e5e20ac76aee761de.tar.gz tmwa-0bc322efc087ab0c7b53709e5e20ac76aee761de.tar.bz2 tmwa-0bc322efc087ab0c7b53709e5e20ac76aee761de.tar.xz tmwa-0bc322efc087ab0c7b53709e5e20ac76aee761de.zip |
Perform divorces asynchronously to avoid crashes
Diffstat (limited to 'src/map/chrif.cpp')
-rw-r--r-- | src/map/chrif.cpp | 11 |
1 files changed, 3 insertions, 8 deletions
diff --git a/src/map/chrif.cpp b/src/map/chrif.cpp index 09c238c..dbdd401 100644 --- a/src/map/chrif.cpp +++ b/src/map/chrif.cpp @@ -751,18 +751,13 @@ int chrif_divorce(CharId char_id, CharId partner_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) + if (sd && sd->status.partner_id == char_id) + { sd->status.partner_id = CharId(); + } return 0; } |