Commit ea267e14 authored by Huangnan's avatar Huangnan

fix

parent c79d6c84
Pipeline #40599 failed with stages
in 3 minutes and 9 seconds
......@@ -41,6 +41,7 @@ function s.initial_effect(c)
end
end
function s.checkop(e,tp,eg,ep,ev,re,r,rp)
local tp=e:GetHandlerPlayer()
local g=Duel.GetMatchingGroup(Card.IsFaceup,tp,0,LOCATION_MZONE,nil)
for tc in aux.Next(g) do
local e1=Effect.CreateEffect(e:GetHandler())
......@@ -109,8 +110,7 @@ function s.op(e,tp,eg,ep,ev,re,r,rp)
if #g==0 then return end
local tg=g:Select(tp,1,1,nil)
Duel.HintSelection(tg)
if #tg>0 and Duel.SendtoDeck(tg,nil,SEQ_DECKSHUFFLE,REASON_EFFECT)>0 and tg:GetFirst():IsLocation(LOCATION_DECK+LOCATION_EXTRA)
and Duel.IsPlayerCanDiscardDeck(tp,1) then
if #tg>0 and Duel.SendtoDeck(tg,nil,SEQ_DECKSHUFFLE,REASON_EFFECT)>0 and tg:GetFirst():IsLocation(LOCATION_DECK+LOCATION_EXTRA) and Duel.IsPlayerCanDiscardDeck(tp,2) then
Duel.BreakEffect()
Duel.DisableShuffleCheck()
Duel.DiscardDeck(tp,2,REASON_EFFECT)
......@@ -119,10 +119,11 @@ end
function s.discon(e,tp,eg,ep,ev,re,r,rp)
local rc=re:GetHandler()
local loc=Duel.GetChainInfo(ev,CHAININFO_TRIGGERING_LOCATION)
return re:IsActiveType(TYPE_MONSTER) and loc==LOCATION_MZONE and (rc:GetFlagEffect(id)>0 or rc:GetFlagEffect(id+o)>0)
return re:IsActiveType(TYPE_MONSTER) and loc==LOCATION_MZONE and (rc:GetFlagEffect(id)>0 or rc:GetFlagEffect(id+o)>0) and rc:GetControler()==1-tp
end
function s.disop(e,tp,eg,ep,ev,re,r,rp)
local rc=re:GetHandler()
if not rc:GetControler()==1-tp then return end
Duel.NegateEffect(ev)
if rc:GetFlagEffect(id+o)>0 then
rc:ResetFlagEffect(id+o)
......
......@@ -7,11 +7,18 @@ function s.initial_effect(c)
aux.EnablePendulumAttribute(c,false)
--fusion material
c:EnableReviveLimit()
c:SetSPSummonOnce(id) --2025.8.23 雪
c:SetSPSummonOnce(id)
aux.AddFusionProcFun2(c,s.sfliter,s.sfliter,true)
aux.AddContactFusionProcedure(c,Card.IsAbleToDeckOrExtraAsCost,LOCATION_ONFIELD+LOCATION_GRAVE+LOCATION_REMOVED,0,aux.ContactFusionSendToDeck(c)) --2025.8.23 雪
--special summon rule
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_FIELD)
e1:SetProperty(EFFECT_FLAG_CANNOT_DISABLE+EFFECT_FLAG_UNCOPYABLE)
e1:SetCode(EFFECT_SPSUMMON_PROC)
e1:SetRange(LOCATION_EXTRA)
e1:SetCondition(s.hspcon)
e1:SetTarget(s.hsptg)
e1:SetOperation(s.hspop)
c:RegisterEffect(e1)
--negate
local e2=Effect.CreateEffect(c)
e2:SetDescription(1101)
......@@ -29,6 +36,38 @@ end
function s.sfliter(c)
return c.MoJin and c:IsType(TYPE_MONSTER)
end
function s.hspfilter(c,tp,fc)
return c.MoJin and c:IsType(TYPE_MONSTER) and Duel.GetLocationCountFromEx(tp,tp,c,fc)>0
and c:IsCanBeFusionMaterial(fc,SUMMON_TYPE_SPECIAL) and c:IsAbleToDeckOrExtraAsCost() and not (c:IsLocation(LOCATION_REMOVED) and c:IsFacedown())
end
function s.hspcon(e,c)
if c==nil then return true end
return Duel.IsExistingMatchingCard(s.hspfilter,c:GetControler(),LOCATION_MZONE+LOCATION_GRAVE+LOCATION_REMOVED,0,2,nil,c:GetControler())
end
function s.hsptg(e,tp,eg,ep,ev,re,r,rp,chk,c)
local g=Duel.GetMatchingGroup(s.hspfilter,tp,LOCATION_MZONE+LOCATION_GRAVE+LOCATION_REMOVED,0,nil,tp)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_REMOVE)
local sg=g:CancelableSelect(tp,2,2,nil)
if sg then
sg:KeepAlive()
e:SetLabelObject(sg)
return true
else return false end
end
function s.hspop(e,tp,eg,ep,ev,re,r,rp,c)
local g=e:GetLabelObject()
c:SetMaterial(g)
local cg=g:Filter(Card.IsFacedown,nil)
if cg:GetCount()>0 then
Duel.ConfirmCards(1-c:GetControler(),cg)
end
local hg=g:Filter(Card.IsLocation,nil,LOCATION_GRAVE+LOCATION_REMOVED)
if hg:GetCount()>0 then
Duel.HintSelection(hg)
end
Duel.SendtoDeck(g,nil,SEQ_DECKSHUFFLE,REASON_SPSUMMON|REASON_MATERIAL)
g:DeleteGroup()
end
function s.afilter(c)
if not c:IsFaceup() then return end
......
......@@ -103,7 +103,7 @@ function c82000497.spop1(e,tp,eg,ep,ev,re,r,rp)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON)
local g=Duel.SelectMatchingCard(tp,aux.NecroValleyFilter(c82000497.sfilter),tp,LOCATION_GRAVE,0,1,1,nil,e,tp)
if g:GetCount()>0 then
Duel.SpecialSummonStep(g,0,tp,tp,false,false,POS_FACEUP)
Duel.SpecialSummonStep(g,0,tp,tp,false,false,POS_FACEUP_ATTACK)
--[[
local fid=e:GetHandler():GetFieldID()
local tc=g:GetFirst()
......
......@@ -23,6 +23,14 @@ function c82001206.initial_effect(c)
e2:SetTarget(c82001206.target)
e2:SetOperation(c82001206.operation)
c:RegisterEffect(e2)
--[[
local e3=Effect.CreateEffect(c)
e3:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
e3:SetCode(EVENT_PHASE+PHASE_END)
e3:SetOperation(c82001206.checkop)
e3:SetCountLimit(1)
c:RegisterEffect(e3)
--]]
end
function c82001206.spfilter(c,e,tp)
return c:IsCanBeSpecialSummoned(e,0,tp,false,false,POS_FACEUP_ATTACK) and Duel.GetMZoneCount(tp)>0
......@@ -68,9 +76,17 @@ function c82001206.spop(e,tp,eg,ep,ev,re,r,rp)
end
return false
elseif tc:IsAttackable() then
--if Duel.GetFlagEffect(tp,82001206)~=0 then return end
Duel.CalculateDamage(tc,nil)
else return true end
end
--[[
function c82001206.checkop(e,tp,eg,ep,ev,re,r,rp)
local ct=Duel.GetFlagEffect(tp,82001206)
e:GetHandler():SetHint(CHINT_TURN,ct)
Duel.RegisterFlagEffect(tp,82001206,RESET_PHASE+PHASE_END,0,ct)
end
--]]
function c82001206.filval(c)
return c:IsFaceup() and c:IsType(TYPE_MONSTER)
end
......
......@@ -78,7 +78,7 @@ function c82001223.activate(e,tp,eg,ep,ev,re,r,rp)
local e1=Effect.CreateEffect(e:GetHandler())
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetCode(EFFECT_SET_ATTACK)
e1:SetValue(e:GetHandler():GetAttack()*2)
e1:SetValue(tc:GetAttack()*2)
e1:SetReset(RESET_EVENT+RESETS_STANDARD)
tc:RegisterEffect(e1)
tc=g:GetNext()
......
......@@ -46,7 +46,7 @@ end
function c82001230.efilter(e,ct)
local p=e:GetHandlerPlayer()
local te,tp,loc=Duel.GetChainInfo(ct,CHAININFO_TRIGGERING_EFFECT,CHAININFO_TRIGGERING_PLAYER,CHAININFO_TRIGGERING_LOCATION)
return p==tp and te:IsActiveType(TYPE_MONSTER) and te:GetHandler():IsRace(RACE_FISH) and loc&LOCATION_MZONE>0
return p==tp and te:IsActiveType(TYPE_MONSTER) and te:GetHandler():IsSetCard(0x3f56) and loc&LOCATION_MZONE>0
end
function c82001230.setfilter(c,tp)
return c:IsPreviousControler(tp) and c:IsPreviousLocation(LOCATION_MZONE)
......
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