name: Void
card_text: During your Standby Phase: You can Special Summon 1 "Infernoid Token" (Fiend-Type/FIRE/Level 1/ATK 0/DEF 0). To Special Summon an "Infernoid" monster using its own procedure, you can banish "Infernoid" monster(s) you control instead of those in the Graveyard (or any combination of both). Your opponent cannot target "Infernoid" monsters you control for attacks or with card effects, except the "Infernoid" monster you control with the highest Level (either, if tied).
external_ids: local CARD_ID_0 = 34822851 --Infernoid Token
  local SETCARD_ID_0 = 0xbb --Infernoid
  
lua: local CARD_ID_0 = 34822851 --Infernoid Token
  local SETCARD_ID_0 = 0xbb --Infernoid
  local s, id, o = GetID()
  function s.initial_effect(c)
  	--Activate
  	local e1 = Effect.CreateEffect(c)
  	e1:SetType(EFFECT_TYPE_ACTIVATE)
  	e1:SetCode(EVENT_FREE_CHAIN)
  	c:RegisterEffect(e1)
  	--spsummon
  	local e2 = Effect.CreateEffect(c)
  	e2:SetCategory(CATEGORY_SPECIAL_SUMMON + CATEGORY_TOKEN)
  	e2:SetType(EFFECT_TYPE_FIELD + EFFECT_TYPE_TRIGGER_O)
  	e2:SetRange(LOCATION_FZONE)
  	e2:SetCode(EVENT_PHASE + PHASE_STANDBY)
  	e2:SetCountLimit(1)
  	e2:SetCondition(s.spcon)
  	e2:SetTarget(s.sptg)
  	e2:SetOperation(s.spop)
  	c:RegisterEffect(e2)
  	--
  	local e3 = Effect.CreateEffect(c)
  	e3:SetType(EFFECT_TYPE_FIELD)
  	e3:SetRange(LOCATION_FZONE)
  	e3:SetTargetRange(LOCATION_HAND + LOCATION_GRAVE, 0)
  	e3:SetTarget(s.efftg)
  	e3:SetCode(id)
  	c:RegisterEffect(e3)
  	--cannot be target
  	local e4 = Effect.CreateEffect(c)
  	e4:SetType(EFFECT_TYPE_FIELD)
  	e4:SetCode(EFFECT_CANNOT_SELECT_BATTLE_TARGET)
  	e4:SetRange(LOCATION_FZONE)
  	e4:SetTargetRange(0, LOCATION_MZONE)
  	e4:SetValue(s.atlimit)
  	c:RegisterEffect(e4)
  	local e5 = Effect.CreateEffect(c)
  	e5:SetType(EFFECT_TYPE_FIELD)
  	e5:SetCode(EFFECT_CANNOT_BE_EFFECT_TARGET)
  	e5:SetProperty(EFFECT_FLAG_IGNORE_IMMUNE)
  	e5:SetRange(LOCATION_FZONE)
  	e5:SetTargetRange(LOCATION_MZONE, 0)
  	e5:SetTarget(s.tglimit)
  	e5:SetValue(aux.tgoval)
  	c:RegisterEffect(e5)
  end
  function s.spcon(e, tp, eg, ep, ev, re, r, rp)
  	return Duel.GetTurnPlayer() == tp
  end
  function s.sptg(e, tp, eg, ep, ev, re, r, rp, chk)
  	if chk == 0 then
  		return Duel.GetLocationCount(tp, LOCATION_MZONE) > 0 and Duel.IsPlayerCanSpecialSummonMonster(tp, id + 1, SETCARD_ID_0, TYPES_TOKEN_MONSTER, 0, 0, 1, RACE_FIEND, ATTRIBUTE_FIRE)
  	end
  	Duel.SetOperationInfo(0, CATEGORY_TOKEN, nil, 1, 0, 0)
  	Duel.SetOperationInfo(0, CATEGORY_SPECIAL_SUMMON, nil, 1, 0, 0)
  end
  function s.spop(e, tp, eg, ep, ev, re, r, rp)
  	if
  		not e:GetHandler():IsRelateToEffect(e)
  		or Duel.GetLocationCount(tp, LOCATION_MZONE) <= 0
  		or not Duel.IsPlayerCanSpecialSummonMonster(tp, id + 1, SETCARD_ID_0, TYPES_TOKEN_MONSTER, 0, 0, 1, RACE_FIEND, ATTRIBUTE_FIRE)
  	then
  		return
  	end
  	local token = Duel.CreateToken(tp, id + 1)
  	Duel.SpecialSummon(token, 0, tp, tp, false, false, POS_FACEUP)
  end
  function s.efftg(e, c)
  	return c:IsSetCard(SETCARD_ID_0)
  end
  function s.filter(c, lv)
  	return c:IsFaceup() and c:IsSetCard(SETCARD_ID_0) and c:GetLevel() > lv
  end
  function s.atlimit(e, c)
  	return c:IsFaceup() and c:IsSetCard(SETCARD_ID_0) and (not c:IsHasLevel() or Duel.IsExistingMatchingCard(s.filter, c:GetControler(), LOCATION_MZONE, 0, 1, nil, c:GetLevel()))
  end
  function s.tglimit(e, c)
  	return c:IsSetCard(SETCARD_ID_0) and Duel.IsExistingMatchingCard(s.filter, c:GetControler(), LOCATION_MZONE, 0, 1, nil, c:GetLevel())
  end
  
  
source_text: Void
  During your Standby Phase: You can Special Summon 1 "Infernoid Token" (Fiend-Type/FIRE/Level 1/ATK 0/DEF 0). To Special Summon an "Infernoid" monster using its own procedure, you can banish "Infernoid" monster(s) you control instead of those in the Graveyard (or any combination of both). Your opponent cannot target "Infernoid" monsters you control for attacks or with card effects, except the "Infernoid" monster you control with the highest Level (either, if tied).
target_text: -- Void
  local CARD_ID_0 = 34822851 --Infernoid Token
  local SETCARD_ID_0 = 0xbb --Infernoid
  local s, id, o = GetID()
  function s.initial_effect(c)
  	--Activate
  	local e1 = Effect.CreateEffect(c)
  	e1:SetType(EFFECT_TYPE_ACTIVATE)
  	e1:SetCode(EVENT_FREE_CHAIN)
  	c:RegisterEffect(e1)
  	--spsummon
  	local e2 = Effect.CreateEffect(c)
  	e2:SetCategory(CATEGORY_SPECIAL_SUMMON + CATEGORY_TOKEN)
  	e2:SetType(EFFECT_TYPE_FIELD + EFFECT_TYPE_TRIGGER_O)
  	e2:SetRange(LOCATION_FZONE)
  	e2:SetCode(EVENT_PHASE + PHASE_STANDBY)
  	e2:SetCountLimit(1)
  	e2:SetCondition(s.spcon)
  	e2:SetTarget(s.sptg)
  	e2:SetOperation(s.spop)
  	c:RegisterEffect(e2)
  	--
  	local e3 = Effect.CreateEffect(c)
  	e3:SetType(EFFECT_TYPE_FIELD)
  	e3:SetRange(LOCATION_FZONE)
  	e3:SetTargetRange(LOCATION_HAND + LOCATION_GRAVE, 0)
  	e3:SetTarget(s.efftg)
  	e3:SetCode(id)
  	c:RegisterEffect(e3)
  	--cannot be target
  	local e4 = Effect.CreateEffect(c)
  	e4:SetType(EFFECT_TYPE_FIELD)
  	e4:SetCode(EFFECT_CANNOT_SELECT_BATTLE_TARGET)
  	e4:SetRange(LOCATION_FZONE)
  	e4:SetTargetRange(0, LOCATION_MZONE)
  	e4:SetValue(s.atlimit)
  	c:RegisterEffect(e4)
  	local e5 = Effect.CreateEffect(c)
  	e5:SetType(EFFECT_TYPE_FIELD)
  	e5:SetCode(EFFECT_CANNOT_BE_EFFECT_TARGET)
  	e5:SetProperty(EFFECT_FLAG_IGNORE_IMMUNE)
  	e5:SetRange(LOCATION_FZONE)
  	e5:SetTargetRange(LOCATION_MZONE, 0)
  	e5:SetTarget(s.tglimit)
  	e5:SetValue(aux.tgoval)
  	c:RegisterEffect(e5)
  end
  function s.spcon(e, tp, eg, ep, ev, re, r, rp)
  	return Duel.GetTurnPlayer() == tp
  end
  function s.sptg(e, tp, eg, ep, ev, re, r, rp, chk)
  	if chk == 0 then
  		return Duel.GetLocationCount(tp, LOCATION_MZONE) > 0 and Duel.IsPlayerCanSpecialSummonMonster(tp, id + 1, SETCARD_ID_0, TYPES_TOKEN_MONSTER, 0, 0, 1, RACE_FIEND, ATTRIBUTE_FIRE)
  	end
  	Duel.SetOperationInfo(0, CATEGORY_TOKEN, nil, 1, 0, 0)
  	Duel.SetOperationInfo(0, CATEGORY_SPECIAL_SUMMON, nil, 1, 0, 0)
  end
  function s.spop(e, tp, eg, ep, ev, re, r, rp)
  	if
  		not e:GetHandler():IsRelateToEffect(e)
  		or Duel.GetLocationCount(tp, LOCATION_MZONE) <= 0
  		or not Duel.IsPlayerCanSpecialSummonMonster(tp, id + 1, SETCARD_ID_0, TYPES_TOKEN_MONSTER, 0, 0, 1, RACE_FIEND, ATTRIBUTE_FIRE)
  	then
  		return
  	end
  	local token = Duel.CreateToken(tp, id + 1)
  	Duel.SpecialSummon(token, 0, tp, tp, false, false, POS_FACEUP)
  end
  function s.efftg(e, c)
  	return c:IsSetCard(SETCARD_ID_0)
  end
  function s.filter(c, lv)
  	return c:IsFaceup() and c:IsSetCard(SETCARD_ID_0) and c:GetLevel() > lv
  end
  function s.atlimit(e, c)
  	return c:IsFaceup() and c:IsSetCard(SETCARD_ID_0) and (not c:IsHasLevel() or Duel.IsExistingMatchingCard(s.filter, c:GetControler(), LOCATION_MZONE, 0, 1, nil, c:GetLevel()))
  end
  function s.tglimit(e, c)
  	return c:IsSetCard(SETCARD_ID_0) and Duel.IsExistingMatchingCard(s.filter, c:GetControler(), LOCATION_MZONE, 0, 1, nil, c:GetLevel())
  end
  
  