From 8d50ad7f65c46d83b44c18249566a16c6d290496 Mon Sep 17 00:00:00 2001 From: Ben Longbons Date: Tue, 25 Mar 2014 18:32:46 -0700 Subject: Mapflag to override savepoint (ported from wushin) --- src/map/atcommand.cpp | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-) (limited to 'src/map/atcommand.cpp') 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 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 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); -- cgit v1.2.3-60-g2f50