From 7c2aa9802612e85d57a282b89e46fd1b0a4b131c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=85=AB=E5=AE=AB=E4=B8=80=E6=9C=88?= <135235980+kiritosoft@users.noreply.github.com> Date: Sat, 21 Feb 2026 05:34:33 +0800 Subject: [PATCH 1/3] Update c68250822.lua --- c68250822.lua | 114 +++++++++++++++++++++++++------------------------- 1 file changed, 57 insertions(+), 57 deletions(-) diff --git a/c68250822.lua b/c68250822.lua index b4f4d32ae9..533c10329e 100644 --- a/c68250822.lua +++ b/c68250822.lua @@ -1,40 +1,68 @@ --スプライト・ダブルクロス function c68250822.initial_effect(c) - --material + --Activate local e1=Effect.CreateEffect(c) - e1:SetDescription(aux.Stringid(68250822,0)) e1:SetType(EFFECT_TYPE_ACTIVATE) e1:SetProperty(EFFECT_FLAG_CARD_TARGET) e1:SetCode(EVENT_FREE_CHAIN) - e1:SetCountLimit(1,68250822+EFFECT_COUNT_CODE_OATH) + e1:SetCountLimit(1,68250822) e1:SetHintTiming(0,TIMINGS_CHECK_MONSTER+TIMING_END_PHASE) - e1:SetTarget(c68250822.target1) - e1:SetOperation(c68250822.operation1) + e1:SetTarget(c68250822.target) + e1:SetOperation(c68250822.operation) c:RegisterEffect(e1) - --control - local e2=Effect.CreateEffect(c) - e2:SetDescription(aux.Stringid(68250822,1)) - e2:SetCategory(CATEGORY_CONTROL) - e2:SetType(EFFECT_TYPE_ACTIVATE) - e2:SetProperty(EFFECT_FLAG_CARD_TARGET) - e2:SetCode(EVENT_FREE_CHAIN) - e2:SetCountLimit(1,68250822+EFFECT_COUNT_CODE_OATH) - e2:SetHintTiming(0,TIMINGS_CHECK_MONSTER+TIMING_END_PHASE) - e2:SetTarget(c68250822.target2) - e2:SetOperation(c68250822.operation2) - c:RegisterEffect(e2) - --special summon - local e3=Effect.CreateEffect(c) - e3:SetDescription(aux.Stringid(68250822,2)) - e3:SetCategory(CATEGORY_SPECIAL_SUMMON) - e3:SetType(EFFECT_TYPE_ACTIVATE) - e3:SetProperty(EFFECT_FLAG_CARD_TARGET) - e3:SetCode(EVENT_FREE_CHAIN) - e3:SetCountLimit(1,68250822+EFFECT_COUNT_CODE_OATH) - e3:SetHintTiming(0,TIMINGS_CHECK_MONSTER+TIMING_END_PHASE) - e3:SetTarget(c68250822.target3) - e3:SetOperation(c68250822.operation3) - c:RegisterEffect(e3) +end +function c68250822.target(e,tp,eg,ep,ev,re,r,rp,chk,chkc) + local zone=c68250822.getzone(tp) + local c=e:GetHandler() + if chkc then + if e:GetLabel()==0 then + return chkc:IsLocation(LOCATION_MZONE+LOCATION_GRAVE) and c68250822.cfilter1(chkc,tp) + elseif e:GetLabel()==1 then + return chkc:IsLocation(LOCATION_MZONE) and chkc:IsControler(1-tp) and c68250822.filter2(chkc,zone) + else + return chkc:IsLocation(LOCATION_GRAVE) and c68250822.filter3(chkc,e,tp,zone) + end + end + local b1=Duel.IsExistingTarget(c68250822.cfilter1,tp,LOCATION_MZONE+LOCATION_GRAVE,LOCATION_MZONE+LOCATION_GRAVE,1,nil,tp) + local b2=Duel.IsExistingTarget(c68250822.filter2,tp,0,LOCATION_MZONE,1,nil,zone) + local b3=Duel.IsExistingTarget(c68250822.filter3,tp,LOCATION_GRAVE,LOCATION_GRAVE,1,nil,e,tp,zone) + if chk==0 then return b1 or b2 or b3 end + local op=aux.SelectFromOptions(tp, + {b1,aux.Stringid(68250822,0)}, + {b2,aux.Stringid(68250822,1)}, + {b3,aux.Stringid(68250822,2)}) + e:SetLabel(op) + if op==1 then + e:SetCategory(0) + Duel.Hint(HINT_OPSELECTED,tp,aux.Stringid(68250822,0)) + Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_XMATERIAL) + local g=Duel.SelectTarget(tp,c68250822.cfilter1,tp,LOCATION_MZONE+LOCATION_GRAVE,LOCATION_MZONE+LOCATION_GRAVE,1,1,nil,tp) + if g:GetFirst():IsLocation(LOCATION_GRAVE) then + Duel.SetOperationInfo(0,CATEGORY_LEAVE_GRAVE,g,1,0,0) + end + elseif op==2 then + e:SetCategory(CATEGORY_CONTROL) + Duel.Hint(HINT_OPSELECTED,tp,aux.Stringid(68250822,1)) + Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_CONTROL) + local g=Duel.SelectTarget(tp,c68250822.filter2,tp,0,LOCATION_MZONE,1,1,nil,zone) + Duel.SetOperationInfo(0,CATEGORY_CONTROL,g,1,0,0) + else + e:SetCategory(CATEGORY_SPECIAL_SUMMON) + Duel.Hint(HINT_OPSELECTED,tp,aux.Stringid(68250822,2)) + Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON) + local g=Duel.SelectTarget(tp,c68250822.filter3,tp,LOCATION_GRAVE,LOCATION_GRAVE,1,1,nil,e,tp,zone) + Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,g,1,0,0) + end +end +function c68250822.operation(e,tp,eg,ep,ev,re,r,rp) + local op=e:GetLabel() + if op==1 then + c68250822.operation1(e,tp,eg,ep,ev,re,r,rp) + elseif op==2 then + c68250822.operation2(e,tp,eg,ep,ev,re,r,rp) + else + c68250822.operation3(e,tp,eg,ep,ev,re,r,rp) + end end function c68250822.filter1(c) return c:IsRank(2) and c:IsFaceup() @@ -43,16 +71,6 @@ function c68250822.cfilter1(c,tp) return c:IsType(TYPE_MONSTER) and c:IsCanOverlay() and Duel.IsExistingMatchingCard(c68250822.filter1,tp,LOCATION_MZONE,0,1,c) end -function c68250822.target1(e,tp,eg,ep,ev,re,r,rp,chk,chkc) - if chkc then return chkc:IsLocation(LOCATION_MZONE+LOCATION_GRAVE) and c68250822.cfilter1(chkc,tp) end - if chk==0 then return Duel.IsExistingTarget(c68250822.cfilter1,tp,LOCATION_MZONE+LOCATION_GRAVE,LOCATION_MZONE+LOCATION_GRAVE,1,nil,tp) end - Duel.Hint(HINT_OPSELECTED,tp,e:GetDescription()) - Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_XMATERIAL) - local g=Duel.SelectTarget(tp,c68250822.cfilter1,tp,LOCATION_MZONE+LOCATION_GRAVE,LOCATION_MZONE+LOCATION_GRAVE,1,1,nil,tp) - if g:GetFirst():IsLocation(LOCATION_GRAVE) then - Duel.SetOperationInfo(0,CATEGORY_LEAVE_GRAVE,g,1,0,0) - end -end function c68250822.operation1(e,tp,eg,ep,ev,re,r,rp) local tc=Duel.GetFirstTarget() if not tc:IsRelateToEffect(e) then return end @@ -79,15 +97,6 @@ end function c68250822.filter2(c,zone) return c:IsControlerCanBeChanged(false,zone) end -function c68250822.target2(e,tp,eg,ep,ev,re,r,rp,chk,chkc) - local zone=c68250822.getzone(tp) - if chkc then return chkc:IsLocation(LOCATION_MZONE) and chkc:IsControler(1-tp) and c68250822.filter2(chkc,zone) end - if chk==0 then return Duel.IsExistingTarget(c68250822.filter2,tp,0,LOCATION_MZONE,1,nil,zone) end - Duel.Hint(HINT_OPSELECTED,tp,e:GetDescription()) - Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_CONTROL) - local g=Duel.SelectTarget(tp,c68250822.filter2,tp,0,LOCATION_MZONE,1,1,nil,zone) - Duel.SetOperationInfo(0,CATEGORY_CONTROL,g,1,0,0) -end function c68250822.operation2(e,tp,eg,ep,ev,re,r,rp) local zone=c68250822.getzone(tp) local tc=Duel.GetFirstTarget() @@ -98,15 +107,6 @@ end function c68250822.filter3(c,e,tp,zone) return c:IsCanBeSpecialSummoned(e,0,tp,false,false,POS_FACEUP,tp,zone) end -function c68250822.target3(e,tp,eg,ep,ev,re,r,rp,chk,chkc) - local zone=c68250822.getzone(tp) - if chkc then return chkc:IsLocation(LOCATION_GRAVE) and c68250822.filter3(chkc,e,tp,zone) end - if chk==0 then return Duel.IsExistingTarget(c68250822.filter3,tp,LOCATION_GRAVE,LOCATION_GRAVE,1,nil,e,tp,zone) end - Duel.Hint(HINT_OPSELECTED,tp,e:GetDescription()) - Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON) - local g=Duel.SelectTarget(tp,c68250822.filter3,tp,LOCATION_GRAVE,LOCATION_GRAVE,1,1,nil,e,tp,zone) - Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,g,1,0,0) -end function c68250822.operation3(e,tp,eg,ep,ev,re,r,rp) local zone=c68250822.getzone(tp) local tc=Duel.GetFirstTarget() From 6ee2b40246f62e412545d4e9b2fa0daf2c6dfe45 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=85=AB=E5=AE=AB=E4=B8=80=E6=9C=88?= <135235980+kiritosoft@users.noreply.github.com> Date: Sat, 21 Feb 2026 23:51:15 +0800 Subject: [PATCH 2/3] fix --- c68250822.lua | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/c68250822.lua b/c68250822.lua index 533c10329e..3ad95ec1ab 100644 --- a/c68250822.lua +++ b/c68250822.lua @@ -5,7 +5,7 @@ function c68250822.initial_effect(c) e1:SetType(EFFECT_TYPE_ACTIVATE) e1:SetProperty(EFFECT_FLAG_CARD_TARGET) e1:SetCode(EVENT_FREE_CHAIN) - e1:SetCountLimit(1,68250822) + e1:SetCountLimit(1,68250822++EFFECT_COUNT_CODE_OATH) e1:SetHintTiming(0,TIMINGS_CHECK_MONSTER+TIMING_END_PHASE) e1:SetTarget(c68250822.target) e1:SetOperation(c68250822.operation) @@ -15,9 +15,9 @@ function c68250822.target(e,tp,eg,ep,ev,re,r,rp,chk,chkc) local zone=c68250822.getzone(tp) local c=e:GetHandler() if chkc then - if e:GetLabel()==0 then + if e:GetLabel()==1 then return chkc:IsLocation(LOCATION_MZONE+LOCATION_GRAVE) and c68250822.cfilter1(chkc,tp) - elseif e:GetLabel()==1 then + elseif e:GetLabel()==2 then return chkc:IsLocation(LOCATION_MZONE) and chkc:IsControler(1-tp) and c68250822.filter2(chkc,zone) else return chkc:IsLocation(LOCATION_GRAVE) and c68250822.filter3(chkc,e,tp,zone) From 61ebe423e5e7189648bcc64cce8290d1827e7ec4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=85=AB=E5=AE=AB=E4=B8=80=E6=9C=88?= <135235980+kiritosoft@users.noreply.github.com> Date: Sat, 21 Feb 2026 23:52:13 +0800 Subject: [PATCH 3/3] fix --- c68250822.lua | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/c68250822.lua b/c68250822.lua index 3ad95ec1ab..c323cd7bad 100644 --- a/c68250822.lua +++ b/c68250822.lua @@ -5,7 +5,7 @@ function c68250822.initial_effect(c) e1:SetType(EFFECT_TYPE_ACTIVATE) e1:SetProperty(EFFECT_FLAG_CARD_TARGET) e1:SetCode(EVENT_FREE_CHAIN) - e1:SetCountLimit(1,68250822++EFFECT_COUNT_CODE_OATH) + e1:SetCountLimit(1,68250822+EFFECT_COUNT_CODE_OATH) e1:SetHintTiming(0,TIMINGS_CHECK_MONSTER+TIMING_END_PHASE) e1:SetTarget(c68250822.target) e1:SetOperation(c68250822.operation)