summaryrefslogtreecommitdiff
path: root/src/map/atcommand.cpp
diff options
context:
space:
mode:
authorBen Longbons <b.r.longbons@gmail.com>2014-03-25 18:32:46 -0700
committerBen Longbons <b.r.longbons@gmail.com>2014-03-25 20:52:28 -0700
commit8d50ad7f65c46d83b44c18249566a16c6d290496 (patch)
tree4ad6e759a873f1cf27d161bb153cb30616a3a7c7 /src/map/atcommand.cpp
parente63df20c3838fb6760c7d891cccfc901fb8bec41 (diff)
downloadtmwa-8d50ad7f65c46d83b44c18249566a16c6d290496.tar.gz
tmwa-8d50ad7f65c46d83b44c18249566a16c6d290496.tar.bz2
tmwa-8d50ad7f65c46d83b44c18249566a16c6d290496.tar.xz
tmwa-8d50ad7f65c46d83b44c18249566a16c6d290496.zip
Mapflag to override savepoint (ported from wushin)
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);