name: Elemental
card_text: "Elemental HERO Neos" + "Neo-Spacian Flare Scarab" + "Neo-Spacian Grand Mole"
  Must first be Special Summoned (from your Extra Deck) by shuffling the above cards you control into the Deck. (You do not use "Polymerization".) This card gains 400 ATK for each card on the field. Once per turn, during the End Phase: Shuffle this card into the Extra Deck. If this card is shuffled into the Extra Deck this way: Return all cards on the field to the hand.
external_ids: local CARD_ID_0 = 89943723 --Elemental HERO Neos
  local CARD_ID_1 = 89621922 --Neo-Spacian Flare Scarab
  local CARD_ID_2 = 80344569 --Neo-Spacian Grand Mole
  
lua: local CARD_ID_0 = 89943723 --Elemental HERO Neos
  local CARD_ID_1 = 89621922 --Neo-Spacian Flare Scarab
  local CARD_ID_2 = 80344569 --Neo-Spacian Grand Mole
  local s, id, o = GetID()
  function s.initial_effect(c)
  	--fusion material
  	c:EnableReviveLimit()
  	aux.AddFusionProcCode3(c, CARD_ID_0, CARD_ID_1, CARD_ID_2, false, false)
  	aux.AddContactFusionProcedure(c, Card.IsAbleToDeckOrExtraAsCost, LOCATION_ONFIELD, 0, aux.ContactFusionSendToDeck(c))
  	--spsummon condition
  	local e1 = Effect.CreateEffect(c)
  	e1:SetType(EFFECT_TYPE_SINGLE)
  	e1:SetProperty(EFFECT_FLAG_CANNOT_DISABLE + EFFECT_FLAG_UNCOPYABLE)
  	e1:SetCode(EFFECT_SPSUMMON_CONDITION)
  	e1:SetValue(s.splimit)
  	c:RegisterEffect(e1)
  	--return
  	local e3, e4 = aux.EnableNeosReturn(c, s.retop)
  	--atkup
  	local e5 = Effect.CreateEffect(c)
  	e5:SetType(EFFECT_TYPE_SINGLE)
  	e5:SetProperty(EFFECT_FLAG_SINGLE_RANGE)
  	e5:SetCode(EFFECT_UPDATE_ATTACK)
  	e5:SetRange(LOCATION_MZONE)
  	e5:SetValue(s.atkval)
  	c:RegisterEffect(e5)
  	--tohand
  	local e6 = Effect.CreateEffect(c)
  	e6:SetDescription(aux.Stringid(id, 1))
  	e6:SetCategory(CATEGORY_TOHAND)
  	e6:SetType(EFFECT_TYPE_SINGLE + EFFECT_TYPE_TRIGGER_F)
  	e6:SetCode(EVENT_TO_DECK)
  	e6:SetCondition(s.thcon)
  	e6:SetTarget(s.thtg)
  	e6:SetOperation(s.thop)
  	c:RegisterEffect(e6)
  	e3:SetLabelObject(e6)
  	e4:SetLabelObject(e6)
  end
  s.material_setcode = 0x8
  function s.splimit(e, se, sp, st)
  	return not e:GetHandler():IsLocation(LOCATION_EXTRA)
  end
  function s.atkval(e, c)
  	return Duel.GetFieldGroupCount(0, LOCATION_ONFIELD, LOCATION_ONFIELD) * 400
  end
  function s.retop(e, tp, eg, ep, ev, re, r, rp)
  	local c = e:GetHandler()
  	if not c:IsRelateToEffect(e) or c:IsFacedown() then
  		return
  	end
  	Duel.SendtoDeck(c, nil, SEQ_DECKSHUFFLE, REASON_EFFECT)
  end
  function s.thcon(e, tp, eg, ep, ev, re, r, rp)
  	return re:GetLabelObject() == e
  end
  function s.thtg(e, tp, eg, ep, ev, re, r, rp, chk)
  	if chk == 0 then
  		return true
  	end
  	local g = Duel.GetMatchingGroup(Card.IsAbleToHand, tp, LOCATION_ONFIELD, LOCATION_ONFIELD, nil)
  	Duel.SetOperationInfo(0, CATEGORY_TOHAND, g, g:GetCount(), 0, 0)
  end
  function s.thop(e, tp, eg, ep, ev, re, r, rp)
  	local g = Duel.GetMatchingGroup(Card.IsAbleToHand, tp, LOCATION_ONFIELD, LOCATION_ONFIELD, nil)
  	Duel.SendtoHand(g, nil, REASON_EFFECT)
  end
  
  
source_text: Elemental
  "Elemental HERO Neos" + "Neo-Spacian Flare Scarab" + "Neo-Spacian Grand Mole"
  Must first be Special Summoned (from your Extra Deck) by shuffling the above cards you control into the Deck. (You do not use "Polymerization".) This card gains 400 ATK for each card on the field. Once per turn, during the End Phase: Shuffle this card into the Extra Deck. If this card is shuffled into the Extra Deck this way: Return all cards on the field to the hand.
target_text: -- Elemental
  local CARD_ID_0 = 89943723 --Elemental HERO Neos
  local CARD_ID_1 = 89621922 --Neo-Spacian Flare Scarab
  local CARD_ID_2 = 80344569 --Neo-Spacian Grand Mole
  local s, id, o = GetID()
  function s.initial_effect(c)
  	--fusion material
  	c:EnableReviveLimit()
  	aux.AddFusionProcCode3(c, CARD_ID_0, CARD_ID_1, CARD_ID_2, false, false)
  	aux.AddContactFusionProcedure(c, Card.IsAbleToDeckOrExtraAsCost, LOCATION_ONFIELD, 0, aux.ContactFusionSendToDeck(c))
  	--spsummon condition
  	local e1 = Effect.CreateEffect(c)
  	e1:SetType(EFFECT_TYPE_SINGLE)
  	e1:SetProperty(EFFECT_FLAG_CANNOT_DISABLE + EFFECT_FLAG_UNCOPYABLE)
  	e1:SetCode(EFFECT_SPSUMMON_CONDITION)
  	e1:SetValue(s.splimit)
  	c:RegisterEffect(e1)
  	--return
  	local e3, e4 = aux.EnableNeosReturn(c, s.retop)
  	--atkup
  	local e5 = Effect.CreateEffect(c)
  	e5:SetType(EFFECT_TYPE_SINGLE)
  	e5:SetProperty(EFFECT_FLAG_SINGLE_RANGE)
  	e5:SetCode(EFFECT_UPDATE_ATTACK)
  	e5:SetRange(LOCATION_MZONE)
  	e5:SetValue(s.atkval)
  	c:RegisterEffect(e5)
  	--tohand
  	local e6 = Effect.CreateEffect(c)
  	e6:SetDescription(aux.Stringid(id, 1))
  	e6:SetCategory(CATEGORY_TOHAND)
  	e6:SetType(EFFECT_TYPE_SINGLE + EFFECT_TYPE_TRIGGER_F)
  	e6:SetCode(EVENT_TO_DECK)
  	e6:SetCondition(s.thcon)
  	e6:SetTarget(s.thtg)
  	e6:SetOperation(s.thop)
  	c:RegisterEffect(e6)
  	e3:SetLabelObject(e6)
  	e4:SetLabelObject(e6)
  end
  s.material_setcode = 0x8
  function s.splimit(e, se, sp, st)
  	return not e:GetHandler():IsLocation(LOCATION_EXTRA)
  end
  function s.atkval(e, c)
  	return Duel.GetFieldGroupCount(0, LOCATION_ONFIELD, LOCATION_ONFIELD) * 400
  end
  function s.retop(e, tp, eg, ep, ev, re, r, rp)
  	local c = e:GetHandler()
  	if not c:IsRelateToEffect(e) or c:IsFacedown() then
  		return
  	end
  	Duel.SendtoDeck(c, nil, SEQ_DECKSHUFFLE, REASON_EFFECT)
  end
  function s.thcon(e, tp, eg, ep, ev, re, r, rp)
  	return re:GetLabelObject() == e
  end
  function s.thtg(e, tp, eg, ep, ev, re, r, rp, chk)
  	if chk == 0 then
  		return true
  	end
  	local g = Duel.GetMatchingGroup(Card.IsAbleToHand, tp, LOCATION_ONFIELD, LOCATION_ONFIELD, nil)
  	Duel.SetOperationInfo(0, CATEGORY_TOHAND, g, g:GetCount(), 0, 0)
  end
  function s.thop(e, tp, eg, ep, ev, re, r, rp)
  	local g = Duel.GetMatchingGroup(Card.IsAbleToHand, tp, LOCATION_ONFIELD, LOCATION_ONFIELD, nil)
  	Duel.SendtoHand(g, nil, REASON_EFFECT)
  end
  
  