name: Dark
card_text: Fusion Summon 1 Fiend Fusion Monster from your Extra Deck, using monsters from your hand or field as material. Your opponent cannot target it with card effects this turn.
lua: local s, id, o = GetID()
  function s.initial_effect(c)
  	--Activate
  	FusionSpell.RegisterSummonEffect(c, {
  		fusfilter = s.fusfilter,
  		stage_x_operation = s.stage_x_operation,
  	})
  end
  
  function s.fusfilter(c)
  	return c:IsRace(RACE_FIEND)
  end
  
  function s.stage_x_operation(e, tc, tp, stage)
  	if stage == FusionSpell.STAGE_BEFORE_SUMMON_COMPLETE then
  		local e1 = Effect.CreateEffect(e:GetHandler())
  		e1:SetType(EFFECT_TYPE_SINGLE)
  		e1:SetCode(EFFECT_CANNOT_BE_EFFECT_TARGET)
  		e1:SetReset(RESET_EVENT + RESETS_STANDARD + RESET_PHASE + PHASE_END)
  		e1:SetValue(aux.tgoval)
  		tc:RegisterEffect(e1)
  	end
  end
  
  
source_text: Dark
  Fusion Summon 1 Fiend Fusion Monster from your Extra Deck, using monsters from your hand or field as material. Your opponent cannot target it with card effects this turn.
target_text: -- Dark
  local s, id, o = GetID()
  function s.initial_effect(c)
  	--Activate
  	FusionSpell.RegisterSummonEffect(c, {
  		fusfilter = s.fusfilter,
  		stage_x_operation = s.stage_x_operation,
  	})
  end
  
  function s.fusfilter(c)
  	return c:IsRace(RACE_FIEND)
  end
  
  function s.stage_x_operation(e, tc, tp, stage)
  	if stage == FusionSpell.STAGE_BEFORE_SUMMON_COMPLETE then
  		local e1 = Effect.CreateEffect(e:GetHandler())
  		e1:SetType(EFFECT_TYPE_SINGLE)
  		e1:SetCode(EFFECT_CANNOT_BE_EFFECT_TARGET)
  		e1:SetReset(RESET_EVENT + RESETS_STANDARD + RESET_PHASE + PHASE_END)
  		e1:SetValue(aux.tgoval)
  		tc:RegisterEffect(e1)
  	end
  end
  
  