Commit f8841dd5 authored by 未闻皂名's avatar 未闻皂名

2025/12/2 bug修复

parent 73554b86
Pipeline #41819 passed with stages
in 7 minutes and 9 seconds
......@@ -24,12 +24,23 @@ function cm.initial_effect(c)
RD.AddContinuousEffect(c,e1,e2)
end
--Damage
function cm.damfilter(c,tp)
if not c:IsPreviousControler(1-tp) then return false end
local bc=c:GetReasonCard()
if not bc then return false end
if bc:IsRelateToBattle() then
return bc:IsFaceup() and bc:IsLocation(LOCATION_MZONE) and bc:IsControler(tp)
and bc:IsType(TYPE_MONSTER) and bc:GetOriginalRace()&RACE_ZOMBIE==RACE_ZOMBIE
else
return bc:GetPreviousPosition()&POS_FACEUP>0
and bc:GetPreviousLocation()&LOCATION_MZONE==LOCATION_MZONE
and bc:IsPreviousControler(tp)
and bc:GetPreviousTypeOnField()&TYPE_MONSTER==TYPE_MONSTER
and bc:GetPreviousRaceOnField()&RACE_ZOMBIE==RACE_ZOMBIE
end
end
function cm.damcon(e,tp,eg,ep,ev,re,r,rp)
local tc=eg:GetFirst()
local rc=tc:GetReasonCard()
return rc==Duel.GetAttacker() and eg:GetCount()==1
and rc:IsControler(tp) and rc:GetOriginalRace()==RACE_ZOMBIE
and tc:IsType(TYPE_MONSTER) and tc:IsReason(REASON_BATTLE) and tc:IsLocation(LOCATION_GRAVE)
return Duel.GetTurnPlayer()==tp and eg:IsExists(cm.damfilter,1,nil,tp)
end
function cm.damop(e,tp,eg,ep,ev,re,r,rp)
local sg=Duel.GetMatchingGroup(Card.IsLevelAbove,tp,LOCATION_GRAVE,0,nil,1)
......
......@@ -10,7 +10,6 @@ function cm.initial_effect(c)
e1:SetType(EFFECT_TYPE_IGNITION)
e1:SetRange(LOCATION_MZONE)
e1:SetCondition(RD.ConditionSummonOrSpecialSummonMainPhase)
e1:SetCost(cm.cost)
e1:SetTarget(cm.target)
e1:SetOperation(cm.operation)
c:RegisterEffect(e1)
......@@ -20,7 +19,6 @@ function cm.thfilter(c)
return ((c:IsLevel(3) and c:IsRace(RACE_ZOMBIE) and c:IsAttack(1200))
or c:IsCode(list[2])) and c:IsAbleToHand()
end
cm.cost=RD.CostSendDeckTopToGrave(1)
function cm.target(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsPlayerCanDiscardDeck(tp,1) end
Duel.SetOperationInfo(0,CATEGORY_DECKDES,nil,0,tp,1)
......
......@@ -18,7 +18,7 @@ function cm.spfilter(c)
return c:IsCode(list[1])
end
function cm.exfilter(c)
return c:IsOriginalCodeRule(list[1]) and c:IsLocation(LOCATION_GRAVE)
return c:IsOriginalCodeRule(list[2]) and c:IsLocation(LOCATION_GRAVE)
end
function cm.operation(e,tp,eg,ep,ev,re,r,rp,mat,rc)
if mat:IsExists(cm.exfilter,1,nil) then
......
......@@ -18,7 +18,7 @@ function cm.spfilter(c)
return c:IsCode(list[1])
end
function cm.exfilter(c)
return c:IsOriginalCodeRule(list[1]) and c:IsLocation(LOCATION_GRAVE)
return c:IsOriginalCodeRule(list[2]) and c:IsLocation(LOCATION_GRAVE)
end
function cm.operation(e,tp,eg,ep,ev,re,r,rp,mat,rc)
if mat:IsExists(cm.exfilter,1,nil) then
......
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