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

byd

parent 257bc890
Pipeline #30199 passed with stages
in 58 minutes and 35 seconds
expansions/pics/50218117.jpg

132 KB | W: | H:

expansions/pics/50218117.jpg

102 KB | W: | H:

expansions/pics/50218117.jpg
expansions/pics/50218117.jpg
expansions/pics/50218117.jpg
expansions/pics/50218117.jpg
  • 2-up
  • Swipe
  • Onion skin
expansions/pics/50218120.jpg

71 KB | W: | H:

expansions/pics/50218120.jpg

104 KB | W: | H:

expansions/pics/50218120.jpg
expansions/pics/50218120.jpg
expansions/pics/50218120.jpg
expansions/pics/50218120.jpg
  • 2-up
  • Swipe
  • Onion skin
expansions/pics/65700100.jpg

12.6 KB | W: | H:

expansions/pics/65700100.jpg

98 KB | W: | H:

expansions/pics/65700100.jpg
expansions/pics/65700100.jpg
expansions/pics/65700100.jpg
expansions/pics/65700100.jpg
  • 2-up
  • Swipe
  • Onion skin
...@@ -30,12 +30,12 @@ function s.thcon(e,tp,eg,ep,ev,re,r,rp) ...@@ -30,12 +30,12 @@ function s.thcon(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler() local c=e:GetHandler()
return c:IsPreviousLocation(LOCATION_OVERLAY) and not c:IsReason(REASON_RULE) return c:IsPreviousLocation(LOCATION_OVERLAY) and not c:IsReason(REASON_RULE)
end end
function s.afilter(c) function s.afilter(c,e,tp)
return c:GetOverlayGroup():IsExists(s.thfilter,1,nil) return c:GetOverlayGroup():IsExists(s.thfilter,1,nil,e,tp)
end end
function s.thtg(e,tp,eg,ep,ev,re,r,rp,chk) function s.thtg(e,tp,eg,ep,ev,re,r,rp,chk)
local g=Duel.GetMatchingGroup(s.thfilter,tp,LOCATION_GRAVE,0,nil,e,tp) local g=Duel.GetMatchingGroup(s.thfilter,tp,LOCATION_GRAVE,0,nil,e,tp)
local tg=Duel.GetMatchingGroup(s.afilter,tp,LOCATION_MZONE,0,nil) local tg=Duel.GetMatchingGroup(s.afilter,tp,LOCATION_MZONE,0,nil,e,tp)
for tc in aux.Next(tg) do for tc in aux.Next(tg) do
local og=tc:GetOverlayGroup():Filter(s.thfilter,nil,e,tp) local og=tc:GetOverlayGroup():Filter(s.thfilter,nil,e,tp)
g:Merge(og) g:Merge(og)
...@@ -46,7 +46,7 @@ end ...@@ -46,7 +46,7 @@ end
function s.thop(e,tp,eg,ep,ev,re,r,rp) function s.thop(e,tp,eg,ep,ev,re,r,rp)
local g=Duel.GetMatchingGroup(aux.NecroValleyFilter(s.thfilter),tp,LOCATION_GRAVE,0,nil,e,tp) local g=Duel.GetMatchingGroup(aux.NecroValleyFilter(s.thfilter),tp,LOCATION_GRAVE,0,nil,e,tp)
local tg=Duel.GetMatchingGroup(s.afilter,tp,LOCATION_MZONE,0,nil) local tg=Duel.GetMatchingGroup(s.afilter,tp,LOCATION_MZONE,0,nil,e,tp)
for tc in aux.Next(tg) do for tc in aux.Next(tg) do
local og=tc:GetOverlayGroup():Filter(s.thfilter,nil,e,tp) local og=tc:GetOverlayGroup():Filter(s.thfilter,nil,e,tp)
g:Merge(og) g:Merge(og)
...@@ -66,6 +66,7 @@ function s.specialsum(c) ...@@ -66,6 +66,7 @@ function s.specialsum(c)
e1:SetCategory(CATEGORY_SPECIAL_SUMMON) e1:SetCategory(CATEGORY_SPECIAL_SUMMON)
e1:SetType(EFFECT_TYPE_ACTIVATE) e1:SetType(EFFECT_TYPE_ACTIVATE)
e1:SetCode(EVENT_FREE_CHAIN) e1:SetCode(EVENT_FREE_CHAIN)
e1:SetCountLimit(1,id+114)
e1:SetCondition(s.condition) e1:SetCondition(s.condition)
e1:SetTarget(s.target) e1:SetTarget(s.target)
e1:SetOperation(s.activate) e1:SetOperation(s.activate)
......
...@@ -20,11 +20,11 @@ function s.initial_effect(c) ...@@ -20,11 +20,11 @@ function s.initial_effect(c)
--battle indes --battle indes
local e3=Effect.CreateEffect(c) local e3=Effect.CreateEffect(c)
e3:SetType(EFFECT_TYPE_FIELD) e3:SetType(EFFECT_TYPE_FIELD)
e3:SetRange(LOCATION_MZONE)
e3:SetCode(EFFECT_INDESTRUCTABLE_BATTLE) e3:SetCode(EFFECT_INDESTRUCTABLE_BATTLE)
e3:SetRange(LOCATION_MZONE)
e3:SetTargetRange(LOCATION_ONFIELD,LOCATION_ONFIELD) e3:SetTargetRange(LOCATION_ONFIELD,LOCATION_ONFIELD)
e3:SetValue(1) e3:SetValue(1)
c:RegisterEffect(e1) c:RegisterEffect(e3)
end end
function s.rmtg(e,tp,eg,ep,ev,re,r,rp,chk) function s.rmtg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return e:GetHandler():IsAbleToRemove() if chk==0 then return e:GetHandler():IsAbleToRemove()
...@@ -32,22 +32,19 @@ function s.rmtg(e,tp,eg,ep,ev,re,r,rp,chk) ...@@ -32,22 +32,19 @@ function s.rmtg(e,tp,eg,ep,ev,re,r,rp,chk)
Duel.SetOperationInfo(0,CATEGORY_REMOVE,nil,1,tp,LOCATION_ONFIELD) Duel.SetOperationInfo(0,CATEGORY_REMOVE,nil,1,tp,LOCATION_ONFIELD)
end end
function s.rmop(e,tp,eg,ep,ev,re,r,rp) function s.rmop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_REMOVE) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_REMOVE)
local g=Duel.SelectMatchingCard(tp,s.remfilter,tp,0,LOCATION_ONFIELD,1,1,nil) local g=Duel.SelectMatchingCard(tp,s.remfilter,tp,0,LOCATION_ONFIELD,1,1,nil)
if Duel.Remove(g,0,REASON_EFFECT+REASON_TEMPORARY)>0 and g:IsExists(Card.IsLocation,1,nil,LOCATION_REMOVED) then if Duel.Remove(g,0,REASON_EFFECT+REASON_TEMPORARY)>0 and g:IsExists(Card.IsLocation,1,nil,LOCATION_REMOVED) then
local og=Duel.GetOperatedGroup():Filter(Card.IsLocation,nil,LOCATION_REMOVED) local rc=g:GetFirst()
local c=e:GetHandler() if rc:IsType(TYPE_TOKEN) then return end
for tc in aux.Next(og) do
tc:RegisterFlagEffect(id,RESET_EVENT+RESETS_STANDARD+RESET_PHASE+PHASE_END,0,1)
end
og:KeepAlive()
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(2116237,2))
e1:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS) e1:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
e1:SetCode(EVENT_PHASE+PHASE_END) e1:SetCode(EVENT_PHASE+PHASE_END)
e1:SetReset(RESET_PHASE+PHASE_END) e1:SetReset(RESET_PHASE+PHASE_END)
e1:SetLabelObject(og) e1:SetLabelObject(rc)
e1:SetCountLimit(2) e1:SetCountLimit(1)
e1:SetCondition(s.retcon)
e1:SetOperation(s.retop) e1:SetOperation(s.retop)
Duel.RegisterEffect(e1,tp) Duel.RegisterEffect(e1,tp)
end end
...@@ -55,12 +52,6 @@ end ...@@ -55,12 +52,6 @@ end
function s.retfilter(c) function s.retfilter(c)
return c:GetFlagEffect(id)~=0 return c:GetFlagEffect(id)~=0
end end
function s.retcon(e,tp,eg,ep,ev,re,r,rp)
return e:GetLabelObject():IsExists(s.retfilter,1,nil)
end
function s.retop(e,tp,eg,ep,ev,re,r,rp) function s.retop(e,tp,eg,ep,ev,re,r,rp)
local g=e:GetLabelObject():Filter(s.retfilter,nil) Duel.ReturnToField(e:GetLabelObject())
for tc in aux.Next(g) do end
Duel.ReturnToField(tc) \ No newline at end of file
end
end
...@@ -42,18 +42,17 @@ function s.spop(e,tp,eg,ep,ev,re,r,rp) ...@@ -42,18 +42,17 @@ function s.spop(e,tp,eg,ep,ev,re,r,rp)
Duel.SpecialSummon(c,0,tp,tp,false,false,POS_FACEUP) Duel.SpecialSummon(c,0,tp,tp,false,false,POS_FACEUP)
Duel.BreakEffect() Duel.BreakEffect()
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_DISABLE) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_DISABLE)
local g=Duel.SelectMatchingCard(tp,aux.NegateAnyFilter,tp,0,LOCATION_ONFIELD,1,1,nil) local g=Duel.SelectMatchingCard(tp,aux.NegateAnyFilter,tp,0,LOCATION_ONFIELD,1,1,nil):GetFirst()
local tc=g:GetFirst() Duel.NegateRelatedChain(g,RESET_TURN_SET)
Duel.NegateRelatedChain(tc,RESET_TURN_SET)
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE) e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetCode(EFFECT_DISABLE) e1:SetCode(EFFECT_DISABLE)
e1:SetReset(RESET_EVENT+RESETS_STANDARD+RESET_PHASE+PHASE_END) e1:SetReset(RESET_EVENT+RESETS_STANDARD+RESET_PHASE+PHASE_END)
tc:RegisterEffect(e1) g:RegisterEffect(e1)
local e2=Effect.CreateEffect(c) local e2=Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_SINGLE) e2:SetType(EFFECT_TYPE_SINGLE)
e2:SetCode(EFFECT_DISABLE_EFFECT) e2:SetCode(EFFECT_DISABLE_EFFECT)
e2:SetValue(RESET_TURN_SET) e2:SetValue(RESET_TURN_SET)
e2:SetReset(RESET_EVENT+RESETS_STANDARD+RESET_PHASE+PHASE_END) e2:SetReset(RESET_EVENT+RESETS_STANDARD+RESET_PHASE+PHASE_END)
tc:RegisterEffect(e2) g:RegisterEffect(e2)
end end
...@@ -10,7 +10,7 @@ function s.initial_effect(c) ...@@ -10,7 +10,7 @@ function s.initial_effect(c)
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(id,0)) e1:SetDescription(aux.Stringid(id,0))
e1:SetCategory(CATEGORY_REMOVE) e1:SetCategory(CATEGORY_REMOVE)
e1:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_TRIGGER_F) e1:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_QUICK_F)
e1:SetCode(EVENT_CHAINING) e1:SetCode(EVENT_CHAINING)
e1:SetRange(LOCATION_MZONE) e1:SetRange(LOCATION_MZONE)
e1:SetCountLimit(1) e1:SetCountLimit(1)
...@@ -31,11 +31,10 @@ function s.initial_effect(c) ...@@ -31,11 +31,10 @@ function s.initial_effect(c)
c:RegisterEffect(e2) c:RegisterEffect(e2)
--atkdown --atkdown
local e3=Effect.CreateEffect(c) local e3=Effect.CreateEffect(c)
e3:SetType(EFFECT_TYPE_FIELD) e3:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
e3:SetCode(EFFECT_SET_ATTACK_FINAL) e3:SetCode(EVENT_ADJUST)
e3:SetRange(LOCATION_MZONE) e3:SetRange(LOCATION_MZONE)
e3:SetTargetRange(0,LOCATION_MZONE) e3:SetOperation(s.op)
e3:SetValue(math.ceil(c:GetBaseAttack()/2))
c:RegisterEffect(e3) c:RegisterEffect(e3)
end end
...@@ -141,3 +140,16 @@ end ...@@ -141,3 +140,16 @@ end
function s.splimit(e,c) function s.splimit(e,c)
return c.setcard~="Abnormality" return c.setcard~="Abnormality"
end end
function s.op(e,c)
local g=Duel.GetMatchingGroup(Card.IsFaceup,tp,0,LOCATION_MZONE,nil)
local tc=g:GetFirst()
while tc do
local e1=Effect.CreateEffect(e:GetHandler())
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetCode(EFFECT_SET_ATTACK_FINAL)
e1:SetValue(math.ceil(tc:GetBaseAttack()/2))
e1:SetReset(RESET_EVENT+RESETS_STANDARD+RESET_PHASE+PHASE_BATTLE)
tc:RegisterEffect(e1)
tc=g:GetNext()
end
end
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment