From e5549ae35fed284799115aed7e67049e5107c988 Mon Sep 17 00:00:00 2001 From: Ben Longbons Date: Thu, 16 Oct 2014 11:05:17 -0700 Subject: Fix crash on login due to invalid map --- src/map/pc.cpp | 29 +++++++++++++++-------------- 1 file changed, 15 insertions(+), 14 deletions(-) (limited to 'src/map/pc.cpp') diff --git a/src/map/pc.cpp b/src/map/pc.cpp index 0497e5b..68d478e 100644 --- a/src/map/pc.cpp +++ b/src/map/pc.cpp @@ -685,20 +685,6 @@ int pc_authok(AccountId id, int login_id2, TimeT connect_until_time, sd->sc_data[i].val1 = 0; } sd->sc_count = 0; - { - Opt0 old_option = sd->status.option; - sd->status.option = Opt0::ZERO; - - // This would leak information. - // It's better to make it obvious that players can see you. - if (false && bool(old_option & Opt0::INVISIBILITY)) - is_atcommand(sd->sess, sd, "@invisible"_s, GmLevel()); - - if (bool(old_option & Opt0::HIDE)) - is_atcommand(sd->sess, sd, "@hide"_s, GmLevel()); - // atcommand_hide might already send it, but also might not - clif_changeoption(sd); - } // パーティー関係の初期化 sd->party_sended = 0; @@ -714,6 +700,21 @@ int pc_authok(AccountId id, int login_id2, TimeT connect_until_time, pc_setpos(sd, sd->status.last_point.map_, sd->status.last_point.x, sd->status.last_point.y, BeingRemoveWhy::GONE); + { + Opt0 old_option = sd->status.option; + sd->status.option = Opt0::ZERO; + + // This would leak information. + // It's better to make it obvious that players can see you. + if (false && bool(old_option & Opt0::INVISIBILITY)) + is_atcommand(sd->sess, sd, "@invisible"_s, GmLevel()); + + if (bool(old_option & Opt0::HIDE)) + is_atcommand(sd->sess, sd, "@hide"_s, GmLevel()); + // atcommand_hide might already send it, but also might not + clif_changeoption(sd); + } + // パーティ、ギルドデータの要求 if (sd->status.party_id && party_search(sd->status.party_id).is_none()) -- cgit v1.2.3-60-g2f50