Commit efda0838 authored by 聖園ミカ's avatar 聖園ミカ 🐟

byd

parent 3cb8a90e
expansions/pics/11600010.jpg

106 KB | W: | H:

expansions/pics/11600010.jpg

39.7 KB | W: | H:

expansions/pics/11600010.jpg
expansions/pics/11600010.jpg
expansions/pics/11600010.jpg
expansions/pics/11600010.jpg
  • 2-up
  • Swipe
  • Onion skin
...@@ -18,6 +18,7 @@ function s.initial_effect(c) ...@@ -18,6 +18,7 @@ function s.initial_effect(c)
local e3=Effect.CreateEffect(c) local e3=Effect.CreateEffect(c)
e3:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_O) e3:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_O)
e3:SetCode(EVENT_REMOVE) e3:SetCode(EVENT_REMOVE)
e3:SetProperty(EFFECT_FLAG_DELAY)
e3:SetCountLimit(1,id+10000) e3:SetCountLimit(1,id+10000)
e3:SetTarget(s.thtg2) e3:SetTarget(s.thtg2)
e3:SetOperation(s.thop2) e3:SetOperation(s.thop2)
...@@ -161,7 +162,7 @@ function s.thop2(e,tp,eg,ep,ev,re,r,rp) ...@@ -161,7 +162,7 @@ function s.thop2(e,tp,eg,ep,ev,re,r,rp)
--Be Material --Be Material
local e3=Effect.CreateEffect(c) local e3=Effect.CreateEffect(c)
e3:SetDescription(aux.Stringid(id,2)) e3:SetDescription(aux.Stringid(id,2))
e3:SetProperty(EFFECT_FLAG_CLIENT_HINT) e3:SetProperty(EFFECT_FLAG_CLIENT_HINT+EFFECT_FLAG_EVENT_PLAYER)
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(s.efcon) e3:SetCondition(s.efcon)
...@@ -202,7 +203,7 @@ function s.target(e,tp,eg,ep,ev,re,r,rp,chk) ...@@ -202,7 +203,7 @@ function s.target(e,tp,eg,ep,ev,re,r,rp,chk)
end end
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,1,tp,LOCATION_EXTRA) Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,1,tp,LOCATION_EXTRA)
end end
function s.activate(e,tp,eg,ep,ev,re,r,rp) function s.operation(e,tp,eg,ep,ev,re,r,rp)
local chkf=tp local chkf=tp
local mg1=Duel.GetFusionMaterial(tp):Filter(s.filter1,nil,e) local mg1=Duel.GetFusionMaterial(tp):Filter(s.filter1,nil,e)
local sg1=Duel.GetMatchingGroup(s.filter2,tp,LOCATION_EXTRA,0,nil,e,tp,mg1,nil,chkf) local sg1=Duel.GetMatchingGroup(s.filter2,tp,LOCATION_EXTRA,0,nil,e,tp,mg1,nil,chkf)
...@@ -237,7 +238,7 @@ function s.activate(e,tp,eg,ep,ev,re,r,rp) ...@@ -237,7 +238,7 @@ function s.activate(e,tp,eg,ep,ev,re,r,rp)
end end
-- --
function s.efcon(e,tp,eg,ep,ev,re,r,rp) function s.efcon(e,tp,eg,ep,ev,re,r,rp)
return r==REASON_FUSION and not re:GetHandler():IsType(TYPE_EFFECT) return bit.band(r,REASON_FUSION)~=0
end end
function s.efop(e,tp,eg,ep,ev,re,r,rp) function s.efop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler() local c=e:GetHandler()
...@@ -268,8 +269,9 @@ end ...@@ -268,8 +269,9 @@ end
function s.chop(e,tp,eg,ep,ev,re,r,rp) function s.chop(e,tp,eg,ep,ev,re,r,rp)
local e1=e:GetLabelObject() local e1=e:GetLabelObject()
if not e1:GetHandler():IsLocation(LOCATION_MZONE) then if e1 and not e1:GetHandler():IsLocation(LOCATION_MZONE) then
e1:Reset() e1:Reset()
e:Reset()
end end
end end
......
...@@ -14,6 +14,7 @@ function s.initial_effect(c) ...@@ -14,6 +14,7 @@ function s.initial_effect(c)
local e3=Effect.CreateEffect(c) local e3=Effect.CreateEffect(c)
e3:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_O) e3:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_O)
e3:SetCode(EVENT_REMOVE) e3:SetCode(EVENT_REMOVE)
e3:SetProperty(EFFECT_FLAG_DELAY)
e3:SetCountLimit(1,id+10000) e3:SetCountLimit(1,id+10000)
e3:SetTarget(s.thtg2) e3:SetTarget(s.thtg2)
e3:SetOperation(s.thop2) e3:SetOperation(s.thop2)
...@@ -76,9 +77,8 @@ function s.thop2(e,tp,eg,ep,ev,re,r,rp) ...@@ -76,9 +77,8 @@ function s.thop2(e,tp,eg,ep,ev,re,r,rp)
e3:SetCode(EVENT_BE_MATERIAL) e3:SetCode(EVENT_BE_MATERIAL)
e3:SetCondition(s.efcon) e3:SetCondition(s.efcon)
e3:SetOperation(s.efop) e3:SetOperation(s.efop)
e3:SetReset(RESET_EVENT+RESETS_STANDARD)
tc:RegisterEffect(e3) tc:RegisterEffect(e3)
local e4=Effect.CreateEffect(c) local e4=Effect.CreateEffect(c)
e4:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS) e4:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
e4:SetCode(EVENT_CHAIN_SOLVING) e4:SetCode(EVENT_CHAIN_SOLVING)
e4:SetLabelObject(e3) e4:SetLabelObject(e3)
...@@ -87,7 +87,7 @@ function s.thop2(e,tp,eg,ep,ev,re,r,rp) ...@@ -87,7 +87,7 @@ function s.thop2(e,tp,eg,ep,ev,re,r,rp)
end end
-- --
function s.efcon(e,tp,eg,ep,ev,re,r,rp) function s.efcon(e,tp,eg,ep,ev,re,r,rp)
return r==REASON_FUSION and not re:GetHandler():IsType(TYPE_EFFECT) return bit.band(r,REASON_FUSION)~=0
end end
function s.efop(e,tp,eg,ep,ev,re,r,rp) function s.efop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler() local c=e:GetHandler()
...@@ -113,7 +113,8 @@ end ...@@ -113,7 +113,8 @@ end
function s.chop(e,tp,eg,ep,ev,re,r,rp) function s.chop(e,tp,eg,ep,ev,re,r,rp)
local e1=e:GetLabelObject() local e1=e:GetLabelObject()
if not e1:GetHandler():IsLocation(LOCATION_MZONE) then if e1 and not e1:GetHandler():IsLocation(LOCATION_MZONE) then
e1:Reset() e1:Reset()
e:Reset()
end end
end end
\ No newline at end of file
...@@ -16,6 +16,7 @@ function s.initial_effect(c) ...@@ -16,6 +16,7 @@ function s.initial_effect(c)
e3:SetCategory(CATEGORY_DESTROY) e3:SetCategory(CATEGORY_DESTROY)
e3:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_O) e3:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_O)
e3:SetCode(EVENT_REMOVE) e3:SetCode(EVENT_REMOVE)
e3:SetProperty(EFFECT_FLAG_DELAY)
e3:SetCountLimit(1,id+10000) e3:SetCountLimit(1,id+10000)
e3:SetTarget(s.thtg2) e3:SetTarget(s.thtg2)
e3:SetOperation(s.thop2) e3:SetOperation(s.thop2)
...@@ -34,7 +35,7 @@ function s.discost(e,tp,eg,ep,ev,re,r,rp,chk) ...@@ -34,7 +35,7 @@ function s.discost(e,tp,eg,ep,ev,re,r,rp,chk)
g:AddCard(c) g:AddCard(c)
Duel.SendtoGrave(g,REASON_COST) Duel.SendtoGrave(g,REASON_COST)
end end
function s.thfilter(c) function s.thfilter(c,e,tp)
return c:IsSetCard(0x5540) and c:IsType(TYPE_MONSTER) and c:IsCanBeSpecialSummoned(e,0,tp,false,false) return c:IsSetCard(0x5540) and c:IsType(TYPE_MONSTER) and c:IsCanBeSpecialSummoned(e,0,tp,false,false)
end end
function s.distg(e,tp,eg,ep,ev,re,r,rp,chk) function s.distg(e,tp,eg,ep,ev,re,r,rp,chk)
...@@ -104,7 +105,7 @@ function s.thop2(e,tp,eg,ep,ev,re,r,rp) ...@@ -104,7 +105,7 @@ function s.thop2(e,tp,eg,ep,ev,re,r,rp)
Duel.RegisterEffect(e4,tp) Duel.RegisterEffect(e4,tp)
end end
function s.efcon(e,tp,eg,ep,ev,re,r,rp) function s.efcon(e,tp,eg,ep,ev,re,r,rp)
return r==REASON_FUSION and not re:GetHandler():IsType(TYPE_EFFECT) return bit.band(r,REASON_FUSION)~=0
end end
function s.efop(e,tp,eg,ep,ev,re,r,rp) function s.efop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler() local c=e:GetHandler()
...@@ -140,7 +141,8 @@ function s.efop(e,tp,eg,ep,ev,re,r,rp) ...@@ -140,7 +141,8 @@ function s.efop(e,tp,eg,ep,ev,re,r,rp)
end end
function s.chop(e,tp,eg,ep,ev,re,r,rp) function s.chop(e,tp,eg,ep,ev,re,r,rp)
local e1=e:GetLabelObject() local e1=e:GetLabelObject()
if not e1:GetHandler():IsLocation(LOCATION_MZONE) then if e1 and not e1:GetHandler():IsLocation(LOCATION_MZONE) then
e1:Reset() e1:Reset()
e:Reset()
end end
end end
...@@ -28,6 +28,7 @@ function s.initial_effect(c) ...@@ -28,6 +28,7 @@ function s.initial_effect(c)
e3:SetCategory(CATEGORY_DESTROY) e3:SetCategory(CATEGORY_DESTROY)
e3:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_O) e3:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_O)
e3:SetCode(EVENT_REMOVE) e3:SetCode(EVENT_REMOVE)
e3:SetProperty(EFFECT_FLAG_DELAY)
e3:SetCountLimit(1,id+20000) e3:SetCountLimit(1,id+20000)
e3:SetTarget(s.thtg2) e3:SetTarget(s.thtg2)
e3:SetOperation(s.thop2) e3:SetOperation(s.thop2)
...@@ -105,7 +106,7 @@ function s.thop2(e,tp,eg,ep,ev,re,r,rp) ...@@ -105,7 +106,7 @@ function s.thop2(e,tp,eg,ep,ev,re,r,rp)
Duel.RegisterEffect(e4,tp) Duel.RegisterEffect(e4,tp)
end end
function s.efcon(e,tp,eg,ep,ev,re,r,rp) function s.efcon(e,tp,eg,ep,ev,re,r,rp)
return r==REASON_FUSION and not re:GetHandler():IsType(TYPE_EFFECT) return bit.band(r,REASON_FUSION)~=0
end end
function s.efop(e,tp,eg,ep,ev,re,r,rp) function s.efop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler() local c=e:GetHandler()
...@@ -152,7 +153,8 @@ function s.atkop(e,tp,eg,ep,ev,re,r,rp) ...@@ -152,7 +153,8 @@ function s.atkop(e,tp,eg,ep,ev,re,r,rp)
end end
function s.chop(e,tp,eg,ep,ev,re,r,rp) function s.chop(e,tp,eg,ep,ev,re,r,rp)
local e1=e:GetLabelObject() local e1=e:GetLabelObject()
if not e1:GetHandler():IsLocation(LOCATION_MZONE) then if e1 and not e1:GetHandler():IsLocation(LOCATION_MZONE) then
e1:Reset() e1:Reset()
e:Reset()
end end
end end
\ No newline at end of file
...@@ -28,6 +28,7 @@ function s.initial_effect(c) ...@@ -28,6 +28,7 @@ function s.initial_effect(c)
e3:SetCategory(CATEGORY_DESTROY) e3:SetCategory(CATEGORY_DESTROY)
e3:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_O) e3:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_O)
e3:SetCode(EVENT_REMOVE) e3:SetCode(EVENT_REMOVE)
e3:SetProperty(EFFECT_FLAG_DELAY)
e3:SetCountLimit(1,id+20000) e3:SetCountLimit(1,id+20000)
e3:SetTarget(s.thtg2) e3:SetTarget(s.thtg2)
e3:SetOperation(s.thop2) e3:SetOperation(s.thop2)
...@@ -105,7 +106,7 @@ function s.thop2(e,tp,eg,ep,ev,re,r,rp) ...@@ -105,7 +106,7 @@ function s.thop2(e,tp,eg,ep,ev,re,r,rp)
Duel.RegisterEffect(e4,tp) Duel.RegisterEffect(e4,tp)
end end
function s.efcon(e,tp,eg,ep,ev,re,r,rp) function s.efcon(e,tp,eg,ep,ev,re,r,rp)
return r==REASON_FUSION and not re:GetHandler():IsType(TYPE_EFFECT) return bit.band(r,REASON_FUSION)~=0
end end
function s.efop(e,tp,eg,ep,ev,re,r,rp) function s.efop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler() local c=e:GetHandler()
...@@ -133,10 +134,11 @@ function s.efop(e,tp,eg,ep,ev,re,r,rp) ...@@ -133,10 +134,11 @@ function s.efop(e,tp,eg,ep,ev,re,r,rp)
end end
function s.atkcon(e,tp,eg,ep,ev,re,r,rp) function s.atkcon(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
local tc=Duel.GetAttacker() local tc=Duel.GetAttacker()
local bc=Duel.GetAttackTarget() local bc=Duel.GetAttackTarget()
if not bc then return false end if not bc then return false end
return tc:IsControler(tp) and tc:IsCode(id) and bc:IsFaceup() return tc:IsControler(tp) and tc:IsCode(c:GetCode()) and bc:IsFaceup()
end end
function s.atkop(e,tp,eg,ep,ev,re,r,rp) function s.atkop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler() local c=e:GetHandler()
...@@ -152,7 +154,8 @@ function s.atkop(e,tp,eg,ep,ev,re,r,rp) ...@@ -152,7 +154,8 @@ function s.atkop(e,tp,eg,ep,ev,re,r,rp)
end end
function s.chop(e,tp,eg,ep,ev,re,r,rp) function s.chop(e,tp,eg,ep,ev,re,r,rp)
local e1=e:GetLabelObject() local e1=e:GetLabelObject()
if not e1:GetHandler():IsLocation(LOCATION_MZONE) then if e1 and not e1:GetHandler():IsLocation(LOCATION_MZONE) then
e1:Reset() e1:Reset()
e:Reset()
end end
end end
\ No newline at end of file
...@@ -37,18 +37,18 @@ function s.initial_effect(c) ...@@ -37,18 +37,18 @@ function s.initial_effect(c)
e4:SetCondition(s.con5) e4:SetCondition(s.con5)
c:RegisterEffect(e4) c:RegisterEffect(e4)
end end
function s.spfilter(c,e,tp) function s.spfilter1(c,e,tp)
return c:IsSetCard(0x5540) and c:IsType(TYPE_MONSTER) and c:IsCanBeSpecialSummoned(e,0,tp,false,false) return c:IsSetCard(0x5540) and c:IsType(TYPE_MONSTER) and c:IsCanBeSpecialSummoned(e,0,tp,false,false)
end end
function s.sptg(e,tp,eg,ep,ev,re,r,rp,chk) function s.sptg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.GetLocationCount(tp,LOCATION_MZONE)>0 if chk==0 then return Duel.GetLocationCount(tp,LOCATION_MZONE)>0
and Duel.IsExistingMatchingCard(s.spfilter,tp,LOCATION_GRAVE,0,1,nil,e,tp) end and Duel.IsExistingMatchingCard(s.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 s.spop(e,tp,eg,ep,ev,re,r,rp) function s.spop(e,tp,eg,ep,ev,re,r,rp)
if Duel.GetLocationCount(tp,LOCATION_MZONE)<1 then return end if Duel.GetLocationCount(tp,LOCATION_MZONE)<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(s.spfilter),tp,LOCATION_GRAVE,0,1,1,nil,e,tp) local g=Duel.SelectMatchingCard(tp,aux.NecroValleyFilter(s.spfilter1),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
...@@ -106,7 +106,7 @@ function s.thop2(e,tp,eg,ep,ev,re,r,rp) ...@@ -106,7 +106,7 @@ function s.thop2(e,tp,eg,ep,ev,re,r,rp)
Duel.RegisterEffect(e4,tp) Duel.RegisterEffect(e4,tp)
end end
function s.efcon(e,tp,eg,ep,ev,re,r,rp) function s.efcon(e,tp,eg,ep,ev,re,r,rp)
return r==REASON_FUSION and not re:GetHandler():IsType(TYPE_EFFECT) return bit.band(r,REASON_FUSION)~=0
end end
function s.efop(e,tp,eg,ep,ev,re,r,rp) function s.efop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler() local c=e:GetHandler()
...@@ -133,10 +133,11 @@ function s.efop(e,tp,eg,ep,ev,re,r,rp) ...@@ -133,10 +133,11 @@ function s.efop(e,tp,eg,ep,ev,re,r,rp)
end end
end end
function s.atkcon(e,tp,eg,ep,ev,re,r,rp) function s.atkcon(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
local tc=Duel.GetAttacker() local tc=Duel.GetAttacker()
local bc=Duel.GetAttackTarget() local bc=Duel.GetAttackTarget()
if not bc then return false end if not bc then return false end
return tc:IsControler(tp) and tc:IsCode(id) and bc:IsFaceup() return tc:IsControler(tp) and tc:IsCode(c:GetCode()) and bc:IsFaceup()
end end
function s.atkop(e,tp,eg,ep,ev,re,r,rp) function s.atkop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler() local c=e:GetHandler()
...@@ -148,7 +149,8 @@ end ...@@ -148,7 +149,8 @@ end
function s.chop(e,tp,eg,ep,ev,re,r,rp) function s.chop(e,tp,eg,ep,ev,re,r,rp)
local e1=e:GetLabelObject() local e1=e:GetLabelObject()
if not e1:GetHandler():IsLocation(LOCATION_MZONE) then if e1 and not e1:GetHandler():IsLocation(LOCATION_MZONE) then
e1:Reset() e1:Reset()
e:Reset()
end end
end end
\ No newline at end of file
...@@ -25,6 +25,7 @@ function s.initial_effect(c) ...@@ -25,6 +25,7 @@ function s.initial_effect(c)
local e3=Effect.CreateEffect(c) local e3=Effect.CreateEffect(c)
e3:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_O) e3:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_O)
e3:SetCode(EVENT_REMOVE) e3:SetCode(EVENT_REMOVE)
e3:SetProperty(EFFECT_FLAG_DELAY)
e3:SetCountLimit(1,id+10000) e3:SetCountLimit(1,id+10000)
e3:SetTarget(s.thtg2) e3:SetTarget(s.thtg2)
e3:SetOperation(s.thop2) e3:SetOperation(s.thop2)
...@@ -102,7 +103,6 @@ function s.thop2(e,tp,eg,ep,ev,re,r,rp) ...@@ -102,7 +103,6 @@ function s.thop2(e,tp,eg,ep,ev,re,r,rp)
e3:SetCode(EVENT_BE_MATERIAL) e3:SetCode(EVENT_BE_MATERIAL)
e3:SetCondition(s.efcon) e3:SetCondition(s.efcon)
e3:SetOperation(s.efop) e3:SetOperation(s.efop)
e3:SetReset(RESET_EVENT+RESETS_STANDARD)
tc:RegisterEffect(e3) tc:RegisterEffect(e3)
local e4=Effect.CreateEffect(c) local e4=Effect.CreateEffect(c)
e4:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS) e4:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
...@@ -113,7 +113,7 @@ function s.thop2(e,tp,eg,ep,ev,re,r,rp) ...@@ -113,7 +113,7 @@ function s.thop2(e,tp,eg,ep,ev,re,r,rp)
end end
-- --
function s.efcon(e,tp,eg,ep,ev,re,r,rp) function s.efcon(e,tp,eg,ep,ev,re,r,rp)
return r==REASON_FUSION and not re:GetHandler():IsType(TYPE_EFFECT) return bit.band(r,REASON_FUSION)~=0
end end
function s.efop(e,tp,eg,ep,ev,re,r,rp) function s.efop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler() local c=e:GetHandler()
...@@ -133,7 +133,7 @@ function s.efop(e,tp,eg,ep,ev,re,r,rp) ...@@ -133,7 +133,7 @@ function s.efop(e,tp,eg,ep,ev,re,r,rp)
e2:SetType(EFFECT_TYPE_SINGLE) e2:SetType(EFFECT_TYPE_SINGLE)
e2:SetCode(EFFECT_PIERCE) e2:SetCode(EFFECT_PIERCE)
e2:SetReset(RESET_EVENT+RESETS_STANDARD) e2:SetReset(RESET_EVENT+RESETS_STANDARD)
tc:RegisterEffect(e2) rc:RegisterEffect(e2)
if not rc:IsType(TYPE_EFFECT) then if not rc:IsType(TYPE_EFFECT) then
local e2=Effect.CreateEffect(c) local e2=Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_SINGLE) e2:SetType(EFFECT_TYPE_SINGLE)
...@@ -145,7 +145,8 @@ function s.efop(e,tp,eg,ep,ev,re,r,rp) ...@@ -145,7 +145,8 @@ function s.efop(e,tp,eg,ep,ev,re,r,rp)
end end
function s.chop(e,tp,eg,ep,ev,re,r,rp) function s.chop(e,tp,eg,ep,ev,re,r,rp)
local e1=e:GetLabelObject() local e1=e:GetLabelObject()
if not e1:GetHandler():IsLocation(LOCATION_MZONE) then if e1 and not e1:GetHandler():IsLocation(LOCATION_MZONE) then
e1:Reset() e1:Reset()
e:Reset()
end end
end end
\ No newline at end of file
...@@ -29,6 +29,7 @@ function s.initial_effect(c) ...@@ -29,6 +29,7 @@ function s.initial_effect(c)
e4:SetCategory(CATEGORY_DESTROY) e4:SetCategory(CATEGORY_DESTROY)
e4:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_O) e4:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_O)
e4:SetCode(EVENT_REMOVE) e4:SetCode(EVENT_REMOVE)
e4:SetProperty(EFFECT_FLAG_DELAY)
e4:SetCountLimit(1,id+20000) e4:SetCountLimit(1,id+20000)
e4:SetTarget(s.thtg2) e4:SetTarget(s.thtg2)
e4:SetOperation(s.thop2) e4:SetOperation(s.thop2)
...@@ -161,10 +162,9 @@ function s.thop2(e,tp,eg,ep,ev,re,r,rp) ...@@ -161,10 +162,9 @@ function s.thop2(e,tp,eg,ep,ev,re,r,rp)
--draw --draw
local e2=Effect.CreateEffect(c) local e2=Effect.CreateEffect(c)
e2:SetDescription(aux.Stringid(id,1)) e2:SetDescription(aux.Stringid(id,1))
e2:SetProperty(EFFECT_FLAG_CLIENT_HINT)
e2:SetCategory(CATEGORY_DRAW) e2:SetCategory(CATEGORY_DRAW)
e2:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_F) e2:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_F)
e2:SetProperty(EFFECT_FLAG_PLAYER_TARGET) e2:SetProperty(EFFECT_FLAG_PLAYER_TARGET+EFFECT_FLAG_CLIENT_HINT)
e2:SetCode(EVENT_BATTLE_DESTROYING) e2:SetCode(EVENT_BATTLE_DESTROYING)
e2:SetCondition(aux.bdocon) e2:SetCondition(aux.bdocon)
e2:SetTarget(s.drtg) e2:SetTarget(s.drtg)
...@@ -188,7 +188,7 @@ function s.thop2(e,tp,eg,ep,ev,re,r,rp) ...@@ -188,7 +188,7 @@ function s.thop2(e,tp,eg,ep,ev,re,r,rp)
Duel.RegisterEffect(e4,tp) Duel.RegisterEffect(e4,tp)
end end
function s.efcon(e,tp,eg,ep,ev,re,r,rp) function s.efcon(e,tp,eg,ep,ev,re,r,rp)
return r==REASON_FUSION and not re:GetHandler():IsType(TYPE_EFFECT) return bit.band(r,REASON_FUSION)~=0
end end
function s.efop(e,tp,eg,ep,ev,re,r,rp) function s.efop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler() local c=e:GetHandler()
...@@ -228,7 +228,8 @@ function s.drop(e,tp,eg,ep,ev,re,r,rp) ...@@ -228,7 +228,8 @@ function s.drop(e,tp,eg,ep,ev,re,r,rp)
end end
function s.chop(e,tp,eg,ep,ev,re,r,rp) function s.chop(e,tp,eg,ep,ev,re,r,rp)
local e1=e:GetLabelObject() local e1=e:GetLabelObject()
if not e1:GetHandler():IsLocation(LOCATION_MZONE) then if e1 and not e1:GetHandler():IsLocation(LOCATION_MZONE) then
e1:Reset() e1:Reset()
e:Reset()
end end
end end
\ No newline at end of file
...@@ -6,11 +6,12 @@ function s.initial_effect(c) ...@@ -6,11 +6,12 @@ function s.initial_effect(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)
--fusion summon --
local e2=Effect.CreateEffect(c) local e2=Effect.CreateEffect(c)
e2:SetDescription(aux.Stringid(id,1)) e2:SetDescription(aux.Stringid(id,1))
e2:SetCategory(CATEGORY_TODECK) e2:SetCategory(CATEGORY_TODECK)
e2:SetType(EFFECT_TYPE_IGNITION) e2:SetType(EFFECT_TYPE_IGNITION)
e2:SetCode(EVENT_FREE_CHAIN)
e2:SetRange(LOCATION_FZONE) e2:SetRange(LOCATION_FZONE)
e2:SetCountLimit(1) e2:SetCountLimit(1)
e2:SetCost(s.cost) e2:SetCost(s.cost)
...@@ -23,7 +24,7 @@ function s.initial_effect(c) ...@@ -23,7 +24,7 @@ function s.initial_effect(c)
e5:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_TRIGGER_O) e5:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_TRIGGER_O)
e5:SetProperty(EFFECT_FLAG_DELAY) e5:SetProperty(EFFECT_FLAG_DELAY)
e5:SetCode(EVENT_SPSUMMON_SUCCESS) e5:SetCode(EVENT_SPSUMMON_SUCCESS)
e5:SetRange(LOCATION_SZONE) e5:SetRange(LOCATION_FZONE)
e5:SetCondition(s.thcon) e5:SetCondition(s.thcon)
e5:SetTarget(s.thtg) e5:SetTarget(s.thtg)
e5:SetOperation(s.thop) e5:SetOperation(s.thop)
......
...@@ -19,7 +19,7 @@ function s.initial_effect(c) ...@@ -19,7 +19,7 @@ function s.initial_effect(c)
e2:SetCode(EVENT_FREE_CHAIN) e2:SetCode(EVENT_FREE_CHAIN)
e2:SetRange(LOCATION_GRAVE) e2:SetRange(LOCATION_GRAVE)
e2:SetHintTiming(TIMING_END_PHASE) e2:SetHintTiming(TIMING_END_PHASE)
e2:SetCountLimit(1,id) e2:SetCountLimit(1,id+10000)
e2:SetCondition(s.condition) e2:SetCondition(s.condition)
e2:SetTarget(s.thtg) e2:SetTarget(s.thtg)
e2:SetOperation(s.thop) e2:SetOperation(s.thop)
......
...@@ -4,10 +4,11 @@ function s.initial_effect(c) ...@@ -4,10 +4,11 @@ function s.initial_effect(c)
--to hand --to hand
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
e1:SetCategory(CATEGORY_TOHAND+CATEGORY_SEARCH) e1:SetCategory(CATEGORY_TOHAND+CATEGORY_SEARCH)
e1:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_O) e1:SetType(EFFECT_TYPE_IGNITION)
e1:SetCode(EVENT_TO_GRAVE) e1:SetCode(EVENT_FREE_CHAIN)
e1:SetProperty(EFFECT_FLAG_DELAY) e1:SetRange(LOCATION_MZONE)
e1:SetCountLimit(1,id) e1:SetCountLimit(1,id)
e1:SetCost(s.thcost)
e1:SetTarget(s.thtg) e1:SetTarget(s.thtg)
e1:SetOperation(s.thop) e1:SetOperation(s.thop)
c:RegisterEffect(e1) c:RegisterEffect(e1)
...@@ -16,6 +17,7 @@ function s.initial_effect(c) ...@@ -16,6 +17,7 @@ function s.initial_effect(c)
e3:SetCategory(CATEGORY_DESTROY) e3:SetCategory(CATEGORY_DESTROY)
e3:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_O) e3:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_O)
e3:SetCode(EVENT_REMOVE) e3:SetCode(EVENT_REMOVE)
e3:SetProperty(EFFECT_FLAG_DELAY)
e3:SetCountLimit(1,id+20000) e3:SetCountLimit(1,id+20000)
e3:SetTarget(s.thtg2) e3:SetTarget(s.thtg2)
e3:SetOperation(s.thop2) e3:SetOperation(s.thop2)
...@@ -25,6 +27,10 @@ function s.initial_effect(c) ...@@ -25,6 +27,10 @@ function s.initial_effect(c)
e4:SetCondition(s.con5) e4:SetCondition(s.con5)
c:RegisterEffect(e4) c:RegisterEffect(e4)
end end
function s.thcost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return e:GetHandler():IsAbleToGraveAsCost() end
Duel.SendtoGrave(e:GetHandler(),REASON_COST)
end
function s.thfilter(c) function s.thfilter(c)
return c:IsSetCard(0x5540) and c:IsAbleToHand() return c:IsSetCard(0x5540) and c:IsAbleToHand()
end end
...@@ -85,7 +91,7 @@ function s.thop2(e,tp,eg,ep,ev,re,r,rp) ...@@ -85,7 +91,7 @@ function s.thop2(e,tp,eg,ep,ev,re,r,rp)
Duel.RegisterEffect(e4,tp) Duel.RegisterEffect(e4,tp)
end end
function s.efcon(e,tp,eg,ep,ev,re,r,rp) function s.efcon(e,tp,eg,ep,ev,re,r,rp)
return r==REASON_FUSION and not re:GetHandler():IsType(TYPE_EFFECT) return bit.band(r,REASON_FUSION)~=0
end end
function s.efop(e,tp,eg,ep,ev,re,r,rp) function s.efop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler() local c=e:GetHandler()
...@@ -132,7 +138,8 @@ function s.atkop(e,tp,eg,ep,ev,re,r,rp) ...@@ -132,7 +138,8 @@ function s.atkop(e,tp,eg,ep,ev,re,r,rp)
end end
function s.chop(e,tp,eg,ep,ev,re,r,rp) function s.chop(e,tp,eg,ep,ev,re,r,rp)
local e1=e:GetLabelObject() local e1=e:GetLabelObject()
if not e1:GetHandler():IsLocation(LOCATION_MZONE) then if e1 and not e1:GetHandler():IsLocation(LOCATION_MZONE) then
e1:Reset() e1:Reset()
e:Reset()
end end
end end
\ No newline at end of file
...@@ -26,6 +26,7 @@ function s.initial_effect(c) ...@@ -26,6 +26,7 @@ function s.initial_effect(c)
e3:SetCategory(CATEGORY_DESTROY) e3:SetCategory(CATEGORY_DESTROY)
e3:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_O) e3:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_O)
e3:SetCode(EVENT_REMOVE) e3:SetCode(EVENT_REMOVE)
e3:SetProperty(EFFECT_FLAG_DELAY)
e3:SetCountLimit(1,id+20000) e3:SetCountLimit(1,id+20000)
e3:SetTarget(s.thtg2) e3:SetTarget(s.thtg2)
e3:SetOperation(s.thop2) e3:SetOperation(s.thop2)
...@@ -115,7 +116,7 @@ function s.thop2(e,tp,eg,ep,ev,re,r,rp) ...@@ -115,7 +116,7 @@ function s.thop2(e,tp,eg,ep,ev,re,r,rp)
Duel.RegisterEffect(e4,tp) Duel.RegisterEffect(e4,tp)
end end
function s.efcon(e,tp,eg,ep,ev,re,r,rp) function s.efcon(e,tp,eg,ep,ev,re,r,rp)
return r==REASON_FUSION and not re:GetHandler():IsType(TYPE_EFFECT) return bit.band(r,REASON_FUSION)~=0
end end
function s.efop(e,tp,eg,ep,ev,re,r,rp) function s.efop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler() local c=e:GetHandler()
...@@ -149,7 +150,8 @@ function s.efilter(e,te) ...@@ -149,7 +150,8 @@ function s.efilter(e,te)
end end
function s.chop(e,tp,eg,ep,ev,re,r,rp) function s.chop(e,tp,eg,ep,ev,re,r,rp)
local e1=e:GetLabelObject() local e1=e:GetLabelObject()
if not e1:GetHandler():IsLocation(LOCATION_MZONE) then if e1 and not e1:GetHandler():IsLocation(LOCATION_MZONE) then
e1:Reset() e1:Reset()
e:Reset()
end end
end end
\ No newline at end of file
...@@ -65,7 +65,7 @@ function s.activate(e,tp,eg,ep,ev,re,r,rp) ...@@ -65,7 +65,7 @@ function s.activate(e,tp,eg,ep,ev,re,r,rp)
local fid=rc:GetFieldID() local fid=rc:GetFieldID()
rc:RegisterFlagEffect(id,RESET_EVENT+RESETS_STANDARD+RESET_PHASE+PHASE_END+RESET_SELF_TURN,0,1,fid) rc:RegisterFlagEffect(id,RESET_EVENT+RESETS_STANDARD+RESET_PHASE+PHASE_END+RESET_SELF_TURN,0,1,fid)
rg:KeepAlive() rg:KeepAlive()
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(e:GetHandler())
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)
...@@ -113,11 +113,11 @@ function s.spop(e,tp,eg,ep,ev,re,r,rp) ...@@ -113,11 +113,11 @@ function s.spop(e,tp,eg,ep,ev,re,r,rp)
end end
end end
-- --
function s.cfilter(c,tp,rp) function s.cfilter2(c,tp,rp)
return c:IsPreviousPosition(POS_FACEUP) and c:IsReason(REASON_BATTLE) and c:IsPreviousControler(tp) return c:IsPreviousPosition(POS_FACEUP) and c:IsReason(REASON_BATTLE) and c:IsPreviousControler(tp)
end end
function s.con2(e,tp,eg,ep,ev,re,r,rp) function s.con2(e,tp,eg,ep,ev,re,r,rp)
return eg:IsExists(s.cfilter,1,nil,tp,rp) return eg:IsExists(s.cfilter2,1,nil,tp,rp)
end end
function s.op2(e,tp,eg,ep,ev,re,r,rp) function s.op2(e,tp,eg,ep,ev,re,r,rp)
Duel.Damage(1-tp,500,REASON_EFFECT) Duel.Damage(1-tp,500,REASON_EFFECT)
......
...@@ -59,7 +59,7 @@ function s.activate(e,tp,eg,ep,ev,re,r,rp) ...@@ -59,7 +59,7 @@ function s.activate(e,tp,eg,ep,ev,re,r,rp)
local chkf=tp local chkf=tp
local mg1=Duel.GetFusionMaterial(tp):Filter(s.filter1,nil,e) local mg1=Duel.GetFusionMaterial(tp):Filter(s.filter1,nil,e)
if Duel.IsExistingMatchingCard(s.cfilter,tp,LOCATION_MZONE,0,1,nil) then if Duel.IsExistingMatchingCard(s.cfilter,tp,LOCATION_MZONE,0,1,nil) then
local mg2=Duel.GetMatchingGroup(s.filter0,tp,LOCATION_DECK,0,nil) local mg2=Duel.GetMatchingGroup(s.filter0,tp,LOCATION_GRAVE+LOCATION_REMOVED,0,nil)
mg1:Merge(mg2) mg1:Merge(mg2)
end end
local sg1=Duel.GetMatchingGroup(s.filter2,tp,LOCATION_EXTRA,0,nil,e,tp,mg1,nil,chkf) local sg1=Duel.GetMatchingGroup(s.filter2,tp,LOCATION_EXTRA,0,nil,e,tp,mg1,nil,chkf)
...@@ -101,7 +101,7 @@ end ...@@ -101,7 +101,7 @@ end
-- --
function s.tdfilter2(c,e,tp) function s.tdfilter2(c,e,tp)
local att=c:GetAttribute() local att=c:GetAttribute()
return c:IsType(TYPE_FUSION) and c:IsSetCard(0x3540) and c:IsAbleToExtra() and Duel.IsExistingMatchingCard(s.spfilter0,tp,LOCATION_DECK,0,1,nil,att,e,tp) return c:IsType(TYPE_FUSION) and c:IsSetCard(0x3540) and c:IsAbleToExtra() and Duel.IsExistingMatchingCard(s.spfilter0,tp,LOCATION_DECK,0,1,nil,att,e,tp) and ((e:GetHandler():GetSequence()<5 and Duel.GetLocationCount(tp,LOCATION_MZONE)>0) or Duel.GetLocationCount(tp,LOCATION_MZONE)>1)
end end
function s.spfilter0(c,att,e,tp) function s.spfilter0(c,att,e,tp)
return c:IsType(TYPE_MONSTER) and c:IsSetCard(0x3540) and c:IsCanBeSpecialSummoned(e,0,tp,false,false) and c:IsAttribute(att)and Duel.IsExistingMatchingCard(s.spfilter1,tp,LOCATION_DECK,0,1,c,e,tp) return c:IsType(TYPE_MONSTER) and c:IsSetCard(0x3540) and c:IsCanBeSpecialSummoned(e,0,tp,false,false) and c:IsAttribute(att)and Duel.IsExistingMatchingCard(s.spfilter1,tp,LOCATION_DECK,0,1,c,e,tp)
...@@ -110,7 +110,7 @@ function s.spfilter1(c,e,tp) ...@@ -110,7 +110,7 @@ function s.spfilter1(c,e,tp)
return c:IsType(TYPE_MONSTER) and c:IsSetCard(0x5540) and c:IsCanBeSpecialSummoned(e,0,tp,false,false) return c:IsType(TYPE_MONSTER) and c:IsSetCard(0x5540) and c:IsCanBeSpecialSummoned(e,0,tp,false,false)
end end
function s.atktg(e,tp,eg,ep,ev,re,r,rp,chk,chkc) function s.atktg(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
if chk==0 then return Duel.IsExistingTarget(s.tdfilter2,tp,LOCATION_MZONE,0,1,nil,e,tp) and Duel.GetLocationCount(tp,LOCATION_MZONE)>1 end if chk==0 then return Duel.IsExistingTarget(s.tdfilter2,tp,LOCATION_MZONE,0,1,nil,e,tp) end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_FACEUP) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_FACEUP)
Duel.SelectTarget(tp,s.tdfilter2,tp,LOCATION_MZONE,0,1,1,nil,e,tp) Duel.SelectTarget(tp,s.tdfilter2,tp,LOCATION_MZONE,0,1,1,nil,e,tp)
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,1,tp,LOCATION_DECK) Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,1,tp,LOCATION_DECK)
...@@ -121,6 +121,7 @@ function s.atkop(e,tp,eg,ep,ev,re,r,rp) ...@@ -121,6 +121,7 @@ function s.atkop(e,tp,eg,ep,ev,re,r,rp)
local tc=Duel.GetFirstTarget() local tc=Duel.GetFirstTarget()
if not (tc:IsRelateToEffect(e) and tc:IsFaceup()) then return end if not (tc:IsRelateToEffect(e) and tc:IsFaceup()) then return end
if Duel.SendtoDeck(tc,nil,2,REASON_EFFECT)~=0 then if Duel.SendtoDeck(tc,nil,2,REASON_EFFECT)~=0 then
if Duel.GetLocationCount(tp,LOCATION_MZONE)<2 then return end
local att=tc:GetAttribute() local att=tc:GetAttribute()
if Duel.IsExistingMatchingCard(s.spfilter0,tp,LOCATION_DECK,0,1,nil,att,e,tp) then if Duel.IsExistingMatchingCard(s.spfilter0,tp,LOCATION_DECK,0,1,nil,att,e,tp) then
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON)
...@@ -128,7 +129,23 @@ function s.atkop(e,tp,eg,ep,ev,re,r,rp) ...@@ -128,7 +129,23 @@ function s.atkop(e,tp,eg,ep,ev,re,r,rp)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON)
local g2=Duel.SelectMatchingCard(tp,s.spfilter1,tp,LOCATION_DECK,0,1,1,g1:GetFirst(),e,tp) local g2=Duel.SelectMatchingCard(tp,s.spfilter1,tp,LOCATION_DECK,0,1,1,g1:GetFirst(),e,tp)
g1:Merge(g2) g1:Merge(g2)
Duel.SpecialSummon(g1,SUMMON_TYPE_SPECIAL,tp,tp,false,false,POS_FACEUP) local sc=g1:GetFirst()
while sc do
Duel.SpecialSummonStep(sc,SUMMON_TYPE_SPECIAL,tp,tp,false,false,POS_FACEUP)
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetCode(EFFECT_DISABLE)
e1:SetReset(RESET_EVENT+RESETS_STANDARD)
sc:RegisterEffect(e1)
local e2=Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_SINGLE)
e2:SetCode(EFFECT_DISABLE_EFFECT)
e2:SetValue(RESET_TURN_SET)
e2:SetReset(RESET_EVENT+RESETS_STANDARD)
sc:RegisterEffect(e2)
Duel.SpecialSummonComplete()
sc=g1:GetNext()
end
end end
end end
......
--璃月 香菱 --璃月 香菱
local s,id=GetID() local s,id=GetID()
function s.initial_effect(c) function s.initial_effect(c)
--token --token
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
e1:SetCategory(CATEGORY_SPECIAL_SUMMON+CATEGORY_TOKEN) e1:SetCategory(CATEGORY_SPECIAL_SUMMON+CATEGORY_TOKEN)
e1:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_F) e1:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_F)
...@@ -27,13 +27,13 @@ function s.initial_effect(c) ...@@ -27,13 +27,13 @@ function s.initial_effect(c)
end end
function s.sptg(e,tp,eg,ep,ev,re,r,rp,chk) function s.sptg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.GetLocationCount(tp,LOCATION_MZONE)>0 if chk==0 then return Duel.GetLocationCount(tp,LOCATION_MZONE)>0
and Duel.IsPlayerCanSpecialSummonMonster(tp,11600057,0,TYPES_TOKEN_MONSTER,2000,0,2,RACE_BEASTWARRIOR,ATTRIBUTE_FIRE) end and Duel.IsPlayerCanSpecialSummonMonster(tp,11600057,0x3540,TYPES_TOKEN_MONSTER,2000,0,2,RACE_BEASTWARRIOR,ATTRIBUTE_FIRE) end
Duel.SetOperationInfo(0,CATEGORY_TOKEN,nil,1,0,0) Duel.SetOperationInfo(0,CATEGORY_TOKEN,nil,1,0,0)
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,1,0,0) Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,1,0,0)
end end
function s.spop(e,tp,eg,ep,ev,re,r,rp) function s.spop(e,tp,eg,ep,ev,re,r,rp)
if Duel.GetLocationCount(tp,LOCATION_MZONE)>0 if Duel.GetLocationCount(tp,LOCATION_MZONE)>0
and Duel.IsPlayerCanSpecialSummonMonster(tp,11600057,0,TYPES_TOKEN_MONSTER,2000,0,2,RACE_BEASTWARRIOR,ATTRIBUTE_FIRE) then and Duel.IsPlayerCanSpecialSummonMonster(tp,11600057,0x3540,TYPES_TOKEN_MONSTER,2000,0,2,RACE_BEASTWARRIOR,ATTRIBUTE_FIRE) then
local token=Duel.CreateToken(tp,11600057) local token=Duel.CreateToken(tp,11600057)
Duel.SpecialSummon(token,0,tp,tp,false,false,POS_FACEUP) Duel.SpecialSummon(token,0,tp,tp,false,false,POS_FACEUP)
end end
......
...@@ -49,13 +49,13 @@ function s.atkcon2(e,tp,eg,ep,ev,re,r,rp) ...@@ -49,13 +49,13 @@ function s.atkcon2(e,tp,eg,ep,ev,re,r,rp)
end end
function s.sptg(e,tp,eg,ep,ev,re,r,rp,chk) function s.sptg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.GetLocationCount(tp,LOCATION_MZONE)>0 if chk==0 then return Duel.GetLocationCount(tp,LOCATION_MZONE)>0
and Duel.IsPlayerCanSpecialSummonMonster(tp,11600069,0,TYPES_TOKEN_MONSTER,0,1500,1,RACE_PLANT,ATTRIBUTE_WATER) end and Duel.IsPlayerCanSpecialSummonMonster(tp,11600069,0x3540,TYPES_TOKEN_MONSTER,0,1500,1,RACE_PLANT,ATTRIBUTE_WATER) end
Duel.SetOperationInfo(0,CATEGORY_TOKEN,nil,1,0,0) Duel.SetOperationInfo(0,CATEGORY_TOKEN,nil,1,0,0)
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,1,0,0) Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,1,0,0)
end end
function s.spop(e,tp,eg,ep,ev,re,r,rp) function s.spop(e,tp,eg,ep,ev,re,r,rp)
if Duel.GetLocationCount(tp,LOCATION_MZONE)>0 if Duel.GetLocationCount(tp,LOCATION_MZONE)>0
and Duel.IsPlayerCanSpecialSummonMonster(tp,11600069,0,TYPES_TOKEN_MONSTER,0,1500,1,RACE_PLANT,ATTRIBUTE_WATER) then and Duel.IsPlayerCanSpecialSummonMonster(tp,11600069,0x3540,TYPES_TOKEN_MONSTER,0,1500,1,RACE_PLANT,ATTRIBUTE_WATER) then
local token=Duel.CreateToken(tp,11600069) local token=Duel.CreateToken(tp,11600069)
Duel.SpecialSummon(token,0,tp,tp,false,false,POS_FACEUP) Duel.SpecialSummon(token,0,tp,tp,false,false,POS_FACEUP)
end end
......
...@@ -9,7 +9,42 @@ function s.initial_effect(c) ...@@ -9,7 +9,42 @@ function s.initial_effect(c)
e1:SetTarget(s.target) e1:SetTarget(s.target)
e1:SetOperation(s.activate) e1:SetOperation(s.activate)
c:RegisterEffect(e1) c:RegisterEffect(e1)
if not s.global_check then
s.global_check=true
local ge1=Effect.CreateEffect(c)
ge1:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
ge1:SetCode(EVENT_LEAVE_FIELD)
ge1:SetOperation(s.checkop2)
Duel.RegisterEffect(ge1,0)
local ge2=Effect.CreateEffect(c)
ge2:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
ge2:SetCode(EVENT_LEAVE_DECK)
ge2:SetOperation(s.checkop3)
Duel.RegisterEffect(ge2,0)
end
end
function s.checkop2(e,tp,eg,ep,ev,re,r,rp)
local tc=eg:GetFirst()
while tc do
local tp=tc:GetPreviousControler()
if tp==e:GetHandler():GetOwner() and tc:GetPreviousPosition()&POS_FACEUP~=0 and tc:IsType(TYPE_MONSTER) and tc:IsLevelAbove(5) then
Duel.RegisterFlagEffect(tp,id+10001,0,0,0)
end
tc=eg:GetNext()
end
end end
function s.checkop3(e,tp,eg,ep,ev,re,r,rp)
local tc=eg:GetFirst()
local tp=e:GetHandler():GetOwner()
while tc do
if tc:IsPreviousLocation(LOCATION_EXTRA) then
Duel.RegisterFlagEffect(tp,id+20001,0,0,0)
end
tc=eg:GetNext()
end
end
--
function s.filter(c) function s.filter(c)
return c:IsSetCard(0x52a1) and ((c:IsFaceup() and c:IsLocation(LOCATION_REMOVED)) or not c:IsLocation(LOCATION_REMOVED)) and not c:IsCode(id) and (c:IsAbleToDeck() or c:IsLocation(LOCATION_DECK)) return c:IsSetCard(0x52a1) and ((c:IsFaceup() and c:IsLocation(LOCATION_REMOVED)) or not c:IsLocation(LOCATION_REMOVED)) and not c:IsCode(id) and (c:IsAbleToDeck() or c:IsLocation(LOCATION_DECK))
end end
......
...@@ -11,39 +11,7 @@ function s.initial_effect(c) ...@@ -11,39 +11,7 @@ function s.initial_effect(c)
e1:SetTarget(s.sptg1) e1:SetTarget(s.sptg1)
e1:SetOperation(s.spop1) e1:SetOperation(s.spop1)
c:RegisterEffect(e1) c:RegisterEffect(e1)
if not s.global_check then
s.global_check=true
local ge1=Effect.CreateEffect(c)
ge1:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
ge1:SetCode(EVENT_LEAVE_FIELD)
ge1:SetOperation(s.checkop2)
Duel.RegisterEffect(ge1,0)
local ge2=Effect.CreateEffect(c)
ge2:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
ge2:SetCode(EVENT_LEAVE_DECK)
ge2:SetOperation(s.checkop3)
Duel.RegisterEffect(ge2,0)
end
end
function s.checkop2(e,tp,eg,ep,ev,re,r,rp)
local tc=eg:GetFirst()
while tc do
local tp=tc:GetPreviousControler()
if tp==e:GetHandler():GetOwner() and tc:GetPreviousPosition()&POS_FACEUP~=0 and tc:IsType(TYPE_MONSTER) and tc:IsLevelAbove(5) then
Duel.RegisterFlagEffect(tp,id+10000,0,0,0)
end
tc=eg:GetNext()
end
end
function s.checkop3(e,tp,eg,ep,ev,re,r,rp)
local tc=eg:GetFirst()
local tp=e:GetHandler():GetOwner()
while tc do
if tc:IsPreviousLocation(LOCATION_EXTRA) then
Duel.RegisterFlagEffect(tp,id+20000,0,0,0)
end
tc=eg:GetNext()
end
end end
function s.cost(e,tp,eg,ep,ev,re,r,rp,chk) function s.cost(e,tp,eg,ep,ev,re,r,rp,chk)
......
...@@ -74,12 +74,19 @@ function c12835101.initial_effect(c) ...@@ -74,12 +74,19 @@ function c12835101.initial_effect(c)
local ce0=Effect.CreateEffect(c) local ce0=Effect.CreateEffect(c)
ce0:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS) ce0:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
ce0:SetCode(EVENT_ADJUST) ce0:SetCode(EVENT_ADJUST)
ce0:SetCondition(c12835101.con0)
ce0:SetOperation(c12835101.op0) ce0:SetOperation(c12835101.op0)
Duel.RegisterEffect(ce0,0) Duel.RegisterEffect(ce0,0)
end end
end end
function c12835101.con0(e)
return Duel.GetFlagEffect(tp,12835101+1)==0
end
function c12835101.op0(e,tp,eg,ep,ev,re,r,rp) function c12835101.op0(e,tp,eg,ep,ev,re,r,rp)
for tp = 0,1 do for tp = 0,1 do
if Duel.GetCurrentPhase()==PHASE_END then
Duel.RegisterFlagEffect(tp,12835101+1,RESET_PHASE+PHASE_DRAW,0,1)
end
if Duel.IsPlayerAffectedByEffect(tp,12835101) then if Duel.IsPlayerAffectedByEffect(tp,12835101) then
local g=Duel.GetMatchingGroup(Card.IsFaceup,tp,4,0,nil) local g=Duel.GetMatchingGroup(Card.IsFaceup,tp,4,0,nil)
::a:: ::a::
......
...@@ -46,9 +46,11 @@ function c29990350.cost(e,tp,eg,ep,ev,re,r,rp,chk) ...@@ -46,9 +46,11 @@ function c29990350.cost(e,tp,eg,ep,ev,re,r,rp,chk)
end end
function c29990350.sptg(e,tp,eg,ep,ev,re,r,rp,chk) function c29990350.sptg(e,tp,eg,ep,ev,re,r,rp,chk)
local g=Duel.GetMatchingGroup(c29990350.spfilter1,tp,LOCATION_GRAVE+LOCATION_REMOVED,0,nil,e,tp) local g=Duel.GetMatchingGroup(c29990350.spfilter1,tp,LOCATION_GRAVE+LOCATION_REMOVED,0,nil,e,tp)
local h1=Duel.GetFieldGroupCount(tp,LOCATION_HAND,0)
if e:GetHandler():IsLocation(LOCATION_HAND) then h1=h1-1 end
if chk==0 then return not Duel.IsPlayerAffectedByEffect(tp,59822133) if chk==0 then return not Duel.IsPlayerAffectedByEffect(tp,59822133)
and Duel.GetLocationCount(tp,LOCATION_MZONE)>1 and g:GetClassCount(Card.GetCode)>1 and Duel.GetLocationCount(tp,LOCATION_MZONE)>1 and g:GetClassCount(Card.GetCode)>1
and Duel.GetFieldGroupCount(tp,LOCATION_HAND,0)>0 and h1>0
end end
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,2,tp,LOCATION_GRAVE+LOCATION_REMOVED) Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,2,tp,LOCATION_GRAVE+LOCATION_REMOVED)
Duel.SetOperationInfo(0,CATEGORY_HANDES,nil,0,tp,1) Duel.SetOperationInfo(0,CATEGORY_HANDES,nil,0,tp,1)
......
...@@ -31,7 +31,9 @@ local ct=Duel.GetFieldGroupCount(tp,LOCATION_MZONE,0) ...@@ -31,7 +31,9 @@ local ct=Duel.GetFieldGroupCount(tp,LOCATION_MZONE,0)
Duel.PayLPCost(tp,ct*700) Duel.PayLPCost(tp,ct*700)
end end
function c29990360.tg(e,tp,eg,ep,ev,re,r,rp,chk,chkc) function c29990360.tg(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
if chk==0 then return Duel.GetFieldGroupCount(tp,LOCATION_HAND,0)>0 local h1=Duel.GetFieldGroupCount(tp,LOCATION_HAND,0)
if e:GetHandler():IsLocation(LOCATION_HAND) then h1=h1-1 end
if chk==0 then return h1>0
end end
Duel.SetOperationInfo(0,CATEGORY_HANDES,nil,0,tp,1) Duel.SetOperationInfo(0,CATEGORY_HANDES,nil,0,tp,1)
end end
......
...@@ -39,9 +39,11 @@ function c29990600.xyzfilter(c,mg) ...@@ -39,9 +39,11 @@ function c29990600.xyzfilter(c,mg)
and c:IsType(TYPE_XYZ) and c:IsRace(RACE_FAIRY))) and c:IsXyzSummonable(nil,mg) and c:IsType(TYPE_XYZ) and c:IsRace(RACE_FAIRY))) and c:IsXyzSummonable(nil,mg)
end end
function c29990600.sctg(e,tp,eg,ep,ev,re,r,rp,chk) function c29990600.sctg(e,tp,eg,ep,ev,re,r,rp,chk)
local h1=Duel.GetFieldGroupCount(tp,LOCATION_HAND,0)
if e:GetHandler():IsLocation(LOCATION_HAND) then h1=h1-1 end
if chk==0 then if chk==0 then
local mg=Duel.GetMatchingGroup(c29990600.mfilter,tp,LOCATION_MZONE,0,nil) local mg=Duel.GetMatchingGroup(c29990600.mfilter,tp,LOCATION_MZONE,0,nil)
return Duel.GetFieldGroupCount(tp,LOCATION_HAND,0)>0 return h1>0
and Duel.IsExistingMatchingCard(c29990600.xyzfilter,tp,LOCATION_EXTRA,0,1,nil,mg) and Duel.IsExistingMatchingCard(c29990600.xyzfilter,tp,LOCATION_EXTRA,0,1,nil,mg)
end end
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,1,tp,LOCATION_EXTRA) Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,1,tp,LOCATION_EXTRA)
......
...@@ -39,9 +39,11 @@ function c29990620.xyzfilter(c,mg) ...@@ -39,9 +39,11 @@ function c29990620.xyzfilter(c,mg)
and c:IsType(TYPE_XYZ) and c:IsRace(RACE_FAIRY))) and c:IsXyzSummonable(nil,mg) and c:IsType(TYPE_XYZ) and c:IsRace(RACE_FAIRY))) and c:IsXyzSummonable(nil,mg)
end end
function c29990620.sctg(e,tp,eg,ep,ev,re,r,rp,chk) function c29990620.sctg(e,tp,eg,ep,ev,re,r,rp,chk)
local h1=Duel.GetFieldGroupCount(tp,LOCATION_HAND,0)
if e:GetHandler():IsLocation(LOCATION_HAND) then h1=h1-1 end
if chk==0 then if chk==0 then
local mg=Duel.GetMatchingGroup(c29990620.mfilter,tp,LOCATION_MZONE,0,nil) local mg=Duel.GetMatchingGroup(c29990620.mfilter,tp,LOCATION_MZONE,0,nil)
return Duel.GetFieldGroupCount(tp,LOCATION_HAND,0)>0 return h1>0
and Duel.IsExistingMatchingCard(c29990620.xyzfilter,tp,LOCATION_EXTRA,0,1,nil,mg) and Duel.IsExistingMatchingCard(c29990620.xyzfilter,tp,LOCATION_EXTRA,0,1,nil,mg)
end end
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,1,tp,LOCATION_EXTRA) Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,1,tp,LOCATION_EXTRA)
......
...@@ -33,7 +33,7 @@ function c29990700.filter2(c) ...@@ -33,7 +33,7 @@ function c29990700.filter2(c)
return c:IsType(TYPE_QUICKPLAY) and c:IsAbleToDeck() return c:IsType(TYPE_QUICKPLAY) and c:IsAbleToDeck()
end end
function c29990700.target(e,tp,eg,ep,ev,re,r,rp,chk) function c29990700.target(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return true end if chk==0 then return Duel.IsExistingMatchingCard(c29990700.filter,tp,0,LOCATION_MZONE,1,nil) end
local sg=Duel.GetMatchingGroup(c29990700.filter,tp,0,LOCATION_MZONE,nil) local sg=Duel.GetMatchingGroup(c29990700.filter,tp,0,LOCATION_MZONE,nil)
Duel.SetOperationInfo(0,CATEGORY_TOEXTRA,sg,sg:GetCount(),0,0) Duel.SetOperationInfo(0,CATEGORY_TOEXTRA,sg,sg:GetCount(),0,0)
end end
......
...@@ -22,7 +22,7 @@ end ...@@ -22,7 +22,7 @@ end
function s.descheck(c,tp) function s.descheck(c,tp)
return c:IsFaceup() and c:IsRace(RACE_ROCK) and Duel.GetMZoneCount(tp,c)>0 return c:IsFaceup() and c:IsRace(RACE_ROCK) and Duel.GetMZoneCount(tp,c)>0
end end
function s.sptg(e,tp,eg,ep,ev,re,r,rp,chk,chkc) function s.spstg(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
if chkc then return false end if chkc then return false end
if chk==0 then return Duel.IsExistingTarget(s.descheck,tp,LOCATION_MZONE,0,1,nil,tp) if chk==0 then return Duel.IsExistingTarget(s.descheck,tp,LOCATION_MZONE,0,1,nil,tp)
and Duel.IsExistingTarget(nil,tp,0,LOCATION_MZONE,1,nil) and Duel.IsExistingTarget(nil,tp,0,LOCATION_MZONE,1,nil)
...@@ -41,7 +41,7 @@ end ...@@ -41,7 +41,7 @@ end
function s.tgfilter(c) function s.tgfilter(c)
return c:IsRace(RACE_ROCK) and c:IsAbleToHand() return c:IsRace(RACE_ROCK) and c:IsAbleToHand()
end end
function s.spop(e,tp,eg,ep,ev,re,r,rp) function s.spsop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler() local c=e:GetHandler()
local g=Duel.GetChainInfo(0,CHAININFO_TARGET_CARDS):Filter(Card.IsRelateToEffect,nil,e) local g=Duel.GetChainInfo(0,CHAININFO_TARGET_CARDS):Filter(Card.IsRelateToEffect,nil,e)
if g:GetCount()>0 then if g:GetCount()>0 then
......
...@@ -13,7 +13,8 @@ function s.initial_effect(c) ...@@ -13,7 +13,8 @@ function s.initial_effect(c)
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(id,1)) e1:SetDescription(aux.Stringid(id,1))
e1:SetType(EFFECT_TYPE_ACTIVATE) e1:SetType(EFFECT_TYPE_ACTIVATE)
e1:SetCode(EVENT_FREE_CHAIN) e1:SetCode(EVENT_CHAINING)
e1:SetProperty(EFFECT_FLAG_DELAY)
e1:SetCost(s.cost) e1:SetCost(s.cost)
e1:SetTarget(s.target) e1:SetTarget(s.target)
e1:SetOperation(s.activate) e1:SetOperation(s.activate)
...@@ -25,8 +26,8 @@ function s.initial_effect(c) ...@@ -25,8 +26,8 @@ function s.initial_effect(c)
e2:SetType(EFFECT_TYPE_ACTIVATE) e2:SetType(EFFECT_TYPE_ACTIVATE)
e2:SetCode(EVENT_CHAINING) e2:SetCode(EVENT_CHAINING)
e2:SetCondition(s.condition) e2:SetCondition(s.condition)
e2:SetTarget(s.target) e2:SetTarget(s.target2)
e2:SetOperation(s.activate) e2:SetOperation(s.activate2)
c:RegisterEffect(e2) c:RegisterEffect(e2)
Duel.AddCustomActivityCounter(id,ACTIVITY_CHAIN,s.chainfilter) Duel.AddCustomActivityCounter(id,ACTIVITY_CHAIN,s.chainfilter)
end end
...@@ -73,14 +74,14 @@ end ...@@ -73,14 +74,14 @@ end
function s.condition(e,tp,eg,ep,ev,re,r,rp) function s.condition(e,tp,eg,ep,ev,re,r,rp)
return Duel.GetFlagEffect(tp,64836050)>0 return Duel.GetFlagEffect(tp,64836050)>0
end end
function s.target(e,tp,eg,ep,ev,re,r,rp,chk) function s.target2(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return true end if chk==0 then return true 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 if re:GetHandler():IsDestructable() and re:GetHandler():IsRelateToEffect(re) then
Duel.SetOperationInfo(0,CATEGORY_DESTROY,eg,1,0,0) Duel.SetOperationInfo(0,CATEGORY_DESTROY,eg,1,0,0)
end end
end end
function s.activate(e,tp,eg,ep,ev,re,r,rp) function s.activate2(e,tp,eg,ep,ev,re,r,rp)
if Duel.NegateActivation(ev) and re:GetHandler():IsRelateToEffect(re) then if Duel.NegateActivation(ev) and re:GetHandler():IsRelateToEffect(re) then
Duel.Destroy(eg,REASON_EFFECT) Duel.Destroy(eg,REASON_EFFECT)
end end
......
...@@ -24,13 +24,17 @@ function cm.initial_effect(c) ...@@ -24,13 +24,17 @@ function cm.initial_effect(c)
c:RegisterEffect(e1) c:RegisterEffect(e1)
end end
function cm.mfilter(c,tp) function cm.mfilter(c,tp)
return c:IsAbleToRemoveAsCost() and Duel.GetMZoneCount(tp,c)>0 return c:IsAbleToRemoveAsCost()
end end
function cm.rmcost(e,tp,eg,ep,ev,re,r,rp,chk) function cm.rmcost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(cm.mcfilter,tp,LOCATION_MZONE,0,1,nil,tp) end if chk==0 then return Duel.IsExistingMatchingCard(cm.mfilter,tp,LOCATION_MZONE,0,1,nil,tp) end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_REMOVE) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_REMOVE)
local g=Duel.SelectMatchingCard(tp,cm.mfilter,tp,LOCATION_MZONE,0,1,1,nil,tp) local g=Duel.SelectMatchingCard(tp,cm.mfilter,tp,LOCATION_MZONE,0,1,1,nil,tp)
e:SetLabel(g:GetFirst():IsType(TYPE_MONSTER) and aux.IsCodeListed(g:GetFirst(),65700005)) if g:GetFirst():IsType(TYPE_MONSTER) and aux.IsCodeListed(g:GetFirst(),65700005) then
e:SetLabel(1)
else
e:SetLabel(0)
end
Duel.Remove(g,POS_FACEUP,REASON_COST) Duel.Remove(g,POS_FACEUP,REASON_COST)
end end
function cm.rmtg(e,tp,eg,ep,ev,re,r,rp,chk) function cm.rmtg(e,tp,eg,ep,ev,re,r,rp,chk)
...@@ -38,8 +42,8 @@ function cm.rmtg(e,tp,eg,ep,ev,re,r,rp,chk) ...@@ -38,8 +42,8 @@ function cm.rmtg(e,tp,eg,ep,ev,re,r,rp,chk)
Duel.SetOperationInfo(0,CATEGORY_DESTROY,g,1,0,0) Duel.SetOperationInfo(0,CATEGORY_DESTROY,g,1,0,0)
end end
function cm.rmop(e,tp,eg,ep,ev,re,r,rp,chk) function cm.rmop(e,tp,eg,ep,ev,re,r,rp,chk)
local ck=Duel.GetTargetsRelateToChain() local ck=e:GetLabel()
if ck and Duel.SelectYesNo(tp,aux.Stringid(m,0)) then if ck==1 and Duel.SelectYesNo(tp,aux.Stringid(m,0)) then
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_REMOVE) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_REMOVE)
local tg=Duel.SelectMatchingCard(tp,aux.TRUE,tp,0,LOCATION_ONFIELD,1,1,nil,tp) local tg=Duel.SelectMatchingCard(tp,aux.TRUE,tp,0,LOCATION_ONFIELD,1,1,nil,tp)
if tg:GetCount()>0 then if tg:GetCount()>0 then
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment