Commit c878671a authored by TanakaKotoha's avatar TanakaKotoha

hack fix of old cards

parent e019bf2e
...@@ -49,7 +49,7 @@ function cm.spop(e,tp,eg,ep,ev,re,r,rp) ...@@ -49,7 +49,7 @@ function cm.spop(e,tp,eg,ep,ev,re,r,rp)
end end
function cm.thfilter(c) function cm.thfilter(c)
return c:IsSetCard(0x1701) and c:IsType(TYPE_SPELL) and c:IsAbleToHand() return c:IsSetCard(0x17f2) and c:IsType(TYPE_SPELL) 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,7 +30,7 @@ function cm.initial_effect(c) ...@@ -30,7 +30,7 @@ function cm.initial_effect(c)
e3:SetType(EFFECT_TYPE_FIELD) e3:SetType(EFFECT_TYPE_FIELD)
e3:SetRange(LOCATION_PZONE) e3:SetRange(LOCATION_PZONE)
e3:SetTargetRange(LOCATION_MZONE,0) e3:SetTargetRange(LOCATION_MZONE,0)
e3:SetTarget(aux.TargetBoolFunction(Card.IsSetCard,0x2701)) e3:SetTarget(aux.TargetBoolFunction(Card.IsSetCard,0x27f2))
e3:SetValue(1) e3:SetValue(1)
c:RegisterEffect(e3) c:RegisterEffect(e3)
--cannot be target --cannot be target
...@@ -72,7 +72,7 @@ function cm.spcon(e,tp,eg,ep,ev,re,r,rp) ...@@ -72,7 +72,7 @@ function cm.spcon(e,tp,eg,ep,ev,re,r,rp)
return e:GetHandler():IsSummonType(SUMMON_TYPE_SYNCHRO) return e:GetHandler():IsSummonType(SUMMON_TYPE_SYNCHRO)
end end
function cm.filter(c,e,tp) function cm.filter(c,e,tp)
return c:IsSetCard(0x2701) and c:IsCanBeSpecialSummoned(e,0,tp,false,false) return c:IsSetCard(0x27f2) and c:IsCanBeSpecialSummoned(e,0,tp,false,false)
end end
function cm.sptg(e,tp,eg,ep,ev,re,r,rp,chk,chkc) function cm.sptg(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
if chk==0 then return Duel.GetLocationCount(tp,LOCATION_MZONE)>0 if chk==0 then return Duel.GetLocationCount(tp,LOCATION_MZONE)>0
......
...@@ -10,7 +10,7 @@ function cm.initial_effect(c) ...@@ -10,7 +10,7 @@ function cm.initial_effect(c)
e1:SetRange(LOCATION_PZONE) e1:SetRange(LOCATION_PZONE)
e1:SetCode(EFFECT_UPDATE_ATTACK) e1:SetCode(EFFECT_UPDATE_ATTACK)
e1:SetTargetRange(LOCATION_MZONE,0) e1:SetTargetRange(LOCATION_MZONE,0)
e1:SetTarget(aux.TargetBoolFunction(Card.IsSetCard,0x2701)) e1:SetTarget(aux.TargetBoolFunction(Card.IsSetCard,0x27f2))
e1:SetValue(600) e1:SetValue(600)
c:RegisterEffect(e1) c:RegisterEffect(e1)
--special summon --special summon
...@@ -38,16 +38,16 @@ function cm.initial_effect(c) ...@@ -38,16 +38,16 @@ function cm.initial_effect(c)
c:RegisterEffect(e4) c:RegisterEffect(e4)
end end
function cm.ndcfilter(c) function cm.ndcfilter(c)
return c:IsFaceup() and c:IsSetCard(0x2701) return c:IsFaceup() and c:IsSetCard(0x27f2)
end end
function cm.indcon(e) function cm.indcon(e)
return Duel.IsExistingMatchingCard(cm.ndcfilter,e:GetHandlerPlayer(),LOCATION_MZONE,0,1,e:GetHandler()) return Duel.IsExistingMatchingCard(cm.ndcfilter,e:GetHandlerPlayer(),LOCATION_MZONE,0,1,e:GetHandler())
end end
function cm.spcon(e,tp,eg,ep,ev,re,r,rp) function cm.spcon(e,tp,eg,ep,ev,re,r,rp)
return re and re:GetHandler():IsSetCard(0x2701) return re and re:GetHandler():IsSetCard(0x27f2)
end end
function cm.filter(c,e,tp) function cm.filter(c,e,tp)
return c:IsLevelBelow(4) and c:IsSetCard(0x2701) and c:IsCanBeSpecialSummoned(e,0,tp,false,false) return c:IsLevelBelow(4) and c:IsSetCard(0x27f2) and c:IsCanBeSpecialSummoned(e,0,tp,false,false)
end end
function cm.target(e,tp,eg,ep,ev,re,r,rp,chk,chkc) function cm.target(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
if chkc then return chkc:IsLocation(LOCATION_GRAVE) and chkc:IsControler(tp) and cm.filter(chkc,e,tp) end if chkc then return chkc:IsLocation(LOCATION_GRAVE) and chkc:IsControler(tp) and cm.filter(chkc,e,tp) end
......
...@@ -42,7 +42,7 @@ function cm.spcon(e,tp,eg,ep,ev,re,r,rp) ...@@ -42,7 +42,7 @@ function cm.spcon(e,tp,eg,ep,ev,re,r,rp)
return Duel.GetFieldGroupCount(tp,LOCATION_MZONE,0)==0 return Duel.GetFieldGroupCount(tp,LOCATION_MZONE,0)==0
end end
function cm.spfilter(c,e,tp) function cm.spfilter(c,e,tp)
return c:IsLevelBelow(4) and c:IsSetCard(0x2701) and c:IsCanBeSpecialSummoned(e,0,tp,false,false) return c:IsLevelBelow(4) and c:IsSetCard(0x27f2) and c:IsCanBeSpecialSummoned(e,0,tp,false,false)
end end
function cm.sptg(e,tp,eg,ep,ev,re,r,rp,chk,chkc) function cm.sptg(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
if chkc then return chkc:IsControler(tp) and chkc:IsLocation(LOCATION_DECK) and cm.spfilter(chkc,e,tp) end if chkc then return chkc:IsControler(tp) and chkc:IsLocation(LOCATION_DECK) and cm.spfilter(chkc,e,tp) end
...@@ -59,7 +59,7 @@ function cm.spop(e,tp,eg,ep,ev,re,r,rp) ...@@ -59,7 +59,7 @@ function cm.spop(e,tp,eg,ep,ev,re,r,rp)
end end
end end
function cm.thcon(e,tp,eg,ep,ev,re,r,rp) function cm.thcon(e,tp,eg,ep,ev,re,r,rp)
return re and re:GetHandler():IsSetCard(0x2701) return re and re:GetHandler():IsSetCard(0x27f2)
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(Card.IsAbleToHand,tp,LOCATION_ONFIELD,LOCATION_ONFIELD,1,nil) end if chk==0 then return Duel.IsExistingMatchingCard(Card.IsAbleToHand,tp,LOCATION_ONFIELD,LOCATION_ONFIELD,1,nil) end
...@@ -85,7 +85,7 @@ function cm.thop(e,tp,eg,ep,ev,re,r,rp) ...@@ -85,7 +85,7 @@ function cm.thop(e,tp,eg,ep,ev,re,r,rp)
end end
end end
function cm.cfilter1(c) function cm.cfilter1(c)
return c:IsFaceup() and c:IsSetCard(0x2701) return c:IsFaceup() and c:IsSetCard(0x27f2)
end end
function cm.recon(e,tp,eg,ep,ev,re,r,rp) function cm.recon(e,tp,eg,ep,ev,re,r,rp)
return Duel.IsExistingMatchingCard(cm.cfilter1,tp,LOCATION_MZONE,0,1,e:GetHandler()) return Duel.IsExistingMatchingCard(cm.cfilter1,tp,LOCATION_MZONE,0,1,e:GetHandler())
......
...@@ -28,10 +28,10 @@ function cm.initial_effect(c) ...@@ -28,10 +28,10 @@ function cm.initial_effect(c)
c:RegisterEffect(e2) c:RegisterEffect(e2)
end end
function cm.thcon(e,tp,eg,ep,ev,re,r,rp) function cm.thcon(e,tp,eg,ep,ev,re,r,rp)
return re and re:GetHandler():IsSetCard(0x2701) return re and re:GetHandler():IsSetCard(0x27f2)
end end
function cm.thfilter(c) function cm.thfilter(c)
return c:IsFaceup() and c:IsSetCard(0x2701) and c:IsType(TYPE_PENDULUM) and c:IsAbleToHand() return c:IsFaceup() and c:IsSetCard(0x27f2) and c:IsType(TYPE_PENDULUM) 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_EXTRA,0,1,nil) end if chk==0 then return Duel.IsExistingMatchingCard(cm.thfilter,tp,LOCATION_EXTRA,0,1,nil) end
...@@ -47,7 +47,7 @@ function cm.thop(e,tp,eg,ep,ev,re,r,rp) ...@@ -47,7 +47,7 @@ function cm.thop(e,tp,eg,ep,ev,re,r,rp)
end end
end end
function cm.cfilter1(c) function cm.cfilter1(c)
return c:IsFaceup() and c:IsSetCard(0x2701) return c:IsFaceup() and c:IsSetCard(0x27f2)
end end
function cm.con(e,tp,eg,ep,ev,re,r,rp) function cm.con(e,tp,eg,ep,ev,re,r,rp)
return Duel.IsExistingMatchingCard(cm.cfilter1,tp,LOCATION_MZONE,0,1,nil) return Duel.IsExistingMatchingCard(cm.cfilter1,tp,LOCATION_MZONE,0,1,nil)
......
...@@ -23,7 +23,7 @@ function cm.initial_effect(c) ...@@ -23,7 +23,7 @@ function cm.initial_effect(c)
c:RegisterEffect(e2) c:RegisterEffect(e2)
end end
function cm.desfilter(c) function cm.desfilter(c)
return c:IsFaceup() and c:IsSetCard(0x2701) return c:IsFaceup() and c:IsSetCard(0x27f2)
end end
function cm.destg(e,tp,eg,ep,ev,re,r,rp,chk,chkc) function cm.destg(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
if chkc then return chkc:IsOnField() and chkc:IsControler(1-tp) end if chkc then return chkc:IsOnField() and chkc:IsControler(1-tp) end
...@@ -42,7 +42,7 @@ function cm.desop(e,tp,eg,ep,ev,re,r,rp) ...@@ -42,7 +42,7 @@ function cm.desop(e,tp,eg,ep,ev,re,r,rp)
end end
end end
function cm.spfilter(c,e,tp) function cm.spfilter(c,e,tp)
return c:IsSetCard(0x2701) and (c:IsFaceup() or not c:IsLocation(LOCATION_EXTRA)) and c:IsCanBeSpecialSummoned(e,0,tp,false,false) return c:IsSetCard(0x27f2) and (c:IsFaceup() or not c:IsLocation(LOCATION_EXTRA)) and c:IsCanBeSpecialSummoned(e,0,tp,false,false)
end end
function cm.sptg(e,tp,eg,ep,ev,re,r,rp,chk,chkc) function cm.sptg(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
if chk==0 then return Duel.GetLocationCount(tp,LOCATION_MZONE)>0 if chk==0 then return Duel.GetLocationCount(tp,LOCATION_MZONE)>0
......
...@@ -46,7 +46,7 @@ function cm.spcon(e,tp,eg,ep,ev,re,r,rp) ...@@ -46,7 +46,7 @@ function cm.spcon(e,tp,eg,ep,ev,re,r,rp)
return e:GetHandler():IsSummonType(SUMMON_TYPE_LINK) return e:GetHandler():IsSummonType(SUMMON_TYPE_LINK)
end end
function cm.filter(c,e,sp,zone) function cm.filter(c,e,sp,zone)
return c:IsSetCard(0x2701) and c:IsCanBeSpecialSummoned(e,0,sp,false,false,zone) return c:IsSetCard(0x27f2) and c:IsCanBeSpecialSummoned(e,0,sp,false,false,zone)
and not Duel.IsExistingMatchingCard(Card.IsCode,tp,LOCATION_MZONE,0,1,nil,c:GetCode()) and not Duel.IsExistingMatchingCard(Card.IsCode,tp,LOCATION_MZONE,0,1,nil,c:GetCode())
end end
function cm.sptg(e,tp,eg,ep,ev,re,r,rp,chk) function cm.sptg(e,tp,eg,ep,ev,re,r,rp,chk)
...@@ -73,7 +73,7 @@ function cm.spop(e,tp,eg,ep,ev,re,r,rp) ...@@ -73,7 +73,7 @@ function cm.spop(e,tp,eg,ep,ev,re,r,rp)
Duel.SpecialSummon(g,0,tp,tp,false,false,POS_FACEUP,zone) Duel.SpecialSummon(g,0,tp,tp,false,false,POS_FACEUP,zone)
end end
function cm.cfilter(c) function cm.cfilter(c)
return c:IsSetCard(0x2701) return c:IsSetCard(0x27f2)
end end
function cm.atkval(e,c) function cm.atkval(e,c)
local g=e:GetHandler():GetLinkedGroup():Filter(cm.cfilter,nil) local g=e:GetHandler():GetLinkedGroup():Filter(cm.cfilter,nil)
......
...@@ -26,7 +26,7 @@ function cm.initial_effect(c) ...@@ -26,7 +26,7 @@ function cm.initial_effect(c)
c:RegisterEffect(e2) c:RegisterEffect(e2)
end end
function cm.mfilter(c) function cm.mfilter(c)
return c:IsSetCard(0x2701) return c:IsSetCard(0x27f2)
end end
function cm.exacon(e) function cm.exacon(e)
return e:GetHandler():IsSummonType(SUMMON_TYPE_LINK) return e:GetHandler():IsSummonType(SUMMON_TYPE_LINK)
......
...@@ -30,7 +30,7 @@ function cm.initial_effect(c) ...@@ -30,7 +30,7 @@ function cm.initial_effect(c)
e3:SetType(EFFECT_TYPE_FIELD) e3:SetType(EFFECT_TYPE_FIELD)
e3:SetRange(LOCATION_PZONE) e3:SetRange(LOCATION_PZONE)
e3:SetTargetRange(LOCATION_MZONE,0) e3:SetTargetRange(LOCATION_MZONE,0)
e3:SetTarget(aux.TargetBoolFunction(Card.IsSetCard,0x2701)) e3:SetTarget(aux.TargetBoolFunction(Card.IsSetCard,0x27f2))
e3:SetValue(1) e3:SetValue(1)
c:RegisterEffect(e3) c:RegisterEffect(e3)
--cannot be target --cannot be target
...@@ -72,7 +72,7 @@ function cm.spcon(e,tp,eg,ep,ev,re,r,rp) ...@@ -72,7 +72,7 @@ function cm.spcon(e,tp,eg,ep,ev,re,r,rp)
return e:GetHandler():IsSummonType(SUMMON_TYPE_SYNCHRO) return e:GetHandler():IsSummonType(SUMMON_TYPE_SYNCHRO)
end end
function cm.filter(c,e,tp) function cm.filter(c,e,tp)
return c:IsSetCard(0x2701) and c:IsCanBeSpecialSummoned(e,0,tp,false,false) return c:IsSetCard(0x27f2) and c:IsCanBeSpecialSummoned(e,0,tp,false,false)
end end
function cm.sptg(e,tp,eg,ep,ev,re,r,rp,chk,chkc) function cm.sptg(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
if chk==0 then return Duel.GetLocationCount(tp,LOCATION_MZONE)>0 if chk==0 then return Duel.GetLocationCount(tp,LOCATION_MZONE)>0
......
...@@ -30,7 +30,7 @@ function cm.initial_effect(c) ...@@ -30,7 +30,7 @@ function cm.initial_effect(c)
e3:SetType(EFFECT_TYPE_FIELD) e3:SetType(EFFECT_TYPE_FIELD)
e3:SetRange(LOCATION_PZONE) e3:SetRange(LOCATION_PZONE)
e3:SetTargetRange(LOCATION_MZONE,0) e3:SetTargetRange(LOCATION_MZONE,0)
e3:SetTarget(aux.TargetBoolFunction(Card.IsSetCard,0x2701)) e3:SetTarget(aux.TargetBoolFunction(Card.IsSetCard,0x27f2))
e3:SetValue(1) e3:SetValue(1)
c:RegisterEffect(e3) c:RegisterEffect(e3)
--cannot be target --cannot be target
...@@ -72,7 +72,7 @@ function cm.spcon(e,tp,eg,ep,ev,re,r,rp) ...@@ -72,7 +72,7 @@ function cm.spcon(e,tp,eg,ep,ev,re,r,rp)
return e:GetHandler():IsSummonType(SUMMON_TYPE_SYNCHRO) return e:GetHandler():IsSummonType(SUMMON_TYPE_SYNCHRO)
end end
function cm.filter(c,e,tp) function cm.filter(c,e,tp)
return c:IsSetCard(0x2701) and c:IsCanBeSpecialSummoned(e,0,tp,false,false) return c:IsSetCard(0x27f2) and c:IsCanBeSpecialSummoned(e,0,tp,false,false)
end end
function cm.sptg(e,tp,eg,ep,ev,re,r,rp,chk,chkc) function cm.sptg(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
if chk==0 then return Duel.GetLocationCount(tp,LOCATION_MZONE)>0 if chk==0 then return Duel.GetLocationCount(tp,LOCATION_MZONE)>0
......
...@@ -42,7 +42,7 @@ function cm.initial_effect(c) ...@@ -42,7 +42,7 @@ function cm.initial_effect(c)
e4:SetProperty(EFFECT_FLAG_DAMAGE_STEP+EFFECT_FLAG_DAMAGE_CAL) e4:SetProperty(EFFECT_FLAG_DAMAGE_STEP+EFFECT_FLAG_DAMAGE_CAL)
e4:SetRange(LOCATION_MZONE) e4:SetRange(LOCATION_MZONE)
e4:SetCountLimit(1) e4:SetCountLimit(1)
e4:SetCondition(cm.MaterialCheck(0x2700,cm.discon)) e4:SetCondition(cm.MaterialCheck(0x27f0,cm.discon))
e4:SetTarget(cm.distg) e4:SetTarget(cm.distg)
e4:SetOperation(cm.disop) e4:SetOperation(cm.disop)
c:RegisterEffect(e4) c:RegisterEffect(e4)
...@@ -51,7 +51,7 @@ function cm.initial_effect(c) ...@@ -51,7 +51,7 @@ function cm.initial_effect(c)
e5:SetDescription(aux.Stringid(17060876,3)) e5:SetDescription(aux.Stringid(17060876,3))
e5:SetType(EFFECT_TYPE_SINGLE) e5:SetType(EFFECT_TYPE_SINGLE)
e5:SetCode(EFFECT_EXTRA_ATTACK) e5:SetCode(EFFECT_EXTRA_ATTACK)
e5:SetCondition(cm.MaterialCheck(0x1700)) e5:SetCondition(cm.MaterialCheck(0x17f0))
e5:SetValue(cm.raval) e5:SetValue(cm.raval)
c:RegisterEffect(e5) c:RegisterEffect(e5)
end end
...@@ -125,10 +125,10 @@ end ...@@ -125,10 +125,10 @@ end
function cm.regop(e,tp,eg,ep,ev,re,r,rp) function cm.regop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler() local c=e:GetHandler()
local g=c:GetMaterial() local g=c:GetMaterial()
if g:IsExists(Card.IsSetCard,1,nil,0x1700) then if g:IsExists(Card.IsSetCard,1,nil,0x17f0) then
c:RegisterFlagEffect(0,RESET_EVENT+RESETS_STANDARD,EFFECT_FLAG_CLIENT_HINT,1,0,aux.Stringid(17060876,1)) c:RegisterFlagEffect(0,RESET_EVENT+RESETS_STANDARD,EFFECT_FLAG_CLIENT_HINT,1,0,aux.Stringid(17060876,1))
end end
if g:IsExists(Card.IsSetCard,1,nil,0x2700) then if g:IsExists(Card.IsSetCard,1,nil,0x27f0) then
c:RegisterFlagEffect(0,RESET_EVENT+RESETS_STANDARD,EFFECT_FLAG_CLIENT_HINT,1,0,aux.Stringid(17060876,2)) c:RegisterFlagEffect(0,RESET_EVENT+RESETS_STANDARD,EFFECT_FLAG_CLIENT_HINT,1,0,aux.Stringid(17060876,2))
end end
end end
...@@ -51,7 +51,7 @@ function cm.tdop(e,tp,eg,ep,ev,re,r,rp) ...@@ -51,7 +51,7 @@ function cm.tdop(e,tp,eg,ep,ev,re,r,rp)
end end
end end
function cm.rmfilter(c) function cm.rmfilter(c)
return not c:IsSetCard(0x3701) return not c:IsSetCard(0x47f2)
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 Duel.IsExistingMatchingCard(cm.rmfilter,tp,LOCATION_DECK,0,1,nil) end if chk==0 then return Duel.IsExistingMatchingCard(cm.rmfilter,tp,LOCATION_DECK,0,1,nil) end
......
...@@ -57,7 +57,7 @@ function cm.limit(e,c) ...@@ -57,7 +57,7 @@ function cm.limit(e,c)
return Duel.GetFlagEffect(e:GetHandler():GetControler(),17090009)>0 return Duel.GetFlagEffect(e:GetHandler():GetControler(),17090009)>0
end end
function cm.slfilter(c) function cm.slfilter(c)
return c:IsSetCard(0x3701) or c:IsCode(17090009) return c:IsSetCard(0x47f2) or c:IsCode(17090009)
end end
function cm.slcon(e) function cm.slcon(e)
return not Duel.IsExistingMatchingCard(cm.slfilter,e:GetHandlerPlayer(),LOCATION_PZONE,0,1,e:GetHandler()) return not Duel.IsExistingMatchingCard(cm.slfilter,e:GetHandlerPlayer(),LOCATION_PZONE,0,1,e:GetHandler())
......
...@@ -62,7 +62,7 @@ function cm.limit(e,c) ...@@ -62,7 +62,7 @@ function cm.limit(e,c)
return Duel.GetFlagEffect(e:GetHandler():GetControler(),17090009)>0 return Duel.GetFlagEffect(e:GetHandler():GetControler(),17090009)>0
end end
function cm.slfilter(c) function cm.slfilter(c)
return c:IsSetCard(0x3701) or c:IsCode(17090009) return c:IsSetCard(0x47f2) or c:IsCode(17090009)
end end
function cm.slcon(e) function cm.slcon(e)
return not Duel.IsExistingMatchingCard(cm.slfilter,e:GetHandlerPlayer(),LOCATION_PZONE,0,1,e:GetHandler()) return not Duel.IsExistingMatchingCard(cm.slfilter,e:GetHandlerPlayer(),LOCATION_PZONE,0,1,e:GetHandler())
......
...@@ -62,7 +62,7 @@ function cm.limit(e,c) ...@@ -62,7 +62,7 @@ function cm.limit(e,c)
return Duel.GetFlagEffect(e:GetHandler():GetControler(),17090009)>0 return Duel.GetFlagEffect(e:GetHandler():GetControler(),17090009)>0
end end
function cm.slfilter(c) function cm.slfilter(c)
return c:IsSetCard(0x3701) or c:IsCode(17090009) return c:IsSetCard(0x47f2) or c:IsCode(17090009)
end end
function cm.slcon(e) function cm.slcon(e)
return not Duel.IsExistingMatchingCard(cm.slfilter,e:GetHandlerPlayer(),LOCATION_PZONE,0,1,e:GetHandler()) return not Duel.IsExistingMatchingCard(cm.slfilter,e:GetHandlerPlayer(),LOCATION_PZONE,0,1,e:GetHandler())
......
...@@ -64,7 +64,7 @@ function cm.limit(e,c) ...@@ -64,7 +64,7 @@ function cm.limit(e,c)
return Duel.GetFlagEffect(e:GetHandler():GetControler(),17090009)>0 return Duel.GetFlagEffect(e:GetHandler():GetControler(),17090009)>0
end end
function cm.slfilter(c) function cm.slfilter(c)
return c:IsSetCard(0x3701) or c:IsCode(17090009) return c:IsSetCard(0x47f2) or c:IsCode(17090009)
end end
function cm.slcon(e) function cm.slcon(e)
return not Duel.IsExistingMatchingCard(cm.slfilter,e:GetHandlerPlayer(),LOCATION_PZONE,0,1,e:GetHandler()) return not Duel.IsExistingMatchingCard(cm.slfilter,e:GetHandlerPlayer(),LOCATION_PZONE,0,1,e:GetHandler())
......
...@@ -60,7 +60,7 @@ function cm.limit(e,c) ...@@ -60,7 +60,7 @@ function cm.limit(e,c)
return Duel.GetFlagEffect(e:GetHandler():GetControler(),17090009)>0 return Duel.GetFlagEffect(e:GetHandler():GetControler(),17090009)>0
end end
function cm.slfilter(c) function cm.slfilter(c)
return c:IsSetCard(0x3701) or c:IsCode(17090009) return c:IsSetCard(0x47f2) or c:IsCode(17090009)
end end
function cm.slcon(e) function cm.slcon(e)
return not Duel.IsExistingMatchingCard(cm.slfilter,e:GetHandlerPlayer(),LOCATION_PZONE,0,1,e:GetHandler()) return not Duel.IsExistingMatchingCard(cm.slfilter,e:GetHandlerPlayer(),LOCATION_PZONE,0,1,e:GetHandler())
......
...@@ -63,7 +63,7 @@ function cm.limit(e,c) ...@@ -63,7 +63,7 @@ function cm.limit(e,c)
return Duel.GetFlagEffect(e:GetHandler():GetControler(),17090009)>0 return Duel.GetFlagEffect(e:GetHandler():GetControler(),17090009)>0
end end
function cm.slfilter(c) function cm.slfilter(c)
return c:IsSetCard(0x3701) or c:IsCode(17090009) return c:IsSetCard(0x47f2) or c:IsCode(17090009)
end end
function cm.slcon(e) function cm.slcon(e)
return not Duel.IsExistingMatchingCard(cm.slfilter,e:GetHandlerPlayer(),LOCATION_PZONE,0,1,e:GetHandler()) return not Duel.IsExistingMatchingCard(cm.slfilter,e:GetHandlerPlayer(),LOCATION_PZONE,0,1,e:GetHandler())
......
...@@ -2,17 +2,54 @@ ...@@ -2,17 +2,54 @@
local m=33330001 local m=33330001
local cm=_G["c"..m] local cm=_G["c"..m]
function cm.initial_effect(c) function cm.initial_effect(c)
--indes --Indes
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE) e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetCode(EFFECT_INDESTRUCTABLE_EFFECT)
e1:SetProperty(EFFECT_FLAG_SINGLE_RANGE) e1:SetProperty(EFFECT_FLAG_SINGLE_RANGE)
e1:SetRange(LOCATION_MZONE) e1:SetRange(LOCATION_MZONE)
e1:SetCode(EFFECT_INDESTRUCTABLE_EFFECT)
e1:SetValue(1) e1:SetValue(1)
c:RegisterEffect(e1) c:RegisterEffect(e1)
--direct atk local e2=e1:Clone()
local e2=Effect.CreateEffect(c) e2:SetCode(EFFECT_AVOID_BATTLE_DAMAGE)
e2:SetType(EFFECT_TYPE_SINGLE)
e2:SetCode(EFFECT_DIRECT_ATTACK)
c:RegisterEffect(e2) c:RegisterEffect(e2)
--Direct Attack
local e3=Effect.CreateEffect(c)
e3:SetType(EFFECT_TYPE_SINGLE)
e3:SetCode(EFFECT_DIRECT_ATTACK)
c:RegisterEffect(e3)
--search
local e4=Effect.CreateEffect(c)
e4:SetDescription(aux.Stringid(33330001,0))
e4:SetCategory(CATEGORY_SEARCH+CATEGORY_TOHAND)
e4:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_O)
e4:SetCode(EVENT_SUMMON_SUCCESS)
e4:SetProperty(EFFECT_FLAG_DELAY)
e4:SetCountLimit(1,m)
e4:SetCost(c33330001.thcost)
e4:SetTarget(c33330001.thtg)
e4:SetOperation(c33330001.thop)
c:RegisterEffect(e4)
local e5=e4:Clone()
e5:SetCode(EVENT_SPSUMMON_SUCCESS)
c:RegisterEffect(e5)
end
function cm.thcost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(Card.IsDiscardable,tp,LOCATION_HAND,0,1,nil) end
Duel.DiscardHand(tp,Card.IsDiscardable,1,1,REASON_COST+REASON_DISCARD)
end
function cm.filter2(c)
return c:IsSetCard(0x556) and c:IsType(TYPE_FIELD) and c:IsAbleToHand()
end
function cm.thtg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(cm.filter2,tp,LOCATION_DECK,0,1,nil) end
Duel.SetOperationInfo(0,CATEGORY_TOHAND,nil,1,tp,LOCATION_DECK)
end
function cm.thop(e,tp,eg,ep,ev,re,r,rp)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_ATOHAND)
local g=Duel.SelectMatchingCard(tp,cm.filter2,tp,LOCATION_DECK,0,1,1,nil)
if g:GetCount()>0 then
Duel.SendtoHand(g,nil,REASON_EFFECT)
Duel.ConfirmCards(1-tp,g)
end
end end
\ No newline at end of file
--深界探窟者 雷古 --深界探窟者 雷古
function c33330002.initial_effect(c) local m=33330002
--th2 local cm=_G["c"..m]
cm.search={33330026,33330015} --检 索 的 卡
function cm.initial_effect(c)
--To Hand 1
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(33330002,1)) e1:SetDescription(aux.Stringid(m,0))
e1:SetCategory(CATEGORY_TOHAND+CATEGORY_SEARCH) e1:SetCategory(CATEGORY_TOHAND+CATEGORY_SEARCH)
e1:SetType(EFFECT_TYPE_IGNITION) e1:SetType(EFFECT_TYPE_IGNITION)
e1:SetRange(LOCATION_MZONE) e1:SetRange(LOCATION_MZONE)
e1:SetCountLimit(1,33330102) e1:SetCountLimit(1,m)
e1:SetCost(c33330002.cost) e1:SetCost(cm.thcost1)
e1:SetTarget(c33330002.target) e1:SetTarget(cm.thtg1)
e1:SetOperation(c33330002.activate) e1:SetOperation(cm.thop1)
c:RegisterEffect(e1) c:RegisterEffect(e1)
--tohand --To Hand 2
local e4=Effect.CreateEffect(c) local e2=Effect.CreateEffect(c)
e4:SetDescription(aux.Stringid(33330002,0)) e2:SetDescription(aux.Stringid(m,1))
e4:SetCategory(CATEGORY_TOHAND+CATEGORY_SEARCH) e2:SetCategory(CATEGORY_TOHAND+CATEGORY_SEARCH)
e4:SetType(EFFECT_TYPE_IGNITION) e2:SetType(EFFECT_TYPE_IGNITION)
e4:SetRange(LOCATION_MZONE) e2:SetRange(LOCATION_MZONE)
e4:SetCountLimit(1,33330002) e2:SetCountLimit(1,m+100)
e4:SetCost(c33330002.thcost) e2:SetCost(cm.thcost2)
e4:SetTarget(c33330002.thtg) e2:SetTarget(cm.thtg2)
e4:SetOperation(c33330002.thop) e2:SetOperation(cm.thop2)
c:RegisterEffect(e4) c:RegisterEffect(e2)
end end
function c33330002.cost(e,tp,eg,ep,ev,re,r,rp,chk) cm.card_code_list=cm.search
--To Hand 1
function cm.thfilter1(c)
return c:IsType(TYPE_EQUIP) and c:IsSetCard(0x556) and c:IsAbleToHand()
end
function cm.thcost1(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(Card.IsDiscardable,tp,LOCATION_HAND,0,1,nil) end
Duel.DiscardHand(tp,Card.IsDiscardable,1,1,REASON_COST)
end
function cm.thtg1(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(cm.thfilter1,tp,LOCATION_DECK,0,1,nil) end
Duel.SetOperationInfo(0,CATEGORY_TOHAND,nil,1,tp,LOCATION_DECK)
end
function cm.thop1(e,tp,eg,ep,ev,re,r,rp)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_ATOHAND)
local g=Duel.SelectMatchingCard(tp,cm.thfilter1,tp,LOCATION_DECK,0,1,1,nil)
if g:GetCount()>0 and Duel.SendtoHand(g,nil,REASON_EFFECT)~=0 then
Duel.ConfirmCards(1-tp,g)
end
end
--To Hand 2
function cm.thfilter2(c,code)
return c:IsCode(code) and c:IsAbleToHand()
end
function cm.thcost2(e,tp,eg,ep,ev,re,r,rp,chk)
local g=Duel.GetFieldGroup(tp,LOCATION_HAND,0) local g=Duel.GetFieldGroup(tp,LOCATION_HAND,0)
local ct=g:GetCount() local ct=g:GetCount()
if chk==0 then return e:GetHandler():IsReleasable() and ct>0 and g:FilterCount(Card.IsAbleToRemove,nil)==ct end if chk==0 then return e:GetHandler():IsReleasable() and ct>0 and g:FilterCount(Card.IsAbleToRemove,nil)==ct end
Duel.Release(e:GetHandler(),REASON_COST) Duel.Release(e:GetHandler(),REASON_COST)
Duel.Remove(g,POS_FACEUP,REASON_COST) Duel.Remove(g,POS_FACEUP,REASON_COST)
end end
function c33330002.filter1(c) function cm.thtg2(e,tp,eg,ep,ev,re,r,rp,chk)
return c:IsCode(33330026) and c:IsAbleToHand() if chk==0 then return Duel.IsExistingMatchingCard(cm.thfilter2,tp,LOCATION_DECK+LOCATION_GRAVE,0,1,nil,cm.search[1])
and Duel.IsExistingMatchingCard(cm.thfilter2,tp,LOCATION_DECK+LOCATION_GRAVE,0,1,nil,cm.search[2]) end
Duel.SetOperationInfo(0,CATEGORY_TOHAND,nil,2,tp,LOCATION_DECK+LOCATION_GRAVE)
end end
function c33330002.filter2(c) function cm.thop2(e,tp,eg,ep,ev,re,r,rp)
return c:IsCode(33330015) and c:IsAbleToHand() local g1=Duel.GetMatchingGroup(aux.NecroValleyFilter(cm.thfilter2),tp,LOCATION_DECK+LOCATION_GRAVE,0,nil,cm.search[1])
end local g2=Duel.GetMatchingGroup(aux.NecroValleyFilter(cm.thfilter2),tp,LOCATION_DECK+LOCATION_GRAVE,0,nil,cm.search[2])
function c33330002.target(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(c33330002.filter1,tp,LOCATION_DECK,0,1,nil)
and Duel.IsExistingMatchingCard(c33330002.filter2,tp,LOCATION_DECK,0,1,nil) end
Duel.SetOperationInfo(0,CATEGORY_TOHAND,nil,2,tp,LOCATION_DECK)
end
function c33330002.activate(e,tp,eg,ep,ev,re,r,rp)
local g1=Duel.GetMatchingGroup(c33330002.filter1,tp,LOCATION_DECK,0,nil)
local g2=Duel.GetMatchingGroup(c33330002.filter2,tp,LOCATION_DECK,0,nil)
if g1:GetCount()>0 and g2:GetCount()>0 then if g1:GetCount()>0 and g2:GetCount()>0 then
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_ATOHAND) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_ATOHAND)
local sg1=g1:Select(tp,1,1,nil) local sg1=g1:Select(tp,1,1,nil)
...@@ -54,23 +75,3 @@ function c33330002.activate(e,tp,eg,ep,ev,re,r,rp) ...@@ -54,23 +75,3 @@ function c33330002.activate(e,tp,eg,ep,ev,re,r,rp)
Duel.ConfirmCards(1-tp,sg1) Duel.ConfirmCards(1-tp,sg1)
end end
end end
function c33330002.thcost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(Card.IsAbleToGraveAsCost,tp,LOCATION_HAND,0,1,nil) end
Duel.DiscardHand(tp,Card.IsAbleToGraveAsCost,1,1,REASON_COST)
end
function c33330002.thfilter(c)
return c:IsType(TYPE_EQUIP) and c:IsSetCard(0x556) and c:IsAbleToHand()
end
function c33330002.thtg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(c33330002.thfilter,tp,LOCATION_DECK,0,1,nil) end
Duel.SetOperationInfo(0,CATEGORY_TOHAND,nil,1,tp,LOCATION_DECK)
end
function c33330002.thop(e,tp,eg,ep,ev,re,r,rp)
if not e:GetHandler():IsRelateToEffect(e) then return end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_ATOHAND)
local g=Duel.SelectMatchingCard(tp,c33330002.thfilter,tp,LOCATION_DECK,0,1,1,nil)
if g:GetCount()>0 then
Duel.SendtoHand(g,nil,REASON_EFFECT)
Duel.ConfirmCards(1-tp,g)
end
end
\ No newline at end of file
--深界探窟者 娜娜奇 --深界探窟者 娜娜奇
function c33330003.initial_effect(c) local m=33330003
--search local cm=_G["c"..m]
function cm.initial_effect(c)
--Special Summon
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(33330003,0)) e1:SetDescription(aux.Stringid(m,0))
e1:SetCategory(CATEGORY_TOHAND+CATEGORY_SEARCH) e1:SetCategory(CATEGORY_SPECIAL_SUMMON)
e1:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_O) e1:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_O)
e1:SetCode(EVENT_TO_GRAVE) e1:SetCode(EVENT_SUMMON_SUCCESS)
e1:SetProperty(EFFECT_FLAG_DAMAGE_STEP) e1:SetProperty(EFFECT_FLAG_DELAY+EFFECT_FLAG_DAMAGE_STEP)
e1:SetCountLimit(1,33330003) e1:SetCountLimit(1,m)
e1:SetTarget(c33330003.thtg1) e1:SetTarget(cm.sptg)
e1:SetOperation(c33330003.tgop1) e1:SetOperation(cm.spop)
c:RegisterEffect(e1) c:RegisterEffect(e1)
--special summon local e2=e1:Clone()
local e2=Effect.CreateEffect(c) e2:SetCode(EVENT_SPSUMMON_SUCCESS)
e2:SetDescription(aux.Stringid(33330003,1))
e2:SetCategory(CATEGORY_SPECIAL_SUMMON)
e2:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_O)
e2:SetCode(EVENT_SUMMON_SUCCESS)
e2:SetProperty(EFFECT_FLAG_DAMAGE_STEP+EFFECT_FLAG_DELAY)
e2:SetCountLimit(1,33330103)
e2:SetTarget(c33330003.sptg1)
e2:SetOperation(c33330003.spop1)
c:RegisterEffect(e2) c:RegisterEffect(e2)
local e3=e2:Clone() --Search
e3:SetCode(EVENT_SPSUMMON_SUCCESS) local e3=Effect.CreateEffect(c)
c:RegisterEffect(e3) e3:SetDescription(aux.Stringid(m,1))
e3:SetCategory(CATEGORY_TOHAND+CATEGORY_SEARCH)
e3:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_O)
e3:SetCode(EVENT_TO_GRAVE)
e3:SetProperty(EFFECT_FLAG_DELAY+EFFECT_FLAG_DAMAGE_STEP)
e3:SetCountLimit(1,m+100)
e3:SetTarget(cm.thtg)
e3:SetOperation(cm.thop)
c:RegisterEffect(e3)
end end
function c33330003.spfilter1(c,e,tp) --Special Summon
return c:IsSetCard(0x557) and c:GetLevel()<=4 and c:IsCanBeSpecialSummoned(e,0,tp,false,false) function cm.spfilter(c,e,tp)
return c:IsSetCard(0x557) and c:IsLevelBelow(4) and c:IsCanBeSpecialSummoned(e,0,tp,false,false)
end end
function c33330003.sptg1(e,tp,eg,ep,ev,re,r,rp,chk) function cm.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.GetMZoneCount(tp)>0 and Duel.IsExistingMatchingCard(cm.spfilter,tp,LOCATION_GRAVE,0,1,nil,e,tp) end
and Duel.IsExistingMatchingCard(c33330003.spfilter1,tp,LOCATION_GRAVE,0,1,nil,e,tp) end
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,1,tp,LOCATION_GRAVE) Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,1,tp,LOCATION_GRAVE)
end end
function c33330003.spop1(e,tp,eg,ep,ev,re,r,rp) function cm.spop(e,tp,eg,ep,ev,re,r,rp)
if Duel.GetLocationCount(tp,LOCATION_MZONE)<=0 then return end if Duel.GetMZoneCount(tp)<1 then return end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON)
local g=Duel.SelectMatchingCard(tp,aux.NecroValleyFilter(c33330003.spfilter1),tp,LOCATION_GRAVE,0,1,1,nil,e,tp) local g=Duel.SelectMatchingCard(tp,aux.NecroValleyFilter(cm.spfilter),tp,LOCATION_GRAVE,0,1,1,nil,e,tp)
if g:GetCount()>0 then if g:GetCount()>0 then
Duel.SpecialSummon(g,0,tp,tp,false,false,POS_FACEUP) Duel.SpecialSummon(g,0,tp,tp,false,false,POS_FACEUP)
end end
end end
function c33330003.thfilter1(c) --Search
function cm.thfilter(c)
return c:IsSetCard(0x557) and c:IsAbleToHand() return c:IsSetCard(0x557) and c:IsAbleToHand()
end end
function c33330003.thtg1(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(c33330003.thfilter1,tp,LOCATION_DECK,0,1,nil) end if chk==0 then return Duel.IsExistingMatchingCard(cm.thfilter,tp,LOCATION_DECK,0,1,nil) end
Duel.SetOperationInfo(0,CATEGORY_TOHAND,nil,1,tp,LOCATION_DECK) Duel.SetOperationInfo(0,CATEGORY_TOHAND,nil,1,tp,LOCATION_DECK)
end end
function c33330003.tgop1(e,tp,eg,ep,ev,re,r,rp) function cm.thop(e,tp,eg,ep,ev,re,r,rp)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_ATOHAND) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_ATOHAND)
local g=Duel.SelectMatchingCard(tp,c33330003.thfilter1,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 and Duel.SendtoHand(g,nil,REASON_EFFECT)~=0 then
Duel.SendtoHand(g,nil,REASON_EFFECT)
Duel.ConfirmCards(1-tp,g) Duel.ConfirmCards(1-tp,g)
end end
end end
\ No newline at end of file
--深界探窟者 马璐璐库 --深界探窟者 马璐璐库
function c33330004.initial_effect(c) local m=33330004
--spsummon local cm=_G["c"..m]
function cm.initial_effect(c)
--Special Summon
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(33330004,0)) e1:SetDescription(aux.Stringid(m,0))
e1:SetCategory(CATEGORY_SPECIAL_SUMMON) e1:SetCategory(CATEGORY_SPECIAL_SUMMON)
e1:SetType(EFFECT_TYPE_IGNITION) e1:SetType(EFFECT_TYPE_IGNITION)
e1:SetRange(LOCATION_MZONE) e1:SetRange(LOCATION_MZONE)
e1:SetCountLimit(1,33330004) e1:SetCountLimit(1,m)
e1:SetCost(c33330004.cost) e1:SetCost(cm.spcost)
e1:SetTarget(c33330004.target) e1:SetTarget(cm.sptg)
e1:SetOperation(c33330004.operation) e1:SetOperation(cm.spop)
c:RegisterEffect(e1) c:RegisterEffect(e1)
--tog --Return Grave
local e2=Effect.CreateEffect(c) local e2=Effect.CreateEffect(c)
e2:SetDescription(aux.Stringid(33330004,1)) e2:SetDescription(aux.Stringid(m,1))
e2:SetCategory(CATEGORY_TOGRAVE) e2:SetCategory(CATEGORY_TOGRAVE)
e2:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_O) e2:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_O)
e2:SetCode(EVENT_TO_GRAVE) e2:SetCode(EVENT_TO_GRAVE)
e2:SetProperty(EFFECT_FLAG_DAMAGE_STEP) e2:SetProperty(EFFECT_FLAG_DELAY+EFFECT_FLAG_DAMAGE_STEP)
e2:SetTarget(c33330004.tgtg1) e2:SetTarget(cm.tgtg)
e2:SetOperation(c33330004.tgop1) e2:SetOperation(cm.tgop)
c:RegisterEffect(e2) c:RegisterEffect(e2)
end end
function c33330004.tgtg1(e,tp,eg,ep,ev,re,r,rp,chk) --Special Summon
if chk==0 then return Duel.IsExistingMatchingCard(nil,tp,LOCATION_REMOVED,LOCATION_REMOVED,1,nil) end function cm.costfilter(c,tp)
Duel.SetOperationInfo(0,CATEGORY_TOGRAVE,nil,1,0,LOCATION_REMOVED) return c:IsFaceup() and c:IsSetCard(0x556) and Duel.GetMZoneCount(tp,c)>0
end end
function c33330004.tgop1(e,tp,eg,ep,ev,re,r,rp) function cm.spfilter(c,e,tp)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TOGRAVE) return c:IsSetCard(0x1556) and c:IsType(TYPE_MONSTER) and c:IsCanBeSpecialSummoned(e,0,tp,false,false)
local g=Duel.SelectMatchingCard(tp,nil,tp,LOCATION_REMOVED,LOCATION_REMOVED,1,1,nil)
if g:GetCount()>0 then
Duel.SendtoGrave(g,REASON_EFFECT+REASON_RETURN)
end
end end
function c33330004.costfilter(c,ft,tp) function cm.spcost(e,tp,eg,ep,ev,re,r,rp,chk)
return c:IsFaceup() and c:IsSetCard(0x556) if chk==0 then return Duel.CheckReleaseGroup(tp,cm.costfilter,1,nil,ft,tp) end
and (ft>0 or (c:IsControler(tp) and c:GetSequence()<5)) local g=Duel.SelectReleaseGroup(tp,cm.costfilter,1,1,nil,ft,tp)
end
function c33330004.cost(e,tp,eg,ep,ev,re,r,rp,chk)
local ft=Duel.GetLocationCount(tp,LOCATION_MZONE)
if chk==0 then return ft>-1 and Duel.CheckReleaseGroup(tp,c33330004.costfilter,1,nil,ft,tp) end
local g=Duel.SelectReleaseGroup(tp,c33330004.costfilter,1,1,nil,ft,tp)
Duel.Release(g,REASON_COST) Duel.Release(g,REASON_COST)
end end
function c33330004.filter(c,e,tp) function cm.sptg(e,tp,eg,ep,ev,re,r,rp,chk)
return c:IsSetCard(0x1556) and c:IsCanBeSpecialSummoned(e,0,tp,false,false) if chk==0 then return Duel.IsExistingMatchingCard(cm.spfilter,tp,LOCATION_DECK,0,1,nil,e,tp) end
end
function c33330004.target(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(c33330004.filter,tp,LOCATION_DECK,0,1,nil,e,tp) end
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,1,0,LOCATION_DECK) Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,1,0,LOCATION_DECK)
end end
function c33330004.operation(e,tp,eg,ep,ev,re,r,rp) function cm.spop(e,tp,eg,ep,ev,re,r,rp)
if Duel.GetLocationCount(tp,LOCATION_MZONE)<=0 then return end if Duel.GetMZoneCount(tp)<1 then return end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON)
local g=Duel.SelectMatchingCard(tp,c33330004.filter,tp,LOCATION_DECK,0,1,1,nil,e,tp) local g=Duel.SelectMatchingCard(tp,cm.spfilter,tp,LOCATION_DECK,0,1,1,nil,e,tp)
if g:GetCount()>0 then if g:GetCount()>0 then
Duel.SpecialSummon(g,0,tp,tp,false,false,POS_FACEUP) Duel.SpecialSummon(g,0,tp,tp,false,false,POS_FACEUP)
end end
end end
--Return Grave
function cm.tgtg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(nil,tp,LOCATION_REMOVED,LOCATION_REMOVED,1,nil) end
Duel.SetOperationInfo(0,CATEGORY_TOGRAVE,nil,1,0,LOCATION_REMOVED)
end
function cm.tgop(e,tp,eg,ep,ev,re,r,rp)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TOGRAVE)
local g=Duel.SelectMatchingCard(tp,nil,tp,LOCATION_REMOVED,LOCATION_REMOVED,1,1,nil)
if g:GetCount()>0 then
Duel.SendtoGrave(g,REASON_EFFECT+REASON_RETURN)
end
end
--深界生骸 米蒂 --深界生骸 米蒂
function c33330005.initial_effect(c) local m=33330005
--search local cm=_G["c"..m]
function cm.initial_effect(c)
--Special Summon
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(33330005,0)) e1:SetDescription(aux.Stringid(m,0))
e1:SetCategory(CATEGORY_SPECIAL_SUMMON) e1:SetCategory(CATEGORY_SPECIAL_SUMMON)
e1:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_O) e1:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_O)
e1:SetCode(EVENT_TO_GRAVE) e1:SetCode(EVENT_TO_GRAVE)
e1:SetProperty(EFFECT_FLAG_DAMAGE_STEP+EFFECT_FLAG_DELAY) e1:SetProperty(EFFECT_FLAG_DELAY+EFFECT_FLAG_DAMAGE_STEP)
e1:SetCountLimit(1,33330003+EFFECT_COUNT_CODE_DUEL) e1:SetCountLimit(1,m+EFFECT_COUNT_CODE_DUEL)
e1:SetCost(c33330005.spcost) e1:SetCondition(cm.spcon)
e1:SetTarget(c33330005.target) e1:SetCost(cm.spcost)
e1:SetOperation(c33330005.operation) e1:SetTarget(cm.sptg)
c:RegisterEffect(e1) e1:SetOperation(cm.spop)
Duel.AddCustomActivityCounter(33330005,ACTIVITY_SPSUMMON,c33330005.counterfilter) c:RegisterEffect(e1)
--Cost
Duel.AddCustomActivityCounter(m,ACTIVITY_SPSUMMON,cm.counterfilter)
end end
function c33330005.counterfilter(c) --Cost
function cm.counterfilter(c)
return c:IsSetCard(0x556) return c:IsSetCard(0x556)
end end
function c33330005.splimit(e,c,sump,sumtype,sumpos,targetp,se) function cm.splimit(e,c,sump,sumtype,sumpos,targetp,se)
return not c:IsSetCard(0x556) return not c:IsSetCard(0x556)
end end
function c33330005.spcost(e,tp,eg,ep,ev,re,r,rp,chk) function cm.spcost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.GetCustomActivityCount(33330005,tp,ACTIVITY_SPSUMMON)==0 end if chk==0 then return Duel.GetCustomActivityCount(m,tp,ACTIVITY_SPSUMMON)==0 end
local e1=Effect.CreateEffect(e:GetHandler()) local e1=Effect.CreateEffect(e:GetHandler())
e1:SetType(EFFECT_TYPE_FIELD) e1:SetType(EFFECT_TYPE_FIELD)
e1:SetProperty(EFFECT_FLAG_PLAYER_TARGET+EFFECT_FLAG_OATH)
e1:SetCode(EFFECT_CANNOT_SPECIAL_SUMMON) e1:SetCode(EFFECT_CANNOT_SPECIAL_SUMMON)
e1:SetReset(RESET_PHASE+PHASE_END) e1:SetProperty(EFFECT_FLAG_PLAYER_TARGET+EFFECT_FLAG_OATH)
e1:SetTargetRange(1,0) e1:SetTargetRange(1,0)
e1:SetLabelObject(e) e1:SetTarget(cm.splimit)
e1:SetTarget(c33330005.splimit) e1:SetReset(RESET_PHASE+PHASE_END)
Duel.RegisterEffect(e1,tp) Duel.RegisterEffect(e1,tp)
end end
function c33330005.filter(c,e,tp) --Special Summon
return c:IsCode(33330005) and c:IsCanBeSpecialSummoned(e,0,tp,false,false) function cm.spfilter(c,e,tp)
return c:IsCode(m) and c:IsCanBeSpecialSummoned(e,0,tp,false,false)
end
function cm.spcon(e,tp,eg,ep,ev,re,r,rp)
return e:GetHandler():IsPreviousLocation(LOCATION_ONFIELD)
end end
function c33330005.target(e,tp,eg,ep,ev,re,r,rp,chk) function cm.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.GetMZoneCount(tp)>0
and Duel.IsExistingMatchingCard(c33330005.filter,tp,LOCATION_DECK+LOCATION_GRAVE,0,1,nil,e,tp) end and Duel.IsExistingMatchingCard(cm.spfilter,tp,LOCATION_DECK+LOCATION_GRAVE,0,1,nil,e,tp) end
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,1,tp,LOCATION_DECK+LOCATION_GRAVE) Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,1,tp,LOCATION_DECK+LOCATION_GRAVE)
end end
function c33330005.operation(e,tp,eg,ep,ev,re,r,rp) function cm.spop(e,tp,eg,ep,ev,re,r,rp)
local ft=Duel.GetLocationCount(tp,LOCATION_MZONE) local ft=Duel.GetMZoneCount(tp)
if ft<=0 then return end if ft<1 then return end
if ft>2 then ft=2 end if ft>2 then ft=2 end
if Duel.IsPlayerAffectedByEffect(tp,59822133) then ft=1 end if Duel.IsPlayerAffectedByEffect(tp,59822133) then ft=1 end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON)
local g=Duel.SelectMatchingCard(tp,aux.NecroValleyFilter(c33330005.filter),tp,LOCATION_DECK+LOCATION_GRAVE,0,1,ft,nil,e,tp) local g=Duel.SelectMatchingCard(tp,aux.NecroValleyFilter(cm.spfilter),tp,LOCATION_DECK+LOCATION_GRAVE,0,1,ft,nil,e,tp)
if g:GetCount()>0 then if g:GetCount()>0 then
Duel.SpecialSummon(g,0,tp,tp,false,false,POS_FACEUP) Duel.SpecialSummon(g,0,tp,tp,false,false,POS_FACEUP)
end end
......
--深界生物 血口之绳 --深界生物 血口之绳
function c33330006.initial_effect(c) local m=33330006
--special summon local cm=_G["c"..m]
cm.counter=0x1556 --指 示 物
cm.atk=500 --攻 击 力
function cm.initial_effect(c)
--Hand Special Summon
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(m,0))
e1:SetType(EFFECT_TYPE_FIELD) e1:SetType(EFFECT_TYPE_FIELD)
e1:SetCode(EFFECT_SPSUMMON_PROC) e1:SetCode(EFFECT_SPSUMMON_PROC)
e1:SetProperty(EFFECT_FLAG_UNCOPYABLE) e1:SetProperty(EFFECT_FLAG_UNCOPYABLE)
e1:SetRange(LOCATION_HAND) e1:SetRange(LOCATION_HAND)
e1:SetCondition(c33330006.spcon) e1:SetCondition(cm.hspcon)
c:RegisterEffect(e1) c:RegisterEffect(e1)
--special summon --Counter
local e2=Effect.CreateEffect(c) local e2=Effect.CreateEffect(c)
e2:SetDescription(aux.Stringid(33330006,0)) e2:SetDescription(aux.Stringid(m,1))
e2:SetCategory(CATEGORY_COUNTER) e2:SetCategory(CATEGORY_COUNTER)
e2:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_F) e2:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_F)
e2:SetCode(EVENT_SPSUMMON_SUCCESS) e2:SetCode(EVENT_SPSUMMON_SUCCESS)
e2:SetProperty(EFFECT_FLAG_DAMAGE_STEP) e2:SetProperty(EFFECT_FLAG_DAMAGE_STEP)
e2:SetTarget(c33330006.ctg1) e2:SetTarget(cm.cttg)
e2:SetOperation(c33330006.cop1) e2:SetOperation(cm.ctop)
c:RegisterEffect(e2) c:RegisterEffect(e2)
-- --Xyz Material
local e3=Effect.CreateEffect(c) local e3=Effect.CreateEffect(c)
e3:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_CONTINUOUS) e3:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_CONTINUOUS)
e3:SetCode(EVENT_BE_MATERIAL) e3:SetCode(EVENT_BE_MATERIAL)
e3:SetCondition(c33330006.atkcon) e3:SetCondition(cm.atkcon)
e3:SetOperation(c33330006.atkop) e3:SetOperation(cm.atkop)
c:RegisterEffect(e3) c:RegisterEffect(e3)
end end
function c33330006.atkcon(e,tp,eg,ep,ev,re,r,rp) --Hand Special Summon
return r==REASON_XYZ function cm.hspfilter(c)
return c:IsFaceup() and c:IsSetCard(0x556)
end end
function c33330006.atkop(e,tp,eg,ep,ev,re,r,rp) function cm.hspcon(e,c)
local c=e:GetHandler() if c==nil then return true end
local rc=c:GetReasonCard() local tp=c:GetControler()
local e1=Effect.CreateEffect(c) return Duel.GetMZoneCount(tp)>0 and Duel.IsExistingMatchingCard(cm.hspfilter,tp,LOCATION_FZONE,0,1,nil)
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetCode(EFFECT_UPDATE_ATTACK)
e1:SetValue(500)
e1:SetReset(RESET_EVENT+0x1fe0000)
rc:RegisterEffect(e1)
end end
function c33330006.ctg1(e,tp,eg,ep,ev,re,r,rp,chk) --Counter
if chk==0 then return true end function cm.cttg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.GetFieldCard(tp,LOCATION_SZONE,5)~=nil end
Duel.SetOperationInfo(0,CATEGORY_COUNTER,nil,1,0,0) Duel.SetOperationInfo(0,CATEGORY_COUNTER,nil,1,0,0)
end end
function c33330006.cop1(e,tp,eg,ep,ev,re,r,rp) function cm.ctop(e,tp,eg,ep,ev,re,r,rp)
local tc=Duel.GetFieldCard(tp,LOCATION_SZONE,5) local tc=Duel.GetFieldCard(tp,LOCATION_SZONE,5)
if tc and tc:IsFaceup() and tc:IsCanAddCounter(0x1009,1) then if tc and tc:IsFaceup() and tc:IsCanAddCounter(cm.counter,1) then
tc:AddCounter(0x1019,1) tc:AddCounter(cm.counter,1)
end end
end end
function c33330006.filter(c) --Xyz Material
return c:IsFaceup() and c:IsSetCard(0x556) function cm.atkcon(e,tp,eg,ep,ev,re,r,rp)
return r==REASON_XYZ
end end
function c33330006.spcon(e,c) function cm.atkop(e,tp,eg,ep,ev,re,r,rp)
if c==nil then return true end local c=e:GetHandler()
return Duel.GetLocationCount(c:GetControler(),LOCATION_MZONE)>0 and local rc=c:GetReasonCard()
Duel.IsExistingMatchingCard(c33330006.filter,c:GetControler(),LOCATION_FZONE,0,1,nil) local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetCode(EFFECT_UPDATE_ATTACK)
e1:SetValue(cm.atk)
e1:SetReset(RESET_EVENT+RESETS_STANDARD)
rc:RegisterEffect(e1)
end end
\ No newline at end of file
--通往深界的升降机 --通往深界的升降机
function c33330007.initial_effect(c) local m=33330007
--special summon local cm=_G["c"..m]
local e2=Effect.CreateEffect(c) function cm.initial_effect(c)
e2:SetDescription(aux.Stringid(33330007,0)) --Destroy & Draw
e2:SetCategory(CATEGORY_DESTROY+CATEGORY_DRAW) local e1=Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_O) e1:SetDescription(aux.Stringid(m,0))
e2:SetCode(EVENT_SUMMON_SUCCESS) e1:SetCategory(CATEGORY_DESTROY+CATEGORY_DRAW)
e2:SetProperty(EFFECT_FLAG_DAMAGE_STEP+EFFECT_FLAG_DELAY) e1:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_O)
e2:SetTarget(c33330007.destg1) e1:SetCode(EVENT_SUMMON_SUCCESS)
e2:SetOperation(c33330007.desop1) e1:SetProperty(EFFECT_FLAG_DELAY+EFFECT_FLAG_DAMAGE_STEP)
c:RegisterEffect(e2) e1:SetTarget(cm.destg)
local e3=e2:Clone() e1:SetOperation(cm.desop)
e3:SetCode(EVENT_SPSUMMON_SUCCESS) c:RegisterEffect(e1)
c:RegisterEffect(e3) local e2=e1:Clone()
e2:SetCode(EVENT_SPSUMMON_SUCCESS)
c:RegisterEffect(e2)
end end
function c33330007.destg1(e,tp,eg,ep,ev,re,r,rp,chk) --Destroy & Draw
local g=Duel.GetMatchingGroup(Card.IsType,tp,LOCATION_ONFIELD,0,nil,TYPE_SPELL+TYPE_TRAP) function cm.desfilter(c)
return c:IsType(TYPE_SPELL+TYPE_TRAP) and c:IsDestructable()
end
function cm.destg(e,tp,eg,ep,ev,re,r,rp,chk)
local g=Duel.GetMatchingGroup(cm.desfilter,tp,LOCATION_ONFIELD,0,nil)
if chk==0 then return g:GetCount()>0 and Duel.IsPlayerCanDraw(tp,g:GetCount()) end if chk==0 then return g:GetCount()>0 and Duel.IsPlayerCanDraw(tp,g:GetCount()) end
Duel.SetOperationInfo(0,CATEGORY_DESTROY,g,g:GetCount(),0,0) Duel.SetOperationInfo(0,CATEGORY_DESTROY,g,g:GetCount(),0,0)
Duel.SetOperationInfo(0,CATEGORY_DRAW,nil,0,tp,g:GetCount()) Duel.SetOperationInfo(0,CATEGORY_DRAW,nil,0,tp,g:GetCount())
end end
function c33330007.desop1(e,tp,eg,ep,ev,re,r,rp) function cm.desop(e,tp,eg,ep,ev,re,r,rp)
local g=Duel.GetMatchingGroup(Card.IsType,tp,LOCATION_ONFIELD,0,nil,TYPE_SPELL+TYPE_TRAP) local g=Duel.GetMatchingGroup(cm.desfilter,tp,LOCATION_ONFIELD,0,nil)
local ct=Duel.Destroy(g,REASON_EFFECT) local ct=Duel.Destroy(g,REASON_EFFECT)
if ct>0 then if ct>0 then
Duel.Draw(tp,ct,REASON_EFFECT) Duel.Draw(tp,ct,REASON_EFFECT)
......
--深界生物 泣尸鸟 --深界生物 泣尸鸟
function c33330008.initial_effect(c) local m=33330008
--d a local cm=_G["c"..m]
local e4=Effect.CreateEffect(c) cm.counter=0x1556 --指 示 物
e4:SetDescription(aux.Stringid(33330008,0)) cm.atk=-1000 --攻 击 力
e4:SetCategory(CATEGORY_DESTROY) function cm.initial_effect(c)
e4:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_O) --Atk Down
e4:SetCode(EVENT_DAMAGE_STEP_END) local e1=Effect.CreateEffect(c)
e4:SetCost(c33330008.cost) e1:SetType(EFFECT_TYPE_FIELD)
e4:SetCondition(c33330008.condition) e1:SetCode(EFFECT_UPDATE_ATTACK)
e4:SetOperation(c33330008.operation) e1:SetRange(LOCATION_MZONE)
c:RegisterEffect(e4) e1:SetTargetRange(0,LOCATION_MZONE)
--rec e1:SetTarget(cm.atktg)
local e3=Effect.CreateEffect(c) e1:SetValue(cm.atkval)
e3:SetDescription(aux.Stringid(33330008,1)) c:RegisterEffect(e1)
e3:SetCategory(CATEGORY_RECOVER) --Atk Up
e3:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_O) local e2=Effect.CreateEffect(c)
e3:SetCode(EVENT_BATTLE_DESTROYING) e2:SetDescription(aux.Stringid(m,0))
e3:SetCondition(aux.bdocon) e2:SetCategory(CATEGORY_ATKCHANGE)
e3:SetTarget(c33330008.attg) e2:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_O)
e3:SetOperation(c33330008.atop) e2:SetCode(EVENT_BATTLE_DESTROYING)
c:RegisterEffect(e3) e2:SetProperty(EFFECT_FLAG_DELAY)
e2:SetCondition(aux.bdocon)
e2:SetOperation(cm.atop)
c:RegisterEffect(e2)
end end
function c33330008.attg(e,tp,eg,ep,ev,re,r,rp,chk) --Atk Down
if chk==0 then return Duel.GetCounter(tp,LOCATION_ONFIELD,0,0x1019)>0 end function cm.atktg(e,tc)
Duel.SetTargetPlayer(tp) local c=e:GetHandler()
local ct=Duel.GetCounter(tp,LOCATION_ONFIELD,0,0x1019) local ph=Duel.GetCurrentPhase()
Duel.SetTargetParam(ct*100) return (ph==PHASE_DAMAGE or ph==PHASE_DAMAGE_CAL) and c:IsRelateToBattle() and tc:IsFaceup() and c:GetBattleTarget()==tc
Duel.SetOperationInfo(0,CATEGORY_RECOVER,nil,0,tp,ct*100)
end
function c33330008.atop(e,tp,eg,ep,ev,re,r,rp)
local p,d=Duel.GetChainInfo(0,CHAININFO_TARGET_PLAYER,CHAININFO_TARGET_PARAM)
Duel.Recover(p,d,REASON_EFFECT)
end end
function c33330008.cost(e,tp,eg,ep,ev,re,r,rp,chk) function cm.atkval(e,c)
local tc=Duel.GetFieldCard(tp,LOCATION_SZONE,5) return Duel.GetCounter(e:GetHandlerPlayer(),LOCATION_ONFIELD,0,cm.counter)*cm.atk
if chk==0 then return tc and tc:IsCode(33330019) and tc:IsFaceup() and tc:IsCanAddCounter(0x1009,1) end
tc:AddCounter(0x1019,1)
end end
function c33330008.condition(e,tp,eg,ep,ev,re,r,rp) --Atk Up
function cm.atop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler() local c=e:GetHandler()
return c:IsChainAttackable() and not c:IsStatus(STATUS_BATTLE_DESTROYED) local tc=c:GetBattleTarget()
end if c:IsFaceup() and c:IsRelateToEffect(e) then
function c33330008.operation(e,tp,eg,ep,ev,re,r,rp) local e1=Effect.CreateEffect(c)
Duel.ChainAttack() e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetCode(EFFECT_UPDATE_ATTACK)
e1:SetValue(tc:GetBaseAttack())
e1:SetReset(RESET_EVENT+RESETS_STANDARD+RESET_DISABLE)
c:RegisterEffect(e1)
if Duel.GetCurrentPhase()>=PHASE_BATTLE_START and Duel.GetCurrentPhase()<=PHASE_BATTLE then
local e2=Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_SINGLE)
e2:SetCode(EFFECT_EXTRA_ATTACK)
e2:SetProperty(EFFECT_FLAG_CANNOT_DISABLE)
e2:SetValue(1)
e2:SetReset(RESET_EVENT+RESETS_STANDARD+RESET_PHASE+PHASE_BATTLE)
c:RegisterEffect(e2)
end
end
end end
\ No newline at end of file
--深界生物 龙鬃螺鸠 --深界生物 龙鬃螺鸠
function c33330009.initial_effect(c) local m=33330009
--xyz summon local cm=_G["c"..m]
aux.AddXyzProcedure(c,nil,6,2) function cm.initial_effect(c)
c:EnableReviveLimit() c:EnableReviveLimit()
--negate activate --Xyz Summon
aux.AddXyzProcedure(c,nil,6,2)
--Negate
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(33330009,0)) e1:SetDescription(aux.Stringid(m,0))
e1:SetCategory(CATEGORY_NEGATE) e1:SetCategory(CATEGORY_NEGATE)
e1:SetType(EFFECT_TYPE_QUICK_O) e1:SetType(EFFECT_TYPE_QUICK_O)
e1:SetRange(LOCATION_MZONE)
e1:SetCode(EVENT_CHAINING) e1:SetCode(EVENT_CHAINING)
e1:SetRange(LOCATION_MZONE)
e1:SetProperty(EFFECT_FLAG_DAMAGE_STEP+EFFECT_FLAG_DAMAGE_CAL) e1:SetProperty(EFFECT_FLAG_DAMAGE_STEP+EFFECT_FLAG_DAMAGE_CAL)
e1:SetCondition(c33330009.condition) e1:SetCountLimit(1)
e1:SetCost(c33330009.cost) e1:SetCondition(cm.ngcon)
e1:SetTarget(c33330009.target) e1:SetCost(cm.ngcost)
e1:SetOperation(c33330009.operation) e1:SetTarget(cm.ngtg)
e1:SetOperation(cm.ngop)
c:RegisterEffect(e1) c:RegisterEffect(e1)
--destroy replace --Destroy Replace
local e2=Effect.CreateEffect(c) local e2=Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_CONTINUOUS) e2:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_CONTINUOUS)
e2:SetCode(EFFECT_DESTROY_REPLACE) e2:SetCode(EFFECT_DESTROY_REPLACE)
e2:SetProperty(EFFECT_FLAG_SINGLE_RANGE) e2:SetProperty(EFFECT_FLAG_SINGLE_RANGE)
e2:SetRange(LOCATION_MZONE) e2:SetRange(LOCATION_MZONE)
e2:SetTarget(c33330009.reptg) e2:SetTarget(cm.reptg)
c:RegisterEffect(e2) c:RegisterEffect(e2)
end end
function c33330009.reptg(e,tp,eg,ep,ev,re,r,rp,chk) --Negate
if chk==0 then return e:GetHandler():CheckRemoveOverlayCard(tp,2,REASON_EFFECT) end function cm.ngcon(e,tp,eg,ep,ev,re,r,rp,chk)
if Duel.SelectEffectYesNo(tp,e:GetHandler(),96) then return not e:GetHandler():IsStatus(STATUS_BATTLE_DESTROYED) and rp~=tp and re:IsActiveType(TYPE_MONSTER)
e:GetHandler():RemoveOverlayCard(tp,2,2,REASON_EFFECT) and Duel.IsChainDisablable(ev) and re:GetHandler():IsAbleToChangeControler()
return true and not re:GetHandler():IsType(TYPE_TOKEN)
else return false end
end end
function c33330009.condition(e,tp,eg,ep,ev,re,r,rp,chk) function cm.ngcost(e,tp,eg,ep,ev,re,r,rp,chk)
return not e:GetHandler():IsStatus(STATUS_BATTLE_DESTROYED) and rp~=tp and re:IsActiveType(TYPE_MONSTER) and Duel.IsChainDisablable(ev) and re:GetHandler():IsAbleToChangeControler() and not re:GetHandler():IsType(TYPE_TOKEN) --local og=e:GetHandler():GetOverlayGroup()
-- if chk==0 then return og:GetCount()>0 and og:IsExists(Card.IsSetCard,1,nil,0x556) end
-- Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_REMOVEXYZ)
-- local g=og:FilterSelect(tp,Card.IsSetCard,1,1,nil,0x556)
-- Duel.SendtoGrave(g,REASON_COST)
if chk==0 then return e:GetHandler():CheckRemoveOverlayCard(tp,1,REASON_COST) end
e:GetHandler():RemoveOverlayCard(tp,1,1,REASON_COST)
end end
function c33330009.cost(e,tp,eg,ep,ev,re,r,rp,chk) function cm.ngtg(e,tp,eg,ep,ev,re,r,rp,chk)
local og=e:GetHandler():GetOverlayGroup()
if chk==0 then return og:GetCount()>0 and og:IsExists(Card.IsSetCard,1,nil,0x556) end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_REMOVEXYZ)
local g=og:FilterSelect(tp,Card.IsSetCard,1,1,nil,0x556)
Duel.SendtoGrave(g,REASON_COST)
end
function c33330009.target(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return e:GetHandler():IsType(TYPE_XYZ) end if chk==0 then return e:GetHandler():IsType(TYPE_XYZ) end
Duel.SetOperationInfo(0,CATEGORY_NEGATE,eg,1,0,0) Duel.SetOperationInfo(0,CATEGORY_NEGATE,eg,1,0,0)
if re:GetHandler():IsDestructable() and re:GetHandler():IsRelateToEffect(re) then
Duel.SetOperationInfo(0,CATEGORY_DESTROY,eg,1,0,0)
end
end end
function c33330009.operation(e,tp,eg,ep,ev,re,r,rp) function cm.ngop(e,tp,eg,ep,ev,re,r,rp)
local rc=re:GetHandler() local rc=re:GetHandler()
local c=e:GetHandler() local c=e:GetHandler()
if Duel.NegateActivation(ev) and rc:IsRelateToEffect(re) and not rc:IsType(TYPE_TOKEN) and c:IsType(TYPE_XYZ) and c:IsRelateToEffect(e) and c:IsFaceup() then if Duel.NegateActivation(ev) and rc:IsRelateToEffect(re) and not rc:IsType(TYPE_TOKEN) and c:IsType(TYPE_XYZ) and c:IsRelateToEffect(e) and c:IsFaceup() then
...@@ -59,4 +57,13 @@ function c33330009.operation(e,tp,eg,ep,ev,re,r,rp) ...@@ -59,4 +57,13 @@ function c33330009.operation(e,tp,eg,ep,ev,re,r,rp)
end end
Duel.Overlay(c,Group.FromCards(rc)) Duel.Overlay(c,Group.FromCards(rc))
end end
end
--Destroy Replace
function cm.reptg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return not c:IsReason(REASON_REPLACE) and c:IsReason(REASON_EFFECT)
and e:GetHandler():CheckRemoveOverlayCard(tp,1,REASON_EFFECT) end
if Duel.SelectEffectYesNo(tp,e:GetHandler(),96) then
e:GetHandler():RemoveOverlayCard(tp,1,1,REASON_EFFECT)
return true
else return false end
end end
\ No newline at end of file
--深界生物 宿鼠 --深界生物 宿鼠
function c33330010.initial_effect(c) local m=33330010
--link summon local cm=_G["c"..m]
aux.AddLinkProcedure(c,aux.FilterBoolFunction(Card.IsLinkSetCard,0x556),2,2) cm.counter=0x1556 --指 示 物
cm.rec1=1000 --特 召 回 血 量
cm.rec2=500 --指 示 物 回 血
function cm.initial_effect(c)
c:EnableReviveLimit() c:EnableReviveLimit()
--seq --Link Summon
aux.AddLinkProcedure(c,aux.FilterBoolFunction(Card.IsLinkSetCard,0x556),2,2)
--Destroy & Recover
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(33330010,1)) e1:SetDescription(aux.Stringid(m,0))
e1:SetType(EFFECT_TYPE_IGNITION) e1:SetCategory(CATEGORY_DESTROY+CATEGORY_RECOVER)
e1:SetRange(LOCATION_MZONE) e1:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_O)
e1:SetCountLimit(1) e1:SetCode(EVENT_SPSUMMON_SUCCESS)
e1:SetTarget(c33330010.target) e1:SetProperty(EFFECT_FLAG_DELAY+EFFECT_FLAG_DAMAGE_STEP)
e1:SetOperation(c33330010.activate) e1:SetCountLimit(1,m)
e1:SetTarget(cm.destg)
e1:SetOperation(cm.desop)
c:RegisterEffect(e1) c:RegisterEffect(e1)
--d r --Move
local e2=Effect.CreateEffect(c) local e2=Effect.CreateEffect(c)
e2:SetDescription(aux.Stringid(33330010,0)) e2:SetDescription(aux.Stringid(m,1))
e2:SetCategory(CATEGORY_DESTROY+CATEGORY_RECOVER) e2:SetType(EFFECT_TYPE_IGNITION)
e2:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_O) e2:SetRange(LOCATION_MZONE)
e2:SetCode(EVENT_SPSUMMON_SUCCESS) e2:SetCountLimit(1)
e2:SetProperty(EFFECT_FLAG_DAMAGE_STEP+EFFECT_FLAG_DELAY) e2:SetTarget(cm.mvtg)
e2:SetCountLimit(1,33330010) e2:SetOperation(cm.mvop)
e2:SetTarget(c33330010.destg)
e2:SetOperation(c33330010.desop)
c:RegisterEffect(e2) c:RegisterEffect(e2)
--rec X --Indes
local e3=Effect.CreateEffect(c) local e3=Effect.CreateEffect(c)
e3:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_CONTINUOUS) e3:SetDescription(aux.Stringid(m,2))
e3:SetCode(EVENT_ADD_COUNTER+0x1019) e3:SetType(EFFECT_TYPE_QUICK_O)
e3:SetOperation(c33330010.rop2) e3:SetCode(EVENT_FREE_CHAIN)
local e5=Effect.CreateEffect(c) e3:SetRange(LOCATION_MZONE)
e5:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_GRANT) e3:SetCountLimit(1)
e5:SetRange(LOCATION_MZONE) e3:SetCost(cm.indcost)
e5:SetTargetRange(LOCATION_ONFIELD,0) e3:SetOperation(cm.indop)
e5:SetTarget(aux.TRUE) c:RegisterEffect(e3)
e5:SetLabelObject(e3)
c:RegisterEffect(e5)
--rec X
local e4=Effect.CreateEffect(c)
e4:SetDescription(aux.Stringid(33330010,2))
e4:SetCategory(CATEGORY_RECOVER)
e4:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_TRIGGER_O)
e4:SetCode(EVENT_CUSTOM+33330010)
e4:SetRange(LOCATION_MZONE)
e4:SetProperty(EFFECT_FLAG_DELAY+EFFECT_FLAG_PLAYER_TARGET)
e4:SetTarget(c33330010.rtg)
e4:SetOperation(c33330010.rop)
c:RegisterEffect(e4)
end end
function c33330010.rop2(e,tp,eg,ep,ev,re,r,rp,chk) --Destroy & Recover
Duel.RaiseEvent(e:GetHandler(),EVENT_CUSTOM+33330010,e,0,tp,tp,0) function cm.destg(e,tp,eg,ep,ev,re,r,rp,chk)
end local tc=Duel.GetFieldCard(tp,LOCATION_SZONE,5)
function c33330010.rtg(e,tp,eg,ep,ev,re,r,rp,chk) if chk==0 then return tc~=nil end
if chk==0 then return true end Duel.SetOperationInfo(0,CATEGORY_DESTROY,tc,1,tp,LOCATION_FZONE)
Duel.SetTargetPlayer(tp) Duel.SetOperationInfo(0,CATEGORY_RECOVER,nil,0,tp,cm.rec1)
Duel.SetTargetParam(100)
Duel.SetOperationInfo(0,CATEGORY_RECOVER,nil,0,tp,100)
end end
function c33330010.rop(e,tp,eg,ep,ev,re,r,rp) function cm.desop(e,tp,eg,ep,ev,re,r,rp)
local p,d=Duel.GetChainInfo(0,CHAININFO_TARGET_PLAYER,CHAININFO_TARGET_PARAM) local tc=Duel.GetFieldCard(tp,LOCATION_SZONE,5)
Duel.Recover(p,d,REASON_EFFECT) if tc and Duel.Destroy(tc,REASON_EFFECT)~=0 then
Duel.Recover(tp,cm.rec1,REASON_EFFECT)
end
end end
function c33330010.target(e,tp,eg,ep,ev,re,r,rp,chk) --Move
function cm.mvtg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.GetLocationCount(tp,LOCATION_MZONE,tp,LOCATION_REASON_CONTROL)>0 end if chk==0 then return Duel.GetLocationCount(tp,LOCATION_MZONE,tp,LOCATION_REASON_CONTROL)>0 end
end end
function c33330010.activate(e,tp,eg,ep,ev,re,r,rp) function cm.mvop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler() local c=e:GetHandler()
if not c:IsRelateToEffect(e) or Duel.GetLocationCount(tp,LOCATION_MZONE)<1 then return end if not c:IsRelateToEffect(e) or Duel.GetLocationCount(tp,LOCATION_MZONE)<1 then return end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TOZONE) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TOZONE)
...@@ -71,16 +64,32 @@ function c33330010.activate(e,tp,eg,ep,ev,re,r,rp) ...@@ -71,16 +64,32 @@ function c33330010.activate(e,tp,eg,ep,ev,re,r,rp)
local nseq=math.log(s,2) local nseq=math.log(s,2)
Duel.MoveSequence(c,nseq) Duel.MoveSequence(c,nseq)
end end
function c33330010.destg(e,tp,eg,ep,ev,re,r,rp,chk) --Indes
local tc=Duel.GetFieldCard(tp,LOCATION_SZONE,5) function cm.indfilter(c,tp)
if chk==0 then return tc end return c:IsFaceup() and c:IsCanRemoveCounter(tp,cm.counter,1,REASON_COST)
Duel.SetOperationInfo(0,CATEGORY_DESTROY,tc,1,tp,LOCATION_FZONE)
Duel.SetOperationInfo(0,CATEGORY_RECOVER,nil,0,tp,500)
end end
function c33330010.desop(e,tp,eg,ep,ev,re,r,rp) function cm.indcost(e,tp,eg,ep,ev,re,r,rp,chk)
local tc=Duel.GetFieldCard(tp,LOCATION_SZONE,5) if chk==0 then return Duel.IsExistingMatchingCard(cm.indfilter,tp,LOCATION_ONFIELD,0,1,nil,tp) end
if tc and Duel.Destroy(tc,REASON_EFFECT)~=0 then Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_FACEUP)
Duel.Recover(tp,500,REASON_EFFECT) local g=Duel.SelectMatchingCard(tp,cm.indfilter,tp,LOCATION_ONFIELD,0,1,1,nil,tp)
local tc=g:GetFirst()
tc:RemoveCounter(tp,cm.counter,1,REASON_COST)
Duel.SetTargetCard(tc)
end
function cm.indop(e,tp,eg,ep,ev,re,r,rp)
local tc=Duel.GetFirstTarget()
if tc:IsRelateToEffect(e) and tc:IsFaceup() then
local e1=Effect.CreateEffect(e:GetHandler())
e1:SetDescription(aux.Stringid(m,3))
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetCode(EFFECT_IMMUNE_EFFECT)
e1:SetProperty(EFFECT_FLAG_SINGLE_RANGE+EFFECT_FLAG_CLIENT_HINT)
e1:SetRange(LOCATION_MZONE)
e1:SetValue(cm.efilter)
e1:SetReset(RESET_EVENT+RESETS_STANDARD+RESET_PHASE+PHASE_END)
tc:RegisterEffect(e1)
end end
end end
function cm.efilter(e,te)
return te:GetHandlerPlayer()~=e:GetHandlerPlayer()
end
\ No newline at end of file
--深界生物 毯毯鼠 --深界生物 毯毯鼠
function c33330011.initial_effect(c) local m=33330011
--link summon local cm=_G["c"..m]
aux.AddLinkProcedure(c,aux.FilterBoolFunction(Card.IsLinkSetCard,0x556),1,1) cm.counter=0x1556 --指 示 物
c:EnableReviveLimit() cm.count=1 --放 置 数 量
--d r function cm.initial_effect(c)
local e2=Effect.CreateEffect(c) c:EnableReviveLimit()
e2:SetDescription(aux.Stringid(33330011,0)) c:EnableCounterPermit(cm.counter)
e2:SetCategory(CATEGORY_DESTROY+CATEGORY_RECOVER) --Link Summon
e2:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_O) aux.AddLinkProcedure(c,cm.mfilter,1,1)
e2:SetCode(EVENT_SPSUMMON_SUCCESS) --Destroy & Counter
e2:SetProperty(EFFECT_FLAG_DAMAGE_STEP+EFFECT_FLAG_DELAY)
e2:SetCountLimit(1,33330011)
e2:SetTarget(c33330011.destg)
e2:SetOperation(c33330011.desop)
c:RegisterEffect(e2)
--disable attack
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(33330011,0)) e1:SetDescription(aux.Stringid(m,0))
e1:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_TRIGGER_O) e1:SetCategory(CATEGORY_DESTROY+CATEGORY_COUNTER)
e1:SetRange(LOCATION_MZONE) e1:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_O)
e1:SetCode(EVENT_ATTACK_ANNOUNCE) e1:SetCode(EVENT_SPSUMMON_SUCCESS)
e1:SetCost(c33330011.atkcost) e1:SetProperty(EFFECT_FLAG_DELAY+EFFECT_FLAG_DAMAGE_STEP)
e1:SetCondition(c33330011.atkcon) e1:SetTarget(cm.destg)
e1:SetOperation(c33330011.atkop) e1:SetOperation(cm.desop)
c:RegisterEffect(e1) c:RegisterEffect(e1)
--Negate Attack
local e2=Effect.CreateEffect(c)
e2:SetDescription(aux.Stringid(m,1))
e2:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_TRIGGER_O)
e2:SetCode(EVENT_ATTACK_ANNOUNCE)
e2:SetRange(LOCATION_MZONE)
e2:SetCountLimit(1,m)
e2:SetCost(cm.atkcost)
e2:SetCondition(cm.atkcon)
e2:SetOperation(cm.atkop)
c:RegisterEffect(e2)
end end
function c33330011.atkcost(e,tp,eg,ep,ev,re,r,rp,chk) --Link Summon
if chk==0 then return e:GetHandler():IsCanRemoveCounter(tp,0x1019,1,REASON_COST) end function cm.mfilter(c)
e:GetHandler():RemoveCounter(tp,0x1019,1,REASON_COST) return not c:IsCode(m) and c:IsLinkSetCard(0x556)
end
function c33330011.atkop(e,tp,eg,ep,ev,re,r,rp)
Duel.NegateAttack()
end
function c33330011.atkcon(e,tp,eg,ep,ev,re,r,rp)
return Duel.GetTurnPlayer()~=tp
end end
function c33330011.destg(e,tp,eg,ep,ev,re,r,rp,chk) --Destroy & Counter
function cm.destg(e,tp,eg,ep,ev,re,r,rp,chk)
local tc=Duel.GetFieldCard(tp,LOCATION_SZONE,5) local tc=Duel.GetFieldCard(tp,LOCATION_SZONE,5)
if chk==0 then return tc and e:GetHandler():IsCanAddCounter(0x1019,1) end if chk==0 then return tc and e:GetHandler():IsCanAddCounter(cm.counter,1) end
Duel.SetOperationInfo(0,CATEGORY_DESTROY,tc,1,tp,LOCATION_FZONE) Duel.SetOperationInfo(0,CATEGORY_DESTROY,tc,1,0,0)
Duel.SetOperationInfo(0,CATEGORY_COUNTER,nil,1,0,0) Duel.SetOperationInfo(0,CATEGORY_COUNTER,e:GetHandler(),1,0,0)
end end
function c33330011.desop(e,tp,eg,ep,ev,re,r,rp) function cm.desop(e,tp,eg,ep,ev,re,r,rp)
local tc=Duel.GetFieldCard(tp,LOCATION_SZONE,5) local tc=Duel.GetFieldCard(tp,LOCATION_SZONE,5)
if tc and Duel.Destroy(tc,REASON_EFFECT)~=0 and e:GetHandler():IsRelateToEffect(e) and e:GetHandler():IsFaceup() then if tc and Duel.Destroy(tc,REASON_EFFECT)~=0 and e:GetHandler():IsRelateToEffect(e) and e:GetHandler():IsFaceup() then
e:GetHandler():AddCounter(0x1019,1) e:GetHandler():AddCounter(cm.counter,1)
end end
end end
--Negate Attack
function cm.atkcon(e,tp,eg,ep,ev,re,r,rp)
return eg:GetFirst():IsControler(1-tp)
end
function cm.atkcost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return e:GetHandler():IsCanRemoveCounter(tp,cm.counter,1,REASON_COST) end
e:GetHandler():RemoveCounter(tp,cm.counter,1,REASON_COST)
end
function cm.atkop(e,tp,eg,ep,ev,re,r,rp)
Duel.NegateAttack()
end
\ No newline at end of file
--生骸公主 ファプタ --生骸公主 ファプタ
function c33330012.initial_effect(c) local m=33330012
local cm=_G["c"..m]
function cm.initial_effect(c)
c:EnableReviveLimit()
--link summon --link summon
aux.AddLinkProcedure(c,aux.FilterBoolFunction(Card.IsLinkSetCard,0x556),2,2) aux.AddLinkProcedure(c,aux.FilterBoolFunction(Card.IsLinkSetCard,0x556),2,2)
c:EnableReviveLimit() --Destroy & Draw
--seq
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(33330012,1)) e1:SetDescription(aux.Stringid(m,0))
e1:SetType(EFFECT_TYPE_IGNITION) e1:SetCategory(CATEGORY_DESTROY+CATEGORY_DRAW)
e1:SetRange(LOCATION_MZONE) e1:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_O)
e1:SetCountLimit(1) e1:SetCode(EVENT_SPSUMMON_SUCCESS)
e1:SetTarget(c33330012.target) e1:SetProperty(EFFECT_FLAG_DELAY+EFFECT_FLAG_DAMAGE_STEP)
e1:SetOperation(c33330012.activate) e1:SetCountLimit(1,m)
e1:SetTarget(cm.destg)
e1:SetOperation(cm.desop)
c:RegisterEffect(e1) c:RegisterEffect(e1)
--d r --Move
local e2=Effect.CreateEffect(c) local e2=Effect.CreateEffect(c)
e2:SetDescription(aux.Stringid(33330012,0)) e2:SetDescription(aux.Stringid(m,1))
e2:SetCategory(CATEGORY_DESTROY+CATEGORY_DRAW) e2:SetType(EFFECT_TYPE_IGNITION)
e2:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_O) e2:SetRange(LOCATION_MZONE)
e2:SetCode(EVENT_SPSUMMON_SUCCESS) e2:SetCountLimit(1)
e2:SetProperty(EFFECT_FLAG_DAMAGE_STEP+EFFECT_FLAG_DELAY) e2:SetTarget(cm.mvtg)
e2:SetCountLimit(1,33330012) e2:SetOperation(cm.mvop)
e2:SetTarget(c33330012.destg) c:RegisterEffect(e2)
e2:SetOperation(c33330012.desop)
c:RegisterEffect(e2)
--Special Summon --Special Summon
local e4=Effect.CreateEffect(c) local e3=Effect.CreateEffect(c)
e4:SetDescription(aux.Stringid(33330012,2)) e3:SetDescription(aux.Stringid(m,2))
e4:SetType(EFFECT_TYPE_TRIGGER_O+EFFECT_TYPE_SINGLE) e3:SetCategory(CATEGORY_SPECIAL_SUMMON)
e4:SetProperty(EFFECT_FLAG_DAMAGE_STEP+EFFECT_FLAG_DELAY) e3:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_O)
e4:SetCategory(CATEGORY_SPECIAL_SUMMON) e3:SetProperty(EFFECT_FLAG_DELAY+EFFECT_FLAG_DAMAGE_STEP)
e4:SetCode(EVENT_LEAVE_FIELD) e3:SetCode(EVENT_LEAVE_FIELD)
e4:SetCondition(c33330012.sumcon) e3:SetTarget(cm.sptg)
e4:SetTarget(c33330012.sumtg) e3:SetOperation(cm.spop)
e4:SetOperation(c33330012.sumop) c:RegisterEffect(e3)
c:RegisterEffect(e4)
end
function c33330012.sumcon(e,tp,eg,ep,ev,re,r,rp)
return e:GetHandler():IsPreviousPosition(POS_FACEUP)
end
function c33330012.filter(c,e,tp)
return c:IsSetCard(0x556) and c:IsRankBelow(4) and c:IsType(TYPE_XYZ) and c:IsCanBeSpecialSummoned(e,0,tp,false,true)
end end
function c33330012.sumtg(e,tp,eg,ep,ev,re,r,rp,chk) --Destroy & Draw
if chk==0 then return Duel.GetLocationCountFromEx(tp)>0 function cm.destg(e,tp,eg,ep,ev,re,r,rp,chk)
and Duel.IsExistingMatchingCard(c33330012.filter,tp,LOCATION_EXTRA,0,1,nil,e,tp) end local tc=Duel.GetFieldCard(tp,LOCATION_SZONE,5)
Duel.SetTargetCard(e:GetHandler()) if chk==0 then return tc and Duel.IsPlayerCanDraw(tp,1) end
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,1,tp,LOCATION_EXTRA) Duel.SetOperationInfo(0,CATEGORY_DESTROY,tc,1,0,0)
Duel.SetOperationInfo(0,CATEGORY_DRAW,nil,0,tp,1)
end end
function c33330012.sumop(e,tp,eg,ep,ev,re,r,rp) function cm.desop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler() local tc=Duel.GetFieldCard(tp,LOCATION_SZONE,5)
if Duel.GetLocationCountFromEx(tp)<=0 then return end if tc and Duel.Destroy(tc,REASON_EFFECT)~=0 then
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON) Duel.Draw(tp,1,REASON_EFFECT)
local g=Duel.SelectMatchingCard(tp,c33330012.filter,tp,LOCATION_EXTRA,0,1,1,nil,e,tp)
local tc=g:GetFirst()
if tc and Duel.SpecialSummon(tc,0,tp,tp,false,false,POS_FACEUP)~=0 and c:IsRelateToEffect(e) then
Duel.Overlay(tc,Group.FromCards(c))
end end
end end
function c33330012.target(e,tp,eg,ep,ev,re,r,rp,chk) --Move
function cm.mvtg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.GetLocationCount(tp,LOCATION_MZONE,tp,LOCATION_REASON_CONTROL)>0 end if chk==0 then return Duel.GetLocationCount(tp,LOCATION_MZONE,tp,LOCATION_REASON_CONTROL)>0 end
end end
function c33330012.activate(e,tp,eg,ep,ev,re,r,rp) function cm.mvop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler() local c=e:GetHandler()
if not c:IsRelateToEffect(e) or Duel.GetLocationCount(tp,LOCATION_MZONE)<1 then return end if not c:IsRelateToEffect(e) or Duel.GetLocationCount(tp,LOCATION_MZONE)<1 then return end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TOZONE) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TOZONE)
...@@ -68,16 +61,20 @@ function c33330012.activate(e,tp,eg,ep,ev,re,r,rp) ...@@ -68,16 +61,20 @@ function c33330012.activate(e,tp,eg,ep,ev,re,r,rp)
local nseq=math.log(s,2) local nseq=math.log(s,2)
Duel.MoveSequence(c,nseq) Duel.MoveSequence(c,nseq)
end end
function c33330012.destg(e,tp,eg,ep,ev,re,r,rp,chk) --Special Summon
local tc=Duel.GetFieldCard(tp,LOCATION_SZONE,5) function cm.spfilter(c,e,tp)
if chk==0 then return tc and Duel.IsPlayerCanDraw(tp,1) end return c:IsSetCard(0x556) and c:IsRankBelow(4) and c:IsType(TYPE_XYZ) and c:IsCanBeSpecialSummoned(e,0,tp,false,false)
Duel.SetOperationInfo(0,CATEGORY_DESTROY,tc,1,tp,LOCATION_FZONE)
Duel.SetOperationInfo(0,CATEGORY_DRAW,nil,0,tp,1)
end end
function c33330012.desop(e,tp,eg,ep,ev,re,r,rp) function cm.sptg(e,tp,eg,ep,ev,re,r,rp,chk)
local tc=Duel.GetFieldCard(tp,LOCATION_SZONE,5) if chk==0 then return Duel.GetLocationCountFromEx(tp)>0
if tc and Duel.Destroy(tc,REASON_EFFECT)~=0 then and Duel.IsExistingMatchingCard(cm.spfilter,tp,LOCATION_EXTRA,0,1,nil,e,tp) end
Duel.Draw(tp,1,REASON_EFFECT) Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,1,tp,LOCATION_EXTRA)
end
end end
function cm.spop(e,tp,eg,ep,ev,re,r,rp)
if Duel.GetLocationCountFromEx(tp)<1 then return end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON)
local g=Duel.SelectMatchingCard(tp,cm.spfilter,tp,LOCATION_EXTRA,0,1,1,nil,e,tp)
if g:GetCount()>0 and Duel.SpecialSummon(g,0,tp,tp,false,false,POS_FACEUP)~=0 and e:GetHandler():IsRelateToEffect(e) then
Duel.Overlay(g:GetFirst(),e:GetHandler())
end
end
\ No newline at end of file
--破晓之花 プルシュカ --破晓之花 プルシュカ
function c33330013.initial_effect(c) local m=33330013
--link summon local cm=_G["c"..m]
aux.AddLinkProcedure(c,aux.FilterBoolFunction(Card.IsLinkSetCard,0x556),2,2) cm.atk=500 --攻 击 上 升
cm.search={33330034} --检 索 的 卡
function cm.initial_effect(c)
c:EnableReviveLimit() c:EnableReviveLimit()
--seq --Link Summon
aux.AddLinkProcedure(c,aux.FilterBoolFunction(Card.IsLinkSetCard,0x556),2,2)
--Destroy & Search
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(33330013,1)) e1:SetDescription(aux.Stringid(m,0))
e1:SetType(EFFECT_TYPE_IGNITION) e1:SetCategory(CATEGORY_DESTROY+CATEGORY_TOHAND+CATEGORY_SEARCH)
e1:SetRange(LOCATION_MZONE) e1:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_O)
e1:SetCountLimit(1) e1:SetCode(EVENT_SPSUMMON_SUCCESS)
e1:SetTarget(c33330013.target) e1:SetProperty(EFFECT_FLAG_DELAY+EFFECT_FLAG_DAMAGE_STEP)
e1:SetOperation(c33330013.activate) e1:SetCountLimit(1,m)
c:RegisterEffect(e1) e1:SetTarget(cm.destg)
--d r e1:SetOperation(cm.desop)
c:RegisterEffect(e1)
--Move
local e2=Effect.CreateEffect(c) local e2=Effect.CreateEffect(c)
e2:SetDescription(aux.Stringid(33330013,0)) e2:SetDescription(aux.Stringid(m,1))
e2:SetCategory(CATEGORY_DESTROY+CATEGORY_SEARCH+CATEGORY_TOHAND) e2:SetType(EFFECT_TYPE_IGNITION)
e2:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_O) e2:SetRange(LOCATION_MZONE)
e2:SetCode(EVENT_SPSUMMON_SUCCESS) e2:SetCountLimit(1)
e2:SetProperty(EFFECT_FLAG_DAMAGE_STEP+EFFECT_FLAG_DELAY) e2:SetTarget(cm.mvtg)
e2:SetCountLimit(1,33330013) e2:SetOperation(cm.mvop)
e2:SetTarget(c33330013.destg) c:RegisterEffect(e2)
e2:SetOperation(c33330013.desop) --Atk Up
c:RegisterEffect(e2)
--atk/def
local e3=Effect.CreateEffect(c) local e3=Effect.CreateEffect(c)
e3:SetType(EFFECT_TYPE_FIELD) e3:SetType(EFFECT_TYPE_FIELD)
e3:SetCode(EFFECT_UPDATE_ATTACK) e3:SetCode(EFFECT_UPDATE_ATTACK)
e3:SetRange(LOCATION_MZONE) e3:SetRange(LOCATION_MZONE)
e3:SetTargetRange(LOCATION_MZONE,0) e3:SetTargetRange(LOCATION_MZONE,0)
e3:SetTarget(c33330013.atktg) e3:SetTarget(cm.atktg)
e3:SetValue(500) e3:SetValue(cm.atk)
c:RegisterEffect(e3) c:RegisterEffect(e3)
end end
function c33330013.atktg(e,c) cm.card_code_list=cm.search
return c:GetMutualLinkedGroupCount()>0 and c:IsSetCard(0x556) --Destroy & Search
function cm.thfilter(c)
return c:IsAbleToHand() and c:IsCode(cm.search[1])
end
function cm.destg(e,tp,eg,ep,ev,re,r,rp,chk)
local tc=Duel.GetFieldCard(tp,LOCATION_SZONE,5)
if chk==0 then return tc and Duel.IsExistingMatchingCard(cm.thfilter,tp,LOCATION_DECK+LOCATION_GRAVE,0,1,nil) end
Duel.SetOperationInfo(0,CATEGORY_DESTROY,tc,1,0,0)
Duel.SetOperationInfo(0,CATEGORY_TOHAND,tc,1,tp,LOCATION_DECK+LOCATION_GRAVE)
end
function cm.desop(e,tp,eg,ep,ev,re,r,rp)
local tc=Duel.GetFieldCard(tp,LOCATION_SZONE,5)
if tc and Duel.Destroy(tc,REASON_EFFECT)~=0
and Duel.IsExistingMatchingCard(aux.NecroValleyFilter(cm.thfilter),tp,LOCATION_DECK+LOCATION_GRAVE,0,1,nil) then
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_ATOHAND)
local g=Duel.SelectMatchingCard(tp,aux.NecroValleyFilter(cm.thfilter),tp,LOCATION_DECK+LOCATION_GRAVE,0,1,1,nil)
Duel.SendtoHand(g,nil,REASON_EFFECT)
Duel.ConfirmCards(1-tp,g)
end
end end
function c33330013.target(e,tp,eg,ep,ev,re,r,rp,chk) --Move
function cm.mvtg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.GetLocationCount(tp,LOCATION_MZONE,tp,LOCATION_REASON_CONTROL)>0 end if chk==0 then return Duel.GetLocationCount(tp,LOCATION_MZONE,tp,LOCATION_REASON_CONTROL)>0 end
end end
function c33330013.activate(e,tp,eg,ep,ev,re,r,rp) function cm.mvop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler() local c=e:GetHandler()
if not c:IsRelateToEffect(e) or Duel.GetLocationCount(tp,LOCATION_MZONE)<1 then return end if not c:IsRelateToEffect(e) or Duel.GetLocationCount(tp,LOCATION_MZONE)<1 then return end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TOZONE) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TOZONE)
...@@ -47,24 +70,7 @@ function c33330013.activate(e,tp,eg,ep,ev,re,r,rp) ...@@ -47,24 +70,7 @@ function c33330013.activate(e,tp,eg,ep,ev,re,r,rp)
local nseq=math.log(s,2) local nseq=math.log(s,2)
Duel.MoveSequence(c,nseq) Duel.MoveSequence(c,nseq)
end end
function c33330013.destg(e,tp,eg,ep,ev,re,r,rp,chk) --Atk Up
local tc=Duel.GetFieldCard(tp,LOCATION_SZONE,5) function cm.atktg(e,c)
if chk==0 then return tc and Duel.IsExistingMatchingCard(c33330013.thfilter,tp,LOCATION_DECK+LOCATION_GRAVE,0,1,nil) end return c:GetMutualLinkedGroupCount()>0 and c:IsSetCard(0x556)
Duel.SetOperationInfo(0,CATEGORY_DESTROY,tc,1,tp,LOCATION_FZONE) end
Duel.SetOperationInfo(0,CATEGORY_TOHAND,tc,1,tp,LOCATION_DECK+LOCATION_GRAVE) \ No newline at end of file
end
function c33330013.thfilter(c)
return c:IsAbleToHand() and c:IsCode(33330034)
end
function c33330013.desop(e,tp,eg,ep,ev,re,r,rp)
local tc=Duel.GetFieldCard(tp,LOCATION_SZONE,5)
if tc and Duel.Destroy(tc,REASON_EFFECT)~=0 and Duel.IsExistingMatchingCard(aux.NecroValleyFilter(c33330013.thfilter),tp,LOCATION_DECK+LOCATION_GRAVE,0,1,nil) then
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_ATOHAND)
local tg=Duel.SelectMatchingCard(tp,aux.NecroValleyFilter(c33330013.thfilter),tp,LOCATION_DECK+LOCATION_GRAVE,0,1,1,nil)
Duel.SendtoHand(tg,nil,REASON_EFFECT)
Duel.ConfirmCards(1-tp,tg)
end
end
--深界的至宝 雷古 --深界的至宝 雷古
function c33330014.initial_effect(c) local m=33330014
--link summon local cm=_G["c"..m]
aux.AddLinkProcedure(c,aux.FilterBoolFunction(Card.IsLinkSetCard,0x556),1) function cm.initial_effect(c)
c:EnableReviveLimit() c:EnableReviveLimit()
--seq --Link Summon
aux.AddLinkProcedure(c,aux.FilterBoolFunction(Card.IsLinkSetCard,0x556),2)
--Destroy & Search
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(33330014,1)) e1:SetDescription(aux.Stringid(m,0))
e1:SetType(EFFECT_TYPE_IGNITION) e1:SetCategory(CATEGORY_DESTROY)
e1:SetRange(LOCATION_MZONE) e1:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_O)
e1:SetCountLimit(1) e1:SetCode(EVENT_SPSUMMON_SUCCESS)
e1:SetTarget(c33330014.target) e1:SetProperty(EFFECT_FLAG_DELAY+EFFECT_FLAG_DAMAGE_STEP)
e1:SetOperation(c33330014.activate) e1:SetCountLimit(1,m)
c:RegisterEffect(e1) e1:SetTarget(cm.destg)
--d r e1:SetOperation(cm.desop)
c:RegisterEffect(e1)
--Move
local e2=Effect.CreateEffect(c) local e2=Effect.CreateEffect(c)
e2:SetDescription(aux.Stringid(33330014,0)) e2:SetDescription(aux.Stringid(m,1))
e2:SetCategory(CATEGORY_DESTROY+CATEGORY_SEARCH+CATEGORY_TOHAND) e2:SetType(EFFECT_TYPE_IGNITION)
e2:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_O) e2:SetRange(LOCATION_MZONE)
e2:SetCode(EVENT_SPSUMMON_SUCCESS) e2:SetCountLimit(1)
e2:SetProperty(EFFECT_FLAG_DAMAGE_STEP+EFFECT_FLAG_DELAY) e2:SetTarget(cm.mvtg)
e2:SetCountLimit(1,33330014) e2:SetOperation(cm.mvop)
e2:SetTarget(c33330014.destg) c:RegisterEffect(e2)
e2:SetOperation(c33330014.desop) --Special Summon
c:RegisterEffect(e2)
--special summon
local e3=Effect.CreateEffect(c) local e3=Effect.CreateEffect(c)
e3:SetDescription(aux.Stringid(33330014,2)) e3:SetDescription(aux.Stringid(m,2))
e3:SetCategory(CATEGORY_SPECIAL_SUMMON) e3:SetCategory(CATEGORY_SPECIAL_SUMMON)
e3:SetType(EFFECT_TYPE_IGNITION) e3:SetType(EFFECT_TYPE_IGNITION)
e3:SetRange(LOCATION_MZONE) e3:SetRange(LOCATION_MZONE)
e3:SetCountLimit(1) e3:SetCountLimit(1)
e3:SetTarget(c33330014.sptg) e3:SetTarget(cm.sptg)
e3:SetOperation(c33330014.spop) e3:SetOperation(cm.spop)
c:RegisterEffect(e3) c:RegisterEffect(e3)
end end
function c33330014.filter(c,e,tp,zone) --Destroy & Search
function cm.destg(e,tp,eg,ep,ev,re,r,rp,chk)
local tc=Duel.GetFieldCard(tp,LOCATION_SZONE,5)
if chk==0 then return tc or Duel.IsExistingMatchingCard(Card.IsType,tp,0,LOCATION_ONFIELD,1,nil,TYPE_SPELL+TYPE_TRAP) end
local g=Duel.GetMatchingGroup(Card.IsType,tp,0,LOCATION_ONFIELD,nil,TYPE_SPELL+TYPE_TRAP)
if tc then g:AddCard(tc) end
Duel.SetOperationInfo(0,CATEGORY_DESTROY,g,g:GetCount(),0,LOCATION_ONFIELD)
end
function cm.desop(e,tp,eg,ep,ev,re,r,rp)
local tc=Duel.GetFieldCard(tp,LOCATION_SZONE,5)
local g=Duel.GetMatchingGroup(Card.IsType,tp,0,LOCATION_ONFIELD,nil,TYPE_SPELL+TYPE_TRAP)
if tc then g:AddCard(tc) end
Duel.Destroy(g,REASON_EFFECT)
end
--Move
function cm.mvtg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.GetLocationCount(tp,LOCATION_MZONE,tp,LOCATION_REASON_CONTROL)>0 end
end
function cm.mvop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
if not c:IsRelateToEffect(e) or Duel.GetLocationCount(tp,LOCATION_MZONE)<1 then return end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TOZONE)
local s=Duel.SelectDisableField(tp,1,LOCATION_MZONE,0,0)
local nseq=math.log(s,2)
Duel.MoveSequence(c,nseq)
end
--Special Summon
function cm.spfilter(c,e,tp,zone)
return c:IsSetCard(0x556) and c:IsCanBeSpecialSummoned(e,0,tp,false,false,POS_FACEUP,tp,zone) return c:IsSetCard(0x556) and c:IsCanBeSpecialSummoned(e,0,tp,false,false,POS_FACEUP,tp,zone)
end end
function c33330014.sptg(e,tp,eg,ep,ev,re,r,rp,chk) function cm.sptg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then if chk==0 then
local zone=e:GetHandler():GetLinkedZone(tp) local zone=e:GetHandler():GetLinkedZone(tp)
return zone~=0 and Duel.IsExistingMatchingCard(c33330014.filter,tp,LOCATION_HAND,0,1,nil,e,tp,zone) return zone~=0 and Duel.IsExistingMatchingCard(cm.spfilter,tp,LOCATION_HAND,0,1,nil,e,tp,zone)
end 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 c33330014.spop(e,tp,eg,ep,ev,re,r,rp) function cm.spop(e,tp,eg,ep,ev,re,r,rp)
local zone=e:GetHandler():GetLinkedZone(tp) local zone=e:GetHandler():GetLinkedZone(tp)
if zone==0 then return end if zone==0 then return end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON)
local g=Duel.SelectMatchingCard(tp,c33330014.filter,tp,LOCATION_HAND,0,1,1,nil,e,tp,zone) local g=Duel.SelectMatchingCard(tp,cm.spfilter,tp,LOCATION_HAND,0,1,1,nil,e,tp,zone)
if g:GetCount()>0 then if g:GetCount()>0 then
Duel.SpecialSummon(g,0,tp,tp,false,false,POS_FACEUP,zone) Duel.SpecialSummon(g,0,tp,tp,false,false,POS_FACEUP,zone)
end end
end
function c33330014.target(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.GetLocationCount(tp,LOCATION_MZONE,tp,LOCATION_REASON_CONTROL)>0 end
end
function c33330014.activate(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
if not c:IsRelateToEffect(e) or Duel.GetLocationCount(tp,LOCATION_MZONE)<1 then return end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TOZONE)
local s=Duel.SelectDisableField(tp,1,LOCATION_MZONE,0,0)
local nseq=math.log(s,2)
Duel.MoveSequence(c,nseq)
end
function c33330014.destg(e,tp,eg,ep,ev,re,r,rp,chk)
local tc=Duel.GetFieldCard(tp,LOCATION_SZONE,5)
if chk==0 then return tc and Duel.IsExistingMatchingCard(Card.IsType,tp,0,LOCATION_ONFIELD,1,nil,TYPE_SPELL+TYPE_TRAP) end
local g=Duel.GetMatchingGroup(Card.IsType,tp,0,LOCATION_ONFIELD,nil,TYPE_SPELL+TYPE_TRAP)
g:AddCard(tc)
Duel.SetOperationInfo(0,CATEGORY_DESTROY,g,g:GetCount(),0,LOCATION_ONFIELD)
end
function c33330014.desop(e,tp,eg,ep,ev,re,r,rp)
local tc=Duel.GetFieldCard(tp,LOCATION_SZONE,5)
local g=Duel.GetMatchingGroup(Card.IsType,tp,0,LOCATION_ONFIELD,nil,TYPE_SPELL+TYPE_TRAP)
if tc then g:AddCard(tc) end
Duel.Destroy(g,REASON_EFFECT)
end end
\ No newline at end of file
--深界的黑暗面 雷古 --深界的黑暗面 雷古
function c33330015.initial_effect(c) local m=33330015
local cm=_G["c"..m]
cm.atk=1500 --攻 击 上 升
function cm.initial_effect(c)
c:EnableReviveLimit() c:EnableReviveLimit()
--spsummon condition --Special Summon Limit
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE) e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetProperty(EFFECT_FLAG_CANNOT_DISABLE+EFFECT_FLAG_UNCOPYABLE) e1:SetProperty(EFFECT_FLAG_CANNOT_DISABLE+EFFECT_FLAG_UNCOPYABLE)
e1:SetCode(EFFECT_SPSUMMON_CONDITION) e1:SetCode(EFFECT_SPSUMMON_CONDITION)
e1:SetValue(aux.ritlimit) e1:SetValue(aux.ritlimit)
c:RegisterEffect(e1) c:RegisterEffect(e1)
--r d --Destroy & Remove
local e2=Effect.CreateEffect(c) local e2=Effect.CreateEffect(c)
e2:SetDescription(aux.Stringid(33330015,0)) e2:SetDescription(aux.Stringid(m,0))
e2:SetCategory(CATEGORY_DESTROY+CATEGORY_REMOVE) e2:SetCategory(CATEGORY_DESTROY+CATEGORY_REMOVE)
e2:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_O) e2:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_O)
e2:SetCode(EVENT_SPSUMMON_SUCCESS) e2:SetCode(EVENT_SPSUMMON_SUCCESS)
e2:SetProperty(EFFECT_FLAG_DAMAGE_STEP+EFFECT_FLAG_DELAY) e2:SetProperty(EFFECT_FLAG_DELAY+EFFECT_FLAG_DAMAGE_STEP)
e2:SetTarget(c33330015.destg) e2:SetTarget(cm.destg)
e2:SetOperation(c33330015.desop) e2:SetOperation(cm.desop)
c:RegisterEffect(e2) c:RegisterEffect(e2)
--reflect battle dam --Reflect
local e3=Effect.CreateEffect(c) local e3=Effect.CreateEffect(c)
e3:SetType(EFFECT_TYPE_SINGLE) e3:SetType(EFFECT_TYPE_SINGLE)
e3:SetCode(EFFECT_REFLECT_BATTLE_DAMAGE) e3:SetCode(EFFECT_REFLECT_BATTLE_DAMAGE)
e3:SetValue(1) e3:SetValue(1)
c:RegisterEffect(e3) c:RegisterEffect(e3)
--atk up --Atk Up
local e6=Effect.CreateEffect(c) local e4=Effect.CreateEffect(c)
e6:SetCategory(CATEGORY_ATKCHANGE) e4:SetDescription(aux.Stringid(m,1))
e6:SetType(EFFECT_TYPE_QUICK_O) e4:SetCategory(CATEGORY_ATKCHANGE)
e6:SetRange(LOCATION_MZONE) e4:SetType(EFFECT_TYPE_QUICK_O)
e6:SetCode(EVENT_PRE_DAMAGE_CALCULATE) e4:SetCode(EVENT_PRE_DAMAGE_CALCULATE)
e6:SetCondition(c33330015.atkcon) e4:SetRange(LOCATION_MZONE)
e6:SetTarget(c33330015.atktg) e4:SetCondition(cm.atkcon)
e6:SetOperation(c33330015.atkop) e4:SetTarget(cm.atktg)
c:RegisterEffect(e6) e4:SetOperation(cm.atkop)
c:RegisterEffect(e4)
end end
function c33330015.atkcon(e,tp,eg,ep,ev,re,r,rp) --Destroy & Remove
local c=e:GetHandler() function cm.destg(e,tp,eg,ep,ev,re,r,rp,chk)
return c==Duel.GetAttacker() or c==Duel.GetAttackTarget()
end
function c33330015.atktg(e,tp,eg,ep,ev,re,r,rp,chk)
local c=e:GetHandler()
if chk==0 then
local ct=Duel.GetMatchingGroupCount(Card.IsType,tp,LOCATION_GRAVE,0,nil,TYPE_FIELD)
return ct>0 and c:GetFlagEffect(33330015)==0
end
c:RegisterFlagEffect(33330015,RESET_CHAIN,0,1)
end
function c33330015.atkop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
local ct=Duel.GetMatchingGroupCount(Card.IsType,tp,LOCATION_GRAVE,0,nil,TYPE_FIELD)
if c:IsRelateToEffect(e) and c:IsFaceup() and ct>0 then
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetCode(EFFECT_UPDATE_ATTACK)
e1:SetReset(RESET_EVENT+RESET_CHAIN)
e1:SetValue(ct*1500)
c:RegisterEffect(e1)
end
end
function c33330015.destg(e,tp,eg,ep,ev,re,r,rp,chk)
local tc=Duel.GetFieldCard(tp,LOCATION_SZONE,5) local tc=Duel.GetFieldCard(tp,LOCATION_SZONE,5)
if chk==0 then return tc and Duel.IsExistingMatchingCard(Card.IsAbleToRemove,tp,0,LOCATION_MZONE,1,nil) end if chk==0 then return tc and Duel.IsExistingMatchingCard(Card.IsAbleToRemove,tp,0,LOCATION_MZONE,1,nil) end
local g=Duel.GetMatchingGroup(Card.IsAbleToRemove,tp,0,LOCATION_MZONE,nil) local g=Duel.GetMatchingGroup(Card.IsAbleToRemove,tp,0,LOCATION_MZONE,nil)
Duel.SetOperationInfo(0,CATEGORY_DESTROY,tc,1,tp,LOCATION_FZONE) Duel.SetOperationInfo(0,CATEGORY_DESTROY,tc,1,0,0)
Duel.SetOperationInfo(0,CATEGORY_REMOVE,g,g:GetCount(),1-tp,LOCATION_MZONE) Duel.SetOperationInfo(0,CATEGORY_REMOVE,g,g:GetCount(),1-tp,LOCATION_MZONE)
end end
function c33330015.desop(e,tp,eg,ep,ev,re,r,rp) function cm.desop(e,tp,eg,ep,ev,re,r,rp)
local tc=Duel.GetFieldCard(tp,LOCATION_SZONE,5) local tc=Duel.GetFieldCard(tp,LOCATION_SZONE,5)
if tc and Duel.Destroy(tc,REASON_EFFECT)~=0 then if tc and Duel.Destroy(tc,REASON_EFFECT)~=0 then
local g=Duel.GetMatchingGroup(Card.IsAbleToRemove,tp,0,LOCATION_MZONE,nil) local g=Duel.GetMatchingGroup(Card.IsAbleToRemove,tp,0,LOCATION_MZONE,nil)
if g:GetCount()<=0 then return end if g:GetCount()<1 then return end
if Duel.Remove(g,0,REASON_EFFECT+REASON_TEMPORARY)~=0 then if Duel.Remove(g,0,REASON_EFFECT+REASON_TEMPORARY)~=0 then
local fid=c:GetFieldID() local fid=c:GetFieldID()
local rct=1 local rct=1
local og=Duel.GetOperatedGroup() local og=Duel.GetOperatedGroup()
local oc=og:GetFirst() local oc=og:GetFirst()
while oc do while oc do
oc:RegisterFlagEffect(33330015,RESET_EVENT+0x1fe0000+RESET_PHASE+PHASE_END,0,1,fid) oc:RegisterFlagEffect(m,RESET_EVENT+RESETS_STANDARD+RESET_PHASE+PHASE_END,0,1,fid)
oc=og:GetNext() oc=og:GetNext()
end end
og:KeepAlive() og:KeepAlive()
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS) e1:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
e1:SetProperty(EFFECT_FLAG_IGNORE_IMMUNE) e1:SetProperty(EFFECT_FLAG_IGNORE_IMMUNE)
e1:SetCode(EVENT_PHASE+PHASE_END) e1:SetCode(EVENT_PHASE+PHASE_END)
e1:SetCountLimit(1) e1:SetCountLimit(1)
e1:SetLabel(fid) e1:SetLabel(fid)
e1:SetLabelObject(og) e1:SetLabelObject(og)
e1:SetCondition(c33330015.retcon) e1:SetCondition(cm.retcon)
e1:SetOperation(c33330015.retop) e1:SetOperation(cm.retop)
e1:SetReset(RESET_PHASE+PHASE_END) e1:SetReset(RESET_PHASE+PHASE_END)
e1:SetValue(Duel.GetTurnCount()) e1:SetValue(Duel.GetTurnCount())
Duel.RegisterEffect(e1,tp) Duel.RegisterEffect(e1,tp)
end end
end end
end end
function c33330015.retfilter(c,fid) function cm.retfilter(c,fid)
return c:GetFlagEffectLabel(33330015)==fid return c:GetFlagEffectLabel(m)==fid
end end
function c33330015.retcon(e,tp,eg,ep,ev,re,r,rp) function cm.retcon(e,tp,eg,ep,ev,re,r,rp)
if Duel.GetTurnCount()==e:GetValue() then return false end if Duel.GetTurnCount()==e:GetValue() then return false end
local g=e:GetLabelObject() local g=e:GetLabelObject()
if not g:IsExists(c33330015.retfilter,1,nil,e:GetLabel()) then if not g:IsExists(cm.retfilter,1,nil,e:GetLabel()) then
g:DeleteGroup() g:DeleteGroup()
e:Reset() e:Reset()
return false return false
else return true end else return true end
end end
function c33330015.retop(e,tp,eg,ep,ev,re,r,rp) function cm.retop(e,tp,eg,ep,ev,re,r,rp)
local g=e:GetLabelObject() local g=e:GetLabelObject()
local sg=g:Filter(c33330015.retfilter,nil,e:GetLabel()) local sg=g:Filter(cm.retfilter,nil,e:GetLabel())
g:DeleteGroup() g:DeleteGroup()
local ct,tg=Duel.GetLocationCount(tp,LOCATION_MZONE),Group.CreateGroup() local ct,rg=Duel.GetLocationCount(tp,LOCATION_MZONE)
if sg:GetCount()>ct and ct>0 then if sg:GetCount()>ct and ct>0 then
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TOFIELD) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TOFIELD)
tg=sg:Select(tp,ct1,ct1,nil) rg=sg:Select(tp,ct,ct,nil)
else
rg=sg
end end
sg:Sub(tg) local tc=rg:GetFirst()
local tc=tg:GetFirst()
while tc do while tc do
Duel.ReturnToField(tc) Duel.ReturnToField(tc)
tc=tg:GetNext() tc=rg:GetNext()
end end
sg:Sub(rg)
tc=sg:GetFirst() tc=sg:GetFirst()
while tc do while tc do
Duel.ReturnToField(tc) Duel.ReturnToField(tc)
tc=sg:GetNext() tc=sg:GetNext()
end end
end end
--Atk Up
function cm.atkcon(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
return c==Duel.GetAttacker() or c==Duel.GetAttackTarget()
end
function cm.atktg(e,tp,eg,ep,ev,re,r,rp,chk)
local c=e:GetHandler()
if chk==0 then
local ct=Duel.GetMatchingGroupCount(Card.IsType,tp,LOCATION_GRAVE,0,nil,TYPE_FIELD)
return ct>0 and c:GetFlagEffect(m)==0
end
c:RegisterFlagEffect(m,RESET_CHAIN,0,1)
end
function cm.atkop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
local ct=Duel.GetMatchingGroupCount(Card.IsType,tp,LOCATION_GRAVE,0,nil,TYPE_FIELD)
if c:IsRelateToEffect(e) and c:IsFaceup() and ct>0 then
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetCode(EFFECT_UPDATE_ATTACK)
e1:SetValue(ct*cm.atk)
e1:SetReset(RESET_EVENT+RESET_CHAIN)
c:RegisterEffect(e1)
end
end
--白笛 歼灭之莱莎 --白笛 歼灭之莱莎
function c33330016.initial_effect(c) local m=33330016
--link summon local cm=_G["c"..m]
cm.atk=500 --攻 击 上 升
function cm.initial_effect(c)
c:EnableReviveLimit()
--Link Summon
aux.AddLinkProcedure(c,aux.FilterBoolFunction(Card.IsLinkSetCard,0x556),2) aux.AddLinkProcedure(c,aux.FilterBoolFunction(Card.IsLinkSetCard,0x556),2)
c:EnableReviveLimit() --Destroy & Search
--seq
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(33330016,1)) e1:SetDescription(aux.Stringid(m,0))
e1:SetType(EFFECT_TYPE_IGNITION) e1:SetCategory(CATEGORY_DESTROY)
e1:SetRange(LOCATION_MZONE) e1:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_O)
e1:SetCountLimit(1) e1:SetCode(EVENT_SPSUMMON_SUCCESS)
e1:SetTarget(c33330016.target) e1:SetProperty(EFFECT_FLAG_DELAY+EFFECT_FLAG_DAMAGE_STEP)
e1:SetOperation(c33330016.activate) e1:SetCountLimit(1,m)
c:RegisterEffect(e1) e1:SetTarget(cm.destg)
--d r e1:SetOperation(cm.desop)
c:RegisterEffect(e1)
--Move
local e2=Effect.CreateEffect(c) local e2=Effect.CreateEffect(c)
e2:SetDescription(aux.Stringid(33330016,0)) e2:SetDescription(aux.Stringid(m,1))
e2:SetCategory(CATEGORY_DESTROY+CATEGORY_SEARCH+CATEGORY_TOHAND) e2:SetType(EFFECT_TYPE_IGNITION)
e2:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_O) e2:SetRange(LOCATION_MZONE)
e2:SetCode(EVENT_SPSUMMON_SUCCESS) e2:SetCountLimit(1)
e2:SetProperty(EFFECT_FLAG_DAMAGE_STEP+EFFECT_FLAG_DELAY) e2:SetTarget(cm.mvtg)
e2:SetCountLimit(1,33330016) e2:SetOperation(cm.mvop)
e2:SetTarget(c33330016.destg)
e2:SetOperation(c33330016.desop)
c:RegisterEffect(e2) c:RegisterEffect(e2)
--atk --Atk Up
local e3=Effect.CreateEffect(c) local e3=Effect.CreateEffect(c)
e3:SetType(EFFECT_TYPE_FIELD) e3:SetType(EFFECT_TYPE_FIELD)
e3:SetCode(EFFECT_UPDATE_ATTACK) e3:SetCode(EFFECT_UPDATE_ATTACK)
e3:SetRange(LOCATION_MZONE) e3:SetRange(LOCATION_MZONE)
e3:SetTargetRange(LOCATION_MZONE,LOCATION_MZONE) e3:SetTargetRange(LOCATION_MZONE,LOCATION_MZONE)
e3:SetTarget(c33330016.indtg) e3:SetTarget(cm.bufftg)
e3:SetValue(500) e3:SetValue(cm.atk)
c:RegisterEffect(e3) c:RegisterEffect(e3)
local e4=Effect.CreateEffect(c) --Indes
e4:SetType(EFFECT_TYPE_FIELD) local e4=e3:Clone()
e4:SetCode(EFFECT_INDESTRUCTABLE_EFFECT) e4:SetCode(EFFECT_INDESTRUCTABLE_EFFECT)
e4:SetProperty(EFFECT_FLAG_SET_AVAILABLE) e4:SetProperty(EFFECT_FLAG_SET_AVAILABLE)
e4:SetRange(LOCATION_MZONE)
e4:SetTargetRange(LOCATION_MZONE,LOCATION_MZONE)
e4:SetTarget(c33330016.indtg)
e4:SetValue(1) e4:SetValue(1)
c:RegisterEffect(e4) c:RegisterEffect(e4)
end end
function c33330016.indtg(e,c) --Destroy & Search
return e:GetHandler():GetLinkedGroup():IsContains(c) function cm.thfilter(c)
return c:IsAbleToHand() and c:IsCode(cm.search[1])
end
function cm.destg(e,tp,eg,ep,ev,re,r,rp,chk)
local tc=Duel.GetFieldCard(tp,LOCATION_SZONE,5)
if chk==0 then return tc and Duel.IsExistingMatchingCard(aux.TRUE,tp,0,LOCATION_ONFIELD,1,nil) end
Duel.SetOperationInfo(0,CATEGORY_DESTROY,tc,1,0,0)
Duel.SetOperationInfo(0,CATEGORY_DESTROY,nil,1,1-tp,LOCATION_ONFIELD)
end
function cm.desop(e,tp,eg,ep,ev,re,r,rp)
local tc=Duel.GetFieldCard(tp,LOCATION_SZONE,5)
if tc and Duel.Destroy(tc,REASON_EFFECT)~=0 and Duel.IsExistingMatchingCard(aux.TRUE,tp,0,LOCATION_ONFIELD,1,nil) then
Duel.BreakEffect()
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_DESTROY)
local g=Duel.SelectMatchingCard(tp,aux.TRUE,tp,0,LOCATION_ONFIELD,1,1,nil)
Duel.HintSelection(g)
Duel.Destroy(g,REASON_EFFECT)
end
end end
function c33330016.target(e,tp,eg,ep,ev,re,r,rp,chk) --Move
function cm.mvtg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.GetLocationCount(tp,LOCATION_MZONE,tp,LOCATION_REASON_CONTROL)>0 end if chk==0 then return Duel.GetLocationCount(tp,LOCATION_MZONE,tp,LOCATION_REASON_CONTROL)>0 end
end end
function c33330016.activate(e,tp,eg,ep,ev,re,r,rp) function cm.mvop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler() local c=e:GetHandler()
if not c:IsRelateToEffect(e) or Duel.GetLocationCount(tp,LOCATION_MZONE)<1 then return end if not c:IsRelateToEffect(e) or Duel.GetLocationCount(tp,LOCATION_MZONE)<1 then return end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TOZONE) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TOZONE)
...@@ -56,20 +74,7 @@ function c33330016.activate(e,tp,eg,ep,ev,re,r,rp) ...@@ -56,20 +74,7 @@ function c33330016.activate(e,tp,eg,ep,ev,re,r,rp)
local nseq=math.log(s,2) local nseq=math.log(s,2)
Duel.MoveSequence(c,nseq) Duel.MoveSequence(c,nseq)
end end
function c33330016.destg(e,tp,eg,ep,ev,re,r,rp,chk) --Atk Up
local tc=Duel.GetFieldCard(tp,LOCATION_SZONE,5) function cm.bufftg(e,c)
if chk==0 then return tc and Duel.IsExistingMatchingCard(aux.TRUE,tp,0,LOCATION_ONFIELD,1,nil) end return e:GetHandler():GetLinkedGroup():IsContains(c)
Duel.SetOperationInfo(0,CATEGORY_DESTROY,tc,2,0,LOCATION_ONFIELD) end
end \ No newline at end of file
function c33330016.desop(e,tp,eg,ep,ev,re,r,rp)
local tc=Duel.GetFieldCard(tp,LOCATION_SZONE,5)
if tc and Duel.Destroy(tc,REASON_EFFECT)~=0 and Duel.IsExistingMatchingCard(aux.TRUE,tp,0,LOCATION_ONFIELD,1,nil) then
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_DESTROY)
local tg=Duel.SelectMatchingCard(tp,aux.TRUE,tp,0,LOCATION_ONFIELD,1,1,nil)
Duel.HintSelection(tg)
Duel.Destroy(tg,REASON_EFFECT)
end
end
--白笛 不动如山之奥森 --白笛 不动如山之奥森
function c33330017.initial_effect(c) local m=33330017
--xyz summon local cm=_G["c"..m]
aux.AddXyzProcedure(c,aux.FilterBoolFunction(Card.IsSetCard,0x556),4,3) cm.mat={33330004} --素 材 要 求
cm.counter=0x1556 --指 示 物
function cm.initial_effect(c)
c:EnableReviveLimit() c:EnableReviveLimit()
-- --Xyz Summon
local e4=Effect.CreateEffect(c) aux.AddXyzProcedure(c,aux.FilterBoolFunction(Card.IsSetCard,0x556),4,2)
e4:SetType(EFFECT_TYPE_SINGLE) --Remove
e4:SetProperty(EFFECT_FLAG_SINGLE_RANGE)
e4:SetRange(LOCATION_MZONE)
e4:SetCode(EFFECT_INDESTRUCTABLE_EFFECT)
e4:SetValue(c33330017.indesval)
e4:SetCondition(c33330017.con)
c:RegisterEffect(e4)
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE) e1:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_CONTINUOUS)
e1:SetCode(EFFECT_EXTRA_ATTACK) e1:SetCode(EVENT_DAMAGE_STEP_END)
e1:SetCondition(c33330017.con) e1:SetCondition(cm.rmcon)
e1:SetValue(c33330017.atkval) e1:SetOperation(cm.rmop)
c:RegisterEffect(e1) c:RegisterEffect(e1)
--to grave --Destroy Replace
local e2=Effect.CreateEffect(c) local e2=Effect.CreateEffect(c)
e2:SetDescription(aux.Stringid(13893596,0)) e2:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
e2:SetCategory(CATEGORY_ATKCHANGE+CATEGORY_COUNTER) e2:SetCode(EFFECT_DESTROY_REPLACE)
e2:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_F) e2:SetRange(LOCATION_MZONE)
e2:SetCode(EVENT_ATTACK_ANNOUNCE) e2:SetCountLimit(2)
e2:SetTarget(c33330017.ctg) e2:SetTarget(cm.reptg)
e2:SetOperation(c33330017.cop) e2:SetOperation(cm.repop)
e2:SetValue(cm.repval)
c:RegisterEffect(e2) c:RegisterEffect(e2)
--des
local e5=Effect.CreateEffect(c)
e5:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_CONTINUOUS)
e5:SetCode(EVENT_DAMAGE_STEP_END)
e5:SetOperation(c33330017.desop)
c:RegisterEffect(e5)
end end
function c33330017.desop(e,tp,eg,ep,ev,re,r,rp) cm.card_code_list=cm.mat
if e:GetHandler():GetCounter(0x1009)>=3 then --Remove
Duel.Hint(HINT_CARD,0,33330017) function cm.rmcon(e)
Duel.Destroy(e:GetHandler(),REASON_EFFECT) return e:GetHandler():GetOverlayGroup():IsExists(Card.IsCode,1,nil,cm.mat[1]) and aux.bdocon(e)
end
end end
function c33330017.ctg(e,tp,eg,ep,ev,re,r,rp,chk) function cm.rmop(e,tp,eg,ep,ev,re,r,rp)
if chk==0 then return e:GetHandler():IsCanAddCounter(0x1019,1) end local tc=Duel.GetAttacker()
Duel.SetOperationInfo(0,CATEGORY_COUNTER,nil,1,0,0) if tc==e:GetHandler() then tc=Duel.GetAttackTarget() end
if tc then Duel.Remove(tc,POS_FACEUP,REASON_RULE) end
end end
function c33330017.cop(e,tp,eg,ep,ev,re,r,rp) --Destroy Replace
local c=e:GetHandler() function cm.repfilter(c,tp)
if c and c:IsFaceup() and c:IsRelateToEffect(e) and c:IsCanAddCounter(0x1009,1) then return c:IsFaceup() and c:IsSetCard(0x556) and c:IsControler(tp)
c:AddCounter(0x1019,1) and c:IsReason(REASON_EFFECT+REASON_BATTLE) and not c:IsReason(REASON_REPLACE)
local g=Duel.GetMatchingGroup(c33330017.adfilter,tp,0,LOCATION_MZONE,nil)
if g:GetCount()>0 then
for tc in aux.Next(g) do
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetCode(EFFECT_UPDATE_ATTACK)
e1:SetReset(RESET_EVENT+0x1fe0000)
e1:SetValue(-300)
tc:RegisterEffect(e1)
end
end
end
end end
function c33330017.adfilter(c) function cm.reptg(e,tp,eg,ep,ev,re,r,rp,chk)
return c:IsFaceup() and c:IsSummonType(SUMMON_TYPE_SPECIAL) if chk==0 then return eg:IsExists(cm.repfilter,1,nil,tp) and Duel.IsCanRemoveCounter(tp,1,0,cm.counter,1,REASON_COST) end
return Duel.SelectEffectYesNo(tp,e:GetHandler(),96)
end end
function c33330017.atkval(e) function cm.repop(e,tp,eg,ep,ev,re,r,rp)
return e:GetHandler():GetOverlayCount()-1 Duel.RemoveCounter(tp,1,0,cm.counter,1,REASON_COST)
end end
function c33330017.indesval(e,re,rp) function cm.repval(e,c)
return re:GetHandler()~=e:GetHandler() return cm.repfilter(c,e:GetHandlerPlayer())
end
function c33330017.con(e,tp,eg,ep,ev,re,r,rp)
return e:GetHandler():GetOverlayGroup():IsExists(Card.IsCode,1,nil,33330004)
end end
\ No newline at end of file
--白笛 崭新之波多尔多 --白笛 崭新之波多尔多
function c33330018.initial_effect(c) local m=33330018
--xyz summon local cm=_G["c"..m]
aux.AddXyzProcedure(c,nil,8,2) cm.token={33330035} --衍 生 物
cm.counter=0x1556 --指 示 物
function cm.initial_effect(c)
c:EnableReviveLimit() c:EnableReviveLimit()
--direct --Xyz Summon
aux.AddXyzProcedure(c,nil,8,2)
--Activate Limit
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_FIELD)
e1:SetCode(EFFECT_CANNOT_ACTIVATE)
e1:SetProperty(EFFECT_FLAG_PLAYER_TARGET)
e1:SetRange(LOCATION_MZONE)
e1:SetTargetRange(0,1)
e1:SetCondition(cm.actcon)
e1:SetValue(cm.aclimit)
c:RegisterEffect(e1)
--Token
local e2=Effect.CreateEffect(c) local e2=Effect.CreateEffect(c)
e2:SetDescription(aux.Stringid(33330018,0)) e2:SetDescription(aux.Stringid(m,0))
e2:SetType(EFFECT_TYPE_IGNITION) e2:SetCategory(CATEGORY_SPECIAL_SUMMON+CATEGORY_TOKEN)
e2:SetProperty(EFFECT_FLAG_CANNOT_DISABLE) e2:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_O)
e2:SetRange(LOCATION_MZONE) e2:SetCode(EVENT_DAMAGE_STEP_END)
e2:SetCondition(c33330018.condition) e2:SetCondition(aux.bdcon)
e2:SetCost(c33330018.cost) e2:SetCost(cm.tkcost)
e2:SetOperation(c33330018.operation) e2:SetTarget(cm.tktg)
c:RegisterEffect(e2) e2:SetOperation(cm.tkop)
--actlimit c:RegisterEffect(e2)
--Direct Attack
local e3=Effect.CreateEffect(c) local e3=Effect.CreateEffect(c)
e3:SetType(EFFECT_TYPE_FIELD) e3:SetDescription(aux.Stringid(m,0))
e3:SetProperty(EFFECT_FLAG_PLAYER_TARGET+EFFECT_FLAG_CANNOT_DISABLE) e3:SetType(EFFECT_TYPE_IGNITION)
e3:SetCode(EFFECT_CANNOT_ACTIVATE)
e3:SetRange(LOCATION_MZONE) e3:SetRange(LOCATION_MZONE)
e3:SetTargetRange(0,1) e3:SetCondition(cm.drcon)
e3:SetValue(c33330018.aclimit) e3:SetCost(cm.drcost)
e3:SetCondition(c33330018.actcon) e3:SetOperation(cm.drop)
c:RegisterEffect(e3) c:RegisterEffect(e3)
--token end
local e5=Effect.CreateEffect(c) --Activate Limit
e5:SetDescription(aux.Stringid(33330018,1)) function cm.actcon(e)
e5:SetCategory(CATEGORY_TOKEN+CATEGORY_SPECIAL_SUMMON) return Duel.GetAttacker()==e:GetHandler()
e5:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_O) end
e5:SetProperty(EFFECT_FLAG_CANNOT_DISABLE) function cm.aclimit(e,re,tp)
e5:SetCode(EVENT_DAMAGE_STEP_END) return not re:GetHandler():IsImmuneToEffect(e)
e5:SetCost(c33330018.rcost) end
e5:SetCondition(c33330018.actcon) --Token
e5:SetTarget(c33330018.tktg) function cm.tkfilter(c,tp)
e5:SetOperation(c33330018.tkop) return Duel.GetMZoneCount(tp,c)>0
c:RegisterEffect(e5) end
--search function cm.tkcost(e,tp,eg,ep,ev,re,r,rp,chk)
local e1=Effect.CreateEffect(c) if chk==0 then return Duel.CheckReleaseGroup(tp,cm.tkfilter,1,nil,tp) end
e1:SetDescription(aux.Stringid(33330018,2)) local g=Duel.SelectReleaseGroup(tp,cm.tkfilter,1,1,nil,tp)
e1:SetCategory(CATEGORY_RECOVER) Duel.Release(g,REASON_COST)
e1:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_O) end
e1:SetCode(EVENT_TO_GRAVE) function cm.tktg(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
e1:SetProperty(EFFECT_FLAG_DAMAGE_STEP+EFFECT_FLAG_DELAY+EFFECT_FLAG_CANNOT_DISABLE+EFFECT_FLAG_PLAYER_TARGET) if chk==0 then return Duel.IsPlayerCanSpecialSummonMonster(tp,cm.token[1],0,0x4011,2000,2000,8,RACE_ZOMBIE,ATTRIBUTE_DARK) end
e1:SetCost(c33330018.recost) Duel.SetOperationInfo(0,CATEGORY_TOKEN,nil,1,0,0)
e1:SetTarget(c33330018.retg) Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,1,0,0)
e1:SetOperation(c33330018.reop) end
c:RegisterEffect(e1) function cm.tkop(e,tp,eg,ep,ev,re,r,rp)
if Duel.GetMZoneCount(tp)<1 then return end
if Duel.IsPlayerCanSpecialSummonMonster(tp,cm.token[1],0,0x4011,2000,2000,8,RACE_ZOMBIE,ATTRIBUTE_DARK) then
local token=Duel.CreateToken(tp,cm.token[1])
Duel.SpecialSummon(token,0,tp,tp,false,false,POS_FACEUP)
local e1=Effect.CreateEffect(e:GetHandler())
e1:SetDescription(aux.Stringid(m,2))
e1:SetCategory(CATEGORY_DESTROY)
e1:SetType(EFFECT_TYPE_IGNITION)
e1:SetProperty(EFFECT_FLAG_CLIENT_HINT)
e1:SetRange(LOCATION_MZONE)
e1:SetCountLimit(1)
e1:SetCost(cm.descost)
e1:SetTarget(cm.destg)
e1:SetOperation(cm.desop)
token:RegisterEffect(e1)
end
end end
function c33330018.recost(e,tp,eg,ep,ev,re,r,rp,chk) function cm.descost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsCanRemoveCounter(tp,1,0,0x1019,1,REASON_COST) end if chk==0 then return Duel.IsCanRemoveCounter(tp,1,0,cm.counter,1,REASON_COST) end
local ct=Duel.GetCounter(tp,1,0,0x1019) Duel.RemoveCounter(tp,1,0,cm.counter,1,REASON_COST)
Duel.RemoveCounter(tp,1,0,0x1019,ct,REASON_COST)
e:SetLabel(ct)
end end
function c33330018.retg(e,tp,eg,ep,ev,re,r,rp,chk) function cm.destg(e,tp,eg,ep,ev,re,r,rp,chk)
local ct=e:GetLabel() if chk==0 then return e:GetHandler():IsDestructable() end
if chk==0 then return true end Duel.SetOperationInfo(0,CATEGORY_DESTROY,e:GetHandler(),1,0,0)
Duel.SetTargetPlayer(tp)
Duel.SetTargetParam(ct*300)
Duel.SetOperationInfo(0,CATEGORY_RECOVER,nil,0,tp,ct*300)
end end
function c33330018.reop(e,tp,eg,ep,ev,re,r,rp) function cm.desop(e,tp,eg,ep,ev,re,r,rp)
local p,d=Duel.GetChainInfo(0,CHAININFO_TARGET_PLAYER,CHAININFO_TARGET_PARAM) if e:GetHandler():IsRelateToEffect(e) then
Duel.Recover(p,d,REASON_EFFECT) Duel.Destroy(e:GetHandler(),REASON_EFFECT)
end
end end
function c33330018.condition(e,tp,eg,ep,ev,re,r,rp) --Direct Attack
function cm.drcon(e,tp,eg,ep,ev,re,r,rp)
return Duel.IsAbleToEnterBP() and not e:GetHandler():IsHasEffect(EFFECT_DIRECT_ATTACK) return Duel.IsAbleToEnterBP() and not e:GetHandler():IsHasEffect(EFFECT_DIRECT_ATTACK)
end end
function c33330018.cost(e,tp,eg,ep,ev,re,r,rp,chk) function cm.drcost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return e:GetHandler():CheckRemoveOverlayCard(tp,1,REASON_COST) end if chk==0 then return e:GetHandler():CheckRemoveOverlayCard(tp,1,REASON_COST) end
e:GetHandler():RemoveOverlayCard(tp,1,1,REASON_COST) e:GetHandler():RemoveOverlayCard(tp,1,1,REASON_COST)
end end
function c33330018.operation(e,tp,eg,ep,ev,re,r,rp) function cm.drop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler() local c=e:GetHandler()
if c:IsFaceup() and c:IsRelateToEffect(e) then if c:IsFaceup() and c:IsRelateToEffect(e) then
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
e1:SetProperty(EFFECT_FLAG_CANNOT_DISABLE)
e1:SetType(EFFECT_TYPE_SINGLE) e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetCode(EFFECT_DIRECT_ATTACK) e1:SetCode(EFFECT_DIRECT_ATTACK)
e1:SetReset(RESET_EVENT+0x1fe0000+RESET_PHASE+PHASE_END) e1:SetValue(1)
e1:SetReset(RESET_EVENT+RESETS_STANDARD+RESET_DISABLE+RESET_PHASE+PHASE_END)
c:RegisterEffect(e1) c:RegisterEffect(e1)
end end
end end
function c33330018.costfilter(c,ft,tp) \ No newline at end of file
return (ft>0 or (c:IsControler(tp) and c:GetSequence()<5))
end
function c33330018.rcost(e,tp,eg,ep,ev,re,r,rp,chk)
local ft=Duel.GetLocationCount(tp,LOCATION_MZONE)
if chk==0 then return ft>-1 and Duel.CheckReleaseGroup(tp,c33330018.costfilter,1,nil,ft,tp) end
local g=Duel.SelectReleaseGroup(tp,c33330018.costfilter,1,1,nil,ft,tp)
Duel.Release(g,REASON_COST)
end
function c33330018.tktg(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
if chk==0 then return Duel.GetLocationCount(tp,LOCATION_MZONE)>0
and Duel.IsPlayerCanSpecialSummonMonster(tp,33330035,0,0x4011,2000,2000,8,RACE_ZOMBIE,ATTRIBUTE_DARK) end
Duel.SetOperationInfo(0,CATEGORY_TOKEN,nil,1,0,0)
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,1,0,0)
end
function c33330018.tkop(e,tp,eg,ep,ev,re,r,rp)
if Duel.GetLocationCount(tp,LOCATION_MZONE)<=0 then return end
if Duel.IsPlayerCanSpecialSummonMonster(tp,33330035,0,0x4011,2000,2000,8,RACE_ZOMBIE,ATTRIBUTE_DARK) then
local token=Duel.CreateToken(tp,33330035)
Duel.SpecialSummon(token,0,tp,tp,false,false,POS_FACEUP_DEFENSE)
end
end
function c33330018.aclimit(e,re,tp)
return not re:GetHandler():IsImmuneToEffect(e)
end
function c33330018.actcon(e)
return Duel.GetAttacker()==e:GetHandler()
end
--深界一层-阿比斯之渊 --深界一层-阿比斯之渊
function c33330019.initial_effect(c) local m=33330019
local cm=_G["c"..m]
cm.search={33330002,33330038,33330020} --检 索 对 象
cm.counter=0x1556 --指 示 物
cm.damage=100 --伤 害 倍 数
function cm.initial_effect(c)
c:EnableCounterPermit(cm.counter)
--Activate --Activate
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
e1:SetCategory(CATEGORY_TOHAND+CATEGORY_SEARCH)
e1:SetType(EFFECT_TYPE_ACTIVATE) e1:SetType(EFFECT_TYPE_ACTIVATE)
e1:SetCode(EVENT_FREE_CHAIN) e1:SetCode(EVENT_FREE_CHAIN)
e1:SetTarget(cm.target)
e1:SetOperation(cm.activate)
c:RegisterEffect(e1) c:RegisterEffect(e1)
--indestructable --Search
local e21=Effect.CreateEffect(c)
e21:SetType(EFFECT_TYPE_FIELD)
e21:SetCode(EFFECT_INDESTRUCTABLE_BATTLE)
e21:SetRange(LOCATION_SZONE)
e21:SetTargetRange(LOCATION_MZONE,0)
e21:SetTarget(aux.TargetBoolFunction(Card.IsSetCard,0x556))
e21:SetValue(1)
c:RegisterEffect(e21)
--Pos Change
local e2=Effect.CreateEffect(c) local e2=Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_FIELD) e2:SetDescription(aux.Stringid(m,0))
e2:SetCode(EFFECT_SET_POSITION) e2:SetCategory(CATEGORY_HANDES+CATEGORY_COUNTER+CATEGORY_TOHAND+CATEGORY_SEARCH)
e2:SetRange(LOCATION_SZONE) e2:SetType(EFFECT_TYPE_IGNITION)
e2:SetTargetRange(LOCATION_MZONE,LOCATION_MZONE) e2:SetRange(LOCATION_FZONE)
e2:SetProperty(EFFECT_FLAG_SET_AVAILABLE+EFFECT_FLAG_IGNORE_RANGE) e2:SetCountLimit(1)
e2:SetValue(POS_FACEUP_ATTACK) e2:SetTarget(cm.thtg)
c:RegisterEffect(e2) e2:SetOperation(cm.thop)
--damage reduce c:RegisterEffect(e2)
local e4=Effect.CreateEffect(c) --Change Field
e4:SetType(EFFECT_TYPE_FIELD)
e4:SetCode(EFFECT_CHANGE_DAMAGE)
e4:SetProperty(EFFECT_FLAG_PLAYER_TARGET)
e4:SetRange(LOCATION_SZONE)
e4:SetTargetRange(1,0)
e4:SetValue(c33330019.damval)
c:RegisterEffect(e4)
--search
local e5=Effect.CreateEffect(c)
e5:SetCategory(CATEGORY_TOHAND+CATEGORY_SEARCH+CATEGORY_DAMAGE)
e5:SetDescription(aux.Stringid(33330019,0))
e5:SetType(EFFECT_TYPE_IGNITION)
e5:SetRange(LOCATION_SZONE)
e5:SetCountLimit(1)
e5:SetCost(c33330019.cost)
e5:SetTarget(c33330019.tg)
e5:SetOperation(c33330019.op)
c:RegisterEffect(e5)
--xxxx
local e3=Effect.CreateEffect(c) local e3=Effect.CreateEffect(c)
e3:SetDescription(aux.Stringid(33330019,1)) e3:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_CONTINUOUS)
e3:SetCategory(CATEGORY_TOHAND+CATEGORY_SEARCH+CATEGORY_DAMAGE) e3:SetCode(EVENT_LEAVE_FIELD_P)
e3:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_F) e3:SetProperty(EFFECT_FLAG_CANNOT_DISABLE)
e3:SetCode(EVENT_DESTROY) e3:SetOperation(cm.ctop)
e3:SetProperty(EFFECT_FLAG_DAMAGE_STEP)
e3:SetCondition(c33330019.con2)
e3:SetTarget(c33330019.tg2)
e3:SetOperation(c33330019.op2)
c:RegisterEffect(e3) c:RegisterEffect(e3)
--count local e4=Effect.CreateEffect(c)
local e7=Effect.CreateEffect(c) e4:SetDescription(aux.Stringid(m,1))
e7:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_CONTINUOUS) e4:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_F)
e7:SetCode(EVENT_LEAVE_FIELD_P) e4:SetCode(EVENT_LEAVE_FIELD)
e7:SetOperation(c33330019.contop) e4:SetProperty(EFFECT_FLAG_DAMAGE_STEP)
c:RegisterEffect(e7) e4:SetLabelObject(e3)
e3:SetLabelObject(e7) e4:SetCondition(cm.fdcon)
e4:SetTarget(cm.fdtg)
e4:SetOperation(cm.fdop)
c:RegisterEffect(e4)
end end
function c33330019.contop(e,tp,eg,ep,ev,re,r,rp) cm.card_code_list=cm.search
e:SetLabel(e:GetHandler():GetCounter(0x1019)) --Activate
function cm.filter(c)
return c:IsSetCard(0x3556) and c:IsAbleToHand()
end end
function c33330019.con2(e,tp,eg,ep,ev,re,r,rp) function cm.target(e,tp,eg,ep,ev,re,r,rp,chk)
local c=e:GetHandler() if chk==0 then return Duel.IsExistingMatchingCard(cm.filter,tp,LOCATION_DECK,0,1,nil) end
return c:IsReason(REASON_EFFECT) Duel.SetOperationInfo(0,CATEGORY_TOHAND,nil,1,tp,LOCATION_DECK)
end end
function c33330019.tg2(e,tp,eg,ep,ev,re,r,rp,chk,chkc) function cm.activate(e,tp,eg,ep,ev,re,r,rp)
if chk==0 then return true end if not e:GetHandler():IsRelateToEffect(e) then return end
local ct=e:GetLabelObject():GetLabel()
Duel.SetOperationInfo(0,CATEGORY_DAMAGE,nil,0,tp,ct*1000)
Duel.SetOperationInfo(0,CATEGORY_TOHAND,nil,1,tp,LOCATION_DECK+LOCATION_GRAVE)
end
function c33330019.op2(e,tp,eg,ep,ev,re,r,rp)
local ct=e:GetLabelObject():GetLabel()
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_ATOHAND) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_ATOHAND)
local g=Duel.SelectMatchingCard(tp,aux.NecroValleyFilter(c33330019.filter),tp,LOCATION_DECK+LOCATION_GRAVE,0,1,1,nil) local g=Duel.SelectMatchingCard(tp,cm.filter,tp,LOCATION_DECK,0,1,1,nil)
if g:GetCount()>0 and Duel.SendtoHand(g,nil,REASON_EFFECT)~=0 then if g:GetCount()>0 and Duel.SendtoHand(g,nil,REASON_EFFECT)~=0 then
Duel.ConfirmCards(1-tp,g) Duel.ConfirmCards(1-tp,g)
Duel.Damage(tp,ct*1000,REASON_EFFECT)
end end
end end
function c33330019.filter(c) --Search
return c:IsCode(33330019) and c:IsAbleToHand() function cm.thfilter(c)
return c:IsCode(cm.search[1]) and c:IsAbleToHand()
end end
function c33330019.cost(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 e:GetHandler():IsCanRemoveCounter(tp,0x1019,3,REASON_COST) end if chk==0 then return Duel.IsExistingMatchingCard(Card.IsDiscardable,tp,LOCATION_HAND,0,1,nil)
e:GetHandler():RemoveCounter(tp,0x1019,3,REASON_COST) and e:GetHandler():IsCanAddCounter(cm.counter,1)
and Duel.IsExistingMatchingCard(cm.thfilter,tp,LOCATION_DECK,0,1,nil) end
Duel.SetOperationInfo(0,CATEGORY_HANDES,nil,0,tp,1)
Duel.SetOperationInfo(0,CATEGORY_COUNTER,e:GetHandler(),1,0,0)
Duel.SetOperationInfo(0,CATEGORY_TOHAND,nil,1,tp,LOCATION_DECK)
end end
function c33330019.filter2(c) function cm.thop(e,tp,eg,ep,ev,re,r,rp)
return c:IsCode(33330020) and c:IsAbleToHand() if not e:GetHandler():IsRelateToEffect(e) then return end
if Duel.DiscardHand(tp,Card.IsDiscardable,1,1,REASON_EFFECT+REASON_DISCARD)~=0
and e:GetHandler():AddCounter(cm.counter,1) then
local tc=Duel.GetFirstMatchingCard(cm.thfilter,tp,LOCATION_DECK,0,nil)
if tc then
Duel.BreakEffect()
Duel.SendtoHand(tc,nil,REASON_EFFECT)
Duel.ConfirmCards(1-tp,tc)
end
end
end end
function c33330019.tg(e,tp,eg,ep,ev,re,r,rp,chk,chkc) --Change Field
if chk==0 then return Duel.IsExistingMatchingCard(c33330019.filter2,tp,LOCATION_DECK+LOCATION_GRAVE,0,1,nil) end function cm.ctop(e,tp,eg,ep,ev,re,r,rp)
Duel.SetOperationInfo(0,CATEGORY_DAMAGE,nil,0,tp,500) e:SetLabel(e:GetHandler():GetCounter(cm.counter))
Duel.SetOperationInfo(0,CATEGORY_TOHAND,nil,1,tp,LOCATION_DECK+LOCATION_GRAVE)
end end
function c33330019.op(e,tp,eg,ep,ev,re,r,rp) function cm.fdfilter1(c)
if not e:GetHandler():IsRelateToEffect(e) or Duel.Damage(tp,500,REASON_EFFECT)<=0 then return end return c:IsCode(cm.search[2]) and c:IsAbleToHand()
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_ATOHAND) end
local g=Duel.SelectMatchingCard(tp,aux.NecroValleyFilter(c33330019.filter2),tp,LOCATION_DECK+LOCATION_GRAVE,0,1,1,nil) function cm.fdfilter2(c,tp)
if g:GetCount()>0 then return c:IsCode(cm.search[3]) and c:GetActivateEffect():IsActivatable(tp)
Duel.SendtoHand(g,nil,REASON_EFFECT) end
Duel.ConfirmCards(1-tp,g) function cm.fdcon(e,tp,eg,ep,ev,re,r,rp)
return e:GetHandler():IsPreviousPosition(POS_FACEUP)
end
function cm.fdtg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return true end
local ct=e:GetLabelObject():GetLabel()
local sel=0
if Duel.IsExistingMatchingCard(cm.fdfilter2,tp,LOCATION_DECK+LOCATION_GRAVE,0,1,nil,tp) then
sel=Duel.SelectOption(tp,aux.Stringid(m,2),aux.Stringid(m,3))+1
else
Duel.SelectOption(tp,aux.Stringid(m,2))
sel=1
e:SetCategory(CATEGORY_TOHAND+CATEGORY_SEARCH+CATEGORY_DAMAGE)
Duel.SetOperationInfo(0,CATEGORY_TOHAND,nil,1,tp,LOCATION_DECK+LOCATION_GRAVE)
Duel.SetOperationInfo(0,CATEGORY_DAMAGE,nil,1,tp,ct*cm.damage)
end end
e:SetLabel(sel)
end end
function c33330019.damval(e,re,val,r,rp,rc) function cm.fdop(e,tp,eg,ep,ev,re,r,rp)
if bit.band(r,REASON_BATTLE)~=0 then local sel=e:GetLabel()
e:GetHandler():AddCounter(0x1019,1) local ct=e:GetLabelObject():GetLabel()
return 0 e:GetLabelObject():SetLabel(0)
if sel==1 then
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_ATOHAND)
local g=Duel.SelectMatchingCard(tp,aux.NecroValleyFilter(cm.fdfilter1),tp,LOCATION_DECK+LOCATION_GRAVE,0,1,1,nil)
if g:GetCount()>0 and Duel.SendtoHand(g,nil,REASON_EFFECT)~=0 then
Duel.ConfirmCards(1-tp,g)
end
Duel.Damage(tp,ct*cm.damage,REASON_EFFECT)
else
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TOFIELD)
local g=Duel.SelectMatchingCard(tp,aux.NecroValleyFilter(cm.fdfilter2),tp,LOCATION_DECK+LOCATION_GRAVE,0,1,1,nil,tp)
local tc=g:GetFirst()
Duel.MoveToField(tc,tp,tp,LOCATION_SZONE,POS_FACEUP,true)
local te=tc:GetActivateEffect()
local tep=tc:GetControler()
local cost=te:GetCost()
if cost then cost(te,tep,eg,ep,ev,re,r,rp,1) end
tc:AddCounter(cm.counter,ct)
end end
return val
end end
\ No newline at end of file
--深界二层-诱惑之森 --深界二层-诱惑之森
function c33330020.initial_effect(c) local m=33330020
local cm=_G["c"..m]
cm.search={33330004,33330038,33330021} --检 索 对 象
cm.counter=0x1556 --指 示 物
cm.damage=200 --伤 害 倍 数
function cm.initial_effect(c)
c:EnableCounterPermit(cm.counter)
--Activate --Activate
local e0=Effect.CreateEffect(c)
e0:SetDescription(aux.Stringid(33330020,0))
e0:SetType(EFFECT_TYPE_ACTIVATE)
e0:SetCode(EVENT_FREE_CHAIN)
c:RegisterEffect(e0)
--search
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(33330020,1)) e1:SetType(EFFECT_TYPE_ACTIVATE)
e1:SetCategory(CATEGORY_TOHAND+CATEGORY_SEARCH) e1:SetCode(EVENT_FREE_CHAIN)
e1:SetType(EFFECT_TYPE_IGNITION) c:RegisterEffect(e1)
e1:SetRange(LOCATION_HAND) --Search
e1:SetCost(c33330020.tcost)
e1:SetTarget(c33330020.ttg)
e1:SetOperation(c33330020.top)
c:RegisterEffect(e1)
--search
local e5=Effect.CreateEffect(c)
e5:SetCategory(CATEGORY_TOHAND+CATEGORY_SEARCH+CATEGORY_COUNTER)
e5:SetDescription(aux.Stringid(33330020,3))
e5:SetType(EFFECT_TYPE_IGNITION)
e5:SetRange(LOCATION_FZONE)
e5:SetCountLimit(1)
e5:SetTarget(c33330020.tg)
e5:SetOperation(c33330020.op)
c:RegisterEffect(e5)
--xxxx
local e3=Effect.CreateEffect(c)
e3:SetDescription(aux.Stringid(33330020,4))
e3:SetCategory(CATEGORY_TOHAND+CATEGORY_SEARCH+CATEGORY_DAMAGE)
e3:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_F)
e3:SetCode(EVENT_LEAVE_FIELD)
e3:SetProperty(EFFECT_FLAG_DAMAGE_STEP)
e3:SetCondition(c33330020.con2)
e3:SetTarget(c33330020.tg2)
e3:SetOperation(c33330020.op2)
c:RegisterEffect(e3)
--count
local e7=Effect.CreateEffect(c)
e7:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_CONTINUOUS)
e7:SetCode(EVENT_LEAVE_FIELD_P)
e7:SetOperation(c33330020.contop)
c:RegisterEffect(e7)
e3:SetLabelObject(e7)
--atk change
local e2=Effect.CreateEffect(c) local e2=Effect.CreateEffect(c)
e2:SetDescription(aux.Stringid(33330020,2)) e2:SetDescription(aux.Stringid(m,0))
e2:SetCategory(CATEGORY_COUNTER) e2:SetCategory(CATEGORY_COUNTER+CATEGORY_TOHAND+CATEGORY_SEARCH)
e2:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_TRIGGER_O) e2:SetType(EFFECT_TYPE_IGNITION)
e2:SetCode(EVENT_ATTACK_ANNOUNCE)
e2:SetRange(LOCATION_FZONE) e2:SetRange(LOCATION_FZONE)
e2:SetCondition(c33330020.atkcon) e2:SetCountLimit(1)
e2:SetTarget(c33330020.atktg2) e2:SetTarget(cm.thtg)
e2:SetOperation(c33330020.atkop) e2:SetOperation(cm.thop)
c:RegisterEffect(e2) c:RegisterEffect(e2)
--Change Field
local e3=Effect.CreateEffect(c)
e3:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_CONTINUOUS)
e3:SetCode(EVENT_LEAVE_FIELD_P)
e3:SetProperty(EFFECT_FLAG_CANNOT_DISABLE)
e3:SetOperation(cm.ctop)
c:RegisterEffect(e3)
local e4=Effect.CreateEffect(c)
e4:SetDescription(aux.Stringid(m,1))
e4:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_F)
e4:SetCode(EVENT_LEAVE_FIELD)
e4:SetProperty(EFFECT_FLAG_DAMAGE_STEP)
e4:SetLabelObject(e3)
e4:SetCondition(cm.fdcon)
e4:SetTarget(cm.fdtg)
e4:SetOperation(cm.fdop)
c:RegisterEffect(e4)
end end
function c33330020.atkcon(e,tp,eg,ep,ev,re,r,rp) cm.card_code_list=cm.search
return tp==Duel.GetTurnPlayer() and Duel.GetAttacker():IsSetCard(0x556) --Search
end function cm.thfilter(c)
function c33330020.atktg2(e,tp,eg,ep,ev,re,r,rp,chk,chkc) return c:IsCode(cm.search[1]) and c:IsAbleToHand()
if chk==0 then return e:GetHandler():IsCanRemoveCounter(tp,0x1019,1,REASON_EFFECT) end
Duel.SetOperationInfo(0,CATEGORY_COUNTER,nil,0,tp,1)
end
function c33330020.atkop(e,tp,eg,ep,ev,re,r,rp)
if not e:GetHandler():IsRelateToEffect(e) or e:GetHandler():IsFacedown() or not e:GetHandler():IsCanRemoveCounter(tp,0x1019,1,REASON_EFFECT) then return end
e:GetHandler():RemoveCounter(tp,0x1019,1,REASON_EFFECT)
end
function c33330020.contop(e,tp,eg,ep,ev,re,r,rp)
e:SetLabel(e:GetHandler():GetCounter(0x1019))
end
function c33330020.con2(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
return c:IsReason(REASON_EFFECT) and c:IsPreviousPosition(POS_FACEUP)
end end
function c33330020.tg2(e,tp,eg,ep,ev,re,r,rp,chk,chkc) function cm.thtg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return true end if chk==0 then return e:GetHandler():IsCanAddCounter(cm.counter,1)
local ct=e:GetLabelObject():GetLabel() and Duel.IsExistingMatchingCard(cm.thfilter,tp,LOCATION_DECK+LOCATION_GRAVE,0,1,nil) end
Duel.SetOperationInfo(0,CATEGORY_DAMAGE,nil,0,tp,ct*500) Duel.SetOperationInfo(0,CATEGORY_COUNTER,e:GetHandler(),1,0,0)
Duel.SetOperationInfo(0,CATEGORY_TOHAND,nil,1,tp,LOCATION_DECK+LOCATION_GRAVE) Duel.SetOperationInfo(0,CATEGORY_TOHAND,nil,1,tp,LOCATION_DECK+LOCATION_GRAVE)
end end
function c33330020.op2(e,tp,eg,ep,ev,re,r,rp) function cm.thop(e,tp,eg,ep,ev,re,r,rp)
local ct=e:GetLabelObject():GetLabel() if not e:GetHandler():IsRelateToEffect(e) then return end
if Duel.Damage(tp,ct*500,REASON_EFFECT)<=0 then return end if e:GetHandler():AddCounter(cm.counter,1) then
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_ATOHAND) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_ATOHAND)
local g=Duel.SelectMatchingCard(tp,aux.NecroValleyFilter(c33330020.filter3),tp,LOCATION_DECK+LOCATION_GRAVE,0,1,1,nil) local g=Duel.SelectMatchingCard(tp,aux.NecroValleyFilter(cm.thfilter),tp,LOCATION_DECK+LOCATION_GRAVE,0,1,1,nil)
if g:GetCount()>0 then if g:GetCount()>0 and Duel.SendtoHand(g,nil,REASON_EFFECT)~=0 then
Duel.SendtoHand(g,nil,REASON_EFFECT) Duel.ConfirmCards(1-tp,g)
Duel.ConfirmCards(1-tp,g) end
end end
end end
function c33330020.filter3(c) --Change Field
return c:IsCode(33330021) and c:IsAbleToHand() function cm.ctop(e,tp,eg,ep,ev,re,r,rp)
end e:SetLabel(e:GetHandler():GetCounter(cm.counter))
function c33330020.filter2(c)
return c:IsCode(33330004) and c:IsAbleToHand()
end end
function c33330020.tg(e,tp,eg,ep,ev,re,r,rp,chk) function cm.fdfilter1(c)
if chk==0 then return e:GetHandler():IsCanAddCounter(0x1019,1) and Duel.IsExistingMatchingCard(c33330020.filter2,tp,LOCATION_GRAVE+LOCATION_DECK,0,1,nil) end return c:IsCode(cm.search[2]) and c:IsAbleToHand()
Duel.SetOperationInfo(0,CATEGORY_COUNTER,nil,1,tp,0)
Duel.SetOperationInfo(0,CATEGORY_TOHAND,nil,1,tp,LOCATION_GRAVE+LOCATION_DECK)
end
function c33330020.op(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
if not c:IsRelateToEffect(e) or c:IsFacedown() then return end
c:AddCounter(0x1019,1)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_ATOHAND)
local g=Duel.SelectMatchingCard(tp,aux.NecroValleyFilter(c33330020.filter2),tp,LOCATION_GRAVE+LOCATION_DECK,0,1,1,nil)
if g:GetCount()>0 then
Duel.SendtoHand(g,nil,REASON_EFFECT)
Duel.ConfirmCards(1-tp,g)
end
end end
function c33330020.tcost(e,tp,eg,ep,ev,re,r,rp,chk) function cm.fdfilter2(c,tp)
if chk==0 then return e:GetHandler():IsAbleToGraveAsCost() end return c:IsCode(cm.search[3]) and c:GetActivateEffect():IsActivatable(tp)
Duel.SendtoGrave(e:GetHandler(),REASON_COST)
end end
function c33330020.filter(c) function cm.fdcon(e,tp,eg,ep,ev,re,r,rp)
return c:IsCode(33330019) and c:IsAbleToHand() return e:GetHandler():IsPreviousPosition(POS_FACEUP)
end end
function c33330020.ttg(e,tp,eg,ep,ev,re,r,rp,chk) function cm.fdtg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(c33330020.filter,tp,LOCATION_GRAVE+LOCATION_DECK,0,1,nil) end if chk==0 then return true end
Duel.SetOperationInfo(0,CATEGORY_TOHAND,nil,1,tp,LOCATION_GRAVE+LOCATION_DECK) local ct=e:GetLabelObject():GetLabel()
local sel=0
if Duel.IsExistingMatchingCard(cm.fdfilter2,tp,LOCATION_DECK+LOCATION_GRAVE,0,1,nil,tp) then
sel=Duel.SelectOption(tp,aux.Stringid(m,2),aux.Stringid(m,3))+1
else
Duel.SelectOption(tp,aux.Stringid(m,2))
sel=1
e:SetCategory(CATEGORY_TOHAND+CATEGORY_SEARCH+CATEGORY_DAMAGE)
Duel.SetOperationInfo(0,CATEGORY_TOHAND,nil,1,tp,LOCATION_DECK+LOCATION_GRAVE)
Duel.SetOperationInfo(0,CATEGORY_DAMAGE,nil,1,tp,ct*cm.damage)
end
e:SetLabel(sel)
end end
function c33330020.top(e,tp,eg,ep,ev,re,r,rp) function cm.fdop(e,tp,eg,ep,ev,re,r,rp)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_ATOHAND) local sel=e:GetLabel()
local g=Duel.SelectMatchingCard(tp,aux.NecroValleyFilter(c33330020.filter),tp,LOCATION_GRAVE+LOCATION_DECK,0,1,1,nil) local ct=e:GetLabelObject():GetLabel()
if g:GetCount()>0 then e:GetLabelObject():SetLabel(0)
Duel.SendtoHand(g,nil,REASON_EFFECT) if sel==1 then
Duel.ConfirmCards(1-tp,g) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_ATOHAND)
local g=Duel.SelectMatchingCard(tp,aux.NecroValleyFilter(cm.fdfilter1),tp,LOCATION_DECK+LOCATION_GRAVE,0,1,1,nil)
if g:GetCount()>0 and Duel.SendtoHand(g,nil,REASON_EFFECT)~=0 then
Duel.ConfirmCards(1-tp,g)
end
Duel.Damage(tp,ct*cm.damage,REASON_EFFECT)
else
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TOFIELD)
local g=Duel.SelectMatchingCard(tp,aux.NecroValleyFilter(cm.fdfilter2),tp,LOCATION_DECK+LOCATION_GRAVE,0,1,1,nil,tp)
local tc=g:GetFirst()
Duel.MoveToField(tc,tp,tp,LOCATION_SZONE,POS_FACEUP,true)
local te=tc:GetActivateEffect()
local tep=tc:GetControler()
local cost=te:GetCost()
if cost then cost(te,tep,eg,ep,ev,re,r,rp,1) end
tc:AddCounter(cm.counter,ct)
end end
end end
\ No newline at end of file
--深界三层-大断层 --深界三层-大断层
function c33330021.initial_effect(c) local m=33330021
local cm=_G["c"..m]
cm.search={33330006,33330038,33330022} --检 索 对 象
cm.counter=0x1556 --指 示 物
cm.damage=300 --伤 害 倍 数
function cm.initial_effect(c)
c:EnableCounterPermit(cm.counter)
--Activate --Activate
local e0=Effect.CreateEffect(c)
e0:SetDescription(aux.Stringid(33330021,0))
e0:SetType(EFFECT_TYPE_ACTIVATE)
e0:SetCode(EVENT_FREE_CHAIN)
c:RegisterEffect(e0)
--search
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(33330021,1)) e1:SetType(EFFECT_TYPE_ACTIVATE)
e1:SetCategory(CATEGORY_TOHAND+CATEGORY_SEARCH) e1:SetCode(EVENT_FREE_CHAIN)
e1:SetType(EFFECT_TYPE_IGNITION) c:RegisterEffect(e1)
e1:SetRange(LOCATION_HAND) --Search
e1:SetCost(c33330021.tcost)
e1:SetTarget(c33330021.ttg)
e1:SetOperation(c33330021.top)
c:RegisterEffect(e1)
--cannot be target
local e2=Effect.CreateEffect(c) local e2=Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_FIELD) e2:SetDescription(aux.Stringid(m,0))
e2:SetCode(EFFECT_INDESTRUCTABLE_EFFECT) e2:SetCategory(CATEGORY_COUNTER+CATEGORY_TOHAND+CATEGORY_SEARCH)
e2:SetType(EFFECT_TYPE_IGNITION)
e2:SetRange(LOCATION_FZONE) e2:SetRange(LOCATION_FZONE)
e2:SetTargetRange(LOCATION_MZONE,0) e2:SetCountLimit(1)
e2:SetTarget(aux.TargetBoolFunction(Card.IsSetCard,0x556)) e2:SetTarget(cm.thtg)
e2:SetValue(c33330021.indesval) e2:SetOperation(cm.thop)
c:RegisterEffect(e2) c:RegisterEffect(e2)
--s c --Change Field
local e3=Effect.CreateEffect(c)
e3:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_CONTINUOUS)
e3:SetCode(EVENT_LEAVE_FIELD_P)
e3:SetProperty(EFFECT_FLAG_CANNOT_DISABLE)
e3:SetOperation(cm.ctop)
c:RegisterEffect(e3)
local e4=Effect.CreateEffect(c) local e4=Effect.CreateEffect(c)
e4:SetDescription(aux.Stringid(33330021,2)) e4:SetDescription(aux.Stringid(m,1))
e4:SetCategory(CATEGORY_SEARCH+CATEGORY_TOHAND+CATEGORY_COUNTER) e4:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_F)
e4:SetType(EFFECT_TYPE_IGNITION) e4:SetCode(EVENT_LEAVE_FIELD)
e4:SetRange(LOCATION_FZONE)
e4:SetCountLimit(1,33330021) e4:SetCountLimit(1,33330021)
e4:SetTarget(c33330021.stg) e4:SetProperty(EFFECT_FLAG_DAMAGE_STEP)
e4:SetOperation(c33330021.sop) e4:SetLabelObject(e3)
e4:SetCondition(cm.fdcon)
e4:SetTarget(cm.fdtg)
e4:SetOperation(cm.fdop)
c:RegisterEffect(e4) c:RegisterEffect(e4)
--xxxx
local e3=Effect.CreateEffect(c)
e3:SetDescription(aux.Stringid(33330021,3))
e3:SetCategory(CATEGORY_TOHAND+CATEGORY_SEARCH+CATEGORY_DAMAGE)
e3:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_F)
e3:SetCode(EVENT_LEAVE_FIELD)
e3:SetProperty(EFFECT_FLAG_DAMAGE_STEP)
e3:SetCondition(c33330021.con2)
e3:SetTarget(c33330021.tg2)
e3:SetOperation(c33330021.op2)
c:RegisterEffect(e3)
--count
local e7=Effect.CreateEffect(c)
e7:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_CONTINUOUS)
e7:SetCode(EVENT_LEAVE_FIELD_P)
e7:SetOperation(c33330021.contop)
c:RegisterEffect(e7)
e3:SetLabelObject(e7)
end end
function c33330021.contop(e,tp,eg,ep,ev,re,r,rp) cm.card_code_list=cm.search
e:SetLabel(e:GetHandler():GetCounter(0x1019)) --Search
function cm.thfilter(c)
return c:IsCode(cm.search[1]) and c:IsAbleToHand()
end end
function c33330021.con2(e,tp,eg,ep,ev,re,r,rp) function cm.thtg(e,tp,eg,ep,ev,re,r,rp,chk)
local c=e:GetHandler() if chk==0 then return e:GetHandler():IsCanAddCounter(cm.counter,1)
return c:IsPreviousPosition(POS_FACEUP) and Duel.IsExistingMatchingCard(cm.thfilter,tp,LOCATION_DECK,0,1,nil) end
Duel.SetOperationInfo(0,CATEGORY_COUNTER,e:GetHandler(),1,0,0)
Duel.SetOperationInfo(0,CATEGORY_TOHAND,nil,1,tp,LOCATION_DECK)
end end
function c33330021.tg2(e,tp,eg,ep,ev,re,r,rp,chk,chkc) function cm.thop(e,tp,eg,ep,ev,re,r,rp)
if chk==0 then return true end if not e:GetHandler():IsRelateToEffect(e) then return end
local ct=e:GetLabelObject():GetLabel() if e:GetHandler():AddCounter(cm.counter,1) then
Duel.SetOperationInfo(0,CATEGORY_DAMAGE,nil,0,tp,ct*500) local tc=Duel.GetFirstMatchingCard(cm.thfilter,tp,LOCATION_DECK,0,nil)
Duel.SetOperationInfo(0,CATEGORY_TOHAND,nil,1,tp,LOCATION_DECK+LOCATION_GRAVE) if tc and Duel.SendtoHand(tc,nil,REASON_EFFECT)~=0 then
end Duel.ConfirmCards(1-tp,tc)
function c33330021.op2(e,tp,eg,ep,ev,re,r,rp) end
local ct=e:GetLabelObject():GetLabel()
if Duel.Damage(tp,ct*500,REASON_EFFECT)<=0 then return end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_ATOHAND)
local g=Duel.SelectMatchingCard(tp,aux.NecroValleyFilter(c33330021.filter3),tp,LOCATION_DECK+LOCATION_GRAVE,0,1,1,nil)
if g:GetCount()>0 then
Duel.SendtoHand(g,nil,REASON_EFFECT)
Duel.ConfirmCards(1-tp,g)
end end
end end
function c33330021.filter3(c) --Change Field
return c:IsCode(33330022) and c:IsAbleToHand() function cm.ctop(e,tp,eg,ep,ev,re,r,rp)
e:SetLabel(e:GetHandler():GetCounter(cm.counter))
end end
function c33330021.sfilter(c) function cm.fdfilter1(c)
return c:IsAbleToHand() and c:IsCode(33330006) return c:IsCode(cm.search[2]) and c:IsAbleToHand()
end end
function c33330021.stg(e,tp,eg,ep,ev,re,r,rp,chk) function cm.fdfilter2(c,tp)
if chk==0 then return e:GetHandler():IsCanAddCounter(0x1019,1) and Duel.IsExistingMatchingCard(c33330021.sfilter,tp,LOCATION_GRAVE+LOCATION_DECK,0,1,nil) end return c:IsCode(cm.search[3]) and c:GetActivateEffect():IsActivatable(tp)
Duel.SetOperationInfo(0,CATEGORY_TOHAND,nil,1,tp,LOCATION_DECK+LOCATION_GRAVE)
Duel.SetOperationInfo(0,CATEGORY_COUNTER,nil,1,tp,0)
end end
function c33330021.sop(e,tp,eg,ep,ev,re,r,rp) function cm.fdcon(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler() return e:GetHandler():IsPreviousPosition(POS_FACEUP)
if not c:IsRelateToEffect(e) or c:IsFacedown() then return end
c:AddCounter(0x1019,1)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_ATOHAND)
local g=Duel.SelectMatchingCard(tp,aux.NecroValleyFilter(c33330021.sfilter),tp,LOCATION_GRAVE+LOCATION_DECK,0,1,1,nil)
if g:GetCount()>0 then
Duel.SendtoHand(g,nil,REASON_EFFECT)
Duel.ConfirmCards(1-tp,g)
end
end end
function c33330021.indesval(e,re,rp) function cm.fdtg(e,tp,eg,ep,ev,re,r,rp,chk)
return re:IsActiveType(TYPE_MONSTER) if chk==0 then return true end
end local ct=e:GetLabelObject():GetLabel()
function c33330021.tcost(e,tp,eg,ep,ev,re,r,rp,chk) local sel=0
if chk==0 then return e:GetHandler():IsAbleToGraveAsCost() end if Duel.IsExistingMatchingCard(cm.fdfilter2,tp,LOCATION_DECK+LOCATION_GRAVE,0,1,nil,tp) then
Duel.SendtoGrave(e:GetHandler(),REASON_COST) sel=Duel.SelectOption(tp,aux.Stringid(m,2),aux.Stringid(m,3))+1
end else
function c33330021.filter(c) Duel.SelectOption(tp,aux.Stringid(m,2))
return c:IsCode(33330019) and c:IsAbleToHand() sel=1
end e:SetCategory(CATEGORY_TOHAND+CATEGORY_SEARCH+CATEGORY_DAMAGE)
function c33330021.ttg(e,tp,eg,ep,ev,re,r,rp,chk) Duel.SetOperationInfo(0,CATEGORY_TOHAND,nil,1,tp,LOCATION_DECK+LOCATION_GRAVE)
if chk==0 then return Duel.IsExistingMatchingCard(c33330021.filter,tp,LOCATION_GRAVE+LOCATION_DECK,0,1,nil) end Duel.SetOperationInfo(0,CATEGORY_DAMAGE,nil,1,tp,ct*cm.damage)
Duel.SetOperationInfo(0,CATEGORY_TOHAND,nil,1,tp,LOCATION_GRAVE+LOCATION_DECK)
end
function c33330021.top(e,tp,eg,ep,ev,re,r,rp)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_ATOHAND)
local g=Duel.SelectMatchingCard(tp,aux.NecroValleyFilter(c33330021.filter),tp,LOCATION_GRAVE+LOCATION_DECK,0,1,1,nil)
if g:GetCount()>0 then
Duel.SendtoHand(g,nil,REASON_EFFECT)
Duel.ConfirmCards(1-tp,g)
end end
e:SetLabel(sel)
end end
function cm.fdop(e,tp,eg,ep,ev,re,r,rp)
local sel=e:GetLabel()
local ct=e:GetLabelObject():GetLabel()
e:GetLabelObject():SetLabel(0)
if sel==1 then
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_ATOHAND)
local g=Duel.SelectMatchingCard(tp,aux.NecroValleyFilter(cm.fdfilter1),tp,LOCATION_DECK+LOCATION_GRAVE,0,1,1,nil)
if g:GetCount()>0 and Duel.SendtoHand(g,nil,REASON_EFFECT)~=0 then
Duel.ConfirmCards(1-tp,g)
end
Duel.Damage(tp,ct*cm.damage,REASON_EFFECT)
else
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TOFIELD)
local g=Duel.SelectMatchingCard(tp,aux.NecroValleyFilter(cm.fdfilter2),tp,LOCATION_DECK+LOCATION_GRAVE,0,1,1,nil,tp)
local tc=g:GetFirst()
Duel.MoveToField(tc,tp,tp,LOCATION_SZONE,POS_FACEUP,true)
local te=tc:GetActivateEffect()
local tep=tc:GetControler()
local cost=te:GetCost()
if cost then cost(te,tep,eg,ep,ev,re,r,rp,1) end
tc:AddCounter(cm.counter,ct)
end
end
\ No newline at end of file
--深界三层-大断层 --深界三层-大断层
function c33330022.initial_effect(c) local m=33330022
local cm=_G["c"..m]
cm.search={33330038,33330023} --检 索 对 象
cm.counter=0x1556 --指 示 物
cm.damage=500 --伤 害 倍 数
function cm.initial_effect(c)
c:EnableCounterPermit(cm.counter)
--Activate --Activate
local e0=Effect.CreateEffect(c)
e0:SetDescription(aux.Stringid(33330022,0))
e0:SetType(EFFECT_TYPE_ACTIVATE)
e0:SetCode(EVENT_FREE_CHAIN)
c:RegisterEffect(e0)
--search
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(33330022,1)) e1:SetType(EFFECT_TYPE_ACTIVATE)
e1:SetCategory(CATEGORY_TOHAND+CATEGORY_SEARCH) e1:SetCode(EVENT_FREE_CHAIN)
e1:SetType(EFFECT_TYPE_IGNITION) c:RegisterEffect(e1)
e1:SetRange(LOCATION_HAND) --Special Summon
e1:SetCost(c33330022.tcost)
e1:SetTarget(c33330022.ttg)
e1:SetOperation(c33330022.top)
c:RegisterEffect(e1)
--cannot be target
local e2=Effect.CreateEffect(c) local e2=Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_FIELD) e2:SetDescription(aux.Stringid(m,0))
e2:SetCode(EFFECT_INDESTRUCTABLE_EFFECT) e2:SetCategory(CATEGORY_SPECIAL_SUMMON+CATEGORY_COUNTER)
e2:SetType(EFFECT_TYPE_IGNITION)
e2:SetRange(LOCATION_FZONE) e2:SetRange(LOCATION_FZONE)
e2:SetTargetRange(LOCATION_MZONE,0) e2:SetCountLimit(2)
e2:SetTarget(aux.TargetBoolFunction(Card.IsSetCard,0x556)) e2:SetTarget(cm.sptg)
e2:SetValue(c33330022.indesval) e2:SetOperation(cm.spop)
c:RegisterEffect(e2) c:RegisterEffect(e2)
--s c --Change Field
local e4=Effect.CreateEffect(c)
e4:SetDescription(aux.Stringid(33330022,2))
e4:SetCategory(CATEGORY_SPECIAL_SUMMON+CATEGORY_COUNTER)
e4:SetType(EFFECT_TYPE_IGNITION)
e4:SetRange(LOCATION_FZONE)
e4:SetCountLimit(2)
e4:SetTarget(c33330022.stg)
e4:SetOperation(c33330022.sop)
c:RegisterEffect(e4)
--xxxx
local e3=Effect.CreateEffect(c) local e3=Effect.CreateEffect(c)
e3:SetDescription(aux.Stringid(33330022,3)) e3:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_CONTINUOUS)
e3:SetCategory(CATEGORY_TOHAND+CATEGORY_SEARCH+CATEGORY_DAMAGE) e3:SetCode(EVENT_LEAVE_FIELD_P)
e3:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_F) e3:SetProperty(EFFECT_FLAG_CANNOT_DISABLE)
e3:SetCode(EVENT_LEAVE_FIELD) e3:SetOperation(cm.ctop)
e3:SetProperty(EFFECT_FLAG_DAMAGE_STEP)
e3:SetCondition(c33330022.con2)
e3:SetTarget(c33330022.tg2)
e3:SetOperation(c33330022.op2)
c:RegisterEffect(e3) c:RegisterEffect(e3)
--count local e4=Effect.CreateEffect(c)
local e7=Effect.CreateEffect(c) e4:SetDescription(aux.Stringid(m,1))
e7:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_CONTINUOUS) e4:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_F)
e7:SetCode(EVENT_LEAVE_FIELD_P) e4:SetCode(EVENT_LEAVE_FIELD)
e7:SetOperation(c33330022.contop) e4:SetCountLimit(1,m)
c:RegisterEffect(e7) e4:SetProperty(EFFECT_FLAG_DAMAGE_STEP)
e3:SetLabelObject(e7) e4:SetLabelObject(e3)
end e4:SetCondition(cm.fdcon)
function c33330022.contop(e,tp,eg,ep,ev,re,r,rp) e4:SetTarget(cm.fdtg)
e:SetLabel(e:GetHandler():GetCounter(0x1019)) e4:SetOperation(cm.fdop)
end c:RegisterEffect(e4)
function c33330022.con2(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
return c:IsPreviousPosition(POS_FACEUP)
end
function c33330022.tg2(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
if chk==0 then return true end
local ct=e:GetLabelObject():GetLabel()
Duel.SetOperationInfo(0,CATEGORY_DAMAGE,nil,0,tp,ct*500)
Duel.SetOperationInfo(0,CATEGORY_TOHAND,nil,1,tp,LOCATION_DECK+LOCATION_GRAVE)
end
function c33330022.op2(e,tp,eg,ep,ev,re,r,rp)
local ct=e:GetLabelObject():GetLabel()
if Duel.Damage(tp,ct*500,REASON_EFFECT)<=0 then return end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_ATOHAND)
local g=Duel.SelectMatchingCard(tp,aux.NecroValleyFilter(c33330022.filter3),tp,LOCATION_DECK+LOCATION_GRAVE,0,1,1,nil)
if g:GetCount()>0 then
Duel.SendtoHand(g,nil,REASON_EFFECT)
Duel.ConfirmCards(1-tp,g)
end
end
function c33330022.filter3(c)
return c:IsCode(33330023) and c:IsAbleToHand()
end end
function c33330022.sfilter(c,e,tp) cm.card_code_list=cm.search
return c:IsSetCard(0x556) and c:IsCanBeSpecialSummoned(e,0,tp,false,false) --Special Summon
function cm.spfilter(c,e,tp)
return c:IsSetCard(0x556) and c:IsType(TYPE_MONSTER)
and c:IsCanBeSpecialSummoned(e,0,tp,false,false)
end end
function c33330022.stg(e,tp,eg,ep,ev,re,r,rp,chk) function cm.sptg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return e:GetHandler():IsCanAddCounter(0x1019,1) and Duel.GetLocationCount(tp,LOCATION_MZONE)>0 if chk==0 then return Duel.GetMZoneCount(tp)>0 and e:GetHandler():IsCanAddCounter(cm.counter,1)
and Duel.IsExistingMatchingCard(c33330022.sfilter,tp,LOCATION_HAND,0,1,nil,e,tp) end and Duel.IsExistingMatchingCard(cm.spfilter,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)
Duel.SetOperationInfo(0,CATEGORY_COUNTER,nil,1,tp,0) Duel.SetOperationInfo(0,CATEGORY_COUNTER,e:GetHandler(),1,0,0)
end end
function c33330022.sop(e,tp,eg,ep,ev,re,r,rp) function cm.spop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler() if Duel.GetMZoneCount(tp)<1 then return end
if not c:IsRelateToEffect(e) or c:IsFacedown() then return end
c:AddCounter(0x1019,1)
if Duel.GetLocationCount(tp,LOCATION_MZONE)<=0 then return end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON)
local g=Duel.SelectMatchingCard(tp,c33330022.sfilter,tp,LOCATION_HAND,0,1,1,nil,e,tp) local g=Duel.SelectMatchingCard(tp,cm.spfilter,tp,LOCATION_HAND,0,1,1,nil,e,tp)
if g:GetCount()>0 and Duel.SpecialSummon(g,0,tp,tp,false,false,POS_FACEUP)~=0 then if g:GetCount()>0 and Duel.SpecialSummon(g,0,tp,tp,false,false,POS_FACEUP)~=0 then
g:GetFirst():AddCounter(0x1019,1) e:GetHandler():AddCounter(cm.counter,1)
g:GetFirst():AddCounter(cm.counter,1)
end end
end end
function c33330022.indesval(e,re,rp) --Change Field
return re:IsActiveType(TYPE_SPELL+TYPE_TRAP) function cm.ctop(e,tp,eg,ep,ev,re,r,rp)
e:SetLabel(e:GetHandler():GetCounter(cm.counter))
end end
function c33330022.tcost(e,tp,eg,ep,ev,re,r,rp,chk) function cm.fdfilter1(c)
if chk==0 then return e:GetHandler():IsAbleToGraveAsCost() end return c:IsCode(cm.search[1]) and c:IsAbleToHand()
Duel.SendtoGrave(e:GetHandler(),REASON_COST)
end end
function c33330022.filter(c) function cm.fdfilter2(c,tp)
return c:IsCode(33330019) and c:IsAbleToHand() return c:IsCode(cm.search[2]) and c:GetActivateEffect():IsActivatable(tp)
end end
function c33330022.ttg(e,tp,eg,ep,ev,re,r,rp,chk) function cm.fdcon(e,tp,eg,ep,ev,re,r,rp)
if chk==0 then return Duel.IsExistingMatchingCard(c33330022.filter,tp,LOCATION_GRAVE+LOCATION_DECK,0,1,nil) end return e:GetHandler():IsPreviousPosition(POS_FACEUP)
Duel.SetOperationInfo(0,CATEGORY_TOHAND,nil,1,tp,LOCATION_GRAVE+LOCATION_DECK)
end end
function c33330022.top(e,tp,eg,ep,ev,re,r,rp) function cm.fdtg(e,tp,eg,ep,ev,re,r,rp,chk)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_ATOHAND) if chk==0 then return true end
local g=Duel.SelectMatchingCard(tp,aux.NecroValleyFilter(c33330022.filter),tp,LOCATION_GRAVE+LOCATION_DECK,0,1,1,nil) local ct=e:GetLabelObject():GetLabel()
if g:GetCount()>0 then local sel=0
Duel.SendtoHand(g,nil,REASON_EFFECT) if Duel.IsExistingMatchingCard(cm.fdfilter2,tp,LOCATION_DECK+LOCATION_GRAVE,0,1,nil,tp) then
Duel.ConfirmCards(1-tp,g) sel=Duel.SelectOption(tp,aux.Stringid(m,2),aux.Stringid(m,3))+1
else
Duel.SelectOption(tp,aux.Stringid(m,2))
sel=1
e:SetCategory(CATEGORY_TOHAND+CATEGORY_SEARCH+CATEGORY_DAMAGE)
Duel.SetOperationInfo(0,CATEGORY_TOHAND,nil,1,tp,LOCATION_DECK+LOCATION_GRAVE)
Duel.SetOperationInfo(0,CATEGORY_DAMAGE,nil,1,tp,ct*cm.damage)
end end
e:SetLabel(sel)
end end
function cm.fdop(e,tp,eg,ep,ev,re,r,rp)
local sel=e:GetLabel()
local ct=e:GetLabelObject():GetLabel()
e:GetLabelObject():SetLabel(0)
if sel==1 then
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_ATOHAND)
local g=Duel.SelectMatchingCard(tp,aux.NecroValleyFilter(cm.fdfilter1),tp,LOCATION_DECK+LOCATION_GRAVE,0,1,1,nil)
if g:GetCount()>0 and Duel.SendtoHand(g,nil,REASON_EFFECT)~=0 then
Duel.ConfirmCards(1-tp,g)
end
Duel.Damage(tp,ct*cm.damage,REASON_EFFECT)
else
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TOFIELD)
local g=Duel.SelectMatchingCard(tp,aux.NecroValleyFilter(cm.fdfilter2),tp,LOCATION_DECK+LOCATION_GRAVE,0,1,1,nil,tp)
local tc=g:GetFirst()
Duel.MoveToField(tc,tp,tp,LOCATION_SZONE,POS_FACEUP,true)
local te=tc:GetActivateEffect()
local tep=tc:GetControler()
local cost=te:GetCost()
if cost then cost(te,tep,eg,ep,ev,re,r,rp,1) end
tc:AddCounter(cm.counter,ct)
end
end
\ No newline at end of file
--深界三层-大断层 --深界三层-大断层
function c33330023.initial_effect(c) local m=33330023
local cm=_G["c"..m]
cm.search={33330038,33330000} --检 索 对 象
cm.counter=0x1556 --指 示 物
cm.damage=1250 --伤 害 倍 数
function cm.initial_effect(c)
c:EnableCounterPermit(cm.counter)
--Activate --Activate
local e0=Effect.CreateEffect(c)
e0:SetDescription(aux.Stringid(33330023,0))
e0:SetType(EFFECT_TYPE_ACTIVATE)
e0:SetCode(EVENT_FREE_CHAIN)
c:RegisterEffect(e0)
--search
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(33330023,1)) e1:SetType(EFFECT_TYPE_ACTIVATE)
e1:SetCategory(CATEGORY_TOHAND+CATEGORY_SEARCH) e1:SetCode(EVENT_FREE_CHAIN)
e1:SetType(EFFECT_TYPE_IGNITION) c:RegisterEffect(e1)
e1:SetRange(LOCATION_HAND) --Special Summon
e1:SetCost(c33330023.tcost)
e1:SetTarget(c33330023.ttg)
e1:SetOperation(c33330023.top)
c:RegisterEffect(e1)
--cannot be target
local e2=Effect.CreateEffect(c) local e2=Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_FIELD) e2:SetDescription(aux.Stringid(m,0))
e2:SetCode(EFFECT_CANNOT_REMOVE) e2:SetCategory(CATEGORY_COUNTER+CATEGORY_SPECIAL_SUMMON+CATEGORY_DAMAGE)
e2:SetType(EFFECT_TYPE_IGNITION)
e2:SetRange(LOCATION_FZONE) e2:SetRange(LOCATION_FZONE)
e2:SetTargetRange(LOCATION_MZONE,0) e2:SetCountLimit(1)
e2:SetTarget(aux.TargetBoolFunction(Card.IsSetCard,0x556)) e2:SetTarget(cm.sptg)
e2:SetValue(1) e2:SetOperation(cm.spop)
c:RegisterEffect(e2) c:RegisterEffect(e2)
--s c --Change Field
local e4=Effect.CreateEffect(c)
e4:SetDescription(aux.Stringid(33330023,2))
e4:SetCategory(CATEGORY_SPECIAL_SUMMON+CATEGORY_COUNTER)
e4:SetType(EFFECT_TYPE_IGNITION)
e4:SetRange(LOCATION_FZONE)
e4:SetCountLimit(1,33330023)
e4:SetTarget(c33330023.stg)
e4:SetOperation(c33330023.sop)
c:RegisterEffect(e4)
--xxxx
local e3=Effect.CreateEffect(c) local e3=Effect.CreateEffect(c)
e3:SetDescription(aux.Stringid(33330023,3)) e3:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_CONTINUOUS)
e3:SetCategory(CATEGORY_TOHAND+CATEGORY_SEARCH+CATEGORY_DAMAGE) e3:SetCode(EVENT_LEAVE_FIELD_P)
e3:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_F) e3:SetProperty(EFFECT_FLAG_CANNOT_DISABLE)
e3:SetCode(EVENT_LEAVE_FIELD) e3:SetOperation(cm.ctop)
e3:SetProperty(EFFECT_FLAG_DAMAGE_STEP)
e3:SetCondition(c33330023.con2)
e3:SetTarget(c33330023.tg2)
e3:SetOperation(c33330023.op2)
c:RegisterEffect(e3) c:RegisterEffect(e3)
--count local e4=Effect.CreateEffect(c)
local e7=Effect.CreateEffect(c) e4:SetDescription(aux.Stringid(m,1))
e7:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_CONTINUOUS) e4:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_F)
e7:SetCode(EVENT_LEAVE_FIELD_P) e4:SetCode(EVENT_LEAVE_FIELD)
e7:SetOperation(c33330023.contop) e4:SetCountLimit(1,m)
c:RegisterEffect(e7) e4:SetProperty(EFFECT_FLAG_DAMAGE_STEP)
e3:SetLabelObject(e7) e4:SetLabelObject(e3)
end e4:SetCondition(cm.fdcon)
function c33330023.contop(e,tp,eg,ep,ev,re,r,rp) e4:SetTarget(cm.fdtg)
e:SetLabel(e:GetHandler():GetCounter(0x1019)) e4:SetOperation(cm.fdop)
end c:RegisterEffect(e4)
function c33330023.con2(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
return c:IsPreviousPosition(POS_FACEUP)
end
function c33330023.tg2(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
if chk==0 then return true end
local ct=e:GetLabelObject():GetLabel()
Duel.SetOperationInfo(0,CATEGORY_DAMAGE,nil,0,tp,ct*2000)
Duel.SetOperationInfo(0,CATEGORY_TOHAND,nil,1,tp,LOCATION_DECK+LOCATION_GRAVE)
end
function c33330023.op2(e,tp,eg,ep,ev,re,r,rp)
local ct=e:GetLabelObject():GetLabel()
if Duel.Damage(tp,ct*2000,REASON_EFFECT)<=0 then return end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_ATOHAND)
local g=Duel.SelectMatchingCard(tp,aux.NecroValleyFilter(c33330023.filter3),tp,LOCATION_DECK+LOCATION_GRAVE,0,1,1,nil)
if g:GetCount()>0 then
Duel.SendtoHand(g,nil,REASON_EFFECT)
Duel.ConfirmCards(1-tp,g)
end
end
function c33330023.filter3(c)
return c:IsCode(33330024) and c:IsAbleToHand()
end end
function c33330023.sfilter(c,e,tp) cm.card_code_list=cm.search
return c:IsSetCard(0x556) and c:IsCanBeSpecialSummoned(e,0,tp,false,false) --Special Summon
function cm.spfilter(c,e,tp)
return c:IsSetCard(0x556) and c:IsType(TYPE_MONSTER)
and c:IsCanBeSpecialSummoned(e,0,tp,false,false)
end end
function c33330023.stg(e,tp,eg,ep,ev,re,r,rp,chk) function cm.sptg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return e:GetHandler():IsCanAddCounter(0x1019,1) and Duel.GetLocationCountFromEx(tp)>0 if chk==0 then return Duel.GetLocationCountFromEx(tp)>0 and e:GetHandler():IsCanAddCounter(cm.counter,1)
and Duel.IsExistingMatchingCard(c33330023.sfilter,tp,LOCATION_EXTRA,0,1,nil,e,tp) end and Duel.IsExistingMatchingCard(cm.spfilter,tp,LOCATION_EXTRA,0,1,nil,e,tp) end
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,1,tp,LOCATION_EXTRA) Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,1,tp,LOCATION_EXTRA)
Duel.SetOperationInfo(0,CATEGORY_COUNTER,nil,1,tp,0) Duel.SetOperationInfo(0,CATEGORY_COUNTER,e:GetHandler(),1,0,0)
Duel.SetOperationInfo(0,CATEGORY_DAMAGE,nil,0,tp,0)
end end
function c33330023.sop(e,tp,eg,ep,ev,re,r,rp) function cm.spop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler() if Duel.GetLocationCountFromEx(tp)>0 and e:GetHandler():AddCounter(cm.counter,1) then
if not c:IsRelateToEffect(e) or c:IsFacedown() then return end Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON)
c:AddCounter(0x1019,1) local g=Duel.SelectMatchingCard(tp,cm.spfilter,tp,LOCATION_EXTRA,0,1,1,nil,e,tp)
if Duel.GetLocationCountFromEx(tp)<=0 then return end if g:GetCount()>0 and Duel.SpecialSummon(g,0,tp,tp,false,false,POS_FACEUP)~=0 then
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON) Duel.Damage(tp,g:GetFirst():GetBaseAttack(),REASON_EFFECT)
local g=Duel.SelectMatchingCard(tp,c33330023.sfilter,tp,LOCATION_EXTRA,0,1,1,nil,e,tp) end
if g:GetCount()>0 and Duel.SpecialSummon(g,0,tp,tp,false,false,POS_FACEUP)~=0 then
g:GetFirst():AddCounter(0x1019,1)
end end
local e1=Effect.CreateEffect(e:GetHandler())
e1:SetType(EFFECT_TYPE_FIELD)
e1:SetCode(EFFECT_CANNOT_SPECIAL_SUMMON)
e1:SetProperty(EFFECT_FLAG_PLAYER_TARGET)
e1:SetTargetRange(1,0)
e1:SetTarget(cm.splimit)
e1:SetReset(RESET_PHASE+PHASE_END)
Duel.RegisterEffect(e1,tp)
end
function cm.splimit(e,c)
return not c:IsSetCard(0x556)
end end
function c33330023.indesval(e,re,rp) --Change Field
return re:IsActiveType(TYPE_SPELL+TYPE_TRAP) function cm.ctop(e,tp,eg,ep,ev,re,r,rp)
e:SetLabel(e:GetHandler():GetCounter(cm.counter))
end end
function c33330023.tcost(e,tp,eg,ep,ev,re,r,rp,chk) function cm.fdfilter1(c)
if chk==0 then return e:GetHandler():IsAbleToGraveAsCost() end return c:IsCode(cm.search[1]) and c:IsAbleToHand()
Duel.SendtoGrave(e:GetHandler(),REASON_COST)
end end
function c33330023.filter(c) function cm.fdfilter2(c,tp)
return c:IsCode(33330019) and c:IsAbleToHand() return c:IsCode(cm.search[2]) and c:GetActivateEffect():IsActivatable(tp)
end end
function c33330023.ttg(e,tp,eg,ep,ev,re,r,rp,chk) function cm.fdcon(e,tp,eg,ep,ev,re,r,rp)
if chk==0 then return Duel.IsExistingMatchingCard(c33330023.filter,tp,LOCATION_GRAVE+LOCATION_DECK,0,1,nil) end return e:GetHandler():IsPreviousPosition(POS_FACEUP)
Duel.SetOperationInfo(0,CATEGORY_TOHAND,nil,1,tp,LOCATION_GRAVE+LOCATION_DECK)
end end
function c33330023.top(e,tp,eg,ep,ev,re,r,rp) function cm.fdtg(e,tp,eg,ep,ev,re,r,rp,chk)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_ATOHAND) if chk==0 then return true end
local g=Duel.SelectMatchingCard(tp,aux.NecroValleyFilter(c33330023.filter),tp,LOCATION_GRAVE+LOCATION_DECK,0,1,1,nil) local ct=e:GetLabelObject():GetLabel()
if g:GetCount()>0 then local sel=0
Duel.SendtoHand(g,nil,REASON_EFFECT) if Duel.IsExistingMatchingCard(cm.fdfilter2,tp,LOCATION_DECK+LOCATION_GRAVE,0,1,nil,tp) then
Duel.ConfirmCards(1-tp,g) sel=Duel.SelectOption(tp,aux.Stringid(m,2),aux.Stringid(m,3))+1
else
Duel.SelectOption(tp,aux.Stringid(m,2))
sel=1
e:SetCategory(CATEGORY_TOHAND+CATEGORY_SEARCH+CATEGORY_DAMAGE)
Duel.SetOperationInfo(0,CATEGORY_TOHAND,nil,1,tp,LOCATION_DECK+LOCATION_GRAVE)
Duel.SetOperationInfo(0,CATEGORY_DAMAGE,nil,1,tp,ct*cm.damage)
end end
e:SetLabel(sel)
end end
function cm.fdop(e,tp,eg,ep,ev,re,r,rp)
local sel=e:GetLabel()
local ct=e:GetLabelObject():GetLabel()
e:GetLabelObject():SetLabel(0)
if sel==1 then
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_ATOHAND)
local g=Duel.SelectMatchingCard(tp,aux.NecroValleyFilter(cm.fdfilter1),tp,LOCATION_DECK+LOCATION_GRAVE,0,1,1,nil)
if g:GetCount()>0 and Duel.SendtoHand(g,nil,REASON_EFFECT)~=0 then
Duel.ConfirmCards(1-tp,g)
end
Duel.Damage(tp,ct*cm.damage,REASON_EFFECT)
else
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TOFIELD)
local g=Duel.SelectMatchingCard(tp,aux.NecroValleyFilter(cm.fdfilter2),tp,LOCATION_DECK+LOCATION_GRAVE,0,1,1,nil,tp)
local tc=g:GetFirst()
Duel.MoveToField(tc,tp,tp,LOCATION_SZONE,POS_FACEUP,true)
local te=tc:GetActivateEffect()
local tep=tc:GetControler()
local cost=te:GetCost()
if cost then cost(te,tep,eg,ep,ev,re,r,rp,1) end
tc:AddCounter(cm.counter,ct)
end
end
\ No newline at end of file
--深界三层-大断层 --深界三层-大断层
function c33330024.initial_effect(c) local m=33330024
local cm=_G["c"..m]
cm.search={33330038,33330025} --检 索 对 象
cm.counter=0x1556 --指 示 物
cm.atk=500 --攻 击 上 升
cm.damage=1000 --伤 害 倍 数
function cm.initial_effect(c)
c:EnableCounterPermit(cm.counter)
--Activate --Activate
local e0=Effect.CreateEffect(c)
e0:SetDescription(aux.Stringid(33330024,0))
e0:SetType(EFFECT_TYPE_ACTIVATE)
e0:SetCode(EVENT_FREE_CHAIN)
c:RegisterEffect(e0)
--search
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(33330024,1)) e1:SetDescription(aux.Stringid(m,0))
e1:SetCategory(CATEGORY_TOHAND+CATEGORY_SEARCH) e1:SetType(EFFECT_TYPE_ACTIVATE)
e1:SetType(EFFECT_TYPE_IGNITION) e1:SetCode(EVENT_FREE_CHAIN)
e1:SetRange(LOCATION_HAND) c:RegisterEffect(e1)
e1:SetCost(c33330024.tcost) --Search
e1:SetTarget(c33330024.ttg)
e1:SetOperation(c33330024.top)
c:RegisterEffect(e1)
--Atk
local e2=Effect.CreateEffect(c) local e2=Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_FIELD) e2:SetDescription(aux.Stringid(m,1))
e2:SetCode(EFFECT_UPDATE_ATTACK) e2:SetCategory(CATEGORY_TOHAND+CATEGORY_SEARCH)
e2:SetRange(LOCATION_FZONE) e2:SetType(EFFECT_TYPE_IGNITION)
e2:SetTargetRange(LOCATION_MZONE,0) e2:SetRange(LOCATION_HAND)
e2:SetTarget(aux.TargetBoolFunction(Card.IsSetCard,0x556)) e2:SetCost(cm.thcost)
e2:SetValue(500) e2:SetTarget(cm.thtg)
e2:SetOperation(cm.thop)
c:RegisterEffect(e2) c:RegisterEffect(e2)
--s c --Atk Up
local e3=Effect.CreateEffect(c)
e3:SetType(EFFECT_TYPE_FIELD)
e3:SetCode(EFFECT_UPDATE_ATTACK)
e3:SetRange(LOCATION_FZONE)
e3:SetTargetRange(LOCATION_MZONE,0)
e3:SetTarget(aux.TargetBoolFunction(Card.IsSetCard,0x556))
e3:SetValue(cm.atk)
c:RegisterEffect(e3)
--Draw
local e4=Effect.CreateEffect(c) local e4=Effect.CreateEffect(c)
e4:SetDescription(aux.Stringid(33330024,2)) e4:SetDescription(aux.Stringid(m,2))
e4:SetCategory(CATEGORY_TOGRAVE+CATEGORY_COUNTER+CATEGORY_DRAW) e4:SetCategory(CATEGORY_TOGRAVE+CATEGORY_COUNTER+CATEGORY_DRAW)
e4:SetType(EFFECT_TYPE_IGNITION) e4:SetType(EFFECT_TYPE_IGNITION)
e4:SetRange(LOCATION_FZONE) e4:SetRange(LOCATION_FZONE)
e4:SetCountLimit(1,33330024) e4:SetCountLimit(1)
e4:SetTarget(c33330024.stg) e4:SetTarget(cm.drtg)
e4:SetOperation(c33330024.sop) e4:SetOperation(cm.drop)
c:RegisterEffect(e4) c:RegisterEffect(e4)
--xxxx --Count
local e3=Effect.CreateEffect(c) local e5=Effect.CreateEffect(c)
e3:SetDescription(aux.Stringid(33330024,3)) e5:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_CONTINUOUS)
e3:SetCategory(CATEGORY_TOHAND+CATEGORY_SEARCH+CATEGORY_DAMAGE) e5:SetCode(EVENT_LEAVE_FIELD_P)
e3:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_F) e5:SetOperation(cm.ctop)
e3:SetCode(EVENT_LEAVE_FIELD) c:RegisterEffect(e5)
e3:SetProperty(EFFECT_FLAG_DAMAGE_STEP) --To Hand
e3:SetCondition(c33330024.con2) local e6=Effect.CreateEffect(c)
e3:SetTarget(c33330024.tg2) e6:SetDescription(aux.Stringid(m,3))
e3:SetOperation(c33330024.op2) e6:SetCategory(CATEGORY_TOHAND+CATEGORY_SEARCH+CATEGORY_DAMAGE)
c:RegisterEffect(e3) e6:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_F)
--count e6:SetCode(EVENT_LEAVE_FIELD)
local e7=Effect.CreateEffect(c) e6:SetProperty(EFFECT_FLAG_DAMAGE_STEP)
e7:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_CONTINUOUS) e6:SetLabelObject(e5)
e7:SetCode(EVENT_LEAVE_FIELD_P) e6:SetCondition(cm.sccon)
e7:SetOperation(c33330024.contop) e6:SetTarget(cm.sctg)
c:RegisterEffect(e7) e6:SetOperation(cm.scop)
e3:SetLabelObject(e7) c:RegisterEffect(e6)
end end
function c33330024.contop(e,tp,eg,ep,ev,re,r,rp) cm.card_code_list=cm.search
e:SetLabel(e:GetHandler():GetCounter(0x1019)) --Search
function cm.thfilter(c)
return c:IsCode(cm.search[1]) and c:IsAbleToHand()
end end
function c33330024.con2(e,tp,eg,ep,ev,re,r,rp) function cm.thcost(e,tp,eg,ep,ev,re,r,rp,chk)
local c=e:GetHandler() if chk==0 then return e:GetHandler():IsAbleToGraveAsCost() end
return c:IsPreviousPosition(POS_FACEUP) Duel.SendtoGrave(e:GetHandler(),REASON_COST)
end end
function c33330024.tg2(e,tp,eg,ep,ev,re,r,rp,chk,chkc) function cm.thtg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return true end if chk==0 then return Duel.IsExistingMatchingCard(cm.thfilter,tp,LOCATION_DECK+LOCATION_GRAVE,0,1,nil) end
local ct=e:GetLabelObject():GetLabel()
Duel.SetOperationInfo(0,CATEGORY_DAMAGE,nil,0,1-tp,ct*1000)
Duel.SetOperationInfo(0,CATEGORY_TOHAND,nil,1,tp,LOCATION_DECK+LOCATION_GRAVE) Duel.SetOperationInfo(0,CATEGORY_TOHAND,nil,1,tp,LOCATION_DECK+LOCATION_GRAVE)
end end
function c33330024.op2(e,tp,eg,ep,ev,re,r,rp) function cm.thop(e,tp,eg,ep,ev,re,r,rp)
local ct=e:GetLabelObject():GetLabel()
if Duel.Damage(1-tp,ct*1000,REASON_EFFECT)<=0 then return end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_ATOHAND) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_ATOHAND)
local g=Duel.SelectMatchingCard(tp,aux.NecroValleyFilter(c33330024.filter3),tp,LOCATION_DECK+LOCATION_GRAVE,0,1,1,nil) local g=Duel.SelectMatchingCard(tp,aux.NecroValleyFilter(cm.thfilter),tp,LOCATION_DECK+LOCATION_GRAVE,0,1,1,nil)
if g:GetCount()>0 then if g:GetCount()>0 and Duel.SendtoHand(g,nil,REASON_EFFECT)~=0 then
Duel.SendtoHand(g,nil,REASON_EFFECT)
Duel.ConfirmCards(1-tp,g) Duel.ConfirmCards(1-tp,g)
end end
end end
function c33330024.filter3(c) --Draw
return c:IsCode(33330025) and c:IsAbleToHand() function cm.drfilter(c)
end
function c33330024.sfilter(c)
return c:IsSetCard(0x556) and c:IsAbleToGrave() return c:IsSetCard(0x556) and c:IsAbleToGrave()
end end
function c33330024.stg(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 e:GetHandler():IsCanAddCounter(0x1019,1) and Duel.IsPlayerCanDraw(tp,1) and Duel.IsExistingMatchingCard(c33330024.sfilter,tp,LOCATION_EXTRA,0,1,nil) end if chk==0 then return e:GetHandler():IsCanAddCounter(cm.counter,1)
Duel.SetOperationInfo(0,CATEGORY_TOGRAVE,nil,1,tp,LOCATION_EXTRA) and Duel.IsExistingMatchingCard(cm.drfilter,tp,LOCATION_EXTRA,0,1,nil) and Duel.IsPlayerCanDraw(tp,1) end
Duel.SetOperationInfo(0,CATEGORY_COUNTER,nil,1,tp,0) Duel.SetOperationInfo(0,CATEGORY_COUNTER,nil,1,tp,0)
Duel.SetOperationInfo(0,CATEGORY_TOGRAVE,nil,1,tp,LOCATION_EXTRA)
Duel.SetOperationInfo(0,CATEGORY_DRAW,nil,0,tp,1) Duel.SetOperationInfo(0,CATEGORY_DRAW,nil,0,tp,1)
end end
function c33330024.sop(e,tp,eg,ep,ev,re,r,rp) function cm.drop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler() local c=e:GetHandler()
if not c:IsRelateToEffect(e) or c:IsFacedown() then return end if not c:IsRelateToEffect(e) or c:IsFacedown() or not c:AddCounter(cm.counter,1) then return end
c:AddCounter(0x1019,1) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TOGRAVE)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON) local g=Duel.SelectMatchingCard(tp,cm.drfilter,tp,LOCATION_EXTRA,0,1,1,nil)
local g=Duel.SelectMatchingCard(tp,c33330024.sfilter,tp,LOCATION_EXTRA,0,1,1,nil) if g:GetCount()>0 and Duel.SendtoGrave(g,REASON_EFFECT)~=0 then
if g:GetCount()>0 and Duel.SendtoGrave(g,REASON_EFFECT) then Duel.BreakEffect()
Duel.Draw(tp,1,REASON_EFFECT) Duel.Draw(tp,1,REASON_EFFECT)
end end
end end
function c33330024.indesval(e,re,rp) --Count
return re:IsActiveType(TYPE_SPELL+TYPE_TRAP) function cm.ctop(e,tp,eg,ep,ev,re,r,rp)
e:SetLabel(e:GetHandler():GetCounter(cm.counter))
end end
function c33330024.tcost(e,tp,eg,ep,ev,re,r,rp,chk) --To Hand
if chk==0 then return e:GetHandler():IsAbleToGraveAsCost() end function cm.scfilter(c)
Duel.SendtoGrave(e:GetHandler(),REASON_COST) return c:IsCode(cm.search[2]) and c:IsAbleToHand()
end end
function c33330024.filter(c) function cm.sccon(e,tp,eg,ep,ev,re,r,rp)
return c:IsCode(33330019) and c:IsAbleToHand() return e:GetHandler():IsPreviousPosition(POS_FACEUP)
end end
function c33330024.ttg(e,tp,eg,ep,ev,re,r,rp,chk) function cm.sctg(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
if chk==0 then return Duel.IsExistingMatchingCard(c33330024.filter,tp,LOCATION_GRAVE+LOCATION_DECK,0,1,nil) end if chk==0 then return true end
Duel.SetOperationInfo(0,CATEGORY_TOHAND,nil,1,tp,LOCATION_GRAVE+LOCATION_DECK) local ct=e:GetLabelObject():GetLabel()
Duel.SetOperationInfo(0,CATEGORY_DAMAGE,nil,0,tp,ct*cm.damage)
Duel.SetOperationInfo(0,CATEGORY_TOHAND,nil,1,tp,LOCATION_DECK+LOCATION_GRAVE)
end end
function c33330024.top(e,tp,eg,ep,ev,re,r,rp) function cm.scop(e,tp,eg,ep,ev,re,r,rp)
local ct=e:GetLabelObject():GetLabel()
if Duel.Damage(tp,ct*cm.damage,REASON_EFFECT)==0 then return end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_ATOHAND) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_ATOHAND)
local g=Duel.SelectMatchingCard(tp,aux.NecroValleyFilter(c33330024.filter),tp,LOCATION_GRAVE+LOCATION_DECK,0,1,1,nil) local g=Duel.SelectMatchingCard(tp,aux.NecroValleyFilter(cm.scfilter),tp,LOCATION_DECK+LOCATION_GRAVE,0,1,1,nil)
if g:GetCount()>0 then if g:GetCount()>0 and Duel.SendtoHand(g,nil,REASON_EFFECT)~=0 then
Duel.SendtoHand(g,nil,REASON_EFFECT) Duel.ConfirmCards(tp,g)
Duel.ConfirmCards(1-tp,g)
end end
end end
\ No newline at end of file
--绝界行 --绝界行
function c33330025.initial_effect(c) local m=33330025
local cm=_G["c"..m]
function cm.initial_effect(c)
--Activate --Activate
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_ACTIVATE) e1:SetType(EFFECT_TYPE_ACTIVATE)
e1:SetCode(EVENT_FREE_CHAIN) e1:SetCode(EVENT_FREE_CHAIN)
c:RegisterEffect(e1) c:RegisterEffect(e1)
--extra summon --Extra Summon
local e2=Effect.CreateEffect(c) local e2=Effect.CreateEffect(c)
e2:SetDescription(aux.Stringid(m,0))
e2:SetType(EFFECT_TYPE_FIELD) e2:SetType(EFFECT_TYPE_FIELD)
e2:SetCode(EFFECT_EXTRA_SUMMON_COUNT) e2:SetCode(EFFECT_EXTRA_SUMMON_COUNT)
e2:SetRange(LOCATION_SZONE) e2:SetRange(LOCATION_SZONE)
e2:SetTargetRange(LOCATION_HAND+LOCATION_MZONE,0) e2:SetTargetRange(LOCATION_HAND+LOCATION_MZONE,0)
e2:SetTarget(aux.TargetBoolFunction(Card.IsSetCard,0x556)) e2:SetTarget(aux.TargetBoolFunction(Card.IsSetCard,0x556))
c:RegisterEffect(e2) c:RegisterEffect(e2)
--lock draw --Send Deck Top
local e7=Effect.CreateEffect(c) local e3=Effect.CreateEffect(c)
e7:SetDescription(aux.Stringid(33330025,0)) e3:SetDescription(aux.Stringid(m,1))
e7:SetCategory(CATEGORY_TODECK) e3:SetCategory(CATEGORY_TODECK)
e7:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_O) e3:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_O)
e7:SetProperty(EFFECT_FLAG_DELAY) e3:SetCode(EVENT_TO_GRAVE)
e7:SetCode(EVENT_TO_GRAVE) e3:SetCondition(cm.tdcon)
e7:SetCondition(c33330025.drcon) e3:SetTarget(cm.tdtg)
e7:SetTarget(c33330025.drtg) e3:SetOperation(cm.tdop)
e7:SetOperation(c33330025.drop) c:RegisterEffect(e3)
c:RegisterEffect(e7)
end end
function c33330025.drcon(e,tp,eg,ep,ev,re,r,rp) --Send Deck Top
return e:GetHandler():IsPreviousLocation(LOCATION_ONFIELD) function cm.tdfilter(c)
return c:IsSetCard(0x556) and c:IsType(TYPE_FIELD) and c:IsAbleToDeck()
end end
function c33330025.tdfilter(c) function cm.tdcon(e,tp,eg,ep,ev,re,r,rp)
return c:IsType(TYPE_FIELD) and c:IsSetCard(0x556) and c:IsAbleToDeck() return e:GetHandler():IsPreviousLocation(LOCATION_ONFIELD)
end end
function c33330025.drtg(e,tp,eg,ep,ev,re,r,rp,chk) function cm.tdtg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(c33330025.tdfilter,tp,LOCATION_GRAVE,0,1,nil) end if chk==0 then return Duel.IsExistingMatchingCard(cm.tdfilter,tp,LOCATION_GRAVE,0,1,nil) end
local g=Duel.GetMatchingGroup(c33330025.tdfilter,tp,LOCATION_GRAVE,0,nil) local g=Duel.GetMatchingGroup(cm.tdfilter,tp,LOCATION_GRAVE,0,nil)
Duel.SetOperationInfo(0,CATEGORY_TODECK,g,g:GetCount(),tp,LOCATION_GRAVE) Duel.SetOperationInfo(0,CATEGORY_TODECK,g,g:GetCount(),0,0)
end end
function c33330025.drop(e,tp,eg,ep,ev,re,r,rp) function cm.tdop(e,tp,eg,ep,ev,re,r,rp)
local g=Duel.GetMatchingGroup(c33330025.tdfilter,tp,LOCATION_GRAVE,0,nil) local g=Duel.GetMatchingGroup(cm.tdfilter,tp,LOCATION_GRAVE,0,nil)
if g:GetCount()<=0 then return end if g:GetCount()>0 and Duel.SendtoDeck(g,1-tp,0,REASON_EFFECT)~=0 then
if Duel.SendtoDeck(g,1-tp,0,REASON_EFFECT)==0 then return end local sg=Duel.GetOperatedGroup()
local sg=Duel.GetOperatedGroup() local ct=0
for tc in aux.Next(sg) do for tc in aux.Next(sg) do
if tc:IsLocation(LOCATION_DECK) then if tc:IsLocation(LOCATION_DECK) then
tc:ReverseInDeck() tc:ReverseInDeck()
ct=ct+1
end
end end
Duel.SortDecktop(tp,1-tp,ct)
end end
end end
\ No newline at end of file
--深界的诅咒 --深界的诅咒
function c33330026.initial_effect(c) local m=33330026
local cm=_G["c"..m]
function cm.initial_effect(c)
--Activate --Activate
local e1=Effect.CreateEffect(c) local e1=aux.AddRitualProcGreater2(c,cm.ritual_filter,LOCATION_HAND+LOCATION_DECK)
e1:SetCategory(CATEGORY_SPECIAL_SUMMON) e1:SetCountLimit(1,m+EFFECT_COUNT_CODE_OATH)
e1:SetType(EFFECT_TYPE_ACTIVATE) --Destroy Replace
e1:SetCode(EVENT_FREE_CHAIN)
e1:SetTarget(c33330026.target)
e1:SetOperation(c33330026.activate)
c:RegisterEffect(e1)
--destroy replace
local e2=Effect.CreateEffect(c) local e2=Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS) e2:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
e2:SetCode(EFFECT_DESTROY_REPLACE) e2:SetCode(EFFECT_DESTROY_REPLACE)
e2:SetRange(LOCATION_GRAVE) e2:SetRange(LOCATION_GRAVE)
e2:SetTarget(c33330026.reptg) e2:SetTarget(cm.reptg)
e2:SetValue(c33330026.repval) e2:SetValue(cm.repval)
e2:SetOperation(c33330026.repop) e2:SetOperation(cm.repop)
c:RegisterEffect(e2) c:RegisterEffect(e2)
end end
c33330026.fit_monster={33330015} --Activate
function c33330026.repfilter(c,tp) function cm.ritual_filter(c)
return c:IsFaceup() and c:IsControler(tp) and c:IsLocation(LOCATION_MZONE) and c:IsSetCard(0x556) return c:IsSetCard(0x556) and c:IsType(TYPE_RITUAL) and c:IsType(TYPE_MONSTER)
and c:IsReason(REASON_EFFECT+REASON_BATTLE) end
end --Destroy Replace
function c33330026.reptg(e,tp,eg,ep,ev,re,r,rp,chk) function cm.repfilter(c,tp)
if chk==0 then return e:GetHandler():IsAbleToRemove() and eg:IsExists(c33330026.repfilter,1,nil,tp) end return c:IsFaceup() and c:IsSetCard(0x556) and c:IsLocation(LOCATION_MZONE)
and c:IsControler(tp) and c:IsReason(REASON_EFFECT+REASON_BATTLE) and not c:IsReason(REASON_REPLACE)
end
function cm.reptg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return e:GetHandler():IsAbleToRemove() and eg:IsExists(cm.repfilter,1,nil,tp) end
return Duel.SelectEffectYesNo(tp,e:GetHandler(),96) return Duel.SelectEffectYesNo(tp,e:GetHandler(),96)
end end
function c33330026.repval(e,c) function cm.repval(e,c)
return c33330026.repfilter(c,e:GetHandlerPlayer()) return cm.repfilter(c,e:GetHandlerPlayer())
end end
function c33330026.repop(e,tp,eg,ep,ev,re,r,rp) function cm.repop(e,tp,eg,ep,ev,re,r,rp)
Duel.Remove(e:GetHandler(),POS_FACEUP,REASON_EFFECT) Duel.Remove(e:GetHandler(),POS_FACEUP,REASON_EFFECT)
end end
function c33330026.filter(c,e,tp,m,ft) \ No newline at end of file
if not c:IsCode(33330015) or not c:IsCanBeSpecialSummoned(e,SUMMON_TYPE_RITUAL,tp,false,true) then return false end
local mg=m:Filter(Card.IsCanBeRitualMaterial,c,c)
if ft>0 then
return mg:CheckWithSumGreater(Card.GetRitualLevel,10,c)
else
return mg:IsExists(c33330026.mfilterf,1,nil,tp,mg,c)
end
end
function c33330026.mfilterf(c,tp,mg,rc)
if c:IsControler(tp) and c:IsLocation(LOCATION_MZONE) and c:GetSequence()<5 then
Duel.SetSelectedCard(c)
return mg:CheckWithSumGreater(Card.GetRitualLevel,10,rc)
else return false end
end
function c33330026.target(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then
local mg=Duel.GetRitualMaterial(tp)
local ft=Duel.GetLocationCount(tp,LOCATION_MZONE)
return ft>-1 and Duel.IsExistingMatchingCard(c33330026.filter,tp,LOCATION_HAND+LOCATION_DECK,0,1,nil,e,tp,mg,ft)
end
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,1,tp,LOCATION_HAND)
end
function c33330026.activate(e,tp,eg,ep,ev,re,r,rp)
local mg=Duel.GetRitualMaterial(tp)
local ft=Duel.GetLocationCount(tp,LOCATION_MZONE)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON)
local tg=Duel.SelectMatchingCard(tp,c33330026.filter,tp,LOCATION_HAND+LOCATION_DECK,0,1,1,nil,e,tp,mg,ft)
local tc=tg:GetFirst()
if tc then
mg=mg:Filter(Card.IsCanBeRitualMaterial,tc,tc)
local mat=nil
if ft>0 then
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_RELEASE)
mat=mg:SelectWithSumGreater(tp,Card.GetRitualLevel,12,tc)
else
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_RELEASE)
mat=mg:FilterSelect(tp,c33330026.mfilterf,1,1,nil,tp,mg,tc)
Duel.SetSelectedCard(mat)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_RELEASE)
local mat2=mg:SelectWithSumGreater(tp,Card.GetRitualLevel,12,tc)
mat:Merge(mat2)
end
tc:SetMaterial(mat)
Duel.ReleaseRitualMaterial(mat)
Duel.BreakEffect()
Duel.SpecialSummon(tc,SUMMON_TYPE_RITUAL,tp,tp,false,true,POS_FACEUP)
tc:CompleteProcedure()
end
end
--深界遗物-免除诅咒之笼 --深界遗物-免除诅咒之笼
function c33330027.initial_effect(c) local m=33330027
local cm=_G["c"..m]
cm.def=500 --守 备 力
function cm.initial_effect(c)
--Activate --Activate
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
e1:SetCategory(CATEGORY_EQUIP) e1:SetCategory(CATEGORY_EQUIP)
e1:SetType(EFFECT_TYPE_ACTIVATE) e1:SetType(EFFECT_TYPE_ACTIVATE)
e1:SetCode(EVENT_FREE_CHAIN) e1:SetCode(EVENT_FREE_CHAIN)
e1:SetProperty(EFFECT_FLAG_CARD_TARGET) e1:SetProperty(EFFECT_FLAG_CARD_TARGET)
e1:SetTarget(c33330027.target) e1:SetTarget(cm.target)
e1:SetOperation(c33330027.operation) e1:SetOperation(cm.operation)
c:RegisterEffect(e1) c:RegisterEffect(e1)
--Def up --Equip Limit
local e4=Effect.CreateEffect(c)
e4:SetType(EFFECT_TYPE_EQUIP)
e4:SetCode(EFFECT_UPDATE_DEFENSE)
e4:SetValue(500)
c:RegisterEffect(e4)
--Untargetable
local e2=Effect.CreateEffect(c) local e2=Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_EQUIP) e2:SetType(EFFECT_TYPE_SINGLE)
e2:SetCode(EFFECT_INDESTRUCTABLE_EFFECT) e2:SetCode(EFFECT_EQUIP_LIMIT)
e2:SetValue(1) e2:SetProperty(EFFECT_FLAG_CANNOT_DISABLE)
e2:SetValue(cm.eqlimit)
c:RegisterEffect(e2) c:RegisterEffect(e2)
--Equip limit --Def Up
local e3=Effect.CreateEffect(c) local e3=Effect.CreateEffect(c)
e3:SetType(EFFECT_TYPE_SINGLE) e3:SetType(EFFECT_TYPE_EQUIP)
e3:SetCode(EFFECT_EQUIP_LIMIT) e3:SetCode(EFFECT_UPDATE_DEFENSE)
e3:SetProperty(EFFECT_FLAG_CANNOT_DISABLE) e3:SetValue(cm.def)
e3:SetValue(c33330027.eqlimit) c:RegisterEffect(e3)
c:RegisterEffect(e3) --Indes
--search local e4=Effect.CreateEffect(c)
local e6=Effect.CreateEffect(c) e4:SetType(EFFECT_TYPE_EQUIP)
e6:SetDescription(aux.Stringid(33330027,0)) e4:SetCode(EFFECT_INDESTRUCTABLE_EFFECT)
e6:SetCategory(CATEGORY_TOHAND+CATEGORY_SEARCH) e4:SetValue(1)
e6:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_O) c:RegisterEffect(e4)
e6:SetCode(EVENT_LEAVE_FIELD) --Search
e6:SetProperty(EFFECT_FLAG_DAMAGE_STEP+EFFECT_FLAG_DELAY) local e5=Effect.CreateEffect(c)
e6:SetCondition(c33330027.thcon) e5:SetDescription(aux.Stringid(m,0))
e6:SetTarget(c33330027.thtg) e5:SetCategory(CATEGORY_TOHAND+CATEGORY_SEARCH)
e6:SetOperation(c33330027.thop) e5:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_O)
c:RegisterEffect(e6) e5:SetCode(EVENT_LEAVE_FIELD)
end e5:SetProperty(EFFECT_FLAG_DAMAGE_STEP)
function c33330027.thcon(e,tp,eg,ep,ev,re,r,rp) e5:SetCondition(cm.thcon)
return e:GetHandler():IsPreviousLocation(LOCATION_ONFIELD) and e:GetHandler():IsPreviousPosition(POS_FACEUP) e5:SetTarget(cm.thtg)
end e5:SetOperation(cm.thop)
function c33330027.thfilter(c) c:RegisterEffect(e5)
return c:IsSetCard(0x3556) and c:IsAbleToHand()
end
function c33330027.thtg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(c33330027.thfilter,tp,LOCATION_DECK,0,1,nil) end
Duel.SetOperationInfo(0,CATEGORY_TOHAND,nil,1,tp,LOCATION_DECK)
end
function c33330027.thop(e,tp,eg,ep,ev,re,r,rp)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_ATOHAND)
local g=Duel.SelectMatchingCard(tp,c33330027.thfilter,tp,LOCATION_DECK,0,1,1,nil)
if g:GetCount()>0 then
Duel.SendtoHand(g,nil,REASON_EFFECT)
Duel.ConfirmCards(1-tp,g)
end
end
function c33330027.eqlimit(e,c)
return c:IsSetCard(0x556)
end end
function c33330027.filter(c) --Activate
return c:IsFaceup() and c:IsSetCard(0x556) function cm.filter(c,e)
return c:IsFaceup() and cm.eqlimit(e,c)
end end
function c33330027.target(e,tp,eg,ep,ev,re,r,rp,chk,chkc) function cm.target(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
if chkc then return chkc:GetLocation()==LOCATION_MZONE and c33330027.filter(chkc) end if chkc then return chkc:IsLocation(LOCATION_MZONE) and cm.filter(chkc) end
if chk==0 then return Duel.IsExistingTarget(c33330027.filter,tp,LOCATION_MZONE,LOCATION_MZONE,1,nil) end if chk==0 then return Duel.IsExistingTarget(cm.filter,tp,LOCATION_MZONE,LOCATION_MZONE,1,nil,e) end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_EQUIP) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_EQUIP)
Duel.SelectTarget(tp,c33330027.filter,tp,LOCATION_MZONE,LOCATION_MZONE,1,1,nil) Duel.SelectTarget(tp,cm.filter,tp,LOCATION_MZONE,LOCATION_MZONE,1,1,nil,e)
Duel.SetOperationInfo(0,CATEGORY_EQUIP,e:GetHandler(),1,0,0) Duel.SetOperationInfo(0,CATEGORY_EQUIP,e:GetHandler(),1,0,0)
end end
function c33330027.operation(e,tp,eg,ep,ev,re,r,rp) function cm.operation(e,tp,eg,ep,ev,re,r,rp)
local tc=Duel.GetFirstTarget() local tc=Duel.GetFirstTarget()
if e:GetHandler():IsRelateToEffect(e) and tc:IsRelateToEffect(e) and tc:IsFaceup() then if e:GetHandler():IsRelateToEffect(e) and tc:IsRelateToEffect(e) and tc:IsFaceup() then
Duel.Equip(tp,e:GetHandler(),tc) Duel.Equip(tp,e:GetHandler(),tc)
end end
end end
--Equip Limit
function cm.eqlimit(e,c)
return c:IsSetCard(0x556)
end
--Search
function cm.thfilter(c)
return c:IsSetCard(0x3556) and c:IsAbleToHand()
end
function cm.thcon(e,tp,eg,ep,ev,re,r,rp)
return e:GetHandler():IsPreviousLocation(LOCATION_ONFIELD)
end
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
Duel.SetOperationInfo(0,CATEGORY_TOHAND,nil,1,tp,LOCATION_DECK)
end
function cm.thop(e,tp,eg,ep,ev,re,r,rp)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_ATOHAND)
local g=Duel.SelectMatchingCard(tp,cm.thfilter,tp,LOCATION_DECK,0,1,1,nil)
if g:GetCount()>0 and Duel.SendtoHand(g,nil,REASON_EFFECT)~=0 then
Duel.ConfirmCards(1-tp,g)
end
end
\ No newline at end of file
--深界遗物-免除诅咒之笼 --深界遗物-免除诅咒之笼
function c33330028.initial_effect(c) local m=33330028
local cm=_G["c"..m]
cm.atk=500 --攻 击 力
function cm.initial_effect(c)
--Activate --Activate
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
e1:SetCategory(CATEGORY_EQUIP) e1:SetCategory(CATEGORY_EQUIP)
e1:SetType(EFFECT_TYPE_ACTIVATE) e1:SetType(EFFECT_TYPE_ACTIVATE)
e1:SetCode(EVENT_FREE_CHAIN) e1:SetCode(EVENT_FREE_CHAIN)
e1:SetProperty(EFFECT_FLAG_CARD_TARGET) e1:SetProperty(EFFECT_FLAG_CARD_TARGET)
e1:SetTarget(c33330028.target) e1:SetTarget(cm.target)
e1:SetOperation(c33330028.operation) e1:SetOperation(cm.operation)
c:RegisterEffect(e1) c:RegisterEffect(e1)
--Def up --Equip Limit
local e4=Effect.CreateEffect(c)
e4:SetType(EFFECT_TYPE_EQUIP)
e4:SetCode(EFFECT_UPDATE_ATTACK)
e4:SetValue(500)
c:RegisterEffect(e4)
--Untargetable
local e2=Effect.CreateEffect(c) local e2=Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_EQUIP) e2:SetType(EFFECT_TYPE_SINGLE)
e2:SetCode(EFFECT_UPDATE_LEVEL) e2:SetCode(EFFECT_EQUIP_LIMIT)
e2:SetValue(4) e2:SetProperty(EFFECT_FLAG_CANNOT_DISABLE)
e2:SetValue(cm.eqlimit)
c:RegisterEffect(e2) c:RegisterEffect(e2)
--Equip limit --Atk Up
local e3=Effect.CreateEffect(c) local e3=Effect.CreateEffect(c)
e3:SetType(EFFECT_TYPE_SINGLE) e3:SetType(EFFECT_TYPE_EQUIP)
e3:SetCode(EFFECT_EQUIP_LIMIT) e3:SetCode(EFFECT_UPDATE_ATTACK)
e3:SetProperty(EFFECT_FLAG_CANNOT_DISABLE) e3:SetValue(cm.atk)
e3:SetValue(c33330028.eqlimit) c:RegisterEffect(e3)
c:RegisterEffect(e3) --Level Up
--search local e4=Effect.CreateEffect(c)
local e6=Effect.CreateEffect(c) e4:SetType(EFFECT_TYPE_EQUIP)
e6:SetDescription(aux.Stringid(33330028,0)) e4:SetCode(EFFECT_UPDATE_LEVEL)
e6:SetCategory(CATEGORY_TOHAND+CATEGORY_SEARCH) e4:SetValue(4)
e6:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_O) c:RegisterEffect(e4)
e6:SetCode(EVENT_LEAVE_FIELD) --Search
e6:SetProperty(EFFECT_FLAG_DAMAGE_STEP+EFFECT_FLAG_DELAY) local e5=Effect.CreateEffect(c)
e6:SetCondition(c33330028.thcon) e5:SetDescription(aux.Stringid(m,0))
e6:SetTarget(c33330028.thtg) e5:SetCategory(CATEGORY_TOHAND+CATEGORY_SEARCH)
e6:SetOperation(c33330028.thop) e5:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_O)
c:RegisterEffect(e6) e5:SetCode(EVENT_LEAVE_FIELD)
end e5:SetProperty(EFFECT_FLAG_DAMAGE_STEP)
function c33330028.thcon(e,tp,eg,ep,ev,re,r,rp) e5:SetCondition(cm.thcon)
return e:GetHandler():IsPreviousLocation(LOCATION_ONFIELD) and e:GetHandler():IsPreviousPosition(POS_FACEUP) e5:SetTarget(cm.thtg)
end e5:SetOperation(cm.thop)
function c33330028.thfilter(c) c:RegisterEffect(e5)
return c:IsSetCard(0x3556) and c:IsAbleToHand()
end
function c33330028.thtg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(c33330028.thfilter,tp,LOCATION_DECK,0,1,nil) end
Duel.SetOperationInfo(0,CATEGORY_TOHAND,nil,1,tp,LOCATION_DECK)
end
function c33330028.thop(e,tp,eg,ep,ev,re,r,rp)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_ATOHAND)
local g=Duel.SelectMatchingCard(tp,c33330028.thfilter,tp,LOCATION_DECK,0,1,1,nil)
if g:GetCount()>0 then
Duel.SendtoHand(g,nil,REASON_EFFECT)
Duel.ConfirmCards(1-tp,g)
end
end
function c33330028.eqlimit(e,c)
return c:IsSetCard(0x556)
end end
function c33330028.filter(c) --Activate
return c:IsFaceup() and c:IsSetCard(0x556) function cm.filter(c,e)
return c:IsFaceup() and cm.eqlimit(e,c)
end end
function c33330028.target(e,tp,eg,ep,ev,re,r,rp,chk,chkc) function cm.target(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
if chkc then return chkc:GetLocation()==LOCATION_MZONE and c33330028.filter(chkc) end if chkc then return chkc:IsLocation(LOCATION_MZONE) and cm.filter(chkc) end
if chk==0 then return Duel.IsExistingTarget(c33330028.filter,tp,LOCATION_MZONE,LOCATION_MZONE,1,nil) end if chk==0 then return Duel.IsExistingTarget(cm.filter,tp,LOCATION_MZONE,LOCATION_MZONE,1,nil,e) end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_EQUIP) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_EQUIP)
Duel.SelectTarget(tp,c33330028.filter,tp,LOCATION_MZONE,LOCATION_MZONE,1,1,nil) Duel.SelectTarget(tp,cm.filter,tp,LOCATION_MZONE,LOCATION_MZONE,1,1,nil,e)
Duel.SetOperationInfo(0,CATEGORY_EQUIP,e:GetHandler(),1,0,0) Duel.SetOperationInfo(0,CATEGORY_EQUIP,e:GetHandler(),1,0,0)
end end
function c33330028.operation(e,tp,eg,ep,ev,re,r,rp) function cm.operation(e,tp,eg,ep,ev,re,r,rp)
local tc=Duel.GetFirstTarget() local tc=Duel.GetFirstTarget()
if e:GetHandler():IsRelateToEffect(e) and tc:IsRelateToEffect(e) and tc:IsFaceup() then if e:GetHandler():IsRelateToEffect(e) and tc:IsRelateToEffect(e) and tc:IsFaceup() then
Duel.Equip(tp,e:GetHandler(),tc) Duel.Equip(tp,e:GetHandler(),tc)
end end
end end
--Equip Limit
function cm.eqlimit(e,c)
return c:IsSetCard(0x556)
end
--Search
function cm.thfilter(c)
return c:IsSetCard(0x3556) and c:IsAbleToHand()
end
function cm.thcon(e,tp,eg,ep,ev,re,r,rp)
return e:GetHandler():IsPreviousLocation(LOCATION_ONFIELD)
end
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
Duel.SetOperationInfo(0,CATEGORY_TOHAND,nil,1,tp,LOCATION_DECK)
end
function cm.thop(e,tp,eg,ep,ev,re,r,rp)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_ATOHAND)
local g=Duel.SelectMatchingCard(tp,cm.thfilter,tp,LOCATION_DECK,0,1,1,nil)
if g:GetCount()>0 and Duel.SendtoHand(g,nil,REASON_EFFECT)~=0 then
Duel.ConfirmCards(1-tp,g)
end
end
\ No newline at end of file
--深界遗物-免除诅咒之笼 --深界遗物-免除诅咒之笼
function c33330029.initial_effect(c) local m=33330029
local cm=_G["c"..m]
function cm.initial_effect(c)
--Activate --Activate
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
e1:SetCategory(CATEGORY_EQUIP) e1:SetCategory(CATEGORY_EQUIP)
e1:SetType(EFFECT_TYPE_ACTIVATE) e1:SetType(EFFECT_TYPE_ACTIVATE)
e1:SetCode(EVENT_FREE_CHAIN) e1:SetCode(EVENT_FREE_CHAIN)
e1:SetProperty(EFFECT_FLAG_CARD_TARGET) e1:SetProperty(EFFECT_FLAG_CARD_TARGET)
e1:SetTarget(c33330029.target) e1:SetTarget(cm.target)
e1:SetOperation(c33330029.operation) e1:SetOperation(cm.operation)
c:RegisterEffect(e1) c:RegisterEffect(e1)
--Def up --Equip Limit
local e4=Effect.CreateEffect(c)
e4:SetType(EFFECT_TYPE_EQUIP)
e4:SetCode(EFFECT_UPDATE_ATTACK)
e4:SetValue(-500)
c:RegisterEffect(e4)
--atk
local e2=Effect.CreateEffect(c) local e2=Effect.CreateEffect(c)
e2:SetDescription(aux.Stringid(33330029,0)) e2:SetType(EFFECT_TYPE_SINGLE)
e2:SetCategory(CATEGORY_ATKCHANGE) e2:SetCode(EFFECT_EQUIP_LIMIT)
e2:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_TRIGGER_F) e2:SetProperty(EFFECT_FLAG_CANNOT_DISABLE)
e2:SetCode(EVENT_ATTACK_ANNOUNCE) e2:SetValue(cm.eqlimit)
e2:SetRange(LOCATION_SZONE)
e2:SetCondition(c33330029.ctcon)
e2:SetOperation(c33330029.ctop)
c:RegisterEffect(e2) c:RegisterEffect(e2)
--Equip limit --To Hand
local e3=Effect.CreateEffect(c) local e4=Effect.CreateEffect(c)
e3:SetType(EFFECT_TYPE_SINGLE) e4:SetDescription(aux.Stringid(m,0))
e3:SetCode(EFFECT_EQUIP_LIMIT) e4:SetCategory(CATEGORY_TOHAND+CATEGORY_SEARCH)
e3:SetProperty(EFFECT_FLAG_CANNOT_DISABLE) e4:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_TRIGGER_O)
e3:SetValue(c33330029.eqlimit) e4:SetCode(EVENT_BATTLE_DAMAGE)
c:RegisterEffect(e3) e4:SetProperty(EFFECT_FLAG_DELAY)
--search e4:SetRange(LOCATION_SZONE)
local e6=Effect.CreateEffect(c) e4:SetCondition(cm.sccon)
e6:SetDescription(aux.Stringid(33330029,1)) e4:SetTarget(cm.sctg)
e6:SetCategory(CATEGORY_TOHAND+CATEGORY_SEARCH) e4:SetOperation(cm.scop)
e6:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_O) c:RegisterEffect(e4)
e6:SetCode(EVENT_LEAVE_FIELD) --Search
e6:SetProperty(EFFECT_FLAG_DAMAGE_STEP+EFFECT_FLAG_DELAY) local e5=Effect.CreateEffect(c)
e6:SetCondition(c33330029.thcon) e5:SetDescription(aux.Stringid(m,0))
e6:SetTarget(c33330029.thtg) e5:SetCategory(CATEGORY_TOHAND+CATEGORY_SEARCH)
e6:SetOperation(c33330029.thop) e5:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_O)
c:RegisterEffect(e6) e5:SetCode(EVENT_LEAVE_FIELD)
e5:SetProperty(EFFECT_FLAG_DAMAGE_STEP)
e5:SetCondition(cm.thcon)
e5:SetTarget(cm.thtg)
e5:SetOperation(cm.thop)
c:RegisterEffect(e5)
end
--Activate
function cm.filter(c,e)
return c:IsFaceup() and cm.eqlimit(e,c)
end end
function c33330029.ctcon(e,tp,eg,ep,ev,re,r,rp) function cm.target(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
local tc=e:GetHandler():GetEquipTarget() if chkc then return chkc:IsLocation(LOCATION_MZONE) and cm.filter(chkc) end
return Duel.GetAttacker()==tc and tc:GetBattleTarget() and tc:GetBattleTarget():IsControler(1-tp) and tc:GetBattleTarget():IsAttackAbove(1) if chk==0 then return Duel.IsExistingTarget(cm.filter,tp,LOCATION_MZONE,LOCATION_MZONE,1,nil,e) end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_EQUIP)
Duel.SelectTarget(tp,cm.filter,tp,LOCATION_MZONE,LOCATION_MZONE,1,1,nil,e)
Duel.SetOperationInfo(0,CATEGORY_EQUIP,e:GetHandler(),1,0,0)
end end
function c33330029.ctop(e,tp,eg,ep,ev,re,r,rp) function cm.operation(e,tp,eg,ep,ev,re,r,rp)
local tc=e:GetHandler():GetEquipTarget() local tc=Duel.GetFirstTarget()
local bc=tc:GetBattleTarget() if e:GetHandler():IsRelateToEffect(e) and tc:IsRelateToEffect(e) and tc:IsFaceup() then
if e:GetHandler():IsRelateToEffect(e) and bc:IsControler(1-tp) and bc:IsRelateToBattle() then Duel.Equip(tp,e:GetHandler(),tc)
local e1=Effect.CreateEffect(e:GetHandler())
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetCode(EFFECT_UPDATE_ATTACK)
e1:SetReset(RESET_EVENT+0x1fe0000)
e1:SetValue(-200)
bc:RegisterEffect(e1)
end end
end end
function c33330029.thcon(e,tp,eg,ep,ev,re,r,rp) --Equip Limit
return e:GetHandler():IsPreviousLocation(LOCATION_ONFIELD) and e:GetHandler():IsPreviousPosition(POS_FACEUP) function cm.eqlimit(e,c)
return c:IsSetCard(0x556)
end end
function c33330029.thfilter(c) --To Hand
return c:IsSetCard(0x3556) and c:IsAbleToHand() function cm.scfilter(c)
return c:IsSetCard(0x556) and c:IsAbleToHand()
end
function cm.sccon(e,tp,eg,ep,ev,re,r,rp)
return ep~=tp and eg:GetFirst()==e:GetHandler():GetEquipTarget()
end end
function c33330029.thtg(e,tp,eg,ep,ev,re,r,rp,chk) function cm.sctg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(c33330029.thfilter,tp,LOCATION_DECK,0,1,nil) end if chk==0 then return Duel.IsExistingMatchingCard(cm.scfilter,tp,LOCATION_DECK,0,1,nil) end
Duel.SetOperationInfo(0,CATEGORY_TOHAND,nil,1,tp,LOCATION_DECK) Duel.SetOperationInfo(0,CATEGORY_TOHAND,nil,1,tp,LOCATION_DECK)
end end
function c33330029.thop(e,tp,eg,ep,ev,re,r,rp) function cm.scop(e,tp,eg,ep,ev,re,r,rp)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_ATOHAND) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_ATOHAND)
local g=Duel.SelectMatchingCard(tp,c33330029.thfilter,tp,LOCATION_DECK,0,1,1,nil) local g=Duel.SelectMatchingCard(tp,cm.scfilter,tp,LOCATION_DECK,0,1,1,nil)
if g:GetCount()>0 then if g:GetCount()>0 and Duel.SendtoHand(g,nil,REASON_EFFECT)~=0 then
Duel.SendtoHand(g,nil,REASON_EFFECT)
Duel.ConfirmCards(1-tp,g) Duel.ConfirmCards(1-tp,g)
end end
end end
function c33330029.eqlimit(e,c) --Search
return c:IsSetCard(0x556) function cm.thfilter(c)
return c:IsSetCard(0x3556) and c:IsAbleToHand()
end end
function c33330029.filter(c) function cm.thcon(e,tp,eg,ep,ev,re,r,rp)
return c:IsFaceup() and c:IsSetCard(0x556) return e:GetHandler():IsPreviousLocation(LOCATION_ONFIELD)
end end
function c33330029.target(e,tp,eg,ep,ev,re,r,rp,chk,chkc) function cm.thtg(e,tp,eg,ep,ev,re,r,rp,chk)
if chkc then return chkc:GetLocation()==LOCATION_MZONE and c33330029.filter(chkc) end if chk==0 then return Duel.IsExistingMatchingCard(cm.thfilter,tp,LOCATION_DECK,0,1,nil) end
if chk==0 then return Duel.IsExistingTarget(c33330029.filter,tp,LOCATION_MZONE,LOCATION_MZONE,1,nil) end Duel.SetOperationInfo(0,CATEGORY_TOHAND,nil,1,tp,LOCATION_DECK)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_EQUIP)
Duel.SelectTarget(tp,c33330029.filter,tp,LOCATION_MZONE,LOCATION_MZONE,1,1,nil)
Duel.SetOperationInfo(0,CATEGORY_EQUIP,e:GetHandler(),1,0,0)
end end
function c33330029.operation(e,tp,eg,ep,ev,re,r,rp) function cm.thop(e,tp,eg,ep,ev,re,r,rp)
local tc=Duel.GetFirstTarget() Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_ATOHAND)
if e:GetHandler():IsRelateToEffect(e) and tc:IsRelateToEffect(e) and tc:IsFaceup() then local g=Duel.SelectMatchingCard(tp,cm.thfilter,tp,LOCATION_DECK,0,1,1,nil)
Duel.Equip(tp,e:GetHandler(),tc) if g:GetCount()>0 and Duel.SendtoHand(g,nil,REASON_EFFECT)~=0 then
Duel.ConfirmCards(1-tp,g)
end end
end end
\ No newline at end of file
This diff is collapsed.
--深界之怒-火葬炮 --深界之怒-火葬炮
function c33330031.initial_effect(c) local m=33330031
local cm=_G["c"..m]
cm.check={33330028} --发 动 要 求
function cm.initial_effect(c)
--Activate --Activate
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
e1:SetCategory(CATEGORY_TOGRAVE) e1:SetCategory(CATEGORY_TOGRAVE)
e1:SetType(EFFECT_TYPE_ACTIVATE) e1:SetType(EFFECT_TYPE_ACTIVATE)
e1:SetHintTiming(0,TIMING_MAIN_END)
e1:SetCode(EVENT_FREE_CHAIN) e1:SetCode(EVENT_FREE_CHAIN)
e1:SetCondition(c33330031.condition) e1:SetCondition(cm.condition)
e1:SetTarget(c33330031.target) e1:SetTarget(cm.target)
e1:SetOperation(c33330031.activate) e1:SetOperation(cm.activate)
e1:SetHintTiming(0,TIMINGS_CHECK_MONSTER+TIMING_MAIN_END)
c:RegisterEffect(e1) c:RegisterEffect(e1)
--to grave --To Grave
local e2=Effect.CreateEffect(c) local e2=Effect.CreateEffect(c)
e2:SetDescription(aux.Stringid(33330031,0)) e2:SetDescription(aux.Stringid(m,0))
e2:SetCategory(CATEGORY_TOGRAVE) e2:SetCategory(CATEGORY_TOGRAVE)
e2:SetType(EFFECT_TYPE_IGNITION) e2:SetType(EFFECT_TYPE_IGNITION)
e2:SetRange(LOCATION_GRAVE) e2:SetRange(LOCATION_GRAVE)
e2:SetCost(aux.bfgcost) e2:SetCost(aux.bfgcost)
e2:SetTarget(c33330031.tgtg) e2:SetTarget(cm.tgtg)
e2:SetOperation(c33330031.tgop) e2:SetOperation(cm.tgop)
c:RegisterEffect(e2) c:RegisterEffect(e2)
end end
function c33330031.tgfilter(c) cm.card_code_list=cm.check
return c:IsSetCard(0x556) and c:IsType(TYPE_MONSTER) and c:IsAbleToGrave() --Activate
end function cm.cfilter(c)
function c33330031.tgtg(e,tp,eg,ep,ev,re,r,rp,chk) return c:IsCode(cm.check[1]) and c:IsFaceup()
if chk==0 then return Duel.IsExistingMatchingCard(c33330031.tgfilter,tp,LOCATION_DECK,0,1,nil) end
Duel.SetOperationInfo(0,CATEGORY_TOGRAVE,nil,1,tp,LOCATION_DECK)
end
function c33330031.tgop(e,tp,eg,ep,ev,re,r,rp)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TOGRAVE)
local g=Duel.SelectMatchingCard(tp,c33330031.tgfilter,tp,LOCATION_DECK,0,1,1,nil)
if g:GetCount()>0 then
Duel.SendtoGrave(g,REASON_EFFECT)
end
end
function c33330031.condition(e,tp,eg,ep,ev,re,r,rp)
return Duel.GetCurrentPhase()==PHASE_MAIN2 and Duel.IsExistingMatchingCard(c33330031.cfilter,tp,LOCATION_ONFIELD,0,1,nil)
end end
function c33330031.cfilter(c) function cm.condition(e,tp,eg,ep,ev,re,r,rp)
return c:IsCode(33330028) and c:IsFaceup() return Duel.GetCurrentPhase()==PHASE_MAIN2 and Duel.IsExistingMatchingCard(cm.cfilter,tp,LOCATION_ONFIELD,0,1,nil)
end end
function c33330031.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 Duel.GetFieldGroupCount(tp,0,LOCATION_MZONE)>0 end if chk==0 then return Duel.GetFieldGroupCount(tp,0,LOCATION_MZONE)>0 end
local g=Duel.GetFieldGroup(tp,0,LOCATION_MZONE) local g=Duel.GetFieldGroup(tp,0,LOCATION_MZONE)
Duel.SetOperationInfo(0,CATEGORY_TOGRAVE,g,g:GetCount(),0,LOCATION_MZONE) Duel.SetOperationInfo(0,CATEGORY_TOGRAVE,g,g:GetCount(),0,LOCATION_MZONE)
end end
function c33330031.activate(e,tp,eg,ep,ev,re,r,rp) function cm.activate(e,tp,eg,ep,ev,re,r,rp)
local g=Duel.GetFieldGroup(tp,0,LOCATION_MZONE) local g=Duel.GetFieldGroup(tp,0,LOCATION_MZONE)
if g:GetCount()>0 then if g:GetCount()>0 then
Duel.SendtoGrave(g,REASON_RULE) Duel.SendtoGrave(g,REASON_RULE)
...@@ -56,10 +47,25 @@ function c33330031.activate(e,tp,eg,ep,ev,re,r,rp) ...@@ -56,10 +47,25 @@ function c33330031.activate(e,tp,eg,ep,ev,re,r,rp)
e1:SetCode(EFFECT_CANNOT_ACTIVATE) e1:SetCode(EFFECT_CANNOT_ACTIVATE)
e1:SetProperty(EFFECT_FLAG_PLAYER_TARGET) e1:SetProperty(EFFECT_FLAG_PLAYER_TARGET)
e1:SetTargetRange(0,1) e1:SetTargetRange(0,1)
e1:SetValue(c33330031.actlimit) e1:SetValue(cm.actlimit)
e1:SetReset(RESET_PHASE+PHASE_END) e1:SetReset(RESET_PHASE+PHASE_END)
Duel.RegisterEffect(e1,tp) Duel.RegisterEffect(e1,tp)
end end
function c33330031.actlimit(e,re,tp) function cm.actlimit(e,re,tp)
return re:IsActiveType(TYPE_MONSTER) and not re:GetHandler():IsImmuneToEffect(e) return re:IsActiveType(TYPE_MONSTER)
end end
--To Grave
function cm.tgfilter(c)
return c:IsSetCard(0x556) and c:IsType(TYPE_MONSTER) and c:IsAbleToGrave()
end
function cm.tgtg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(cm.tgfilter,tp,LOCATION_DECK,0,1,nil) end
Duel.SetOperationInfo(0,CATEGORY_TOGRAVE,nil,1,tp,LOCATION_DECK)
end
function cm.tgop(e,tp,eg,ep,ev,re,r,rp)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TOGRAVE)
local g=Duel.SelectMatchingCard(tp,cm.tgfilter,tp,LOCATION_DECK,0,1,1,nil)
if g:GetCount()>0 then
Duel.SendtoGrave(g,REASON_EFFECT)
end
end
\ No newline at end of file
--深界庇护所 娜娜奇的小屋 --深界庇护所 娜娜奇的小屋
function c33330032.initial_effect(c) local m=33330032
--Activate(effect) local cm=_G["c"..m]
local e4=Effect.CreateEffect(c) cm.counter=0x1556 --指 示 物
e4:SetCategory(CATEGORY_RECOVER) cm.recover=500 --回 复 倍 数
e4:SetProperty(EFFECT_FLAG_DAMAGE_STEP+EFFECT_FLAG_DAMAGE_CAL+EFFECT_FLAG_PLAYER_TARGET) function cm.initial_effect(c)
e4:SetType(EFFECT_TYPE_ACTIVATE) --Activate
e4:SetCode(EVENT_CHAINING) local e1=Effect.CreateEffect(c)
e4:SetCondition(c33330032.condition) e1:SetCategory(CATEGORY_RECOVER)
e4:SetTarget(c33330032.target) e1:SetType(EFFECT_TYPE_ACTIVATE)
e4:SetOperation(c33330032.activate) e1:SetCode(EVENT_CHAINING)
c:RegisterEffect(e4) e1:SetProperty(EFFECT_FLAG_DAMAGE_STEP+EFFECT_FLAG_DAMAGE_CAL+EFFECT_FLAG_PLAYER_TARGET)
--tohand e1:SetCondition(cm.condition)
e1:SetTarget(cm.target)
e1:SetOperation(cm.activate)
c:RegisterEffect(e1)
--To Hand
local e2=Effect.CreateEffect(c) local e2=Effect.CreateEffect(c)
e2:SetDescription(aux.Stringid(33330032,0)) e2:SetDescription(aux.Stringid(m,0))
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)
e2:SetProperty(EFFECT_FLAG_DELAY)
e2:SetCode(EVENT_TO_GRAVE) e2:SetCode(EVENT_TO_GRAVE)
e2:SetCondition(c33330032.thcon) e2:SetProperty(EFFECT_FLAG_DELAY)
e2:SetTarget(c33330032.thtg) e2:SetCondition(cm.thcon)
e2:SetOperation(c33330032.thop) e2:SetTarget(cm.thtg)
e2:SetOperation(cm.thop)
c:RegisterEffect(e2) c:RegisterEffect(e2)
end end
function c33330032.thcon(e,tp,eg,ep,ev,re,r,rp) --Activate
return e:GetHandler():IsReason(REASON_EFFECT) function cm.condition(e,tp,eg,ep,ev,re,r,rp)
end return re:IsHasCategory(CATEGORY_DESTROY)
function c33330032.thfilter(c)
return c:IsSetCard(0x556) and c:IsAbleToHand()
end end
function c33330032.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 Duel.IsExistingMatchingCard(c33330032.thfilter,tp,LOCATION_GRAVE,0,1,nil) end if chk==0 then return Duel.GetCounter(tp,1,0,cm.counter)>0 end
Duel.SetOperationInfo(0,CATEGORY_TOHAND,nil,1,tp,LOCATION_GRAVE) local ct=Duel.GetCounter(tp,1,0,cm.counter)
Duel.SetTargetPlayer(tp)
Duel.SetTargetParam(ct*cm.recover)
Duel.SetOperationInfo(0,CATEGORY_RECOVER,nil,0,tp,ct*cm.recover)
end end
function c33330032.thop(e,tp,eg,ep,ev,re,r,rp) function cm.activate(e,tp,eg,ep,ev,re,r,rp)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_ATOHAND) local p=Duel.GetChainInfo(0,CHAININFO_TARGET_PLAYER)
local g=Duel.SelectMatchingCard(tp,aux.NecroValleyFilter(c33330032.thfilter),tp,LOCATION_GRAVE,0,1,1,nil) local ct=Duel.GetCounter(tp,1,0,cm.counter)
if g:GetCount()>0 then if ct>0 and Duel.Recover(tp,ct*cm.recover,REASON_EFFECT)~=0 then
Duel.SendtoHand(g,nil,REASON_EFFECT) local e1=Effect.CreateEffect(e:GetHandler())
e1:SetType(EFFECT_TYPE_FIELD)
e1:SetCode(EFFECT_CHANGE_DAMAGE)
e1:SetProperty(EFFECT_FLAG_PLAYER_TARGET)
e1:SetTargetRange(1,1)
e1:SetValue(0)
e1:SetReset(RESET_PHASE+PHASE_END)
Duel.RegisterEffect(e1,tp)
local e2=e1:Clone()
e2:SetCode(EFFECT_NO_EFFECT_DAMAGE)
e2:SetReset(RESET_PHASE+PHASE_END)
Duel.RegisterEffect(e2,tp)
end end
end end
function c33330032.condition(e,tp,eg,ep,ev,re,r,rp) --To Hand
return re:IsHasCategory(CATEGORY_DESTROY) function cm.thfilter(c)
return c:IsSetCard(0x556) and c:IsAbleToHand()
end end
function c33330032.target(e,tp,eg,ep,ev,re,r,rp,chk) function cm.thcon(e,tp,eg,ep,ev,re,r,rp)
if chk==0 then return Duel.GetCounter(tp,1,0,0x1019)>0 end return e:GetHandler():IsReason(REASON_EFFECT)
local ct=Duel.GetCounter(tp,1,0,0x1019)
Duel.SetTargetPlayer(tp)
Duel.SetTargetParam(ct*500)
Duel.SetOperationInfo(0,CATEGORY_RECOVER,nil,0,tp,ct*500)
end end
function c33330032.activate(e,tp,eg,ep,ev,re,r,rp) function cm.thtg(e,tp,eg,ep,ev,re,r,rp,chk)
local ct=Duel.GetCounter(tp,1,0,0x1019) if chk==0 then return Duel.IsExistingMatchingCard(cm.thfilter,tp,LOCATION_GRAVE,0,1,nil) end
if ct>0 and Duel.Recover(tp,ct*500,REASON_EFFECT)~=0 then Duel.SetOperationInfo(0,CATEGORY_TOHAND,nil,1,tp,LOCATION_GRAVE)
local e1=Effect.CreateEffect(e:GetHandler())
e1:SetType(EFFECT_TYPE_FIELD)
e1:SetCode(EFFECT_CHANGE_DAMAGE)
e1:SetProperty(EFFECT_FLAG_PLAYER_TARGET)
e1:SetTargetRange(1,1)
e1:SetValue(0)
e1:SetReset(RESET_PHASE+PHASE_END)
Duel.RegisterEffect(e1,tp)
local e2=e1:Clone()
e2:SetCode(EFFECT_NO_EFFECT_DAMAGE)
e2:SetReset(RESET_PHASE+PHASE_END)
Duel.RegisterEffect(e2,tp)
end
end end
function cm.thop(e,tp,eg,ep,ev,re,r,rp)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_ATOHAND)
local g=Duel.SelectMatchingCard(tp,aux.NecroValleyFilter(cm.thfilter),tp,LOCATION_GRAVE,0,1,1,nil)
if g:GetCount()>0 and Duel.SendtoHand(g,nil,REASON_EFFECT)~=0 then
Duel.ConfirmCards(1-tp,g)
end
end
\ No newline at end of file
This diff is collapsed.
This diff is collapsed.
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