Commit 1716394b authored by POLYMER's avatar POLYMER

fix

parent 37ea9950
......@@ -51,11 +51,10 @@ function cm.spcon(e,tp,eg,ep,ev,re,r,rp)
return rc:IsSetCard(0x3952)
end
function cm.disfilter(c,ec)
return aux.NegateAnyFilter(c) and c:GetColumnGroup():IsExists(Card.IsFacedown,1,ec)
return aux.NegateAnyFilter(c) and not c:IsLocation(LOCATION_FZONE) and c:GetColumnGroup():IsExists(Card.IsFacedown,1,ec)
end
function cm.sptg(e,tp,eg,ep,ev,re,r,rp,chk)
local c=e:GetHandler()
Debug.Message(Duel.IsExistingMatchingCard(cm.disfilter,tp,LOCATION_ONFIELD,LOCATION_ONFIELD,1,c,c))
if chk==0 then return Duel.IsExistingMatchingCard(cm.disfilter,tp,LOCATION_ONFIELD,LOCATION_ONFIELD,1,c,c) end
local g=Duel.GetMatchingGroup(cm.disfilter,tp,LOCATION_ONFIELD,LOCATION_ONFIELD,c)
Duel.SetOperationInfo(0,CATEGORY_DISABLE,g,g:GetCount(),0,0)
......
......@@ -30,11 +30,11 @@ function cm.matcheck(c)
return c:IsLocation(LOCATION_MZONE) and c:IsLinkRace(RACE_SPELLCASTER)
end
function cm.lcheck(g,lc)
return g:IsExists(cm.matcheck,1,nil)
return g:IsExists(Card.IsLinkRace,1,nil,RACE_SPELLCASTER)
end
function cm.matval(e,lc,mg,c,tp)
if e:GetHandler()~=lc then return false,nil end
return true,not mg or not mg:IsExists(Card.IsLocation,1,nil,LOCATION_HAND)
return true,not mg or mg:IsExists(cm.matcheck,1,nil) and not mg:IsExists(Card.IsLocation,1,nil,LOCATION_HAND)
end
function cm.spcon(e,tp,eg,ep,ev,re,r,rp)
return e:GetHandler():IsSummonType(SUMMON_TYPE_LINK)
......
......@@ -57,7 +57,9 @@ function cm.activate(e,tp,eg,ep,ev,re,r,rp)
if Duel.GetFlagEffect(tp,m+20000000)~=0 then
b2=false
local g=Duel.GetDecktopGroup(1-tp,1)
if #g==1 then Duel.Remove(g,POS_FACEUP,REASON_EFFECT) end
if #g==1 then
Duel.DisableShuffleCheck()
Duel.Remove(g,POS_FACEUP,REASON_EFFECT) end
end
if Duel.GetFlagEffect(tp,m+30000000)~=0 then
b3=false
......@@ -100,7 +102,9 @@ function cm.thop(e,tp,eg,ep,ev,re,r,rp)
if Duel.GetFlagEffect(tp,m+20000000)~=0 then
--b2=false
local g=Duel.GetDecktopGroup(1-tp,1)
if #g==1 then Duel.Remove(g,POS_FACEUP,REASON_EFFECT) end
if #g==1 then
Duel.DisableShuffleCheck()
Duel.Remove(g,POS_FACEUP,REASON_EFFECT) end
end
if Duel.GetFlagEffect(tp,m+30000000)~=0 then
--b3=false
......
......@@ -91,14 +91,15 @@ function cm.hsptg(e,tp,eg,ep,ev,re,r,rp,chk,c)
end
function cm.hspop(e,tp,eg,ep,ev,re,r,rp,c)
local g=e:GetLabelObject()
if g:GetFirst() and Duel.MoveToField(g:GetFirst(),tp,1-tp,LOCATION_SZONE,POS_FACEUP,true,1<<g:GetFirst():GetSequence()) then
local tc=g:GetFirst()
if tc and Duel.MoveToField(tc,tp,1-tp,LOCATION_SZONE,POS_FACEUP,true,1<<aux.GetColumn(tc,tc:GetControler())) then
local e1=Effect.CreateEffect(e:GetHandler())
e1:SetCode(EFFECT_CHANGE_TYPE)
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetProperty(EFFECT_FLAG_CANNOT_DISABLE)
e1:SetReset(RESET_EVENT+RESETS_STANDARD-RESET_TURN_SET)
e1:SetValue(TYPE_SPELL+TYPE_CONTINUOUS)
g:GetFirst():RegisterEffect(e1,true)
tc:RegisterEffect(e1,true)
end
g:DeleteGroup()
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