Commit 84dd64e6 authored by 聖園ミカ's avatar 聖園ミカ 🐟

man!

parent 3ce59cac
No preview for this file type
pics/62699800.jpg

56.3 KB | W: | H:

pics/62699800.jpg

56.2 KB | W: | H:

pics/62699800.jpg
pics/62699800.jpg
pics/62699800.jpg
pics/62699800.jpg
  • 2-up
  • Swipe
  • Onion skin
pics/62699805.jpg

89.4 KB | W: | H:

pics/62699805.jpg

58.7 KB | W: | H:

pics/62699805.jpg
pics/62699805.jpg
pics/62699805.jpg
pics/62699805.jpg
  • 2-up
  • Swipe
  • Onion skin
pics/62699810.jpg

94.7 KB | W: | H:

pics/62699810.jpg

62.4 KB | W: | H:

pics/62699810.jpg
pics/62699810.jpg
pics/62699810.jpg
pics/62699810.jpg
  • 2-up
  • Swipe
  • Onion skin
pics/62699820.jpg

98.1 KB | W: | H:

pics/62699820.jpg

95.9 KB | W: | H:

pics/62699820.jpg
pics/62699820.jpg
pics/62699820.jpg
pics/62699820.jpg
  • 2-up
  • Swipe
  • Onion skin
pics/62699830.jpg

113 KB | W: | H:

pics/62699830.jpg

110 KB | W: | H:

pics/62699830.jpg
pics/62699830.jpg
pics/62699830.jpg
pics/62699830.jpg
  • 2-up
  • Swipe
  • Onion skin
pics/62699906.jpg

68.4 KB | W: | H:

pics/62699906.jpg

67.8 KB | W: | H:

pics/62699906.jpg
pics/62699906.jpg
pics/62699906.jpg
pics/62699906.jpg
  • 2-up
  • Swipe
  • Onion skin
pics/62699907.jpg

65.9 KB | W: | H:

pics/62699907.jpg

65.3 KB | W: | H:

pics/62699907.jpg
pics/62699907.jpg
pics/62699907.jpg
pics/62699907.jpg
  • 2-up
  • Swipe
  • Onion skin
pics/62699909.jpg

71.1 KB | W: | H:

pics/62699909.jpg

70.4 KB | W: | H:

pics/62699909.jpg
pics/62699909.jpg
pics/62699909.jpg
pics/62699909.jpg
  • 2-up
  • Swipe
  • Onion skin
pics/62699919.jpg

68.3 KB | W: | H:

pics/62699919.jpg

67.7 KB | W: | H:

pics/62699919.jpg
pics/62699919.jpg
pics/62699919.jpg
pics/62699919.jpg
  • 2-up
  • Swipe
  • Onion skin
pics/62699968.jpg

57.3 KB | W: | H:

pics/62699968.jpg

56.8 KB | W: | H:

pics/62699968.jpg
pics/62699968.jpg
pics/62699968.jpg
pics/62699968.jpg
  • 2-up
  • Swipe
  • Onion skin
pics/62699969.jpg

65.6 KB | W: | H:

pics/62699969.jpg

65 KB | W: | H:

pics/62699969.jpg
pics/62699969.jpg
pics/62699969.jpg
pics/62699969.jpg
  • 2-up
  • Swipe
  • Onion skin
pics/62699988.jpg

63.8 KB | W: | H:

pics/62699988.jpg

63.3 KB | W: | H:

pics/62699988.jpg
pics/62699988.jpg
pics/62699988.jpg
pics/62699988.jpg
  • 2-up
  • Swipe
  • Onion skin
pics/62699997.jpg

70.5 KB | W: | H:

pics/62699997.jpg

69.9 KB | W: | H:

pics/62699997.jpg
pics/62699997.jpg
pics/62699997.jpg
pics/62699997.jpg
  • 2-up
  • Swipe
  • Onion skin
...@@ -56,17 +56,17 @@ function cm.activate(e,tp,eg,ep,ev,re,r,rp) ...@@ -56,17 +56,17 @@ function cm.activate(e,tp,eg,ep,ev,re,r,rp)
e1:SetReset(RESET_EVENT+RESETS_REDIRECT) e1:SetReset(RESET_EVENT+RESETS_REDIRECT)
e1:SetValue(TYPE_CONTINUOUS) e1:SetValue(TYPE_CONTINUOUS)
c:RegisterEffect(e1) c:RegisterEffect(e1)
local dg=Duel.GetMatchingGroup(Card.IsType,tp,LOCATION_HAND+LOCATION_SZONE,0,nil,TYPE_SPELL) --local dg=Duel.GetMatchingGroup(Card.IsType,tp,LOCATION_HAND+LOCATION_SZONE,0,nil,TYPE_SPELL)
local rg=Duel.GetMatchingGroup(Card.IsAbleToRemove,tp,0,LOCATION_HAND,nil) --local rg=Duel.GetMatchingGroup(Card.IsAbleToRemove,tp,0,LOCATION_HAND,nil)
if #dg>0 and #rg>0 and Duel.SelectYesNo(tp,aux.Stringid(m,1)) then --if #dg>0 and #rg>0 and Duel.SelectYesNo(tp,aux.Stringid(m,1)) then
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TOGRAVE) -- Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TOGRAVE)
local dgc=dg:Select(tp,1,1,nil):GetFirst() --local dgc=dg:Select(tp,1,1,nil):GetFirst()
if Duel.SendtoGrave(dgc,REASON_EFFECT)~=0 then --if Duel.SendtoGrave(dgc,REASON_EFFECT)~=0 then
Duel.Hint(HINT_SELECTMSG,1-tp,HINTMSG_REMOVE) --Duel.Hint(HINT_SELECTMSG,1-tp,HINTMSG_REMOVE)
local rg=rg:Select(1-tp,1,1,nil) --local rg=rg:Select(1-tp,1,1,nil)
Duel.Remove(rg,POS_FACEDOWN,REASON_EFFECT) --Duel.Remove(rg,POS_FACEDOWN,REASON_EFFECT)
end --end
end --end
end end
end end
function cm.valcon(e,re,r,rp) function cm.valcon(e,re,r,rp)
......
...@@ -14,15 +14,13 @@ function c4204001.initial_effect(c) ...@@ -14,15 +14,13 @@ function c4204001.initial_effect(c)
return c:IsFaceup() and c:IsType(TYPE_SPELL) and not c:IsStatus(STATUS_ACTIVATE_DISABLED) return c:IsFaceup() and c:IsType(TYPE_SPELL) and not c:IsStatus(STATUS_ACTIVATE_DISABLED)
end)) end))
e1:SetValue(POS_FACEUP_ATTACK) e1:SetValue(POS_FACEUP_ATTACK)
c:RegisterEffect(e1)]] c:RegisterEffect(e1)
--disable spsummon --disable spsummon
local e2=Effect.CreateEffect(c) local e2=Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_FIELD) e2:SetType(EFFECT_TYPE_FIELD)
e2:SetRange(LOCATION_MZONE) e2:SetRange(LOCATION_MZONE)
e2:SetCode(EFFECT_CANNOT_SPECIAL_SUMMON) e2:SetCode(EFFECT_CANNOT_SPECIAL_SUMMON)
e2:SetProperty(EFFECT_FLAG_PLAYER_TARGET) e2:SetProperty(EFFECT_FLAG_PLAYER_TARGET)
e2:SetCondition(function(e,tp,eg,ep,ev,re,r,rp)
return not e:GetHandler():IsSummonType(SUMMON_TYPE_SPECIAL) end)
e2:SetTargetRange(1,0) e2:SetTargetRange(1,0)
e2:SetTarget(function(e,c) e2:SetTarget(function(e,c)
return c:IsLocation(LOCATION_DECK) and c:IsLocation(LOCATION_GRAVE) and c:IsLocation(LOCATION_HAND) return c:IsLocation(LOCATION_DECK) and c:IsLocation(LOCATION_GRAVE) and c:IsLocation(LOCATION_HAND)
...@@ -41,15 +39,13 @@ function c4204001.initial_effect(c) ...@@ -41,15 +39,13 @@ function c4204001.initial_effect(c)
e3:SetCondition(function(e,tp,eg,ep,ev,re,r,rp) e3:SetCondition(function(e,tp,eg,ep,ev,re,r,rp)
return not e:GetHandler():IsSummonType(SUMMON_TYPE_SPECIAL) end) return not e:GetHandler():IsSummonType(SUMMON_TYPE_SPECIAL) end)
e3:SetTargetRange(1,0) e3:SetTargetRange(1,0)
c:RegisterEffect(e3) c:RegisterEffect(e3)]]
--act qp in hand --act qp in hand
local e4=Effect.CreateEffect(c) local e4=Effect.CreateEffect(c)
e4:SetType(EFFECT_TYPE_FIELD) e4:SetType(EFFECT_TYPE_FIELD)
e4:SetCode(EFFECT_QP_ACT_IN_NTPHAND) e4:SetCode(EFFECT_QP_ACT_IN_NTPHAND)
e4:SetRange(LOCATION_MZONE) e4:SetRange(LOCATION_MZONE)
e4:SetTarget(aux.TargetBoolFunction(aux.IsCodeListed,4204000)) e4:SetTarget(aux.TargetBoolFunction(aux.IsCodeListed,4204000))
e4:SetCondition(function(e,tp,eg,ep,ev,re,r,rp)
return not e:GetHandler():IsSummonType(SUMMON_TYPE_SPECIAL) end)
e4:SetTargetRange(LOCATION_HAND,0) e4:SetTargetRange(LOCATION_HAND,0)
c:RegisterEffect(e4) c:RegisterEffect(e4)
--set --set
...@@ -58,7 +54,6 @@ function c4204001.initial_effect(c) ...@@ -58,7 +54,6 @@ function c4204001.initial_effect(c)
e5:SetCode(EVENT_FREE_CHAIN) e5:SetCode(EVENT_FREE_CHAIN)
e5:SetRange(LOCATION_MZONE) e5:SetRange(LOCATION_MZONE)
e5:SetProperty(EFFECT_FLAG_CARD_TARGET) e5:SetProperty(EFFECT_FLAG_CARD_TARGET)
e5:SetCountLimit(1,4204001)
e5:SetCost(function(e,tp,eg,ep,ev,re,r,rp,chk) e5:SetCost(function(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return e:GetHandler():IsReleasable() end if chk==0 then return e:GetHandler():IsReleasable() end
Duel.Release(e:GetHandler(),REASON_COST) Duel.Release(e:GetHandler(),REASON_COST)
......
...@@ -92,7 +92,7 @@ function cm.smcost(e,tp,eg,ep,ev,re,r,rp,chk) ...@@ -92,7 +92,7 @@ function cm.smcost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return not e:GetHandler():IsPublic() end if chk==0 then return not e:GetHandler():IsPublic() end
end end
function cm.sumfilter(c) function cm.sumfilter(c)
return c:IsSummonable(true,nil) and c:IsLevel(4) return c:IsSummonable(true,nil) and c:IsCode(4204000)
end end
function cm.smtg(e,tp,eg,ep,ev,re,r,rp,chk) function cm.smtg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(cm.sumfilter,tp,LOCATION_HAND+LOCATION_MZONE,0,1,nil) end if chk==0 then return Duel.IsExistingMatchingCard(cm.sumfilter,tp,LOCATION_HAND+LOCATION_MZONE,0,1,nil) end
......
...@@ -8,8 +8,7 @@ function cm.initial_effect(c) ...@@ -8,8 +8,7 @@ function cm.initial_effect(c)
.e("SetType",EFFECT_TYPE_ACTIVATE) .e("SetType",EFFECT_TYPE_ACTIVATE)
.e("SetCode",EVENT_FREE_CHAIN) .e("SetCode",EVENT_FREE_CHAIN)
.e("SetTarget",function(e,tp,eg,ep,ev,re,r,rp,chk) .e("SetTarget",function(e,tp,eg,ep,ev,re,r,rp,chk)
local c = e:GetHandler() if chk==0 then return Duel.IsExistingMatchingCard(cm.dishdfilter,tp,LOCATION_HAND,0,1,nil) end
if chk==0 then return Duel.IsExistingMatchingCard(cm.dishdfilter,tp,LOCATION_HAND,0,1,c) end
Duel.SetOperationInfo(0,CATEGORY_TOHAND,nil,1,tp,LOCATION_DECK) Duel.SetOperationInfo(0,CATEGORY_TOHAND,nil,1,tp,LOCATION_DECK)
if Duel.IsExistingMatchingCard(function(c) return c:IsCode(4204000) end,tp,LOCATION_ONFIELD,0,1,nil) then if Duel.IsExistingMatchingCard(function(c) return c:IsCode(4204000) end,tp,LOCATION_ONFIELD,0,1,nil) then
else else
...@@ -30,12 +29,12 @@ function cm.initial_effect(c) ...@@ -30,12 +29,12 @@ function cm.initial_effect(c)
if Duel.IsExistingMatchingCard(function(c) return c:IsCode(4204000) end,tp,LOCATION_ONFIELD,0,1,nil) then if Duel.IsExistingMatchingCard(function(c) return c:IsCode(4204000) end,tp,LOCATION_ONFIELD,0,1,nil) then
local e1=Effect.CreateEffect(e:GetHandler()) local e1=Effect.CreateEffect(e:GetHandler())
e1:SetType(EFFECT_TYPE_FIELD) e1:SetType(EFFECT_TYPE_FIELD)
e1:SetCode(EFFECT_QP_ACT_IN_SET_TURN) e1:SetCode(EFFECT_TRAP_ACT_IN_SET_TURN)
e1:SetProperty(EFFECT_FLAG_SET_AVAILABLE) e1:SetProperty(EFFECT_FLAG_SET_AVAILABLE)
e1:SetTargetRange(LOCATION_SZONE,0) e1:SetTargetRange(LOCATION_SZONE,0)
e1:SetCountLimit(7) e1:SetCountLimit(7)
e1:SetTarget(function(e,c) e1:SetTarget(function(e,c)
return c:IsType(TYPE_QUICKPLAY) return c:GetType()==TYPE_QUICKPLAY
end) end)
e1:SetReset(RESET_PHASE+PHASE_END) e1:SetReset(RESET_PHASE+PHASE_END)
Duel.RegisterEffect(e1,tp) Duel.RegisterEffect(e1,tp)
...@@ -101,7 +100,7 @@ function cm.initial_effect(c) ...@@ -101,7 +100,7 @@ function cm.initial_effect(c)
.Return()) .Return())
end end
function cm.dishdfilter(c) function cm.dishdfilter(c)
return aux.IsCodeListed(c,4204000) and c:IsType(TYPE_SPELL+TYPE_TRAP) and c:IsDiscardable() return aux.IsCodeListed(c,4204000) and c:IsDiscardable()
end end
function cm.skipop(e,tp) function cm.skipop(e,tp)
if e:IsHasType(EFFECT_TYPE_ACTIVATE) then if e:IsHasType(EFFECT_TYPE_ACTIVATE) then
......
--杜野凛世情书明眸 --杜野凛世情书明眸
function c4204017.initial_effect(c) function c4204017.initial_effect(c)
--link summon --link summon
aux.AddCodeList(c,4204000)
aux.AddLinkProcedure(c,nil,2,99,function(g) return g:IsExists(Card.IsLinkCode,1,nil,4204000) end) aux.AddLinkProcedure(c,nil,2,99,function(g) return g:IsExists(Card.IsLinkCode,1,nil,4204000) end)
aux.EnableChangeCode(c,4204000,LOCATION_MZONE+LOCATION_GRAVE) aux.EnableChangeCode(c,4204000,LOCATION_MZONE+LOCATION_GRAVE)
c:EnableReviveLimit() c:EnableReviveLimit()
......
--杜野凛世秋色一抹
function c4204018.initial_effect(c)
--act in hand
aux.AddCodeList(c,4204000)
local e0=Effect.CreateEffect(c)
e0:SetType(EFFECT_TYPE_SINGLE)
e0:SetCode(EFFECT_TRAP_ACT_IN_HAND)
e0:SetCondition(function(e)
return Duel.IsExistingMatchingCard(Card.IsCode,e:GetHandlerPlayer(),LOCATION_MZONE,0,1,nil,4204000) end)
c:RegisterEffect(e0)
--Activate
local e1=Effect.CreateEffect(c)
e1:SetCategory(CATEGORY_DISABLE)
e1:SetType(EFFECT_TYPE_ACTIVATE)
e1:SetCode(EVENT_CHAINING)
e1:SetCondition(function(e,tp,eg,ep,ev,re,r,rp)
return re:IsActiveType(TYPE_SPELL+TYPE_TRAP) end)
e1:SetTarget(function(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
if chkc then return chkc:IsOnField() and aux.NegateAnyFilter(chkc) end
if chk==0 then return Duel.IsExistingTarget(aux.NegateAnyFilter,tp,LOCATION_ONFIELD,LOCATION_ONFIELD,1,nil) end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_DISABLE)
local g=Duel.SelectTarget(tp,aux.NegateAnyFilter,tp,LOCATION_ONFIELD,LOCATION_ONFIELD,1,1,nil)
Duel.SetOperationInfo(0,CATEGORY_DISABLE,g,1,0,0)
end)
e1:SetOperation(function(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
local tc=Duel.GetFirstTarget()
if tc:IsFaceup() and tc:IsRelateToEffect(e) and tc:IsCanBeDisabledByEffect(e,false) then
Duel.NegateRelatedChain(tc,RESET_TURN_SET)
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetProperty(EFFECT_FLAG_CANNOT_DISABLE)
e1:SetCode(EFFECT_DISABLE)
e1:SetReset(RESET_EVENT+RESETS_STANDARD+RESET_PHASE+PHASE_END)
tc:RegisterEffect(e1)
local e2=Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_SINGLE)
e2:SetProperty(EFFECT_FLAG_CANNOT_DISABLE)
e2:SetCode(EFFECT_DISABLE_EFFECT)
e2:SetValue(RESET_TURN_SET)
e2:SetReset(RESET_EVENT+RESETS_STANDARD+RESET_PHASE+PHASE_END)
tc:RegisterEffect(e2)
if tc:IsType(TYPE_TRAPMONSTER) then
local e3=Effect.CreateEffect(c)
e3:SetType(EFFECT_TYPE_SINGLE)
e3:SetProperty(EFFECT_FLAG_CANNOT_DISABLE)
e3:SetCode(EFFECT_DISABLE_TRAPMONSTER)
e3:SetReset(RESET_EVENT+RESETS_STANDARD+RESET_PHASE+PHASE_END)
tc:RegisterEffect(e3)
end
local e11=Effect.CreateEffect(e:GetHandler())
e11:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
e11:SetCode(EVENT_PHASE+PHASE_END)
e11:SetCountLimit(1)
e11:SetOperation((e,tp,eg,ep,ev,re,r,rp)
Duel.Hint(HINT_CARD,0,id)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_ATOHAND)
local g=Duel.SelectMatchingCard(tp,aux.NecroValleyFilter(function(c) return aux.IsCodeListed(c,4204000) and c:IsAbleToHand() end),tp,LOCATION_DECK+LOCATION_GRAVE,0,1,1,nil)
if #g>0 then
Duel.SendtoHand(g,nil,REASON_EFFECT)
Duel.ConfirmCards(1-tp,g)
end
end)
e11:SetReset(RESET_PHASE+PHASE_END)
Duel.RegisterEffect(e11,tp)
end
end)
c:RegisterEffect(e1)
--to hand
local e2=Effect.CreateEffect(c)
e2:SetCategory(CATEGORY_TOHAND)
e2:SetType(EFFECT_TYPE_QUICK_O)
e2:SetCode(EVENT_FREE_CHAIN)
e2:SetRange(LOCATION_GRAVE)
e2:SetCountLimit(1,4204018)
e2:SetCost(function(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(function(c) return c:IsAbleToRemoveAsCost() and c:IsCode(4204000) end,tp,LOCATION_HAND+LOCATION_GRAVE+LOCATION_ONFIELD,0,1,nil) end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_REMOVE)
local g=Duel.SelectMatchingCard(tp,function(c) return c:IsAbleToRemoveAsCost() and c:IsCode(4204000) and c:IsType(TYPE_MONSTER) end,tp,LOCATION_HAND+LOCATION_GRAVE+LOCATION_ONFIELD,0,1,1,nil)
Duel.Remove(g,POS_FACEUP,REASON_COST)
end)
e2:SetTarget(function(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return e:GetHandler():IsAbleToHand() end
Duel.SetOperationInfo(0,CATEGORY_TOHAND,e:GetHandler(),1,0,0)
end)
e2:SetOperation(function(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
if c:IsRelateToEffect(e) then
if Duel.SendtoHand(c,nil,REASON_EFFECT) then
if Duel.IsExistingMatchingCard(c4204018.sumfilter,tp,LOCATION_HAND+LOCATION_MZONE,0,1,nil) and Duel.SelectYesNo(tp,aux.Stringid(4204017,2)) then
Duel.BreakEffect()
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SUMMON)
local sg=Duel.SelectMatchingCard(tp,c4204018.sumfilter,tp,LOCATION_HAND+LOCATION_MZONE,0,1,1,nil)
if sg:GetCount()>0 then
Duel.Summon(tp,sg:GetFirst(),true,nil)
end
end
end
end
end)
c:RegisterEffect(e2)
end
function c4204018.sumfilter(c)
return c:IsSummonable(true,nil) and c:IsCode(4204000)
end
\ No newline at end of file
--杜野凛世忆见如初
function c4204020.initial_effect(c)
aux.AddCodeList(c,4204000)
c:EnableReviveLimit()
aux.EnableChangeCode(c,4204000,LOCATION_MZONE+LOCATION_GRAVE)
c:EnableReviveLimit()
aux.AddFusionProcFunFun(c,aux.FilterBoolFunction(Card.IsFusionCode,4204000),function(c)
return c:IsRace(RACE_CYBERSE) end,1,true)
aux.AddContactFusionProcedure(c,function(c) return c:IsRace(RACE_CYBERSE) and c:IsAbleToDeckOrExtraAsCost() end,LOCATION_HAND+LOCATION_MZONE+LOCATION_GRAVE,0,aux.tdcfop(c))
--spsummon condition
local e0=Effect.CreateEffect(c)
e0:SetType(EFFECT_TYPE_SINGLE)
e0:SetProperty(EFFECT_FLAG_CANNOT_DISABLE+EFFECT_FLAG_UNCOPYABLE)
e0:SetCode(EFFECT_SPSUMMON_CONDITION)
e0:SetValue(aux.fuslimit)
c:RegisterEffect(e0)
--
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetProperty(EFFECT_FLAG_CANNOT_DISABLE+EFFECT_FLAG_UNCOPYABLE)
e1:SetCode(EFFECT_CANNOT_BE_FUSION_MATERIAL)
e1:SetValue(1)
c:RegisterEffect(e1)
--destroy replace
local e4=Effect.CreateEffect(c)
e4:SetType(EFFECT_TYPE_CONTINUOUS+EFFECT_TYPE_FIELD)
e4:SetCode(EFFECT_DESTROY_REPLACE)
e4:SetRange(LOCATION_MZONE)
e4:SetValue(function(e,c) return c:IsFaceup() and c:IsLocation(LOCATION_ONFIELD) end)
e4:SetTarget(function(e,tp,eg,ep,ev,re,r,rp,chk)
local c=e:GetHandler()
if chk==0 then return c:IsFaceup() and c:IsReason(REASON_BATTLE+REASON_EFFECT) and not c:IsReason(REASON_REPLACE) and Duel.IsExistingMatchingCard(c4204020.repfilter,tp,LOCATION_ONFIELD+LOCATION_GRAVE,0,1,nil) end
return Duel.SelectEffectYesNo(tp,c,96)
end)
e4:SetOperation(function(e,tp,eg,ep,ev,re,r,rp)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_DESREPLACE)
local g=Duel.SelectMatchingCard(tp,c4204020.repfilter,tp,LOCATION_ONFIELD+LOCATION_GRAVE,0,1,1,nil)
Duel.Remove(g,POS_FACEUP,REASON_EFFECT+REASON_REPLACE)
end)
c:RegisterEffect(e4)
--act limit
local e2=Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_FIELD)
e2:SetCode(EFFECT_CANNOT_ACTIVATE)
e2:SetProperty(EFFECT_FLAG_PLAYER_TARGET)
e2:SetRange(LOCATION_MZONE)
e2:SetTargetRange(0,1)
e2:SetCondition(function(e,tp,eg,ep,ev,re,r,rp)
return Duel.IsExistingMatchingCard(Card.IsFacedown,e:GetHandlerPlayer(),LOCATION_ONFIELD,LOCATION_ONFIELD,1,nil)
end)
e2:SetValue(function(e,re,rp)
local rc=re:GetHandler()
return rc:IsLocation(LOCATION_MZONE) and re:IsActiveType(TYPE_MONSTER)
and rc:IsAttackPos() and rc:IsSummonType(SUMMON_TYPE_SPECIAL)
end)
c:RegisterEffect(e2)
end
function c4204020.repfilter(c)
return c:IsCode(4204000) and c:IsAbleToRemove()
end
...@@ -12,7 +12,7 @@ function c62699800.initial_effect(c) ...@@ -12,7 +12,7 @@ function c62699800.initial_effect(c)
e1:SetTarget(c62699800.sptg) e1:SetTarget(c62699800.sptg)
e1:SetOperation(c62699800.spop) e1:SetOperation(c62699800.spop)
c:RegisterEffect(e1) c:RegisterEffect(e1)
aux.EnableChangeCode(c,62699999,LOCATION_MZONE+LOCATION_GRAVE+LOCATION_REMOVED) aux.EnableChangeCode(c,62699999,LOCATION_MZONE+LOCATION_GRAVE+LOCATION_REMOVED+LOCATION_DECK+LOCATION_HAND)
--change --change
local e2=Effect.CreateEffect(c) local e2=Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_O) e2:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_O)
......
...@@ -11,7 +11,7 @@ function c62699805.initial_effect(c) ...@@ -11,7 +11,7 @@ function c62699805.initial_effect(c)
e1:SetTarget(c62699805.target) e1:SetTarget(c62699805.target)
e1:SetOperation(c62699805.operation) e1:SetOperation(c62699805.operation)
c:RegisterEffect(e1) c:RegisterEffect(e1)
aux.EnableChangeCode(c,62699998,LOCATION_MZONE+LOCATION_GRAVE+LOCATION_REMOVED) aux.EnableChangeCode(c,62699998,LOCATION_MZONE+LOCATION_GRAVE+LOCATION_REMOVED+LOCATION_DECK+LOCATION_HAND)
--set --set
local e2=Effect.CreateEffect(c) local e2=Effect.CreateEffect(c)
e2:SetCategory(CATEGORY_POSITION) e2:SetCategory(CATEGORY_POSITION)
......
...@@ -4,14 +4,16 @@ function c62699810.initial_effect(c) ...@@ -4,14 +4,16 @@ function c62699810.initial_effect(c)
--spsummon --spsummon
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
e1:SetCategory(CATEGORY_SPECIAL_SUMMON) e1:SetCategory(CATEGORY_SPECIAL_SUMMON)
e1:SetType(EFFECT_TYPE_IGNITION) e1:SetType(EFFECT_TYPE_QUICK_O)
e1:SetRange(LOCATION_HAND) e1:SetRange(LOCATION_HAND)
e1:SetCode(EVENT_FREE_CHAIN)
e1:SetCountLimit(1,62699810) e1:SetCountLimit(1,62699810)
e1:SetHintTiming(0,TIMINGS_CHECK_MONSTER+TIMING_MAIN_END)
e1:SetCondition(c62699810.spcon) e1:SetCondition(c62699810.spcon)
e1:SetTarget(c62699810.sptg) e1:SetTarget(c62699810.sptg)
e1:SetOperation(c62699810.spop) e1:SetOperation(c62699810.spop)
c:RegisterEffect(e1) c:RegisterEffect(e1)
aux.EnableChangeCode(c,62699997,LOCATION_MZONE+LOCATION_GRAVE+LOCATION_REMOVED) aux.EnableChangeCode(c,62699997,LOCATION_MZONE+LOCATION_GRAVE+LOCATION_REMOVED+LOCATION_DECK+LOCATION_HAND)
--set --set
local e2=Effect.CreateEffect(c) local e2=Effect.CreateEffect(c)
e2:SetCategory(CATEGORY_CONTROL) e2:SetCategory(CATEGORY_CONTROL)
...@@ -29,6 +31,7 @@ function c62699810.cfilter(c) ...@@ -29,6 +31,7 @@ function c62699810.cfilter(c)
end end
function c62699810.spcon(e,tp,eg,ep,ev,re,r,rp) function c62699810.spcon(e,tp,eg,ep,ev,re,r,rp)
return Duel.GetMatchingGroupCount(c62699810.cfilter,tp,0,LOCATION_MZONE,nil)>0 return Duel.GetMatchingGroupCount(c62699810.cfilter,tp,0,LOCATION_MZONE,nil)>0
and (Duel.GetCurrentPhase()==PHASE_MAIN1 or Duel.GetCurrentPhase()==PHASE_MAIN2)
end end
function c62699810.sptg(e,tp,eg,ep,ev,re,r,rp,chk) function c62699810.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
...@@ -55,7 +58,6 @@ function c62699810.spop(e,tp,eg,ep,ev,re,r,rp) ...@@ -55,7 +58,6 @@ function c62699810.spop(e,tp,eg,ep,ev,re,r,rp)
e2:SetType(EFFECT_TYPE_SINGLE) e2:SetType(EFFECT_TYPE_SINGLE)
e2:SetCode(EFFECT_UPDATE_ATTACK) e2:SetCode(EFFECT_UPDATE_ATTACK)
e2:SetReset(RESET_EVENT+RESETS_STANDARD) e2:SetReset(RESET_EVENT+RESETS_STANDARD)
e2:SetCondition(c62699810.ctrcon)
e2:SetValue(100) e2:SetValue(100)
tc:RegisterEffect(e2) tc:RegisterEffect(e2)
tc=g:GetNext() tc=g:GetNext()
......
...@@ -95,7 +95,6 @@ function c62699820.spsop(e,tp,eg,ep,ev,re,r,rp) ...@@ -95,7 +95,6 @@ function c62699820.spsop(e,tp,eg,ep,ev,re,r,rp)
e2:SetType(EFFECT_TYPE_SINGLE) e2:SetType(EFFECT_TYPE_SINGLE)
e2:SetCode(EFFECT_UPDATE_ATTACK) e2:SetCode(EFFECT_UPDATE_ATTACK)
e2:SetReset(RESET_EVENT+RESETS_STANDARD) e2:SetReset(RESET_EVENT+RESETS_STANDARD)
e2:SetCondition(c62699820.ctrcon)
e2:SetValue(100) e2:SetValue(100)
tc:RegisterEffect(e2) tc:RegisterEffect(e2)
tc=g:GetNext() tc=g:GetNext()
......
...@@ -37,7 +37,7 @@ function c62699830.tgfilter(c,code) ...@@ -37,7 +37,7 @@ function c62699830.tgfilter(c,code)
return c:IsSetCard(0x6df) and c:IsType(0x1) and not c:IsCode(code) and c:IsAbleToGrave() return c:IsSetCard(0x6df) and c:IsType(0x1) and not c:IsCode(code) and c:IsAbleToGrave()
end end
function c62699830.target(e,tp,eg,ep,ev,re,r,rp,chk,chkc) function c62699830.target(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
if chkc then return c62699830.filter(chkc) end if chkc then return c62699830.filter(chkc) and chkc:IsLocation(LOCATION_MZONE) end
if chk==0 then return Duel.IsExistingTarget(c62699830.filter,tp,LOCATION_MZONE,LOCATION_MZONE,1,nil,tp) end if chk==0 then return Duel.IsExistingTarget(c62699830.filter,tp,LOCATION_MZONE,LOCATION_MZONE,1,nil,tp) end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_FACEUP) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_FACEUP)
Duel.SelectTarget(tp,c62699830.filter,tp,LOCATION_MZONE,LOCATION_MZONE,1,1,nil,tp) Duel.SelectTarget(tp,c62699830.filter,tp,LOCATION_MZONE,LOCATION_MZONE,1,1,nil,tp)
...@@ -57,7 +57,6 @@ function c62699830.operation(e,tp,eg,ep,ev,re,r,rp) ...@@ -57,7 +57,6 @@ function c62699830.operation(e,tp,eg,ep,ev,re,r,rp)
e2:SetType(EFFECT_TYPE_SINGLE) e2:SetType(EFFECT_TYPE_SINGLE)
e2:SetCode(EFFECT_UPDATE_ATTACK) e2:SetCode(EFFECT_UPDATE_ATTACK)
e2:SetReset(RESET_EVENT+RESETS_STANDARD) e2:SetReset(RESET_EVENT+RESETS_STANDARD)
e2:SetCondition(c62699830.ctrcon)
e2:SetValue(100) e2:SetValue(100)
tc:RegisterEffect(e2) tc:RegisterEffect(e2)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TOGRAVE) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TOGRAVE)
...@@ -72,7 +71,7 @@ function c62699830.ctrcon(e) ...@@ -72,7 +71,7 @@ function c62699830.ctrcon(e)
return e:GetHandler():GetCounter(0x16df)>0 return e:GetHandler():GetCounter(0x16df)>0
end end
function c62699830.tdfilter(c) function c62699830.tdfilter(c)
return c:IsType(TYPE_FUSION) and c:GetOriginalRace(RACE_ILLUSION) and c:IsAbleToExtra() return c:IsType(TYPE_FUSION) and c:GetOriginalRace()&RACE_ILLUSION>0 and c:IsAbleToExtra()
end end
function c62699830.tdtg(e,tp,eg,ep,ev,re,r,rp,chk,chkc) function c62699830.tdtg(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
if chkc then return chkc:IsLocation(LOCATION_GRAVE+LOCATION_MZONE) and chkc:IsControler(tp) and c62699830.tdfilter(chkc) end if chkc then return chkc:IsLocation(LOCATION_GRAVE+LOCATION_MZONE) and chkc:IsControler(tp) and c62699830.tdfilter(chkc) end
......
--此刻的幸福
function c62699840.initial_effect(c)
aux.AddCodeList(c,62699997,62699998,62699999)
c:EnableReviveLimit()
--fusion summon
aux.AddFusionProcFunRep(c,c62699840.ffilter,3,true)
--set
local e1=Effect.CreateEffect(c)
e1:SetCategory(CATEGORY_DESTROY)
e1:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_O)
e1:SetCode(EVENT_SPSUMMON_SUCCESS)
e1:SetProperty(EFFECT_FLAG_DELAY)
e1:SetCondition(c62699840.setcon)
e1:SetTarget(c62699840.settg)
e1:SetOperation(c62699840.setop)
c:RegisterEffect(e1)
local e11=Effect.CreateEffect(c)
e11:SetType(EFFECT_TYPE_SINGLE)
e11:SetCode(EFFECT_MATERIAL_CHECK)
e11:SetValue(c62699840.valcheck)
e11:SetLabelObject(e1)
c:RegisterEffect(e11)
--cannot remove
local e22=Effect.CreateEffect(c)
e22:SetType(EFFECT_TYPE_QUICK_O)
e22:SetCode(EVENT_CHAINING)
e22:SetRange(LOCATION_MZONE)
e22:SetCountLimit(1,62699840)
e22:SetCondition(c62699840.nrecon)
e22:SetOperation(c62699840.nreop)
c:RegisterEffect(e22)
--immune
local e22=Effect.CreateEffect(c)
e22:SetType(EFFECT_TYPE_QUICK_O)
e22:SetCode(EVENT_CHAINING)
e22:SetRange(LOCATION_MZONE)
e22:SetCountLimit(1,62699840+1)
e22:SetCondition(c62699840.imcon)
e22:SetOperation(c62699840.imop)
c:RegisterEffect(e22)
--no damage
local e3=Effect.CreateEffect(c)
e3:SetCategory(CATEGORY_DESTROY)
e3:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_O)
e3:SetCode(EVENT_LEAVE_FIELD)
e3:SetProperty(EFFECT_FLAG_DELAY)
e3:SetCondition(c62699840.ndcon)
e3:SetOperation(c62699840.ndop)
c:RegisterEffect(e3)
end
function c62699840.ffilter(c,fc,sub,mg,sg)
return c:IsFusionSetCard(0x6df) and (not sg or not sg:IsExists(c62699840.ffilter2,1,c,c:GetOriginalRace()))
end
function c62699840.ffilter2(c,race)
return c:GetOriginalRace()&race~=0
end
function c62699840.valcheck(e,c)
local g=c:GetMaterial()
local b1=g:IsExists(Card.IsCode,1,nil,62699997)
local b2=g:IsExists(Card.IsCode,1,nil,62699998)
local b3=g:IsExists(Card.IsCode,1,nil,62699999)
if b1 and b2 and b3 then e:GetLabelObject():SetLabel(1) end
end
function c62699840.setcon(e,tp,eg,ep,ev,re,r,rp)
return e:GetHandler():IsSummonType(SUMMON_TYPE_FUSION) and e:GetLabel()==1
end
function c62699840.filter(c)
return c:IsSetCard(0x6df) and c:IsType(TYPE_SPELL+TYPE_TRAP) and c:IsSSetable()
end
function c62699840.settg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(c62699840.filter,tp,LOCATION_DECK+LOCATION_REMOVED,0,1,nil) end
end
function c62699840.setop(e,tp,eg,ep,ev,re,r,rp)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SET)
local g=Duel.SelectMatchingCard(tp,c62699840.filter,tp,LOCATION_DECK+LOCATION_REMOVED,0,1,1,nil)
if g:GetCount()>0 then
Duel.SSet(tp,g:GetFirst())
end
end
function c62699840.nrecon(e,tp,eg,ep,ev,re,r,rp)
local ct=Duel.GetCurrentChain()
if ct<2 then return end
local te,p=Duel.GetChainInfo(ct-1,CHAININFO_TRIGGERING_EFFECT,CHAININFO_TRIGGERING_PLAYER)
return te and p==1-tp and rp==tp and re:GetHandler():IsSetCard(0x6df)
end
function c62699840.nreop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
local e2=Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_FIELD)
e2:SetProperty(EFFECT_FLAG_PLAYER_TARGET)
e2:SetCode(EFFECT_CANNOT_REMOVE)
e2:SetTargetRange(1,1)
e2:SetTarget(c62699840.refilter)
e2:SetReset(RESET_PHASE+PHASE_END)
Duel.RegisterEffect(e2,tp)
end
function c62699840.refilter(e,c,rp,r,re)
return c:IsFaceupEx() and c:IsSetCard(0x6df)
end
function c62699840.imcon(e,tp,eg,ep,ev,re,r,rp)
local ct=Duel.GetCurrentChain()
if ct<2 then return end
local te,p=Duel.GetChainInfo(ct-1,CHAININFO_TRIGGERING_EFFECT,CHAININFO_TRIGGERING_PLAYER)
return te and te:GetHandler():IsSetCard(0x6df) and p==tp and rp==1-tp
end
function c62699840.imop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
local e3=Effect.CreateEffect(c)
e3:SetType(EFFECT_TYPE_FIELD)
e3:SetCode(EFFECT_IMMUNE_EFFECT)
e3:SetTargetRange(LOCATION_ONFIELD,0)
e3:SetTarget(aux.TargetBoolFunction(Card.IsSetCard,0x6df))
e3:SetValue(c62699840.efilter)
e3:SetReset(RESET_CHAIN)
Duel.RegisterEffect(e3,tp)
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_FIELD)
e1:SetCode(EFFECT_CANNOT_DISEFFECT)
e1:SetValue(c62699840.effectfilter)
e1:SetReset(RESET_CHAIN)
Duel.RegisterEffect(e1,tp)
end
function c62699840.efilter(e,te)
return te:GetOwnerPlayer()~=e:GetHandlerPlayer()
end
function c62699840.effectfilter(e,ct)
local p=e:GetHandler():GetControler()
local te,tp=Duel.GetChainInfo(ct,CHAININFO_TRIGGERING_EFFECT,CHAININFO_TRIGGERING_PLAYER)
local tc=te:GetHandler()
return p==tp and tc:IsSetCard(0x6df)
end
function c62699840.ndcon(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
return c:IsSummonType(SUMMON_TYPE_FUSION) and c:IsPreviousLocation(LOCATION_MZONE)
and c:IsPreviousControler(tp) and c:GetReasonPlayer()==1-tp and c:IsReason(REASON_EFFECT)
end
function c62699840.ndop(e,tp,eg,ep,ev,re,r,rp)
local e1=Effect.CreateEffect(e:GetHandler())
e1:SetType(EFFECT_TYPE_FIELD)
e1:SetCode(EFFECT_CHANGE_DAMAGE)
e1:SetProperty(EFFECT_FLAG_PLAYER_TARGET)
e1:SetTargetRange(1,0)
e1:SetValue(0)
e1:SetReset(RESET_PHASE+PHASE_END)
Duel.RegisterEffect(e1,tp)
local e2=e1:Clone()
e2:SetCode(EFFECT_NO_EFFECT_DAMAGE)
e2:SetReset(RESET_PHASE+PHASE_END)
Duel.RegisterEffect(e2,tp)
end
\ No newline at end of file
--腥红死者
function c62699845.initial_effect(c)
aux.AddCodeList(c,0x16df)
c:SetSPSummonOnce(62699845)
--link summon
c:EnableReviveLimit()
aux.AddLinkProcedure(c,c62699845.matfilter,1,1)
--counter
local e1=Effect.CreateEffect(c)
e1:SetCategory(CATEGORY_COUNTER+CATEGORY_DESTROY+CATEGORY_DECKDES)
e1:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_O)
e1:SetProperty(EFFECT_FLAG_DELAY)
e1:SetCode(EVENT_SPSUMMON_SUCCESS)
e1:SetCondition(c62699845.ctcon)
e1:SetTarget(c62699845.cttg)
e1:SetOperation(c62699845.ctop)
c:RegisterEffect(e1)
--spsummon
local e2=Effect.CreateEffect(c)
e2:SetCategory(CATEGORY_SPECIAL_SUMMON)
e2:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_O)
e2:SetCode(EVENT_TO_GRAVE)
e2:SetProperty(EFFECT_FLAG_CARD_TARGET+EFFECT_FLAG_DELAY)
e2:SetCountLimit(1,62699845)
e2:SetTarget(c62699845.sptg)
e2:SetOperation(c62699845.spop)
c:RegisterEffect(e2)
end
function c62699845.matfilter(c)
return not c:IsType(TYPE_FUSION) and c:GetCounter(0x16df)>0 and c:GetOriginalRace()&RACE_ILLUSION>0
end
function c62699845.ctcon(e,tp,eg,ep,ev,re,r,rp)
return e:GetHandler():IsSummonType(SUMMON_TYPE_LINK)
end
function c62699845.desfilter(c)
return c:IsSetCard(0x6df) and c:IsType(0x1)
end
function c62699845.cttg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return e:GetHandler():IsCanAddCounter(0x16df,1)
and Duel.IsExistingMatchingCard(c62699845.desfilter,tp,LOCATION_DECK,0,1,nil) end
Duel.SetOperationInfo(0,CATEGORY_COUNTER,nil,1,0,0x16df)
Duel.SetOperationInfo(0,CATEGORY_DESTROY,nil,1,tp,LOCATION_DECK)
end
function c62699845.ctop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
if c:IsRelateToEffect(e) then
c:AddCounter(0x16df,1)
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetCode(EFFECT_CHANGE_RACE)
e1:SetReset(RESET_EVENT+RESETS_STANDARD)
e1:SetCondition(c62699845.ctrcon)
e1:SetValue(RACE_INSECT)
c:RegisterEffect(e1)
local e2=Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_SINGLE)
e2:SetCode(EFFECT_UPDATE_ATTACK)
e2:SetReset(RESET_EVENT+RESETS_STANDARD)
e2:SetValue(100)
c:RegisterEffect(e2)
end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_DESTROY)
local g=Duel.SelectMatchingCard(tp,c62699845.desfilter,tp,LOCATION_DECK,0,1,1,nil)
if g:GetCount()>0 then
Duel.BreakEffect()
Duel.Destroy(g,REASON_EFFECT)
end
end
function c62699845.ctrcon(e)
return e:GetHandler():GetCounter(0x16df)>0
end
function c62699845.spfilter(c,e,tp)
return c:IsSetCard(0x6df) and c:IsAttribute(ATTRIBUTE_LIGHT) and c:IsRace(RACE_ILLUSION)
and c:IsCanBeSpecialSummoned(e,0,tp,false,false)
end
function c62699845.sptg(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
if chkc then return chkc:IsLocation(LOCATION_GRAVE) and chkc:IsControler(tp) and c62699845.spfilter(chkc,e,tp) end
if chk==0 then return Duel.GetLocationCount(tp,LOCATION_MZONE)>0
and Duel.IsExistingTarget(c62699845.spfilter,tp,LOCATION_GRAVE,0,1,nil,e,tp) end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON)
local g=Duel.SelectTarget(tp,c62699845.spfilter,tp,LOCATION_GRAVE,0,1,1,nil,e,tp)
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,g,1,0,0)
end
function c62699845.spop(e,tp,eg,ep,ev,re,r,rp)
local tc=Duel.GetFirstTarget()
if tc:IsRelateToEffect(e) then
Duel.SpecialSummon(tc,0,tp,tp,false,false,POS_FACEUP)
end
end
\ No newline at end of file
--<记录官>型自适应人工智能 07722
function c62699850.initial_effect(c)
aux.AddCodeList(c,0x16df)
--link summon
aux.AddLinkProcedure(c,nil,2,2,c62699850.lcheck)
c:EnableReviveLimit()
--special summon
local e1=Effect.CreateEffect(c)
e1:SetCategory(CATEGORY_SEARCH+CATEGORY_TOHAND+CATEGORY_SPECIAL_SUMMON)
e1:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_O)
e1:SetProperty(EFFECT_FLAG_DELAY)
e1:SetCode(EVENT_SPSUMMON_SUCCESS)
e1:SetCountLimit(1,62699850)
e1:SetCondition(c62699850.spcon)
e1:SetTarget(c62699850.sptg)
e1:SetOperation(c62699850.spop)
c:RegisterEffect(e1)
--Destroy
local e2=Effect.CreateEffect(c)
e2:SetCategory(CATEGORY_DESTROY+CATEGORY_SPECIAL_SUMMON)
e2:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_TRIGGER_O)
e2:SetCode(EVENT_LEAVE_FIELD)
e2:SetRange(LOCATION_MZONE+LOCATION_GRAVE)
e2:SetProperty(EFFECT_FLAG_DELAY)
e2:SetCountLimit(1,62699850)
e2:SetCondition(c62699850.condition)
e2:SetCost(aux.bfgcost)
e2:SetTarget(c62699850.target)
e2:SetOperation(c62699850.operation)
c:RegisterEffect(e2)
end
function c62699850.lcheck(g,lc)
return g:IsExists(Card.IsLinkSetCard,1,nil,0x6df)
end
function c62699850.spcon(e,tp,eg,ep,ev,re,r,rp)
return e:GetHandler():IsSummonType(SUMMON_TYPE_LINK)
end
function c62699850.spfilter(c,e,tp)
local ft=Duel.GetLocationCount(tp,LOCATION_MZONE)
return c:IsRace(RACE_PSYCHO) and c:IsSetCard(0x6df) and (c:IsAbleToHand() or (ft>0 and c:IsCanBeSpecialSummoned(e,0,tp,false,false)))
end
function c62699850.sptg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(c62699850.spfilter,tp,LOCATION_DECK,0,1,nil,e,tp) end
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,1,tp,LOCATION_DECK)
end
function c62699850.spop(e,tp,eg,ep,ev,re,r,rp)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON)
local g=Duel.SelectMatchingCard(tp,c62699850.spfilter,tp,LOCATION_DECK,0,1,1,nil,e,tp)
local ft=Duel.GetLocationCount(tp,LOCATION_MZONE)
local tc=g:GetFirst()
if tc then
if tc:IsAbleToHand() and (not tc:IsCanBeSpecialSummoned(e,0,tp,false,false) or ft<=0 or Duel.SelectOption(tp,1190,1152)==0) then
Duel.SendtoHand(tc,nil,REASON_EFFECT)
Duel.ConfirmCards(1-tp,tc)
else
Duel.SpecialSummon(tc,0,tp,tp,false,false,POS_FACEUP)
end
end
end
function c62699850.cfilter(c,tp)
return c:IsPreviousPosition(POS_FACEUP) and c:IsPreviousSetCard(0x6df) and c:IsPreviousLocation(LOCATION_MZONE)
and c:IsPreviousControler(tp) and c:IsRace(RACE_PSYCHO)
end
function c62699850.condition(e,tp,eg,ep,ev,re,r,rp)
return eg:IsExists(c62699850.cfilter,1,nil,tp)
end
function c62699850.desfilter(c)
return c:GetCounter(0x16df)>0
end
function c62699850.target(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(c62699850.desfilter,tp,0,LOCATION_MZONE,1,nil) end
local sg=Duel.GetMatchingGroup(c62699850.desfilter,tp,0,LOCATION_MZONE,nil)
Duel.SetOperationInfo(0,CATEGORY_DESTROY,sg,sg:GetCount(),0,0)
end
function c62699850.spfilter2(c,e,tp)
return c:IsCanBeSpecialSummoned(e,0,tp,false,false) and c:IsSetCard(0x6df)
and c:IsAttribute(ATTRIBUTE_LIGHT) and c:IsRace(RACE_MACHINE) and not c:IsCode(62699850)
and (c:IsLocation(LOCATION_DECK) and Duel.GetMZoneCount(tp)>0
or c:IsLocation(LOCATION_EXTRA) and Duel.GetLocationCountFromEx(tp,tp,nil,c)>0)
end
function c62699850.operation(e,tp,eg,ep,ev,re,r,rp)
local sg=Duel.GetMatchingGroup(c62699850.desfilter,tp,0,LOCATION_MZONE,nil)
if Duel.Destroy(sg,REASON_EFFECT)>0 then
local g=Duel.GetMatchingGroup(c62699850.spfilter2,tp,LOCATION_DECK+LOCATION_EXTRA,0,nil,e,tp)
if #g>0 and Duel.SelectYesNo(tp,aux.Stringid(62699850,0)) then
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON)
local g1=g:Select(tp,1,1,nil)
if #g1>0 then
Duel.BreakEffect()
Duel.SpecialSummon(g1,0,tp,tp,false,false,POS_FACEUP)
end
end
end
end
--因果循环 猫箱反转
function c62699855.initial_effect(c)
--Activate
local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(62699855,0))
e1:SetCategory(CATEGORY_TODECK+CATEGORY_SPECIAL_SUMMON+CATEGORY_FUSION_SUMMON)
e1:SetType(EFFECT_TYPE_ACTIVATE)
e1:SetCode(EVENT_FREE_CHAIN)
e1:SetCountLimit(1,62699855)
e1:SetTarget(c62699855.target)
e1:SetOperation(c62699855.activate)
c:RegisterEffect(e1)
--Activate
local e2=Effect.CreateEffect(c)
e2:SetDescription(aux.Stringid(62699855,1))
e2:SetCategory(CATEGORY_SPECIAL_SUMMON+CATEGORY_REMOVE)
e2:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_TRIGGER_O)
e2:SetCode(EVENT_LEAVE_FIELD)
e2:SetRange(LOCATION_GRAVE)
e2:SetCountLimit(1,62699855+1)
e2:SetProperty(EFFECT_FLAG_DELAY)
e2:SetCondition(c62699855.condition)
e2:SetTarget(c62699855.target2)
e2:SetOperation(c62699855.activate2)
c:RegisterEffect(e2)
end
function c62699855.confilter(c,e,tp)
return c:IsPreviousPosition(POS_FACEUP) and c:IsType(TYPE_FUSION)
and c:IsPreviousSetCard(0x6df) and c:IsPreviousLocation(LOCATION_MZONE)
and c:IsPreviousControler(tp) and c:GetReasonPlayer()==1-tp
and Duel.IsExistingMatchingCard(c62699855.spfilter,tp,LOCATION_DECK,0,1,nil,e,tp,c)
end
function c62699855.spfilter(c,e,tp,fc)
return c:IsSetCard(0x6df) and c:IsCanBeSpecialSummoned(e,0,tp,false,false)
and (aux.IsMaterialListCode(fc,c:GetCode()) or aux.IsCodeListed(fc,c:GetCode()))
end
function c62699855.condition(e,tp,eg,ep,ev,re,r,rp)
return eg:IsExists(c62699855.confilter,1,nil,e,tp)
end
function c62699855.target2(e,tp,eg,ep,ev,re,r,rp,chk)
local g=eg:Filter(c62699855.confilter,nil,e,tp)
if chk==0 then return Duel.GetLocationCount(tp,LOCATION_MZONE)>0 and #g>0 and e:GetHandler():IsAbleToRemove() end
Duel.SetTargetCard(g)
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,1,tp,LOCATION_DECK)
Duel.SetOperationInfo(0,CATEGORY_REMOVE,e:GetHandler(),1,0,0)
end
function c62699855.activate2(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
if Duel.GetLocationCount(tp,LOCATION_MZONE)<=0 then return end
local fg=Duel.GetChainInfo(0,CHAININFO_TARGET_CARDS):Filter(Card.IsRelateToEffect,nil,e)
if #fg<1 then return end
if #fg>1 then
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SELECT)
fg=fg:Select(tp,1,1,nil)
end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON)
local g=Duel.SelectMatchingCard(tp,c62699855.spfilter,tp,LOCATION_DECK,0,1,1,nil,e,tp,fg:GetFirst())
if Duel.SpecialSummon(g,0,tp,tp,false,false,POS_FACEUP)>0 and c:IsRelateToEffect(e) then
Duel.BreakEffect()
Duel.Remove(c,POS_FACEUP,0x40)
end
end
function c62699855.filter0(c)
return c:IsFaceupEx() and c:IsType(TYPE_MONSTER) and c:IsCanBeFusionMaterial() and c:IsAbleToDeck()
end
function c62699855.filter1(c,e)
return c:IsFaceupEx() and c:IsType(TYPE_MONSTER) and c:IsCanBeFusionMaterial() and c:IsAbleToDeck() and not c:IsImmuneToEffect(e)
end
function c62699855.filter2(c,e,tp,m,f,chkf)
return c:IsType(TYPE_FUSION) and c:IsSetCard(0x6df) and (not f or f(c))
and c:IsCanBeSpecialSummoned(e,SUMMON_TYPE_FUSION,tp,false,false) and c:CheckFusionMaterial(m,nil,chkf)
end
function c62699855.target(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then
local chkf=tp
local mg=Duel.GetMatchingGroup(c62699855.filter0,tp,LOCATION_ONFIELD+LOCATION_GRAVE+LOCATION_REMOVED+LOCATION_HAND,0,nil)
local res=Duel.IsExistingMatchingCard(c62699855.filter2,tp,LOCATION_EXTRA,0,1,nil,e,tp,mg,nil,chkf)
if not res then
local ce=Duel.GetChainMaterial(tp)
if ce~=nil then
local fgroup=ce:GetTarget()
local mg3=fgroup(ce,e,tp)
local mf=ce:GetValue()
res=Duel.IsExistingMatchingCard(c62699855.filter2,tp,LOCATION_EXTRA,0,1,nil,e,tp,mg3,mf,chkf)
end
end
return res
end
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,1,tp,LOCATION_EXTRA)
Duel.SetOperationInfo(0,CATEGORY_TODECK,nil,1,tp,LOCATION_ONFIELD+LOCATION_GRAVE+LOCATION_REMOVED+LOCATION_HAND)
end
function c62699855.activate(e,tp,eg,ep,ev,re,r,rp)
local chkf=tp
local mg=Duel.GetMatchingGroup(aux.NecroValleyFilter(c62699855.filter1),tp,LOCATION_ONFIELD+LOCATION_GRAVE+LOCATION_REMOVED+LOCATION_HAND,0,nil,e)
local sg1=Duel.GetMatchingGroup(c62699855.filter2,tp,LOCATION_EXTRA,0,nil,e,tp,mg,nil,chkf)
local mg3=nil
local sg2=nil
local ce=Duel.GetChainMaterial(tp)
if ce~=nil then
local fgroup=ce:GetTarget()
mg3=fgroup(ce,e,tp)
local mf=ce:GetValue()
sg2=Duel.GetMatchingGroup(c62699855.filter2,tp,LOCATION_EXTRA,0,nil,e,tp,mg3,mf,chkf)
end
if sg1:GetCount()>0 or (sg2~=nil and sg2:GetCount()>0) then
local sg=sg1:Clone()
if sg2 then sg:Merge(sg2) end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON)
local tg=sg:Select(tp,1,1,nil)
local tc=tg:GetFirst()
if sg1:IsContains(tc) and (sg2==nil or not sg2:IsContains(tc) or not Duel.SelectYesNo(tp,ce:GetDescription())) then
local mat=Duel.SelectFusionMaterial(tp,tc,mg,nil,chkf)
tc:SetMaterial(mat)
if mat:IsExists(Card.IsFacedown,1,nil) or mat:IsExists(Card.IsLocation,1,nil,LOCATION_HAND) then
local cg=mat:Filter(Card.IsFacedown,nil)
local cg2=mat:Filter(Card.IsLocation,nil,LOCATION_HAND)
cg:Merge(cg2)
Duel.ConfirmCards(1-tp,cg)
end
if mat:Filter(c62699855.cfilter,nil):GetCount()>0 then
local cg=mat:Filter(c62699855.cfilter,nil)
Duel.HintSelection(cg)
end
Duel.SendtoDeck(mat,nil,SEQ_DECKSHUFFLE,REASON_EFFECT+REASON_MATERIAL+REASON_FUSION)
Duel.BreakEffect()
Duel.SpecialSummon(tc,SUMMON_TYPE_FUSION,tp,tp,false,false,POS_FACEUP)
else
local mat2=Duel.SelectFusionMaterial(tp,tc,mg3,nil,chkf)
local fop=ce:GetOperation()
fop(ce,e,tp,tc,mat2)
end
tc:CompleteProcedure()
end
end
function c62699855.cfilter(c)
return c:IsLocation(LOCATION_GRAVE+LOCATION_REMOVED+LOCATION_HAND) or (c:IsLocation(LOCATION_MZONE) and c:IsFaceup())
end
\ No newline at end of file
--<博士>温尔达·斯查特
function c62699860.initial_effect(c)
aux.AddCodeList(c,0x16df)
--special summon
local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(62699860,1))
e1:SetCategory(CATEGORY_SPECIAL_SUMMON)
e1:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_O)
e1:SetProperty(EFFECT_FLAG_DELAY)
e1:SetCode(EVENT_TO_HAND)
e1:SetCountLimit(1,62699860)
e1:SetCondition(c62699860.spcon)
e1:SetTarget(c62699860.sptg)
e1:SetOperation(c62699860.spop)
c:RegisterEffect(e1)
--cannot attack
local e2=Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_FIELD)
e2:SetCode(EFFECT_CANNOT_ATTACK)
e2:SetRange(LOCATION_MZONE)
e2:SetTargetRange(0,LOCATION_MZONE)
e2:SetTarget(c62699860.atktarget)
c:RegisterEffect(e2)
--
local e3=Effect.CreateEffect(c)
e3:SetType(EFFECT_TYPE_QUICK_O)
e3:SetCode(EVENT_FREE_CHAIN)
e3:SetRange(LOCATION_MZONE)
e3:SetHintTiming(0,TIMINGS_CHECK_MONSTER)
e3:SetCountLimit(1,62699860+1)
e3:SetCost(c62699860.cost)
e3:SetOperation(c62699860.operation)
c:RegisterEffect(e3)
end
function c62699860.spcon(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
return bit.band(r,REASON_EFFECT)~=0 and re:GetHandler():IsSetCard(0x6df)
end
function c62699860.cfilter(c)
return c:IsCanAddCounter(0x16df,1)
and not (c:IsSetCard(0x6df) and c:IsRace(RACE_MACHINE) and c:IsAttribute(ATTRIBUTE_LIGHT))
end
function c62699860.sptg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(c62699860.cfilter,tp,LOCATION_MZONE,LOCATION_MZONE,1,nil)
and Duel.GetLocationCount(tp,LOCATION_MZONE)>0
and e:GetHandler():IsCanBeSpecialSummoned(e,0,tp,false,false) end
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,e:GetHandler(),1,0,0)
end
function c62699860.spop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
local g=Duel.GetMatchingGroup(c62699860.cfilter,tp,LOCATION_MZONE,LOCATION_MZONE,nil)
local tc=g:GetFirst()
while tc do
tc:AddCounter(0x16df,1)
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetCode(EFFECT_CHANGE_RACE)
e1:SetReset(RESET_EVENT+RESETS_STANDARD)
e1:SetCondition(c62699860.ctrcon)
e1:SetValue(RACE_INSECT)
tc:RegisterEffect(e1)
local e2=Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_SINGLE)
e2:SetCode(EFFECT_UPDATE_ATTACK)
e2:SetReset(RESET_EVENT+RESETS_STANDARD)
e2:SetValue(100)
tc:RegisterEffect(e2)
tc=g:GetNext()
end
Duel.BreakEffect()
--attribute
local sg=Duel.GetMatchingGroup(c62699860.attrfilter,tp,LOCATION_MZONE,LOCATION_MZONE,nil)
local sc=sg:GetFirst()
while sc do
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetCode(EFFECT_CHANGE_ATTRIBUTE)
e1:SetReset(RESET_EVENT+RESETS_STANDARD)
e1:SetValue(ATTRIBUTE_DARK)
sc:RegisterEffect(e1)
sc=sg:GetNext()
end
if c:IsRelateToEffect(e) then
Duel.SpecialSummon(c,0,tp,tp,false,false,POS_FACEUP)
end
end
function c62699860.ctrcon(e)
return e:GetHandler():GetCounter(0x16df)>0
end
function c62699860.attrfilter(c)
return c:GetCounter(0x16df)>0
end
function c62699860.atktarget(e,c)
return c:GetCounter(0x16df)>0
end
function c62699860.cost(e,tp,eg,ep,ev,re,r,rp,chk)
local c=e:GetHandler()
if chk==0 then return c:IsAbleToGraveAsCost() end
Duel.SendtoGrave(c,REASON_COST)
end
function c62699860.operation(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_FIELD)
e1:SetCode(EFFECT_CANNOT_DISEFFECT)
e1:SetValue(c62699860.effectfilter)
e1:SetReset(RESET_PHASE+PHASE_END)
Duel.RegisterEffect(e1,tp)
end
function c62699860.effectfilter(e,ct)
local p=e:GetHandler():GetControler()
local te,tp=Duel.GetChainInfo(ct,CHAININFO_TRIGGERING_EFFECT,CHAININFO_TRIGGERING_PLAYER)
local tc=te:GetHandler()
return p==tp and tc:IsSetCard(0x6df) and tc:GetOriginalAttribute()&(ATTRIBUTE_LIGHT)>0
and tc:GetOriginalRace()&(RACE_MACHINE)>0
end
\ No newline at end of file
--<复兴官>的万圣惊魂夜之逝者请安息
function c62699865.initial_effect(c)
c:EnableReviveLimit()
--spsummon condition
local e0=Effect.CreateEffect(c)
e0:SetType(EFFECT_TYPE_SINGLE)
e0:SetProperty(EFFECT_FLAG_CANNOT_DISABLE+EFFECT_FLAG_UNCOPYABLE)
e0:SetCode(EFFECT_SPSUMMON_CONDITION)
e0:SetValue(c62699865.spLimit)
c:RegisterEffect(e0)
--remove spell/trap
local e1=Effect.CreateEffect(c)
e1:SetCategory(CATEGORY_REMOVE)
e1:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_O)
e1:SetProperty(EFFECT_FLAG_DELAY)
e1:SetCode(EVENT_SPSUMMON_SUCCESS)
e1:SetCountLimit(1,62699865)
e1:SetTarget(c62699865.rmtg)
e1:SetOperation(c62699865.rmop)
c:RegisterEffect(e1)
--negate
local e2=Effect.CreateEffect(c)
e2:SetDescription(aux.Stringid(62699865,0))
e2:SetCategory(CATEGORY_NEGATE)
e2:SetType(EFFECT_TYPE_QUICK_O)
e2:SetProperty(EFFECT_FLAG_DAMAGE_STEP+EFFECT_FLAG_DAMAGE_CAL)
e2:SetCode(EVENT_CHAINING)
e2:SetRange(LOCATION_MZONE)
e2:SetCountLimit(1)
e2:SetCondition(c62699865.discon)
e2:SetTarget(c62699865.distg)
e2:SetOperation(c62699865.disop)
c:RegisterEffect(e2)
--negate
local e3=Effect.CreateEffect(c)
e3:SetDescription(aux.Stringid(62699865,0))
e3:SetCategory(CATEGORY_DISABLE)
e3:SetType(EFFECT_TYPE_QUICK_O)
e3:SetRange(LOCATION_MZONE)
e3:SetCountLimit(1)
e3:SetCode(EVENT_CHAINING)
e3:SetCondition(c62699865.negcon)
e3:SetTarget(c62699865.negtg)
e3:SetOperation(c62699865.negop)
c:RegisterEffect(e3)
end
function c62699865.spLimit(e,se,sp,st)
return se:GetHandler():IsSetCard(0x6df) or not e:GetHandler():IsLocation(LOCATION_EXTRA)
end
function c62699865.rmfilter(c)
return c:IsAbleToRemove()
end
function c62699865.rmtg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(c62699865.rmfilter,tp,LOCATION_GRAVE,LOCATION_GRAVE,1,nil) end
local g=Duel.GetMatchingGroup(c62699865.rmfilter,tp,LOCATION_GRAVE,LOCATION_GRAVE,nil)
Duel.SetOperationInfo(0,CATEGORY_REMOVE,g,1,0,0)
end
function c62699865.rmop(e,tp,eg,ep,ev,re,r,rp)
local g=Duel.SelectMatchingCard(tp,c62699865.rmfilter,tp,LOCATION_GRAVE,LOCATION_GRAVE,1,3,nil)
local tc=g:GetFirst()
while tc do
if Duel.Remove(tc,POS_FACEUP,REASON_EFFECT)>0 and tc:IsLocation(LOCATION_REMOVED) then
local e1=Effect.CreateEffect(e:GetHandler())
e1:SetType(EFFECT_TYPE_FIELD)
e1:SetCode(EFFECT_CANNOT_SPECIAL_SUMMON)
e1:SetProperty(EFFECT_FLAG_PLAYER_TARGET)
e1:SetTargetRange(0,1)
e1:SetTarget(c62699865.sumlimit)
e1:SetLabel(tc:GetCode())
e1:SetReset(RESET_PHASE+PHASE_END)
Duel.RegisterEffect(e1,tp)
local e2=e1:Clone()
e2:SetCode(EFFECT_CANNOT_ACTIVATE)
e2:SetValue(c62699865.aclimit)
Duel.RegisterEffect(e2,tp)
end
tc=g:GetNext()
end
end
function c62699865.sumlimit(e,c)
return c:GetOriginalCode()==e:GetLabel()
end
function c62699865.aclimit(e,re,tp)
return re:GetHandler():GetOriginalCode()==e:GetLabel()
end
function c62699865.cfilter(c)
return c:IsLocation(LOCATION_GRAVE) and c:IsType(TYPE_MONSTER)
end
function c62699865.confilter1(c)
return c:IsCode(62699850) and c:IsFaceup()
end
function c62699865.discon(e,tp,eg,ep,ev,re,r,rp)
if not Duel.IsExistingMatchingCard(c62699865.confilter1,tp,LOCATION_REMOVED,0,1,nil) then return false end
local ex4,g4,gc4,dp4,dv4=Duel.GetOperationInfo(ev,CATEGORY_SPECIAL_SUMMON)
return (ex4 and (dv4&LOCATION_GRAVE==LOCATION_GRAVE or g4 and g4:IsExists(c62699865.cfilter,1,nil))
or re:IsHasCategory(CATEGORY_GRAVE_SPSUMMON))
and Duel.IsChainNegatable(ev) and rp==1-tp
end
function c62699865.distg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return true end
Duel.SetOperationInfo(0,CATEGORY_NEGATE,eg,1,0,0)
end
function c62699865.disop(e,tp,eg,ep,ev,re,r,rp)
Duel.NegateActivation(ev)
end
function c62699865.confilter2(c)
return c:IsCode(62699860) and c:IsFaceup()
end
function c62699865.negcon(e,tp,eg,ep,ev,re,r,rp)
if not Duel.IsExistingMatchingCard(c62699865.confilter2,tp,LOCATION_REMOVED,0,1,nil) then return false end
return re:GetActivateLocation()==LOCATION_GRAVE and Duel.IsChainDisablable(ev) and rp==1-tp
end
function c62699865.negtg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return true end
Duel.SetOperationInfo(0,CATEGORY_DISABLE,eg,1,0,0)
end
function c62699865.negop(e,tp,eg,ep,ev,re,r,rp)
Duel.NegateEffect(ev)
end
\ No newline at end of file
--宝石猫
function c62699870.initial_effect(c)
c:SetSPSummonOnce(62699870)
--link summon
c:EnableReviveLimit()
aux.AddLinkProcedure(c,c62699870.matfilter,1,1)
--to deck
local e1=Effect.CreateEffect(c)
e1:SetCategory(CATEGORY_TODECK+CATEGORY_SPECIAL_SUMMON)
e1:SetType(EFFECT_TYPE_IGNITION)
e1:SetRange(LOCATION_MZONE)
e1:SetProperty(EFFECT_FLAG_CARD_TARGET)
e1:SetCountLimit(1,62699870)
e1:SetTarget(c62699870.tdtg)
e1:SetOperation(c62699870.tdop)
c:RegisterEffect(e1)
--to extra
local e2=Effect.CreateEffect(c)
e2:SetCategory(CATEGORY_TOEXTRA)
e2:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_F)
e2:SetProperty(EFFECT_FLAG_DELAY)
e2:SetCode(EVENT_LEAVE_FIELD)
e2:SetCountLimit(1,62699870+1)
e2:SetTarget(c62699870.tetg)
e2:SetOperation(c62699870.teop)
c:RegisterEffect(e2)
end
function c62699870.matfilter(c)
return not c:IsType(TYPE_FUSION+TYPE_XYZ+TYPE_LINK) and c:IsSetCard(0x6df)
end
function c62699870.tdfilter(c)
return c:IsSetCard(0x6df) and c:IsType(0x1) and c:IsAbleToDeck()
end
function c62699870.tdtg(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
if chkc then return chkc:IsLocation(LOCATION_GRAVE) and chkc:IsControler(tp) and c62699870.tdfilter(chkc) end
if chk==0 then return Duel.IsExistingTarget(c62699870.tdfilter,tp,LOCATION_GRAVE,0,1,nil) end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TODECK)
local g=Duel.SelectTarget(tp,c62699870.tdfilter,tp,LOCATION_GRAVE,0,1,1,nil)
Duel.SetOperationInfo(0,CATEGORY_TODECK,g,1,0,0)
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,1,tp,LOCATION_DECK)
end
function c62699870.tdop(e,tp,eg,ep,ev,re,r,rp)
local tc=Duel.GetFirstTarget()
if tc:IsRelateToEffect(e) and Duel.SendtoDeck(tc,nil,2,0x40)>0 and tc:IsLocation(LOCATION_DECK+LOCATION_EXTRA) then
local e1=Effect.CreateEffect(e:GetHandler())
e1:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
e1:SetCode(EVENT_PHASE+PHASE_STANDBY)
e1:SetCountLimit(1)
e1:SetLabel(Duel.GetTurnCount())
e1:SetLabel(tc:GetRace())
e1:SetCondition(c62699870.spcon)
e1:SetOperation(c62699870.spop)
if Duel.GetCurrentPhase()<=PHASE_STANDBY then
e1:SetReset(RESET_PHASE+PHASE_STANDBY,2)
else
e1:SetReset(RESET_PHASE+PHASE_STANDBY)
end
Duel.RegisterEffect(e1,tp)
end
end
function c62699870.spfilter(c,e,tp,race)
return c:IsSetCard(0x6df) and c:IsCanBeSpecialSummoned(e,0,tp,false,false) and c:IsRace(race)
end
function c62699870.spcon(e,tp,eg,ep,ev,re,r,rp)
local race=e:GetLabel()
return Duel.GetTurnCount()~=e:GetLabel() and Duel.GetLocationCount(tp,LOCATION_MZONE)>0
and Duel.IsExistingMatchingCard(c62699870.spfilter,tp,LOCATION_DECK,0,1,nil,e,tp,race)
end
function c62699870.spop(e,tp,eg,ep,ev,re,r,rp)
local race=e:GetLabel()
Duel.Hint(HINT_CARD,0,62699870)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON)
local g=Duel.SelectMatchingCard(tp,c62699870.spfilter,tp,LOCATION_DECK,0,1,1,nil,e,tp,race)
if g:GetCount()>0 then
Duel.SpecialSummon(g,0,tp,tp,false,false,POS_FACEUP)
end
end
function c62699870.tetg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return true end
Duel.SetOperationInfo(0,CATEGORY_TOEXTRA,e:GetHandler(),1,0,0)
end
function c62699870.teop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
if c:IsRelateToEffect(e) then
Duel.SendtoDeck(c,nil,SEQ_DECKSHUFFLE,REASON_EFFECT)
end
end
\ No newline at end of file
--新神的眷属
function c62699875.initial_effect(c)
aux.AddCodeList(c,0x16df)
--fusion material
c:EnableReviveLimit()
aux.AddFusionProcFunRep(c,c62699875.mfilter,3,true)
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_F)
e1:SetCode(EVENT_SPSUMMON_SUCCESS)
e1:SetCondition(c62699875.con)
e1:SetOperation(c62699875.op)
c:RegisterEffect(e1)
local e11=Effect.CreateEffect(c)
e11:SetType(EFFECT_TYPE_SINGLE)
e11:SetCode(EFFECT_MATERIAL_CHECK)
e11:SetValue(c62699875.valcheck)
e11:SetLabelObject(e1)
c:RegisterEffect(e11)
--atkdown
local e2=Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_FIELD)
e2:SetCode(EFFECT_UPDATE_ATTACK)
e2:SetRange(LOCATION_MZONE)
e2:SetTargetRange(LOCATION_MZONE,0)
e2:SetTarget(c62699875.atktg)
e2:SetValue(c62699875.atkval)
c:RegisterEffect(e2)
--tograve
local e3=Effect.CreateEffect(c)
e3:SetCategory(CATEGORY_TOGRAVE)
e3:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_O)
e3:SetCode(EVENT_LEAVE_FIELD)
e3:SetProperty(EFFECT_FLAG_DELAY)
e3:SetCondition(c62699875.tgcon)
e3:SetTarget(c62699875.tgtg)
e3:SetOperation(c62699875.tgop)
c:RegisterEffect(e3)
end
function c62699875.mfilter(c)
return c:GetOriginalRace()&(RACE_ILLUSION)>0 and c:IsFusionAttribute(ATTRIBUTE_DARK) and c:IsFusionSetCard(0x6df)
end
function c62699875.con(e,tp,eg,ep,ev,re,r,rp)
return e:GetHandler():IsSummonType(SUMMON_TYPE_FUSION)
end
function c62699875.op(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
local g=Duel.GetMatchingGroup(Card.IsCanAddCounter,tp,LOCATION_ONFIELD,LOCATION_ONFIELD,nil,0x16df,1)
local tc=g:GetFirst()
while tc do
tc:AddCounter(0x16df,1)
if tc:IsType(0x1) then
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetCode(EFFECT_CHANGE_RACE)
e1:SetReset(RESET_EVENT+RESETS_STANDARD)
e1:SetCondition(c62699875.ctrcon)
e1:SetValue(RACE_INSECT)
tc:RegisterEffect(e1)
local e2=Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_SINGLE)
e2:SetCode(EFFECT_UPDATE_ATTACK)
e2:SetReset(RESET_EVENT+RESETS_STANDARD)
e2:SetValue(100)
tc:RegisterEffect(e2)
end
tc=g:GetNext()
end
Duel.BreakEffect()
local ct=Duel.GetCounter(tp,LOCATION_ONFIELD,LOCATION_ONFIELD,0x16df)
if ct>0 and c:IsRelateToEffect(e) then
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetCode(EFFECT_UPDATE_ATTACK)
e1:SetReset(RESET_EVENT+RESETS_STANDARD+RESET_DISABLE)
e1:SetValue(ct*300)
c:RegisterEffect(e1)
end
local ng=Duel.GetMatchingGroup(c62699875.disfilter,tp,LOCATION_ONFIELD,LOCATION_ONFIELD,nil)
if e:GetLabel()==1 and #ng>0 and Duel.SelectYesNo(tp,aux.Stringid(62699875,0)) then
local nc=ng:GetFirst()
while nc do
Duel.NegateRelatedChain(nc,RESET_TURN_SET)
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetCode(EFFECT_DISABLE)
e1:SetProperty(EFFECT_FLAG_CANNOT_DISABLE)
e1:SetReset(RESET_EVENT+RESETS_STANDARD)
nc:RegisterEffect(e1)
local e2=Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_SINGLE)
e2:SetCode(EFFECT_DISABLE_EFFECT)
e2:SetProperty(EFFECT_FLAG_CANNOT_DISABLE)
e2:SetValue(RESET_TURN_SET)
e2:SetReset(RESET_EVENT+RESETS_STANDARD)
nc:RegisterEffect(e2)
if nc:IsType(TYPE_TRAPMONSTER) then
local e3=Effect.CreateEffect(c)
e3:SetType(EFFECT_TYPE_SINGLE)
e3:SetProperty(EFFECT_FLAG_CANNOT_DISABLE)
e3:SetCode(EFFECT_DISABLE_TRAPMONSTER)
e3:SetReset(RESET_EVENT+RESETS_STANDARD)
nc:RegisterEffect(e3)
end
nc=ng:GetNext()
end
end
end
function c62699875.disfilter(c)
return c:GetCounter(0x16df)>0 and not c:IsSetCard(0x6df) and aux.NegateAnyFilter(c)
end
function c62699875.ctrcon(e)
return e:GetHandler():GetCounter(0x16df)>0
end
function c62699875.valcheck(e,c)
local g=c:GetMaterial()
local b1=g:IsExists(Card.IsCode,1,nil,62699987)
local b2=g:IsExists(Card.IsCode,1,nil,62699988)
local b3=g:IsExists(Card.IsCode,1,nil,62699989)
if b1 and b2 and b3 then e:GetLabelObject():SetLabel(1) end
end
function c62699875.atktg(e,c)
return c:GetCounter(0x16df)>0
end
function c62699875.atkval(e,c)
return Duel.GetCounter(0,1,1,0x16df)*300
end
function c62699875.tgcon(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
return c:IsSummonType(SUMMON_TYPE_FUSION) and c:IsPreviousLocation(LOCATION_MZONE)
end
function c62699875.tgfilter(c)
return c:IsSetCard(0x6df) and c:IsAbleToGrave()
end
function c62699875.tgtg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(c62699875.tgfilter,tp,LOCATION_DECK+LOCATION_ONFIELD,0,1,nil) end
Duel.SetOperationInfo(0,CATEGORY_TOGRAVE,nil,1,tp,LOCATION_DECK+LOCATION_ONFIELD)
end
function c62699875.tgop(e,tp,eg,ep,ev,re,r,rp)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TOGRAVE)
local g=Duel.SelectMatchingCard(tp,c62699875.tgfilter,tp,LOCATION_DECK+LOCATION_ONFIELD,0,1,1,nil)
if g:GetCount()>0 then
Duel.SendtoGrave(g,REASON_EFFECT)
end
end
\ No newline at end of file
--Science Rgb Lab
function c62699880.initial_effect(c)
aux.AddCodeList(c,0x16df)
--fusion material
c:EnableReviveLimit()
aux.AddFusionProcMix(c,true,true,aux.FilterBoolFunction(Card.IsFusionAttribute,ATTRIBUTE_EARTH),aux.FilterBoolFunction(Card.IsFusionAttribute,ATTRIBUTE_WIND),aux.FilterBoolFunction(Card.IsFusionAttribute,ATTRIBUTE_LIGHT))
--attr
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_TRIGGER_F)
e1:SetCode(EVENT_PHASE+PHASE_STANDBY)
e1:SetCountLimit(1)
e1:SetRange(LOCATION_MZONE)
e1:SetOperation(c62699880.atop)
c:RegisterEffect(e1)
--set
local e2=Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_QUICK_O)
e2:SetCode(EVENT_CHAINING)
e2:SetRange(LOCATION_MZONE)
e2:SetCountLimit(1)
e2:SetCondition(c62699880.setcon)
e2:SetTarget(c62699880.settg)
e2:SetOperation(c62699880.setop)
c:RegisterEffect(e2)
--sp
local e3=Effect.CreateEffect(c)
e3:SetCategory(CATEGORY_SEARCH+CATEGORY_TOHAND+CATEGORY_SPECIAL_SUMMON)
e3:SetType(EFFECT_TYPE_QUICK_O)
e3:SetCode(EVENT_CHAINING)
e3:SetRange(LOCATION_MZONE)
e3:SetCountLimit(1)
e3:SetCondition(c62699880.spcon)
e3:SetTarget(c62699880.sptg)
e3:SetOperation(c62699880.spop)
c:RegisterEffect(e3)
--draw
local e4=Effect.CreateEffect(c)
e4:SetCategory(CATEGORY_DRAW)
e4:SetType(EFFECT_TYPE_QUICK_O)
e4:SetCode(EVENT_CHAINING)
e4:SetRange(LOCATION_MZONE)
e4:SetCountLimit(1)
e4:SetCondition(c62699880.drcon)
e4:SetTarget(c62699880.drtg)
e4:SetOperation(c62699880.drop)
c:RegisterEffect(e4)
end
function c62699880.atop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_ATTRIBUTE)
local attr=Duel.AnnounceAttribute(tp,1,0x19&~c:GetAttribute())
if c:IsRelateToEffect(e) then
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetCode(EFFECT_CHANGE_ATTRIBUTE)
e1:SetReset(RESET_EVENT+RESETS_STANDARD)
e1:SetValue(attr)
c:RegisterEffect(e1)
end
end
function c62699880.setcon(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
return re:IsActiveType(TYPE_SPELL) and c:IsAttribute(ATTRIBUTE_ALL-ATTRIBUTE_WIND-ATTRIBUTE_LIGHT)
end
function c62699880.setfilter(c)
return c:IsType(0x6) and c:IsSetCard(0x6df) and c:IsSSetable()
end
function c62699880.settg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(c62699880.setfilter,tp,LOCATION_GRAVE,0,1,nil) end
end
function c62699880.setop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SET)
local g=Duel.SelectMatchingCard(tp,c62699880.setfilter,tp,LOCATION_GRAVE,0,1,1,nil)
local tc=g:GetFirst()
if tc and Duel.SSet(tp,tc)~=0 then
if tc:IsType(0x4) then
local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(62699880,0))
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetCode(EFFECT_TRAP_ACT_IN_SET_TURN)
e1:SetProperty(EFFECT_FLAG_SET_AVAILABLE)
e1:SetReset(RESET_EVENT+RESETS_STANDARD)
tc:RegisterEffect(e1)
end
if tc:IsType(TYPE_QUICKPLAY) then
local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(62699880,0))
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetCode(EFFECT_QP_ACT_IN_SET_TURN)
e1:SetProperty(EFFECT_FLAG_SET_AVAILABLE)
e1:SetReset(RESET_EVENT+RESETS_STANDARD)
tc:RegisterEffect(e1)
end
end
end
function c62699880.spcon(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
return re:IsActiveType(TYPE_MONSTER) and c:IsAttribute(ATTRIBUTE_ALL-ATTRIBUTE_EARTH-ATTRIBUTE_LIGHT)
end
function c62699880.spfilter(c,e,tp)
local ft=Duel.GetLocationCount(tp,LOCATION_MZONE)
return c:IsSetCard(0x6df) and c:IsType(0x1)
and (c:IsAbleToHand() or (ft>0 and c:IsCanBeSpecialSummoned(e,0,tp,false,false)))
end
function c62699880.sptg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(c62699880.spfilter,tp,LOCATION_GRAVE,0,1,nil,e,tp) end
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,1,tp,LOCATION_GRAVE)
end
function c62699880.spop(e,tp,eg,ep,ev,re,r,rp)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON)
local g=Duel.SelectMatchingCard(tp,aux.NecroValleyFilter(c62699880.spfilter),tp,LOCATION_GRAVE,0,1,1,nil,e,tp)
local ft=Duel.GetLocationCount(tp,LOCATION_MZONE)
local tc=g:GetFirst()
if tc then
if tc:IsAbleToHand() and (not tc:IsCanBeSpecialSummoned(e,0,tp,false,false) or ft<=0 or Duel.SelectOption(tp,1190,1152)==0) then
Duel.SendtoHand(tc,nil,REASON_EFFECT)
Duel.ConfirmCards(1-tp,tc)
else
Duel.SpecialSummon(tc,0,tp,tp,false,false,POS_FACEUP)
end
end
end
function c62699880.drcon(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
return re:IsActiveType(TYPE_TRAP) and c:IsAttribute(ATTRIBUTE_ALL-ATTRIBUTE_EARTH-ATTRIBUTE_WIND)
end
function c62699880.drtg(e,tp,eg,ep,ev,re,r,rp,chk)
local ct=Duel.GetCounter(tp,LOCATION_ONFIELD,0,0x16df)
if chk==0 then return Duel.IsPlayerCanDraw(tp,1) and ct>=3 end
Duel.SetOperationInfo(0,CATEGORY_DRAW,nil,0,tp,1)
end
function c62699880.drop(e,tp,eg,ep,ev,re,r,rp)
local num=0
while Duel.GetCounter(tp,LOCATION_ONFIELD,0,0x16df)>=3 do
Duel.RemoveCounter(tp,1,0,0x16df,3,REASON_COST)
num=num+1
if num>=3 then break end
if not Duel.IsPlayerCanDraw(tp,num+1) then break end
if Duel.GetCounter(tp,LOCATION_ONFIELD,0,0x16df)<3 or not Duel.SelectYesNo(tp,aux.Stringid(62699880,1)) then break end
end
if num>0 then
Duel.Draw(tp,num,REASON_EFFECT)
end
end
\ No newline at end of file
...@@ -60,7 +60,6 @@ function c62699906.ctop(e,tp,eg,ep,ev,re,r,rp) ...@@ -60,7 +60,6 @@ function c62699906.ctop(e,tp,eg,ep,ev,re,r,rp)
e2:SetType(EFFECT_TYPE_SINGLE) e2:SetType(EFFECT_TYPE_SINGLE)
e2:SetCode(EFFECT_UPDATE_ATTACK) e2:SetCode(EFFECT_UPDATE_ATTACK)
e2:SetReset(RESET_EVENT+RESETS_STANDARD) e2:SetReset(RESET_EVENT+RESETS_STANDARD)
e2:SetCondition(c62699906.ctrcon)
e2:SetValue(100) e2:SetValue(100)
tc:RegisterEffect(e2) tc:RegisterEffect(e2)
tc=g:GetNext() tc=g:GetNext()
......
...@@ -42,7 +42,7 @@ function c62699907.filter3(c,e) ...@@ -42,7 +42,7 @@ function c62699907.filter3(c,e)
return c:IsFaceup() and c:IsCanBeFusionMaterial() and not c:IsImmuneToEffect(e) return c:IsFaceup() and c:IsCanBeFusionMaterial() and not c:IsImmuneToEffect(e)
end end
function c62699907.fexfilter(c) function c62699907.fexfilter(c)
return c:IsType(TYPE_MONSTER) and c:IsCanBeFusionMaterial() and c:IsAbleToGrave() return c:IsType(TYPE_MONSTER) and c:IsCanBeFusionMaterial() and c:IsAbleToGrave() and c:IsSetCard(0x6df)
end end
function c62699907.frcheck(tp,sg,fc) function c62699907.frcheck(tp,sg,fc)
return sg:FilterCount(Card.IsLocation,nil,LOCATION_HAND+LOCATION_DECK)<=1 return sg:FilterCount(Card.IsLocation,nil,LOCATION_HAND+LOCATION_DECK)<=1
...@@ -158,7 +158,6 @@ function c62699907.ctop(e,tp,eg,ep,ev,re,r,rp) ...@@ -158,7 +158,6 @@ function c62699907.ctop(e,tp,eg,ep,ev,re,r,rp)
e2:SetType(EFFECT_TYPE_SINGLE) e2:SetType(EFFECT_TYPE_SINGLE)
e2:SetCode(EFFECT_UPDATE_ATTACK) e2:SetCode(EFFECT_UPDATE_ATTACK)
e2:SetReset(RESET_EVENT+RESETS_STANDARD) e2:SetReset(RESET_EVENT+RESETS_STANDARD)
e2:SetCondition(c62699907.ctrcon)
e2:SetValue(100) e2:SetValue(100)
tc:RegisterEffect(e2) tc:RegisterEffect(e2)
if c:IsRelateToEffect(e) then if c:IsRelateToEffect(e) then
......
...@@ -22,7 +22,7 @@ function c62699909.initial_effect(c) ...@@ -22,7 +22,7 @@ function c62699909.initial_effect(c)
c:RegisterEffect(e2) c:RegisterEffect(e2)
end end
function c62699909.filter(c) function c62699909.filter(c)
return c:IsSetCard(0x6df) and c:IsRace(RACE_WARRIOR+RACE_PSYCHO+RACE_ILLUSION) and c:IsAbleToHand() return c:IsCode(62699997,62699998,62699999) and c:IsAbleToHand()
end end
function c62699909.target(e,tp,eg,ep,ev,re,r,rp,chk) function c62699909.target(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(c62699909.filter,tp,LOCATION_DECK,0,1,nil) end if chk==0 then return Duel.IsExistingMatchingCard(c62699909.filter,tp,LOCATION_DECK,0,1,nil) end
...@@ -35,17 +35,6 @@ function c62699909.activate(e,tp,eg,ep,ev,re,r,rp) ...@@ -35,17 +35,6 @@ function c62699909.activate(e,tp,eg,ep,ev,re,r,rp)
Duel.SendtoHand(g,nil,REASON_EFFECT) Duel.SendtoHand(g,nil,REASON_EFFECT)
Duel.ConfirmCards(1-tp,g) Duel.ConfirmCards(1-tp,g)
end end
local e3=Effect.CreateEffect(e:GetHandler())
e3:SetType(EFFECT_TYPE_FIELD)
e3:SetCode(EFFECT_CANNOT_SPECIAL_SUMMON)
e3:SetProperty(EFFECT_FLAG_PLAYER_TARGET)
e3:SetTargetRange(1,0)
e3:SetTarget(c62699909.splimit)
e3:SetReset(RESET_PHASE+PHASE_END)
Duel.RegisterEffect(e3,tp)
end
function c62699909.splimit(e,c)
return not c:IsSetCard(0x6df)
end end
function c62699909.condition(e,tp,eg,ep,ev,re,r,rp) function c62699909.condition(e,tp,eg,ep,ev,re,r,rp)
return Duel.GetAttacker():IsControler(1-tp) return Duel.GetAttacker():IsControler(1-tp)
......
...@@ -51,7 +51,6 @@ function c62699919.activate(e,tp,eg,ep,ev,re,r,rp) ...@@ -51,7 +51,6 @@ function c62699919.activate(e,tp,eg,ep,ev,re,r,rp)
e2:SetType(EFFECT_TYPE_SINGLE) e2:SetType(EFFECT_TYPE_SINGLE)
e2:SetCode(EFFECT_UPDATE_ATTACK) e2:SetCode(EFFECT_UPDATE_ATTACK)
e2:SetReset(RESET_EVENT+RESETS_STANDARD) e2:SetReset(RESET_EVENT+RESETS_STANDARD)
e2:SetCondition(c62699919.ctrcon)
e2:SetValue(100) e2:SetValue(100)
tc:RegisterEffect(e2) tc:RegisterEffect(e2)
tc=g:GetNext() tc=g:GetNext()
......
...@@ -54,10 +54,9 @@ function c62699968.initial_effect(c) ...@@ -54,10 +54,9 @@ function c62699968.initial_effect(c)
e3:SetOperation(c62699968.desop2) e3:SetOperation(c62699968.desop2)
c:RegisterEffect(e3) c:RegisterEffect(e3)
Duel.AddCustomActivityCounter(62699968,ACTIVITY_SPSUMMON,c62699968.counterfilter) Duel.AddCustomActivityCounter(62699968,ACTIVITY_SPSUMMON,c62699968.counterfilter)
Duel.AddCustomActivityCounter(62699968,ACTIVITY_SUMMON,c62699968.counterfilter)
end end
function c62699968.counterfilter(c) function c62699968.counterfilter(c)
return c:IsSetCard(0x6df) return c:IsSetCard(0x6df) or not c:IsSummonLocation(LOCATION_EXTRA)
end end
function c62699968.lcheck(g,lc) function c62699968.lcheck(g,lc)
return g:IsExists(Card.IsLinkSetCard,1,nil,0x6df) return g:IsExists(Card.IsLinkSetCard,1,nil,0x6df)
...@@ -94,7 +93,7 @@ function c62699968.spop(e,tp,eg,ep,ev,re,r,rp) ...@@ -94,7 +93,7 @@ function c62699968.spop(e,tp,eg,ep,ev,re,r,rp)
Duel.RegisterEffect(e2,tp) Duel.RegisterEffect(e2,tp)
end end
function c62699968.splimit(e,c,tp,sumtp,sumpos) function c62699968.splimit(e,c,tp,sumtp,sumpos)
return not c:IsSetCard(0x6df) return not c:IsSetCard(0x6df) and c:IsLocation(LOCATION_EXTRA)
end end
function c62699968.valcheck(e,c) function c62699968.valcheck(e,c)
local g=c:GetMaterial() local g=c:GetMaterial()
......
...@@ -14,7 +14,7 @@ function c62699969.initial_effect(c) ...@@ -14,7 +14,7 @@ function c62699969.initial_effect(c)
c:RegisterEffect(e00) c:RegisterEffect(e00)
--todeck --todeck
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
e1:SetCategory(CATEGORY_TODECK) e1:SetCategory(CATEGORY_TODECK+CATEGORY_DRAW)
e1:SetType(EFFECT_TYPE_IGNITION) e1:SetType(EFFECT_TYPE_IGNITION)
e1:SetRange(LOCATION_MZONE) e1:SetRange(LOCATION_MZONE)
e1:SetCountLimit(1,62699969) e1:SetCountLimit(1,62699969)
...@@ -33,17 +33,15 @@ function c62699969.initial_effect(c) ...@@ -33,17 +33,15 @@ function c62699969.initial_effect(c)
e2:SetOperation(c62699969.operation) e2:SetOperation(c62699969.operation)
c:RegisterEffect(e2) c:RegisterEffect(e2)
Duel.AddCustomActivityCounter(62699969,ACTIVITY_SPSUMMON,c62699969.counterfilter) Duel.AddCustomActivityCounter(62699969,ACTIVITY_SPSUMMON,c62699969.counterfilter)
Duel.AddCustomActivityCounter(62699969,ACTIVITY_SUMMON,c62699969.counterfilter)
end end
function c62699969.counterfilter(c) function c62699969.counterfilter(c)
return c:IsSetCard(0x6df) return c:IsSetCard(0x6df) or not c:IsSummonLocation(LOCATION_EXTRA)
end end
function c62699969.mfilter(c) function c62699969.mfilter(c)
return c:IsLinkCode(62699999,62699988,62699979,62699969) return c:IsLinkCode(62699999,62699988,62699979,62699969,62699840,62699815,62699800)
end end
function c62699969.spcost(e,c,tp) function c62699969.spcost(e,c,tp)
return Duel.GetCustomActivityCount(62699969,tp,ACTIVITY_SPSUMMON)==0 return Duel.GetCustomActivityCount(62699969,tp,ACTIVITY_SPSUMMON)==0
and Duel.GetCustomActivityCount(62699969,tp,ACTIVITY_SUMMON)==0
end end
function c62699969.spop(e,tp,eg,ep,ev,re,r,rp) function c62699969.spop(e,tp,eg,ep,ev,re,r,rp)
local e1=Effect.CreateEffect(e:GetHandler()) local e1=Effect.CreateEffect(e:GetHandler())
...@@ -54,12 +52,9 @@ function c62699969.spop(e,tp,eg,ep,ev,re,r,rp) ...@@ -54,12 +52,9 @@ function c62699969.spop(e,tp,eg,ep,ev,re,r,rp)
e1:SetTarget(c62699969.splimit) e1:SetTarget(c62699969.splimit)
e1:SetReset(RESET_PHASE+PHASE_END) e1:SetReset(RESET_PHASE+PHASE_END)
Duel.RegisterEffect(e1,tp) Duel.RegisterEffect(e1,tp)
local e2=e1:Clone()
e2:SetCode(EFFECT_CANNOT_SUMMON)
Duel.RegisterEffect(e2,tp)
end end
function c62699969.splimit(e,c,tp,sumtp,sumpos) function c62699969.splimit(e,c,tp,sumtp,sumpos)
return not c:IsSetCard(0x6df) return not c:IsSetCard(0x6df) and c:IsLocation(LOCATION_EXTRA)
end end
function c62699969.tdfilter(c,e) function c62699969.tdfilter(c,e)
return c:IsSetCard(0x6df) and c:IsType(TYPE_MONSTER) and c:IsAbleToDeck() and c:IsCanBeEffectTarget(e) return c:IsSetCard(0x6df) and c:IsType(TYPE_MONSTER) and c:IsAbleToDeck() and c:IsCanBeEffectTarget(e)
...@@ -67,17 +62,23 @@ end ...@@ -67,17 +62,23 @@ end
function c62699969.tdtg(e,tp,eg,ep,ev,re,r,rp,chk,chkc) function c62699969.tdtg(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
if chkc then return chkc:IsLocation(LOCATION_GRAVE) and chkc:IsControler(tp) and c62699969.tdfilter(chkc) end if chkc then return chkc:IsLocation(LOCATION_GRAVE) and chkc:IsControler(tp) and c62699969.tdfilter(chkc) end
local g=Duel.GetMatchingGroup(c62699969.tdfilter,tp,LOCATION_GRAVE+LOCATION_REMOVED,0,nil,e) local g=Duel.GetMatchingGroup(c62699969.tdfilter,tp,LOCATION_GRAVE+LOCATION_REMOVED,0,nil,e)
if chk==0 then return g:GetClassCount(Card.GetRace)>=2 end if chk==0 then return g:GetClassCount(Card.GetRace)>=2 and Duel.IsPlayerCanDraw(tp,1) end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TODECK) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TODECK)
local g1=g:SelectSubGroup(tp,aux.drccheck,false,2,2) local g1=g:SelectSubGroup(tp,aux.drccheck,false,2,2)
Duel.SetTargetCard(g1) Duel.SetTargetCard(g1)
Duel.SetOperationInfo(0,CATEGORY_TODECK,g1,2,0,0) Duel.SetOperationInfo(0,CATEGORY_TODECK,g1,2,0,0)
Duel.SetOperationInfo(0,CATEGORY_DRAW,nil,0,tp,1)
end end
function c62699969.tdop(e,tp,eg,ep,ev,re,r,rp) function c62699969.tdop(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 sg:GetCount()>0 then if sg:GetCount()>0 and Duel.SendtoDeck(sg,nil,SEQ_DECKSHUFFLE,REASON_EFFECT)
Duel.SendtoDeck(sg,nil,SEQ_DECKSHUFFLE,REASON_EFFECT) and sg:IsExists(Card.IsLocation,1,nil,LOCATION_DECK+LOCATION_EXTRA) then
if sg:IsExists(Card.IsLocation,1,nil,LOCATION_DECK) then
Duel.ShuffleDeck(tp)
end
Duel.BreakEffect()
Duel.Draw(tp,1,REASON_EFFECT)
end end
end end
function c62699969.condition(e,tp,eg,ep,ev,re,r,rp) function c62699969.condition(e,tp,eg,ep,ev,re,r,rp)
......
...@@ -106,7 +106,6 @@ function c62699988.setop(e,tp,eg,ep,ev,re,r,rp) ...@@ -106,7 +106,6 @@ function c62699988.setop(e,tp,eg,ep,ev,re,r,rp)
e2:SetType(EFFECT_TYPE_SINGLE) e2:SetType(EFFECT_TYPE_SINGLE)
e2:SetCode(EFFECT_UPDATE_ATTACK) e2:SetCode(EFFECT_UPDATE_ATTACK)
e2:SetReset(RESET_EVENT+RESETS_STANDARD) e2:SetReset(RESET_EVENT+RESETS_STANDARD)
e2:SetCondition(c62699988.ctrcon)
e2:SetValue(100) e2:SetValue(100)
tc:RegisterEffect(e2) tc:RegisterEffect(e2)
tc=g:GetNext() tc=g:GetNext()
......
...@@ -132,7 +132,6 @@ function c62699989.ctop(e,tp,eg,ep,ev,re,r,rp) ...@@ -132,7 +132,6 @@ function c62699989.ctop(e,tp,eg,ep,ev,re,r,rp)
e2:SetType(EFFECT_TYPE_SINGLE) e2:SetType(EFFECT_TYPE_SINGLE)
e2:SetCode(EFFECT_UPDATE_ATTACK) e2:SetCode(EFFECT_UPDATE_ATTACK)
e2:SetReset(RESET_EVENT+RESETS_STANDARD) e2:SetReset(RESET_EVENT+RESETS_STANDARD)
e2:SetCondition(c62699989.ctrcon)
e2:SetValue(100) e2:SetValue(100)
tc:RegisterEffect(e2) tc:RegisterEffect(e2)
end end
...@@ -175,7 +174,6 @@ function c62699989.spop(e,tp,eg,ep,ev,re,r,rp) ...@@ -175,7 +174,6 @@ function c62699989.spop(e,tp,eg,ep,ev,re,r,rp)
e2:SetType(EFFECT_TYPE_SINGLE) e2:SetType(EFFECT_TYPE_SINGLE)
e2:SetCode(EFFECT_UPDATE_ATTACK) e2:SetCode(EFFECT_UPDATE_ATTACK)
e2:SetReset(RESET_EVENT+RESETS_STANDARD) e2:SetReset(RESET_EVENT+RESETS_STANDARD)
e2:SetCondition(c62699989.ctrcon)
e2:SetValue(100) e2:SetValue(100)
tc:RegisterEffect(e2) tc:RegisterEffect(e2)
end end
......
...@@ -55,7 +55,6 @@ function c62699997.ctop(e,tp,eg,ep,ev,re,r,rp) ...@@ -55,7 +55,6 @@ function c62699997.ctop(e,tp,eg,ep,ev,re,r,rp)
e2:SetType(EFFECT_TYPE_SINGLE) e2:SetType(EFFECT_TYPE_SINGLE)
e2:SetCode(EFFECT_UPDATE_ATTACK) e2:SetCode(EFFECT_UPDATE_ATTACK)
e2:SetReset(RESET_EVENT+RESETS_STANDARD) e2:SetReset(RESET_EVENT+RESETS_STANDARD)
e2:SetCondition(c62699997.ctrcon)
e2:SetValue(100) e2:SetValue(100)
tc:RegisterEffect(e2) tc:RegisterEffect(e2)
end end
...@@ -90,7 +89,6 @@ function c62699997.spop(e,tp,eg,ep,ev,re,r,rp) ...@@ -90,7 +89,6 @@ function c62699997.spop(e,tp,eg,ep,ev,re,r,rp)
e2:SetType(EFFECT_TYPE_SINGLE) e2:SetType(EFFECT_TYPE_SINGLE)
e2:SetCode(EFFECT_UPDATE_ATTACK) e2:SetCode(EFFECT_UPDATE_ATTACK)
e2:SetReset(RESET_EVENT+RESETS_STANDARD) e2:SetReset(RESET_EVENT+RESETS_STANDARD)
e2:SetCondition(c62699997.ctrcon)
e2:SetValue(100) e2:SetValue(100)
tc:RegisterEffect(e2) tc:RegisterEffect(e2)
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