name: リンク・ディヴォーティー
card_text: レベル4以下のサイバース族モンスター1体
  このカード名の2の効果は1ターンに1度しか使用できない。
  1:このカードが特殊召喚に成功した場合に発動する。
  このターン、自分はリンク3以上のリンクモンスターをリンク召喚できない。
  2:相互リンク状態のこのカードがリリースされた場合に発動できる。
  自分フィールドに「リンクトークン」(サイバース族・光・星1・攻/守0)2体を特殊召喚する。
external_ids: local CARD_ID_0 = 59822133 --青眼の精霊龍
  local CARD_ID_1 = 48068379 --リンクトークン
  
lua: local CARD_ID_0 = 59822133 --青眼の精霊龍
  local CARD_ID_1 = 48068379 --リンクトークン
  local s, id, o = GetID()
  function s.initial_effect(c)
  	--link summon
  	c:EnableReviveLimit()
  	aux.AddLinkProcedure(c, s.matfilter, 1, 1)
  	--splimit
  	local e1 = Effect.CreateEffect(c)
  	e1:SetDescription(aux.Stringid(id, 0))
  	e1:SetType(EFFECT_TYPE_SINGLE + EFFECT_TYPE_TRIGGER_F)
  	e1:SetCode(EVENT_SPSUMMON_SUCCESS)
  	e1:SetOperation(s.limop)
  	c:RegisterEffect(e1)
  	--special summon
  	local e2 = Effect.CreateEffect(c)
  	e2:SetDescription(aux.Stringid(id, 1))
  	e2:SetCategory(CATEGORY_SPECIAL_SUMMON + CATEGORY_TOKEN)
  	e2:SetType(EFFECT_TYPE_SINGLE + EFFECT_TYPE_TRIGGER_O)
  	e2:SetCode(EVENT_RELEASE)
  	e2:SetProperty(EFFECT_FLAG_DAMAGE_STEP + EFFECT_FLAG_DELAY)
  	e2:SetCountLimit(1, id)
  	e2:SetCondition(s.spcon)
  	e2:SetTarget(s.sptg)
  	e2:SetOperation(s.spop)
  	c:RegisterEffect(e2)
  	local e3 = Effect.CreateEffect(c)
  	e3:SetType(EFFECT_TYPE_SINGLE + EFFECT_TYPE_CONTINUOUS)
  	e3:SetCode(EVENT_LEAVE_FIELD_P)
  	e3:SetProperty(EFFECT_FLAG_CANNOT_DISABLE + EFFECT_FLAG_IGNORE_IMMUNE)
  	e3:SetLabelObject(e2)
  	e3:SetOperation(s.chk)
  	c:RegisterEffect(e3)
  end
  function s.chk(e, tp, eg, ep, ev, re, r, rp)
  	e:GetLabelObject():SetLabel(e:GetHandler():GetMutualLinkedGroupCount())
  end
  function s.matfilter(c)
  	return c:IsLevelBelow(4) and c:IsLinkRace(RACE_CYBERSE)
  end
  function s.limop(e, tp, eg, ep, ev, re, r, rp, c)
  	--cannot link summon
  	local e1 = Effect.CreateEffect(e:GetHandler())
  	e1:SetType(EFFECT_TYPE_FIELD)
  	e1:SetProperty(EFFECT_FLAG_PLAYER_TARGET)
  	e1:SetCode(EFFECT_CANNOT_SPECIAL_SUMMON)
  	e1:SetTargetRange(1, 0)
  	e1:SetReset(RESET_PHASE + PHASE_END)
  	e1:SetTarget(s.splimit)
  	Duel.RegisterEffect(e1, tp)
  end
  function s.splimit(e, c, tp, sumtp, sumpos)
  	return c:IsType(TYPE_LINK) and c:IsLinkAbove(3) and bit.band(sumtp, SUMMON_TYPE_LINK) == SUMMON_TYPE_LINK
  end
  function s.spcon(e, tp, eg, ep, ev, re, r, rp)
  	return e:GetLabel() > 0
  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.IsPlayerCanSpecialSummonMonster(tp, id + 1, 0, TYPES_TOKEN_MONSTER, 0, 0, 1, RACE_CYBERSE, ATTRIBUTE_LIGHT)
  	end
  	Duel.SetOperationInfo(0, CATEGORY_TOKEN, nil, 2, tp, 0)
  	Duel.SetOperationInfo(0, CATEGORY_SPECIAL_SUMMON, nil, 2, tp, 0)
  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
  		or not Duel.IsPlayerCanSpecialSummonMonster(tp, id + 1, 0, TYPES_TOKEN_MONSTER, 0, 0, 1, RACE_CYBERSE, ATTRIBUTE_LIGHT)
  	then
  		return
  	end
  	for i = 1, 2 do
  		local token = Duel.CreateToken(tp, id + 1)
  		Duel.SpecialSummonStep(token, 0, tp, tp, false, false, POS_FACEUP)
  	end
  	Duel.SpecialSummonComplete()
  end
  
  
source_text: リンク・ディヴォーティー
  レベル4以下のサイバース族モンスター1体
  このカード名の2の効果は1ターンに1度しか使用できない。
  1:このカードが特殊召喚に成功した場合に発動する。
  このターン、自分はリンク3以上のリンクモンスターをリンク召喚できない。
  2:相互リンク状態のこのカードがリリースされた場合に発動できる。
  自分フィールドに「リンクトークン」(サイバース族・光・星1・攻/守0)2体を特殊召喚する。
target_text: -- リンク・ディヴォーティー
  local CARD_ID_0 = 59822133 --青眼の精霊龍
  local CARD_ID_1 = 48068379 --リンクトークン
  local s, id, o = GetID()
  function s.initial_effect(c)
  	--link summon
  	c:EnableReviveLimit()
  	aux.AddLinkProcedure(c, s.matfilter, 1, 1)
  	--splimit
  	local e1 = Effect.CreateEffect(c)
  	e1:SetDescription(aux.Stringid(id, 0))
  	e1:SetType(EFFECT_TYPE_SINGLE + EFFECT_TYPE_TRIGGER_F)
  	e1:SetCode(EVENT_SPSUMMON_SUCCESS)
  	e1:SetOperation(s.limop)
  	c:RegisterEffect(e1)
  	--special summon
  	local e2 = Effect.CreateEffect(c)
  	e2:SetDescription(aux.Stringid(id, 1))
  	e2:SetCategory(CATEGORY_SPECIAL_SUMMON + CATEGORY_TOKEN)
  	e2:SetType(EFFECT_TYPE_SINGLE + EFFECT_TYPE_TRIGGER_O)
  	e2:SetCode(EVENT_RELEASE)
  	e2:SetProperty(EFFECT_FLAG_DAMAGE_STEP + EFFECT_FLAG_DELAY)
  	e2:SetCountLimit(1, id)
  	e2:SetCondition(s.spcon)
  	e2:SetTarget(s.sptg)
  	e2:SetOperation(s.spop)
  	c:RegisterEffect(e2)
  	local e3 = Effect.CreateEffect(c)
  	e3:SetType(EFFECT_TYPE_SINGLE + EFFECT_TYPE_CONTINUOUS)
  	e3:SetCode(EVENT_LEAVE_FIELD_P)
  	e3:SetProperty(EFFECT_FLAG_CANNOT_DISABLE + EFFECT_FLAG_IGNORE_IMMUNE)
  	e3:SetLabelObject(e2)
  	e3:SetOperation(s.chk)
  	c:RegisterEffect(e3)
  end
  function s.chk(e, tp, eg, ep, ev, re, r, rp)
  	e:GetLabelObject():SetLabel(e:GetHandler():GetMutualLinkedGroupCount())
  end
  function s.matfilter(c)
  	return c:IsLevelBelow(4) and c:IsLinkRace(RACE_CYBERSE)
  end
  function s.limop(e, tp, eg, ep, ev, re, r, rp, c)
  	--cannot link summon
  	local e1 = Effect.CreateEffect(e:GetHandler())
  	e1:SetType(EFFECT_TYPE_FIELD)
  	e1:SetProperty(EFFECT_FLAG_PLAYER_TARGET)
  	e1:SetCode(EFFECT_CANNOT_SPECIAL_SUMMON)
  	e1:SetTargetRange(1, 0)
  	e1:SetReset(RESET_PHASE + PHASE_END)
  	e1:SetTarget(s.splimit)
  	Duel.RegisterEffect(e1, tp)
  end
  function s.splimit(e, c, tp, sumtp, sumpos)
  	return c:IsType(TYPE_LINK) and c:IsLinkAbove(3) and bit.band(sumtp, SUMMON_TYPE_LINK) == SUMMON_TYPE_LINK
  end
  function s.spcon(e, tp, eg, ep, ev, re, r, rp)
  	return e:GetLabel() > 0
  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.IsPlayerCanSpecialSummonMonster(tp, id + 1, 0, TYPES_TOKEN_MONSTER, 0, 0, 1, RACE_CYBERSE, ATTRIBUTE_LIGHT)
  	end
  	Duel.SetOperationInfo(0, CATEGORY_TOKEN, nil, 2, tp, 0)
  	Duel.SetOperationInfo(0, CATEGORY_SPECIAL_SUMMON, nil, 2, tp, 0)
  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
  		or not Duel.IsPlayerCanSpecialSummonMonster(tp, id + 1, 0, TYPES_TOKEN_MONSTER, 0, 0, 1, RACE_CYBERSE, ATTRIBUTE_LIGHT)
  	then
  		return
  	end
  	for i = 1, 2 do
  		local token = Duel.CreateToken(tp, id + 1)
  		Duel.SpecialSummonStep(token, 0, tp, tp, false, false, POS_FACEUP)
  	end
  	Duel.SpecialSummonComplete()
  end
  
  