summaryrefslogtreecommitdiff
path: root/src/map/atcommand.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/map/atcommand.cpp')
-rw-r--r--src/map/atcommand.cpp16
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);