Commit 9b688d23 authored by DailyShana's avatar DailyShana

fix

parent 70f58abc
...@@ -55,14 +55,17 @@ end ...@@ -55,14 +55,17 @@ end
function c10004783.tfcon(e,tp,eg,ep,ev,re,r,rp) function c10004783.tfcon(e,tp,eg,ep,ev,re,r,rp)
return bit.band(e:GetHandler():GetPreviousLocation(),LOCATION_ONFIELD)~=0 return bit.band(e:GetHandler():GetPreviousLocation(),LOCATION_ONFIELD)~=0
end end
function c10004783.tffilter(c)
return c:IsSetCard(0x1034) and not c:IsForbidden()
end
function c10004783.tftg(e,tp,eg,ep,ev,re,r,rp,chk) function c10004783.tftg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.GetLocationCount(tp,LOCATION_SZONE)>0 if chk==0 then return Duel.GetLocationCount(tp,LOCATION_SZONE)>0
and Duel.IsExistingMatchingCard(Card.IsSetCard,tp,LOCATION_DECK,0,1,nil,0x1034) end and Duel.IsExistingMatchingCard(c10004783.tffilter,tp,LOCATION_DECK,0,1,nil) end
end end
function c10004783.tfop(e,tp,eg,ep,ev,re,r,rp) function c10004783.tfop(e,tp,eg,ep,ev,re,r,rp)
if Duel.GetLocationCount(tp,LOCATION_SZONE)<=0 then return end if Duel.GetLocationCount(tp,LOCATION_SZONE)<=0 then return end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TOFIELD) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TOFIELD)
local g=Duel.SelectMatchingCard(tp,Card.IsSetCard,tp,LOCATION_DECK,0,1,1,nil,0x1034) local g=Duel.SelectMatchingCard(tp,c10004783.tffilter,tp,LOCATION_DECK,0,1,1,nil)
if g:GetCount()>0 then if g:GetCount()>0 then
local tc=g:GetFirst() local tc=g:GetFirst()
Duel.MoveToField(tc,tp,tp,LOCATION_SZONE,POS_FACEUP,true) Duel.MoveToField(tc,tp,tp,LOCATION_SZONE,POS_FACEUP,true)
......
...@@ -10,10 +10,13 @@ function c35486099.initial_effect(c) ...@@ -10,10 +10,13 @@ function c35486099.initial_effect(c)
e1:SetOperation(c35486099.activate) e1:SetOperation(c35486099.activate)
c:RegisterEffect(e1) c:RegisterEffect(e1)
end end
function c35486099.filter(c)
return c:IsSetCard(0x1034) and not c:IsForbidden()
end
function c35486099.target(e,tp,eg,ep,ev,re,r,rp,chk,chkc) function c35486099.target(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
if chkc then return chkc:IsControler(tp) and chkc:IsLocation(LOCATION_GRAVE) and chkc:IsSetCard(0x1034) end if chkc then return chkc:IsControler(tp) and chkc:IsLocation(LOCATION_GRAVE) and c35486099.filter(chkc) end
if chk==0 then if chk==0 then
if not Duel.IsExistingTarget(Card.IsSetCard,tp,LOCATION_GRAVE,0,1,nil,0x1034) then return false end if not Duel.IsExistingTarget(c35486099.filter,tp,LOCATION_GRAVE,0,1,nil) then return false end
if e:GetHandler():IsLocation(LOCATION_HAND) then if e:GetHandler():IsLocation(LOCATION_HAND) then
return Duel.GetLocationCount(tp,LOCATION_SZONE)>1 return Duel.GetLocationCount(tp,LOCATION_SZONE)>1
else return Duel.GetLocationCount(tp,LOCATION_SZONE)>0 end else return Duel.GetLocationCount(tp,LOCATION_SZONE)>0 end
...@@ -21,7 +24,7 @@ function c35486099.target(e,tp,eg,ep,ev,re,r,rp,chk,chkc) ...@@ -21,7 +24,7 @@ function c35486099.target(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
local ft=Duel.GetLocationCount(tp,LOCATION_SZONE) local ft=Duel.GetLocationCount(tp,LOCATION_SZONE)
if ft>2 then ft=2 end if ft>2 then ft=2 end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TOFIELD) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TOFIELD)
local g=Duel.SelectTarget(tp,Card.IsSetCard,tp,LOCATION_GRAVE,0,1,ft,nil,0x1034) local g=Duel.SelectTarget(tp,c35486099.filter,tp,LOCATION_GRAVE,0,1,ft,nil)
Duel.SetOperationInfo(0,CATEGORY_LEAVE_GRAVE,g,g:GetCount(),0,0) Duel.SetOperationInfo(0,CATEGORY_LEAVE_GRAVE,g,g:GetCount(),0,0)
end end
function c35486099.activate(e,tp,eg,ep,ev,re,r,rp) function c35486099.activate(e,tp,eg,ep,ev,re,r,rp)
......
...@@ -5,7 +5,6 @@ function c43973174.initial_effect(c) ...@@ -5,7 +5,6 @@ function c43973174.initial_effect(c)
e1:SetCategory(CATEGORY_SPECIAL_SUMMON) e1:SetCategory(CATEGORY_SPECIAL_SUMMON)
e1:SetType(EFFECT_TYPE_ACTIVATE) e1:SetType(EFFECT_TYPE_ACTIVATE)
e1:SetCode(EVENT_FREE_CHAIN) e1:SetCode(EVENT_FREE_CHAIN)
e1:SetCondition(c43973174.condition)
e1:SetTarget(c43973174.target) e1:SetTarget(c43973174.target)
e1:SetOperation(c43973174.activate) e1:SetOperation(c43973174.activate)
c:RegisterEffect(e1) c:RegisterEffect(e1)
...@@ -13,14 +12,12 @@ end ...@@ -13,14 +12,12 @@ end
function c43973174.cfilter(c) function c43973174.cfilter(c)
return c:IsFaceup() and c:IsCode(17985575) return c:IsFaceup() and c:IsCode(17985575)
end end
function c43973174.condition(e,tp,eg,ep,ev,re,r,rp)
return Duel.IsExistingMatchingCard(c43973174.cfilter,tp,LOCATION_MZONE,0,1,nil)
end
function c43973174.filter(c,e,tp) function c43973174.filter(c,e,tp)
return c:IsRace(RACE_DRAGON) and c:IsCanBeSpecialSummoned(e,0,tp,false,false) return c:IsRace(RACE_DRAGON) and c:IsCanBeSpecialSummoned(e,0,tp,false,false)
end end
function c43973174.target(e,tp,eg,ep,ev,re,r,rp,chk) function c43973174.target(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.GetLocationCount(tp,LOCATION_MZONE)>0 if chk==0 then return Duel.GetLocationCount(tp,LOCATION_MZONE)>0
and Duel.IsExistingMatchingCard(c43973174.cfilter,tp,LOCATION_MZONE,0,1,nil)
and Duel.IsExistingMatchingCard(c43973174.filter,tp,LOCATION_HAND,0,1,nil,e,tp) end and Duel.IsExistingMatchingCard(c43973174.filter,tp,LOCATION_HAND,0,1,nil,e,tp) end
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,1,tp,LOCATION_HAND) Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,1,tp,LOCATION_HAND)
end end
......
...@@ -15,9 +15,12 @@ end ...@@ -15,9 +15,12 @@ end
function c47121070.tfcon(e,tp,eg,ep,ev,re,r,rp) function c47121070.tfcon(e,tp,eg,ep,ev,re,r,rp)
return eg:IsExists(c47121070.filter,1,nil,tp) return eg:IsExists(c47121070.filter,1,nil,tp)
end end
function c47121070.tffilter(c)
return c:IsSetCard(0x1034) and not c:IsForbidden()
end
function c47121070.tftg(e,tp,eg,ep,ev,re,r,rp,chk) function c47121070.tftg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.GetLocationCount(tp,LOCATION_SZONE)>0 if chk==0 then return Duel.GetLocationCount(tp,LOCATION_SZONE)>0
and Duel.IsExistingMatchingCard(Card.IsSetCard,tp,LOCATION_DECK,0,1,nil,0x1034) end and Duel.IsExistingMatchingCard(c47121070.tffilter,tp,LOCATION_DECK,0,1,nil) end
end end
function c47121070.tfop(e,tp,eg,ep,ev,re,r,rp) function c47121070.tfop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler() local c=e:GetHandler()
...@@ -31,7 +34,7 @@ function c47121070.tfop(e,tp,eg,ep,ev,re,r,rp) ...@@ -31,7 +34,7 @@ function c47121070.tfop(e,tp,eg,ep,ev,re,r,rp)
Duel.RegisterEffect(e1,tp) Duel.RegisterEffect(e1,tp)
if Duel.GetLocationCount(tp,LOCATION_SZONE)<=0 then return end if Duel.GetLocationCount(tp,LOCATION_SZONE)<=0 then return end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TOFIELD) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TOFIELD)
local g=Duel.SelectMatchingCard(tp,Card.IsSetCard,tp,LOCATION_DECK,0,1,1,nil,0x1034) local g=Duel.SelectMatchingCard(tp,c47121070.tffilter,tp,LOCATION_DECK,0,1,1,nil)
if g:GetCount()>0 then if g:GetCount()>0 then
local tc=g:GetFirst() local tc=g:GetFirst()
Duel.MoveToField(tc,tp,tp,LOCATION_SZONE,POS_FACEUP,true) Duel.MoveToField(tc,tp,tp,LOCATION_SZONE,POS_FACEUP,true)
......
...@@ -65,7 +65,7 @@ function c60004971.efilter(e,re) ...@@ -65,7 +65,7 @@ function c60004971.efilter(e,re)
return re:IsActiveType(TYPE_TRAP) return re:IsActiveType(TYPE_TRAP)
end end
function c60004971.eqfilter(c) function c60004971.eqfilter(c)
return c:IsSetCard(0x29) and c:IsRace(RACE_DRAGON) and c:IsType(TYPE_TUNER) return c:IsSetCard(0x29) and c:IsRace(RACE_DRAGON) and c:IsType(TYPE_TUNER) and not c:IsForbidden()
end end
function c60004971.eqtg(e,tp,eg,ep,ev,re,r,rp,chk) function c60004971.eqtg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.GetLocationCount(tp,LOCATION_SZONE)>0 if chk==0 then return Duel.GetLocationCount(tp,LOCATION_SZONE)>0
......
...@@ -39,14 +39,17 @@ function c7093411.repop(e,tp,eg,ep,ev,re,r,rp) ...@@ -39,14 +39,17 @@ function c7093411.repop(e,tp,eg,ep,ev,re,r,rp)
c:RegisterEffect(e1) c:RegisterEffect(e1)
Duel.RaiseEvent(c,EVENT_CUSTOM+47408488,e,0,tp,0,0) Duel.RaiseEvent(c,EVENT_CUSTOM+47408488,e,0,tp,0,0)
end end
function c7093411.filter(c)
return c:IsSetCard(0x1034) and not c:IsForbidden()
end
function c7093411.target(e,tp,eg,ep,ev,re,r,rp,chk) function c7093411.target(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(Card.IsSetCard,tp,LOCATION_DECK+LOCATION_GRAVE+LOCATION_HAND,0,1,nil,0x1034) if chk==0 then return Duel.IsExistingMatchingCard(c7093411.filter,tp,LOCATION_DECK+LOCATION_GRAVE+LOCATION_HAND,0,1,nil)
and Duel.GetLocationCount(tp,LOCATION_SZONE)>0 end and Duel.GetLocationCount(tp,LOCATION_SZONE)>0 end
end end
function c7093411.operation(e,tp,eg,ep,ev,re,r,rp) function c7093411.operation(e,tp,eg,ep,ev,re,r,rp)
if Duel.GetLocationCount(tp,LOCATION_SZONE)<=0 then return end if Duel.GetLocationCount(tp,LOCATION_SZONE)<=0 then return end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TOFIELD) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TOFIELD)
local g=Duel.SelectMatchingCard(tp,Card.IsSetCard,tp,LOCATION_DECK+LOCATION_GRAVE+LOCATION_HAND,0,1,1,nil,0x1034) local g=Duel.SelectMatchingCard(tp,c7093411.filter,tp,LOCATION_DECK+LOCATION_GRAVE+LOCATION_HAND,0,1,1,nil)
local tc=g:GetFirst() local tc=g:GetFirst()
if tc and not tc:IsHasEffect(EFFECT_NECRO_VALLEY) then if tc and not tc:IsHasEffect(EFFECT_NECRO_VALLEY) then
Duel.MoveToField(tc,tp,tp,LOCATION_SZONE,POS_FACEUP,true) Duel.MoveToField(tc,tp,tp,LOCATION_SZONE,POS_FACEUP,true)
......
...@@ -27,7 +27,7 @@ function c77565204.filter1(c,e) ...@@ -27,7 +27,7 @@ function c77565204.filter1(c,e)
return c:IsCanBeFusionMaterial() and c:IsAbleToGrave() and not c:IsImmuneToEffect(e) return c:IsCanBeFusionMaterial() and c:IsAbleToGrave() and not c:IsImmuneToEffect(e)
end end
function c77565204.filter2(c,m) function c77565204.filter2(c,m)
return c:IsType(TYPE_FUSION) and c:CheckFusionMaterial(m) return c:IsType(TYPE_FUSION) and c:CheckFusionMaterial(m) and not c:IsForbidden()
end end
function c77565204.target(e,tp,eg,ep,ev,re,r,rp,chk) function c77565204.target(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then if chk==0 then
......
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