Commit c6970151 authored by nanahira's avatar nanahira

Update c101301054.lua

parent fbddd2e1
Pipeline #36433 failed with stages
in 3 minutes and 3 seconds
...@@ -127,8 +127,8 @@ function s.thtg(e,tp,eg,ep,ev,re,r,rp,chk) ...@@ -127,8 +127,8 @@ function s.thtg(e,tp,eg,ep,ev,re,r,rp,chk)
local ac=Duel.AnnounceCard(tp,table.unpack(afilter)) local ac=Duel.AnnounceCard(tp,table.unpack(afilter))
s.AddToAnnounced(tp,ac) s.AddToAnnounced(tp,ac)
Duel.SetTargetParam(ac) Duel.SetTargetParam(ac)
if #s.announce_filter_func(e:GetHandler())<=9+4*(ARTMEGIA_COUNT-2) then if #s.announce_filter_func(e:GetHandler())<=9+4*(ARTMEGIA_COUNT-1) then
-- it should be at least two possible choices to make it changeable -- it should be at least 1 possible choice to make it changeable
Auxiliary.DefineGetterTemp(getmetatable(e:GetHandler()),"announce_filter",s.announce_filter_func) Auxiliary.DefineGetterTemp(getmetatable(e:GetHandler()),"announce_filter",s.announce_filter_func)
Duel.SetOperationInfo(0,CATEGORY_ANNOUNCE,nil,0,tp,0) Duel.SetOperationInfo(0,CATEGORY_ANNOUNCE,nil,0,tp,0)
end end
...@@ -221,20 +221,15 @@ end ...@@ -221,20 +221,15 @@ end
function s.announce_filter_func(c) function s.announce_filter_func(c)
local tp=c:GetControler() local tp=c:GetControler()
local exg=Duel.GetMatchingGroup(aux.AND(Card.IsFaceup,Card.IsSetCard),tp,LOCATION_MZONE,0,nil,0x2cd) local exg=Duel.GetMatchingGroup(aux.AND(Card.IsFaceup,Card.IsSetCard),tp,LOCATION_MZONE,0,nil,0x2cd)
local exc={}
local cchain=Duel.GetCurrentChain() local cchain=Duel.GetCurrentChain()
local called_by_engraver=false local called_by_engraver=false
if cchain>1 then if cchain>1 then
local ac=Duel.GetChainInfo(cchain-1,CHAININFO_TARGET_PARAM)
if ac and ac>0 then
table.insert(exc,ac)
end
local ce=Duel.GetChainInfo(0,CHAININFO_TRIGGERING_EFFECT) local ce=Duel.GetChainInfo(0,CHAININFO_TRIGGERING_EFFECT)
if ce:GetHandler()~=c then if ce:GetHandler()~=c then
called_by_engraver=true called_by_engraver=true
end end
end end
local ncodes=s.CreateCodeList(exg,exc,nil,nil) local ncodes=s.CreateCodeList(exg,s.announced[tp],nil,nil)
if #ncodes>=ARTMEGIA_COUNT and called_by_engraver then if #ncodes>=ARTMEGIA_COUNT and called_by_engraver then
-- make Engraver's effect quit -- make Engraver's effect quit
error("Nothing can be declared. 没有东西可以被宣言。", 3) error("Nothing can be declared. 没有东西可以被宣言。", 3)
......
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