name: Different
card_text: Banish 1 card from your Deck face-down. After this card's activation, it remains on the field. Destroy this card during your 2nd Standby Phase after activating this card, and if you do, add the banished card to the hand.
lua: local s, id, o = GetID()
  function s.initial_effect(c)
  	--Activate
  	local e1 = Effect.CreateEffect(c)
  	e1:SetCategory(CATEGORY_REMOVE)
  	e1:SetType(EFFECT_TYPE_ACTIVATE)
  	e1:SetCode(EVENT_FREE_CHAIN)
  	e1:SetTarget(s.target)
  	e1:SetOperation(s.activate)
  	c:RegisterEffect(e1)
  end
  function s.target(e, tp, eg, ep, ev, re, r, rp, chk)
  	if chk == 0 then
  		return Duel.IsExistingMatchingCard(Card.IsAbleToRemove, tp, LOCATION_DECK, 0, 1, nil, tp, POS_FACEDOWN)
  	end
  	Duel.SetOperationInfo(0, CATEGORY_REMOVE, nil, 1, tp, LOCATION_DECK)
  end
  function s.activate(e, tp, eg, ep, ev, re, r, rp)
  	local c = e:GetHandler()
  	if c:IsRelateToEffect(e) then
  		local fid = c:GetFieldID()
  		Duel.Hint(HINT_SELECTMSG, tp, HINTMSG_REMOVE)
  		local rc = Duel.SelectMatchingCard(tp, Card.IsAbleToRemove, tp, LOCATION_DECK, 0, 1, 1, nil, tp, POS_FACEDOWN):GetFirst()
  		if rc and Duel.Remove(rc, POS_FACEDOWN, REASON_EFFECT) ~= 0 and e:IsHasType(EFFECT_TYPE_ACTIVATE) then
  			rc:RegisterFlagEffect(id, RESET_EVENT + RESETS_STANDARD + RESET_PHASE + PHASE_STANDBY + RESET_SELF_TURN, 0, 2, fid)
  			c:CancelToGrave()
  			local e1 = Effect.CreateEffect(c)
  			e1:SetType(EFFECT_TYPE_FIELD + EFFECT_TYPE_CONTINUOUS)
  			e1:SetRange(LOCATION_SZONE)
  			e1:SetCode(EVENT_PHASE + PHASE_STANDBY)
  			e1:SetCountLimit(1)
  			e1:SetReset(RESET_EVENT + RESETS_STANDARD + RESET_PHASE + PHASE_STANDBY + RESET_SELF_TURN, 2)
  			e1:SetCondition(s.thcon)
  			e1:SetOperation(s.thop)
  			e1:SetLabel(fid, 0)
  			e1:SetLabelObject(rc)
  			c:RegisterEffect(e1)
  		end
  	end
  end
  function s.thcon(e, tp, eg, ep, ev, re, r, rp)
  	return Duel.GetTurnPlayer() == tp
  end
  function s.thop(e, tp, eg, ep, ev, re, r, rp)
  	local c = e:GetHandler()
  	local fid, ct = e:GetLabel()
  	local tc = e:GetLabelObject()
  	ct = ct + 1
  	c:SetTurnCounter(ct)
  	e:SetLabel(fid, ct)
  	if ct ~= 2 then
  		return
  	end
  	if Duel.Destroy(c, REASON_EFFECT) > 0 and tc:GetFlagEffectLabel(id) == fid then
  		Duel.SendtoHand(tc, nil, REASON_EFFECT)
  		Duel.ConfirmCards(1 - tp, tc)
  	end
  end
  
  
source_text: Different
  Banish 1 card from your Deck face-down. After this card's activation, it remains on the field. Destroy this card during your 2nd Standby Phase after activating this card, and if you do, add the banished card to the hand.
target_text: -- Different
  local s, id, o = GetID()
  function s.initial_effect(c)
  	--Activate
  	local e1 = Effect.CreateEffect(c)
  	e1:SetCategory(CATEGORY_REMOVE)
  	e1:SetType(EFFECT_TYPE_ACTIVATE)
  	e1:SetCode(EVENT_FREE_CHAIN)
  	e1:SetTarget(s.target)
  	e1:SetOperation(s.activate)
  	c:RegisterEffect(e1)
  end
  function s.target(e, tp, eg, ep, ev, re, r, rp, chk)
  	if chk == 0 then
  		return Duel.IsExistingMatchingCard(Card.IsAbleToRemove, tp, LOCATION_DECK, 0, 1, nil, tp, POS_FACEDOWN)
  	end
  	Duel.SetOperationInfo(0, CATEGORY_REMOVE, nil, 1, tp, LOCATION_DECK)
  end
  function s.activate(e, tp, eg, ep, ev, re, r, rp)
  	local c = e:GetHandler()
  	if c:IsRelateToEffect(e) then
  		local fid = c:GetFieldID()
  		Duel.Hint(HINT_SELECTMSG, tp, HINTMSG_REMOVE)
  		local rc = Duel.SelectMatchingCard(tp, Card.IsAbleToRemove, tp, LOCATION_DECK, 0, 1, 1, nil, tp, POS_FACEDOWN):GetFirst()
  		if rc and Duel.Remove(rc, POS_FACEDOWN, REASON_EFFECT) ~= 0 and e:IsHasType(EFFECT_TYPE_ACTIVATE) then
  			rc:RegisterFlagEffect(id, RESET_EVENT + RESETS_STANDARD + RESET_PHASE + PHASE_STANDBY + RESET_SELF_TURN, 0, 2, fid)
  			c:CancelToGrave()
  			local e1 = Effect.CreateEffect(c)
  			e1:SetType(EFFECT_TYPE_FIELD + EFFECT_TYPE_CONTINUOUS)
  			e1:SetRange(LOCATION_SZONE)
  			e1:SetCode(EVENT_PHASE + PHASE_STANDBY)
  			e1:SetCountLimit(1)
  			e1:SetReset(RESET_EVENT + RESETS_STANDARD + RESET_PHASE + PHASE_STANDBY + RESET_SELF_TURN, 2)
  			e1:SetCondition(s.thcon)
  			e1:SetOperation(s.thop)
  			e1:SetLabel(fid, 0)
  			e1:SetLabelObject(rc)
  			c:RegisterEffect(e1)
  		end
  	end
  end
  function s.thcon(e, tp, eg, ep, ev, re, r, rp)
  	return Duel.GetTurnPlayer() == tp
  end
  function s.thop(e, tp, eg, ep, ev, re, r, rp)
  	local c = e:GetHandler()
  	local fid, ct = e:GetLabel()
  	local tc = e:GetLabelObject()
  	ct = ct + 1
  	c:SetTurnCounter(ct)
  	e:SetLabel(fid, ct)
  	if ct ~= 2 then
  		return
  	end
  	if Duel.Destroy(c, REASON_EFFECT) > 0 and tc:GetFlagEffectLabel(id) == fid then
  		Duel.SendtoHand(tc, nil, REASON_EFFECT)
  		Duel.ConfirmCards(1 - tp, tc)
  	end
  end
  
  