Number
2+ Level 2 monsters
Once per turn: You can detach 1 material from this card, then target 1 other face-up card on the field; while this monster is face-up on the field, that target's effects are negated. While that target is on the field, cards with the same name as that target, and their effects, cannot be activated.
local s, id, o = GetID()
function s.initial_effect(c)
	--xyz summon
	aux.AddXyzProcedure(c, nil, 2, 2, nil, nil, 99)
	c:EnableReviveLimit()
	--negate
	local e1 = Effect.CreateEffect(c)
	e1:SetDescription(aux.Stringid(id, 0))
	e1:SetCategory(CATEGORY_DISABLE)
	e1:SetType(EFFECT_TYPE_IGNITION)
	e1:SetProperty(EFFECT_FLAG_CARD_TARGET)
	e1:SetCountLimit(1)
	e1:SetRange(LOCATION_MZONE)
	e1:SetCost(s.cost)
	e1:SetTarget(s.target)
	e1:SetOperation(s.operation)
	c:RegisterEffect(e1)
	--cannnot activate
	local e3 = Effect.CreateEffect(c)
	e3:SetType(EFFECT_TYPE_FIELD)
	e3:SetProperty(EFFECT_FLAG_PLAYER_TARGET)
	e3:SetRange(LOCATION_MZONE)
	e3:SetTargetRange(1, 1)
	e3:SetCode(EFFECT_CANNOT_ACTIVATE)
	e3:SetCondition(s.actcon)
	e3:SetValue(s.aclimit)
	c:RegisterEffect(e3)
end
aux.xyz_number[id] = 45
function s.cost(e, tp, eg, ep, ev, re, r, rp, chk)
	if chk == 0 then
		return e:GetHandler():CheckRemoveOverlayCard(tp, 1, REASON_COST)
	end
	e:GetHandler():RemoveOverlayCard(tp, 1, 1, REASON_COST)
end
function s.target(e, tp, eg, ep, ev, re, r, rp, chk, chkc)
	if chkc then
		return chkc:IsOnField() and aux.NegateAnyFilter(chkc) and chkc ~= e:GetHandler()
	end
	if chk == 0 then
		return Duel.IsExistingTarget(aux.NegateAnyFilter, tp, LOCATION_ONFIELD, LOCATION_ONFIELD, 1, e:GetHandler())
	end
	Duel.Hint(HINT_SELECTMSG, tp, HINTMSG_DISABLE)
	local g = Duel.SelectTarget(tp, aux.NegateAnyFilter, tp, LOCATION_ONFIELD, LOCATION_ONFIELD, 1, 1, e:GetHandler())
	Duel.SetOperationInfo(0, CATEGORY_DISABLE, g, 1, 0, 0)
end
function s.operation(e, tp, eg, ep, ev, re, r, rp)
	local c = e:GetHandler()
	local tc = Duel.GetFirstTarget()
	if c:IsRelateToEffect(e) and tc:IsFaceup() and tc:IsRelateToEffect(e) and tc:IsCanBeDisabledByEffect(e) then
		c:SetCardTarget(tc)
		local e1 = Effect.CreateEffect(c)
		e1:SetType(EFFECT_TYPE_SINGLE)
		e1:SetCode(EFFECT_DISABLE)
		e1:SetReset(RESET_EVENT + RESETS_STANDARD)
		e1:SetCondition(s.rcon)
		tc:RegisterEffect(e1)
		if tc:IsType(TYPE_TRAPMONSTER) then
			local e2 = e1:Clone()
			e2:SetCode(EFFECT_DISABLE_TRAPMONSTER)
			tc:RegisterEffect(e2)
		end
	end
end
function s.rcon(e)
	return e:GetOwner():IsHasCardTarget(e:GetHandler())
end
function s.actcon(e)
	return e:GetHandler():GetCardTargetCount() > 0
end
function s.aclimit(e, re, tp)
	local g = e:GetHandler():GetCardTarget()
	local cg = {}
	local tc = g:GetFirst()
	while tc do
		table.insert(cg, tc:GetCode())
		tc = g:GetNext()
	end
	return re:GetHandler():IsCode(table.unpack(cg))
end


Number
2+ Level 2 monsters
Once per turn: You can detach 1 material from this card, then target 1 other face-up card on the field; while this monster is face-up on the field, that target's effects are negated. While that target is on the field, cards with the same name as that target, and their effects, cannot be activated.
-- Number
local s, id, o = GetID()
function s.initial_effect(c)
	--xyz summon
	aux.AddXyzProcedure(c, nil, 2, 2, nil, nil, 99)
	c:EnableReviveLimit()
	--negate
	local e1 = Effect.CreateEffect(c)
	e1:SetDescription(aux.Stringid(id, 0))
	e1:SetCategory(CATEGORY_DISABLE)
	e1:SetType(EFFECT_TYPE_IGNITION)
	e1:SetProperty(EFFECT_FLAG_CARD_TARGET)
	e1:SetCountLimit(1)
	e1:SetRange(LOCATION_MZONE)
	e1:SetCost(s.cost)
	e1:SetTarget(s.target)
	e1:SetOperation(s.operation)
	c:RegisterEffect(e1)
	--cannnot activate
	local e3 = Effect.CreateEffect(c)
	e3:SetType(EFFECT_TYPE_FIELD)
	e3:SetProperty(EFFECT_FLAG_PLAYER_TARGET)
	e3:SetRange(LOCATION_MZONE)
	e3:SetTargetRange(1, 1)
	e3:SetCode(EFFECT_CANNOT_ACTIVATE)
	e3:SetCondition(s.actcon)
	e3:SetValue(s.aclimit)
	c:RegisterEffect(e3)
end
aux.xyz_number[id] = 45
function s.cost(e, tp, eg, ep, ev, re, r, rp, chk)
	if chk == 0 then
		return e:GetHandler():CheckRemoveOverlayCard(tp, 1, REASON_COST)
	end
	e:GetHandler():RemoveOverlayCard(tp, 1, 1, REASON_COST)
end
function s.target(e, tp, eg, ep, ev, re, r, rp, chk, chkc)
	if chkc then
		return chkc:IsOnField() and aux.NegateAnyFilter(chkc) and chkc ~= e:GetHandler()
	end
	if chk == 0 then
		return Duel.IsExistingTarget(aux.NegateAnyFilter, tp, LOCATION_ONFIELD, LOCATION_ONFIELD, 1, e:GetHandler())
	end
	Duel.Hint(HINT_SELECTMSG, tp, HINTMSG_DISABLE)
	local g = Duel.SelectTarget(tp, aux.NegateAnyFilter, tp, LOCATION_ONFIELD, LOCATION_ONFIELD, 1, 1, e:GetHandler())
	Duel.SetOperationInfo(0, CATEGORY_DISABLE, g, 1, 0, 0)
end
function s.operation(e, tp, eg, ep, ev, re, r, rp)
	local c = e:GetHandler()
	local tc = Duel.GetFirstTarget()
	if c:IsRelateToEffect(e) and tc:IsFaceup() and tc:IsRelateToEffect(e) and tc:IsCanBeDisabledByEffect(e) then
		c:SetCardTarget(tc)
		local e1 = Effect.CreateEffect(c)
		e1:SetType(EFFECT_TYPE_SINGLE)
		e1:SetCode(EFFECT_DISABLE)
		e1:SetReset(RESET_EVENT + RESETS_STANDARD)
		e1:SetCondition(s.rcon)
		tc:RegisterEffect(e1)
		if tc:IsType(TYPE_TRAPMONSTER) then
			local e2 = e1:Clone()
			e2:SetCode(EFFECT_DISABLE_TRAPMONSTER)
			tc:RegisterEffect(e2)
		end
	end
end
function s.rcon(e)
	return e:GetOwner():IsHasCardTarget(e:GetHandler())
end
function s.actcon(e)
	return e:GetHandler():GetCardTargetCount() > 0
end
function s.aclimit(e, re, tp)
	local g = e:GetHandler():GetCardTarget()
	local cg = {}
	local tc = g:GetFirst()
	while tc do
		table.insert(cg, tc:GetCode())
		tc = g:GetNext()
	end
	return re:GetHandler():IsCode(table.unpack(cg))
end

