基本システムで戦闘を差し戻すなら
主人公DB復元の前に戦闘初期化へ戻るのが基本になるはず
ただし、これだけだと戦闘中に消費したアイテムは戻って来ない
対策1 アイテム自体をオミットする
対策2 戦闘開始前にアイテム所持数を別途保存、差し戻す時にアイテム所持数を上書き
対策3 使用したアイテムのIDと個数を保存、差し戻す時に増やす(戦闘前の初期化は必須)