Create player::i_add_or_drop, use that to simplify a dozen call points.