name: E・HERO
card_text: 「E・HERO ネオス」+「N・フレア・スカラベ」
  自分フィールド上の上記のカードをデッキに戻した場合のみ、エクストラデッキから特殊召喚できる(「融合」魔法カードは必要としない)。
  このカードの攻撃力は、フィールド上の魔法・罠カードの数×400ポイントアップする。
  また、エンドフェイズ時、このカードはエクストラデッキに戻る。
external_ids: local CARD_ID_0 = 89943723 --E・HERO ネオス
  local CARD_ID_1 = 89621922 --N・フレア・スカラベ
  
lua: local CARD_ID_0 = 89943723 --E・HERO ネオス
  local CARD_ID_1 = 89621922 --N・フレア・スカラベ
  local s, id, o = GetID()
  function s.initial_effect(c)
  	--fusion material
  	c:EnableReviveLimit()
  	aux.AddFusionProcCode2(c, CARD_ID_0, CARD_ID_1, 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
  	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)
  end
  s.material_setcode = 0x8
  function s.splimit(e, se, sp, st)
  	return not e:GetHandler():IsLocation(LOCATION_EXTRA)
  end
  function s.retop(e, tp, eg, ep, ev, re, r, rp)
  	if not e:GetHandler():IsRelateToEffect(e) or e:GetHandler():IsFacedown() then
  		return
  	end
  	Duel.SendtoDeck(e:GetHandler(), nil, SEQ_DECKSHUFFLE, REASON_EFFECT)
  end
  function s.atkval(e, c)
  	return Duel.GetMatchingGroupCount(Card.IsType, 0, LOCATION_ONFIELD, LOCATION_ONFIELD, nil, TYPE_SPELL + TYPE_TRAP) * 400
  end
  
  
source_text: E・HERO
  「E・HERO ネオス」+「N・フレア・スカラベ」
  自分フィールド上の上記のカードをデッキに戻した場合のみ、エクストラデッキから特殊召喚できる(「融合」魔法カードは必要としない)。
  このカードの攻撃力は、フィールド上の魔法・罠カードの数×400ポイントアップする。
  また、エンドフェイズ時、このカードはエクストラデッキに戻る。
target_text: -- E・HERO
  local CARD_ID_0 = 89943723 --E・HERO ネオス
  local CARD_ID_1 = 89621922 --N・フレア・スカラベ
  local s, id, o = GetID()
  function s.initial_effect(c)
  	--fusion material
  	c:EnableReviveLimit()
  	aux.AddFusionProcCode2(c, CARD_ID_0, CARD_ID_1, 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
  	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)
  end
  s.material_setcode = 0x8
  function s.splimit(e, se, sp, st)
  	return not e:GetHandler():IsLocation(LOCATION_EXTRA)
  end
  function s.retop(e, tp, eg, ep, ev, re, r, rp)
  	if not e:GetHandler():IsRelateToEffect(e) or e:GetHandler():IsFacedown() then
  		return
  	end
  	Duel.SendtoDeck(e:GetHandler(), nil, SEQ_DECKSHUFFLE, REASON_EFFECT)
  end
  function s.atkval(e, c)
  	return Duel.GetMatchingGroupCount(Card.IsType, 0, LOCATION_ONFIELD, LOCATION_ONFIELD, nil, TYPE_SPELL + TYPE_TRAP) * 400
  end
  
  