name: Instant
card_text: Pay 1000 LP; Special Summon 1 Level 7 or lower "Elemental HERO" or "Neo-Spacian" monster from your Extra Deck, ignoring its Summoning conditions. While "Elemental HERO Neos" is neither on your field nor in your GY, the Summoned monster cannot attack, its effects are negated, also it returns to the Extra Deck during the End Phase. You can only activate 1 "Instant Contact" per turn.
external_ids: local CARD_ID_0 = 89943723 --Elemental HERO Neos
  local SETCARD_ID_0 = 0x3008 --Elemental
  
lua: local CARD_ID_0 = 89943723 --Elemental HERO Neos
  local SETCARD_ID_0 = 0x3008 --Elemental
  local s, id, o = GetID()
  function s.initial_effect(c)
  	aux.AddCodeList(c, CARD_ID_0)
  	aux.AddSetNameMonsterList(c, SETCARD_ID_0)
  	--Activate
  	local e1 = Effect.CreateEffect(c)
  	e1:SetCategory(CATEGORY_SPECIAL_SUMMON)
  	e1:SetType(EFFECT_TYPE_ACTIVATE)
  	e1:SetCode(EVENT_FREE_CHAIN)
  	e1:SetCountLimit(1, id + EFFECT_COUNT_CODE_OATH)
  	e1:SetCost(s.spcost)
  	e1:SetTarget(s.sptg)
  	e1:SetOperation(s.spop)
  	c:RegisterEffect(e1)
  end
  function s.spcost(e, tp, eg, ep, ev, re, r, rp, chk)
  	if chk == 0 then
  		return Duel.CheckLPCost(tp, 1000)
  	end
  	Duel.PayLPCost(tp, 1000)
  end
  function s.spfilter(c, e, tp)
  	return (c:IsLevelBelow(7) and c:IsSetCard(SETCARD_ID_0) or c:IsSetCard(0x1f)) and Duel.GetLocationCountFromEx(tp, tp, nil, c) > 0 and c:IsCanBeSpecialSummoned(e, 0, tp, true, false)
  end
  function s.sptg(e, tp, eg, ep, ev, re, r, rp, chk)
  	if chk == 0 then
  		return Duel.IsExistingMatchingCard(s.spfilter, tp, LOCATION_EXTRA, 0, 1, nil, e, tp)
  	end
  	Duel.SetOperationInfo(0, CATEGORY_SPECIAL_SUMMON, nil, 1, tp, LOCATION_EXTRA)
  end
  function s.cfilter(c)
  	return c:IsCode(CARD_ID_0) and (c:IsFaceup() or c:IsLocation(LOCATION_GRAVE))
  end
  function s.spop(e, tp, eg, ep, ev, re, r, rp)
  	Duel.Hint(HINT_SELECTMSG, tp, HINTMSG_SPSUMMON)
  	local tc = Duel.SelectMatchingCard(tp, s.spfilter, tp, LOCATION_EXTRA, 0, 1, 1, nil, e, tp):GetFirst()
  	if not tc then
  		return
  	end
  	if Duel.SpecialSummonStep(tc, 0, tp, tp, true, false, POS_FACEUP) and not Duel.IsExistingMatchingCard(s.cfilter, tp, LOCATION_ONFIELD + LOCATION_GRAVE, 0, 1, nil) then
  		local c = e:GetHandler()
  		-- Cannot attack
  		local e1 = Effect.CreateEffect(c)
  		e1:SetType(EFFECT_TYPE_SINGLE)
  		e1:SetCode(EFFECT_CANNOT_ATTACK)
  		e1:SetProperty(EFFECT_FLAG_IGNORE_IMMUNE)
  		e1:SetReset(RESET_EVENT + RESETS_STANDARD)
  		tc:RegisterEffect(e1, true)
  		-- Effects are negated
  		local e2 = Effect.CreateEffect(c)
  		e2:SetType(EFFECT_TYPE_SINGLE)
  		e2:SetCode(EFFECT_DISABLE)
  		e2:SetReset(RESET_EVENT + RESETS_STANDARD)
  		tc:RegisterEffect(e2, true)
  		local e3 = e2:Clone()
  		e3:SetCode(EFFECT_DISABLE_EFFECT)
  		e3:SetValue(RESET_TURN_SET)
  		tc:RegisterEffect(e3, true)
  		-- Return it to the Extra Deck during the End Phase
  		local e4 = Effect.CreateEffect(c)
  		e4:SetType(EFFECT_TYPE_FIELD + EFFECT_TYPE_CONTINUOUS)
  		e4:SetCode(EVENT_PHASE + PHASE_END)
  		e4:SetCountLimit(1)
  		e4:SetProperty(EFFECT_FLAG_IGNORE_IMMUNE)
  		e4:SetLabelObject(tc)
  		e4:SetCondition(s.tdcon)
  		e4:SetOperation(s.tdop)
  		Duel.RegisterEffect(e4, tp)
  		tc:RegisterFlagEffect(id, RESET_EVENT + RESETS_STANDARD, 0, 1)
  	end
  	Duel.SpecialSummonComplete()
  end
  function s.tdcon(e, tp, eg, ep, ev, re, r, rp)
  	local tc = e:GetLabelObject()
  	if not tc or tc:GetFlagEffect(id) == 0 then
  		e:Reset()
  		return false
  	end
  	return true
  end
  function s.tdop(e, tp, eg, ep, ev, re, r, rp)
  	local tc = e:GetLabelObject()
  	if tc then
  		Duel.SendtoDeck(tc, nil, SEQ_DECKSHUFFLE, REASON_EFFECT)
  	end
  end
  
  
source_text: Instant
  Pay 1000 LP; Special Summon 1 Level 7 or lower "Elemental HERO" or "Neo-Spacian" monster from your Extra Deck, ignoring its Summoning conditions. While "Elemental HERO Neos" is neither on your field nor in your GY, the Summoned monster cannot attack, its effects are negated, also it returns to the Extra Deck during the End Phase. You can only activate 1 "Instant Contact" per turn.
target_text: -- Instant
  local CARD_ID_0 = 89943723 --Elemental HERO Neos
  local SETCARD_ID_0 = 0x3008 --Elemental
  local s, id, o = GetID()
  function s.initial_effect(c)
  	aux.AddCodeList(c, CARD_ID_0)
  	aux.AddSetNameMonsterList(c, SETCARD_ID_0)
  	--Activate
  	local e1 = Effect.CreateEffect(c)
  	e1:SetCategory(CATEGORY_SPECIAL_SUMMON)
  	e1:SetType(EFFECT_TYPE_ACTIVATE)
  	e1:SetCode(EVENT_FREE_CHAIN)
  	e1:SetCountLimit(1, id + EFFECT_COUNT_CODE_OATH)
  	e1:SetCost(s.spcost)
  	e1:SetTarget(s.sptg)
  	e1:SetOperation(s.spop)
  	c:RegisterEffect(e1)
  end
  function s.spcost(e, tp, eg, ep, ev, re, r, rp, chk)
  	if chk == 0 then
  		return Duel.CheckLPCost(tp, 1000)
  	end
  	Duel.PayLPCost(tp, 1000)
  end
  function s.spfilter(c, e, tp)
  	return (c:IsLevelBelow(7) and c:IsSetCard(SETCARD_ID_0) or c:IsSetCard(0x1f)) and Duel.GetLocationCountFromEx(tp, tp, nil, c) > 0 and c:IsCanBeSpecialSummoned(e, 0, tp, true, false)
  end
  function s.sptg(e, tp, eg, ep, ev, re, r, rp, chk)
  	if chk == 0 then
  		return Duel.IsExistingMatchingCard(s.spfilter, tp, LOCATION_EXTRA, 0, 1, nil, e, tp)
  	end
  	Duel.SetOperationInfo(0, CATEGORY_SPECIAL_SUMMON, nil, 1, tp, LOCATION_EXTRA)
  end
  function s.cfilter(c)
  	return c:IsCode(CARD_ID_0) and (c:IsFaceup() or c:IsLocation(LOCATION_GRAVE))
  end
  function s.spop(e, tp, eg, ep, ev, re, r, rp)
  	Duel.Hint(HINT_SELECTMSG, tp, HINTMSG_SPSUMMON)
  	local tc = Duel.SelectMatchingCard(tp, s.spfilter, tp, LOCATION_EXTRA, 0, 1, 1, nil, e, tp):GetFirst()
  	if not tc then
  		return
  	end
  	if Duel.SpecialSummonStep(tc, 0, tp, tp, true, false, POS_FACEUP) and not Duel.IsExistingMatchingCard(s.cfilter, tp, LOCATION_ONFIELD + LOCATION_GRAVE, 0, 1, nil) then
  		local c = e:GetHandler()
  		-- Cannot attack
  		local e1 = Effect.CreateEffect(c)
  		e1:SetType(EFFECT_TYPE_SINGLE)
  		e1:SetCode(EFFECT_CANNOT_ATTACK)
  		e1:SetProperty(EFFECT_FLAG_IGNORE_IMMUNE)
  		e1:SetReset(RESET_EVENT + RESETS_STANDARD)
  		tc:RegisterEffect(e1, true)
  		-- Effects are negated
  		local e2 = Effect.CreateEffect(c)
  		e2:SetType(EFFECT_TYPE_SINGLE)
  		e2:SetCode(EFFECT_DISABLE)
  		e2:SetReset(RESET_EVENT + RESETS_STANDARD)
  		tc:RegisterEffect(e2, true)
  		local e3 = e2:Clone()
  		e3:SetCode(EFFECT_DISABLE_EFFECT)
  		e3:SetValue(RESET_TURN_SET)
  		tc:RegisterEffect(e3, true)
  		-- Return it to the Extra Deck during the End Phase
  		local e4 = Effect.CreateEffect(c)
  		e4:SetType(EFFECT_TYPE_FIELD + EFFECT_TYPE_CONTINUOUS)
  		e4:SetCode(EVENT_PHASE + PHASE_END)
  		e4:SetCountLimit(1)
  		e4:SetProperty(EFFECT_FLAG_IGNORE_IMMUNE)
  		e4:SetLabelObject(tc)
  		e4:SetCondition(s.tdcon)
  		e4:SetOperation(s.tdop)
  		Duel.RegisterEffect(e4, tp)
  		tc:RegisterFlagEffect(id, RESET_EVENT + RESETS_STANDARD, 0, 1)
  	end
  	Duel.SpecialSummonComplete()
  end
  function s.tdcon(e, tp, eg, ep, ev, re, r, rp)
  	local tc = e:GetLabelObject()
  	if not tc or tc:GetFlagEffect(id) == 0 then
  		e:Reset()
  		return false
  	end
  	return true
  end
  function s.tdop(e, tp, eg, ep, ev, re, r, rp)
  	local tc = e:GetLabelObject()
  	if tc then
  		Duel.SendtoDeck(tc, nil, SEQ_DECKSHUFFLE, REASON_EFFECT)
  	end
  end
  
  