E・HERO
このカードは融合召喚でしか特殊召喚できない。
「ネオス」・「N」・「HERO」と名のついたモンスターをそれぞれ1体以上、合計5体のモンスターを融合素材として融合召喚する。
1ターンに1度、自分の墓地に存在する「ネオス」・「N」・「HERO」と名のついたモンスター1体をゲームから除外する事で、このカードの攻撃力は500ポイントアップする。
さらに、エンドフェイズ時までそのモンスターと同じ効果を得る。
local SETCARD_ID_0 = 0x1f --N(ネオスペーシアン)
local SETCARD_ID_1 = 0x9 --ネオス
local SETCARD_ID_2 = 0x8 --HERO

local SETCARD_ID_0 = 0x1f --N(ネオスペーシアン)
local SETCARD_ID_1 = 0x9 --ネオス
local SETCARD_ID_2 = 0x8 --HERO
local s, id, o = GetID()
function s.initial_effect(c)
	--fusion material
	c:EnableReviveLimit()
	aux.AddFusionProcMixRep(c, true, true, s.ffilter, 2, 2, s.ffilter1, s.ffilter2, s.ffilter3)
	--copy
	local e2 = Effect.CreateEffect(c)
	e2:SetDescription(aux.Stringid(id, 0))
	e2:SetCategory(CATEGORY_ATKCHANGE)
	e2:SetType(EFFECT_TYPE_IGNITION)
	e2:SetRange(LOCATION_MZONE)
	e2:SetCountLimit(1)
	e2:SetCost(s.copycost)
	e2:SetOperation(s.copyop)
	c:RegisterEffect(e2)
	--spsummon condition
	local e3 = Effect.CreateEffect(c)
	e3:SetType(EFFECT_TYPE_SINGLE)
	e3:SetProperty(EFFECT_FLAG_CANNOT_DISABLE + EFFECT_FLAG_UNCOPYABLE)
	e3:SetCode(EFFECT_SPSUMMON_CONDITION)
	e3:SetValue(aux.fuslimit)
	c:RegisterEffect(e3)
end
s.material_setcode = 0x8
function s.ffilter(c, fc)
	return c:IsFusionSetCard(0x9, SETCARD_ID_2, 0x8)
end
function s.ffilter1(c, fc)
	return c:IsFusionSetCard(SETCARD_ID_2)
end
function s.ffilter2(c, fc)
	return c:IsFusionSetCard(SETCARD_ID_2)
end
function s.ffilter3(c, fc)
	return c:IsFusionSetCard(SETCARD_ID_2)
end
function s.filter(c)
	return c:IsSetCard(0x9, SETCARD_ID_2, 0x8) and c:IsType(TYPE_MONSTER) and c:IsAbleToRemoveAsCost()
end
function s.copycost(e, tp, eg, ep, ev, re, r, rp, chk)
	if chk == 0 then
		return Duel.IsExistingMatchingCard(s.filter, tp, LOCATION_GRAVE, 0, 1, nil)
	end
	Duel.Hint(HINT_SELECTMSG, tp, HINTMSG_REMOVE)
	local g = Duel.SelectMatchingCard(tp, s.filter, tp, LOCATION_GRAVE, 0, 1, 1, nil)
	local tc = g:GetFirst()
	Duel.Remove(tc, POS_FACEUP, REASON_COST)
	local code = tc:GetOriginalCode()
	Duel.SetTargetParam(code)
end
function s.copyop(e, tp, eg, ep, ev, re, r, rp)
	local c = e:GetHandler()
	local code = Duel.GetChainInfo(0, CHAININFO_TARGET_PARAM)
	if code ~= 0 and c:IsRelateToEffect(e) and c:IsFaceup() then
		local cid = c:CopyEffect(code, RESET_EVENT + RESETS_STANDARD + RESET_PHASE + PHASE_END, 1)
		local e1 = Effect.CreateEffect(c)
		e1:SetType(EFFECT_TYPE_SINGLE)
		e1:SetCode(EFFECT_UPDATE_ATTACK)
		e1:SetValue(500)
		e1:SetReset(RESET_EVENT + RESETS_STANDARD + RESET_DISABLE)
		c:RegisterEffect(e1)
		local e2 = Effect.CreateEffect(c)
		e2:SetDescription(aux.Stringid(id, 1))
		e2:SetType(EFFECT_TYPE_FIELD + EFFECT_TYPE_CONTINUOUS)
		e2:SetCode(EVENT_PHASE + PHASE_END)
		e2:SetProperty(EFFECT_FLAG_CANNOT_DISABLE)
		e2:SetCountLimit(1)
		e2:SetRange(LOCATION_MZONE)
		e2:SetReset(RESET_EVENT + RESETS_STANDARD + RESET_PHASE + PHASE_END)
		e2:SetLabel(cid)
		e2:SetLabelObject(e1)
		e2:SetOperation(s.rstop)
		c:RegisterEffect(e2)
	end
end
function s.rstop(e, tp, eg, ep, ev, re, r, rp)
	local c = e:GetHandler()
	local cid = e:GetLabel()
	local atke = e:GetLabelObject()
	if atke then
		atke:SetReset(RESET_EVENT + RESETS_STANDARD)
	end
	c:ResetEffect(cid, RESET_COPY)
	c:ResetEffect(RESET_DISABLE, RESET_EVENT + RESETS_STANDARD)
	if atke then
		atke:SetReset(RESET_EVENT + RESETS_STANDARD + RESET_DISABLE)
	end
	Duel.HintSelection(Group.FromCards(c))
	Duel.Hint(HINT_OPSELECTED, 1 - tp, e:GetDescription())
end


E・HERO
このカードは融合召喚でしか特殊召喚できない。
「ネオス」・「N」・「HERO」と名のついたモンスターをそれぞれ1体以上、合計5体のモンスターを融合素材として融合召喚する。
1ターンに1度、自分の墓地に存在する「ネオス」・「N」・「HERO」と名のついたモンスター1体をゲームから除外する事で、このカードの攻撃力は500ポイントアップする。
さらに、エンドフェイズ時までそのモンスターと同じ効果を得る。
-- E・HERO
local SETCARD_ID_0 = 0x1f --N(ネオスペーシアン)
local SETCARD_ID_1 = 0x9 --ネオス
local SETCARD_ID_2 = 0x8 --HERO
local s, id, o = GetID()
function s.initial_effect(c)
	--fusion material
	c:EnableReviveLimit()
	aux.AddFusionProcMixRep(c, true, true, s.ffilter, 2, 2, s.ffilter1, s.ffilter2, s.ffilter3)
	--copy
	local e2 = Effect.CreateEffect(c)
	e2:SetDescription(aux.Stringid(id, 0))
	e2:SetCategory(CATEGORY_ATKCHANGE)
	e2:SetType(EFFECT_TYPE_IGNITION)
	e2:SetRange(LOCATION_MZONE)
	e2:SetCountLimit(1)
	e2:SetCost(s.copycost)
	e2:SetOperation(s.copyop)
	c:RegisterEffect(e2)
	--spsummon condition
	local e3 = Effect.CreateEffect(c)
	e3:SetType(EFFECT_TYPE_SINGLE)
	e3:SetProperty(EFFECT_FLAG_CANNOT_DISABLE + EFFECT_FLAG_UNCOPYABLE)
	e3:SetCode(EFFECT_SPSUMMON_CONDITION)
	e3:SetValue(aux.fuslimit)
	c:RegisterEffect(e3)
end
s.material_setcode = 0x8
function s.ffilter(c, fc)
	return c:IsFusionSetCard(0x9, SETCARD_ID_2, 0x8)
end
function s.ffilter1(c, fc)
	return c:IsFusionSetCard(SETCARD_ID_2)
end
function s.ffilter2(c, fc)
	return c:IsFusionSetCard(SETCARD_ID_2)
end
function s.ffilter3(c, fc)
	return c:IsFusionSetCard(SETCARD_ID_2)
end
function s.filter(c)
	return c:IsSetCard(0x9, SETCARD_ID_2, 0x8) and c:IsType(TYPE_MONSTER) and c:IsAbleToRemoveAsCost()
end
function s.copycost(e, tp, eg, ep, ev, re, r, rp, chk)
	if chk == 0 then
		return Duel.IsExistingMatchingCard(s.filter, tp, LOCATION_GRAVE, 0, 1, nil)
	end
	Duel.Hint(HINT_SELECTMSG, tp, HINTMSG_REMOVE)
	local g = Duel.SelectMatchingCard(tp, s.filter, tp, LOCATION_GRAVE, 0, 1, 1, nil)
	local tc = g:GetFirst()
	Duel.Remove(tc, POS_FACEUP, REASON_COST)
	local code = tc:GetOriginalCode()
	Duel.SetTargetParam(code)
end
function s.copyop(e, tp, eg, ep, ev, re, r, rp)
	local c = e:GetHandler()
	local code = Duel.GetChainInfo(0, CHAININFO_TARGET_PARAM)
	if code ~= 0 and c:IsRelateToEffect(e) and c:IsFaceup() then
		local cid = c:CopyEffect(code, RESET_EVENT + RESETS_STANDARD + RESET_PHASE + PHASE_END, 1)
		local e1 = Effect.CreateEffect(c)
		e1:SetType(EFFECT_TYPE_SINGLE)
		e1:SetCode(EFFECT_UPDATE_ATTACK)
		e1:SetValue(500)
		e1:SetReset(RESET_EVENT + RESETS_STANDARD + RESET_DISABLE)
		c:RegisterEffect(e1)
		local e2 = Effect.CreateEffect(c)
		e2:SetDescription(aux.Stringid(id, 1))
		e2:SetType(EFFECT_TYPE_FIELD + EFFECT_TYPE_CONTINUOUS)
		e2:SetCode(EVENT_PHASE + PHASE_END)
		e2:SetProperty(EFFECT_FLAG_CANNOT_DISABLE)
		e2:SetCountLimit(1)
		e2:SetRange(LOCATION_MZONE)
		e2:SetReset(RESET_EVENT + RESETS_STANDARD + RESET_PHASE + PHASE_END)
		e2:SetLabel(cid)
		e2:SetLabelObject(e1)
		e2:SetOperation(s.rstop)
		c:RegisterEffect(e2)
	end
end
function s.rstop(e, tp, eg, ep, ev, re, r, rp)
	local c = e:GetHandler()
	local cid = e:GetLabel()
	local atke = e:GetLabelObject()
	if atke then
		atke:SetReset(RESET_EVENT + RESETS_STANDARD)
	end
	c:ResetEffect(cid, RESET_COPY)
	c:ResetEffect(RESET_DISABLE, RESET_EVENT + RESETS_STANDARD)
	if atke then
		atke:SetReset(RESET_EVENT + RESETS_STANDARD + RESET_DISABLE)
	end
	Duel.HintSelection(Group.FromCards(c))
	Duel.Hint(HINT_OPSELECTED, 1 - tp, e:GetDescription())
end

