Pikeru's
Until your opponent's second End Phase, your opponent shows you all cards that they draw before adding them to their hand.
local s, id, o = GetID()
function s.initial_effect(c)
	--Activate
	local e1 = Effect.CreateEffect(c)
	e1:SetType(EFFECT_TYPE_ACTIVATE)
	e1:SetCode(EVENT_FREE_CHAIN)
	e1:SetOperation(s.activate)
	c:RegisterEffect(e1)
end
function s.activate(e, tp, eg, ep, ev, re, r, rp)
	local e1 = Effect.CreateEffect(e:GetHandler())
	e1:SetType(EFFECT_TYPE_FIELD + EFFECT_TYPE_CONTINUOUS)
	e1:SetCode(EVENT_DRAW)
	e1:SetOperation(s.cfop)
	e1:SetReset(RESET_PHASE + PHASE_END + RESET_OPPO_TURN, 2)
	Duel.RegisterEffect(e1, tp)
end
function s.cfop(e, tp, eg, ep, ev, re, r, rp)
	if ep == e:GetOwnerPlayer() then
		return
	end
	Duel.ConfirmCards(1 - ep, eg)
end


Pikeru's
Until your opponent's second End Phase, your opponent shows you all cards that they draw before adding them to their hand.
-- Pikeru's
local s, id, o = GetID()
function s.initial_effect(c)
	--Activate
	local e1 = Effect.CreateEffect(c)
	e1:SetType(EFFECT_TYPE_ACTIVATE)
	e1:SetCode(EVENT_FREE_CHAIN)
	e1:SetOperation(s.activate)
	c:RegisterEffect(e1)
end
function s.activate(e, tp, eg, ep, ev, re, r, rp)
	local e1 = Effect.CreateEffect(e:GetHandler())
	e1:SetType(EFFECT_TYPE_FIELD + EFFECT_TYPE_CONTINUOUS)
	e1:SetCode(EVENT_DRAW)
	e1:SetOperation(s.cfop)
	e1:SetReset(RESET_PHASE + PHASE_END + RESET_OPPO_TURN, 2)
	Duel.RegisterEffect(e1, tp)
end
function s.cfop(e, tp, eg, ep, ev, re, r, rp)
	if ep == e:GetOwnerPlayer() then
		return
	end
	Duel.ConfirmCards(1 - ep, eg)
end

