name: エクシーズ・オーバーライド
card_text: フィールド上のエクシーズモンスターがそのエクシーズ素材を取り除いて効果を発動する場合、取り除くエクシーズ素材1つの代わりに手札1枚を裏側表示でゲームから除外できる。
  この効果はお互いに1ターンに1度しか使用できない。
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)
  	c:RegisterEffect(e1)
  	--remove overlay replace
  	local e2 = Effect.CreateEffect(c)
  	e2:SetDescription(aux.Stringid(id, 0))
  	e2:SetType(EFFECT_TYPE_CONTINUOUS + EFFECT_TYPE_FIELD)
  	e2:SetProperty(EFFECT_FLAG_BOTH_SIDE)
  	e2:SetCode(EFFECT_OVERLAY_REMOVE_REPLACE)
  	e2:SetRange(LOCATION_FZONE)
  	e2:SetCondition(s.rcon)
  	e2:SetOperation(s.rop)
  	c:RegisterEffect(e2)
  end
  function s.rcon(e, tp, eg, ep, ev, re, r, rp)
  	return e:GetHandler():GetFlagEffect(id + ep) == 0
  		and bit.band(r, REASON_COST) ~= 0
  		and re:IsActivated()
  		and re:IsActiveType(TYPE_XYZ)
  		and re:GetHandler():GetOverlayCount() >= ev - 1
  		and Duel.IsExistingMatchingCard(Card.IsAbleToRemove, tp, LOCATION_HAND, 0, 1, nil, tp, POS_FACEDOWN)
  end
  function s.rop(e, tp, eg, ep, ev, re, r, rp)
  	e:GetHandler():RegisterFlagEffect(id + ep, RESET_PHASE + PHASE_END, 0, 1)
  	Duel.Hint(HINT_SELECTMSG, tp, HINTMSG_REMOVE)
  	local g = Duel.SelectMatchingCard(tp, Card.IsAbleToRemove, tp, LOCATION_HAND, 0, 1, 1, nil, tp, POS_FACEDOWN)
  	return Duel.Remove(g, POS_FACEDOWN, REASON_COST)
  end
  
  
source_text: エクシーズ・オーバーライド
  フィールド上のエクシーズモンスターがそのエクシーズ素材を取り除いて効果を発動する場合、取り除くエクシーズ素材1つの代わりに手札1枚を裏側表示でゲームから除外できる。
  この効果はお互いに1ターンに1度しか使用できない。
target_text: -- エクシーズ・オーバーライド
  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)
  	c:RegisterEffect(e1)
  	--remove overlay replace
  	local e2 = Effect.CreateEffect(c)
  	e2:SetDescription(aux.Stringid(id, 0))
  	e2:SetType(EFFECT_TYPE_CONTINUOUS + EFFECT_TYPE_FIELD)
  	e2:SetProperty(EFFECT_FLAG_BOTH_SIDE)
  	e2:SetCode(EFFECT_OVERLAY_REMOVE_REPLACE)
  	e2:SetRange(LOCATION_FZONE)
  	e2:SetCondition(s.rcon)
  	e2:SetOperation(s.rop)
  	c:RegisterEffect(e2)
  end
  function s.rcon(e, tp, eg, ep, ev, re, r, rp)
  	return e:GetHandler():GetFlagEffect(id + ep) == 0
  		and bit.band(r, REASON_COST) ~= 0
  		and re:IsActivated()
  		and re:IsActiveType(TYPE_XYZ)
  		and re:GetHandler():GetOverlayCount() >= ev - 1
  		and Duel.IsExistingMatchingCard(Card.IsAbleToRemove, tp, LOCATION_HAND, 0, 1, nil, tp, POS_FACEDOWN)
  end
  function s.rop(e, tp, eg, ep, ev, re, r, rp)
  	e:GetHandler():RegisterFlagEffect(id + ep, RESET_PHASE + PHASE_END, 0, 1)
  	Duel.Hint(HINT_SELECTMSG, tp, HINTMSG_REMOVE)
  	local g = Duel.SelectMatchingCard(tp, Card.IsAbleToRemove, tp, LOCATION_HAND, 0, 1, 1, nil, tp, POS_FACEDOWN)
  	return Duel.Remove(g, POS_FACEDOWN, REASON_COST)
  end
  
  