From 3731a8e9a30f1fd9b30f99f94e2fe62bbdb285a1 Mon Sep 17 00:00:00 2001 From: mekolat Date: Wed, 14 Oct 2015 15:58:59 -0400 Subject: add more params, allow get/set to use char id --- src/map/pc.cpp | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) (limited to 'src/map/pc.cpp') diff --git a/src/map/pc.cpp b/src/map/pc.cpp index 1440454..0f6c9a6 100644 --- a/src/map/pc.cpp +++ b/src/map/pc.cpp @@ -3522,6 +3522,12 @@ int pc_readparam(dumb_ptr bl, SP type) case SP::BL_TYPE: val = static_cast(bl->bl_type); break; + case SP::PARTNER: + val = sd ? unwrap(sd->status.partner_id) : 0; + break; + case SP::CHAR_ID: + val = sd ? unwrap(sd->status_key.char_id) : 0; + break; } return val; @@ -3663,6 +3669,21 @@ int pc_setparam(dumb_ptr sd, SP type, int val) case SP::LUK: pc_statusup2(sd, type, (val - sd->status.attrs[sp_to_attr(type)])); break; + case SP::PARTNER: + dumb_ptr p_bl; + if (val < 2000000 && val >= 150000) + { + dumb_ptr p_sd = nullptr; + if ((p_sd = map_nick2sd(map_charid2nick(wrap(val)))) != nullptr) + p_bl = map_id2bl(p_sd->bl_id); + } + else + p_bl = map_id2bl(wrap(val)); + if (val < 1) + pc_divorce(sd); + else + p_bl ? pc_marriage(sd, p_bl->is_player()) : 0; + break; } clif_updatestatus(sd, type); -- cgit v1.2.3-70-g09d2