Commit dd901a4f authored by Tachibana's avatar Tachibana

watele

parent 334b4974
No preview for this file type
...@@ -100,10 +100,10 @@ function srre.check_effect_ignite(c) ...@@ -100,10 +100,10 @@ function srre.check_effect_ignite(c)
return srre.check_effect(c,"ignite") return srre.check_effect(c,"ignite")
end end
function srre.check_set_GDRT(c) -- function srre.check_set_GDRT(c) --
return srre.check_set(c,"GDRT") or srre.check_set(c,"GDRT_DG") return srre.check_set(c,"GDRT") or srre.check_set(c,"GDRTDG")
end end
function srre.check_set_GDRT_DG(c) -- function srre.check_set_GDRT_DG(c) --
return srre.check_set(c,"GDRT_DG") return srre.check_set(c,"GDRTDG")
end end
function srre.SPSummoneffect(c,m,des,tt,cate,pro,limit,con,cost,tg,op) function srre.SPSummoneffect(c,m,des,tt,cate,pro,limit,con,cost,tg,op)
--tograve --tograve
......
...@@ -10,12 +10,12 @@ function cm.initial_effect(c) ...@@ -10,12 +10,12 @@ function cm.initial_effect(c)
end end
function cm.lxceffect(e,tp,eg,ep,ev,re,r,rp,ct) function cm.lxceffect(e,tp,eg,ep,ev,re,r,rp,ct)
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,nil) local g=Duel.SelectMatchingCard(tp,aux.TRUE,tp,0,LOCATION_ONFIELD,1,1,nil)
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)
if ct>2 then if ct>2 then
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_ATOHAND) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_REMOVE)
local tg=Duel.SelectMatchingCard(tp,Card.IsAbleToRemove,tp,LOCATION_GRAVE,LOCATION_GRAVE,1,1,nil,tp,POS_FACEDOWN) local tg=Duel.SelectMatchingCard(tp,Card.IsAbleToRemove,tp,LOCATION_GRAVE,LOCATION_GRAVE,1,1,nil,tp,POS_FACEDOWN)
if tg:GetCount()>0 then if tg:GetCount()>0 then
Duel.Remove(tg,POS_FACEDOWN,REASON_EFFECT) Duel.Remove(tg,POS_FACEDOWN,REASON_EFFECT)
......
...@@ -13,7 +13,7 @@ function cm.lxceffect(e,tp,eg,ep,ev,re,r,rp,ct) ...@@ -13,7 +13,7 @@ function cm.lxceffect(e,tp,eg,ep,ev,re,r,rp,ct)
Duel.Draw(tp,2,REASON_EFFECT) Duel.Draw(tp,2,REASON_EFFECT)
Duel.DiscardHand(tp,aux.TRUE,2,2,REASON_EFFECT+REASON_DISCARD) Duel.DiscardHand(tp,aux.TRUE,2,2,REASON_EFFECT+REASON_DISCARD)
end end
if ct>2 then if ct>2 and Duel.IsExistingMatchingCard(aux.TRUE,tp,LOCATION_ONFIELD,LOCATION_ONFIELD,1,nil) and Duel.SelectEffectYesNo(tp,aux.Stringid(m,2)) then
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_ATOHAND) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_ATOHAND)
local g=Duel.SelectMatchingCard(tp,aux.TRUE,tp,LOCATION_ONFIELD,LOCATION_ONFIELD,1,1,nil) local g=Duel.SelectMatchingCard(tp,aux.TRUE,tp,LOCATION_ONFIELD,LOCATION_ONFIELD,1,1,nil)
if g:GetCount()>0 then if g:GetCount()>0 then
......
...@@ -27,7 +27,7 @@ function cm.initial_effect(c) ...@@ -27,7 +27,7 @@ function cm.initial_effect(c)
local e2=Effect.CreateEffect(c) local e2=Effect.CreateEffect(c)
e2:SetCategory(CATEGORY_RECOVER) e2:SetCategory(CATEGORY_RECOVER)
e2:SetType(EFFECT_TYPE_CONTINUOUS+EFFECT_TYPE_FIELD) e2:SetType(EFFECT_TYPE_CONTINUOUS+EFFECT_TYPE_FIELD)
e2:SetCode(EVENT_REMOVE) e2:SetCode(EVENT_TO_GRAVE)
e2:SetRange(LOCATION_MZONE) e2:SetRange(LOCATION_MZONE)
e2:SetCondition(cm.condition) e2:SetCondition(cm.condition)
e2:SetOperation(cm.operation) e2:SetOperation(cm.operation)
...@@ -60,17 +60,17 @@ function cm.initial_effect(c) ...@@ -60,17 +60,17 @@ function cm.initial_effect(c)
e3:SetOperation(cm.mtop) e3:SetOperation(cm.mtop)
c:RegisterEffect(e3) c:RegisterEffect(e3)
end end
function cm.spfilter(c,fc,tp) function cm.cspfilter(c,fc,tp)
return c:IsSetCard(0x5fa6) and c:IsType(TYPE_XYZ) return c:IsSetCard(0x5fa6) and c:IsType(TYPE_XYZ)
and c:IsReleasable() and Duel.GetLocationCountFromEx(tp,tp,c,fc)>0 and c:IsCanBeFusionMaterial(fc,SUMMON_TYPE_SPECIAL) and c:IsReleasable() and Duel.GetLocationCountFromEx(tp,tp,c,fc)>0 and c:IsCanBeFusionMaterial(fc,SUMMON_TYPE_SPECIAL)
end end
function cm.spcon(e,c) function cm.spcon(e,c)
if c==nil then return true end if c==nil then return true end
local tp=c:GetControler() local tp=c:GetControler()
return Duel.CheckReleaseGroup(tp,cm.spfilter,1,nil,c,tp) return Duel.CheckReleaseGroup(tp,cm.cspfilter,1,nil,c,tp)
end end
function cm.spop(e,tp,eg,ep,ev,re,r,rp,c) function cm.spop(e,tp,eg,ep,ev,re,r,rp,c)
local g=Duel.SelectReleaseGroup(tp,cm.spfilter,1,1,nil,c,tp) local g=Duel.SelectReleaseGroup(tp,cm.cspfilter,1,1,nil,c,tp)
c:SetMaterial(g) c:SetMaterial(g)
Duel.Release(g,REASON_COST) Duel.Release(g,REASON_COST)
c:CompleteProcedure() c:CompleteProcedure()
...@@ -104,19 +104,19 @@ end ...@@ -104,19 +104,19 @@ end
function cm.efilter(e,te) function cm.efilter(e,te)
return te:GetOwner()~=e:GetOwner() return te:GetOwner()~=e:GetOwner()
end end
function cm.mtfilter(c,e,tp) function cm.spfilter(c,e,tp)
return c:IsSetCard(0x5fa6) and c:IsCanBeSpecialSummoned(e,0,tp,false,false) return c:IsSetCard(0x5fa6) and c:IsCanBeSpecialSummoned(e,0,tp,false,false)
end end
function cm.mttg(e,tp,eg,ep,ev,re,r,rp,chk,chkc) function cm.mttg(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
if chkc then return chkc:IsLocation(LOCATION_GRAVE) and chkc:IsControler(tp) and cm.mtfilter(chkc,e,tp) end if chkc then return chkc:IsLocation(LOCATION_GRAVE) and chkc:IsControler(tp) and cm.spfilter(chkc,e,tp) end
if chk==0 then return not Duel.IsPlayerAffectedByEffect(tp,59822133) if chk==0 then return not Duel.IsPlayerAffectedByEffect(tp,59822133)
and Duel.GetLocationCount(tp,LOCATION_MZONE)>1 and Duel.GetLocationCount(tp,LOCATION_MZONE)>1
and Duel.IsExistingTarget(cm.mtfilter,tp,LOCATION_GRAVE,0,2,nil,e,tp) end and Duel.IsExistingTarget(cm.spfilter,tp,LOCATION_GRAVE,0,2,nil,e,tp) end
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,2,0,0) Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,2,0,0)
end end
function cm.mtop(e,tp,eg,ep,ev,re,r,rp) function cm.mtop(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,cm.mtfilter,tp,LOCATION_GRAVE,0,2,2,nil,e,tp) local g=Duel.SelectMatchingCard(tp,cm.spfilter,tp,LOCATION_GRAVE,0,2,2,nil,e,tp)
if Duel.GetLocationCount(tp,LOCATION_MZONE)<g:GetCount() or (g:GetCount()>1 and Duel.IsPlayerAffectedByEffect(tp,59822133)) then return end if Duel.GetLocationCount(tp,LOCATION_MZONE)<g:GetCount() or (g:GetCount()>1 and Duel.IsPlayerAffectedByEffect(tp,59822133)) then return end
Duel.SpecialSummon(g,0,tp,tp,false,false,POS_FACEUP) Duel.SpecialSummon(g,0,tp,tp,false,false,POS_FACEUP)
end end
\ No newline at end of file
...@@ -36,7 +36,7 @@ function cm.initial_effect(c) ...@@ -36,7 +36,7 @@ function cm.initial_effect(c)
c:RegisterEffect(e3) c:RegisterEffect(e3)
end end
function cm.ovfilter(c) function cm.ovfilter(c)
return c:IsFaceup() and c:IsCode(12015001) return c:IsFaceup() and c:IsCode(12015002)
end end
function cm.thfilter(c) function cm.thfilter(c)
return c:IsSetCard(0x5fa6) and c:IsAbleToHand() return c:IsSetCard(0x5fa6) and c:IsAbleToHand()
......
...@@ -36,7 +36,7 @@ function cm.initial_effect(c) ...@@ -36,7 +36,7 @@ function cm.initial_effect(c)
c:RegisterEffect(e3) c:RegisterEffect(e3)
end end
function cm.ovfilter(c) function cm.ovfilter(c)
return c:IsFaceup() and c:IsCode(12015001) return c:IsFaceup() and c:IsCode(12015003)
end end
function cm.thfilter(c) function cm.thfilter(c)
return c:IsSetCard(0x5fa6) and c:IsAbleToHand() return c:IsSetCard(0x5fa6) and c:IsAbleToHand()
......
...@@ -36,7 +36,7 @@ function cm.initial_effect(c) ...@@ -36,7 +36,7 @@ function cm.initial_effect(c)
c:RegisterEffect(e3) c:RegisterEffect(e3)
end end
function cm.ovfilter(c) function cm.ovfilter(c)
return c:IsFaceup() and c:IsCode(12015001) return c:IsFaceup() and c:IsCode(12015004)
end end
function cm.thfilter(c) function cm.thfilter(c)
return c:IsSetCard(0x5fa6) and c:IsAbleToHand() return c:IsSetCard(0x5fa6) and c:IsAbleToHand()
......
...@@ -36,7 +36,7 @@ function cm.initial_effect(c) ...@@ -36,7 +36,7 @@ function cm.initial_effect(c)
c:RegisterEffect(e3) c:RegisterEffect(e3)
end end
function cm.ovfilter(c) function cm.ovfilter(c)
return c:IsFaceup() and c:IsCode(12015001) return c:IsFaceup() and c:IsCode(12015005)
end end
function cm.thfilter(c) function cm.thfilter(c)
return c:IsSetCard(0x5fa6) and c:IsAbleToHand() return c:IsSetCard(0x5fa6) and c:IsAbleToHand()
......
...@@ -36,7 +36,7 @@ function cm.initial_effect(c) ...@@ -36,7 +36,7 @@ function cm.initial_effect(c)
c:RegisterEffect(e3) c:RegisterEffect(e3)
end end
function cm.ovfilter(c) function cm.ovfilter(c)
return c:IsFaceup() and c:IsCode(12015001) return c:IsFaceup() and c:IsCode(12015006)
end end
function cm.filter(c) function cm.filter(c)
return c:IsRace(RACE_SEASERPENT) and c:IsAbleToGrave() return c:IsRace(RACE_SEASERPENT) and c:IsAbleToGrave()
......
...@@ -16,8 +16,8 @@ function cm.initial_effect(c) ...@@ -16,8 +16,8 @@ function cm.initial_effect(c)
if chk==0 then return not c:IsPublic() and c:GetFlagEffect(m)==0 end if chk==0 then return not c:IsPublic() and c:GetFlagEffect(m)==0 end
c:RegisterFlagEffect(m,RESET_CHAIN,0,1) c:RegisterFlagEffect(m,RESET_CHAIN,0,1)
end) end)
e1:SetTarget(cm.tstg) e1:SetTarget(cm.target)
e1:SetOperation(cm.tsop) e1:SetOperation(cm.operation)
c:RegisterEffect(e1) c:RegisterEffect(e1)
--to hand --to hand
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
...@@ -45,23 +45,23 @@ end) ...@@ -45,23 +45,23 @@ end)
e1:SetOperation(cm.thop) e1:SetOperation(cm.thop)
c:RegisterEffect(e1) c:RegisterEffect(e1)
end end
function cm.tsfilter(c) function cm.thfilter(c)
return c:IsCode(12070031) and c:IsAbleToHand() return c:IsCode(12070031) and c:IsAbleToHand()
end end
function cm.lvfilter(c) function cm.lvfilter(c)
return c:IsFaceup() and c:IsLevelAbove(1) return c:IsFaceup() and c:IsLevelAbove(1)
end end
function cm.tstg(e,tp,eg,ep,ev,re,r,rp,chk) function cm.target(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(cm.tsfilter,tp,LOCATION_DECK,0,1,nil) and e:GetHandler():IsAbleToDeck() end if chk==0 then return Duel.IsExistingMatchingCard(cm.thfilter,tp,LOCATION_DECK,0,1,nil) and e:GetHandler():IsAbleToDeck() end
Duel.SetOperationInfo(0,CATEGORY_TOHAND,nil,1,tp,LOCATION_DECK) Duel.SetOperationInfo(0,CATEGORY_TOHAND,nil,1,tp,LOCATION_DECK)
end end
function cm.tsop(e,tp,eg,ep,ev,re,r,rp) function cm.operation(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler() local c=e:GetHandler()
if (not Duel.IsExistingMatchingCard(cm.tsfilter,tp,LOCATION_DECK,0,1,nil)) or not c:IsRelateToEffect(e) then return end if (not Duel.IsExistingMatchingCard(cm.thfilter,tp,LOCATION_DECK,0,1,nil)) or not c:IsRelateToEffect(e) then return end
if Duel.SendtoDeck(c,nil,2,REASON_EFFECT) ~=0 then if Duel.SendtoDeck(c,nil,2,REASON_EFFECT) ~=0 then
Duel.BreakEffect() Duel.BreakEffect()
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_ATOHAND) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_ATOHAND)
local g=Duel.SelectMatchingCard(tp,cm.tsfilter,tp,LOCATION_DECK,0,1,1,nil) local g=Duel.SelectMatchingCard(tp,cm.thfilter,tp,LOCATION_DECK,0,1,1,nil)
if g:GetCount()>0 then if g:GetCount()>0 then
Duel.SendtoHand(g,tp,REASON_EFFECT) Duel.SendtoHand(g,tp,REASON_EFFECT)
Duel.ConfirmCards(1-tp,g) Duel.ConfirmCards(1-tp,g)
...@@ -119,5 +119,16 @@ function cm.thop(e,tp,eg,ep,ev,re,r,rp) ...@@ -119,5 +119,16 @@ function cm.thop(e,tp,eg,ep,ev,re,r,rp)
if g:GetCount()>0 then if g:GetCount()>0 then
local tc=g:RandomSelect(tp,1) local tc=g:RandomSelect(tp,1)
Duel.SendtoGrave(tc,REASON_EFFECT) Duel.SendtoGrave(tc,REASON_EFFECT)
local sc=Duel.GetOperatedGroup()
local tc=sc:GetFirst()
if tc:IsType(TYPE_MONSTER) then
local tcm=tc:GetBaseAttack()
local e1=Effect.CreateEffect(e:GetHandler())
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetCode(EFFECT_UPDATE_ATTACK)
e1:SetValue(tcm)
e1:SetReset(RESET_EVENT+0x1fe0000)
e:GetHandler():RegisterEffect(e1)
end
end end
end end
\ No newline at end of file
...@@ -53,7 +53,7 @@ function cm.activate(e,tp,eg,ep,ev,re,r,rp) ...@@ -53,7 +53,7 @@ function cm.activate(e,tp,eg,ep,ev,re,r,rp)
local ec=re:GetHandler() local ec=re:GetHandler()
if not c:IsRelateToEffect(e) then return end if not c:IsRelateToEffect(e) then return end
if Duel.SpecialSummonStep(c,0,tp,tp,false,false,POS_FACEUP) then if Duel.SpecialSummonStep(c,0,tp,tp,false,false,POS_FACEUP) then
if ec:IsRelateToEffect(e) and ec:IsFaceup() then if true then
local e3=Effect.CreateEffect(c) local e3=Effect.CreateEffect(c)
e3:SetType(EFFECT_TYPE_SINGLE) e3:SetType(EFFECT_TYPE_SINGLE)
e3:SetCode(EFFECT_CHANGE_LEVEL) e3:SetCode(EFFECT_CHANGE_LEVEL)
...@@ -65,7 +65,7 @@ function cm.activate(e,tp,eg,ep,ev,re,r,rp) ...@@ -65,7 +65,7 @@ function cm.activate(e,tp,eg,ep,ev,re,r,rp)
Duel.SpecialSummonComplete() Duel.SpecialSummonComplete()
end end
function cm.thfilter(c) function cm.thfilter(c)
return ( c:IsCode(12070031) or srre.check_set_GDRT_DG(c) ) and c:IsAbleToHand() return ( c:IsCode(12070031) or srre.check_set_GDRTDG(c) ) and c:IsAbleToHand()
end end
function cm.thtg(e,tp,eg,ep,ev,re,r,rp,chk) function cm.thtg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(cm.thfilter,tp,LOCATION_DECK,0,1,nil) end if chk==0 then return Duel.IsExistingMatchingCard(cm.thfilter,tp,LOCATION_DECK,0,1,nil) end
......
...@@ -30,18 +30,18 @@ function cm.initial_effect(c) ...@@ -30,18 +30,18 @@ function cm.initial_effect(c)
e1:SetOperation(cm.thop) e1:SetOperation(cm.thop)
c:RegisterEffect(e1) c:RegisterEffect(e1)
--special summon & disable --special summon & disable
local e3=Effect.CreateEffect(c) local e2=Effect.CreateEffect(c)
e3:SetDescription(aux.Stringid(m,3)) e2:SetDescription(aux.Stringid(m,3))
e3:SetCategory(CATEGORY_SPECIAL_SUMMON+CATEGORY_DISABLE) e2:SetCategory(CATEGORY_SPECIAL_SUMMON+CATEGORY_DISABLE)
e3:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_TRIGGER_O) e2:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_TRIGGER_O)
e3:SetProperty(EFFECT_FLAG_DAMAGE_STEP+EFFECT_FLAG_DAMAGE_CAL+EFFECT_FLAG_DELAY+EFFECT_FLAG_CARD_TARGET) e2:SetProperty(EFFECT_FLAG_DAMAGE_STEP+EFFECT_FLAG_DAMAGE_CAL+EFFECT_FLAG_DELAY+EFFECT_FLAG_CARD_TARGET)
e3:SetCode(EVENT_LEAVE_FIELD) e2:SetCode(EVENT_LEAVE_FIELD)
e3:SetRange(LOCATION_GRAVE) e2:SetRange(LOCATION_GRAVE)
e3:SetCountLimit(1,m+100) e2:SetCountLimit(1,m+100)
e3:SetCondition(cm.spcon) e2:SetCondition(cm.spcon)
e3:SetTarget(cm.sptg) e2:SetTarget(cm.sptg)
e3:SetOperation(cm.spop) e2:SetOperation(cm.spop)
c:RegisterEffect(e3) c:RegisterEffect(e2)
end end
function cm.thfilter(c) function cm.thfilter(c)
return ( c:IsType(TYPE_MONSTER) and c:IsType(TYPE_RITUAL) or c:IsCode(12070031) ) and c:IsAbleToHand() return ( c:IsType(TYPE_MONSTER) and c:IsType(TYPE_RITUAL) or c:IsCode(12070031) ) and c:IsAbleToHand()
...@@ -65,7 +65,7 @@ function cm.thtg(e,tp,eg,ep,ev,re,r,rp,chk) ...@@ -65,7 +65,7 @@ function cm.thtg(e,tp,eg,ep,ev,re,r,rp,chk)
Duel.SetOperationInfo(0,CATEGORY_TOGRAVE,nil,1,tp,LOCATION_EXTRA) Duel.SetOperationInfo(0,CATEGORY_TOGRAVE,nil,1,tp,LOCATION_EXTRA)
end end
function cm.thop(e,tp,eg,ep,ev,re,r,rp) function cm.thop(e,tp,eg,ep,ev,re,r,rp)
local g=Duel.GetMatchingGroup(Card.IsAbleToRemove,tp,0,LOCATION_EXTRA,nil) local g=Duel.GetMatchingGroup(Card.IsAbleToRemove,tp,LOCATION_EXTRA,0,nil)
if g:GetCount()>0 then if g:GetCount()>0 then
local tc=g:Select(tp,1,1,nil) local tc=g:Select(tp,1,1,nil)
Duel.SendtoGrave(tc,REASON_EFFECT) Duel.SendtoGrave(tc,REASON_EFFECT)
......
...@@ -2,7 +2,7 @@ ...@@ -2,7 +2,7 @@
local m=12070040 local m=12070040
local cm=_G["c"..m] local cm=_G["c"..m]
Duel.LoadScript("c12000000.lua") Duel.LoadScript("c12000000.lua")
cm.named_with_GDRT_GD=true cm.named_with_GDRTGD=true
function cm.initial_effect(c) function cm.initial_effect(c)
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(m,0)) e1:SetDescription(aux.Stringid(m,0))
...@@ -17,8 +17,8 @@ function cm.initial_effect(c) ...@@ -17,8 +17,8 @@ function cm.initial_effect(c)
if chk==0 then return not c:IsPublic() and c:GetFlagEffect(m)==0 end if chk==0 then return not c:IsPublic() and c:GetFlagEffect(m)==0 end
c:RegisterFlagEffect(m,RESET_CHAIN,0,1) c:RegisterFlagEffect(m,RESET_CHAIN,0,1)
end) end)
e1:SetTarget(cm.thtg) e1:SetTarget(cm.target)
e1:SetOperation(cm.thop) e1:SetOperation(cm.operation)
c:RegisterEffect(e1) c:RegisterEffect(e1)
--to hand --to hand
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
...@@ -46,10 +46,10 @@ end) ...@@ -46,10 +46,10 @@ end)
e3:SetOperation(cm.atkop) e3:SetOperation(cm.atkop)
c:RegisterEffect(e3) c:RegisterEffect(e3)
end end
function cm.thtg(e,tp,eg,ep,ev,re,r,rp,chk) function cm.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
end end
function cm.thop(e,tp,eg,ep,ev,re,r,rp) function cm.operation(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler() local c=e:GetHandler()
if not c:IsRelateToEffect(e) then return end if not c:IsRelateToEffect(e) then return end
if Duel.SendtoDeck(c,nil,2,REASON_EFFECT) ~=0 then if Duel.SendtoDeck(c,nil,2,REASON_EFFECT) ~=0 then
......
...@@ -2,7 +2,7 @@ ...@@ -2,7 +2,7 @@
local m=12070041 local m=12070041
local cm=_G["c"..m] local cm=_G["c"..m]
Duel.LoadScript("c12000000.lua") Duel.LoadScript("c12000000.lua")
cm.named_with_GDRT_GD=true cm.named_with_GDRTGD=true
function cm.initial_effect(c) function cm.initial_effect(c)
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(m,0)) e1:SetDescription(aux.Stringid(m,0))
...@@ -17,8 +17,8 @@ function cm.initial_effect(c) ...@@ -17,8 +17,8 @@ function cm.initial_effect(c)
if chk==0 then return not c:IsPublic() and c:GetFlagEffect(m)==0 end if chk==0 then return not c:IsPublic() and c:GetFlagEffect(m)==0 end
c:RegisterFlagEffect(m,RESET_CHAIN,0,1) c:RegisterFlagEffect(m,RESET_CHAIN,0,1)
end) end)
e1:SetTarget(cm.tstg) e1:SetTarget(cm.target)
e1:SetOperation(cm.tsop) e1:SetOperation(cm.operation)
c:RegisterEffect(e1) c:RegisterEffect(e1)
--to hand --to hand
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
...@@ -45,10 +45,10 @@ end) ...@@ -45,10 +45,10 @@ end)
e1:SetOperation(cm.thop) e1:SetOperation(cm.thop)
c:RegisterEffect(e1) c:RegisterEffect(e1)
end end
function cm.tstg(e,tp,eg,ep,ev,re,r,rp,chk) function cm.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
end end
function cm.tsop(e,tp,eg,ep,ev,re,r,rp) function cm.operation(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler() local c=e:GetHandler()
if not c:IsRelateToEffect(e) then return end if not c:IsRelateToEffect(e) then return end
if Duel.SendtoDeck(c,nil,2,REASON_EFFECT) ~=0 then if Duel.SendtoDeck(c,nil,2,REASON_EFFECT) ~=0 then
...@@ -67,14 +67,15 @@ end ...@@ -67,14 +67,15 @@ end
function cm.drtg(e,tp,eg,ep,ev,re,r,rp,chk) function cm.drtg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return true end if chk==0 then return true end
end end
function cm.thfilter(c) function cm.thfilter1(c)
return c:IsAbleToGrave() return c:IsAbleToGrave()
end end
function cm.drop(e,tp,eg,ep,ev,re,r,rp,chk) function cm.drop(e,tp,eg,ep,ev,re,r,rp,chk)
local g=Duel.GetFieldGroup(tp,LOCATION_EXTRA) local g=Duel.GetFieldGroup(tp,0,LOCATION_EXTRA)
if #g>10 then if #g>10 then
Debug.Message(#g)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TOGRAVE) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TOGRAVE)
local g=Duel.SelectMatchingCard(tp,cm.thfilter,tp,LOCATION_EXTRA,0,#g-10,#g-10,nil) local g=Duel.SelectMatchingCard(1-tp,cm.thfilter1,1-tp,LOCATION_EXTRA,0,#g-10,#g-10,nil)
if g:GetCount()>0 then if g:GetCount()>0 then
Duel.SendtoGrave(g,REASON_EFFECT) Duel.SendtoGrave(g,REASON_EFFECT)
end end
......
...@@ -2,7 +2,7 @@ ...@@ -2,7 +2,7 @@
local m=12070042 local m=12070042
local cm=_G["c"..m] local cm=_G["c"..m]
Duel.LoadScript("c12000000.lua") Duel.LoadScript("c12000000.lua")
cm.named_with_GDRT_GD=true cm.named_with_GDRTGD=true
function cm.initial_effect(c) function cm.initial_effect(c)
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(m,0)) e1:SetDescription(aux.Stringid(m,0))
...@@ -17,8 +17,8 @@ function cm.initial_effect(c) ...@@ -17,8 +17,8 @@ function cm.initial_effect(c)
if chk==0 then return not c:IsPublic() and c:GetFlagEffect(m)==0 end if chk==0 then return not c:IsPublic() and c:GetFlagEffect(m)==0 end
c:RegisterFlagEffect(m,RESET_CHAIN,0,1) c:RegisterFlagEffect(m,RESET_CHAIN,0,1)
end) end)
e1:SetTarget(cm.thtg) e1:SetTarget(cm.target)
e1:SetOperation(cm.thop) e1:SetOperation(cm.operation)
c:RegisterEffect(e1) c:RegisterEffect(e1)
--to hand --to hand
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
...@@ -36,20 +36,21 @@ end) ...@@ -36,20 +36,21 @@ end)
--search --search
local e3=Effect.CreateEffect(c) local e3=Effect.CreateEffect(c)
e3:SetDescription(aux.Stringid(m,2)) e3:SetDescription(aux.Stringid(m,2))
e3:SetCategory(CATEGORY_ATKCHANGE) e3:SetCategory(CATEGORY_TODECK)
e3:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_TRIGGER_O) e3:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_TRIGGER_O)
e3:SetProperty(EFFECT_FLAG_CANNOT_DISABLE+EFFECT_FLAG_CANNOT_NEGATE) e3:SetProperty(EFFECT_FLAG_CANNOT_DISABLE+EFFECT_FLAG_CANNOT_NEGATE)
e3:SetRange(LOCATION_MZONE) e3:SetRange(LOCATION_MZONE)
e3:SetCode(EVENT_DRAW) e3:SetCode(EVENT_DRAW)
e3:SetCountLimit(1,m+200)
e3:SetCondition(cm.atkcon) e3:SetCondition(cm.atkcon)
e3:SetTarget(cm.atktg) e3:SetTarget(cm.atktg)
e3:SetOperation(cm.atkop) e3:SetOperation(cm.atkop)
c:RegisterEffect(e3) c:RegisterEffect(e3)
end end
function cm.thtg(e,tp,eg,ep,ev,re,r,rp,chk) function cm.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
end end
function cm.thop(e,tp,eg,ep,ev,re,r,rp) function cm.operation(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler() local c=e:GetHandler()
if not c:IsRelateToEffect(e) then return end if not c:IsRelateToEffect(e) then return end
if Duel.SendtoDeck(c,nil,2,REASON_EFFECT) ~=0 then if Duel.SendtoDeck(c,nil,2,REASON_EFFECT) ~=0 then
...@@ -71,17 +72,17 @@ function cm.drtg(e,tp,eg,ep,ev,re,r,rp,chk) ...@@ -71,17 +72,17 @@ function cm.drtg(e,tp,eg,ep,ev,re,r,rp,chk)
Duel.SetTargetParam(2) Duel.SetTargetParam(2)
Duel.SetOperationInfo(0,CATEGORY_DRAW,nil,0,tp,2) Duel.SetOperationInfo(0,CATEGORY_DRAW,nil,0,tp,2)
end end
function cm.drop(e,tp,eg,ep,ev,re,r,rp,chk) function cm.drop(e,tp,eg,ep,ev,re,r,rp)
local p,d=Duel.GetChainInfo(0,CHAININFO_TARGET_PLAYER,CHAININFO_TARGET_PARAM) local p,d=Duel.GetChainInfo(0,CHAININFO_TARGET_PLAYER,CHAININFO_TARGET_PARAM)
Duel.Draw(p,d,REASON_EFFECT) Duel.Draw(p,d,REASON_EFFECT)
end end
function cm.atkcon(e,tp,eg,ep,ev,re,r,rp) function cm.atkcon(e,tp,eg,ep,ev,re,r,rp)
return Duel.GetCurrentPhase()~=PHASE_DRAW return Duel.GetCurrentPhase()~=PHASE_DRAW
end end
function cm.atktg(e,tp,eg,ep,ev,re,r,rp) function cm.atktg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(Card.IsAbleToDeck,tp,LOCATION_ONFIELD,LOCATION_ONFIELD,1,nil) end if chk==0 then return Duel.IsExistingMatchingCard(Card.IsAbleToDeck,tp,LOCATION_ONFIELD,LOCATION_ONFIELD,1,nil) end
local g=Duel.GetMatchingGroup(Card.IsAbleToDeck,tp,LOCATION_ONFIELD,LOCATION_ONFIELD,nil) local g=Duel.GetMatchingGroup(Card.IsAbleToDeck,tp,LOCATION_ONFIELD,LOCATION_ONFIELD,nil)
Duel.SetOperationInfo(0,CATEGORY_TODECK,g,1,0,0) Duel.SetOperationInfo(0,CATEGORY_TODECK,nil,1,0,LOCATION_ONFIELD)
end end
function cm.atkop(e,tp,eg,ep,ev,re,r,rp) function cm.atkop(e,tp,eg,ep,ev,re,r,rp)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TODECK) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TODECK)
......
...@@ -73,7 +73,7 @@ function cm.cost(e,tp,eg,ep,ev,re,r,rp,chk) ...@@ -73,7 +73,7 @@ function cm.cost(e,tp,eg,ep,ev,re,r,rp,chk)
Duel.SendtoDeck(g,nil,2,REASON_COST) Duel.SendtoDeck(g,nil,2,REASON_COST)
end end
function cm.target(e,tp,eg,ep,ev,re,r,rp,chk) function cm.target(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return true end if chk==0 then return e:GetHandler():IsAbleToHand() end
Duel.SetOperationInfo(0,CATEGORY_TOHAND,e:GetHandler(),1,0,0) Duel.SetOperationInfo(0,CATEGORY_TOHAND,e:GetHandler(),1,0,0)
end end
function cm.operation(e,tp,eg,ep,ev,re,r,rp) function cm.operation(e,tp,eg,ep,ev,re,r,rp)
......
...@@ -68,7 +68,7 @@ function cm.negcost(e,tp,eg,ep,ev,re,r,rp,chk) ...@@ -68,7 +68,7 @@ function cm.negcost(e,tp,eg,ep,ev,re,r,rp,chk)
Duel.Release(e:GetHandler(),REASON_COST) Duel.Release(e:GetHandler(),REASON_COST)
end end
function cm.negtg(e,tp,eg,ep,ev,re,r,rp,chk) function cm.negtg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return true end if chk==0 then return re:GetHandler():IsAbleToGrave() end
Duel.SetOperationInfo(0,CATEGORY_NEGATE,eg,1,0,0) Duel.SetOperationInfo(0,CATEGORY_NEGATE,eg,1,0,0)
if re:GetHandler():IsRelateToEffect(re) then if re:GetHandler():IsRelateToEffect(re) then
Duel.SetOperationInfo(0,CATEGORY_TOGRAVE,eg,1,0,0) Duel.SetOperationInfo(0,CATEGORY_TOGRAVE,eg,1,0,0)
......
...@@ -61,8 +61,8 @@ function c33200423.atkfilter(c) ...@@ -61,8 +61,8 @@ function c33200423.atkfilter(c)
return c:IsSetCard(0xc329) and c:IsFaceup() return c:IsSetCard(0xc329) and c:IsFaceup()
end end
function c33200423.atktg(e,tp,eg,ep,ev,re,r,rp,chk) function c33200423.atktg(e,tp,eg,ep,ev,re,r,rp,chk)
if chkc then return chkc:IsLocation(LOCATION_MZONE) and chkc:IsControler(tp) and chkc:GetAttack()~=0 end if chkc then return chkc:IsLocation(LOCATION_MZONE) and chkc:IsControler(tp) end
if chk==0 then return Duel.IsExistingTarget(c33200423.atkfilter,tp,LOCATION_MZONE,0,1,e:GetHandler()) end if chk==0 then return Duel.IsExistingTarget(c33200423.atkfilter,tp,LOCATION_MZONE,0,1,e:GetHandler()) and e:GetHandler():GetAttack()>0 end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_FACEUP) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_FACEUP)
Duel.SelectTarget(tp,c33200423.atkfilter,tp,LOCATION_MZONE,0,1,1,e:GetHandler()) Duel.SelectTarget(tp,c33200423.atkfilter,tp,LOCATION_MZONE,0,1,1,e:GetHandler())
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