超電導戦機インペリオン・マグナム
「磁石の戦士マグネット・バルキリオン」+「電磁石の戦士マグネット・ベルセリオン」
このカードは上記のカードを融合素材にした融合召喚でのみ特殊召喚できる。
1:1ターンに1度、相手がモンスターの効果・魔法・罠カードを発動した時に発動できる。
その発動を無効にし破壊する。
2:表側表示のこのカードが相手の効果でフィールドから離れた場合に発動できる。
「磁石の戦士マグネット・バルキリオン」「電磁石の戦士マグネット・ベルセリオン」1体ずつを手札・デッキから召喚条件を無視して特殊召喚する。
local CARD_ID_0 = 59822133 --青眼の精霊龍
local CARD_ID_1 = 75347539 --磁石の戦士マグネット・バルキリオン
local CARD_ID_2 = 42901635 --電磁石の戦士マグネット・ベルセリオン

local CARD_ID_0 = 59822133 --青眼の精霊龍
local CARD_ID_1 = 75347539 --磁石の戦士マグネット・バルキリオン
local CARD_ID_2 = 42901635 --電磁石の戦士マグネット・ベルセリオン
local s, id, o = GetID()
function s.initial_effect(c)
	--fusion material
	c:EnableReviveLimit()
	aux.AddFusionProcCode2(c, CARD_ID_1, CARD_ID_2, false, false)
	--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(aux.fuslimit)
	c:RegisterEffect(e1)
	--negate
	local e2 = Effect.CreateEffect(c)
	e2:SetDescription(aux.Stringid(id, 0))
	e2:SetCategory(CATEGORY_NEGATE + CATEGORY_DESTROY)
	e2:SetType(EFFECT_TYPE_QUICK_O)
	e2:SetCode(EVENT_CHAINING)
	e2:SetProperty(EFFECT_FLAG_DAMAGE_STEP + EFFECT_FLAG_DAMAGE_CAL)
	e2:SetCountLimit(1)
	e2:SetRange(LOCATION_MZONE)
	e2:SetCondition(s.negcon)
	e2:SetTarget(s.negtg)
	e2:SetOperation(s.negop)
	c:RegisterEffect(e2)
	--special summon
	local e3 = Effect.CreateEffect(c)
	e3:SetDescription(aux.Stringid(id, 1))
	e3:SetCategory(CATEGORY_SPECIAL_SUMMON)
	e3:SetType(EFFECT_TYPE_SINGLE + EFFECT_TYPE_TRIGGER_O)
	e3:SetProperty(EFFECT_FLAG_DAMAGE_STEP + EFFECT_FLAG_DAMAGE_CAL + EFFECT_FLAG_DELAY)
	e3:SetCode(EVENT_LEAVE_FIELD)
	e3:SetCondition(s.spcon)
	e3:SetTarget(s.sptg)
	e3:SetOperation(s.spop)
	c:RegisterEffect(e3)
end
function s.negcon(e, tp, eg, ep, ev, re, r, rp)
	local c = e:GetHandler()
	if ep == tp or c:IsStatus(STATUS_BATTLE_DESTROYED) then
		return false
	end
	return (re:IsActiveType(TYPE_MONSTER) or re:IsHasType(EFFECT_TYPE_ACTIVATE)) and Duel.IsChainNegatable(ev)
end
function s.negtg(e, tp, eg, ep, ev, re, r, rp, chk)
	if chk == 0 then
		return true
	end
	Duel.SetOperationInfo(0, CATEGORY_NEGATE, eg, 1, 0, 0)
	if re:GetHandler():IsDestructable() and re:GetHandler():IsRelateToEffect(re) then
		Duel.SetOperationInfo(0, CATEGORY_DESTROY, eg, 1, 0, 0)
	end
end
function s.negop(e, tp, eg, ep, ev, re, r, rp)
	if Duel.NegateActivation(ev) and re:GetHandler():IsRelateToEffect(re) then
		Duel.Destroy(eg, REASON_EFFECT)
	end
end
function s.spcon(e, tp, eg, ep, ev, re, r, rp)
	local c = e:GetHandler()
	return c:GetReasonPlayer() == 1 - tp and c:IsReason(REASON_EFFECT) and c:IsPreviousLocation(LOCATION_ONFIELD) and c:IsPreviousPosition(POS_FACEUP)
end
function s.spfilter(c, e, tp, code)
	return c:IsCode(code) 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 not Duel.IsPlayerAffectedByEffect(tp, CARD_ID_0)
			and Duel.GetLocationCount(tp, LOCATION_MZONE) > 1
			and Duel.IsExistingMatchingCard(s.spfilter, tp, LOCATION_HAND + LOCATION_DECK, 0, 1, nil, e, tp, CARD_ID_1)
			and Duel.IsExistingMatchingCard(s.spfilter, tp, LOCATION_HAND + LOCATION_DECK, 0, 1, nil, e, tp, CARD_ID_2)
	end
	Duel.SetOperationInfo(0, CATEGORY_SPECIAL_SUMMON, nil, 2, tp, LOCATION_HAND + LOCATION_DECK)
end
function s.spop(e, tp, eg, ep, ev, re, r, rp)
	if Duel.IsPlayerAffectedByEffect(tp, CARD_ID_0) or Duel.GetLocationCount(tp, LOCATION_MZONE) < 2 then
		return
	end
	local g1 = Duel.GetMatchingGroup(s.spfilter, tp, LOCATION_HAND + LOCATION_DECK, 0, nil, e, tp, CARD_ID_1)
	local g2 = Duel.GetMatchingGroup(s.spfilter, tp, LOCATION_HAND + LOCATION_DECK, 0, nil, e, tp, CARD_ID_2)
	if g1:GetCount() > 0 and g2:GetCount() > 0 then
		Duel.Hint(HINT_SELECTMSG, tp, HINTMSG_SPSUMMON)
		local sg1 = g1:Select(tp, 1, 1, nil)
		Duel.Hint(HINT_SELECTMSG, tp, HINTMSG_SPSUMMON)
		local sg2 = g2:Select(tp, 1, 1, nil)
		sg1:Merge(sg2)
		Duel.SpecialSummon(sg1, 0, tp, tp, true, false, POS_FACEUP)
	end
end


超電導戦機インペリオン・マグナム
「磁石の戦士マグネット・バルキリオン」+「電磁石の戦士マグネット・ベルセリオン」
このカードは上記のカードを融合素材にした融合召喚でのみ特殊召喚できる。
1:1ターンに1度、相手がモンスターの効果・魔法・罠カードを発動した時に発動できる。
その発動を無効にし破壊する。
2:表側表示のこのカードが相手の効果でフィールドから離れた場合に発動できる。
「磁石の戦士マグネット・バルキリオン」「電磁石の戦士マグネット・ベルセリオン」1体ずつを手札・デッキから召喚条件を無視して特殊召喚する。
-- 超電導戦機インペリオン・マグナム
local CARD_ID_0 = 59822133 --青眼の精霊龍
local CARD_ID_1 = 75347539 --磁石の戦士マグネット・バルキリオン
local CARD_ID_2 = 42901635 --電磁石の戦士マグネット・ベルセリオン
local s, id, o = GetID()
function s.initial_effect(c)
	--fusion material
	c:EnableReviveLimit()
	aux.AddFusionProcCode2(c, CARD_ID_1, CARD_ID_2, false, false)
	--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(aux.fuslimit)
	c:RegisterEffect(e1)
	--negate
	local e2 = Effect.CreateEffect(c)
	e2:SetDescription(aux.Stringid(id, 0))
	e2:SetCategory(CATEGORY_NEGATE + CATEGORY_DESTROY)
	e2:SetType(EFFECT_TYPE_QUICK_O)
	e2:SetCode(EVENT_CHAINING)
	e2:SetProperty(EFFECT_FLAG_DAMAGE_STEP + EFFECT_FLAG_DAMAGE_CAL)
	e2:SetCountLimit(1)
	e2:SetRange(LOCATION_MZONE)
	e2:SetCondition(s.negcon)
	e2:SetTarget(s.negtg)
	e2:SetOperation(s.negop)
	c:RegisterEffect(e2)
	--special summon
	local e3 = Effect.CreateEffect(c)
	e3:SetDescription(aux.Stringid(id, 1))
	e3:SetCategory(CATEGORY_SPECIAL_SUMMON)
	e3:SetType(EFFECT_TYPE_SINGLE + EFFECT_TYPE_TRIGGER_O)
	e3:SetProperty(EFFECT_FLAG_DAMAGE_STEP + EFFECT_FLAG_DAMAGE_CAL + EFFECT_FLAG_DELAY)
	e3:SetCode(EVENT_LEAVE_FIELD)
	e3:SetCondition(s.spcon)
	e3:SetTarget(s.sptg)
	e3:SetOperation(s.spop)
	c:RegisterEffect(e3)
end
function s.negcon(e, tp, eg, ep, ev, re, r, rp)
	local c = e:GetHandler()
	if ep == tp or c:IsStatus(STATUS_BATTLE_DESTROYED) then
		return false
	end
	return (re:IsActiveType(TYPE_MONSTER) or re:IsHasType(EFFECT_TYPE_ACTIVATE)) and Duel.IsChainNegatable(ev)
end
function s.negtg(e, tp, eg, ep, ev, re, r, rp, chk)
	if chk == 0 then
		return true
	end
	Duel.SetOperationInfo(0, CATEGORY_NEGATE, eg, 1, 0, 0)
	if re:GetHandler():IsDestructable() and re:GetHandler():IsRelateToEffect(re) then
		Duel.SetOperationInfo(0, CATEGORY_DESTROY, eg, 1, 0, 0)
	end
end
function s.negop(e, tp, eg, ep, ev, re, r, rp)
	if Duel.NegateActivation(ev) and re:GetHandler():IsRelateToEffect(re) then
		Duel.Destroy(eg, REASON_EFFECT)
	end
end
function s.spcon(e, tp, eg, ep, ev, re, r, rp)
	local c = e:GetHandler()
	return c:GetReasonPlayer() == 1 - tp and c:IsReason(REASON_EFFECT) and c:IsPreviousLocation(LOCATION_ONFIELD) and c:IsPreviousPosition(POS_FACEUP)
end
function s.spfilter(c, e, tp, code)
	return c:IsCode(code) 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 not Duel.IsPlayerAffectedByEffect(tp, CARD_ID_0)
			and Duel.GetLocationCount(tp, LOCATION_MZONE) > 1
			and Duel.IsExistingMatchingCard(s.spfilter, tp, LOCATION_HAND + LOCATION_DECK, 0, 1, nil, e, tp, CARD_ID_1)
			and Duel.IsExistingMatchingCard(s.spfilter, tp, LOCATION_HAND + LOCATION_DECK, 0, 1, nil, e, tp, CARD_ID_2)
	end
	Duel.SetOperationInfo(0, CATEGORY_SPECIAL_SUMMON, nil, 2, tp, LOCATION_HAND + LOCATION_DECK)
end
function s.spop(e, tp, eg, ep, ev, re, r, rp)
	if Duel.IsPlayerAffectedByEffect(tp, CARD_ID_0) or Duel.GetLocationCount(tp, LOCATION_MZONE) < 2 then
		return
	end
	local g1 = Duel.GetMatchingGroup(s.spfilter, tp, LOCATION_HAND + LOCATION_DECK, 0, nil, e, tp, CARD_ID_1)
	local g2 = Duel.GetMatchingGroup(s.spfilter, tp, LOCATION_HAND + LOCATION_DECK, 0, nil, e, tp, CARD_ID_2)
	if g1:GetCount() > 0 and g2:GetCount() > 0 then
		Duel.Hint(HINT_SELECTMSG, tp, HINTMSG_SPSUMMON)
		local sg1 = g1:Select(tp, 1, 1, nil)
		Duel.Hint(HINT_SELECTMSG, tp, HINTMSG_SPSUMMON)
		local sg2 = g2:Select(tp, 1, 1, nil)
		sg1:Merge(sg2)
		Duel.SpecialSummon(sg1, 0, tp, tp, true, false, POS_FACEUP)
	end
end

