name: ネフティスの輪廻
card_text: 「ネフティス」儀式モンスターの降臨に必要。
  1:レベルの合計が儀式召喚するモンスターのレベル以上になるように、自分の手札・フィールドのモンスターをリリースし、手札から「ネフティス」儀式モンスター1体を儀式召喚する。
  「ネフティスの祀り手」または「ネフティスの蒼凰神」をリリースして儀式召喚した場合には、さらにフィールドのカード1枚を選んで破壊できる。
external_ids: local CARD_ID_0 = 24175232 --ネフティスの蒼凰神
  local CARD_ID_1 = 88176533 --ネフティスの祀り手
  local SETCARD_ID_0 = 0x11f --ネフティス
  
lua: local CARD_ID_0 = 24175232 --ネフティスの蒼凰神
  local CARD_ID_1 = 88176533 --ネフティスの祀り手
  local SETCARD_ID_0 = 0x11f --ネフティス
  local s, id, o = GetID()
  function s.initial_effect(c)
  	aux.AddCodeList(c, CARD_ID_1, CARD_ID_0)
  	aux.AddRitualProcGreater2(c, s.filter, LOCATION_HAND, nil, nil, false, s.extraop)
  end
  function s.filter(c, e, tp)
  	return c:IsSetCard(SETCARD_ID_0)
  end
  function s.mfilter(c)
  	if c:IsPreviousLocation(LOCATION_MZONE) then
  		local code, code2 = c:GetPreviousCodeOnField()
  		return code == CARD_ID_1 or code == CARD_ID_0 or code2 == CARD_ID_1 or code2 == CARD_ID_0
  	end
  	return c:IsCode(CARD_ID_1, CARD_ID_0)
  end
  function s.extraop(e, tp, eg, ep, ev, re, r, rp, tc, mat)
  	if not tc then
  		return
  	end
  	local g = Duel.GetMatchingGroup(aux.TRUE, tp, LOCATION_ONFIELD, LOCATION_ONFIELD, e:GetHandler())
  	if mat:IsExists(s.mfilter, 1, nil) 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, 1, e:GetHandler())
  		Duel.Destroy(sg, REASON_EFFECT)
  	end
  end
  
  
source_text: ネフティスの輪廻
  「ネフティス」儀式モンスターの降臨に必要。
  1:レベルの合計が儀式召喚するモンスターのレベル以上になるように、自分の手札・フィールドのモンスターをリリースし、手札から「ネフティス」儀式モンスター1体を儀式召喚する。
  「ネフティスの祀り手」または「ネフティスの蒼凰神」をリリースして儀式召喚した場合には、さらにフィールドのカード1枚を選んで破壊できる。
target_text: -- ネフティスの輪廻
  local CARD_ID_0 = 24175232 --ネフティスの蒼凰神
  local CARD_ID_1 = 88176533 --ネフティスの祀り手
  local SETCARD_ID_0 = 0x11f --ネフティス
  local s, id, o = GetID()
  function s.initial_effect(c)
  	aux.AddCodeList(c, CARD_ID_1, CARD_ID_0)
  	aux.AddRitualProcGreater2(c, s.filter, LOCATION_HAND, nil, nil, false, s.extraop)
  end
  function s.filter(c, e, tp)
  	return c:IsSetCard(SETCARD_ID_0)
  end
  function s.mfilter(c)
  	if c:IsPreviousLocation(LOCATION_MZONE) then
  		local code, code2 = c:GetPreviousCodeOnField()
  		return code == CARD_ID_1 or code == CARD_ID_0 or code2 == CARD_ID_1 or code2 == CARD_ID_0
  	end
  	return c:IsCode(CARD_ID_1, CARD_ID_0)
  end
  function s.extraop(e, tp, eg, ep, ev, re, r, rp, tc, mat)
  	if not tc then
  		return
  	end
  	local g = Duel.GetMatchingGroup(aux.TRUE, tp, LOCATION_ONFIELD, LOCATION_ONFIELD, e:GetHandler())
  	if mat:IsExists(s.mfilter, 1, nil) 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, 1, e:GetHandler())
  		Duel.Destroy(sg, REASON_EFFECT)
  	end
  end
  
  