diff options
Diffstat (limited to 'src/map/atcommand.cpp')
-rw-r--r-- | src/map/atcommand.cpp | 16 |
1 files changed, 14 insertions, 2 deletions
diff --git a/src/map/atcommand.cpp b/src/map/atcommand.cpp index 5455671..cf71ff6 100644 --- a/src/map/atcommand.cpp +++ b/src/map/atcommand.cpp @@ -1056,8 +1056,17 @@ ATCE atcommand_load(Session *s, dumb_ptr<map_session_data> sd, return ATCE::PERM; } - pc_setpos(sd, sd->status.save_point.map_, sd->status.save_point.x, - sd->status.save_point.y, BeingRemoveWhy::GONE); + // TODO deduplicate with clif_parse_Restart and pc_make_savestatus + if (sd->bl_m->flag.get(MapFlag::RESAVE)) + { + pc_setpos(sd, sd->bl_m->resave.map_, sd->bl_m->resave.x, + sd->bl_m->resave.y, BeingRemoveWhy::GONE); + } + else + { + pc_setpos(sd, sd->status.save_point.map_, sd->status.save_point.x, + sd->status.save_point.y, BeingRemoveWhy::GONE); + } clif_displaymessage(s, "Warping to respawn point."); return ATCE::OKAY; @@ -3452,6 +3461,9 @@ ATCE atcommand_mapinfo(Session *s, dumb_ptr<map_session_data> sd, output = STRPRINTF("No Save: %s", (m_id->flag.get(MapFlag::NOSAVE)) ? "True" : "False"); clif_displaymessage(s, output); + output = STRPRINTF("Re Save: %s", + (m_id->flag.get(MapFlag::RESAVE)) ? "True" : "False"); + clif_displaymessage(s, output); output = STRPRINTF("No Teleport: %s", (m_id->flag.get(MapFlag::NOTELEPORT)) ? "True" : "False"); clif_displaymessage(s, output); |