Commit cd08e43c authored by DailyShana's avatar DailyShana

fix

parent e9e7ddbe
...@@ -13,8 +13,8 @@ function c13662809.initial_effect(c) ...@@ -13,8 +13,8 @@ function c13662809.initial_effect(c)
--search --search
local e2=Effect.CreateEffect(c) local e2=Effect.CreateEffect(c)
e2:SetDescription(aux.Stringid(13662809,1)) e2:SetDescription(aux.Stringid(13662809,1))
e2:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_O)
e2:SetCategory(CATEGORY_SEARCH+CATEGORY_TOHAND) e2:SetCategory(CATEGORY_SEARCH+CATEGORY_TOHAND)
e2:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_O)
e2:SetProperty(EFFECT_FLAG_DELAY) e2:SetProperty(EFFECT_FLAG_DELAY)
e2:SetCode(EVENT_DESTROYED) e2:SetCode(EVENT_DESTROYED)
e2:SetCondition(c13662809.thcon) e2:SetCondition(c13662809.thcon)
......
...@@ -2,20 +2,20 @@ ...@@ -2,20 +2,20 @@
function c23784496.initial_effect(c) function c23784496.initial_effect(c)
--recover --recover
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_ACTIVATE)
e1:SetCategory(CATEGORY_RECOVER) e1:SetCategory(CATEGORY_RECOVER)
e1:SetProperty(EFFECT_FLAG_PLAYER_TARGET) e1:SetType(EFFECT_TYPE_ACTIVATE)
e1:SetCode(EVENT_FREE_CHAIN) e1:SetCode(EVENT_FREE_CHAIN)
e1:SetProperty(EFFECT_FLAG_PLAYER_TARGET)
e1:SetCountLimit(1,23784496) e1:SetCountLimit(1,23784496)
e1:SetTarget(c23784496.target) e1:SetTarget(c23784496.target)
e1:SetOperation(c23784496.operation) e1:SetOperation(c23784496.operation)
c:RegisterEffect(e1) c:RegisterEffect(e1)
--draw --draw
local e2=Effect.CreateEffect(c) local e2=Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_O)
e2:SetCategory(CATEGORY_DRAW) e2:SetCategory(CATEGORY_DRAW)
e2:SetProperty(EFFECT_FLAG_PLAYER_TARGET+EFFECT_FLAG_DELAY) e2:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_O)
e2:SetCode(EVENT_DESTROYED) e2:SetCode(EVENT_DESTROYED)
e2:SetProperty(EFFECT_FLAG_PLAYER_TARGET+EFFECT_FLAG_DELAY)
e2:SetCountLimit(1,23784497) e2:SetCountLimit(1,23784497)
e2:SetCondition(c23784496.drcon) e2:SetCondition(c23784496.drcon)
e2:SetTarget(c23784496.drtg) e2:SetTarget(c23784496.drtg)
...@@ -23,7 +23,7 @@ function c23784496.initial_effect(c) ...@@ -23,7 +23,7 @@ function c23784496.initial_effect(c)
c:RegisterEffect(e2) c:RegisterEffect(e2)
end end
function c23784496.filter1(c) function c23784496.filter1(c)
return c:IsSetCard(0x10ec) and c:IsFaceup() return c:IsFaceup() and c:IsSetCard(0x10ec)
end end
function c23784496.target(e,tp,eg,ep,ev,re,r,rp,chk) function c23784496.target(e,tp,eg,ep,ev,re,r,rp,chk)
local rec=Duel.GetMatchingGroupCount(c23784496.filter1,tp,LOCATION_MZONE,0,nil)*500 local rec=Duel.GetMatchingGroupCount(c23784496.filter1,tp,LOCATION_MZONE,0,nil)*500
...@@ -38,7 +38,7 @@ function c23784496.operation(e,tp,eg,ep,ev,re,r,rp) ...@@ -38,7 +38,7 @@ function c23784496.operation(e,tp,eg,ep,ev,re,r,rp)
Duel.Recover(p,rec,REASON_EFFECT) Duel.Recover(p,rec,REASON_EFFECT)
end end
function c23784496.filter2(c) function c23784496.filter2(c)
return c:IsSetCard(0x10ec) and c:IsFaceup() and c:IsType(TYPE_PENDULUM) return c:IsFaceup() and c:IsType(TYPE_PENDULUM) and c:IsSetCard(0x10ec)
end end
function c23784496.drcon(e,tp,eg,ep,ev,re,r,rp) function c23784496.drcon(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler() local c=e:GetHandler()
......
...@@ -11,6 +11,7 @@ function c24907044.initial_effect(c) ...@@ -11,6 +11,7 @@ function c24907044.initial_effect(c)
e1:SetRange(LOCATION_PZONE) e1:SetRange(LOCATION_PZONE)
e1:SetCountLimit(1,EFFECT_COUNT_CODE_SINGLE) e1:SetCountLimit(1,EFFECT_COUNT_CODE_SINGLE)
e1:SetCondition(c24907044.atkcon1) e1:SetCondition(c24907044.atkcon1)
e1:SetTarget(c24907044.atktg1)
e1:SetOperation(c24907044.atkop1) e1:SetOperation(c24907044.atkop1)
c:RegisterEffect(e1) c:RegisterEffect(e1)
--to hand --to hand
...@@ -46,6 +47,10 @@ function c24907044.atkcon1(e,tp,eg,ep,ev,re,r,rp) ...@@ -46,6 +47,10 @@ function c24907044.atkcon1(e,tp,eg,ep,ev,re,r,rp)
local a=Duel.GetAttacker() local a=Duel.GetAttacker()
return ep==tp and a:IsControler(1-tp) and a:IsFaceup() and a:IsRelateToBattle() return ep==tp and a:IsControler(1-tp) and a:IsFaceup() and a:IsRelateToBattle()
end end
function c24907044.atktg1(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return true end
Duel.Hint(HINT_OPSELECTED,1-tp,e:GetDescription())
end
function c24907044.atkop1(e,tp,eg,ep,ev,re,r,rp) function c24907044.atkop1(e,tp,eg,ep,ev,re,r,rp)
local tc=Duel.GetAttacker() local tc=Duel.GetAttacker()
if tc:IsFaceup() and tc:IsControler(1-tp) and tc:IsRelateToBattle() then if tc:IsFaceup() and tc:IsControler(1-tp) and tc:IsRelateToBattle() then
...@@ -63,6 +68,7 @@ end ...@@ -63,6 +68,7 @@ end
function c24907044.thtg(e,tp,eg,ep,ev,re,r,rp,chk) function c24907044.thtg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(c24907044.thfilter,tp,LOCATION_EXTRA,0,1,nil,ev) end if chk==0 then return Duel.IsExistingMatchingCard(c24907044.thfilter,tp,LOCATION_EXTRA,0,1,nil,ev) end
Duel.SetOperationInfo(0,CATEGORY_TOHAND,nil,1,tp,LOCATION_EXTRA) Duel.SetOperationInfo(0,CATEGORY_TOHAND,nil,1,tp,LOCATION_EXTRA)
Duel.Hint(HINT_OPSELECTED,1-tp,e:GetDescription())
end end
function c24907044.thop(e,tp,eg,ep,ev,re,r,rp) function c24907044.thop(e,tp,eg,ep,ev,re,r,rp)
if not e:GetHandler():IsRelateToEffect(e) then return end if not e:GetHandler():IsRelateToEffect(e) then return end
...@@ -99,14 +105,12 @@ function c24907044.cfilter(c) ...@@ -99,14 +105,12 @@ function c24907044.cfilter(c)
return c:IsSetCard(0x20ec) and c:IsType(TYPE_SPELL) and c:IsSSetable() return c:IsSetCard(0x20ec) and c:IsType(TYPE_SPELL) and c:IsSSetable()
end end
function c24907044.settg(e,tp,eg,ep,ev,re,r,rp,chk) function c24907044.settg(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.IsExistingMatchingCard(c24907044.cfilter,tp,LOCATION_DECK,0,1,nil) end
and Duel.IsExistingMatchingCard(c24907044.cfilter,tp,LOCATION_DECK,0,1,nil) end
end end
function c24907044.setop(e,tp,eg,ep,ev,re,r,rp) function c24907044.setop(e,tp,eg,ep,ev,re,r,rp)
if Duel.GetLocationCount(tp,LOCATION_SZONE)<=0 then return end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SET) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SET)
local g=Duel.SelectMatchingCard(tp,c24907044.cfilter,tp,LOCATION_DECK,0,1,1,nil) local g=Duel.SelectMatchingCard(tp,c24907044.cfilter,tp,LOCATION_DECK,0,1,1,nil)
if g:GetCount()>0 and g:GetFirst():IsSSetable() then if g:GetCount()>0 then
Duel.SSet(tp,g) Duel.SSet(tp,g)
Duel.ConfirmCards(1-tp,g) Duel.ConfirmCards(1-tp,g)
end end
......
...@@ -71,6 +71,7 @@ function c25339070.cptg(e,tp,eg,ep,ev,re,r,rp,chk,chkc) ...@@ -71,6 +71,7 @@ function c25339070.cptg(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
te:SetLabelObject(e:GetLabelObject()) te:SetLabelObject(e:GetLabelObject())
e:SetLabelObject(te) e:SetLabelObject(te)
Duel.SetOperationInfo(0,CATEGORY_TODECK,g,1,0,0) Duel.SetOperationInfo(0,CATEGORY_TODECK,g,1,0,0)
Duel.SetOperationInfo(0,CATEGORY_DESTROY,nil,0,0,0)
end end
function c25339070.cpop(e,tp,eg,ep,ev,re,r,rp) function c25339070.cpop(e,tp,eg,ep,ev,re,r,rp)
local te=e:GetLabelObject() local te=e:GetLabelObject()
......
...@@ -48,7 +48,7 @@ function c25451652.spfilter(c,e,tp) ...@@ -48,7 +48,7 @@ function c25451652.spfilter(c,e,tp)
end end
function c25451652.sptg(e,tp,eg,ep,ev,re,r,rp,chk) function c25451652.sptg(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(c25451652.ctfilter,tp,LOCATION_MZONE,0,1,nil,e,tp) and Duel.IsExistingMatchingCard(c25451652.ctfilter,tp,0,LOCATION_MZONE,1,nil,e,tp)
and Duel.IsExistingMatchingCard(c25451652.spfilter,tp,LOCATION_HAND+LOCATION_DECK,0,1,nil,e,tp) end and Duel.IsExistingMatchingCard(c25451652.spfilter,tp,LOCATION_HAND+LOCATION_DECK,0,1,nil,e,tp) end
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,1,tp,LOCATION_HAND+LOCATION_DECK) Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,1,tp,LOCATION_HAND+LOCATION_DECK)
end end
......
...@@ -50,7 +50,6 @@ function c25629622.thop(e,tp,eg,ep,ev,re,r,rp) ...@@ -50,7 +50,6 @@ function c25629622.thop(e,tp,eg,ep,ev,re,r,rp)
local tc=Duel.GetFirstTarget() local tc=Duel.GetFirstTarget()
if tc:IsRelateToEffect(e) then if tc:IsRelateToEffect(e) then
Duel.SendtoHand(tc,nil,REASON_EFFECT) Duel.SendtoHand(tc,nil,REASON_EFFECT)
Duel.ConfirmCards(1-tp,tc)
end end
end end
function c25629622.limop(e,tp,eg,ep,ev,re,r,rp) function c25629622.limop(e,tp,eg,ep,ev,re,r,rp)
...@@ -59,17 +58,15 @@ end ...@@ -59,17 +58,15 @@ end
function c25629622.chlimit(e,rp,tp) function c25629622.chlimit(e,rp,tp)
return tp==rp or e:IsActiveType(TYPE_MONSTER) return tp==rp or e:IsActiveType(TYPE_MONSTER)
end end
function c25629622.cfilter(c) function c25629622.setfilter(c)
return c:IsSetCard(0x20ec) and c:IsType(TYPE_SPELL) and c:IsSSetable() return c:IsSetCard(0x20ec) and c:IsType(TYPE_SPELL) and c:IsSSetable()
end end
function c25629622.settg(e,tp,eg,ep,ev,re,r,rp,chk) function c25629622.settg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.GetLocationCount(tp,LOCATION_SZONE)>-1 if chk==0 then return Duel.IsExistingMatchingCard(c25629622.setfilter,tp,LOCATION_DECK,0,1,nil) end
and Duel.IsExistingMatchingCard(c25629622.cfilter,tp,LOCATION_DECK,0,1,nil) end
end end
function c25629622.setop(e,tp,eg,ep,ev,re,r,rp) function c25629622.setop(e,tp,eg,ep,ev,re,r,rp)
if Duel.GetLocationCount(tp,LOCATION_SZONE)<=0 then return end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SET) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SET)
local g=Duel.SelectMatchingCard(tp,c25629622.cfilter,tp,LOCATION_DECK,0,1,1,nil) local g=Duel.SelectMatchingCard(tp,c25629622.setfilter,tp,LOCATION_DECK,0,1,1,nil)
if g:GetCount()>0 then if g:GetCount()>0 then
local c=e:GetHandler() local c=e:GetHandler()
local tc=g:GetFirst() local tc=g:GetFirst()
......
...@@ -28,7 +28,7 @@ function c26841274.target(e,tp,eg,ep,ev,re,r,rp,chk) ...@@ -28,7 +28,7 @@ function c26841274.target(e,tp,eg,ep,ev,re,r,rp,chk)
local ce=Duel.GetChainMaterial(tp) local ce=Duel.GetChainMaterial(tp)
if ce~=nil then if ce~=nil then
local fgroup=ce:GetTarget() local fgroup=ce:GetTarget()
local mg2=fgroup(ce,e,tp) local mg2=fgroup(ce,e,tp):Filter(c26841274.filter3,nil)
local mf=ce:GetValue() local mf=ce:GetValue()
res=Duel.IsExistingMatchingCard(c26841274.filter2,tp,LOCATION_EXTRA,0,1,nil,e,tp,mg2,mf,chkf) res=Duel.IsExistingMatchingCard(c26841274.filter2,tp,LOCATION_EXTRA,0,1,nil,e,tp,mg2,mf,chkf)
end end
......
...@@ -83,8 +83,8 @@ end ...@@ -83,8 +83,8 @@ end
function c26964762.filter(c) function c26964762.filter(c)
return c:GetType()==TYPE_SPELL return c:GetType()==TYPE_SPELL
end end
function c26964762.decktg(e,tp,eg,ep,ev,re,r,rp,chk,chkc) function c26964762.decktg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.GetFieldGroupCount(tp,LOCATION_DECK,0)>1 if chk==0 then return Duel.GetFieldGroupCount(tp,0,LOCATION_DECK)>0
and Duel.IsExistingMatchingCard(c26964762.filter,tp,LOCATION_DECK,0,1,nil) end and Duel.IsExistingMatchingCard(c26964762.filter,tp,LOCATION_DECK,0,1,nil) end
end end
function c26964762.deckop(e,tp,eg,ep,ev,re,r,rp) function c26964762.deckop(e,tp,eg,ep,ev,re,r,rp)
......
...@@ -14,6 +14,7 @@ function c37780349.initial_effect(c) ...@@ -14,6 +14,7 @@ function c37780349.initial_effect(c)
--atkup --atkup
local e2=Effect.CreateEffect(c) local e2=Effect.CreateEffect(c)
e2:SetDescription(aux.Stringid(37780349,1)) e2:SetDescription(aux.Stringid(37780349,1))
e2:SetCategory(CATEGORY_ATKCHANGE)
e2:SetType(EFFECT_TYPE_IGNITION) e2:SetType(EFFECT_TYPE_IGNITION)
e2:SetRange(LOCATION_GRAVE) e2:SetRange(LOCATION_GRAVE)
e2:SetProperty(EFFECT_FLAG_CARD_TARGET) e2:SetProperty(EFFECT_FLAG_CARD_TARGET)
......
...@@ -14,7 +14,7 @@ end ...@@ -14,7 +14,7 @@ end
function c50501121.costfilter(c) function c50501121.costfilter(c)
return c:IsSetCard(0xef) return c:IsSetCard(0xef)
and c:IsType(TYPE_MONSTER) and (c:IsLocation(LOCATION_HAND) or c:IsFaceup()) and c:IsAbleToGraveAsCost() and c:IsType(TYPE_MONSTER) and (c:IsLocation(LOCATION_HAND) or c:IsFaceup()) and c:IsAbleToGraveAsCost()
and Duel.IsExistingMatchingCard(aux.TRUE,tp,LOCATION_ONFIELD,LOCATION_ONFIELD,1,c) and Duel.IsExistingMatchingCard(nil,tp,LOCATION_ONFIELD,LOCATION_ONFIELD,1,c)
end end
function c50501121.cost(e,tp,eg,ep,ev,re,r,rp,chk) function c50501121.cost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(c50501121.costfilter,tp,LOCATION_HAND+LOCATION_MZONE,0,1,nil) end if chk==0 then return Duel.IsExistingMatchingCard(c50501121.costfilter,tp,LOCATION_HAND+LOCATION_MZONE,0,1,nil) end
...@@ -25,7 +25,7 @@ end ...@@ -25,7 +25,7 @@ end
function c50501121.target(e,tp,eg,ep,ev,re,r,rp,chk) function c50501121.target(e,tp,eg,ep,ev,re,r,rp,chk)
local exc=nil local exc=nil
if e:IsHasType(EFFECT_TYPE_ACTIVATE) then exc=e:GetHandler() end if e:IsHasType(EFFECT_TYPE_ACTIVATE) then exc=e:GetHandler() end
local g=Duel.GetMatchingGroup(aux.TRUE,tp,LOCATION_ONFIELD,LOCATION_ONFIELD,exc) local g=Duel.GetMatchingGroup(nil,tp,LOCATION_ONFIELD,LOCATION_ONFIELD,exc)
if chk==0 then return g:GetCount()>0 end if chk==0 then return g:GetCount()>0 end
Duel.SetOperationInfo(0,CATEGORY_DESTROY,g,1,0,0) Duel.SetOperationInfo(0,CATEGORY_DESTROY,g,1,0,0)
end end
...@@ -33,7 +33,7 @@ function c50501121.activate(e,tp,eg,ep,ev,re,r,rp) ...@@ -33,7 +33,7 @@ function c50501121.activate(e,tp,eg,ep,ev,re,r,rp)
local exc=nil local exc=nil
if e:IsHasType(EFFECT_TYPE_ACTIVATE) then exc=e:GetHandler() end if e:IsHasType(EFFECT_TYPE_ACTIVATE) then exc=e:GetHandler() end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_DESTROY) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_DESTROY)
local g=Duel.SelectMatchingCard(tp,aux.TRUE,tp,LOCATION_ONFIELD,LOCATION_ONFIELD,1,1,exc) local g=Duel.SelectMatchingCard(tp,nil,tp,LOCATION_ONFIELD,LOCATION_ONFIELD,1,1,exc)
if g:GetCount()>0 then if g:GetCount()>0 then
Duel.HintSelection(g) Duel.HintSelection(g)
Duel.Destroy(g,REASON_EFFECT) Duel.Destroy(g,REASON_EFFECT)
......
...@@ -18,7 +18,7 @@ function c51391183.initial_effect(c) ...@@ -18,7 +18,7 @@ function c51391183.initial_effect(c)
e2:SetType(EFFECT_TYPE_IGNITION) e2:SetType(EFFECT_TYPE_IGNITION)
e2:SetRange(LOCATION_MZONE) e2:SetRange(LOCATION_MZONE)
e2:SetCountLimit(1) e2:SetCountLimit(1)
e2:SetCondition(c51391183.atkcon) e2:SetTarget(c51391183.atktg)
e2:SetOperation(c51391183.atkop) e2:SetOperation(c51391183.atkop)
c:RegisterEffect(e2) c:RegisterEffect(e2)
--to hand --to hand
...@@ -70,13 +70,14 @@ end ...@@ -70,13 +70,14 @@ end
function c51391183.atkfilter(c) function c51391183.atkfilter(c)
return c:IsSetCard(0x10ec) and c:IsFaceup() return c:IsSetCard(0x10ec) and c:IsFaceup()
end end
function c51391183.atkcon(e,tp,eg,ep,ev,re,r,rp) function c51391183.atktg(e,tp,eg,ep,ev,re,r,rp,chk)
return Duel.GetMatchingGroupCount(c51391183.atkfilter,tp,LOCATION_ONFIELD,0,nil)>0 if chk==0 then return Duel.IsExistingMatchingCard(c51391183.atkfilter,tp,LOCATION_MZONE,0,1,nil) end
end end
function c51391183.atkop(e,tp,eg,ep,ev,re,r,rp) function c51391183.atkop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler() local c=e:GetHandler()
local g=Duel.GetMatchingGroup(c51391183.atkfilter,tp,LOCATION_MZONE,0,nil)
if c:IsFaceup() and c:IsRelateToEffect(e) then if c:IsFaceup() and c:IsRelateToEffect(e) then
local atkval=Duel.GetMatchingGroupCount(c51391183.atkfilter,tp,LOCATION_MZONE,0,nil)*100 local atkval=g:GetClassCount(Card.GetCode)*100
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE) e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetCode(EFFECT_UPDATE_ATTACK) e1:SetCode(EFFECT_UPDATE_ATTACK)
......
...@@ -80,6 +80,7 @@ function c51728779.cptg(e,tp,eg,ep,ev,re,r,rp,chk,chkc) ...@@ -80,6 +80,7 @@ function c51728779.cptg(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
te:SetLabelObject(e:GetLabelObject()) te:SetLabelObject(e:GetLabelObject())
e:SetLabelObject(te) e:SetLabelObject(te)
Duel.SetOperationInfo(0,CATEGORY_TODECK,g,1,0,0) Duel.SetOperationInfo(0,CATEGORY_TODECK,g,1,0,0)
Duel.SetOperationInfo(0,CATEGORY_DESTROY,nil,0,0,0)
end end
function c51728779.cpop(e,tp,eg,ep,ev,re,r,rp) function c51728779.cpop(e,tp,eg,ep,ev,re,r,rp)
local te=e:GetLabelObject() local te=e:GetLabelObject()
......
...@@ -11,7 +11,7 @@ function c52240819.initial_effect(c) ...@@ -11,7 +11,7 @@ function c52240819.initial_effect(c)
e1:SetRange(LOCATION_PZONE) e1:SetRange(LOCATION_PZONE)
e1:SetCountLimit(1) e1:SetCountLimit(1)
e1:SetCost(c52240819.atkcost1) e1:SetCost(c52240819.atkcost1)
e1:SetTarget(c52240819.atktg) e1:SetTarget(c52240819.atktg1)
e1:SetOperation(c52240819.atkop1) e1:SetOperation(c52240819.atkop1)
c:RegisterEffect(e1) c:RegisterEffect(e1)
--atk down (summon) --atk down (summon)
...@@ -20,8 +20,7 @@ function c52240819.initial_effect(c) ...@@ -20,8 +20,7 @@ function c52240819.initial_effect(c)
e2:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_O) e2:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_O)
e2:SetProperty(EFFECT_FLAG_DELAY) e2:SetProperty(EFFECT_FLAG_DELAY)
e2:SetCode(EVENT_SUMMON_SUCCESS) e2:SetCode(EVENT_SUMMON_SUCCESS)
e2:SetCondition(c52240819.atkcon2) e2:SetTarget(c52240819.atktg2)
e2:SetTarget(c52240819.atktg)
e2:SetOperation(c52240819.atkop2) e2:SetOperation(c52240819.atkop2)
c:RegisterEffect(e2) c:RegisterEffect(e2)
local e3=e2:Clone() local e3=e2:Clone()
...@@ -43,11 +42,11 @@ function c52240819.atkcost1(e,tp,eg,ep,ev,re,r,rp,chk) ...@@ -43,11 +42,11 @@ function c52240819.atkcost1(e,tp,eg,ep,ev,re,r,rp,chk)
e:SetLabel(g:GetFirst():GetBaseAttack()) e:SetLabel(g:GetFirst():GetBaseAttack())
Duel.Release(g,REASON_COST) Duel.Release(g,REASON_COST)
end end
function c52240819.atktg(e,tp,eg,ep,ev,re,r,rp,chk,chkc) function c52240819.atktg1(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
if chkc then return chkc:IsLocation(LOCATION_MZONE) and chkc:IsControler(1-tp) and chkc:IsFaceup() end if chkc then return chkc:IsLocation(LOCATION_MZONE) and chkc:IsControler(1-tp) and chkc:IsFaceup() end
if chk==0 then return Duel.IsExistingTarget(Card.IsFaceup,tp,0,LOCATION_MZONE,1,nil) end if chk==0 then return Duel.IsExistingTarget(Card.IsFaceup,tp,0,LOCATION_MZONE,1,nil) end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_FACEUP) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_FACEUP)
local g=Duel.SelectTarget(tp,Card.IsFaceup,tp,0,LOCATION_MZONE,1,1,nil) Duel.SelectTarget(tp,Card.IsFaceup,tp,0,LOCATION_MZONE,1,1,nil)
end end
function c52240819.atkop1(e,tp,eg,ep,ev,re,r,rp) function c52240819.atkop1(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler() local c=e:GetHandler()
...@@ -64,8 +63,12 @@ end ...@@ -64,8 +63,12 @@ end
function c52240819.atkfilter(c) function c52240819.atkfilter(c)
return c:IsSetCard(0x10ec) and c:IsFaceup() return c:IsSetCard(0x10ec) and c:IsFaceup()
end end
function c52240819.atkcon2(e,tp,eg,ep,ev,re,r,rp) function c52240819.atktg2(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
return Duel.GetMatchingGroupCount(c52240819.atkfilter,tp,LOCATION_MZONE,0,nil)>0 if chkc then return chkc:IsLocation(LOCATION_MZONE) and chkc:IsControler(1-tp) and chkc:IsFaceup() end
if chk==0 then return Duel.IsExistingTarget(Card.IsFaceup,tp,0,LOCATION_MZONE,1,nil)
and Duel.IsExistingMatchingCard(c52240819.atkfilter,tp,LOCATION_MZONE,0,1,nil) end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_FACEUP)
Duel.SelectTarget(tp,Card.IsFaceup,tp,0,LOCATION_MZONE,1,1,nil)
end end
function c52240819.atkop2(e,tp,eg,ep,ev,re,r,rp) function c52240819.atkop2(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler() local c=e:GetHandler()
...@@ -85,8 +88,7 @@ function c52240819.cfilter(c) ...@@ -85,8 +88,7 @@ function c52240819.cfilter(c)
end end
function c52240819.settg(e,tp,eg,ep,ev,re,r,rp,chk,chkc) function c52240819.settg(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
if chkc then return chkc:IsControler(tp) and chkc:IsLocation(LOCATION_GRAVE) and c52240819.cfilter(chkc) end if chkc then return chkc:IsControler(tp) and chkc:IsLocation(LOCATION_GRAVE) and c52240819.cfilter(chkc) end
if chk==0 then return Duel.GetLocationCount(tp,LOCATION_SZONE)>0 if chk==0 then return Duel.IsExistingMatchingCard(c52240819.cfilter,tp,LOCATION_GRAVE,0,1,nil) end
and Duel.IsExistingMatchingCard(c52240819.cfilter,tp,LOCATION_GRAVE,0,1,nil) end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SET) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SET)
local g=Duel.SelectTarget(tp,c52240819.cfilter,tp,LOCATION_GRAVE,0,1,1,nil) local g=Duel.SelectTarget(tp,c52240819.cfilter,tp,LOCATION_GRAVE,0,1,1,nil)
Duel.SetOperationInfo(0,CATEGORY_LEAVE_GRAVE,g,1,0,0) Duel.SetOperationInfo(0,CATEGORY_LEAVE_GRAVE,g,1,0,0)
......
...@@ -74,6 +74,7 @@ function c52840267.cptg(e,tp,eg,ep,ev,re,r,rp,chk,chkc) ...@@ -74,6 +74,7 @@ function c52840267.cptg(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
te:SetLabelObject(e:GetLabelObject()) te:SetLabelObject(e:GetLabelObject())
e:SetLabelObject(te) e:SetLabelObject(te)
Duel.SetOperationInfo(0,CATEGORY_TODECK,g,1,0,0) Duel.SetOperationInfo(0,CATEGORY_TODECK,g,1,0,0)
Duel.SetOperationInfo(0,CATEGORY_DESTROY,nil,0,0,0)
end end
function c52840267.cpop(e,tp,eg,ep,ev,re,r,rp) function c52840267.cpop(e,tp,eg,ep,ev,re,r,rp)
local te=e:GetLabelObject() local te=e:GetLabelObject()
......
...@@ -8,7 +8,7 @@ function c64184058.initial_effect(c) ...@@ -8,7 +8,7 @@ function c64184058.initial_effect(c)
e1:SetRange(LOCATION_MZONE) e1:SetRange(LOCATION_MZONE)
e1:SetValue(c64184058.atlimit) e1:SetValue(c64184058.atlimit)
c:RegisterEffect(e1) c:RegisterEffect(e1)
--search --to hand
local e2=Effect.CreateEffect(c) local e2=Effect.CreateEffect(c)
e2:SetCategory(CATEGORY_TOHAND) e2:SetCategory(CATEGORY_TOHAND)
e2:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_O) e2:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_O)
...@@ -57,8 +57,8 @@ function c64184058.thop(e,tp,eg,ep,ev,re,r,rp) ...@@ -57,8 +57,8 @@ function c64184058.thop(e,tp,eg,ep,ev,re,r,rp)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_RTOHAND) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_RTOHAND)
local g=Duel.SelectMatchingCard(tp,c64184058.thfilter,tp,LOCATION_GRAVE,0,1,1,nil) local g=Duel.SelectMatchingCard(tp,c64184058.thfilter,tp,LOCATION_GRAVE,0,1,1,nil)
if g:GetCount()>0 and not g:GetFirst():IsHasEffect(EFFECT_NECRO_VALLEY) then if g:GetCount()>0 and not g:GetFirst():IsHasEffect(EFFECT_NECRO_VALLEY) then
Duel.HintSelection(g)
Duel.SendtoHand(g,nil,REASON_EFFECT) Duel.SendtoHand(g,nil,REASON_EFFECT)
Duel.ConfirmCards(1-tp,g)
end end
end end
function c64184058.damtg(e,tp,eg,ep,ev,re,r,rp,chk) function c64184058.damtg(e,tp,eg,ep,ev,re,r,rp,chk)
......
...@@ -27,7 +27,7 @@ function c87390798.target(e,tp,eg,ep,ev,re,r,rp,chk,chkc) ...@@ -27,7 +27,7 @@ function c87390798.target(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
if chkc then return chkc:IsLocation(LOCATION_MZONE) and chkc:IsControler(tp) and c87390798.filter(chkc) end if chkc then return chkc:IsLocation(LOCATION_MZONE) and chkc:IsControler(tp) and c87390798.filter(chkc) end
if chk==0 then return Duel.IsExistingTarget(c87390798.filter,tp,LOCATION_MZONE,0,1,nil) end if chk==0 then return Duel.IsExistingTarget(c87390798.filter,tp,LOCATION_MZONE,0,1,nil) end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TARGET) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TARGET)
local g=Duel.SelectTarget(tp,c87390798.filter,tp,LOCATION_MZONE,0,1,1,nil) Duel.SelectTarget(tp,c87390798.filter,tp,LOCATION_MZONE,0,1,1,nil)
end end
function c87390798.activate(e,tp,eg,ep,ev,re,r,rp) function c87390798.activate(e,tp,eg,ep,ev,re,r,rp)
local tc=Duel.GetFirstTarget() local tc=Duel.GetFirstTarget()
......
...@@ -63,6 +63,7 @@ function c88234365.cptg(e,tp,eg,ep,ev,re,r,rp,chk,chkc) ...@@ -63,6 +63,7 @@ function c88234365.cptg(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
te:SetLabelObject(e:GetLabelObject()) te:SetLabelObject(e:GetLabelObject())
e:SetLabelObject(te) e:SetLabelObject(te)
Duel.SetOperationInfo(0,CATEGORY_TODECK,g,1,0,0) Duel.SetOperationInfo(0,CATEGORY_TODECK,g,1,0,0)
Duel.SetOperationInfo(0,CATEGORY_DESTROY,nil,0,0,0)
end end
function c88234365.cpop(e,tp,eg,ep,ev,re,r,rp) function c88234365.cpop(e,tp,eg,ep,ev,re,r,rp)
local te=e:GetLabelObject() local te=e:GetLabelObject()
......
--D-HERO ディストピアガイ --D-HERO ディストピアガイ
function c90579153.initial_effect(c) function c90579153.initial_effect(c)
--fusion material
c:EnableReviveLimit() c:EnableReviveLimit()
aux.AddFusionProcFunRep(c,aux.FilterBoolFunction(Card.IsFusionSetCard,0xc008),2,true) aux.AddFusionProcFunRep(c,aux.FilterBoolFunction(Card.IsFusionSetCard,0xc008),2,true)
--damage --damage
...@@ -49,9 +50,9 @@ function c90579153.descon(e,tp,eg,ep,ev,re,r,rp) ...@@ -49,9 +50,9 @@ function c90579153.descon(e,tp,eg,ep,ev,re,r,rp)
end end
function c90579153.destg(e,tp,eg,ep,ev,re,r,rp,chk,chkc) function c90579153.destg(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
if chkc then return chkc:IsOnField() end if chkc then return chkc:IsOnField() end
if chk==0 then return Duel.IsExistingTarget(aux.TRUE,tp,LOCATION_ONFIELD,LOCATION_ONFIELD,1,nil) end if chk==0 then return Duel.IsExistingTarget(nil,tp,LOCATION_ONFIELD,LOCATION_ONFIELD,1,nil) end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_DESTROY) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_DESTROY)
local g=Duel.SelectTarget(tp,aux.TRUE,tp,LOCATION_ONFIELD,LOCATION_ONFIELD,1,1,nil) local g=Duel.SelectTarget(tp,nil,tp,LOCATION_ONFIELD,LOCATION_ONFIELD,1,1,nil)
Duel.SetOperationInfo(0,CATEGORY_DESTROY,g,1,0,0) Duel.SetOperationInfo(0,CATEGORY_DESTROY,g,1,0,0)
end end
function c90579153.desop(e,tp,eg,ep,ev,re,r,rp) function c90579153.desop(e,tp,eg,ep,ev,re,r,rp)
......
...@@ -24,9 +24,8 @@ function c91691605.filter(c,e,tp,atk) ...@@ -24,9 +24,8 @@ function c91691605.filter(c,e,tp,atk)
return c:IsSetCard(0xc008) and c:IsAttackBelow(atk) and c:IsCanBeSpecialSummoned(e,0,tp,false,false) return c:IsSetCard(0xc008) and c:IsAttackBelow(atk) and c:IsCanBeSpecialSummoned(e,0,tp,false,false)
end end
function c91691605.target(e,tp,eg,ep,ev,re,r,rp,chk) function c91691605.target(e,tp,eg,ep,ev,re,r,rp,chk)
local atk=e:GetHandler():GetAttack()
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(c91691605.filter,tp,LOCATION_HAND,0,1,nil,e,tp,atk) end and Duel.IsExistingMatchingCard(c91691605.filter,tp,LOCATION_HAND,0,1,nil,e,tp,e:GetHandler():GetAttack()) 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
function c91691605.operation(e,tp,eg,ep,ev,re,r,rp) function c91691605.operation(e,tp,eg,ep,ev,re,r,rp)
......
...@@ -46,10 +46,11 @@ function c99357565.spfilter(c,e,tp) ...@@ -46,10 +46,11 @@ function c99357565.spfilter(c,e,tp)
return c:IsCode(99357565) and c:IsCanBeSpecialSummoned(e,0,tp,false,false) return c:IsCode(99357565) and c:IsCanBeSpecialSummoned(e,0,tp,false,false)
end end
function c99357565.spcost(e,tp,eg,ep,ev,re,r,rp,chk) function c99357565.spcost(e,tp,eg,ep,ev,re,r,rp,chk)
local ct=math.min(2,Duel.GetMatchingGroupCount(c99357565.spfilter,tp,LOCATION_HAND+LOCATION_GRAVE+LOCATION_DECK,0,nil,e,tp)) if chk==0 then return Duel.IsExistingMatchingCard(Card.IsDiscardable,tp,LOCATION_HAND,0,1,nil) end
if chk==0 then return ct>0 local ct=2
and Duel.IsExistingMatchingCard(Card.IsDiscardable,tp,LOCATION_HAND,0,1,nil) end
if Duel.IsPlayerAffectedByEffect(tp,59822133) then ct=1 end if Duel.IsPlayerAffectedByEffect(tp,59822133) then ct=1 end
ct=math.min(ct,Duel.GetLocationCount(tp,LOCATION_MZONE),
Duel.GetMatchingGroupCount(c99357565.spfilter,tp,LOCATION_HAND+LOCATION_GRAVE+LOCATION_DECK,0,nil,e,tp))
local cg=Duel.DiscardHand(tp,Card.IsDiscardable,1,ct,REASON_COST+REASON_DISCARD,nil) local cg=Duel.DiscardHand(tp,Card.IsDiscardable,1,ct,REASON_COST+REASON_DISCARD,nil)
e:SetLabel(cg) e:SetLabel(cg)
end end
......
...@@ -20,7 +20,7 @@ function c99634927.initial_effect(c) ...@@ -20,7 +20,7 @@ function c99634927.initial_effect(c)
e2:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_O) e2:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_O)
e2:SetProperty(EFFECT_FLAG_DELAY) e2:SetProperty(EFFECT_FLAG_DELAY)
e2:SetCode(EVENT_SUMMON_SUCCESS) e2:SetCode(EVENT_SUMMON_SUCCESS)
e2:SetCondition(c99634927.atkcon2) e2:SetTarget(c99634927.atktg2)
e2:SetOperation(c99634927.atkop2) e2:SetOperation(c99634927.atkop2)
c:RegisterEffect(e2) c:RegisterEffect(e2)
local e3=e2:Clone() local e3=e2:Clone()
...@@ -54,7 +54,7 @@ function c99634927.atktg1(e,tp,eg,ep,ev,re,r,rp,chk,chkc) ...@@ -54,7 +54,7 @@ function c99634927.atktg1(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
if chkc then return chkc:IsLocation(LOCATION_MZONE) and chkc:IsControler(tp) and c99634927.atkfilter2(chkc) end if chkc then return chkc:IsLocation(LOCATION_MZONE) and chkc:IsControler(tp) and c99634927.atkfilter2(chkc) end
if chk==0 then return Duel.IsExistingTarget(c99634927.atkfilter2,tp,LOCATION_MZONE,0,1,nil) end if chk==0 then return Duel.IsExistingTarget(c99634927.atkfilter2,tp,LOCATION_MZONE,0,1,nil) end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_FACEUP) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_FACEUP)
local g=Duel.SelectTarget(tp,c99634927.atkfilter2,tp,LOCATION_MZONE,0,1,1,nil) Duel.SelectTarget(tp,c99634927.atkfilter2,tp,LOCATION_MZONE,0,1,1,nil)
end end
function c99634927.atkop1(e,tp,eg,ep,ev,re,r,rp) function c99634927.atkop1(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler() local c=e:GetHandler()
...@@ -68,8 +68,8 @@ function c99634927.atkop1(e,tp,eg,ep,ev,re,r,rp) ...@@ -68,8 +68,8 @@ function c99634927.atkop1(e,tp,eg,ep,ev,re,r,rp)
tc:RegisterEffect(e1) tc:RegisterEffect(e1)
end end
end end
function c99634927.atkcon2(e,tp,eg,ep,ev,re,r,rp) function c99634927.atktg2(e,tp,eg,ep,ev,re,r,rp,chk)
return Duel.GetMatchingGroupCount(c99634927.atkfilter2,tp,LOCATION_MZONE,0,nil)>0 if chk==0 then return Duel.IsExistingMatchingCard(c99634927.atkfilter2,tp,LOCATION_MZONE,0,1,nil) end
end end
function c99634927.atkop2(e,tp,eg,ep,ev,re,r,rp) function c99634927.atkop2(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler() local c=e:GetHandler()
...@@ -79,7 +79,7 @@ function c99634927.atkop2(e,tp,eg,ep,ev,re,r,rp) ...@@ -79,7 +79,7 @@ function c99634927.atkop2(e,tp,eg,ep,ev,re,r,rp)
e1:SetType(EFFECT_TYPE_SINGLE) e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetCode(EFFECT_UPDATE_ATTACK) e1:SetCode(EFFECT_UPDATE_ATTACK)
e1:SetValue(atkval) e1:SetValue(atkval)
e1:SetReset(RESET_EVENT+0x1fe0000+RESET_PHASE+PHASE_END) e1:SetReset(RESET_EVENT+0x1ff0000+RESET_PHASE+PHASE_END)
c:RegisterEffect(e1) c:RegisterEffect(e1)
end end
end end
......
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