Commit 87a9eaa0 authored by Chrono-Genex's avatar Chrono-Genex Committed by GitHub

fix Dragunity Knight - Ascalon and so on (#1863)

parent c7b9a88a
...@@ -62,6 +62,7 @@ function c20994205.activate(e,tp,eg,ep,ev,re,r,rp) ...@@ -62,6 +62,7 @@ function c20994205.activate(e,tp,eg,ep,ev,re,r,rp)
if sg then if sg then
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON)
local xyz=spg:FilterSelect(tp,c20994205.spnofilter,1,1,sg,sg:GetSum(aux.GetXyzNumber)):GetFirst() local xyz=spg:FilterSelect(tp,c20994205.spnofilter,1,1,sg,sg:GetSum(aux.GetXyzNumber)):GetFirst()
xyz:SetMaterial(nil)
Duel.SpecialSummon(xyz,SUMMON_TYPE_XYZ,tp,tp,false,false,POS_FACEUP) Duel.SpecialSummon(xyz,SUMMON_TYPE_XYZ,tp,tp,false,false,POS_FACEUP)
xyz:CompleteProcedure() xyz:CompleteProcedure()
Duel.Overlay(xyz,sg) Duel.Overlay(xyz,sg)
......
...@@ -43,6 +43,7 @@ function c24590232.activate(e,tp,eg,ep,ev,re,r,rp) ...@@ -43,6 +43,7 @@ function c24590232.activate(e,tp,eg,ep,ev,re,r,rp)
local g3=rg:SelectWithSumEqual(tp,Card.GetLevel,rlv,1,63) local g3=rg:SelectWithSumEqual(tp,Card.GetLevel,rlv,1,63)
g2:Merge(g3) g2:Merge(g3)
Duel.Remove(g2,POS_FACEUP,REASON_EFFECT) Duel.Remove(g2,POS_FACEUP,REASON_EFFECT)
g1:GetFirst():SetMaterial(nil)
Duel.SpecialSummon(g1,SUMMON_TYPE_SYNCHRO,tp,tp,false,false,POS_FACEUP) Duel.SpecialSummon(g1,SUMMON_TYPE_SYNCHRO,tp,tp,false,false,POS_FACEUP)
g1:GetFirst():CompleteProcedure() g1:GetFirst():CompleteProcedure()
end end
......
...@@ -42,6 +42,7 @@ function c26194151.activate(e,tp,eg,ep,ev,re,r,rp) ...@@ -42,6 +42,7 @@ function c26194151.activate(e,tp,eg,ep,ev,re,r,rp)
local g3=rg:SelectWithSumEqual(tp,Card.GetLevel,rlv,1,2) local g3=rg:SelectWithSumEqual(tp,Card.GetLevel,rlv,1,2)
g2:Merge(g3) g2:Merge(g3)
Duel.Remove(g2,POS_FACEUP,REASON_EFFECT) Duel.Remove(g2,POS_FACEUP,REASON_EFFECT)
tc:SetMaterial(nil)
Duel.SpecialSummonStep(tc,SUMMON_TYPE_SYNCHRO,tp,tp,false,false,POS_FACEUP) Duel.SpecialSummonStep(tc,SUMMON_TYPE_SYNCHRO,tp,tp,false,false,POS_FACEUP)
local e1=Effect.CreateEffect(e:GetHandler()) local e1=Effect.CreateEffect(e:GetHandler())
e1:SetType(EFFECT_TYPE_SINGLE) e1:SetType(EFFECT_TYPE_SINGLE)
......
...@@ -43,6 +43,7 @@ function c27503418.activate(e,tp,eg,ep,ev,re,r,rp) ...@@ -43,6 +43,7 @@ function c27503418.activate(e,tp,eg,ep,ev,re,r,rp)
local g2=Duel.SelectMatchingCard(tp,c27503418.filter2,tp,LOCATION_GRAVE,0,1,1,nil,tp,lv) local g2=Duel.SelectMatchingCard(tp,c27503418.filter2,tp,LOCATION_GRAVE,0,1,1,nil,tp,lv)
g2:AddCard(tc) g2:AddCard(tc)
Duel.Remove(g2,POS_FACEUP,REASON_EFFECT) Duel.Remove(g2,POS_FACEUP,REASON_EFFECT)
g1:GetFirst():SetMaterial(nil)
Duel.SpecialSummon(g1,SUMMON_TYPE_SYNCHRO,tp,tp,false,false,POS_FACEUP) Duel.SpecialSummon(g1,SUMMON_TYPE_SYNCHRO,tp,tp,false,false,POS_FACEUP)
g1:GetFirst():CompleteProcedure() g1:GetFirst():CompleteProcedure()
end end
......
...@@ -128,18 +128,21 @@ function c30983281.scop(e,tp,eg,ep,ev,re,r,rp) ...@@ -128,18 +128,21 @@ function c30983281.scop(e,tp,eg,ep,ev,re,r,rp)
local g=Duel.SelectMatchingCard(tp,c30983281.scfilter,tp,LOCATION_EXTRA,0,1,1,nil,e,tp,c,nil,nil,true,true) local g=Duel.SelectMatchingCard(tp,c30983281.scfilter,tp,LOCATION_EXTRA,0,1,1,nil,e,tp,c,nil,nil,true,true)
local tc=g:GetFirst() local tc=g:GetFirst()
local res=false local res=false
if tc and Duel.SpecialSummonStep(tc,SUMMON_TYPE_SYNCHRO,tp,tp,false,false,POS_FACEUP) then if tc then
local e1=Effect.CreateEffect(c) tc:SetMaterial(nil)
e1:SetType(EFFECT_TYPE_SINGLE) if Duel.SpecialSummonStep(tc,SUMMON_TYPE_SYNCHRO,tp,tp,false,false,POS_FACEUP) then
e1:SetCode(EFFECT_IMMUNE_EFFECT) local e1=Effect.CreateEffect(c)
e1:SetProperty(EFFECT_FLAG_SINGLE_RANGE) e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetRange(LOCATION_MZONE) e1:SetCode(EFFECT_IMMUNE_EFFECT)
e1:SetValue(c30983281.immval) e1:SetProperty(EFFECT_FLAG_SINGLE_RANGE)
e1:SetReset(RESET_EVENT+RESETS_STANDARD+RESET_PHASE+PHASE_END) e1:SetRange(LOCATION_MZONE)
e1:SetOwnerPlayer(tp) e1:SetValue(c30983281.immval)
tc:RegisterEffect(e1,true) e1:SetReset(RESET_EVENT+RESETS_STANDARD+RESET_PHASE+PHASE_END)
tc:CompleteProcedure() e1:SetOwnerPlayer(tp)
res=true tc:RegisterEffect(e1,true)
tc:CompleteProcedure()
res=true
end
end end
Duel.SpecialSummonComplete() Duel.SpecialSummonComplete()
Duel.RaiseEvent(c,EVENT_ADJUST,nil,0,PLAYER_NONE,PLAYER_NONE,0) Duel.RaiseEvent(c,EVENT_ADJUST,nil,0,PLAYER_NONE,PLAYER_NONE,0)
......
...@@ -71,10 +71,13 @@ function c32245230.spop(e,tp,eg,ep,ev,re,r,rp) ...@@ -71,10 +71,13 @@ function c32245230.spop(e,tp,eg,ep,ev,re,r,rp)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON)
local sg=Duel.SelectMatchingCard(tp,c32245230.spfilter,tp,LOCATION_EXTRA,0,1,1,nil,e,tp) local sg=Duel.SelectMatchingCard(tp,c32245230.spfilter,tp,LOCATION_EXTRA,0,1,1,nil,e,tp)
local sc=sg:GetFirst() local sc=sg:GetFirst()
if sc and Duel.SpecialSummon(sc,SUMMON_TYPE_XYZ,tp,tp,false,false,POS_FACEUP)~=0 then if sc then
sc:CompleteProcedure() sc:SetMaterial(nil)
if c:IsRelateToEffect(e) then if Duel.SpecialSummon(sc,SUMMON_TYPE_XYZ,tp,tp,false,false,POS_FACEUP)~=0 then
Duel.Overlay(sc,Group.FromCards(c)) sc:CompleteProcedure()
if c:IsRelateToEffect(e) then
Duel.Overlay(sc,Group.FromCards(c))
end
end end
end end
end end
......
...@@ -75,8 +75,11 @@ function c37337327.spop(e,tp,eg,ep,ev,re,r,rp) ...@@ -75,8 +75,11 @@ function c37337327.spop(e,tp,eg,ep,ev,re,r,rp)
if not aux.MustMaterialCheck(nil,tp,EFFECT_MUST_BE_SMATERIAL) then return end if not aux.MustMaterialCheck(nil,tp,EFFECT_MUST_BE_SMATERIAL) then return end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON)
local g=Duel.SelectMatchingCard(tp,c37337327.spfilter,tp,LOCATION_EXTRA,0,1,1,nil,e,tp) local g=Duel.SelectMatchingCard(tp,c37337327.spfilter,tp,LOCATION_EXTRA,0,1,1,nil,e,tp)
if g:GetCount()>0 then local tc=g:GetFirst()
Duel.SpecialSummon(g,SUMMON_TYPE_SYNCHRO,tp,tp,false,false,POS_FACEUP) if tc then
g:GetFirst():CompleteProcedure() tc:SetMaterial(nil)
if Duel.SpecialSummon(tc,SUMMON_TYPE_SYNCHRO,tp,tp,false,false,POS_FACEUP)>0 then
tc:CompleteProcedure()
end
end end
end end
...@@ -67,7 +67,10 @@ function c48891960.spop(e,tp,eg,ep,ev,re,r,rp) ...@@ -67,7 +67,10 @@ function c48891960.spop(e,tp,eg,ep,ev,re,r,rp)
if not aux.MustMaterialCheck(nil,tp,EFFECT_MUST_BE_SMATERIAL) then return end if not aux.MustMaterialCheck(nil,tp,EFFECT_MUST_BE_SMATERIAL) then return end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON)
local tc=Duel.SelectMatchingCard(tp,c48891960.spfilter,tp,LOCATION_EXTRA,0,1,1,nil,e,tp):GetFirst() local tc=Duel.SelectMatchingCard(tp,c48891960.spfilter,tp,LOCATION_EXTRA,0,1,1,nil,e,tp):GetFirst()
if tc and Duel.SpecialSummon(tc,SUMMON_TYPE_SYNCHRO,tp,tp,false,false,POS_FACEUP)>0 then if tc then
tc:CompleteProcedure() tc:SetMaterial(nil)
if Duel.SpecialSummon(tc,SUMMON_TYPE_SYNCHRO,tp,tp,false,false,POS_FACEUP)>0 then
tc:CompleteProcedure()
end
end end
end end
...@@ -78,7 +78,9 @@ function c50588353.spop(e,tp,eg,ep,ev,re,r,rp) ...@@ -78,7 +78,9 @@ function c50588353.spop(e,tp,eg,ep,ev,re,r,rp)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON)
local tc=Duel.SelectMatchingCard(tp,c50588353.spfilter,tp,LOCATION_EXTRA,0,1,1,nil,e,tp,nil):GetFirst() local tc=Duel.SelectMatchingCard(tp,c50588353.spfilter,tp,LOCATION_EXTRA,0,1,1,nil,e,tp,nil):GetFirst()
if tc then if tc then
Duel.SpecialSummon(tc,SUMMON_TYPE_SYNCHRO,tp,tp,false,false,POS_FACEUP) tc:SetMaterial(nil)
tc:CompleteProcedure() if Duel.SpecialSummon(tc,SUMMON_TYPE_SYNCHRO,tp,tp,false,false,POS_FACEUP)>0 then
tc:CompleteProcedure()
end
end end
end end
...@@ -62,8 +62,11 @@ function c72218246.spop1(e,tp,eg,ep,ev,re,r,rp) ...@@ -62,8 +62,11 @@ function c72218246.spop1(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,c72218246.spfilter1,tp,LOCATION_EXTRA,0,1,1,nil,e,tp,nil) local g=Duel.SelectMatchingCard(tp,c72218246.spfilter1,tp,LOCATION_EXTRA,0,1,1,nil,e,tp,nil)
local tc=g:GetFirst() local tc=g:GetFirst()
if tc and Duel.SpecialSummon(tc,SUMMON_TYPE_SYNCHRO,tp,tp,false,false,POS_FACEUP)~=0 then if tc then
tc:CompleteProcedure() tc:SetMaterial(nil)
if Duel.SpecialSummon(tc,SUMMON_TYPE_SYNCHRO,tp,tp,false,false,POS_FACEUP)~=0 then
tc:CompleteProcedure()
end
end end
end end
function c72218246.cfilter(c,tp) function c72218246.cfilter(c,tp)
......
...@@ -104,7 +104,9 @@ function c74892653.scop(e,tp,eg,ep,ev,re,r,rp) ...@@ -104,7 +104,9 @@ function c74892653.scop(e,tp,eg,ep,ev,re,r,rp)
local g=Duel.SelectMatchingCard(tp,c74892653.filter,tp,LOCATION_EXTRA,0,1,1,nil,e,tp) local g=Duel.SelectMatchingCard(tp,c74892653.filter,tp,LOCATION_EXTRA,0,1,1,nil,e,tp)
local tc=g:GetFirst() local tc=g:GetFirst()
if tc then if tc then
Duel.SpecialSummon(tc,SUMMON_TYPE_SYNCHRO,tp,tp,false,false,POS_FACEUP) tc:SetMaterial(nil)
tc:CompleteProcedure() if Duel.SpecialSummon(tc,SUMMON_TYPE_SYNCHRO,tp,tp,false,false,POS_FACEUP)>0 then
tc:CompleteProcedure()
end
end end
end end
...@@ -69,10 +69,13 @@ function c78876707.spop(e,tp,eg,ep,ev,re,r,rp) ...@@ -69,10 +69,13 @@ function c78876707.spop(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,c78876707.spfilter,tp,LOCATION_EXTRA,0,1,1,nil,e,tp) local g=Duel.SelectMatchingCard(tp,c78876707.spfilter,tp,LOCATION_EXTRA,0,1,1,nil,e,tp)
local tc=g:GetFirst() local tc=g:GetFirst()
if tc and Duel.SpecialSummon(tc,SUMMON_TYPE_XYZ,tp,tp,false,false,POS_FACEUP)~=0 then if tc then
tc:CompleteProcedure() tc:SetMaterial(nil)
if c:IsRelateToEffect(e) then if Duel.SpecialSummon(tc,SUMMON_TYPE_XYZ,tp,tp,false,false,POS_FACEUP)>0 then
Duel.Overlay(tc,Group.FromCards(c)) tc:CompleteProcedure()
if c:IsRelateToEffect(e) then
Duel.Overlay(tc,Group.FromCards(c))
end
end end
end end
end end
...@@ -53,6 +53,7 @@ function c85808813.activate(e,tp,eg,ep,ev,re,r,rp) ...@@ -53,6 +53,7 @@ function c85808813.activate(e,tp,eg,ep,ev,re,r,rp)
local sg=Duel.SelectMatchingCard(tp,c85808813.ffilter,tp,LOCATION_EXTRA,0,1,1,nil,lv,e,tp,nil) local sg=Duel.SelectMatchingCard(tp,c85808813.ffilter,tp,LOCATION_EXTRA,0,1,1,nil,lv,e,tp,nil)
if sg:GetCount()>0 then if sg:GetCount()>0 then
Duel.BreakEffect() Duel.BreakEffect()
sg:GetFirst():SetMaterial(nil)
Duel.SpecialSummon(sg,SUMMON_TYPE_FUSION,tp,tp,true,false,POS_FACEUP) Duel.SpecialSummon(sg,SUMMON_TYPE_FUSION,tp,tp,true,false,POS_FACEUP)
sg:GetFirst():CompleteProcedure() sg:GetFirst():CompleteProcedure()
end end
......
...@@ -55,7 +55,10 @@ function c91946859.spop(e,tp,eg,ep,ev,re,r,rp) ...@@ -55,7 +55,10 @@ function c91946859.spop(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,c91946859.spfilter,tp,LOCATION_HAND,0,1,1,nil,e,tp) local g=Duel.SelectMatchingCard(tp,c91946859.spfilter,tp,LOCATION_HAND,0,1,1,nil,e,tp)
local tc=g:GetFirst() local tc=g:GetFirst()
if tc and Duel.SpecialSummon(tc,SUMMON_TYPE_RITUAL,tp,tp,true,false,POS_FACEUP) then if tc then
tc:CompleteProcedure() tc:SetMaterial(nil)
if Duel.SpecialSummon(tc,SUMMON_TYPE_RITUAL,tp,tp,false,false,POS_FACEUP)>0 then
tc:CompleteProcedure()
end
end end
end end
...@@ -53,8 +53,10 @@ function c9402966.scop(e,tp,eg,ep,ev,re,r,rp) ...@@ -53,8 +53,10 @@ function c9402966.scop(e,tp,eg,ep,ev,re,r,rp)
local tc=sg:GetFirst() local tc=sg:GetFirst()
if tc then if tc then
Duel.BreakEffect() Duel.BreakEffect()
Duel.SpecialSummon(tc,SUMMON_TYPE_SYNCHRO,tp,tp,false,false,POS_FACEUP) tc:SetMaterial(nil)
tc:CompleteProcedure() if Duel.SpecialSummon(tc,SUMMON_TYPE_SYNCHRO,tp,tp,false,false,POS_FACEUP)>0 then
tc:CompleteProcedure()
end
end end
end end
end end
...@@ -101,8 +101,10 @@ function c95134948.spop(e,tp,eg,ep,ev,re,r,rp) ...@@ -101,8 +101,10 @@ function c95134948.spop(e,tp,eg,ep,ev,re,r,rp)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON)
local tc=Duel.SelectMatchingCard(tp,c95134948.spfilter,tp,LOCATION_EXTRA,0,1,1,nil,e,tp):GetFirst() local tc=Duel.SelectMatchingCard(tp,c95134948.spfilter,tp,LOCATION_EXTRA,0,1,1,nil,e,tp):GetFirst()
if tc then if tc then
Duel.SpecialSummon(tc,SUMMON_TYPE_XYZ,tp,tp,false,false,POS_FACEUP) tc:SetMaterial(nil)
tc:CompleteProcedure() if Duel.SpecialSummon(tc,SUMMON_TYPE_XYZ,tp,tp,false,false,POS_FACEUP)>0 then
tc:CompleteProcedure()
end
end end
end end
function c95134948.atkcon(e,tp,eg,ep,ev,re,r,rp) function c95134948.atkcon(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