name: トリックスター・マンジュシカ
card_text: 1:自分・相手ターンに、手札のこのカードを相手に見せ、「トリックスター・マンジュシカ」以外の自分フィールドの「トリックスター」モンスター1体を対象として発動できる。
  このカードを特殊召喚し、対象のモンスターを手札に戻す。
  2:このカードがモンスターゾーンに存在する限り、相手の手札にカードが加わる度に、加えたカードの数×200ダメージを相手に与える。
external_ids: local SETCARD_ID_0 = 0xfb --トリックスター
  
lua: local SETCARD_ID_0 = 0xfb --トリックスター
  local s, id, o = GetID()
  function s.initial_effect(c)
  	--return
  	local e1 = Effect.CreateEffect(c)
  	e1:SetDescription(aux.Stringid(id, 0))
  	e1:SetCategory(CATEGORY_SPECIAL_SUMMON)
  	e1:SetType(EFFECT_TYPE_QUICK_O)
  	e1:SetRange(LOCATION_HAND)
  	e1:SetCode(EVENT_FREE_CHAIN)
  	e1:SetProperty(EFFECT_FLAG_CARD_TARGET)
  	e1:SetHintTiming(0, TIMING_END_PHASE)
  	e1:SetCountLimit(1, EFFECT_COUNT_CODE_CHAIN)
  	e1:SetCost(s.cost)
  	e1:SetTarget(s.target)
  	e1:SetOperation(s.operation)
  	c:RegisterEffect(e1)
  	--damage
  	local e2 = Effect.CreateEffect(c)
  	e2:SetType(EFFECT_TYPE_FIELD + EFFECT_TYPE_CONTINUOUS)
  	e2:SetCode(EVENT_TO_HAND)
  	e2:SetProperty(EFFECT_FLAG_DELAY)
  	e2:SetRange(LOCATION_MZONE)
  	e2:SetCondition(s.damcon1)
  	e2:SetOperation(s.damop1)
  	c:RegisterEffect(e2)
  	local e3 = Effect.CreateEffect(c)
  	e3:SetType(EFFECT_TYPE_CONTINUOUS + EFFECT_TYPE_FIELD)
  	e3:SetCode(EVENT_TO_HAND)
  	e3:SetRange(LOCATION_MZONE)
  	e3:SetCondition(s.regcon)
  	e3:SetOperation(s.regop)
  	c:RegisterEffect(e3)
  	local e4 = Effect.CreateEffect(c)
  	e4:SetType(EFFECT_TYPE_CONTINUOUS + EFFECT_TYPE_FIELD)
  	e4:SetCode(EVENT_CHAIN_SOLVED)
  	e4:SetRange(LOCATION_MZONE)
  	e4:SetCondition(s.damcon2)
  	e4:SetOperation(s.damop2)
  	c:RegisterEffect(e4)
  end
  function s.cost(e, tp, eg, ep, ev, re, r, rp, chk)
  	local c = e:GetHandler()
  	if chk == 0 then
  		return not c:IsPublic()
  	end
  end
  function s.filter(c)
  	return c:IsSetCard(SETCARD_ID_0) and c:IsFaceup() and c:IsAbleToHand() and not c:IsCode(id)
  end
  function s.target(e, tp, eg, ep, ev, re, r, rp, chk, chkc)
  	if chkc then
  		return chkc:IsControler(tp) and chkc:IsLocation(LOCATION_MZONE) and s.filter(chkc)
  	end
  	local c = e:GetHandler()
  	if chk == 0 then
  		return c:IsCanBeSpecialSummoned(e, 0, tp, false, false) and Duel.GetLocationCount(tp, LOCATION_MZONE) > 0 and Duel.IsExistingTarget(s.filter, tp, LOCATION_MZONE, 0, 1, nil)
  	end
  	Duel.Hint(HINT_SELECTMSG, tp, HINTMSG_RTOHAND)
  	local g = Duel.SelectTarget(tp, s.filter, tp, LOCATION_MZONE, 0, 1, 1, nil)
  	Duel.SetOperationInfo(0, CATEGORY_TOHAND, g, 1, 0, 0)
  	Duel.SetOperationInfo(0, CATEGORY_SPECIAL_SUMMON, c, 1, 0, 0)
  end
  function s.operation(e, tp, eg, ep, ev, re, r, rp)
  	local c = e:GetHandler()
  	if not c:IsRelateToEffect(e) then
  		return
  	end
  	if Duel.SpecialSummon(c, 0, tp, tp, false, false, POS_FACEUP) ~= 0 then
  		local tc = Duel.GetFirstTarget()
  		if tc:IsRelateToEffect(e) then
  			Duel.SendtoHand(tc, nil, REASON_EFFECT)
  		end
  	end
  end
  function s.damcon1(e, tp, eg, ep, ev, re, r, rp)
  	return eg:IsExists(Card.IsControler, 1, nil, 1 - tp) and not Duel.IsChainSolving()
  end
  function s.damop1(e, tp, eg, ep, ev, re, r, rp)
  	Duel.Hint(HINT_CARD, 0, id)
  	local ct = eg:FilterCount(Card.IsControler, nil, 1 - tp)
  	Duel.Damage(1 - tp, ct * 200, REASON_EFFECT)
  end
  function s.regcon(e, tp, eg, ep, ev, re, r, rp)
  	return eg:IsExists(Card.IsControler, 1, nil, 1 - tp) and Duel.IsChainSolving()
  end
  function s.regop(e, tp, eg, ep, ev, re, r, rp)
  	local ct = eg:FilterCount(Card.IsControler, nil, 1 - tp)
  	e:GetHandler():RegisterFlagEffect(35199657, RESET_EVENT + RESETS_STANDARD + RESET_CHAIN, 0, 1, ct)
  end
  function s.damcon2(e, tp, eg, ep, ev, re, r, rp)
  	return e:GetHandler():GetFlagEffect(35199657) > 0
  end
  function s.damop2(e, tp, eg, ep, ev, re, r, rp)
  	Duel.Hint(HINT_CARD, 0, id)
  	local labels = { e:GetHandler():GetFlagEffectLabel(35199657) }
  	local ct = 0
  	for i = 1, #labels do
  		ct = ct + labels[i]
  	end
  	e:GetHandler():ResetFlagEffect(35199657)
  	Duel.Damage(1 - tp, ct * 200, REASON_EFFECT)
  end
  
  
source_text: トリックスター・マンジュシカ
  1:自分・相手ターンに、手札のこのカードを相手に見せ、「トリックスター・マンジュシカ」以外の自分フィールドの「トリックスター」モンスター1体を対象として発動できる。
  このカードを特殊召喚し、対象のモンスターを手札に戻す。
  2:このカードがモンスターゾーンに存在する限り、相手の手札にカードが加わる度に、加えたカードの数×200ダメージを相手に与える。
target_text: -- トリックスター・マンジュシカ
  local SETCARD_ID_0 = 0xfb --トリックスター
  local s, id, o = GetID()
  function s.initial_effect(c)
  	--return
  	local e1 = Effect.CreateEffect(c)
  	e1:SetDescription(aux.Stringid(id, 0))
  	e1:SetCategory(CATEGORY_SPECIAL_SUMMON)
  	e1:SetType(EFFECT_TYPE_QUICK_O)
  	e1:SetRange(LOCATION_HAND)
  	e1:SetCode(EVENT_FREE_CHAIN)
  	e1:SetProperty(EFFECT_FLAG_CARD_TARGET)
  	e1:SetHintTiming(0, TIMING_END_PHASE)
  	e1:SetCountLimit(1, EFFECT_COUNT_CODE_CHAIN)
  	e1:SetCost(s.cost)
  	e1:SetTarget(s.target)
  	e1:SetOperation(s.operation)
  	c:RegisterEffect(e1)
  	--damage
  	local e2 = Effect.CreateEffect(c)
  	e2:SetType(EFFECT_TYPE_FIELD + EFFECT_TYPE_CONTINUOUS)
  	e2:SetCode(EVENT_TO_HAND)
  	e2:SetProperty(EFFECT_FLAG_DELAY)
  	e2:SetRange(LOCATION_MZONE)
  	e2:SetCondition(s.damcon1)
  	e2:SetOperation(s.damop1)
  	c:RegisterEffect(e2)
  	local e3 = Effect.CreateEffect(c)
  	e3:SetType(EFFECT_TYPE_CONTINUOUS + EFFECT_TYPE_FIELD)
  	e3:SetCode(EVENT_TO_HAND)
  	e3:SetRange(LOCATION_MZONE)
  	e3:SetCondition(s.regcon)
  	e3:SetOperation(s.regop)
  	c:RegisterEffect(e3)
  	local e4 = Effect.CreateEffect(c)
  	e4:SetType(EFFECT_TYPE_CONTINUOUS + EFFECT_TYPE_FIELD)
  	e4:SetCode(EVENT_CHAIN_SOLVED)
  	e4:SetRange(LOCATION_MZONE)
  	e4:SetCondition(s.damcon2)
  	e4:SetOperation(s.damop2)
  	c:RegisterEffect(e4)
  end
  function s.cost(e, tp, eg, ep, ev, re, r, rp, chk)
  	local c = e:GetHandler()
  	if chk == 0 then
  		return not c:IsPublic()
  	end
  end
  function s.filter(c)
  	return c:IsSetCard(SETCARD_ID_0) and c:IsFaceup() and c:IsAbleToHand() and not c:IsCode(id)
  end
  function s.target(e, tp, eg, ep, ev, re, r, rp, chk, chkc)
  	if chkc then
  		return chkc:IsControler(tp) and chkc:IsLocation(LOCATION_MZONE) and s.filter(chkc)
  	end
  	local c = e:GetHandler()
  	if chk == 0 then
  		return c:IsCanBeSpecialSummoned(e, 0, tp, false, false) and Duel.GetLocationCount(tp, LOCATION_MZONE) > 0 and Duel.IsExistingTarget(s.filter, tp, LOCATION_MZONE, 0, 1, nil)
  	end
  	Duel.Hint(HINT_SELECTMSG, tp, HINTMSG_RTOHAND)
  	local g = Duel.SelectTarget(tp, s.filter, tp, LOCATION_MZONE, 0, 1, 1, nil)
  	Duel.SetOperationInfo(0, CATEGORY_TOHAND, g, 1, 0, 0)
  	Duel.SetOperationInfo(0, CATEGORY_SPECIAL_SUMMON, c, 1, 0, 0)
  end
  function s.operation(e, tp, eg, ep, ev, re, r, rp)
  	local c = e:GetHandler()
  	if not c:IsRelateToEffect(e) then
  		return
  	end
  	if Duel.SpecialSummon(c, 0, tp, tp, false, false, POS_FACEUP) ~= 0 then
  		local tc = Duel.GetFirstTarget()
  		if tc:IsRelateToEffect(e) then
  			Duel.SendtoHand(tc, nil, REASON_EFFECT)
  		end
  	end
  end
  function s.damcon1(e, tp, eg, ep, ev, re, r, rp)
  	return eg:IsExists(Card.IsControler, 1, nil, 1 - tp) and not Duel.IsChainSolving()
  end
  function s.damop1(e, tp, eg, ep, ev, re, r, rp)
  	Duel.Hint(HINT_CARD, 0, id)
  	local ct = eg:FilterCount(Card.IsControler, nil, 1 - tp)
  	Duel.Damage(1 - tp, ct * 200, REASON_EFFECT)
  end
  function s.regcon(e, tp, eg, ep, ev, re, r, rp)
  	return eg:IsExists(Card.IsControler, 1, nil, 1 - tp) and Duel.IsChainSolving()
  end
  function s.regop(e, tp, eg, ep, ev, re, r, rp)
  	local ct = eg:FilterCount(Card.IsControler, nil, 1 - tp)
  	e:GetHandler():RegisterFlagEffect(35199657, RESET_EVENT + RESETS_STANDARD + RESET_CHAIN, 0, 1, ct)
  end
  function s.damcon2(e, tp, eg, ep, ev, re, r, rp)
  	return e:GetHandler():GetFlagEffect(35199657) > 0
  end
  function s.damop2(e, tp, eg, ep, ev, re, r, rp)
  	Duel.Hint(HINT_CARD, 0, id)
  	local labels = { e:GetHandler():GetFlagEffectLabel(35199657) }
  	local ct = 0
  	for i = 1, #labels do
  		ct = ct + labels[i]
  	end
  	e:GetHandler():ResetFlagEffect(35199657)
  	Duel.Damage(1 - tp, ct * 200, REASON_EFFECT)
  end
  
  