Commit 97ab1091 authored by Huangnan's avatar Huangnan

fix

parent 20fcccda
Pipeline #42582 failed with stages
in 3 minutes and 12 seconds
...@@ -5,7 +5,7 @@ stages: ...@@ -5,7 +5,7 @@ stages:
variables: variables:
GIT_DEPTH: "1" GIT_DEPTH: "1"
LAST_UPDATE_DATE: "2025.12.22" LAST_UPDATE_DATE: "2026.1.12"
CURRENT_UPDATE_DATE: "2026.1.12" CURRENT_UPDATE_DATE: "2026.1.12"
redtext: redtext:
......
...@@ -2968,7 +2968,6 @@ ...@@ -2968,7 +2968,6 @@
61200004 1 --云轮大榜 道古玄碑 61200004 1 --云轮大榜 道古玄碑
61200005 1 --云轮王证 流云令 61200005 1 --云轮王证 流云令
61200101 1 --前尘轮转 悲戚云轮之愚者 61200101 1 --前尘轮转 悲戚云轮之愚者
61200110 1 --玄元尊仪 云轮之云落
61200000 1 --瀚古云轮之秘仪 61200000 1 --瀚古云轮之秘仪
61200201 1 --五剑一心 云轮之白夜 61200201 1 --五剑一心 云轮之白夜
61200310 1 --执我酌光 云轮之月曦 61200310 1 --执我酌光 云轮之月曦
...@@ -2997,7 +2996,7 @@ ...@@ -2997,7 +2996,7 @@
61200502 1 --云轮妙算 天策 61200502 1 --云轮妙算 天策
61200303 1 --云轮之眼 云铃 61200303 1 --云轮之眼 云铃
61200304 1 --云轮之眼 心莲 61200304 1 --云轮之眼 心莲
61200110 0 --玄元尊仪 云轮之云落 61200110 1 --玄元尊仪 云轮之云落
61200403 1 --云轮集讯 四十一之依雅 61200403 1 --云轮集讯 四十一之依雅
61200309 1 --云轮污朽 冰魂与玄魄 61200309 1 --云轮污朽 冰魂与玄魄
61200301 1 --云轮缚锁 风翎 61200301 1 --云轮缚锁 风翎
......
...@@ -68,9 +68,10 @@ function c11602305.srfilter(c,code) ...@@ -68,9 +68,10 @@ function c11602305.srfilter(c,code)
return c:IsSetCard(0xa549) and c:IsType(0x1) and not c:IsCode(code) and c:IsAbleToHand() return c:IsSetCard(0xa549) and c:IsType(0x1) and not c:IsCode(code) and c:IsAbleToHand()
end end
function c11602305.srcost(e,tp,eg,ep,ev,re,r,rp,chk) function c11602305.srcost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(c11602305.costfilter,tp,0xe,0,1,nil,tp) end local c=e:GetHandler()
if chk==0 then return Duel.IsExistingMatchingCard(c11602305.costfilter,tp,0xe,0,1,c,tp) end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TODECK) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TODECK)
local g=Duel.SelectMatchingCard(tp,c11602305.costfilter,tp,0xe,0,1,1,nil,tp) local g=Duel.SelectMatchingCard(tp,c11602305.costfilter,tp,0xe,0,1,1,c,tp)
Duel.HintSelection(g) Duel.HintSelection(g)
local tc=g:GetFirst() local tc=g:GetFirst()
Duel.ConfirmCards(1-tp,tc) Duel.ConfirmCards(1-tp,tc)
......
...@@ -28,27 +28,32 @@ function s.activate(e,tp,eg,ep,ev,re,r,rp) ...@@ -28,27 +28,32 @@ function s.activate(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler() local c=e:GetHandler()
local id_tc_table={} local id_tc_table={}
local id_table={}
for i=1,ev do for i=1,ev do
local tid,tid2=Duel.GetChainInfo(i,CHAININFO_TRIGGERING_CODE,CHAININFO_TRIGGERING_CODE2) local tid,tid2=Duel.GetChainInfo(i,CHAININFO_TRIGGERING_CODE,CHAININFO_TRIGGERING_CODE2)
if not id_tc_table[tid] then if not id_tc_table[tid] then
id_tc_table[tid]=Group.CreateGroup() id_tc_table[tid]=Group.CreateGroup()
id_table[tid]=0
end end
if tid2~=0 and tid~=tid2 and not id_tc_table[tid2] then if tid2~=0 and tid~=tid2 and not id_tc_table[tid2] then
id_tc_table[tid2]=Group.CreateGroup() id_tc_table[tid2]=Group.CreateGroup()
id_table[tid2]=0
end end
end end
for i=1,ev do for i=1,ev do
local tid,tid2,te=Duel.GetChainInfo(i,CHAININFO_TRIGGERING_CODE,CHAININFO_TRIGGERING_CODE2,CHAININFO_TRIGGERING_EFFECT) local tid,tid2,te=Duel.GetChainInfo(i,CHAININFO_TRIGGERING_CODE,CHAININFO_TRIGGERING_CODE2,CHAININFO_TRIGGERING_EFFECT)
id_tc_table[tid]:AddCard(te:GetHandler()) id_tc_table[tid]:AddCard(te:GetHandler())
id_table[tid]=id_table[tid]+1
--Debug.Message('1') --Debug.Message('1')
if tid2~=0 and tid~=tid2 then if tid2~=0 and tid~=tid2 then
id_tc_table[tid2]:AddCard(te:GetHandler()) id_tc_table[tid2]:AddCard(te:GetHandler())
id_table[tid2]=id_table[tid2]+1
end end
end end
for v,tg in pairs(id_tc_table) do for v,tg in pairs(id_tc_table) do
--Debug.Message(v) --Debug.Message(v)
--Debug.Message(#tg) --Debug.Message(#tg)
if #tg>1 then if id_table[v]>1 then
local tc=tg:GetFirst() local tc=tg:GetFirst()
while tc do while tc do
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
......
--光之战士 欧布 荣光 --光之战士 欧布 荣光
function c16402210.initial_effect(c) local s,id,o=GetID()
function s.initial_effect(c)
--spirit return --spirit return
aux.EnableSpiritReturn(c,EVENT_SPSUMMON_SUCCESS) aux.EnableSpiritReturn(c,EVENT_SPSUMMON_SUCCESS)
--fusion material --fusion material
......
...@@ -39,7 +39,8 @@ function c16402215.initial_effect(c) ...@@ -39,7 +39,8 @@ function c16402215.initial_effect(c)
c:RegisterEffect(e5) c:RegisterEffect(e5)
end end
function c16402215.target(e,c) function c16402215.target(e,c)
return c:IsFaceup() and not c:IsSetCard(0xce9) return c:IsFaceup() and not c:IsSetCard(0xce9) and c:IsType(TYPE_MONSTER)
end
function c16402215.effectfilter(e,ct) function c16402215.effectfilter(e,ct)
local p=e:GetHandler():GetControler() local p=e:GetHandler():GetControler()
local te,tp,loc=Duel.GetChainInfo(ct,CHAININFO_TRIGGERING_EFFECT,CHAININFO_TRIGGERING_PLAYER,CHAININFO_TRIGGERING_LOCATION) local te,tp,loc=Duel.GetChainInfo(ct,CHAININFO_TRIGGERING_EFFECT,CHAININFO_TRIGGERING_PLAYER,CHAININFO_TRIGGERING_LOCATION)
......
...@@ -64,7 +64,7 @@ function s.tgcon(e,tp,eg,ep,ev,re,r,rp) ...@@ -64,7 +64,7 @@ function s.tgcon(e,tp,eg,ep,ev,re,r,rp)
return e:GetHandler():IsPreviousLocation(LOCATION_ONFIELD) return e:GetHandler():IsPreviousLocation(LOCATION_ONFIELD)
end end
function s.tgfilter(c) function s.tgfilter(c)
return c:IsSetCard(0x435) and (c:IsAbleToGrave() or c:IsAbleToRemove()) return c:IsSetCard(0x5ca3) and (c:IsAbleToGrave() or c:IsAbleToRemove())
end end
function s.tgtg(e,tp,eg,ep,ev,re,r,rp,chk) function s.tgtg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(s.tgfilter,tp,LOCATION_DECK,0,1,nil) end if chk==0 then return Duel.IsExistingMatchingCard(s.tgfilter,tp,LOCATION_DECK,0,1,nil) end
......
...@@ -60,11 +60,11 @@ function c82001440.spcon1(e,tp,eg,ep,ev,re,r,rp) ...@@ -60,11 +60,11 @@ function c82001440.spcon1(e,tp,eg,ep,ev,re,r,rp)
local ph=Duel.GetCurrentPhase() local ph=Duel.GetCurrentPhase()
return Duel.GetTurnPlayer()~=tp and (ph==PHASE_MAIN1 or ph==PHASE_MAIN2) return Duel.GetTurnPlayer()~=tp and (ph==PHASE_MAIN1 or ph==PHASE_MAIN2)
end end
function c82001440.sp1filter(c) function c82001440.spfilter1(c)
return c:IsFaceup() and c:IsType(TYPE_MONSTER) return c:IsFaceup() and c:IsType(TYPE_MONSTER)
end end
function c82001440.sptg1(e,tp,eg,ep,ev,re,r,rp,chk,chkc) function c82001440.sptg1(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
if chkc then return chkc:IsLocation(LOCATION_MZONE) and chkc:IsControler(tp) and c82001440.cfilter(chkc,tp) end if chkc then return chkc:IsLocation(LOCATION_MZONE) and chkc:IsControler(tp) and c82001440.spfilter1(chkc,tp) end
if chk==0 then return Duel.IsExistingTarget(c82001440.spfilter1,tp,LOCATION_MZONE,0,1,nil,tp) if chk==0 then return Duel.IsExistingTarget(c82001440.spfilter1,tp,LOCATION_MZONE,0,1,nil,tp)
and Duel.GetLocationCount(tp,LOCATION_MZONE)>0 and Duel.GetLocationCount(tp,LOCATION_MZONE)>0
and e:GetHandler():IsCanBeSpecialSummoned(e,0,tp,false,false) end and e:GetHandler():IsCanBeSpecialSummoned(e,0,tp,false,false) end
......
...@@ -72,11 +72,11 @@ function c82001443.spcon1(e,tp,eg,ep,ev,re,r,rp) ...@@ -72,11 +72,11 @@ function c82001443.spcon1(e,tp,eg,ep,ev,re,r,rp)
local ph=Duel.GetCurrentPhase() local ph=Duel.GetCurrentPhase()
return Duel.GetTurnPlayer()~=tp and (ph==PHASE_MAIN1 or ph==PHASE_MAIN2) return Duel.GetTurnPlayer()~=tp and (ph==PHASE_MAIN1 or ph==PHASE_MAIN2)
end end
function c82001443.sp1filter(c) function c82001443.spfilter1(c)
return c:IsFaceup() and c:IsType(TYPE_MONSTER) return c:IsFaceup() and c:IsType(TYPE_MONSTER)
end end
function c82001443.sptg1(e,tp,eg,ep,ev,re,r,rp,chk,chkc) function c82001443.sptg1(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
if chkc then return chkc:IsLocation(LOCATION_MZONE) and chkc:IsControler(tp) and c82001443.cfilter(chkc,tp) end if chkc then return chkc:IsLocation(LOCATION_MZONE) and chkc:IsControler(tp) and c82001443.spfilter1(chkc,tp) end
if chk==0 then return Duel.IsExistingTarget(c82001443.spfilter1,tp,LOCATION_MZONE,0,1,nil,tp) if chk==0 then return Duel.IsExistingTarget(c82001443.spfilter1,tp,LOCATION_MZONE,0,1,nil,tp)
and Duel.GetLocationCount(tp,LOCATION_MZONE)>0 and Duel.GetLocationCount(tp,LOCATION_MZONE)>0
and e:GetHandler():IsCanBeSpecialSummoned(e,0,tp,false,false) end and e:GetHandler():IsCanBeSpecialSummoned(e,0,tp,false,false) end
......
...@@ -134,7 +134,7 @@ function s.checkfilter2(c,typ) ...@@ -134,7 +134,7 @@ function s.checkfilter2(c,typ)
return c:IsType(typ) return c:IsType(typ)
end end
function s.tg(e,tp,eg,ep,ev,re,r,rp,chk) function s.tg(e,tp,eg,ep,ev,re,r,rp,chk)
local g=Duel.GetMatchingGroup(Card.IsFaceup,tp,LOCATION_ONFIELD,LOCATION_ONFIELD,nil) local g=Duel.GetMatchingGroup(Card.IsFaceup,tp,LOCATION_GRAVE,LOCATION_GRAVE,nil)
local typ=0 local typ=0
local res=Duel.IsPlayerAffectedByEffect(tp,92600250) local res=Duel.IsPlayerAffectedByEffect(tp,92600250)
for tc in aux.Next(g) do for tc in aux.Next(g) do
......
...@@ -9,7 +9,7 @@ function c98500190.initial_effect(c) ...@@ -9,7 +9,7 @@ function c98500190.initial_effect(c)
--be target --be target
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(98500190,0)) e1:SetDescription(aux.Stringid(98500190,0))
e1:SetCategory(CATEGORY_SPECIAL_SUMMON+CATEGORY_ANNOUNCE) e1:SetCategory(CATEGORY_ANNOUNCE)
e1:SetType(EFFECT_TYPE_QUICK_O) e1:SetType(EFFECT_TYPE_QUICK_O)
e1:SetCode(EVENT_CHAINING) e1:SetCode(EVENT_CHAINING)
e1:SetProperty(EFFECT_FLAG_SET_AVAILABLE) e1:SetProperty(EFFECT_FLAG_SET_AVAILABLE)
...@@ -93,7 +93,7 @@ function c98500190.filter2(c,e,tp) ...@@ -93,7 +93,7 @@ function c98500190.filter2(c,e,tp)
return c:IsSetCard(0x985) and c:IsType(TYPE_MONSTER) and c:IsCanBeSpecialSummoned(e,0,tp,true,false) and c:IsAttackBelow(3000) return c:IsSetCard(0x985) and c:IsType(TYPE_MONSTER) and c:IsCanBeSpecialSummoned(e,0,tp,true,false) and c:IsAttackBelow(3000)
end end
function c98500190.target(e,tp,eg,ep,ev,re,r,rp,chk) function c98500190.target(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(aux.TRUE,tp,0,LOCATION_DECK,1,nil) and ((Duel.IsExistingMatchingCard(c98500190.filter,tp,LOCATION_DECK,0,1,nil) and Duel.GetLocationCount(tp,LOCATION_SZONE)>0) or (Duel.IsExistingMatchingCard(c98500190.filter2,tp,LOCATION_HAND+LOCATION_DECK+LOCATION_EXTRA,0,1,nil,e,tp) and Duel.GetLocationCount(tp,LOCATION_MZONE)>0)) end if chk==0 then return Duel.IsExistingMatchingCard(aux.TRUE,tp,0,LOCATION_DECK,1,nil) end
Duel.SetOperationInfo(0,CATEGORY_ANNOUNCE,nil,0,tp,0) Duel.SetOperationInfo(0,CATEGORY_ANNOUNCE,nil,0,tp,0)
end end
function c98500190.operation(e,tp,eg,ep,ev,re,r,rp) function c98500190.operation(e,tp,eg,ep,ev,re,r,rp)
...@@ -106,7 +106,9 @@ function c98500190.operation(e,tp,eg,ep,ev,re,r,rp) ...@@ -106,7 +106,9 @@ function c98500190.operation(e,tp,eg,ep,ev,re,r,rp)
Duel.ShuffleDeck(1-tp) Duel.ShuffleDeck(1-tp)
local g=Duel.GetMatchingGroup(Card.IsCode,tp,0,LOCATION_DECK,nil,ac) local g=Duel.GetMatchingGroup(Card.IsCode,tp,0,LOCATION_DECK,nil,ac)
if g:GetCount()>0 then if g:GetCount()>0 then
Duel.NegateEffect(ev) Duel.NegateEffect(ev) end
Duel.BreakEffect()
if Duel.SelectYesNo(tp,aux.Stringid(98500190,11)) then
local ts={} local ts={}
local index=1 local index=1
if Duel.IsExistingMatchingCard(c98500190.filter,tp,LOCATION_DECK,0,1,nil) and Duel.GetLocationCount(tp,LOCATION_SZONE)>0 then if Duel.IsExistingMatchingCard(c98500190.filter,tp,LOCATION_DECK,0,1,nil) and Duel.GetLocationCount(tp,LOCATION_SZONE)>0 then
......
...@@ -125,17 +125,18 @@ function c98500200.posop(e,tp,eg,ep,ev,re,r,rp) ...@@ -125,17 +125,18 @@ function c98500200.posop(e,tp,eg,ep,ev,re,r,rp)
local tc=Duel.GetFirstTarget() local tc=Duel.GetFirstTarget()
if tc:IsRelateToEffect(e) then if tc:IsRelateToEffect(e) then
if Duel.ChangePosition(tc,POS_FACEDOWN_DEFENSE)~=0 and tc:GetControler()==1-tp then if Duel.ChangePosition(tc,POS_FACEDOWN_DEFENSE)~=0 and tc:GetControler()==1-tp then
if Duel.SelectYesNo(tp,aux.Stringid(98500200,5)) then
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_POSCHANGE)
local tc2=Duel.SelectMatchingCard(tp,c98500200.posfilter,tp,LOCATION_MZONE,0,1,1,nil):GetFirst()
Duel.ChangePosition(tc2,POS_FACEDOWN_DEFENSE)
end
local c=e:GetHandler() local c=e:GetHandler()
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE) e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetCode(EFFECT_CANNOT_CHANGE_POSITION) e1:SetCode(EFFECT_CANNOT_CHANGE_POSITION)
e1:SetReset(RESET_EVENT+RESETS_STANDARD) e1:SetReset(RESET_EVENT+RESETS_STANDARD)
tc:RegisterEffect(e1) tc:RegisterEffect(e1)
end
Duel.BreakEffect()
if Duel.SelectYesNo(tp,aux.Stringid(98500200,5)) then
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_POSCHANGE)
local tc2=Duel.SelectMatchingCard(tp,c98500200.posfilter,tp,LOCATION_MZONE,0,1,1,nil):GetFirst()
Duel.ChangePosition(tc2,POS_FACEDOWN_DEFENSE)
end
end end
end end
end \ No newline at end of file
...@@ -54,10 +54,10 @@ function c98500210.initial_effect(c) ...@@ -54,10 +54,10 @@ function c98500210.initial_effect(c)
c:RegisterEffect(e7) c:RegisterEffect(e7)
end end
function c98500210.rmcfilter(c,tp) function c98500210.rmcfilter(c,tp)
return c:IsSetCard(0x985) and c:IsAbleToHand() return c:IsSetCard(0x971) and c:IsAbleToHand()
end end
function c98500210.rmfilter(c,code) function c98500210.rmfilter(c,code)
return c:IsSetCard(0x985) and not c:IsCode(code) and c:IsAbleToHand() and c:IsType(TYPE_MONSTER) return c:IsSetCard(0x971) and not c:IsCode(code) and c:IsAbleToHand() and c:IsType(TYPE_MONSTER)
end end
function c98500210.rmtg(e,tp,eg,ep,ev,re,r,rp,chk) function c98500210.rmtg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(c98500210.rmcfilter,tp,LOCATION_DECK,0,1,nil) end if chk==0 then return Duel.IsExistingMatchingCard(c98500210.rmcfilter,tp,LOCATION_DECK,0,1,nil) end
...@@ -75,9 +75,9 @@ function c98500210.exrtg(e,c) ...@@ -75,9 +75,9 @@ function c98500210.exrtg(e,c)
return c:IsFacedown() return c:IsFacedown()
end end
function c98500210.target(e,tp,eg,ep,ev,re,r,rp,chk) function c98500210.target(e,tp,eg,ep,ev,re,r,rp,chk)
local g=Duel.GetMatchingGroup(Card.IsCanTurnSet,1-tp,0,LOCATION_MZONE,nil) if chk==0 then return true end
if chk==0 then return #g>0 end local g=Duel.GetMatchingGroup(Card.IsCanTurnSet,1-tp,LOCATION_MZONE,LOCATION_MZONE,nil)
Duel.SetOperationInfo(0,CATEGORY_POSITION,g,#g,0,0) Duel.SetOperationInfo(0,CATEGORY_POSITION,g,g:GetCount(),0,0)
end end
function c98500210.activate(e,tp,eg,ep,ev,re,r,rp) function c98500210.activate(e,tp,eg,ep,ev,re,r,rp)
local g=Duel.GetMatchingGroup(Card.IsCanTurnSet,1-tp,0,LOCATION_MZONE,nil) local g=Duel.GetMatchingGroup(Card.IsCanTurnSet,1-tp,0,LOCATION_MZONE,nil)
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment