name: サイバネット・フュージョン
card_text: 1:自分の手札・フィールドから、サイバース族の融合モンスターカードによって決められた融合素材モンスターを墓地へ送り、その融合モンスター1体をEXデッキから融合召喚する。
  EXモンスターゾーンに自分のモンスターが存在しない場合、自分の墓地のサイバース族リンクモンスター(1体まで)を除外して融合素材とする事もできる。
lua: local s, id, o = GetID()
  function s.initial_effect(c)
  	--Activate
  	local e1 = FusionSpell.CreateSummonEffect(c, {
  		fusfilter = s.fusfilter,
  		pre_select_mat_location = s.pre_select_mat_location,
  		fusion_spell_matfilter = s.fusion_spell_matfilter,
  		additional_fcheck = s.fcheck,
  	})
  	e1:SetCategory(CATEGORY_REMOVE + CATEGORY_SPECIAL_SUMMON + CATEGORY_FUSION_SUMMON + CATEGORY_GRAVE_ACTION)
  	c:RegisterEffect(e1)
  end
  
  function s.fusfilter(c)
  	return c:IsRace(RACE_CYBERSE)
  end
  
  function s.pre_select_mat_location(tc, tp)
  	local location = LOCATION_HAND | LOCATION_MZONE
  	if not Duel.IsExistingMatchingCard(function(c)
  		return c:GetSequence() >= 5
  	end, tp, LOCATION_MZONE, 0, 1, nil) then
  		location = location | LOCATION_GRAVE
  	end
  	return location
  end
  
  function s.fusion_spell_matfilter(c)
  	--- material from Grave must be サイバース族 Link monster
  	if c:IsLocation(LOCATION_GRAVE) and not (c:IsRace(RACE_CYBERSE) and c:IsType(TYPE_LINK)) then
  		return false
  	end
  	return true
  end
  
  function s.fcheck(tp, mg, fc, mg_all)
  	--- At most 1 monster from Grave
  	if mg:FilterCount(function(c)
  		return c:IsLocation(LOCATION_GRAVE)
  	end, nil) > 1 then
  		return false
  	end
  	return true
  end
  
  
source_text: サイバネット・フュージョン
  1:自分の手札・フィールドから、サイバース族の融合モンスターカードによって決められた融合素材モンスターを墓地へ送り、その融合モンスター1体をEXデッキから融合召喚する。
  EXモンスターゾーンに自分のモンスターが存在しない場合、自分の墓地のサイバース族リンクモンスター(1体まで)を除外して融合素材とする事もできる。
target_text: -- サイバネット・フュージョン
  local s, id, o = GetID()
  function s.initial_effect(c)
  	--Activate
  	local e1 = FusionSpell.CreateSummonEffect(c, {
  		fusfilter = s.fusfilter,
  		pre_select_mat_location = s.pre_select_mat_location,
  		fusion_spell_matfilter = s.fusion_spell_matfilter,
  		additional_fcheck = s.fcheck,
  	})
  	e1:SetCategory(CATEGORY_REMOVE + CATEGORY_SPECIAL_SUMMON + CATEGORY_FUSION_SUMMON + CATEGORY_GRAVE_ACTION)
  	c:RegisterEffect(e1)
  end
  
  function s.fusfilter(c)
  	return c:IsRace(RACE_CYBERSE)
  end
  
  function s.pre_select_mat_location(tc, tp)
  	local location = LOCATION_HAND | LOCATION_MZONE
  	if not Duel.IsExistingMatchingCard(function(c)
  		return c:GetSequence() >= 5
  	end, tp, LOCATION_MZONE, 0, 1, nil) then
  		location = location | LOCATION_GRAVE
  	end
  	return location
  end
  
  function s.fusion_spell_matfilter(c)
  	--- material from Grave must be サイバース族 Link monster
  	if c:IsLocation(LOCATION_GRAVE) and not (c:IsRace(RACE_CYBERSE) and c:IsType(TYPE_LINK)) then
  		return false
  	end
  	return true
  end
  
  function s.fcheck(tp, mg, fc, mg_all)
  	--- At most 1 monster from Grave
  	if mg:FilterCount(function(c)
  		return c:IsLocation(LOCATION_GRAVE)
  	end, nil) > 1 then
  		return false
  	end
  	return true
  end
  
  