Commit 18af3681 authored by wind2009's avatar wind2009

Fix

parent c3d00f00
Pipeline #41681 canceled with stages
in 2 seconds
...@@ -59,7 +59,7 @@ function s.spcost2(e,tp,eg,ep,ev,re,r,rp,chk) ...@@ -59,7 +59,7 @@ function s.spcost2(e,tp,eg,ep,ev,re,r,rp,chk)
end end
function s.spfilter2(c,e,tp) function s.spfilter2(c,e,tp)
return not c:IsCode(id) and c:IsSetCard(0x43,0x1017) and c:IsType(TYPE_MONSTER) return not c:IsCode(id) and c:IsSetCard(0x43,0x1017) and c:IsType(TYPE_MONSTER)
and c:IsCanBeSpecialSummoned(e,0,tp,false,false) and c:IsCanBeSpecialSummoned(e,0,tp,false,false,POS_FACEUP_DEFENCE)
end end
function s.sptg2(e,tp,eg,ep,ev,re,r,rp,chk) function s.sptg2(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.GetMZoneCount(tp,e:GetHandler())>0 if chk==0 then return Duel.GetMZoneCount(tp,e:GetHandler())>0
...@@ -71,7 +71,7 @@ function s.spop2(e,tp,eg,ep,ev,re,r,rp) ...@@ -71,7 +71,7 @@ function s.spop2(e,tp,eg,ep,ev,re,r,rp)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON)
local g=Duel.SelectMatchingCard(tp,s.spfilter2,tp,LOCATION_DECK,0,1,1,nil,e,tp) local g=Duel.SelectMatchingCard(tp,s.spfilter2,tp,LOCATION_DECK,0,1,1,nil,e,tp)
if g:GetCount()>0 then if g:GetCount()>0 then
Duel.SpecialSummon(g,0,tp,tp,false,false,POS_FACEUP) Duel.SpecialSummon(g,0,tp,tp,false,false,POS_FACEUP_DEFENCE)
end end
end end
end end
\ No newline at end of file
...@@ -38,7 +38,7 @@ function s.initial_effect(c) ...@@ -38,7 +38,7 @@ function s.initial_effect(c)
c:RegisterEffect(e4) c:RegisterEffect(e4)
end end
function s.cfilter(c) function s.cfilter(c)
return c:IsSetCard(0x66,0xa3) and not c:IsPublic() return c:IsSetCard(0x66,0xa3) and c:IsAllTypes(TYPE_SYNCHRO+TYPE_MONSTER) and not c:IsPublic()
end end
function s.spcost(e,tp,eg,ep,ev,re,r,rp,chk) function s.spcost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(s.cfilter,tp,LOCATION_EXTRA,0,1,nil) end if chk==0 then return Duel.IsExistingMatchingCard(s.cfilter,tp,LOCATION_EXTRA,0,1,nil) end
...@@ -53,7 +53,7 @@ function s.sptg(e,tp,eg,ep,ev,re,r,rp,chk) ...@@ -53,7 +53,7 @@ function s.sptg(e,tp,eg,ep,ev,re,r,rp,chk)
end end
function s.spop(e,tp,eg,ep,ev,re,r,rp) function s.spop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler() local c=e:GetHandler()
if c:IsRelateToChain() then if c:IsRelateToChain() then
Duel.SpecialSummon(c,0,tp,tp,false,false,POS_FACEUP) Duel.SpecialSummon(c,0,tp,tp,false,false,POS_FACEUP)
end end
local e2=Effect.CreateEffect(e:GetHandler()) local e2=Effect.CreateEffect(e:GetHandler())
......
...@@ -20,14 +20,14 @@ function s.spfilter(c,e,tp) ...@@ -20,14 +20,14 @@ function s.spfilter(c,e,tp)
or c:IsLocation(LOCATION_EXTRA) and Duel.GetLocationCountFromEx(tp,tp,nil,c)>0) or c:IsLocation(LOCATION_EXTRA) and Duel.GetLocationCountFromEx(tp,tp,nil,c)>0)
end end
function s.target(e,tp,eg,ep,ev,re,r,rp,chk) function s.target(e,tp,eg,ep,ev,re,r,rp,chk)
local b1=Duel.GetTurnPlayer()~=tp local b1=Duel.GetTurnPlayer()~=tp and Duel.IsBattlePhase()
and (Duel.GetCurrentPhase()>=PHASE_BATTLE_START
and Duel.GetCurrentPhase()<=PHASE_BATTLE)
local ch=Duel.GetCurrentChain() local ch=Duel.GetCurrentChain()
local b2=false local b2=false
local og=Group.CreateGroup() local og=Group.CreateGroup()
local tsp=-1
local tse=nil
if ch>0 then if ch>0 then
local tsp,tse=Duel.GetChainInfo(ch,CHAININFO_TRIGGERING_PLAYER,CHAININFO_TRIGGERING_EFFECT) tsp,tse=Duel.GetChainInfo(ch,CHAININFO_TRIGGERING_PLAYER,CHAININFO_TRIGGERING_EFFECT)
og:AddCard(tse:GetHandler()) og:AddCard(tse:GetHandler())
if tsp==1-tp and tse:IsActiveType(TYPE_MONSTER) and Duel.IsChainDisablable(ev) then if tsp==1-tp and tse:IsActiveType(TYPE_MONSTER) and Duel.IsChainDisablable(ev) then
b2=Duel.GetFieldGroupCount(tp,0,LOCATION_ONFIELD)>Duel.GetFieldGroupCount(tp,LOCATION_ONFIELD,0) b2=Duel.GetFieldGroupCount(tp,0,LOCATION_ONFIELD)>Duel.GetFieldGroupCount(tp,LOCATION_ONFIELD,0)
...@@ -46,6 +46,9 @@ function s.target(e,tp,eg,ep,ev,re,r,rp,chk) ...@@ -46,6 +46,9 @@ function s.target(e,tp,eg,ep,ev,re,r,rp,chk)
e:SetCategory(CATEGORY_SPECIAL_SUMMON+CATEGORY_DISABLE+CATEGORY_DESTROY) e:SetCategory(CATEGORY_SPECIAL_SUMMON+CATEGORY_DISABLE+CATEGORY_DESTROY)
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,1,tp,LOCATION_GRAVE+LOCATION_EXTRA) Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,1,tp,LOCATION_GRAVE+LOCATION_EXTRA)
Duel.SetOperationInfo(0,CATEGORY_DISABLE,og,1,0,0) Duel.SetOperationInfo(0,CATEGORY_DISABLE,og,1,0,0)
if tse and tse:GetHandler():IsDestructable() and tse:GetHandler():IsRelateToEffect(tse) then
Duel.SetOperationInfo(0,CATEGORY_DESTROY,og,1,0,0)
end
end end
end end
function s.activate(e,tp,eg,ep,ev,re,r,rp) function s.activate(e,tp,eg,ep,ev,re,r,rp)
......
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