added new set() function to SPtr<>
Larry's Errata
Player::setType() now makes a copy of its argument
branch merge