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:
variables:
GIT_DEPTH: "1"
LAST_UPDATE_DATE: "2026.1.12"
LAST_UPDATE_DATE: "2025.12.22"
CURRENT_UPDATE_DATE: "2026.1.12"
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)
e2:SetCode(EVENT_TO_GRAVE)
e2:SetProperty(EFFECT_FLAG_DELAY)
e2:SetCondition(cm.recon)
e2:SetTarget(cm.limtg)
e2:SetOperation(cm.limop)
c:RegisterEffect(e2)
--global
......@@ -99,15 +98,36 @@ function cm.operation(e,tp,eg,ep,ev,re,r,rp)
end
end
function cm.recon(e,tp,eg,ep,ev,re,r,rp)
return rp==1-tp and cm[tp+1]>0
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])
return rp==1-tp
end
function cm.limop(e,tp,eg,ep,ev,re,r,rp)
local p,d=Duel.GetChainInfo(0,CHAININFO_TARGET_PLAYER,CHAININFO_TARGET_PARAM)
Duel.Damage(p,d,REASON_EFFECT)
local e1=Effect.CreateEffect(e:GetHandler())
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
\ No newline at end of file
......@@ -23,7 +23,7 @@ function cm.initial_effect(c)
c:RegisterEffect(e2)
end
function cm.con(e,tp)
return Duel.GetFlagEffect(e:GetHandlerPlayer(),m)==0
return Duel.GetFlagEffect(tp,m)==0
end
function cm.matcheck(e,c)
local g=c:GetMaterial()
......
......@@ -33,7 +33,7 @@ function cm.check_effect_usable(e,te,tp,eg,ep,ev,re,r,rp)
else
local tg=e:GetTarget() or aux.TRUE
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
function cm.rlcheck2(c,tp)
......
......@@ -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))
end
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
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)
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.IsChainNegatable(ev)
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)
if op==1 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
if op==2 then
Duel.PayLPCost(tp,3000)
end
end
......
......@@ -9,7 +9,6 @@ function cm.initial_effect(c)
e0:SetType(EFFECT_TYPE_FIELD)
e0:SetRange(LOCATION_HAND+LOCATION_GRAVE+LOCATION_DECK)
e0:SetCode(EFFECT_SPSUMMON_PROC)
e0:SetCountLimit(1,m+EFFECT_COUNT_CODE_OATH)
e0:SetCondition(cm.spccon)
e0:SetTarget(cm.spctg)
e0:SetOperation(cm.spcop)
......@@ -105,6 +104,18 @@ function cm.rlop(e,tp,eg,ep,ev,re,r,rp)
if Duel.SelectYesNo(tp,aux.Stringid(m,2)) then
Duel.Hint(HINT_CARD,0,m)
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)
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