Commit d589bd45 authored by VanillaSalt's avatar VanillaSalt

fix

parent 3fa8432a
...@@ -75,7 +75,7 @@ function c10117149.cfilter(c) ...@@ -75,7 +75,7 @@ function c10117149.cfilter(c)
return c:IsFaceup() and c:IsSetCard(0xab) return c:IsFaceup() and c:IsSetCard(0xab)
end end
function c10117149.atkval(e,c) function c10117149.atkval(e,c)
return Duel.GetMatchingGroupCount(c10117149.cfilter,tp,LOCATION_EXTRA,0,nil)*500 return Duel.GetMatchingGroupCount(c10117149.cfilter,c:GetControler(),LOCATION_EXTRA,0,nil)*500
end end
function c10117149.spcon(e,tp,eg,ep,ev,re,r,rp) function c10117149.spcon(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler() local c=e:GetHandler()
......
...@@ -55,9 +55,9 @@ function c17086528.lvfilter(c,rk) ...@@ -55,9 +55,9 @@ function c17086528.lvfilter(c,rk)
end end
function c17086528.rktg(e,tp,eg,ep,ev,re,r,rp,chk,chkc) function c17086528.rktg(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
if chkc then return false end if chkc then return false end
if chk==0 then return Duel.IsExistingTarget(c17086528.rkfilter,tp,LOCATION_MZONE,0,1,nil) end if chk==0 then return Duel.IsExistingTarget(c17086528.rkfilter,tp,LOCATION_MZONE,0,1,nil,tp) end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TARGET) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TARGET)
local g=Duel.SelectTarget(tp,c17086528.rkfilter,tp,LOCATION_MZONE,0,1,1,nil) local g=Duel.SelectTarget(tp,c17086528.rkfilter,tp,LOCATION_MZONE,0,1,1,nil,tp)
e:SetLabelObject(g:GetFirst()) e:SetLabelObject(g:GetFirst())
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TARGET) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TARGET)
Duel.SelectTarget(tp,c17086528.lvfilter,tp,LOCATION_MZONE,0,1,1,g:GetFirst(),g:GetFirst():GetRank()) Duel.SelectTarget(tp,c17086528.lvfilter,tp,LOCATION_MZONE,0,1,1,g:GetFirst(),g:GetFirst():GetRank())
......
...@@ -41,7 +41,8 @@ function c19355597.spop(e,tp,eg,ep,ev,re,r,rp) ...@@ -41,7 +41,8 @@ function c19355597.spop(e,tp,eg,ep,ev,re,r,rp)
local tg=Duel.SelectMatchingCard(tp,c19355597.tgfilter,tp,LOCATION_MZONE,0,1,1,nil,e,tp) local tg=Duel.SelectMatchingCard(tp,c19355597.tgfilter,tp,LOCATION_MZONE,0,1,1,nil,e,tp)
local tc=tg:GetFirst() local tc=tg:GetFirst()
local g=Duel.GetMatchingGroup(c19355597.spfilter,tp,LOCATION_EXTRA,0,nil,e,tp) local g=Duel.GetMatchingGroup(c19355597.spfilter,tp,LOCATION_EXTRA,0,nil,e,tp)
if tc and Duel.SendtoGrave(tc,REASON_EFFECT)~=0 and tc:IsLocation(LOCATION_GRAVE) and g:GetCount()>0 then if tc and Duel.SendtoGrave(tc,REASON_EFFECT)~=0 and tc:IsLocation(LOCATION_GRAVE) and g:GetCount()>0 then
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON)
local sg=g:Select(tp,1,1,nil) local sg=g:Select(tp,1,1,nil)
Duel.SpecialSummon(sg,0,tp,tp,true,false,POS_FACEUP) Duel.SpecialSummon(sg,0,tp,tp,true,false,POS_FACEUP)
end end
......
...@@ -28,6 +28,7 @@ function c23296404.sptg(e,tp,eg,ep,ev,re,r,rp,chk,chkc) ...@@ -28,6 +28,7 @@ function c23296404.sptg(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
if chk==0 then return Duel.GetLocationCount(tp,LOCATION_MZONE)>-1 if chk==0 then return Duel.GetLocationCount(tp,LOCATION_MZONE)>-1
and e:GetHandler():IsCanBeSpecialSummoned(e,0,tp,false,false) and e:GetHandler():IsCanBeSpecialSummoned(e,0,tp,false,false)
and Duel.IsExistingTarget(c23296404.desfilter,tp,LOCATION_ONFIELD,0,3,nil) end and Duel.IsExistingTarget(c23296404.desfilter,tp,LOCATION_ONFIELD,0,3,nil) end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_DESTROY)
local g=Duel.SelectTarget(tp,c23296404.desfilter,tp,LOCATION_ONFIELD,0,3,3,nil) local g=Duel.SelectTarget(tp,c23296404.desfilter,tp,LOCATION_ONFIELD,0,3,3,nil)
Duel.SetOperationInfo(0,CATEGORY_DESTROY,g,3,0,0) Duel.SetOperationInfo(0,CATEGORY_DESTROY,g,3,0,0)
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,e:GetHandler(),1,0,0) Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,e:GetHandler(),1,0,0)
...@@ -48,6 +49,7 @@ function c23296404.tdtg(e,tp,eg,ep,ev,re,r,rp,chk,chkc) ...@@ -48,6 +49,7 @@ function c23296404.tdtg(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
if chkc then return chkc:IsLocation(LOCATION_MZONE) and chkc:IsControler(tp) and c23296404.thfilter(chkc) and chkc~=e:GetHandler() end if chkc then return chkc:IsLocation(LOCATION_MZONE) and chkc:IsControler(tp) and c23296404.thfilter(chkc) and chkc~=e:GetHandler() end
if chk==0 then return Duel.IsExistingTarget(c23296404.thfilter,tp,LOCATION_MZONE,0,1,e:GetHandler()) if chk==0 then return Duel.IsExistingTarget(c23296404.thfilter,tp,LOCATION_MZONE,0,1,e:GetHandler())
and Duel.IsExistingMatchingCard(c23296404.tdfilter,tp,0,LOCATION_ONFIELD,1,nil) end and Duel.IsExistingMatchingCard(c23296404.tdfilter,tp,0,LOCATION_ONFIELD,1,nil) end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_ATOHAND)
local g=Duel.SelectTarget(tp,c23296404.thfilter,tp,LOCATION_MZONE,0,1,1,e:GetHandler()) local g=Duel.SelectTarget(tp,c23296404.thfilter,tp,LOCATION_MZONE,0,1,1,e:GetHandler())
Duel.SetOperationInfo(0,CATEGORY_TOHAND,g,1,0,0) Duel.SetOperationInfo(0,CATEGORY_TOHAND,g,1,0,0)
Duel.SetOperationInfo(0,CATEGORY_TODECK,nil,1,1-tp,LOCATION_ONFIELD) Duel.SetOperationInfo(0,CATEGORY_TODECK,nil,1,1-tp,LOCATION_ONFIELD)
......
...@@ -56,21 +56,29 @@ function c28265983.target(e,tp,eg,ep,ev,re,r,rp,chk,chkc) ...@@ -56,21 +56,29 @@ function c28265983.target(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
c28265983.destg1(e,tp,teg,tep,tev,tre,tr,trp,1) c28265983.destg1(e,tp,teg,tep,tev,tre,tr,trp,1)
else else
e:SetCategory(CATEGORY_DESTROY) e:SetCategory(CATEGORY_DESTROY)
e:SetProperty(0)
e:SetOperation(c28265983.desop2) e:SetOperation(c28265983.desop2)
c28265983.descost2(e,tp,eg,ep,ev,re,r,rp,1) c28265983.descost2(e,tp,eg,ep,ev,re,r,rp,1)
c28265983.destg2(e,tp,eg,ep,ev,re,r,rp,1) c28265983.destg2(e,tp,eg,ep,ev,re,r,rp,1)
end end
else
e:SetCategory(0)
e:SetProperty(0)
e:SetOperation(c28265983.nop)
end end
end end
function c28265983.nop(e,tp,eg,ep,ev,re,r,rp)
end
function c28265983.descon1(e,tp,eg,ep,ev,re,r,rp) function c28265983.descon1(e,tp,eg,ep,ev,re,r,rp)
return ep==tp return ep==tp
end end
function c28265983.desfilter11(c) function c28265983.desfilter1(c)
return c:IsFaceup() and c:IsDestructable() return c:IsFaceup() and c:IsDestructable()
end end
function c28265983.destg1(e,tp,eg,ep,ev,re,r,rp,chk,chkc) function c28265983.destg1(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
if chkc then return chkc:IsLocation(LOCATION_MZONE) and chkc:IsControler(1-tp) and c28265983.desfilter1(chkc) end if chkc then return chkc:IsLocation(LOCATION_MZONE) and chkc:IsControler(1-tp) and c28265983.desfilter1(chkc) end
if chk==0 then return Duel.GetFlagEffect(tp,28265983)==0 end if chk==0 then return Duel.GetFlagEffect(tp,28265983)==0 end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_DESTROY)
local g=Duel.SelectTarget(tp,c28265983.desfilter1,tp,0,LOCATION_MZONE,1,1,nil) local g=Duel.SelectTarget(tp,c28265983.desfilter1,tp,0,LOCATION_MZONE,1,1,nil)
Duel.SetOperationInfo(0,CATEGORY_DESTROY,g,g:GetCount(),0,0) Duel.SetOperationInfo(0,CATEGORY_DESTROY,g,g:GetCount(),0,0)
Duel.RegisterFlagEffect(tp,28265983,RESET_PHASE+RESET_END,0,1) Duel.RegisterFlagEffect(tp,28265983,RESET_PHASE+RESET_END,0,1)
......
--ブリリアント・スパーク --ブリリアント・スパーク
function c3105404.initial_effect(c) function c3105404.initial_effect(c)
Duel.EnableGlobalFlag(GLOBALFLAG_DELAYED_QUICKEFFECT)
--activate --activate
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
e1:SetCategory(CATEGORY_DAMAGE) e1:SetCategory(CATEGORY_DAMAGE)
......
...@@ -34,6 +34,7 @@ function c32566831.activate(e,tp,eg,ep,ev,re,r,rp) ...@@ -34,6 +34,7 @@ function c32566831.activate(e,tp,eg,ep,ev,re,r,rp)
local g=Duel.GetMatchingGroup(c32566831.tgfilter,p,LOCATION_DECK,0,nil) local g=Duel.GetMatchingGroup(c32566831.tgfilter,p,LOCATION_DECK,0,nil)
if dr~=0 and g:GetCount()>0 and Duel.SelectYesNo(p,aux.Stringid(32566831,0)) then if dr~=0 and g:GetCount()>0 and Duel.SelectYesNo(p,aux.Stringid(32566831,0)) then
Duel.BreakEffect() Duel.BreakEffect()
Duel.Hint(HINT_SELECTMSG,p,HINTMSG_TOGRAVE)
local sg=g:Select(p,1,1,nil) local sg=g:Select(p,1,1,nil)
Duel.SendtoGrave(sg,REASON_EFFECT) Duel.SendtoGrave(sg,REASON_EFFECT)
end end
......
...@@ -40,7 +40,7 @@ function c44405066.initial_effect(c) ...@@ -40,7 +40,7 @@ function c44405066.initial_effect(c)
e4:SetOperation(c44405066.spop) e4:SetOperation(c44405066.spop)
c:RegisterEffect(e4) c:RegisterEffect(e4)
end end
function c44405066.indcon(e,c) function c44405066.indcon(e)
return e:GetHandler():GetOverlayCount()>0 return e:GetHandler():GetOverlayCount()>0
end end
function c44405066.regop(e,tp,eg,ep,ev,re,r,rp) function c44405066.regop(e,tp,eg,ep,ev,re,r,rp)
......
...@@ -27,13 +27,16 @@ function c58569561.actcon(e,tp,eg,ep,ev,re,r,rp) ...@@ -27,13 +27,16 @@ function c58569561.actcon(e,tp,eg,ep,ev,re,r,rp)
return ac and ac:IsControler(tp) and ac:IsRace(RACE_PLANT) return ac and ac:IsControler(tp) and ac:IsRace(RACE_PLANT)
end end
function c58569561.actop(e,tp,eg,ep,ev,re,r,rp) function c58569561.actop(e,tp,eg,ep,ev,re,r,rp)
local e1=Effect.CreateEffect(e:GetHandler()) local c=e:GetHandler()
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_FIELD) e1:SetType(EFFECT_TYPE_FIELD)
e1:SetCode(EFFECT_CANNOT_ACTIVATE) e1:SetCode(EFFECT_CANNOT_ACTIVATE)
e1:SetRange(LOCATION_MZONE)
e1:SetProperty(EFFECT_FLAG_PLAYER_TARGET) e1:SetProperty(EFFECT_FLAG_PLAYER_TARGET)
e1:SetTargetRange(0,1) e1:SetTargetRange(0,1)
e1:SetValue(c58569561.actlimit) e1:SetValue(c58569561.actlimit)
Duel.RegisterEffect(e1,tp) e1:SetReset(RESET_EVENT+0x1fe0000+RESET_PHASE+PHASE_DAMAGE)
c:RegisterEffect(e1)
end end
function c58569561.actlimit(e,re,tp) function c58569561.actlimit(e,re,tp)
return re:IsActiveType(TYPE_MONSTER) and not re:GetHandler():IsImmuneToEffect(e) return re:IsActiveType(TYPE_MONSTER) and not re:GetHandler():IsImmuneToEffect(e)
......
...@@ -28,6 +28,7 @@ function c59785059.sptg(e,tp,eg,ep,ev,re,r,rp,chk,chkc) ...@@ -28,6 +28,7 @@ function c59785059.sptg(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
if chk==0 then return Duel.GetLocationCount(tp,LOCATION_MZONE)>-1 if chk==0 then return Duel.GetLocationCount(tp,LOCATION_MZONE)>-1
and e:GetHandler():IsCanBeSpecialSummoned(e,0,tp,false,false) and e:GetHandler():IsCanBeSpecialSummoned(e,0,tp,false,false)
and Duel.IsExistingTarget(c59785059.desfilter,tp,LOCATION_ONFIELD,0,3,nil) end and Duel.IsExistingTarget(c59785059.desfilter,tp,LOCATION_ONFIELD,0,3,nil) end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_DESTROY)
local g=Duel.SelectTarget(tp,c59785059.desfilter,tp,LOCATION_ONFIELD,0,3,3,nil) local g=Duel.SelectTarget(tp,c59785059.desfilter,tp,LOCATION_ONFIELD,0,3,3,nil)
Duel.SetOperationInfo(0,CATEGORY_DESTROY,g,3,0,0) Duel.SetOperationInfo(0,CATEGORY_DESTROY,g,3,0,0)
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,e:GetHandler(),1,0,0) Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,e:GetHandler(),1,0,0)
...@@ -45,6 +46,7 @@ function c59785059.tdtg(e,tp,eg,ep,ev,re,r,rp,chk,chkc) ...@@ -45,6 +46,7 @@ function c59785059.tdtg(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
if chkc then return chkc:IsLocation(LOCATION_MZONE) and chkc:IsControler(tp) and c59785059.thfilter(chkc) and chkc~=e:GetHandler() end if chkc then return chkc:IsLocation(LOCATION_MZONE) and chkc:IsControler(tp) and c59785059.thfilter(chkc) and chkc~=e:GetHandler() end
if chk==0 then return Duel.IsExistingTarget(c59785059.thfilter,tp,LOCATION_MZONE,0,1,e:GetHandler()) if chk==0 then return Duel.IsExistingTarget(c59785059.thfilter,tp,LOCATION_MZONE,0,1,e:GetHandler())
and Duel.IsExistingMatchingCard(Card.IsAbleToDeck,tp,0,LOCATION_MZONE,1,nil) end and Duel.IsExistingMatchingCard(Card.IsAbleToDeck,tp,0,LOCATION_MZONE,1,nil) end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_ATOHAND)
local g=Duel.SelectTarget(tp,c59785059.thfilter,tp,LOCATION_MZONE,0,1,1,e:GetHandler()) local g=Duel.SelectTarget(tp,c59785059.thfilter,tp,LOCATION_MZONE,0,1,1,e:GetHandler())
Duel.SetOperationInfo(0,CATEGORY_TOHAND,g,1,0,0) Duel.SetOperationInfo(0,CATEGORY_TOHAND,g,1,0,0)
Duel.SetOperationInfo(0,CATEGORY_TODECK,nil,1,1-tp,LOCATION_MZONE) Duel.SetOperationInfo(0,CATEGORY_TODECK,nil,1,1-tp,LOCATION_MZONE)
......
...@@ -63,6 +63,7 @@ function c65472618.regop(e,tp,eg,ep,ev,re,r,rp) ...@@ -63,6 +63,7 @@ function c65472618.regop(e,tp,eg,ep,ev,re,r,rp)
e1:SetCode(EVENT_PHASE+PHASE_END) e1:SetCode(EVENT_PHASE+PHASE_END)
e1:SetCountLimit(1) e1:SetCountLimit(1)
e1:SetOperation(c65472618.thop) e1:SetOperation(c65472618.thop)
e1:SetReset(RESET_PHASE+PHASE_END)
Duel.RegisterEffect(e1,tp) Duel.RegisterEffect(e1,tp)
end end
function c65472618.thfilter(c) function c65472618.thfilter(c)
......
...@@ -34,8 +34,13 @@ function c65872270.target(e,tp,eg,ep,ev,re,r,rp,chk) ...@@ -34,8 +34,13 @@ function c65872270.target(e,tp,eg,ep,ev,re,r,rp,chk)
e:SetCategory(CATEGORY_DESTROY+CATEGORY_TOHAND+CATEGORY_SEARCH) e:SetCategory(CATEGORY_DESTROY+CATEGORY_TOHAND+CATEGORY_SEARCH)
e:SetOperation(c65872270.desop) e:SetOperation(c65872270.desop)
c65872270.destg(e,tp,eg,ep,ev,re,r,rp,1) c65872270.destg(e,tp,eg,ep,ev,re,r,rp,1)
else
e:SetCategory(0)
e:SetOperation(c65872270.nop)
end end
end end
function c65872270.nop(e,tp,eg,ep,ev,re,r,rp)
end
function c65872270.descon(e,tp,eg,ep,ev,re,r,rp) function c65872270.descon(e,tp,eg,ep,ev,re,r,rp)
return Duel.GetTurnPlayer()==tp return Duel.GetTurnPlayer()==tp
and (Duel.GetCurrentPhase()==PHASE_MAIN1 or Duel.GetCurrentPhase()==PHASE_MAIN2) and (Duel.GetCurrentPhase()==PHASE_MAIN1 or Duel.GetCurrentPhase()==PHASE_MAIN2)
...@@ -62,7 +67,7 @@ function c65872270.desop(e,tp,eg,ep,ev,re,r,rp) ...@@ -62,7 +67,7 @@ function c65872270.desop(e,tp,eg,ep,ev,re,r,rp)
if ct2>0 then if ct2>0 then
Duel.BreakEffect() Duel.BreakEffect()
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_RTOHAND) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_RTOHAND)
rg=g:Select(tp,1,ct2,nil) local rg=g:Select(tp,1,ct2,nil)
Duel.SendtoHand(rg,nil,REASON_EFFECT) Duel.SendtoHand(rg,nil,REASON_EFFECT)
end end
end end
......
...@@ -9,14 +9,14 @@ function c66194206.initial_effect(c) ...@@ -9,14 +9,14 @@ function c66194206.initial_effect(c)
e1:SetOperation(c66194206.activate) e1:SetOperation(c66194206.activate)
c:RegisterEffect(e1) c:RegisterEffect(e1)
--to hand --to hand
local e1=Effect.CreateEffect(c) local e2=Effect.CreateEffect(c)
e1:SetCategory(CATEGORY_TOHAND+CATEGORY_SEARCH) e2:SetCategory(CATEGORY_TOHAND+CATEGORY_SEARCH)
e1:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_O) e2:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_O)
e1:SetCode(EVENT_TO_GRAVE) e2:SetCode(EVENT_TO_GRAVE)
e1:SetCondition(c66194206.thcon) e2:SetCondition(c66194206.thcon)
e1:SetTarget(c66194206.thtg) e2:SetTarget(c66194206.thtg)
e1:SetOperation(c66194206.thop) e2:SetOperation(c66194206.thop)
c:RegisterEffect(e1) c:RegisterEffect(e2)
end end
function c66194206.target(e,tp,eg,ep,ev,re,r,rp,chk) function c66194206.target(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return e:GetHandler():IsAbleToDeck() end if chk==0 then return e:GetHandler():IsAbleToDeck() end
......
...@@ -13,6 +13,7 @@ end ...@@ -13,6 +13,7 @@ end
function c68833958.target(e,tp,eg,ep,ev,re,r,rp,chk,chkc) function c68833958.target(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
if chkc then return chkc:IsLocation(LOCATION_MZONE) and chkc:IsFaceup() end if chkc then return chkc:IsLocation(LOCATION_MZONE) and chkc:IsFaceup() end
if chk==0 then return Duel.IsExistingTarget(Card.IsFaceup,tp,LOCATION_MZONE,LOCATION_MZONE,1,nil) end if chk==0 then return Duel.IsExistingTarget(Card.IsFaceup,tp,LOCATION_MZONE,LOCATION_MZONE,1,nil) end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_FACEUP)
Duel.SelectTarget(tp,Card.IsFaceup,tp,LOCATION_MZONE,LOCATION_MZONE,1,1,nil) Duel.SelectTarget(tp,Card.IsFaceup,tp,LOCATION_MZONE,LOCATION_MZONE,1,1,nil)
end end
function c68833958.activate(e,tp,eg,ep,ev,re,r,rp) function c68833958.activate(e,tp,eg,ep,ev,re,r,rp)
......
...@@ -34,8 +34,8 @@ function c70479321.initial_effect(c) ...@@ -34,8 +34,8 @@ function c70479321.initial_effect(c)
c:RegisterEffect(e4) c:RegisterEffect(e4)
--atk --atk
local e5=e2:Clone() local e5=e2:Clone()
e2:SetRange(LOCATION_MZONE) e5:SetRange(LOCATION_MZONE)
e2:SetOperation(c70479321.atkop2) e5:SetOperation(c70479321.atkop2)
c:RegisterEffect(e5) c:RegisterEffect(e5)
end end
function c70479321.atktg(e,tp,eg,ep,ev,re,r,rp,chk,chkc) function c70479321.atktg(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
......
--グニッションP --グニッションP
function c79555535.initial_effect(c) function c79555535.initial_effect(c)
--activate --activate
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
...@@ -39,7 +39,7 @@ function c79555535.destg(e,tp,eg,ep,ev,re,r,rp,chk,chkc) ...@@ -39,7 +39,7 @@ function c79555535.destg(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
if chk==0 then return Duel.IsExistingTarget(c79555535.desfilter,tp,LOCATION_ONFIELD,0,1,nil) if chk==0 then return Duel.IsExistingTarget(c79555535.desfilter,tp,LOCATION_ONFIELD,0,1,nil)
and Duel.IsExistingMatchingCard(c79555535.thfilter,tp,LOCATION_DECK,0,1,nil) end and Duel.IsExistingMatchingCard(c79555535.thfilter,tp,LOCATION_DECK,0,1,nil) end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_DESTROY) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_DESTROY)
local g=Duel.SelectTarget(tp,c79555535.thfilter,tp,LOCATION_ONFIELD,0,1,1,nil) local g=Duel.SelectTarget(tp,c79555535.desfilter,tp,LOCATION_ONFIELD,0,1,1,nil)
Duel.SetOperationInfo(0,CATEGORY_DESTROY,g,1,0,0) Duel.SetOperationInfo(0,CATEGORY_DESTROY,g,1,0,0)
Duel.SetOperationInfo(0,CATEGORY_TOHAND,nil,1,tp,LOCATION_DECK) Duel.SetOperationInfo(0,CATEGORY_TOHAND,nil,1,tp,LOCATION_DECK)
end end
......
...@@ -88,7 +88,7 @@ function c82734805.exop(e,tp,eg,ep,ev,re,r,rp) ...@@ -88,7 +88,7 @@ function c82734805.exop(e,tp,eg,ep,ev,re,r,rp)
local g2=Duel.GetMatchingGroup(Card.IsAbleToGrave,tp,0,LOCATION_EXTRA,nil) local g2=Duel.GetMatchingGroup(Card.IsAbleToGrave,tp,0,LOCATION_EXTRA,nil)
local sg2=nil local sg2=nil
if g2:GetCount()>=3 then if g2:GetCount()>=3 then
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TOGRAVE) Duel.Hint(HINT_SELECTMSG,1-tp,HINTMSG_TOGRAVE)
sg2=g2:Select(1-tp,3,3,nil) sg2=g2:Select(1-tp,3,3,nil)
else sg2=g2 end else sg2=g2 end
sg1:Merge(sg2) sg1:Merge(sg2)
...@@ -150,13 +150,13 @@ function c82734805.fscon(e,g,gc,chkf) ...@@ -150,13 +150,13 @@ function c82734805.fscon(e,g,gc,chkf)
if g==nil then return true end if g==nil then return true end
if gc then if gc then
if gc:IsHasEffect(EFFECT_FUSION_SUBSTITUTE) then if gc:IsHasEffect(EFFECT_FUSION_SUBSTITUTE) then
return g:IsExists(c82734805.fcfilter1,1,gc,code1,code2,g) return g:IsExists(c82734805.fcfilter1,1,gc,14799437,23440231,g)
elseif gc:IsCode(14799437) then elseif gc:IsCode(14799437) then
return g:IsExists(c82734805.fcfilter2,1,gc,23440231,g) return g:IsExists(c82734805.fcfilter2,1,gc,23440231,g)
elseif gc:IsCode(23440231) then elseif gc:IsCode(23440231) then
return g:IsExists(c82734805.fcfilter2,1,gc,14799437,g) return g:IsExists(c82734805.fcfilter2,1,gc,14799437,g)
elseif gc:IsSetCard(0xbb) then elseif gc:IsSetCard(0xbb) then
return g:IsExists(c82734805.fcfilter3,1,gc) return g:IsExists(c82734805.fcfilter3,1,gc,g)
end end
end end
local b1=0 local b2=0 local bs=0 local b1=0 local b2=0 local bs=0
...@@ -179,9 +179,6 @@ function c82734805.fscon(e,g,gc,chkf) ...@@ -179,9 +179,6 @@ function c82734805.fscon(e,g,gc,chkf)
return b1+b2+bs>=2 and g2:GetCount()>=3-bs return b1+b2+bs>=2 and g2:GetCount()>=3-bs
end end
end end
function c82734805.fofilter(c)
return c:IsSetCard(0xbb) or c:IsHasEffect(EFFECT_FUSION_SUBSTITUTE)
end
function c82734805.fsop(e,tp,eg,ep,ev,re,r,rp,gc,chkf) function c82734805.fsop(e,tp,eg,ep,ev,re,r,rp,gc,chkf)
if gc then if gc then
local sg=eg local g1=nil local g2=nil local g3=nil local sg=eg local g1=nil local g2=nil local g3=nil
......
...@@ -47,6 +47,7 @@ function c92266279.target(e,tp,eg,ep,ev,re,r,rp,chk) ...@@ -47,6 +47,7 @@ function c92266279.target(e,tp,eg,ep,ev,re,r,rp,chk)
end end
if opt==0 then if opt==0 then
e:SetCategory(CATEGORY_TOHAND+CATEGORY_SEARCH) e:SetCategory(CATEGORY_TOHAND+CATEGORY_SEARCH)
e:SetProperty(0)
e:SetOperation(c92266279.thop) e:SetOperation(c92266279.thop)
c92266279.thcost(e,tp,eg,ep,ev,re,r,rp,1) c92266279.thcost(e,tp,eg,ep,ev,re,r,rp,1)
c92266279.thtg(e,tp,eg,ep,ev,re,r,rp,1) c92266279.thtg(e,tp,eg,ep,ev,re,r,rp,1)
...@@ -56,8 +57,14 @@ function c92266279.target(e,tp,eg,ep,ev,re,r,rp,chk) ...@@ -56,8 +57,14 @@ function c92266279.target(e,tp,eg,ep,ev,re,r,rp,chk)
e:SetOperation(c92266279.recop) e:SetOperation(c92266279.recop)
c92266279.rectg(e,tp,eg,ep,ev,re,r,rp,1) c92266279.rectg(e,tp,eg,ep,ev,re,r,rp,1)
end end
else
e:SetCategory(0)
e:SetProperty(0)
e:SetOperation(c92266279.nop)
end end
end end
function c92266279.nop(e,tp,eg,ep,ev,re,r,rp)
end
function c92266279.thcost(e,tp,eg,ep,ev,re,r,rp,chk) function c92266279.thcost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.CheckLPCost(tp,1000) and Duel.GetFlagEffect(tp,92266279)==0 end if chk==0 then return Duel.CheckLPCost(tp,1000) and Duel.GetFlagEffect(tp,92266279)==0 end
Duel.PayLPCost(tp,1000) Duel.PayLPCost(tp,1000)
......
...@@ -43,6 +43,7 @@ end ...@@ -43,6 +43,7 @@ end
function c92693205.desop(e,tp,eg,ep,ev,re,r,rp) function c92693205.desop(e,tp,eg,ep,ev,re,r,rp)
local ct=Duel.GetMatchingGroupCount(c92693205.cfilter,tp,LOCATION_MZONE,0,e:GetHandler()) local ct=Duel.GetMatchingGroupCount(c92693205.cfilter,tp,LOCATION_MZONE,0,e:GetHandler())
if ct==0 then return end if ct==0 then return end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_DESTROY)
local g=Duel.SelectMatchingCard(tp,Card.IsDestructable,tp,LOCATION_MZONE,LOCATION_MZONE,1,ct,nil) local g=Duel.SelectMatchingCard(tp,Card.IsDestructable,tp,LOCATION_MZONE,LOCATION_MZONE,1,ct,nil)
if g:GetCount()>0 then if g:GetCount()>0 then
Duel.Destroy(g,REASON_EFFECT) Duel.Destroy(g,REASON_EFFECT)
......
...@@ -45,7 +45,7 @@ function c93983867.activate(e,tp,eg,ep,ev,re,r,rp) ...@@ -45,7 +45,7 @@ function c93983867.activate(e,tp,eg,ep,ev,re,r,rp)
e1:SetProperty(EFFECT_FLAG_CANNOT_DISABLE) e1:SetProperty(EFFECT_FLAG_CANNOT_DISABLE)
e1:SetCountLimit(1) e1:SetCountLimit(1)
e1:SetOperation(c93983867.retop) e1:SetOperation(c93983867.retop)
e1:SetReset(RESET_PHASE+RESET_END) e1:SetReset(RESET_EVENT+0x1fe0000+RESET_PHASE+RESET_END)
tc:RegisterEffect(e1) tc:RegisterEffect(e1)
end end
else else
......
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