name: 御巫神楽
card_text: 「御巫」儀式モンスターの降臨に必要。
  このカード名のカードは1ターンに1枚しか発動できない。
  1:レベルの合計が儀式召喚するモンスターのレベル以上になるように、自分の手札・フィールドのモンスターをリリースし、手札から「御巫」儀式モンスター1体を儀式召喚する。
  その後、以下の効果を適用できる。
  ●自分の墓地の装備魔法カードの種類の数まで相手フィールドのカードを選んで破壊し、破壊した数×1000ダメージを相手に与える。
external_ids: local SETCARD_ID_0 = 0x18d --御巫
  
lua: local SETCARD_ID_0 = 0x18d --御巫
  local s, id, o = GetID()
  function s.initial_effect(c)
  	local e1 = aux.AddRitualProcGreater2(c, s.filter, LOCATION_HAND, nil, nil, true, s.extraop)
  	e1:SetCountLimit(1, id + EFFECT_COUNT_CODE_OATH)
  	c:RegisterEffect(e1)
  end
  function s.filter(c, e, tp)
  	return c:IsSetCard(SETCARD_ID_0)
  end
  function s.extraop(e, tp, eg, ep, ev, re, r, rp, tc, mat)
  	if not tc then
  		return
  	end
  	local ct = Duel.GetMatchingGroup(Card.IsType, tp, LOCATION_GRAVE, 0, nil, TYPE_EQUIP):GetClassCount(Card.GetCode)
  	local g = Duel.GetMatchingGroup(aux.TRUE, tp, 0, LOCATION_ONFIELD, nil)
  	if ct > 0 and #g > 0 and Duel.SelectYesNo(tp, aux.Stringid(id, 0)) then
  		Duel.BreakEffect()
  		Duel.Hint(HINT_SELECTMSG, tp, HINTMSG_DESTROY)
  		local sg = g:Select(tp, 1, ct, nil)
  		Duel.HintSelection(sg)
  		local res = Duel.Destroy(sg, REASON_EFFECT)
  		Duel.Damage(1 - tp, res * 1000, REASON_EFFECT)
  	end
  end
  
  
source_text: 御巫神楽
  「御巫」儀式モンスターの降臨に必要。
  このカード名のカードは1ターンに1枚しか発動できない。
  1:レベルの合計が儀式召喚するモンスターのレベル以上になるように、自分の手札・フィールドのモンスターをリリースし、手札から「御巫」儀式モンスター1体を儀式召喚する。
  その後、以下の効果を適用できる。
  ●自分の墓地の装備魔法カードの種類の数まで相手フィールドのカードを選んで破壊し、破壊した数×1000ダメージを相手に与える。
target_text: -- 御巫神楽
  local SETCARD_ID_0 = 0x18d --御巫
  local s, id, o = GetID()
  function s.initial_effect(c)
  	local e1 = aux.AddRitualProcGreater2(c, s.filter, LOCATION_HAND, nil, nil, true, s.extraop)
  	e1:SetCountLimit(1, id + EFFECT_COUNT_CODE_OATH)
  	c:RegisterEffect(e1)
  end
  function s.filter(c, e, tp)
  	return c:IsSetCard(SETCARD_ID_0)
  end
  function s.extraop(e, tp, eg, ep, ev, re, r, rp, tc, mat)
  	if not tc then
  		return
  	end
  	local ct = Duel.GetMatchingGroup(Card.IsType, tp, LOCATION_GRAVE, 0, nil, TYPE_EQUIP):GetClassCount(Card.GetCode)
  	local g = Duel.GetMatchingGroup(aux.TRUE, tp, 0, LOCATION_ONFIELD, nil)
  	if ct > 0 and #g > 0 and Duel.SelectYesNo(tp, aux.Stringid(id, 0)) then
  		Duel.BreakEffect()
  		Duel.Hint(HINT_SELECTMSG, tp, HINTMSG_DESTROY)
  		local sg = g:Select(tp, 1, ct, nil)
  		Duel.HintSelection(sg)
  		local res = Duel.Destroy(sg, REASON_EFFECT)
  		Duel.Damage(1 - tp, res * 1000, REASON_EFFECT)
  	end
  end
  
  