Commit 20fcccda authored by Huangnan's avatar Huangnan

fix

parent 9ae5025b
Pipeline #42542 failed with stages
in 3 minutes and 16 seconds
...@@ -5,7 +5,7 @@ stages: ...@@ -5,7 +5,7 @@ stages:
variables: variables:
GIT_DEPTH: "1" GIT_DEPTH: "1"
LAST_UPDATE_DATE: "2026.1.12" LAST_UPDATE_DATE: "2025.12.22"
CURRENT_UPDATE_DATE: "2026.1.12" CURRENT_UPDATE_DATE: "2026.1.12"
redtext: redtext:
......
No preview for this file type
expansions/pics/16170050.jpg

83.5 KB | W: | H:

expansions/pics/16170050.jpg

392 KB | W: | H:

expansions/pics/16170050.jpg
expansions/pics/16170050.jpg
expansions/pics/16170050.jpg
expansions/pics/16170050.jpg
  • 2-up
  • Swipe
  • Onion skin
expansions/pics/16170069.jpg

89.7 KB | W: | H:

expansions/pics/16170069.jpg

412 KB | W: | H:

expansions/pics/16170069.jpg
expansions/pics/16170069.jpg
expansions/pics/16170069.jpg
expansions/pics/16170069.jpg
  • 2-up
  • Swipe
  • Onion skin
expansions/pics/16174487.jpg

99.8 KB | W: | H:

expansions/pics/16174487.jpg

449 KB | W: | H:

expansions/pics/16174487.jpg
expansions/pics/16174487.jpg
expansions/pics/16174487.jpg
expansions/pics/16174487.jpg
  • 2-up
  • Swipe
  • Onion skin
...@@ -23,7 +23,6 @@ function cm.initial_effect(c) ...@@ -23,7 +23,6 @@ function cm.initial_effect(c)
e2:SetCode(EVENT_TO_GRAVE) e2:SetCode(EVENT_TO_GRAVE)
e2:SetProperty(EFFECT_FLAG_DELAY) e2:SetProperty(EFFECT_FLAG_DELAY)
e2:SetCondition(cm.recon) e2:SetCondition(cm.recon)
e2:SetTarget(cm.limtg)
e2:SetOperation(cm.limop) e2:SetOperation(cm.limop)
c:RegisterEffect(e2) c:RegisterEffect(e2)
--global --global
...@@ -99,15 +98,36 @@ function cm.operation(e,tp,eg,ep,ev,re,r,rp) ...@@ -99,15 +98,36 @@ function cm.operation(e,tp,eg,ep,ev,re,r,rp)
end end
end end
function cm.recon(e,tp,eg,ep,ev,re,r,rp) function cm.recon(e,tp,eg,ep,ev,re,r,rp)
return rp==1-tp and cm[tp+1]>0 return rp==1-tp
end
function cm.limtg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return true end
Duel.SetTargetPlayer(1-tp)
Duel.SetTargetParam(cm[tp+1])
Duel.SetOperationInfo(0,CATEGORY_DAMAGE,nil,0,tp,cm[tp+1])
end end
function cm.limop(e,tp,eg,ep,ev,re,r,rp) function cm.limop(e,tp,eg,ep,ev,re,r,rp)
local p,d=Duel.GetChainInfo(0,CHAININFO_TARGET_PLAYER,CHAININFO_TARGET_PARAM) local e1=Effect.CreateEffect(e:GetHandler())
Duel.Damage(p,d,REASON_EFFECT) e1:SetType(EFFECT_TYPE_FIELD)
e1:SetProperty(EFFECT_FLAG_PLAYER_TARGET)
e1:SetCode(EFFECT_CHANGE_DAMAGE)
e1:SetTargetRange(0,1)
e1:SetValue(0)
Duel.RegisterEffect(e1,tp)
local e2=e1:Clone()
e2:SetCode(EFFECT_NO_EFFECT_DAMAGE)
Duel.RegisterEffect(e2,tp)
local e3=Effect.CreateEffect(c)
e3:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
e3:SetCode(EVENT_PRE_DAMAGE_CALCULATE)
e3:SetCondition(cm.lpcon)
e3:SetOperation(cm.lpop)
Duel.RegisterEffect(e3,tp)
end
function cm.lpcon(e,tp,eg,ep,ev,re,r,rp,chk)
local a=Duel.GetAttacker()
local d=Duel.GetAttackTarget()
if a:IsControler(1-tp) then a,d=d,a end
return a and a:IsRelateToBattle()
end
function cm.lpop(e,tp,eg,ep,ev,re,r,rp,chk)
Duel.Hint(HINT_CARD,0,m)
local a=Duel.GetAttacker()
local d=Duel.GetAttackTarget()
if a:IsControler(1-tp) then a,d=d,a end
Duel.SetLP(1-tp,Duel.GetLP(1-tp)-a:GetAttack())
end end
\ No newline at end of file
...@@ -23,7 +23,7 @@ function cm.initial_effect(c) ...@@ -23,7 +23,7 @@ function cm.initial_effect(c)
c:RegisterEffect(e2) c:RegisterEffect(e2)
end end
function cm.con(e,tp) function cm.con(e,tp)
return Duel.GetFlagEffect(e:GetHandlerPlayer(),m)==0 return Duel.GetFlagEffect(tp,m)==0
end end
function cm.matcheck(e,c) function cm.matcheck(e,c)
local g=c:GetMaterial() local g=c:GetMaterial()
......
...@@ -33,7 +33,7 @@ function cm.check_effect_usable(e,te,tp,eg,ep,ev,re,r,rp) ...@@ -33,7 +33,7 @@ function cm.check_effect_usable(e,te,tp,eg,ep,ev,re,r,rp)
else else
local tg=e:GetTarget() or aux.TRUE local tg=e:GetTarget() or aux.TRUE
local op=e:GetOperation() local op=e:GetOperation()
return op~=nil and (not tg or tg(te,tp,eg,ep,ev,re,r,rp,0)) return op~=nil and tg(te,tp,eg,ep,ev,re,r,rp,0)
end end
end end
function cm.rlcheck2(c,tp) function cm.rlcheck2(c,tp)
......
...@@ -43,16 +43,12 @@ function cm.rmcheck(c,tp,tc) ...@@ -43,16 +43,12 @@ function cm.rmcheck(c,tp,tc)
return not c:IsCode(tc:GetCode()) and c:IsAbleToRemoveAsCost() and (c:IsFaceupEx() or tc:IsControler(tp)) return not c:IsCode(tc:GetCode()) and c:IsAbleToRemoveAsCost() and (c:IsFaceupEx() or tc:IsControler(tp))
end end
function cm.cost(e,tp,eg,ep,ev,re,r,rp,chk) function cm.cost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return (Duel.IsExistingMatchingCard(cm.rmcheck,tp,LOCATION_ONFIELD+LOCATION_GRAVE,LOCATION_ONFIELD+LOCATION_GRAVE,1,e:GetHandler(),tp,re:GetHandler()) and Duel.IsChainNegatable(ev)) or (Duel.CheckLPCost(tp,3000) and Duel.GetMatchingGroupCount(nil,tp,LOCATION_ONFIELD,LOCATION_ONFIELD,e:GetHandler())>0) end if chk==0 then return Duel.IsChainNegatable(ev) or (Duel.CheckLPCost(tp,3000) and Duel.GetMatchingGroupCount(nil,tp,LOCATION_ONFIELD,LOCATION_ONFIELD,e:GetHandler())>0) end
local res1=Duel.IsExistingMatchingCard(cm.rmcheck,tp,LOCATION_ONFIELD+LOCATION_GRAVE,LOCATION_ONFIELD+LOCATION_GRAVE,1,e:GetHandler(),tp,re:GetHandler()) and Duel.IsChainNegatable(ev) local res1=Duel.IsChainNegatable(ev)
local res2=Duel.CheckLPCost(tp,3000) and Duel.GetMatchingGroupCount(nil,tp,LOCATION_ONFIELD,LOCATION_ONFIELD,e:GetHandler())>0 local res2=Duel.CheckLPCost(tp,3000) and Duel.GetMatchingGroupCount(nil,tp,LOCATION_ONFIELD,LOCATION_ONFIELD,e:GetHandler())>0
local op=aux.SelectFromOptions(tp,{res1,aux.Stringid(m,2)},{res2,aux.Stringid(m,3)}) local op=aux.SelectFromOptions(tp,{res1,aux.Stringid(m,2),1},{res2,aux.Stringid(m,3),2})
e:SetLabel(op) e:SetLabel(op)
if op==1 then if op==2 then
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_REMOVE)
local g=Duel.SelectMatchingCard(tp,cm.rmcheck,tp,LOCATION_ONFIELD+LOCATION_GRAVE,LOCATION_ONFIELD+LOCATION_GRAVE,1,1,e:GetHandler(),tp,re:GetHandler())
Duel.Remove(g,POS_FACEUP,REASON_COST)
else
Duel.PayLPCost(tp,3000) Duel.PayLPCost(tp,3000)
end end
end end
......
...@@ -9,7 +9,6 @@ function cm.initial_effect(c) ...@@ -9,7 +9,6 @@ function cm.initial_effect(c)
e0:SetType(EFFECT_TYPE_FIELD) e0:SetType(EFFECT_TYPE_FIELD)
e0:SetRange(LOCATION_HAND+LOCATION_GRAVE+LOCATION_DECK) e0:SetRange(LOCATION_HAND+LOCATION_GRAVE+LOCATION_DECK)
e0:SetCode(EFFECT_SPSUMMON_PROC) e0:SetCode(EFFECT_SPSUMMON_PROC)
e0:SetCountLimit(1,m+EFFECT_COUNT_CODE_OATH)
e0:SetCondition(cm.spccon) e0:SetCondition(cm.spccon)
e0:SetTarget(cm.spctg) e0:SetTarget(cm.spctg)
e0:SetOperation(cm.spcop) e0:SetOperation(cm.spcop)
...@@ -105,6 +104,18 @@ function cm.rlop(e,tp,eg,ep,ev,re,r,rp) ...@@ -105,6 +104,18 @@ function cm.rlop(e,tp,eg,ep,ev,re,r,rp)
if Duel.SelectYesNo(tp,aux.Stringid(m,2)) then if Duel.SelectYesNo(tp,aux.Stringid(m,2)) then
Duel.Hint(HINT_CARD,0,m) Duel.Hint(HINT_CARD,0,m)
Duel.SSet(tp,sg) Duel.SSet(tp,sg)
for tc in aux.Next(sg) do
local e1=Effect.CreateEffect(e:GetHandler())
e1:SetDescription(aux.Stringid(m,1))
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetProperty(EFFECT_FLAG_SET_AVAILABLE)
e1:SetCode(EFFECT_TRAP_ACT_IN_SET_TURN)
e1:SetReset(RESET_EVENT+RESETS_STANDARD)
tc:RegisterEffect(e1)
local e2=e1:Clone()
e2:SetCode(EFFECT_QP_ACT_IN_SET_TURN)
tc:RegisterEffect(e2)
end
Duel.RegisterFlagEffect(tp,m,RESET_PHASE+PHASE_END,0,1) Duel.RegisterFlagEffect(tp,m,RESET_PHASE+PHASE_END,0,1)
end end
end end
......
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