name: Over
card_text: Target 1 face-up monster on the field; reveal 1 "Elemental HERO", "Neo-Spacian", or Level 10 monster from your hand, Deck, or Extra Deck, and the targeted monster's name can be treated as the revealed monster's if used as Fusion Material this turn. Send the revealed monster to the GY if you have "Elemental HERO Neos" on your field or in your GY, otherwise shuffle it back into its Deck (if revealed from the hand, shuffle into the Main Deck). You can only activate 1 "Over Fusion" per turn.
external_ids: local CARD_ID_0 = 89943723 --Elemental HERO Neos
  local SETCARD_ID_0 = 0x1f --Neo-Spacian
  local SETCARD_ID_1 = 0x3008 --Elemental
  
lua: local CARD_ID_0 = 89943723 --Elemental HERO Neos
  local SETCARD_ID_0 = 0x1f --Neo-Spacian
  local SETCARD_ID_1 = 0x3008 --Elemental
  local s, id, o = GetID()
  function s.initial_effect(c)
  	aux.AddCodeList(c, CARD_ID_0)
  	aux.AddSetNameMonsterList(c, SETCARD_ID_1)
  	--Activate
  	local e1 = Effect.CreateEffect(c)
  	e1:SetCategory(CATEGORY_TOGRAVE + CATEGORY_TODECK + CATEGORY_DECKDES)
  	e1:SetType(EFFECT_TYPE_ACTIVATE)
  	e1:SetCode(EVENT_FREE_CHAIN)
  	e1:SetProperty(EFFECT_FLAG_CARD_TARGET)
  	e1:SetCountLimit(1, id + EFFECT_COUNT_CODE_OATH)
  	e1:SetTarget(s.fstg)
  	e1:SetOperation(s.fsop)
  	c:RegisterEffect(e1)
  end
  function s.tgfilter(c, tp)
  	return c:IsFaceup() and Duel.IsExistingMatchingCard(s.cfilter, tp, LOCATION_HAND + LOCATION_DECK + LOCATION_EXTRA, 0, 1, nil, c, tp)
  end
  function s.cfilter(c, tc, tp)
  	if c:IsCode(tc:GetFusionCode()) then
  		return false
  	end
  	return c:IsType(TYPE_MONSTER) and (c:IsSetCard(SETCARD_ID_1) or c:IsSetCard(0x3008) or c:IsLevel(10))
  end
  function s.fstg(e, tp, eg, ep, ev, re, r, rp, chk, chkc)
  	if chkc then
  		return chkc:IsLocation(LOCATION_MZONE) and chkc:IsControler(tp) and s.tgfilter(chkc, tp)
  	end
  	if chk == 0 then
  		return Duel.IsExistingTarget(s.tgfilter, tp, LOCATION_MZONE, LOCATION_MZONE, 1, nil, tp)
  	end
  	Duel.Hint(HINT_SELECTMSG, tp, HINTMSG_TARGET)
  	Duel.SelectTarget(tp, s.tgfilter, tp, LOCATION_MZONE, LOCATION_MZONE, 1, 1, nil, tp)
  end
  function s.neosfilter(c)
  	return c:IsCode(CARD_ID_0) and (c:IsFaceup() or not c:IsOnField())
  end
  function s.fsop(e, tp, eg, ep, ev, re, r, rp)
  	local tc = Duel.GetFirstTarget()
  	if not tc:IsRelateToEffect(e) or tc:IsFacedown() then
  		return
  	end
  	Duel.Hint(HINT_SELECTMSG, tp, HINTMSG_CONFIRM)
  	local cg = Duel.SelectMatchingCard(tp, s.cfilter, tp, LOCATION_HAND + LOCATION_DECK + LOCATION_EXTRA, 0, 1, 1, nil, tc, tp):GetFirst()
  	if cg == nil then
  		return
  	end
  	Duel.ConfirmCards(1 - tp, cg)
  	local code1, code2 = cg:GetOriginalCodeRule()
  	local e1 = Effect.CreateEffect(e:GetHandler())
  	e1:SetDescription(aux.Stringid(id, 0))
  	e1:SetType(EFFECT_TYPE_SINGLE)
  	e1:SetCode(EFFECT_ADD_FUSION_CODE)
  	e1:SetProperty(EFFECT_FLAG_CANNOT_DISABLE + EFFECT_FLAG_CLIENT_HINT)
  	e1:SetReset(RESET_EVENT + RESETS_STANDARD + RESET_PHASE + PHASE_END)
  	e1:SetValue(code1)
  	tc:RegisterEffect(e1)
  	if code2 then
  		local e2 = e1:Clone()
  		e2:SetValue(code2)
  		tc:RegisterEffect(e2)
  	end
  	if Duel.IsExistingMatchingCard(s.neosfilter, tp, LOCATION_ONFIELD + LOCATION_GRAVE, 0, 1, nil) then
  		Duel.SendtoGrave(cg, REASON_EFFECT)
  	elseif cg:IsLocation(LOCATION_HAND) then
  		Duel.SendtoDeck(cg, nil, SEQ_DECKSHUFFLE, REASON_EFFECT)
  	end
  end
  
  
source_text: Over
  Target 1 face-up monster on the field; reveal 1 "Elemental HERO", "Neo-Spacian", or Level 10 monster from your hand, Deck, or Extra Deck, and the targeted monster's name can be treated as the revealed monster's if used as Fusion Material this turn. Send the revealed monster to the GY if you have "Elemental HERO Neos" on your field or in your GY, otherwise shuffle it back into its Deck (if revealed from the hand, shuffle into the Main Deck). You can only activate 1 "Over Fusion" per turn.
target_text: -- Over
  local CARD_ID_0 = 89943723 --Elemental HERO Neos
  local SETCARD_ID_0 = 0x1f --Neo-Spacian
  local SETCARD_ID_1 = 0x3008 --Elemental
  local s, id, o = GetID()
  function s.initial_effect(c)
  	aux.AddCodeList(c, CARD_ID_0)
  	aux.AddSetNameMonsterList(c, SETCARD_ID_1)
  	--Activate
  	local e1 = Effect.CreateEffect(c)
  	e1:SetCategory(CATEGORY_TOGRAVE + CATEGORY_TODECK + CATEGORY_DECKDES)
  	e1:SetType(EFFECT_TYPE_ACTIVATE)
  	e1:SetCode(EVENT_FREE_CHAIN)
  	e1:SetProperty(EFFECT_FLAG_CARD_TARGET)
  	e1:SetCountLimit(1, id + EFFECT_COUNT_CODE_OATH)
  	e1:SetTarget(s.fstg)
  	e1:SetOperation(s.fsop)
  	c:RegisterEffect(e1)
  end
  function s.tgfilter(c, tp)
  	return c:IsFaceup() and Duel.IsExistingMatchingCard(s.cfilter, tp, LOCATION_HAND + LOCATION_DECK + LOCATION_EXTRA, 0, 1, nil, c, tp)
  end
  function s.cfilter(c, tc, tp)
  	if c:IsCode(tc:GetFusionCode()) then
  		return false
  	end
  	return c:IsType(TYPE_MONSTER) and (c:IsSetCard(SETCARD_ID_1) or c:IsSetCard(0x3008) or c:IsLevel(10))
  end
  function s.fstg(e, tp, eg, ep, ev, re, r, rp, chk, chkc)
  	if chkc then
  		return chkc:IsLocation(LOCATION_MZONE) and chkc:IsControler(tp) and s.tgfilter(chkc, tp)
  	end
  	if chk == 0 then
  		return Duel.IsExistingTarget(s.tgfilter, tp, LOCATION_MZONE, LOCATION_MZONE, 1, nil, tp)
  	end
  	Duel.Hint(HINT_SELECTMSG, tp, HINTMSG_TARGET)
  	Duel.SelectTarget(tp, s.tgfilter, tp, LOCATION_MZONE, LOCATION_MZONE, 1, 1, nil, tp)
  end
  function s.neosfilter(c)
  	return c:IsCode(CARD_ID_0) and (c:IsFaceup() or not c:IsOnField())
  end
  function s.fsop(e, tp, eg, ep, ev, re, r, rp)
  	local tc = Duel.GetFirstTarget()
  	if not tc:IsRelateToEffect(e) or tc:IsFacedown() then
  		return
  	end
  	Duel.Hint(HINT_SELECTMSG, tp, HINTMSG_CONFIRM)
  	local cg = Duel.SelectMatchingCard(tp, s.cfilter, tp, LOCATION_HAND + LOCATION_DECK + LOCATION_EXTRA, 0, 1, 1, nil, tc, tp):GetFirst()
  	if cg == nil then
  		return
  	end
  	Duel.ConfirmCards(1 - tp, cg)
  	local code1, code2 = cg:GetOriginalCodeRule()
  	local e1 = Effect.CreateEffect(e:GetHandler())
  	e1:SetDescription(aux.Stringid(id, 0))
  	e1:SetType(EFFECT_TYPE_SINGLE)
  	e1:SetCode(EFFECT_ADD_FUSION_CODE)
  	e1:SetProperty(EFFECT_FLAG_CANNOT_DISABLE + EFFECT_FLAG_CLIENT_HINT)
  	e1:SetReset(RESET_EVENT + RESETS_STANDARD + RESET_PHASE + PHASE_END)
  	e1:SetValue(code1)
  	tc:RegisterEffect(e1)
  	if code2 then
  		local e2 = e1:Clone()
  		e2:SetValue(code2)
  		tc:RegisterEffect(e2)
  	end
  	if Duel.IsExistingMatchingCard(s.neosfilter, tp, LOCATION_ONFIELD + LOCATION_GRAVE, 0, 1, nil) then
  		Duel.SendtoGrave(cg, REASON_EFFECT)
  	elseif cg:IsLocation(LOCATION_HAND) then
  		Duel.SendtoDeck(cg, nil, SEQ_DECKSHUFFLE, REASON_EFFECT)
  	end
  end
  
  