Commit 72d5cc21 authored by POLYMER's avatar POLYMER

update 250106

parent 42c93f8f
...@@ -4715,7 +4715,7 @@ ...@@ -4715,7 +4715,7 @@
82221051 0 82221051 0
82221057 0 82221057 0
82224065 0 82224065 0
82224072 1 82224072 0
131000000 0 131000000 0
131000013 0 131000013 0
131000016 0 131000016 0
...@@ -6370,6 +6370,11 @@ ...@@ -6370,6 +6370,11 @@
79100520 0 79100520 0
91010016 0 91010016 0
91040034 0 91040034 0
31400134 0
12847740 0
65899920 0
91060015 0
91060017 0
#limit #limit
33403513 1 33403513 1
82204250 0 82204250 0
...@@ -6479,6 +6484,8 @@ ...@@ -6479,6 +6484,8 @@
98921011 1 98921011 1
79100120 1 79100120 1
79100510 1 79100510 1
28318606 1
61000041 1
#semi limit #semi limit
13257316 2 13257316 2
13257346 2 13257346 2
...@@ -6864,6 +6871,7 @@ ...@@ -6864,6 +6871,7 @@
87402378 0 87402378 0
7451999 0 7451999 0
82208100 0 82208100 0
65899920 0
#limit #limit
33400006 1 33400006 1
33700311 1 33700311 1
......
No preview for this file type
No preview for this file type
expansions/pics/12847087.jpg

248 KB | W: | H:

expansions/pics/12847087.jpg

113 KB | W: | H:

expansions/pics/12847087.jpg
expansions/pics/12847087.jpg
expansions/pics/12847087.jpg
expansions/pics/12847087.jpg
  • 2-up
  • Swipe
  • Onion skin
expansions/pics/12847088.jpg

248 KB | W: | H:

expansions/pics/12847088.jpg

114 KB | W: | H:

expansions/pics/12847088.jpg
expansions/pics/12847088.jpg
expansions/pics/12847088.jpg
expansions/pics/12847088.jpg
  • 2-up
  • Swipe
  • Onion skin
expansions/pics/12866790.jpg

33.8 KB | W: | H:

expansions/pics/12866790.jpg

249 KB | W: | H:

expansions/pics/12866790.jpg
expansions/pics/12866790.jpg
expansions/pics/12866790.jpg
expansions/pics/12866790.jpg
  • 2-up
  • Swipe
  • Onion skin
expansions/pics/12866795.jpg

35.2 KB | W: | H:

expansions/pics/12866795.jpg

258 KB | W: | H:

expansions/pics/12866795.jpg
expansions/pics/12866795.jpg
expansions/pics/12866795.jpg
expansions/pics/12866795.jpg
  • 2-up
  • Swipe
  • Onion skin
expansions/pics/12866800.jpg

34.5 KB | W: | H:

expansions/pics/12866800.jpg

256 KB | W: | H:

expansions/pics/12866800.jpg
expansions/pics/12866800.jpg
expansions/pics/12866800.jpg
expansions/pics/12866800.jpg
  • 2-up
  • Swipe
  • Onion skin
expansions/pics/22348433.jpg

17.3 KB | W: | H:

expansions/pics/22348433.jpg

17.3 KB | W: | H:

expansions/pics/22348433.jpg
expansions/pics/22348433.jpg
expansions/pics/22348433.jpg
expansions/pics/22348433.jpg
  • 2-up
  • Swipe
  • Onion skin
expansions/pics/49811236.jpg

21 KB | W: | H:

expansions/pics/49811236.jpg

21 KB | W: | H:

expansions/pics/49811236.jpg
expansions/pics/49811236.jpg
expansions/pics/49811236.jpg
expansions/pics/49811236.jpg
  • 2-up
  • Swipe
  • Onion skin
expansions/pics/49811258.jpg

54.7 KB | W: | H:

expansions/pics/49811258.jpg

55.7 KB | W: | H:

expansions/pics/49811258.jpg
expansions/pics/49811258.jpg
expansions/pics/49811258.jpg
expansions/pics/49811258.jpg
  • 2-up
  • Swipe
  • Onion skin
expansions/pics/49811380.jpg

61.6 KB | W: | H:

expansions/pics/49811380.jpg

61.6 KB | W: | H:

expansions/pics/49811380.jpg
expansions/pics/49811380.jpg
expansions/pics/49811380.jpg
expansions/pics/49811380.jpg
  • 2-up
  • Swipe
  • Onion skin
expansions/pics/49811397.jpg

62.3 KB | W: | H:

expansions/pics/49811397.jpg

62.4 KB | W: | H:

expansions/pics/49811397.jpg
expansions/pics/49811397.jpg
expansions/pics/49811397.jpg
expansions/pics/49811397.jpg
  • 2-up
  • Swipe
  • Onion skin
expansions/pics/49811415.jpg

64.3 KB | W: | H:

expansions/pics/49811415.jpg

64.3 KB | W: | H:

expansions/pics/49811415.jpg
expansions/pics/49811415.jpg
expansions/pics/49811415.jpg
expansions/pics/49811415.jpg
  • 2-up
  • Swipe
  • Onion skin
expansions/pics/71401015.jpg

44.7 KB | W: | H:

expansions/pics/71401015.jpg

214 KB | W: | H:

expansions/pics/71401015.jpg
expansions/pics/71401015.jpg
expansions/pics/71401015.jpg
expansions/pics/71401015.jpg
  • 2-up
  • Swipe
  • Onion skin
expansions/pics/71401020.jpg

47.4 KB | W: | H:

expansions/pics/71401020.jpg

223 KB | W: | H:

expansions/pics/71401020.jpg
expansions/pics/71401020.jpg
expansions/pics/71401020.jpg
expansions/pics/71401020.jpg
  • 2-up
  • Swipe
  • Onion skin
expansions/pics/71401021.jpg

47.9 KB | W: | H:

expansions/pics/71401021.jpg

236 KB | W: | H:

expansions/pics/71401021.jpg
expansions/pics/71401021.jpg
expansions/pics/71401021.jpg
expansions/pics/71401021.jpg
  • 2-up
  • Swipe
  • Onion skin
expansions/pics/71403010.jpg

44.3 KB | W: | H:

expansions/pics/71403010.jpg

211 KB | W: | H:

expansions/pics/71403010.jpg
expansions/pics/71403010.jpg
expansions/pics/71403010.jpg
expansions/pics/71403010.jpg
  • 2-up
  • Swipe
  • Onion skin
...@@ -48,54 +48,72 @@ end ...@@ -48,54 +48,72 @@ end
--DeckGrave2ToExtra --DeckGrave2ToExtra
function s.e1toexfilter(c) function s.e1toexfilter(c)
return c:IsSetCard(zd) and c:IsType(TYPE_PENDULUM) and c:IsAbleToExtra() and not c:IsCode(id) return c:IsSetCard(zd) and c:IsType(TYPE_PENDULUM) and c:IsAbleToExtra() and not c:IsCode(id)
end end
function s.e1tg(e,tp,eg,ep,ev,re,r,rp,chk) function s.e1tg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(s.e1toexfilter,tp,LOCATION_DECK+LOCATION_GRAVE,0,1,nil) end if chk==0 then return Duel.IsExistingMatchingCard(s.e1toexfilter,tp,LOCATION_DECK+LOCATION_GRAVE,0,1,nil) end
end end
function s.e1op(e,tp,eg,ep,ev,re,r,rp) function s.e1op(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler() local c=e:GetHandler()
local e1=Effect.CreateEffect(c) local e2=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_FIELD) e2:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
e1:SetCode(EFFECT_SPSUMMON_COUNT_LIMIT) e2:SetCode(EVENT_SPSUMMON_SUCCESS)
e1:SetRange(LOCATION_MZONE) e2:SetOperation(s.op)
e1:SetProperty(EFFECT_FLAG_PLAYER_TARGET) e2:SetReset(RESET_PHASE+PHASE_END)
e1:SetReset(RESET_EVENT+RESETS_STANDARD+RESET_PHASE+PHASE_END) Duel.RegisterEffect(e2,tp)
e1:SetTargetRange(1,0) local e1=Effect.CreateEffect(e:GetHandler())
e1:SetValue(1) e1:SetType(EFFECT_TYPE_FIELD)
e1:SetTarget(s.e1lmtg) e1:SetProperty(EFFECT_FLAG_PLAYER_TARGET+EFFECT_FLAG_OATH)
c:RegisterEffect(e1) e1:SetCode(EFFECT_CANNOT_SPECIAL_SUMMON)
e1:SetReset(RESET_PHASE+PHASE_END)
e1:SetTargetRange(1,0)
e1:SetCondition(s.con)
e1:SetTarget(s.counterfilter1)
Duel.RegisterEffect(e1,tp)
if not (Duel.IsExistingMatchingCard(aux.NecroValleyFilter(s.e1toexfilter),tp,LOCATION_DECK+LOCATION_GRAVE,0,1,nil)) then return end if not (Duel.IsExistingMatchingCard(aux.NecroValleyFilter(s.e1toexfilter),tp,LOCATION_DECK+LOCATION_GRAVE,0,1,nil)) then return end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TODECK) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TODECK)
local g=Duel.SelectMatchingCard(tp,aux.NecroValleyFilter(s.e1toexfilter),tp,LOCATION_DECK+LOCATION_GRAVE,0,1,2,nil) local g=Duel.SelectMatchingCard(tp,aux.NecroValleyFilter(s.e1toexfilter),tp,LOCATION_DECK+LOCATION_GRAVE,0,1,2,nil)
Duel.SendtoExtraP(g,nil,REASON_EFFECT) Duel.SendtoExtraP(g,nil,REASON_EFFECT)
end
function s.fit0(c)
return c:IsPreviousLocation(LOCATION_EXTRA) and not c:IsSetCard(zd)
end
function s.con(e,tp,eg,ep,ev,re,r,rp)
return Duel.GetFlagEffect(tp,id)>0
end
function s.op(e,tp,eg,ep,ev,re,r,rp)
if eg:IsExists(s.fit0,1,nil) then
Duel.RegisterFlagEffect(tp,id,RESET_PHASE+PHASE_END,0,1)
end
end
function s.counterfilter1(e,c)
return c:IsLocation(LOCATION_EXTRA) and not c:IsSetCard(zd)
end end
function s.e1lmtg(c,e) function s.e1lmtg(c,e)
return not c:IsSetCard(zd) and c:IsLocation(LOCATION_EXTRA) return not c:IsSetCard(zd) and c:IsLocation(LOCATION_EXTRA)
end end
--e2 --e2
--DeckToHand --DeckToHand
function s.e2tohfilter(c) function s.e2tohfilter(c)
return c:IsSetCard(zd) and c:IsAbleToHand() and not c:IsCode(id) return c:IsSetCard(zd) and c:IsAbleToHand() and not c:IsCode(id)
end end
function s.e2tg(e,tp,eg,ep,ev,re,r,rp,chk) function s.e2tg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(s.e2tohfilter,tp,LOCATION_DECK,0,1,nil) end if chk==0 then return Duel.IsExistingMatchingCard(s.e2tohfilter,tp,LOCATION_DECK,0,1,nil) end
Duel.SetOperationInfo(0,CATEGORY_TOHAND,nil,1,0,LOCATION_DECK) Duel.SetOperationInfo(0,CATEGORY_TOHAND,nil,1,0,LOCATION_DECK)
end end
function s.e2op(e,tp,eg,ep,ev,re,r,rp) function s.e2op(e,tp,eg,ep,ev,re,r,rp)
if not (Duel.IsExistingMatchingCard(s.e2tohfilter,tp,LOCATION_DECK,0,1,nil)) then return end if not (Duel.IsExistingMatchingCard(s.e2tohfilter,tp,LOCATION_DECK,0,1,nil)) then return end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_ATOHAND) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_ATOHAND)
local g=Duel.SelectMatchingCard(tp,s.e2tohfilter,tp,LOCATION_DECK,0,1,1,nil) local g=Duel.SelectMatchingCard(tp,s.e2tohfilter,tp,LOCATION_DECK,0,1,1,nil)
Duel.SendtoHand(g,nil,REASON_EFFECT) Duel.SendtoHand(g,nil,REASON_EFFECT)
Duel.ConfirmCards(1-tp,g) Duel.ConfirmCards(1-tp,g)
end end
--e4 --e4
......
...@@ -42,42 +42,61 @@ function s.e1cost(e,tp,eg,ep,ev,re,r,rp,chk) ...@@ -42,42 +42,61 @@ function s.e1cost(e,tp,eg,ep,ev,re,r,rp,chk)
end end
function s.e1tohfilter(c) function s.e1tohfilter(c)
return c:IsSetCard(zd) and c:IsAbleToHand() and not c:IsCode(id) return c:IsSetCard(zd) and c:IsAbleToHand() and not c:IsCode(id)
end end
function s.e1tg(e,tp,eg,ep,ev,re,r,rp,chk) function s.e1tg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(s.e1tohfilter,tp,LOCATION_DECK,0,1,nil) end if chk==0 then return Duel.IsExistingMatchingCard(s.e1tohfilter,tp,LOCATION_DECK,0,1,nil) end
Duel.SetOperationInfo(0,CATEGORY_TOHAND,nil,1,0,LOCATION_DECK) Duel.SetOperationInfo(0,CATEGORY_TOHAND,nil,1,0,LOCATION_DECK)
end end
function s.e1op(e,tp,eg,ep,ev,re,r,rp) function s.e1op(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler() local c=e:GetHandler()
local e1=Effect.CreateEffect(c) local e2=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_FIELD) e2:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
e1:SetCode(EFFECT_SPSUMMON_COUNT_LIMIT) e2:SetCode(EVENT_SPSUMMON_SUCCESS)
e1:SetProperty(EFFECT_FLAG_PLAYER_TARGET) e2:SetOperation(s.op)
e1:SetTargetRange(LOCATION_EXTRA,0) e2:SetReset(RESET_PHASE+PHASE_END)
e1:SetCountLimit(1) Duel.RegisterEffect(e2,tp)
e1:SetValue(1) local e1=Effect.CreateEffect(e:GetHandler())
e1:SetReset(RESET_PHASE+PHASE_END) e1:SetType(EFFECT_TYPE_FIELD)
Duel.RegisterEffect(e1,tp) e1:SetProperty(EFFECT_FLAG_PLAYER_TARGET+EFFECT_FLAG_OATH)
e1:SetCode(EFFECT_CANNOT_SPECIAL_SUMMON)
e1:SetReset(RESET_PHASE+PHASE_END)
e1:SetTargetRange(1,0)
e1:SetCondition(s.con)
e1:SetTarget(s.counterfilter1)
Duel.RegisterEffect(e1,tp)
if not (Duel.IsExistingMatchingCard(s.e1tohfilter,tp,LOCATION_DECK,0,1,nil)) then return end if not (Duel.IsExistingMatchingCard(s.e1tohfilter,tp,LOCATION_DECK,0,1,nil)) then return end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_ATOHAND) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_ATOHAND)
local g=Duel.SelectMatchingCard(tp,s.e1tohfilter,tp,LOCATION_DECK,0,1,1,nil) local g=Duel.SelectMatchingCard(tp,s.e1tohfilter,tp,LOCATION_DECK,0,1,1,nil)
Duel.SendtoHand(g,nil,REASON_EFFECT) Duel.SendtoHand(g,nil,REASON_EFFECT)
Duel.ConfirmCards(1-tp,g) Duel.ConfirmCards(1-tp,g)
end
function s.fit0(c)
return c:IsPreviousLocation(LOCATION_EXTRA) and not c:IsSetCard(zd)
end
function s.con(e,tp,eg,ep,ev,re,r,rp)
return Duel.GetFlagEffect(tp,id)>0
end
function s.op(e,tp,eg,ep,ev,re,r,rp)
if eg:IsExists(s.fit0,1,nil) then
Duel.RegisterFlagEffect(tp,id,RESET_PHASE+PHASE_END,0,1)
end
end
function s.counterfilter1(e,c)
return c:IsLocation(LOCATION_EXTRA) and not c:IsSetCard(zd)
end end
function s.e1lmtg(c,e) function s.e1lmtg(c,e)
return not c:IsSetCard(zd) and c:IsLocation(LOCATION_EXTRA) return not c:IsSetCard(zd) and c:IsLocation(LOCATION_EXTRA)
end end
--e2 --e2
--DeckToHandRepDraw --DeckToHandRepDraw
function s.e1confilter(c) function s.e1confilter(c)
return c:IsFaceup() and c:IsSetCard(zd) and c:IsType(TYPE_FUSION) return c:IsFaceup() and c:IsSetCard(zd) and c:IsType(TYPE_FUSION)
end end
function s.e2con(e,tp,eg,ep,ev,re,r,rp) function s.e2con(e,tp,eg,ep,ev,re,r,rp)
...@@ -85,21 +104,21 @@ function s.e2con(e,tp,eg,ep,ev,re,r,rp) ...@@ -85,21 +104,21 @@ function s.e2con(e,tp,eg,ep,ev,re,r,rp)
end end
function s.e2tohfilter(c) function s.e2tohfilter(c)
return c:IsSetCard(zd) and c:IsAbleToHand() return c:IsSetCard(zd) and c:IsAbleToHand()
end end
function s.e2tg(e,tp,eg,ep,ev,re,r,rp,chk) function s.e2tg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return aux.IsPlayerCanNormalDraw(tp) and Duel.IsExistingMatchingCard(s.e2tohfilter,tp,LOCATION_DECK,0,2,nil) end if chk==0 then return aux.IsPlayerCanNormalDraw(tp) and Duel.IsExistingMatchingCard(s.e2tohfilter,tp,LOCATION_DECK,0,2,nil) end
Duel.SetOperationInfo(0,CATEGORY_TOHAND,nil,2,0,LOCATION_DECK) Duel.SetOperationInfo(0,CATEGORY_TOHAND,nil,2,0,LOCATION_DECK)
end end
function s.e2op(e,tp,eg,ep,ev,re,r,rp) function s.e2op(e,tp,eg,ep,ev,re,r,rp)
if not aux.IsPlayerCanNormalDraw(tp) then return end if not aux.IsPlayerCanNormalDraw(tp) then return end
aux.GiveUpNormalDraw(e,tp) aux.GiveUpNormalDraw(e,tp)
if not (Duel.IsExistingMatchingCard(s.e2tohfilter,tp,LOCATION_DECK,0,2,nil)) then return end if not (Duel.IsExistingMatchingCard(s.e2tohfilter,tp,LOCATION_DECK,0,2,nil)) then return end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_ATOHAND) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_ATOHAND)
local g=Duel.SelectMatchingCard(tp,s.e2tohfilter,tp,LOCATION_DECK,0,2,2,nil) local g=Duel.SelectMatchingCard(tp,s.e2tohfilter,tp,LOCATION_DECK,0,2,2,nil)
Duel.SendtoHand(g,nil,REASON_EFFECT) Duel.SendtoHand(g,nil,REASON_EFFECT)
Duel.ConfirmCards(1-tp,g) Duel.ConfirmCards(1-tp,g)
end end
...@@ -37,42 +37,42 @@ end ...@@ -37,42 +37,42 @@ end
--ExtraGraveToHand --ExtraGraveToHand
function s.e1tohfilter(c) function s.e1tohfilter(c)
local bl=c:IsSetCard(zd) and c:IsAbleToHand() local bl=c:IsSetCard(zd) and c:IsAbleToHand()
if c:IsLocation(LOCATION_EXTEA) then if c:IsLocation(LOCATION_EXTEA) then
return bl and c:IsFaceup() return bl and c:IsFaceup()
else else
return bl return bl
end end
end end
function s.e1tg(e,tp,eg,ep,ev,re,r,rp,chk) function s.e1tg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(s.e1tohfilter,tp,LOCATION_EXTRA+LOCATION_GRAVE,0,1,nil) end if chk==0 then return Duel.IsExistingMatchingCard(s.e1tohfilter,tp,LOCATION_EXTRA+LOCATION_GRAVE,0,1,nil) end
Duel.SetOperationInfo(0,CATEGORY_TOHAND,nil,1,0,LOCATION_EXTRA+LOCATION_GRAVE) Duel.SetOperationInfo(0,CATEGORY_TOHAND,nil,1,0,LOCATION_EXTRA+LOCATION_GRAVE)
end end
function s.e1op(e,tp,eg,ep,ev,re,r,rp) function s.e1op(e,tp,eg,ep,ev,re,r,rp)
if not (Duel.IsExistingMatchingCard(aux.NecroValleyFilter(s.e1tohfilter),tp,LOCATION_EXTRA+LOCATION_GRAVE,0,1,nil)) then return end if not (Duel.IsExistingMatchingCard(aux.NecroValleyFilter(s.e1tohfilter),tp,LOCATION_EXTRA+LOCATION_GRAVE,0,1,nil)) then return end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_ATOHAND) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_ATOHAND)
local g=Duel.SelectMatchingCard(tp,aux.NecroValleyFilter(s.e1tohfilter),tp,LOCATION_EXTRA+LOCATION_GRAVE,0,1,1,nil) local g=Duel.SelectMatchingCard(tp,aux.NecroValleyFilter(s.e1tohfilter),tp,LOCATION_EXTRA+LOCATION_GRAVE,0,1,1,nil)
Duel.SendtoHand(g,nil,REASON_EFFECT) Duel.SendtoHand(g,nil,REASON_EFFECT)
Duel.ConfirmCards(1-tp,g) Duel.ConfirmCards(1-tp,g)
end end
--e2 --e2
--NegateSpAndTrap --NegateSpAndTrap
function s.e2confilter(c) function s.e2confilter(c)
return c:IsSetCard(zd) and c:IsType(TYPE_FUSION) and c:IsFaceup() return c:IsSetCard(zd) and c:IsType(TYPE_FUSION) and c:IsFaceup()
end end
function s.e2con(e,tp,eg,ep,ev,re,r,rp) function s.e2con(e,tp,eg,ep,ev,re,r,rp)
return Duel.IsExistingMatchingCard(s.e2confilter,tp,LOCATION_MZONE,0,1,nil) and re:IsActiveType(TYPE_SPELL+TYPE_TRAP) and re:IsHasType(EFFECT_TYPE_ACTIVATE) and Duel.IsChainNegatable(ev) return Duel.IsExistingMatchingCard(s.e2confilter,tp,LOCATION_MZONE,0,1,nil) and re:IsActiveType(TYPE_SPELL+TYPE_TRAP) and re:IsHasType(EFFECT_TYPE_ACTIVATE) and Duel.IsChainNegatable(ev) and rp~=tp
end end
function s.e2cost(e,tp,eg,ep,ev,re,r,rp,chk) function s.e2cost(e,tp,eg,ep,ev,re,r,rp,chk)
local c=e:GetHandler() local c=e:GetHandler()
if chk==0 then return c:IsDiscardable() end if chk==0 then return c:IsDiscardable() end
Duel.SendtoGrave(c,REASON_COST+REASON_DISCARD) Duel.SendtoGrave(c,REASON_COST+REASON_DISCARD)
end end
function s.e2tg(e,tp,eg,ep,ev,re,r,rp,chk) function s.e2tg(e,tp,eg,ep,ev,re,r,rp,chk)
......
...@@ -20,7 +20,6 @@ function s.initial_effect(c) ...@@ -20,7 +20,6 @@ function s.initial_effect(c)
--AttackAll --AttackAll
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_POSITION)
e2:SetType(EFFECT_TYPE_IGNITION) e2:SetType(EFFECT_TYPE_IGNITION)
e2:SetRange(LOCATION_HAND) e2:SetRange(LOCATION_HAND)
e2:SetCode(EVENT_FREE_CHAIN) e2:SetCode(EVENT_FREE_CHAIN)
...@@ -114,20 +113,19 @@ function s.e2cost(e,tp,eg,ep,ev,re,r,rp,chk) ...@@ -114,20 +113,19 @@ function s.e2cost(e,tp,eg,ep,ev,re,r,rp,chk)
end end
function s.e2tgfilter(c) function s.e2tgfilter(c)
return c:IsSetCard(zd) and c:IsType(TYOE_FUSION) and c:IsFaceup() return c:IsSetCard(zd) and c:IsType(TYPE_FUSION) and c:IsFaceup()
end end
function s.e2tg(e,tp,eg,ep,ev,re,r,rp,chk) function s.e2tg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingTarget(s.e2tgfilter,tp,LOCATION_MZONE,0,1,nil) end if chk==0 then return Duel.IsExistingTarget(s.e2tgfilter,tp,LOCATION_MZONE,0,1,nil) end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TARGET) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TARGET)
local g=Duel.SelectMatchingCard(tp,s.e2tgfilter,tp,LOCATION_MZONE,0,1,1,nil) local g=Duel.SelectTarget(tp,s.e2tgfilter,tp,LOCATION_MZONE,0,1,1,nil)
end end
function s.e2op(e,tp,eg,ep,ev,re,r,rp) function s.e2op(e,tp,eg,ep,ev,re,r,rp)
local g=Duel.GetChainInfo(0,CHAININFO_TARGET_CARDS) local c=e:GetHandler()
local sg=g:Filter(Card.IsRelateToEffect,nil,e) local tc=Duel.GetFirstTarget()
if not sg then return end if tc then
local tc=sg:GetFirst()
--attack all --attack all
local e3=Effect.CreateEffect(c) local e3=Effect.CreateEffect(c)
e3:SetType(EFFECT_TYPE_SINGLE) e3:SetType(EFFECT_TYPE_SINGLE)
...@@ -135,4 +133,5 @@ function s.e2op(e,tp,eg,ep,ev,re,r,rp) ...@@ -135,4 +133,5 @@ function s.e2op(e,tp,eg,ep,ev,re,r,rp)
e3:SetReset(RESET_EVENT+RESETS_STANDARD+RESET_PHASE+PHASE_END) e3:SetReset(RESET_EVENT+RESETS_STANDARD+RESET_PHASE+PHASE_END)
e3:SetValue(1) e3:SetValue(1)
tc:RegisterEffect(e3) tc:RegisterEffect(e3)
end
end end
\ No newline at end of file
...@@ -107,6 +107,6 @@ function s.e2op(e,tp,eg,ep,ev,re,r,rp) ...@@ -107,6 +107,6 @@ function s.e2op(e,tp,eg,ep,ev,re,r,rp)
local tg=Duel.GetMatchingGroup(s.e2confilter,tp,LOCATION_MZONE,0,nil) local tg=Duel.GetMatchingGroup(s.e2confilter,tp,LOCATION_MZONE,0,nil)
local g=Duel.GetDecktopGroup(1-tp,tg:GetCount()) local g=Duel.GetDecktopGroup(1-tp,tg:GetCount())
Duel.DisableShuffleCheck() Duel.DisableShuffleCheck()
Duel.Remove(g,POS_FACEDOWN,REASON_EFFECT) Duel.Remove(g,POS_FACEUP,REASON_EFFECT)
end end
end end
...@@ -37,43 +37,61 @@ end ...@@ -37,43 +37,61 @@ end
--DeckGraveToHand --DeckGraveToHand
function s.e1tohfilter(c) function s.e1tohfilter(c)
return c:IsSetCard(zd) and c:IsAbleToHand() and c:IsCode(11602026,11602028) return c:IsSetCard(zd) and c:IsAbleToHand() and c:IsCode(11602026,11602028)
end end
function s.e1tg(e,tp,eg,ep,ev,re,r,rp,chk) function s.e1tg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(s.e1tohfilter,tp,LOCATION_DECK+LOCATION_GRAVE,0,1,nil) end if chk==0 then return Duel.IsExistingMatchingCard(s.e1tohfilter,tp,LOCATION_DECK+LOCATION_GRAVE,0,1,nil) end
Duel.SetOperationInfo(0,CATEGORY_TOHAND,nil,1,0,LOCATION_DECK+LOCATION_GRAVE) Duel.SetOperationInfo(0,CATEGORY_TOHAND,nil,1,0,LOCATION_DECK+LOCATION_GRAVE)
end
function s.fit0(c)
return c:IsPreviousLocation(LOCATION_EXTRA) and not c:IsSetCard(zd)
end
function s.con(e,tp,eg,ep,ev,re,r,rp)
return Duel.GetFlagEffect(tp,id)>0
end
function s.op(e,tp,eg,ep,ev,re,r,rp)
if eg:IsExists(s.fit0,1,nil) then
Duel.RegisterFlagEffect(tp,id,RESET_PHASE+PHASE_END,0,1)
end
end
function s.counterfilter1(e,c)
return c:IsLocation(LOCATION_EXTRA) and not c:IsSetCard(zd)
end end
function s.e1op(e,tp,eg,ep,ev,re,r,rp) function s.e1op(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler() local c=e:GetHandler()
local e1=Effect.CreateEffect(c) local e2=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_FIELD) e2:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
e1:SetCode(EFFECT_SPSUMMON_COUNT_LIMIT) e2:SetCode(EVENT_SPSUMMON_SUCCESS)
e1:SetRange(LOCATION_MZONE) e2:SetOperation(s.op)
e1:SetProperty(EFFECT_FLAG_PLAYER_TARGET) e2:SetReset(RESET_PHASE+PHASE_END)
e1:SetReset(RESET_EVENT+RESETS_STANDARD+RESET_PHASE+PHASE_END) Duel.RegisterEffect(e2,tp)
e1:SetTargetRange(1,0) local e1=Effect.CreateEffect(e:GetHandler())
e1:SetValue(1) e1:SetType(EFFECT_TYPE_FIELD)
e1:SetTarget(s.e1lmtg) e1:SetProperty(EFFECT_FLAG_PLAYER_TARGET+EFFECT_FLAG_OATH)
c:RegisterEffect(e1) e1:SetCode(EFFECT_CANNOT_SPECIAL_SUMMON)
e1:SetReset(RESET_PHASE+PHASE_END)
e1:SetTargetRange(1,0)
e1:SetCondition(s.con)
e1:SetTarget(s.counterfilter1)
Duel.RegisterEffect(e1,tp)
if not (Duel.IsExistingMatchingCard(aux.NecroValleyFilter(s.e1tohfilter),tp,LOCATION_DECK+LOCATION_GRAVE,0,1,nil)) then return end if not (Duel.IsExistingMatchingCard(aux.NecroValleyFilter(s.e1tohfilter),tp,LOCATION_DECK+LOCATION_GRAVE,0,1,nil)) then return end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_ATOHAND) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_ATOHAND)
local g=Duel.SelectMatchingCard(tp,aux.NecroValleyFilter(s.e1tohfilter),tp,LOCATION_DECK+LOCATION_GRAVE,0,1,1,nil) local g=Duel.SelectMatchingCard(tp,aux.NecroValleyFilter(s.e1tohfilter),tp,LOCATION_DECK+LOCATION_GRAVE,0,1,1,nil)
Duel.SendtoHand(g,nil,REASON_EFFECT) Duel.SendtoHand(g,nil,REASON_EFFECT)
Duel.ConfirmCards(1-tp,g) Duel.ConfirmCards(1-tp,g)
end end
function s.e1lmtg(c,e) function s.e1lmtg(c,e)
return not c:IsSetCard(zd) and c:IsLocation(LOCATION_EXTRA) return not c:IsSetCard(zd) and c:IsLocation(LOCATION_EXTRA)
end end
--e2 --e2
--RemoveOpHands --RemoveOpHands
function s.e2confilter(c) function s.e2confilter(c)
return c:IsSetCard(zd) and c:IsType(TYPE_FUSION) and c:IsFaceup() return c:IsSetCard(zd) and c:IsType(TYPE_FUSION) and c:IsFaceup()
end end
function s.e2con(e,tp,eg,ep,ev,re,r,rp) function s.e2con(e,tp,eg,ep,ev,re,r,rp)
...@@ -82,23 +100,23 @@ function s.e2con(e,tp,eg,ep,ev,re,r,rp) ...@@ -82,23 +100,23 @@ function s.e2con(e,tp,eg,ep,ev,re,r,rp)
end end
function s.e2cost(e,tp,eg,ep,ev,re,r,rp,chk) function s.e2cost(e,tp,eg,ep,ev,re,r,rp,chk)
local c=e:GetHandler() local c=e:GetHandler()
if chk==0 then return c:IsDiscardable() end if chk==0 then return c:IsDiscardable() end
Duel.SendtoGrave(c,REASON_COST+REASON_DISCARD) Duel.SendtoGrave(c,REASON_COST+REASON_DISCARD)
end end
function s.e2rmfilter(c,tp) function s.e2rmfilter(c,tp)
return c:IsAbleToRemove() and c:IsControler(1-tp) and c:IsLocation(LOCATION_HAND) return c:IsAbleToRemove() and c:IsControler(1-tp) and c:IsLocation(LOCATION_HAND)
end end
function s.e2tg(e,tp,eg,ep,ev,re,r,rp,chk) function s.e2tg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return eg:IsExists(s.e2rmfilter,1,nil,tp) end if chk==0 then return eg:IsExists(s.e2rmfilter,1,nil,tp) end
local rg=eg:Filter(s.e2rmfilter,nil,tp) local rg=eg:Filter(s.e2rmfilter,nil,tp)
Duel.SetOperationInfo(0,CATEGORY_REMOVE,rg,rg:GetCount(),0,LOCATION_HAND) Duel.SetOperationInfo(0,CATEGORY_REMOVE,rg,rg:GetCount(),0,LOCATION_HAND)
end end
function s.e2op(e,tp,eg,ep,ev,re,r,rp) function s.e2op(e,tp,eg,ep,ev,re,r,rp)
local rg=eg:Filter(s.e2rmfilter,nil,tp) local rg=eg:Filter(s.e2rmfilter,nil,tp)
local sg=rg:Filter(Card.IsRelateToEffect,nil,e) local sg=rg:Filter(Card.IsRelateToEffect,nil,e)
Duel.Remove(sg,POS_FACEUP,REASON_EFFECT) Duel.Remove(sg,POS_FACEUP,REASON_EFFECT)
end end
...@@ -4,7 +4,7 @@ local s,id,o=GetID() ...@@ -4,7 +4,7 @@ local s,id,o=GetID()
local zd=0x5224 local zd=0x5224
function s.initial_effect(c) function s.initial_effect(c)
--fusion material --fusion material
c:EnableReviveLimit() c:EnableReviveLimit()
aux.AddFusionProcCodeFun(c,11602000,aux.FilterBoolFunction(Card.IsFusionType,TYPE_PENDULUM),1,true,true) aux.AddFusionProcCodeFun(c,11602000,aux.FilterBoolFunction(Card.IsFusionType,TYPE_PENDULUM),1,true,true)
...@@ -40,30 +40,30 @@ end ...@@ -40,30 +40,30 @@ end
--DisableTargetAndSpExtraGrave --DisableTargetAndSpExtraGrave
function s.e1disfilter(c) function s.e1disfilter(c)
return not c:IsType(TYPE_NORMAL) and c:IsFaceup() return not c:IsType(TYPE_NORMAL) and c:IsFaceup()
end end
function s.e1tg(e,tp,eg,ep,ev,re,r,rp,chk) function s.e1tg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingTarget(s.e1disfilter,tp,LOCATKON_ONFIELD,LOCATION_ONFIELD,1,nil) end if chk==0 then return Duel.IsExistingTarget(aux.NegateMonsterFilter,tp,LOCATKON_ONFIELD,LOCATION_ONFIELD,1,nil) end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_DISABLE) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_DISABLE)
local g=Duel.SelectTarget(tp,s.e1filter,tp,LOCATION_ONFIELD,LOCATION_ONFIELD,1,1,nil) local g=Duel.SelectTarget(tp,aux.NegateMonsterFilter,tp,LOCATION_ONFIELD,LOCATION_ONFIELD,1,1,nil)
Duel.SetOperationInfo(0,CATEGORY_DISABLE,g,1,0,LOCATION_ONFIELD) Duel.SetOperationInfo(0,CATEGORY_DISABLE,g,1,0,LOCATION_ONFIELD)
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,1,0,LOCATION_EXTRA+LOCATION_GRAVE) Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,1,0,LOCATION_EXTRA+LOCATION_GRAVE)
end end
function s.e1spfilter(c,e,tp) function s.e1spfilter(c,e,tp)
return c:IsSetCard(zd) and (not c:IsLocation(LOCATION_EXTRA) or c:IsFaceup()) and c:IsCanBeSpecialSummoned(e,0,tp,false,false) return c:IsSetCard(zd) and (not c:IsLocation(LOCATION_EXTRA) or c:IsFaceup()) and c:IsCanBeSpecialSummoned(e,0,tp,false,false)
end end
function s.e1op(e,tp,eg,ep,ev,re,r,rp) function s.e1op(e,tp,eg,ep,ev,re,r,rp)
local tc=Duel.GetFirstTarget() local tc=Duel.GetFirstTarget()
if not tc:IsRelateToEffect(e) and tc:IsLocation(LOCATION_ONFIELD) then return end if tc:IsFaceup() and tc:IsRelateToEffect(e) and tc:IsCanBeDisabledByEffect(e) then
local c=e:GetHandler() local c=e:GetHandler()
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_FIELD) e1:SetType(EFFECT_TYPE_FIELD)
e1:SetCode(EFFECT_DISABLE) e1:SetCode(EFFECT_DISABLE)
e1:SetTargetRange(0,1) e1:SetTargetRange(0,LOCATION_ONFIELD)
e1:SetTarget(s.e1distg) e1:SetTarget(s.e1distg)
e1:SetLabelObject(tc) e1:SetLabelObject(tc)
e1:SetReset(RESET_PHASE+PHASE_END) e1:SetReset(RESET_PHASE+PHASE_END)
...@@ -81,6 +81,7 @@ function s.e1op(e,tp,eg,ep,ev,re,r,rp) ...@@ -81,6 +81,7 @@ function s.e1op(e,tp,eg,ep,ev,re,r,rp)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON)
local g=Duel.SelectMatchingCard(tp,aux.NecroValleyFilter(s.e1spfilter),tp,LOCATION_EXTRA+LOCATION_GRAVE,0,1,1,nil,e,tp) local g=Duel.SelectMatchingCard(tp,aux.NecroValleyFilter(s.e1spfilter),tp,LOCATION_EXTRA+LOCATION_GRAVE,0,1,1,nil,e,tp)
Duel.SpecialSummon(g,0,tp,tp,false,false,POS_FACEUP) Duel.SpecialSummon(g,0,tp,tp,false,false,POS_FACEUP)
end
end end
function s.e1distg(e,c) function s.e1distg(e,c)
...@@ -100,18 +101,18 @@ end ...@@ -100,18 +101,18 @@ end
--ToDeckDelayToDeck --ToDeckDelayToDeck
function s.e2tg(e,tp,eg,ep,ev,re,r,rp,chk) function s.e2tg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingTarget(Card.IsAbleToDeck,tp,LOCATION_ONFILED,0,1,nil) end if chk==0 then return Duel.IsExistingTarget(Card.IsAbleToDeck,tp,LOCATION_ONFILED,0,1,nil) end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TODECK) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TODECK)
local g=Duel.SelectTarget(tp,Card.IsAbleToDeck,tp,LOCATION_ONFIELD,0,1,1,nil) local g=Duel.SelectTarget(tp,Card.IsAbleToDeck,tp,LOCATION_ONFIELD,0,1,1,nil)
Duel.SetOperationInfo(0,CATEGORY_TODECK,g,1,0,LOCATION_ONFIELD) Duel.SetOperationInfo(0,CATEGORY_TODECK,g,1,0,LOCATION_ONFIELD)
end end
function s.e2op(e,tp,eg,ep,ev,re,r,rp) function s.e2op(e,tp,eg,ep,ev,re,r,rp)
local g=Duel.GetChainInfo(0,CHAININFO_TARGET_CARDS) local g=Duel.GetChainInfo(0,CHAININFO_TARGET_CARDS)
local sg=g:Filter(Card.IsRelateToEffect,nil,e) local sg=g:Filter(Card.IsRelateToEffect,nil,e)
if not Duel.SendtoDeck(sg,nil,2,REASON_EFFECT) then return end if not Duel.SendtoDeck(sg,nil,2,REASON_EFFECT) then return end
local e1=Effect.CreateEffect(e:GetHandler()) local e1=Effect.CreateEffect(e:GetHandler())
e1:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS) e1:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
e1:SetCode(EVENT_PHASE+PHAS_END) e1:SetCode(EVENT_PHASE+PHAS_END)
e1:SetCountLimit(1) e1:SetCountLimit(1)
......
...@@ -63,7 +63,7 @@ function s.e1op(e,tp,eg,ep,ev,re,r,rp) ...@@ -63,7 +63,7 @@ function s.e1op(e,tp,eg,ep,ev,re,r,rp)
local e1=Effect.CreateEffect(e:GetHandler()) local e1=Effect.CreateEffect(e:GetHandler())
e1:SetType(EFFECT_TYPE_SINGLE) e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetCode(EFFECT_UPDATE_ATTACK) e1:SetCode(EFFECT_UPDATE_ATTACK)
e1:SetReset(RESET_EVENT+RESETS_STANDARD+RESET_PHASE+PHASE_END) e1:SetReset(RESET_EVENT+RESETS_STANDARD+RESET_PHASE+PHASE_END,2)
e1:SetValue(math.ceil(tc:GetAttack()/2)) e1:SetValue(math.ceil(tc:GetAttack()/2))
c:RegisterEffect(e1) c:RegisterEffect(e1)
end end
...@@ -78,7 +78,7 @@ function s.e1op(e,tp,eg,ep,ev,re,r,rp) ...@@ -78,7 +78,7 @@ function s.e1op(e,tp,eg,ep,ev,re,r,rp)
e2:SetCode(EFFECT_IMMUNE_EFFECT) e2:SetCode(EFFECT_IMMUNE_EFFECT)
e2:SetProperty(EFFECT_FLAG_SINGLE_RANGE) e2:SetProperty(EFFECT_FLAG_SINGLE_RANGE)
e2:SetRange(LOCATION_MZONE) e2:SetRange(LOCATION_MZONE)
e2:SetReset(RESET_EVENT+RESETS_STANDARD+RESET_PHASE+PHASE_END) e2:SetReset(RESET_EVENT+RESETS_STANDARD+RESET_PHASE+PHASE_END,2)
e2:SetValue(s.e2efilter1) e2:SetValue(s.e2efilter1)
c:RegisterEffect(e2) c:RegisterEffect(e2)
c:RegisterFlagEffect(id,RESET_EVENT+RESETS_STANDARD+RESET_PHASE+PHASE_END,EFFECT_FLAG_CLIENT_HINT,1,id,aux.Stringid(id,2)) c:RegisterFlagEffect(id,RESET_EVENT+RESETS_STANDARD+RESET_PHASE+PHASE_END,EFFECT_FLAG_CLIENT_HINT,1,id,aux.Stringid(id,2))
...@@ -90,7 +90,7 @@ function s.e1op(e,tp,eg,ep,ev,re,r,rp) ...@@ -90,7 +90,7 @@ function s.e1op(e,tp,eg,ep,ev,re,r,rp)
e2:SetCode(EFFECT_IMMUNE_EFFECT) e2:SetCode(EFFECT_IMMUNE_EFFECT)
e2:SetProperty(EFFECT_FLAG_SINGLE_RANGE) e2:SetProperty(EFFECT_FLAG_SINGLE_RANGE)
e2:SetRange(LOCATION_MZONE) e2:SetRange(LOCATION_MZONE)
e2:SetReset(RESET_EVENT+RESETS_STANDARD+RESET_PHASE+PHASE_END) e2:SetReset(RESET_EVENT+RESETS_STANDARD+RESET_PHASE+PHASE_END,2)
e2:SetValue(s.e2efilter2) e2:SetValue(s.e2efilter2)
c:RegisterEffect(e2) c:RegisterEffect(e2)
c:RegisterFlagEffect(id,RESET_EVENT+RESETS_STANDARD+RESET_PHASE+PHASE_END,EFFECT_FLAG_CLIENT_HINT,1,id,aux.Stringid(id,3)) c:RegisterFlagEffect(id,RESET_EVENT+RESETS_STANDARD+RESET_PHASE+PHASE_END,EFFECT_FLAG_CLIENT_HINT,1,id,aux.Stringid(id,3))
...@@ -102,23 +102,23 @@ function s.e1op(e,tp,eg,ep,ev,re,r,rp) ...@@ -102,23 +102,23 @@ function s.e1op(e,tp,eg,ep,ev,re,r,rp)
e2:SetCode(EFFECT_IMMUNE_EFFECT) e2:SetCode(EFFECT_IMMUNE_EFFECT)
e2:SetProperty(EFFECT_FLAG_SINGLE_RANGE) e2:SetProperty(EFFECT_FLAG_SINGLE_RANGE)
e2:SetRange(LOCATION_MZONE) e2:SetRange(LOCATION_MZONE)
e2:SetReset(RESET_EVENT+RESETS_STANDARD+RESET_PHASE+PHASE_END) e2:SetReset(RESET_EVENT+RESETS_STANDARD+RESET_PHASE+PHASE_END,2)
e2:SetValue(s.e2efilter3) e2:SetValue(s.e2efilter3)
c:RegisterEffect(e2) c:RegisterEffect(e2)
c:RegisterFlagEffect(id,RESET_EVENT+RESETS_STANDARD+RESET_PHASE+PHASE_END,EFFECT_FLAG_CLIENT_HINT,1,id,aux.Stringid(id,4)) c:RegisterFlagEffect(id,RESET_EVENT+RESETS_STANDARD+RESET_PHASE+PHASE_END,EFFECT_FLAG_CLIENT_HINT,1,id,aux.Stringid(id,4))
end end
end end
function s.e2efilter1(e,re) function s.e2efilter1(e,te)
return e:GetHandlerPlayer()~=re:GetOwnerPlayer() and re:IsType(TYPE_SPELL) return e:GetHandlerPlayer()~=te:GetOwnerPlayer() and te:GetHandler():GetOriginalType()&TYPE_SPELL~=0
end end
function s.e2efilter2(e,re) function s.e2efilter2(e,te)
return e:GetHandlerPlayer()~=re:GetOwnerPlayer() and re:IsType(TYPE_TRAP) return e:GetHandlerPlayer()~=te:GetOwnerPlayer() and te:GetHandler():GetOriginalType()&TYPE_TRAP~=0
end end
function s.e2efilter3(e,re) function s.e2efilter3(e,te)
return e:GetHandlerPlayer()~=re:GetOwnerPlayer() and re:IsType(TYPE_MONSTER) return e:GetHandlerPlayer()~=te:GetOwnerPlayer() and te:GetHandler():GetOriginalType()&TYPE_MONSTER~=0
end end
--e2 --e2
......
...@@ -39,7 +39,7 @@ function cm.initial_effect(c) ...@@ -39,7 +39,7 @@ function cm.initial_effect(c)
local e8=Effect.CreateEffect(c) local e8=Effect.CreateEffect(c)
e8:SetDescription(aux.Stringid(m,1)) e8:SetDescription(aux.Stringid(m,1))
e8:SetCategory(CATEGORY_COUNTER) e8:SetCategory(CATEGORY_COUNTER)
e8:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_TRIGGER_O) e8:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_TRIGGER_F)
e8:SetCode(EVENT_PHASE+PHASE_STANDBY) e8:SetCode(EVENT_PHASE+PHASE_STANDBY)
e8:SetRange(LOCATION_MZONE) e8:SetRange(LOCATION_MZONE)
e8:SetCountLimit(1) e8:SetCountLimit(1)
...@@ -79,7 +79,7 @@ function cm.thfilter(c) ...@@ -79,7 +79,7 @@ function cm.thfilter(c)
return c:IsSetCard(0xc221) and c:IsType(TYPE_SPELL+TYPE_TRAP) and c:IsAbleToHand() return c:IsSetCard(0xc221) and c:IsType(TYPE_SPELL+TYPE_TRAP) 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+LOCATION_GRAVE,0,1,nil) and e:GetHandler():IsCanAddCounter(0x1164,3) end if chk==0 then return Duel.IsExistingMatchingCard(cm.thfilter,tp,LOCATION_DECK+LOCATION_GRAVE,0,1,nil) and e:GetHandler():IsCanAddCounter(0x1164,4) end
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 cm.thop(e,tp,eg,ep,ev,re,r,rp) function cm.thop(e,tp,eg,ep,ev,re,r,rp)
...@@ -87,20 +87,18 @@ function cm.thop(e,tp,eg,ep,ev,re,r,rp) ...@@ -87,20 +87,18 @@ function cm.thop(e,tp,eg,ep,ev,re,r,rp)
local g=Duel.SelectMatchingCard(tp,aux.NecroValleyFilter(cm.thfilter),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>0 and Duel.SendtoHand(g,nil,REASON_EFFECT)~=0 then if #g>0 and Duel.SendtoHand(g,nil,REASON_EFFECT)~=0 then
Duel.ConfirmCards(1-tp,g) Duel.ConfirmCards(1-tp,g)
if e:GetHandler():IsCanAddCounter(0x1164,3) then if e:GetHandler():IsCanAddCounter(0x1164,4) then
Duel.BreakEffect() Duel.BreakEffect()
e:GetHandler():AddCounter(0x1164,3) e:GetHandler():AddCounter(0x1164,4)
end end
end end
end end
function cm.cttg(e,tp,eg,ep,ev,re,r,rp,chk) function cm.cttg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return e:GetHandler():GetCounter(0x1164)<3 and e:GetHandler():IsCanAddCounter(0x1164,(3-e:GetHandler():GetCounter(0x1164))) end if chk==0 then return e:GetHandler():IsCanAddCounter(0x1164,3) end
end end
function cm.ctop(e,tp,eg,ep,ev,re,r,rp) function cm.ctop(e,tp,eg,ep,ev,re,r,rp)
if e:GetHandler():GetCounter(0x1164)>=3 then return end if e:GetHandler():IsCanAddCounter(0x1164,3) e then return end
while e:GetHandler():GetCounter(0x1164)<3 do e:GetHandler():AddCounter(0x1164,3)
e:GetHandler():AddCounter(0x1164,1)
end
end end
function cm.shcon(e,tp,eg,ep,ev,re,r,rp) function cm.shcon(e,tp,eg,ep,ev,re,r,rp)
return e:GetHandler():GetCounter(0x1164)>0 and Duel.GetFlagEffect(tp,11639001)<=1 return e:GetHandler():GetCounter(0x1164)>0 and Duel.GetFlagEffect(tp,11639001)<=1
......
...@@ -32,9 +32,8 @@ function cm.initial_effect(c) ...@@ -32,9 +32,8 @@ function cm.initial_effect(c)
-- --
local e3=Effect.CreateEffect(c) local e3=Effect.CreateEffect(c)
e3:SetType(EFFECT_TYPE_EQUIP) e3:SetType(EFFECT_TYPE_EQUIP)
e3:SetCode(EFFECT_INDESTRUCTABLE_COUNT) e3:SetCode(EFFECT_INDESTRUCTABLE_EFFECT)
e3:SetCountLimit(1) e3:SetValue(1)
e3:SetValue(cm.valcon)
c:RegisterEffect(e3) c:RegisterEffect(e3)
--tograve --tograve
local e4=Effect.CreateEffect(c) local e4=Effect.CreateEffect(c)
...@@ -89,9 +88,6 @@ function cm.op(e,tp,eg,ep,ev,re,r,rp) ...@@ -89,9 +88,6 @@ function cm.op(e,tp,eg,ep,ev,re,r,rp)
Duel.ConfirmCards(1-tp,g) Duel.ConfirmCards(1-tp,g)
end end
end end
function cm.valcon(e,re,r,rp)
return bit.band(r,REASON_EFFECT)~=0
end
function cm.tgcost(e,tp,eg,ep,ev,re,r,rp,chk) function cm.tgcost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return true end if chk==0 then return true end
Duel.RegisterFlagEffect(0,11639005,0,0,1) Duel.RegisterFlagEffect(0,11639005,0,0,1)
......
...@@ -32,9 +32,8 @@ function cm.initial_effect(c) ...@@ -32,9 +32,8 @@ function cm.initial_effect(c)
-- --
local e3=Effect.CreateEffect(c) local e3=Effect.CreateEffect(c)
e3:SetType(EFFECT_TYPE_EQUIP) e3:SetType(EFFECT_TYPE_EQUIP)
e3:SetCode(EFFECT_INDESTRUCTABLE_COUNT) e3:SetCode(EFFECT_INDESTRUCTABLE_BATTLE)
e3:SetCountLimit(1) e3:SetValue(1)
e3:SetValue(cm.valcon)
c:RegisterEffect(e3) c:RegisterEffect(e3)
--tograve --tograve
local e4=Effect.CreateEffect(c) local e4=Effect.CreateEffect(c)
...@@ -89,9 +88,6 @@ function cm.op(e,tp,eg,ep,ev,re,r,rp) ...@@ -89,9 +88,6 @@ function cm.op(e,tp,eg,ep,ev,re,r,rp)
Duel.ConfirmCards(1-tp,g) Duel.ConfirmCards(1-tp,g)
end end
end end
function cm.valcon(e,re,r,rp)
return bit.band(r,REASON_BATTLE)~=0
end
function cm.tgcost(e,tp,eg,ep,ev,re,r,rp,chk) function cm.tgcost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return true end if chk==0 then return true end
Duel.RegisterFlagEffect(0,11639005,0,0,1) Duel.RegisterFlagEffect(0,11639005,0,0,1)
......
...@@ -29,12 +29,12 @@ function cm.initial_effect(c) ...@@ -29,12 +29,12 @@ function cm.initial_effect(c)
e2:SetTarget(cm.tg) e2:SetTarget(cm.tg)
e2:SetOperation(cm.op) e2:SetOperation(cm.op)
c:RegisterEffect(e2) c:RegisterEffect(e2)
--Untargetable --UnOptargetable
local e3=Effect.CreateEffect(c) local e3=Effect.CreateEffect(c)
e3:SetType(EFFECT_TYPE_EQUIP) e3:SetType(EFFECT_TYPE_EQUIP)
e3:SetCode(EFFECT_CANNOT_BE_EFFECT_TARGET) e3:SetCode(EFFECT_CANNOT_BE_EFFECT_TARGET)
e3:SetProperty(EFFECT_FLAG_IGNORE_IMMUNE) e3:SetProperty(EFFECT_FLAG_IGNORE_IMMUNE)
e3:SetValue(1) e3:SetValue(aux.tgoval)
c:RegisterEffect(e3) c:RegisterEffect(e3)
--limit --limit
local e4=Effect.CreateEffect(c) local e4=Effect.CreateEffect(c)
......
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
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