Commit 9b688d23 authored by DailyShana's avatar DailyShana

fix

parent 70f58abc
......@@ -55,14 +55,17 @@ end
function c10004783.tfcon(e,tp,eg,ep,ev,re,r,rp)
return bit.band(e:GetHandler():GetPreviousLocation(),LOCATION_ONFIELD)~=0
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)
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
function c10004783.tfop(e,tp,eg,ep,ev,re,r,rp)
if Duel.GetLocationCount(tp,LOCATION_SZONE)<=0 then return end
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
local tc=g:GetFirst()
Duel.MoveToField(tc,tp,tp,LOCATION_SZONE,POS_FACEUP,true)
......
......@@ -10,10 +10,13 @@ function c35486099.initial_effect(c)
e1:SetOperation(c35486099.activate)
c:RegisterEffect(e1)
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)
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 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
return Duel.GetLocationCount(tp,LOCATION_SZONE)>1
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)
local ft=Duel.GetLocationCount(tp,LOCATION_SZONE)
if ft>2 then ft=2 end
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)
end
function c35486099.activate(e,tp,eg,ep,ev,re,r,rp)
......
......@@ -5,7 +5,6 @@ function c43973174.initial_effect(c)
e1:SetCategory(CATEGORY_SPECIAL_SUMMON)
e1:SetType(EFFECT_TYPE_ACTIVATE)
e1:SetCode(EVENT_FREE_CHAIN)
e1:SetCondition(c43973174.condition)
e1:SetTarget(c43973174.target)
e1:SetOperation(c43973174.activate)
c:RegisterEffect(e1)
......@@ -13,14 +12,12 @@ end
function c43973174.cfilter(c)
return c:IsFaceup() and c:IsCode(17985575)
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)
return c:IsRace(RACE_DRAGON) and c:IsCanBeSpecialSummoned(e,0,tp,false,false)
end
function c43973174.target(e,tp,eg,ep,ev,re,r,rp,chk)
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
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,1,tp,LOCATION_HAND)
end
......
......@@ -15,9 +15,12 @@ end
function c47121070.tfcon(e,tp,eg,ep,ev,re,r,rp)
return eg:IsExists(c47121070.filter,1,nil,tp)
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)
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
function c47121070.tfop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
......@@ -31,7 +34,7 @@ function c47121070.tfop(e,tp,eg,ep,ev,re,r,rp)
Duel.RegisterEffect(e1,tp)
if Duel.GetLocationCount(tp,LOCATION_SZONE)<=0 then return end
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
local tc=g:GetFirst()
Duel.MoveToField(tc,tp,tp,LOCATION_SZONE,POS_FACEUP,true)
......
......@@ -65,7 +65,7 @@ function c60004971.efilter(e,re)
return re:IsActiveType(TYPE_TRAP)
end
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
function c60004971.eqtg(e,tp,eg,ep,ev,re,r,rp,chk)
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)
c:RegisterEffect(e1)
Duel.RaiseEvent(c,EVENT_CUSTOM+47408488,e,0,tp,0,0)
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)
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
end
function c7093411.operation(e,tp,eg,ep,ev,re,r,rp)
if Duel.GetLocationCount(tp,LOCATION_SZONE)<=0 then return end
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()
if tc and not tc:IsHasEffect(EFFECT_NECRO_VALLEY) then
Duel.MoveToField(tc,tp,tp,LOCATION_SZONE,POS_FACEUP,true)
......
......@@ -27,7 +27,7 @@ function c77565204.filter1(c,e)
return c:IsCanBeFusionMaterial() and c:IsAbleToGrave() and not c:IsImmuneToEffect(e)
end
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
function c77565204.target(e,tp,eg,ep,ev,re,r,rp,chk)
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