add forceChangePlayer, fix bug of back to state