Leo,
1 Tuner + 1+ non-Tuner monsters
Your opponent cannot target this card with card effects, except during your Main Phase 2.
local s, id, o = GetID()
function s.initial_effect(c)
	--synchro summon
	aux.AddSynchroProcedure(c, nil, aux.NonTuner(nil), 1)
	c:EnableReviveLimit()
	--immune
	local e1 = Effect.CreateEffect(c)
	e1:SetType(EFFECT_TYPE_SINGLE)
	e1:SetProperty(EFFECT_FLAG_SINGLE_RANGE)
	e1:SetRange(LOCATION_MZONE)
	e1:SetCode(EFFECT_CANNOT_BE_EFFECT_TARGET)
	e1:SetCondition(s.tgcon)
	e1:SetValue(aux.tgoval)
	c:RegisterEffect(e1)
end
function s.tgcon(e)
	return Duel.GetTurnPlayer() ~= e:GetHandlerPlayer() or Duel.GetCurrentPhase() ~= PHASE_MAIN2
end


Leo,
1 Tuner + 1+ non-Tuner monsters
Your opponent cannot target this card with card effects, except during your Main Phase 2.
-- Leo,
local s, id, o = GetID()
function s.initial_effect(c)
	--synchro summon
	aux.AddSynchroProcedure(c, nil, aux.NonTuner(nil), 1)
	c:EnableReviveLimit()
	--immune
	local e1 = Effect.CreateEffect(c)
	e1:SetType(EFFECT_TYPE_SINGLE)
	e1:SetProperty(EFFECT_FLAG_SINGLE_RANGE)
	e1:SetRange(LOCATION_MZONE)
	e1:SetCode(EFFECT_CANNOT_BE_EFFECT_TARGET)
	e1:SetCondition(s.tgcon)
	e1:SetValue(aux.tgoval)
	c:RegisterEffect(e1)
end
function s.tgcon(e)
	return Duel.GetTurnPlayer() ~= e:GetHandlerPlayer() or Duel.GetCurrentPhase() ~= PHASE_MAIN2
end

