name: Super
card_text: Special Summon 1 "Performapal Hip Hippo" from your hand, Deck, or Graveyard, then you can Special Summon as many "Hippo Tokens" (Beast-Type/EARTH/Level 1/ATK 0/DEF 0) as possible, but they cannot be Tributed, and monsters your opponent controls cannot target monsters for attacks for the rest of this turn, except "Hippo Tokens". You cannot Special Summon monsters from the Extra Deck while a "Hippo Token" is in a Monster Zone.
external_ids: local CARD_ID_0 = 59822133 --Blue-Eyes Spirit Dragon
  local CARD_ID_1 = 41440148 --Performapal Hip Hippo
  local CARD_ID_2 = 18027139 --Hippo Token
  
lua: local CARD_ID_0 = 59822133 --Blue-Eyes Spirit Dragon
  local CARD_ID_1 = 41440148 --Performapal Hip Hippo
  local CARD_ID_2 = 18027139 --Hippo Token
  local s, id, o = GetID()
  function s.initial_effect(c)
  	--Activate
  	local e1 = Effect.CreateEffect(c)
  	e1:SetCategory(CATEGORY_SPECIAL_SUMMON + CATEGORY_TOKEN)
  	e1:SetType(EFFECT_TYPE_ACTIVATE)
  	e1:SetCode(EVENT_FREE_CHAIN)
  	e1:SetTarget(s.target)
  	e1:SetOperation(s.activate)
  	c:RegisterEffect(e1)
  end
  function s.filter(c, e, tp)
  	return c:IsCode(CARD_ID_1) and c:IsCanBeSpecialSummoned(e, 0, tp, false, false)
  end
  function s.target(e, tp, eg, ep, ev, re, r, rp, chk)
  	if chk == 0 then
  		return Duel.GetLocationCount(tp, LOCATION_MZONE) > 0 and Duel.IsExistingMatchingCard(s.filter, tp, 0x13, 0, 1, nil, e, tp)
  	end
  	Duel.SetOperationInfo(0, CATEGORY_SPECIAL_SUMMON, nil, 1, tp, 0x13)
  end
  function s.activate(e, tp, eg, ep, ev, re, r, rp)
  	if Duel.GetLocationCount(tp, LOCATION_MZONE) <= 0 then
  		return
  	end
  	Duel.Hint(HINT_SELECTMSG, tp, HINTMSG_SPSUMMON)
  	local g = Duel.SelectMatchingCard(tp, aux.NecroValleyFilter(s.filter), tp, 0x13, 0, 1, 1, nil, e, tp)
  	if g:GetCount() > 0 then
  		if Duel.SpecialSummon(g, 0, tp, tp, false, false, POS_FACEUP) == 0 then
  			return
  		end
  		local ft = Duel.GetLocationCount(tp, LOCATION_MZONE)
  		if ft <= 0 or (Duel.IsPlayerAffectedByEffect(tp, CARD_ID_0) and ft > 1) then
  			return
  		end
  		if Duel.IsPlayerCanSpecialSummonMonster(tp, CARD_ID_2, 0, TYPES_TOKEN_MONSTER, 0, 0, 1, RACE_BEAST, ATTRIBUTE_EARTH) and Duel.SelectYesNo(tp, aux.Stringid(id, 0)) then
  			Duel.BreakEffect()
  			local c = e:GetHandler()
  			for i = 1, ft do
  				local token = Duel.CreateToken(tp, id + i)
  				Duel.SpecialSummonStep(token, 0, tp, tp, false, false, POS_FACEUP)
  				local e1 = Effect.CreateEffect(c)
  				e1:SetType(EFFECT_TYPE_SINGLE)
  				e1:SetCode(EFFECT_UNRELEASABLE_SUM)
  				e1:SetProperty(EFFECT_FLAG_CANNOT_DISABLE)
  				e1:SetValue(1)
  				e1:SetReset(RESET_EVENT + RESETS_STANDARD)
  				token:RegisterEffect(e1)
  				local e2 = e1:Clone()
  				e2:SetCode(EFFECT_UNRELEASABLE_NONSUM)
  				token:RegisterEffect(e2)
  				local e3 = Effect.CreateEffect(c)
  				e3:SetType(EFFECT_TYPE_FIELD)
  				e3:SetCode(EFFECT_CANNOT_SPECIAL_SUMMON)
  				e3:SetProperty(EFFECT_FLAG_PLAYER_TARGET)
  				e3:SetRange(LOCATION_MZONE)
  				e3:SetAbsoluteRange(tp, 1, 0)
  				e3:SetTarget(s.splimit)
  				e3:SetReset(RESET_EVENT + RESETS_STANDARD)
  				token:RegisterEffect(e3)
  			end
  			Duel.SpecialSummonComplete()
  			local e1 = Effect.CreateEffect(c)
  			e1:SetType(EFFECT_TYPE_FIELD)
  			e1:SetCode(EFFECT_CANNOT_SELECT_BATTLE_TARGET)
  			e1:SetTargetRange(0, LOCATION_MZONE)
  			e1:SetValue(s.atlimit)
  			e1:SetReset(RESET_PHASE + PHASE_END)
  			Duel.RegisterEffect(e1, tp)
  		end
  	end
  end
  function s.splimit(e, c)
  	return c:IsLocation(LOCATION_EXTRA)
  end
  function s.atlimit(e, c)
  	return not c:IsCode(CARD_ID_2)
  end
  
  
source_text: Super
  Special Summon 1 "Performapal Hip Hippo" from your hand, Deck, or Graveyard, then you can Special Summon as many "Hippo Tokens" (Beast-Type/EARTH/Level 1/ATK 0/DEF 0) as possible, but they cannot be Tributed, and monsters your opponent controls cannot target monsters for attacks for the rest of this turn, except "Hippo Tokens". You cannot Special Summon monsters from the Extra Deck while a "Hippo Token" is in a Monster Zone.
target_text: -- Super
  local CARD_ID_0 = 59822133 --Blue-Eyes Spirit Dragon
  local CARD_ID_1 = 41440148 --Performapal Hip Hippo
  local CARD_ID_2 = 18027139 --Hippo Token
  local s, id, o = GetID()
  function s.initial_effect(c)
  	--Activate
  	local e1 = Effect.CreateEffect(c)
  	e1:SetCategory(CATEGORY_SPECIAL_SUMMON + CATEGORY_TOKEN)
  	e1:SetType(EFFECT_TYPE_ACTIVATE)
  	e1:SetCode(EVENT_FREE_CHAIN)
  	e1:SetTarget(s.target)
  	e1:SetOperation(s.activate)
  	c:RegisterEffect(e1)
  end
  function s.filter(c, e, tp)
  	return c:IsCode(CARD_ID_1) and c:IsCanBeSpecialSummoned(e, 0, tp, false, false)
  end
  function s.target(e, tp, eg, ep, ev, re, r, rp, chk)
  	if chk == 0 then
  		return Duel.GetLocationCount(tp, LOCATION_MZONE) > 0 and Duel.IsExistingMatchingCard(s.filter, tp, 0x13, 0, 1, nil, e, tp)
  	end
  	Duel.SetOperationInfo(0, CATEGORY_SPECIAL_SUMMON, nil, 1, tp, 0x13)
  end
  function s.activate(e, tp, eg, ep, ev, re, r, rp)
  	if Duel.GetLocationCount(tp, LOCATION_MZONE) <= 0 then
  		return
  	end
  	Duel.Hint(HINT_SELECTMSG, tp, HINTMSG_SPSUMMON)
  	local g = Duel.SelectMatchingCard(tp, aux.NecroValleyFilter(s.filter), tp, 0x13, 0, 1, 1, nil, e, tp)
  	if g:GetCount() > 0 then
  		if Duel.SpecialSummon(g, 0, tp, tp, false, false, POS_FACEUP) == 0 then
  			return
  		end
  		local ft = Duel.GetLocationCount(tp, LOCATION_MZONE)
  		if ft <= 0 or (Duel.IsPlayerAffectedByEffect(tp, CARD_ID_0) and ft > 1) then
  			return
  		end
  		if Duel.IsPlayerCanSpecialSummonMonster(tp, CARD_ID_2, 0, TYPES_TOKEN_MONSTER, 0, 0, 1, RACE_BEAST, ATTRIBUTE_EARTH) and Duel.SelectYesNo(tp, aux.Stringid(id, 0)) then
  			Duel.BreakEffect()
  			local c = e:GetHandler()
  			for i = 1, ft do
  				local token = Duel.CreateToken(tp, id + i)
  				Duel.SpecialSummonStep(token, 0, tp, tp, false, false, POS_FACEUP)
  				local e1 = Effect.CreateEffect(c)
  				e1:SetType(EFFECT_TYPE_SINGLE)
  				e1:SetCode(EFFECT_UNRELEASABLE_SUM)
  				e1:SetProperty(EFFECT_FLAG_CANNOT_DISABLE)
  				e1:SetValue(1)
  				e1:SetReset(RESET_EVENT + RESETS_STANDARD)
  				token:RegisterEffect(e1)
  				local e2 = e1:Clone()
  				e2:SetCode(EFFECT_UNRELEASABLE_NONSUM)
  				token:RegisterEffect(e2)
  				local e3 = Effect.CreateEffect(c)
  				e3:SetType(EFFECT_TYPE_FIELD)
  				e3:SetCode(EFFECT_CANNOT_SPECIAL_SUMMON)
  				e3:SetProperty(EFFECT_FLAG_PLAYER_TARGET)
  				e3:SetRange(LOCATION_MZONE)
  				e3:SetAbsoluteRange(tp, 1, 0)
  				e3:SetTarget(s.splimit)
  				e3:SetReset(RESET_EVENT + RESETS_STANDARD)
  				token:RegisterEffect(e3)
  			end
  			Duel.SpecialSummonComplete()
  			local e1 = Effect.CreateEffect(c)
  			e1:SetType(EFFECT_TYPE_FIELD)
  			e1:SetCode(EFFECT_CANNOT_SELECT_BATTLE_TARGET)
  			e1:SetTargetRange(0, LOCATION_MZONE)
  			e1:SetValue(s.atlimit)
  			e1:SetReset(RESET_PHASE + PHASE_END)
  			Duel.RegisterEffect(e1, tp)
  		end
  	end
  end
  function s.splimit(e, c)
  	return c:IsLocation(LOCATION_EXTRA)
  end
  function s.atlimit(e, c)
  	return not c:IsCode(CARD_ID_2)
  end
  
  