name: Sales
card_text: Declare 1 card name; for the rest of this turn, your opponent cannot activate cards, or the effects of cards, with the same original name as that declared card. The same restrictions apply to you, but for the rest of this Duel instead of just this turn. You can only activate 1 "Sales Ban" per turn.
lua: 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:SetCountLimit(1, id + EFFECT_COUNT_CODE_OATH)
  	e1:SetTarget(s.target)
  	e1:SetOperation(s.operation)
  	c:RegisterEffect(e1)
  end
  function s.target(e, tp, eg, ep, ev, re, r, rp, chk)
  	if chk == 0 then
  		return true
  	end
  	Duel.Hint(HINT_SELECTMSG, tp, HINTMSG_CODE)
  	local ac = Duel.AnnounceCard(tp)
  	Duel.SetTargetParam(ac)
  	Duel.SetOperationInfo(0, CATEGORY_ANNOUNCE, nil, 0, tp, 0)
  end
  function s.operation(e, tp, eg, ep, ev, re, r, rp)
  	local ac = Duel.GetChainInfo(0, CHAININFO_TARGET_PARAM)
  	local c = e:GetHandler()
  	local e1 = Effect.CreateEffect(c)
  	e1:SetType(EFFECT_TYPE_FIELD)
  	e1:SetCode(EFFECT_CANNOT_ACTIVATE)
  	e1:SetProperty(EFFECT_FLAG_PLAYER_TARGET)
  	e1:SetReset(RESET_PHASE + PHASE_END)
  	e1:SetTargetRange(0, 1)
  	e1:SetLabel(ac)
  	e1:SetValue(s.aclimit)
  	Duel.RegisterEffect(e1, tp)
  	local e2 = Effect.CreateEffect(c)
  	e2:SetType(EFFECT_TYPE_FIELD)
  	e2:SetCode(EFFECT_CANNOT_ACTIVATE)
  	e2:SetProperty(EFFECT_FLAG_PLAYER_TARGET)
  	e2:SetTargetRange(1, 0)
  	e2:SetLabel(ac)
  	e2:SetValue(s.aclimit)
  	Duel.RegisterEffect(e2, tp)
  end
  function s.aclimit(e, re, tp)
  	local ac = e:GetLabel()
  	return re:GetHandler():IsOriginalCodeRule(ac)
  end
  
  
source_text: Sales
  Declare 1 card name; for the rest of this turn, your opponent cannot activate cards, or the effects of cards, with the same original name as that declared card. The same restrictions apply to you, but for the rest of this Duel instead of just this turn. You can only activate 1 "Sales Ban" per turn.
target_text: -- Sales
  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:SetCountLimit(1, id + EFFECT_COUNT_CODE_OATH)
  	e1:SetTarget(s.target)
  	e1:SetOperation(s.operation)
  	c:RegisterEffect(e1)
  end
  function s.target(e, tp, eg, ep, ev, re, r, rp, chk)
  	if chk == 0 then
  		return true
  	end
  	Duel.Hint(HINT_SELECTMSG, tp, HINTMSG_CODE)
  	local ac = Duel.AnnounceCard(tp)
  	Duel.SetTargetParam(ac)
  	Duel.SetOperationInfo(0, CATEGORY_ANNOUNCE, nil, 0, tp, 0)
  end
  function s.operation(e, tp, eg, ep, ev, re, r, rp)
  	local ac = Duel.GetChainInfo(0, CHAININFO_TARGET_PARAM)
  	local c = e:GetHandler()
  	local e1 = Effect.CreateEffect(c)
  	e1:SetType(EFFECT_TYPE_FIELD)
  	e1:SetCode(EFFECT_CANNOT_ACTIVATE)
  	e1:SetProperty(EFFECT_FLAG_PLAYER_TARGET)
  	e1:SetReset(RESET_PHASE + PHASE_END)
  	e1:SetTargetRange(0, 1)
  	e1:SetLabel(ac)
  	e1:SetValue(s.aclimit)
  	Duel.RegisterEffect(e1, tp)
  	local e2 = Effect.CreateEffect(c)
  	e2:SetType(EFFECT_TYPE_FIELD)
  	e2:SetCode(EFFECT_CANNOT_ACTIVATE)
  	e2:SetProperty(EFFECT_FLAG_PLAYER_TARGET)
  	e2:SetTargetRange(1, 0)
  	e2:SetLabel(ac)
  	e2:SetValue(s.aclimit)
  	Duel.RegisterEffect(e2, tp)
  end
  function s.aclimit(e, re, tp)
  	local ac = e:GetLabel()
  	return re:GetHandler():IsOriginalCodeRule(ac)
  end
  
  