Commit e9e32bff authored by REIKAI's avatar REIKAI 💬

update

parent e0d1a0f4
Pipeline #23914 passed with stages
in 28 minutes and 50 seconds
No preview for this file type
......@@ -683,22 +683,7 @@
#198
#200
20000050 1 --藏于心之Chein
20000054 0 --星屑茶
20000057 0 --七夕的花嫁骑士
20000058 0 --带恶人
20000061 0 --溶解之恋
20000074 1 --For love
20000101 1 --死寂萦绕之城
20000102 1 --核心输入
20000106 1 --终局核心 熔岩
20000107 1 --终局核心 盎芯
20000119 1 --人工核心智能
20000111 1 --终局核心 时核
20000450 1 --渊异术士 幻阵龙
20000452 0 --渊异术士 月醒龙
20000457 0 --窥视渊异之龙皇
20000458 0 --觉醒于渊异之龙皇
#210
21000380 0 --空降突击部队 大和亚季
21000679 0 --灾厄械灵自律电子核
......
--Joker
local m=20000071
local cm=_G["c"..m]
function cm.initial_effect(c)
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_CONTINUOUS)
e1:SetCode(EVENT_DRAW)
e1:SetCondition(function(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
return Duel.GetFlagEffect(tp,m)<=1 and Duel.GetCurrentPhase()==PHASE_DRAW and c:IsReason(REASON_RULE)
end)
e1:SetOperation(function(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
if Duel.SelectYesNo(tp,aux.Stringid(m,0)) then
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetCode(EFFECT_PUBLIC)
e1:SetReset(RESET_EVENT+RESETS_STANDARD+RESET_PHASE+PHASE_MAIN1)
c:RegisterEffect(e1)
c:RegisterFlagEffect(m,RESET_EVENT+RESETS_STANDARD+RESET_PHASE+PHASE_MAIN1,EFFECT_FLAG_CLIENT_HINT,1,0,66)
end
end)
c:RegisterEffect(e1)
local e2=Effect.CreateEffect(c)
e2:SetCategory(CATEGORY_DRAW)
e2:SetType(EFFECT_TYPE_ACTIVATE)
e2:SetProperty(EFFECT_FLAG_PLAYER_TARGET)
e2:SetCode(EVENT_FREE_CHAIN)
e2:SetCondition(function(e,tp,eg,ep,ev,re,r,rp)
return Duel.GetCurrentPhase()==PHASE_MAIN1 and not Duel.CheckPhaseActivity()
end)
e2:SetCost(function(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return e:GetHandler():GetFlagEffect(m)~=0 end
end)
e2:SetTarget(function(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsPlayerCanDraw(tp,5) and Duel.GetFlagEffect(tp,m)<=1 end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_CODE)
getmetatable(e:GetHandler()).announce_filter={TYPE_FUSION+TYPE_SYNCHRO+TYPE_XYZ+TYPE_LINK,OPCODE_ISTYPE,OPCODE_NOT}
local ac=Duel.AnnounceCard(tp,table.unpack(getmetatable(e:GetHandler()).announce_filter))
Duel.SetTargetParam(ac)
Duel.SetOperationInfo(0,CATEGORY_ANNOUNCE,nil,0,tp,0)
Duel.SetOperationInfo(0,CATEGORY_DRAW,nil,0,tp,5)
end)
e2:SetOperation(function(e,tp,eg,ep,ev,re,r,rp)
if Duel.GetFlagEffect(tp,m)==2 then return end
Duel.RegisterFlagEffect(tp,m,0,0,0)
Duel.ShuffleDeck(tp)
Duel.ConfirmDecktop(tp,1)
local g=Duel.GetDecktopGroup(tp,1)
local tc=g:GetFirst()
local ac=Duel.GetChainInfo(0,CHAININFO_TARGET_PARAM)
if tc:IsCode(ac) and Duel.GetFieldGroup(tp,LOCATION_DECK,0)>=5 then
Duel.Draw(tp,5,REASON_EFFECT)
end
end)
c:RegisterEffect(e2)
end
\ No newline at end of file
--奶油猫悖论(?
function c20000073.initial_effect(c)
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_ACTIVATE)
e1:SetCode(EVENT_FREE_CHAIN)
c:RegisterEffect(e1)
local e2=Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_FIELD)
e2:SetCode(EFFECT_DRAW_COUNT)
e2:SetProperty(EFFECT_FLAG_PLAYER_TARGET)
e2:SetRange(LOCATION_SZONE)
e2:SetTargetRange(1,0)
e2:SetValue(2)
c:RegisterEffect(e2)
local e3=Effect.CreateEffect(c)
e3:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
e3:SetCode(EVENT_PHASE+PHASE_END)
e3:SetRange(LOCATION_SZONE)
e3:SetCountLimit(1)
e3:SetCondition(function(e,tp,eg,ep,ev,re,r,rp)
return Duel.GetTurnPlayer()==tp
end)
e3:SetOperation(function(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
if c:IsFacedown() then return end
Duel.MoveToField(c,tp,1-tp,LOCATION_SZONE,POS_FACEUP,true)
end)
c:RegisterEffect(e3)
end
--For love
local m=20000074
local cm=_G["c"..m]
function cm.initial_effect(c)
local e1=Effect.CreateEffect(c)
e1:SetCategory(CATEGORY_DRAW+CATEGORY_COIN+CATEGORY_HANDES)
e1:SetType(EFFECT_TYPE_ACTIVATE)
e1:SetCode(EVENT_FREE_CHAIN)
e1:SetTarget(function(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsPlayerCanDraw(tp,3) and Duel.IsPlayerCanDraw(1-tp,2) end
Duel.SetOperationInfo(0,CATEGORY_COIN,nil,0,tp,2)
end)
e1:SetOperation(function(e,tp,eg,ep,ev,re,r,rp,chk)
local c1,c2=Duel.TossCoin(tp,2)
if c1+c2==2 then
Duel.Draw(tp,3,REASON_EFFECT)
else
Duel.Draw(1-tp,2,REASON_EFFECT)
end
end)
c:RegisterEffect(e1)
end
cm.toss_coin=true
\ No newline at end of file
--纯白光辉
local m=20000075
local cm=_G["c"..m]
function cm.initial_effect(c)
aux.AddSynchroProcedure(c,nil,aux.NonTuner(nil),1)
c:EnableReviveLimit()
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_CONTINUOUS)
e1:SetCode(EVENT_SPSUMMON_SUCCESS)
e1:SetCondition(function(e,tp,eg,ep,ev,re,r,rp)
return e:GetHandler():IsSummonType(SUMMON_TYPE_SYNCHRO)
end)
e1:SetOperation(function(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
if c:IsFaceup() then
local e1=Effect.CreateEffect(e:GetHandler())
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetCode(EFFECT_ADD_TYPE)
e1:SetReset(RESET_EVENT+RESETS_STANDARD+RESET_PHASE+PHASE_END)
e1:SetValue(TYPE_TUNER)
c:RegisterEffect(e1)
end
end)
c:RegisterEffect(e1)
local e1=Effect.CreateEffect(c)
e1:SetCategory(CATEGORY_SPECIAL_SUMMON)
e1:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_O)
e1:SetCode(EVENT_SPSUMMON_SUCCESS)
e1:SetProperty(EFFECT_FLAG_DELAY)
e1:SetCountLimit(1,m)
e1:SetCondition(function(e,tp,eg,ep,ev,re,r,rp)
return e:GetHandler():IsSummonType(SUMMON_TYPE_SYNCHRO)
end)
e1:SetTarget(function(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
if chkc then return chkc:IsLocation(LOCATION_GRAVE) and cm.tf1(chkc,e,tp) and chkc:IsControler(tp) end
if chk==0 then return Duel.GetLocationCount(tp,LOCATION_MZONE)>0
and Duel.IsExistingTarget(cm.tf1,tp,LOCATION_GRAVE,0,1,nil,e,tp) end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON)
local g=Duel.SelectTarget(tp,cm.tf1,tp,LOCATION_GRAVE,0,1,1,nil,e,tp)
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,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:IsRelateToEffect(e) and Duel.SpecialSummon(tc,0,tp,tp,false,false,POS_FACEUP)~=0 then
local e2=Effect.CreateEffect(e:GetHandler())
e2:SetType(EFFECT_TYPE_SINGLE)
e2:SetCode(EFFECT_DISABLE)
e2:SetReset(RESET_EVENT+RESETS_STANDARD)
tc:RegisterEffect(e2,true)
local e3=Effect.CreateEffect(e:GetHandler())
e3:SetType(EFFECT_TYPE_SINGLE)
e3:SetCode(EFFECT_DISABLE_EFFECT)
e3:SetReset(RESET_EVENT+RESETS_STANDARD)
tc:RegisterEffect(e3,true)
local e4=Effect.CreateEffect(c)
e4:SetType(EFFECT_TYPE_FIELD)
e4:SetCode(EFFECT_CANNOT_SPECIAL_SUMMON)
e4:SetProperty(EFFECT_FLAG_PLAYER_TARGET)
e4:SetRange(LOCATION_MZONE)
e4:SetAbsoluteRange(tp,1,0)
e4:SetTarget(function(e,c)
return not c:IsType(TYPE_SYNCHRO) and c:IsLocation(LOCATION_EXTRA)
end)
e4:SetReset(RESET_EVENT+RESETS_STANDARD)
tc:RegisterEffect(e4)
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetCode(EFFECT_UPDATE_LEVEL)
e1:SetValue(-tc:GetLevel())
e1:SetReset(RESET_EVENT+RESETS_STANDARD)
c:RegisterEffect(e1)
end
end)
c:RegisterEffect(e1)
end
function cm.tf1(c,e,tp)
return c:IsLevelBelow(8) and c:IsCanBeSpecialSummoned(e,0,tp,false,false) and e:GetHandler():IsLevelAbove(c)
end
--争鸣
function c20000076.initial_effect(c)
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_ACTIVATE)
e1:SetCode(EVENT_FREE_CHAIN)
e1:SetTarget(function(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.GetFieldGroupCount(tp,LOCATION_DECK,0)>1 end
end)
e1:SetOperation(function(e,tp,eg,ep,ev,re,r,rp)
local g=Duel.GetMatchingGroup(nil,tp,LOCATION_DECK,0,nil)
local tc=Duel.SendtoDeck(g,1-tp,2,REASON_EFFECT)
if tc~=0 then
Duel.ShuffleDeck(1-tp)
Duel.BreakEffect()
local g1=Duel.GetMatchingGroup(nil,tp,LOCATION_DECK,0,nil)
for i=1,tc do
local g2=Duel.GetDecktopGroup(1-tp,1)
Duel.SendtoDeck(g2,tp,2,REASON_EFFECT)
local g1=Duel.GetMatchingGroup(nil,tp,LOCATION_DECK,0,nil)
end
end
end)
c:RegisterEffect(e1)
end
--死寂萦绕之城
function c20000101.initial_effect(c)
aux.AddCodeList(c,20000100,20000102)
local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(20000101,0))
e1:SetCategory(CATEGORY_SPECIAL_SUMMON+CATEGORY_SEARCH)
e1:SetType(EFFECT_TYPE_ACTIVATE)
e1:SetCode(EVENT_FREE_CHAIN)
e1:SetOperation(c20000101.op1)
c:RegisterEffect(e1)
local e6=Effect.CreateEffect(c)
e6:SetDescription(aux.Stringid(20000101,1))
e6:SetCategory(CATEGORY_TOHAND+CATEGORY_SEARCH)
e6:SetType(EFFECT_TYPE_IGNITION)
e6:SetRange(LOCATION_FZONE)
e6:SetCountLimit(1)
e6:SetCost(c20000101.co6)
e6:SetTarget(c20000101.tg6)
e6:SetOperation(c20000101.op6)
c:RegisterEffect(e6)
local e3=Effect.CreateEffect(c)
e3:SetDescription(aux.Stringid(20000101,2))
e3:SetCategory(CATEGORY_SPECIAL_SUMMON+CATEGORY_TOHAND)
e3:SetType(EFFECT_TYPE_IGNITION)
e3:SetProperty(EFFECT_FLAG_CARD_TARGET)
e3:SetCountLimit(1)
e3:SetRange(LOCATION_FZONE)
e3:SetTarget(c20000101.tg3)
e3:SetOperation(c20000101.op3)
c:RegisterEffect(e3)
end
--e1
function c20000101.opf1(c,e,tp)
return c:IsCode(20000100) and c:IsCanBeSpecialSummoned(e,0,tp,false,false)
end
function c20000101.op1(e,tp,eg,ep,ev,re,r,rp)
if not e:GetHandler():IsRelateToEffect(e) then return end
local g=Duel.GetMatchingGroup(c20000101.opf1,tp,LOCATION_DECK,0,nil,e,tp)
if Duel.GetLocationCount(tp,LOCATION_MZONE)>0 and g:GetCount()>0 and Duel.SelectYesNo(tp,aux.Stringid(20000101,0)) then
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON)
local sg=g:Select(tp,1,1,nil)
Duel.SpecialSummon(sg,0,tp,tp,false,false,POS_FACEUP)
end
end
--e2
function c20000101.co6(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(Card.IsDiscardable,tp,LOCATION_HAND,0,1,nil) end
Duel.DiscardHand(tp,Card.IsDiscardable,1,1,REASON_COST+REASON_DISCARD)
end
function c20000101.tgf6(c)
return c:IsSetCard(0x9fd1) and c:IsAbleToHand()
end
function c20000101.tg6(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(c20000101.tgf6,tp,LOCATION_DECK,0,1,nil) end
Duel.SetOperationInfo(0,CATEGORY_TOHAND,nil,1,tp,LOCATION_DECK)
end
function c20000101.op6(e,tp,eg,ep,ev,re,r,rp)
if not e:GetHandler():IsRelateToEffect(e) then return end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_ATOHAND)
local g=Duel.SelectMatchingCard(tp,c20000101.tgf6,tp,LOCATION_DECK,0,1,1,nil)
if g:GetCount()>0 then
Duel.SendtoHand(g,nil,REASON_EFFECT)
Duel.ConfirmCards(1-tp,g)
end
local e1=Effect.CreateEffect(e:GetHandler())
e1:SetType(EFFECT_TYPE_FIELD)
e1:SetProperty(EFFECT_FLAG_PLAYER_TARGET)
e1:SetCode(EFFECT_CANNOT_SPECIAL_SUMMON)
e1:SetTargetRange(1,0)
e1:SetTarget(function(e,c)
return not (c:IsSetCard(0x6fd1) or c:IsSetCard(0x9fd1)) and c:IsLocation(LOCATION_EXTRA)
end)
e1:SetReset(RESET_PHASE+PHASE_END)
Duel.RegisterEffect(e1,tp)
end
--e3
function c20000101.tgf3(c)
return c:IsCode(20000102) and c:IsAbleToHand()
end
function c20000101.opf3(c,e,tp)
return c:IsSetCard(0x9fd1) and c:IsType(TYPE_MONSTER) and c:IsCanBeSpecialSummoned(e,0,tp,false,false)
end
function c20000101.tg3(e,tp,eg,ep,ev,re,r,rp,chk)
if chkc then return end
if chk==0 then return Duel.IsExistingTarget(c20000101.tgf3,tp,LOCATION_GRAVE,0,1,nil,tp) end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_ATOHAND)
local g=Duel.SelectTarget(tp,aux.NecroValleyFilter(c20000101.tgf3),tp,LOCATION_GRAVE,0,1,1,nil,tp)
Duel.SetOperationInfo(0,CATEGORY_TOHAND,g,1,tp,LOCATION_GRAVE)
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,1,0,0)
end
function c20000101.op3(e,tp,eg,ep,ev,re,r,rp)
local tc=Duel.GetFirstTarget()
if tc:IsRelateToEffect(e) and Duel.SendtoHand(tc,tp,REASON_EFFECT)~=0 and Duel.GetLocationCount(tp,LOCATION_MZONE)>0 then
local g=Duel.GetMatchingGroup(c20000101.opf3,tp,LOCATION_HAND,0,nil,e,tp)
if g:GetCount()>0 and Duel.SelectYesNo(tp,aux.Stringid(20000101,3)) then
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON)
local g=Duel.SelectMatchingCard(tp,c20000101.opf3,tp,LOCATION_HAND,0,1,1,nil,e,tp)
Duel.SpecialSummon(g,0,tp,tp,false,false,POS_FACEUP)
end
end
end
\ No newline at end of file
--核心輸入
function c20000102.initial_effect(c)
aux.AddCodeList(c,20000100)
local e1=Effect.CreateEffect(c)
e1:SetCategory(CATEGORY_SPECIAL_SUMMON+CATEGORY_TOGRAVE)
e1:SetType(EFFECT_TYPE_ACTIVATE)
e1:SetCode(EVENT_FREE_CHAIN)
e1:SetCondition(c20000102.con1)
e1:SetCost(c20000102.co1)
e1:SetTarget(c20000102.tg1)
e1:SetOperation(c20000102.op1)
c:RegisterEffect(e1)
local e2=Effect.CreateEffect(c)
e2:SetCategory(CATEGORY_TOHAND+CATEGORY_TOGRAVE)
e2:SetType(EFFECT_TYPE_IGNITION)
e2:SetCountLimit(1,20000102)
e2:SetRange(LOCATION_GRAVE)
e2:SetCondition(c20000102.con1)
e2:SetTarget(c20000102.tg2)
e2:SetOperation(c20000102.op2)
c:RegisterEffect(e2)
end
--e1
function c20000102.cf1(c)
return c:IsCode(20000100) and (c:IsFaceup() or not c:IsLocation(LOCATION_ONFIELD))
end
function c20000102.con1(e,tp,eg,ep,ev,re,r,rp)
return Duel.IsExistingMatchingCard(c20000102.cf1,tp,LOCATION_ONFIELD,0,1,nil)
end
function c20000102.co1(e,tp,eg,ep,ev,re,r,rp,chk)
e:SetLabel(1)
return true
end
function c20000102.cof1(c,e,tp)
return c:IsSetCard(0x9fd1)
and Duel.IsExistingMatchingCard(c20000102.cof12,tp,LOCATION_EXTRA+LOCATION_HAND,0,1,nil,e,tp,c:GetAttribute(),c)
end
function c20000102.cof12(c,e,tp,att,mc)
return c:IsSetCard(0x6fd1) and c:IsCanBeSpecialSummoned(e,0,tp,true,false) and c:GetAttribute()==att and (c:IsLevel(8) or c:IsRank(8))
and (Duel.GetLocationCountFromEx(tp,tp,mc,c)>0 or Duel.GetMZoneCount(tp,c)>0)
end
function c20000102.tg1(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then
if e:GetLabel()~=1 then return false end
e:SetLabel(0)
return Duel.CheckReleaseGroupEx(tp,c20000102.cof1,1,nil,e,tp)
end
local rg=Duel.SelectReleaseGroupEx(tp,c20000102.cof1,1,1,nil,e,tp)
e:SetLabel(rg:GetFirst():GetAttribute())
Duel.Release(rg,REASON_COST)
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,1,tp,LOCATION_HAND+LOCATION_EXTRA)
end
function c20000102.op1(e,tp,eg,ep,ev,re,r,rp)
if Duel.GetLocationCount(tp,LOCATION_MZONE)<=0 then return end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON)
local tc=Duel.SelectMatchingCard(tp,c20000102.cof12,tp,LOCATION_HAND+LOCATION_EXTRA,0,1,1,nil,e,tp,e:GetLabel()):GetFirst()
if tc and Duel.SpecialSummon(tc,0,tp,tp,true,false,POS_FACEUP)>0 then
tc:CompleteProcedure()
Duel.BreakEffect()
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TOGRAVE)
local g=Duel.SelectMatchingCard(tp,c20000102.cf1,tp,LOCATION_ONFIELD+LOCATION_HAND,0,1,1,nil,tp)
local tc=g:GetFirst()
if tc then
Duel.SendtoGrave(tc,REASON_EFFECT)
end
end
end
--e2
function c20000102.tg2(e,tp,eg,ep,ev,re,r,rp,chk)
local c=e:GetHandler()
if chk==0 then return c:IsAbleToHand() end
Duel.SetOperationInfo(0,CATEGORY_TOGRAVE,nil,1,0,0)
Duel.SetOperationInfo(0,CATEGORY_TOHAND,c,1,tp,LOCATION_GRAVE)
end
function c20000102.op2(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
if c:IsRelateToEffect(e) then
Duel.SendtoHand(c,nil,REASON_EFFECT)
end
end
--核心重組
function c20000103.initial_effect(c)
aux.AddCodeList(c,20000102)
local e1=Effect.CreateEffect(c)
e1:SetCategory(CATEGORY_SPECIAL_SUMMON+CATEGORY_TOGRAVE)
e1:SetType(EFFECT_TYPE_ACTIVATE)
e1:SetProperty(EFFECT_FLAG_CARD_TARGET)
e1:SetCode(EVENT_FREE_CHAIN)
e1:SetTarget(c20000103.tg1)
e1:SetOperation(c20000103.op1)
c:RegisterEffect(e1)
end
--e1
function c20000103.tgf101(c,tp)
return c:IsCode(20000102) and c:IsSSetable(true) and (c:IsType(TYPE_FIELD) or Duel.GetLocationCount(tp,LOCATION_SZONE)>0)
end
function c20000103.tgf111(c,tp)
return c:IsSetCard(0x6fd1) and (c:IsLevel(8) or c:IsRank(8)) and c:IsAbleToGrave()
end
function c20000103.tgf112(c,e,tp)
return c:IsSetCard(0x9fd1) and c:IsCanBeSpecialSummoned(e,0,tp,false,false) and Duel.IsExistingMatchingCard(Card.IsCode,tp,LOCATION_GRAVE,0,1,nil,20000100)
end
function c20000103.tg1(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(c20000103.tgf101,tp,LOCATION_GRAVE,0,1,nil,tp)
and Duel.IsExistingTarget(c20000103.tgf111,tp,LOCATION_ONFIELD,0,1,nil) end
local g=Duel.SelectTarget(tp,c20000103.tgf111,tp,LOCATION_ONFIELD,0,1,1,nil)
Duel.SetOperationInfo(0,CATEGORY_TOGRAVE,g,1,tp,LOCATION_ONFIELD)
Duel.SetOperationInfo(0,CATEGORY_LEAVE_GRAVE,nil,1,0,0)
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,1,0,0)
end
function c20000103.op1(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TOGRAVE)
local tc=Duel.GetFirstTarget()
if tc:IsRelateToEffect(e) and Duel.SendtoGrave(tc,REASON_EFFECT)~=0 then
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SET)
local g2=Duel.SelectMatchingCard(tp,c20000103.tgf101,tp,LOCATION_GRAVE,0,1,1,nil,tp)
local sg=g2:GetFirst()
if sg and Duel.GetLocationCount(tp,LOCATION_SZONE)>0 then
Duel.SSet(tp,sg)
Duel.ConfirmCards(1-tp,sg)
local e1=Effect.CreateEffect(e:GetHandler())
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetProperty(EFFECT_FLAG_SET_AVAILABLE)
e1:SetCode(EFFECT_QP_ACT_IN_SET_TURN)
e1:SetReset(RESET_EVENT+RESETS_STANDARD)
sg:RegisterEffect(e1)
local g=Duel.GetMatchingGroup(c20000103.tgf112,tp,LOCATION_GRAVE,0,nil,e,tp)
if g:GetCount()>0 and Duel.GetLocationCount(tp,LOCATION_MZONE)>1 and Duel.SelectYesNo(tp,aux.Stringid(20000103,0)) then
Duel.BreakEffect()
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON)
local g3=Duel.SelectMatchingCard(tp,c20000103.tgf112,tp,LOCATION_GRAVE,0,1,1,nil,e,tp)
local g4=Duel.SelectMatchingCard(tp,Card.IsCode,tp,LOCATION_GRAVE,0,1,1,nil,20000100)
g3:Merge(g4)
Duel.SpecialSummon(g3,0,tp,tp,false,false,POS_FACEUP)
end
end
end
end
\ No newline at end of file
--最終局
function c20000104.initial_effect(c)
aux.AddCodeList(c,20000118)
local e1=Effect.CreateEffect(c)
e1:SetCategory(CATEGORY_REMOVE+CATEGORY_SPECIAL_SUMMON)
e1:SetType(EFFECT_TYPE_ACTIVATE)
e1:SetCode(EVENT_FREE_CHAIN)
e1:SetProperty(EFFECT_FLAG_CANNOT_INACTIVATE+EFFECT_FLAG_CANNOT_DISABLE+EFFECT_FLAG_CANNOT_NEGATE)
e1:SetCountLimit(1,20000104+EFFECT_COUNT_CODE_OATH)
e1:SetTarget(c20000104.target)
e1:SetOperation(c20000104.activate)
c:RegisterEffect(e1)
end
c20000104.spchecks=aux.CreateChecks(Card.IsType,{TYPE_RITUAL,TYPE_FUSION,TYPE_SYNCHRO,TYPE_XYZ,TYPE_PENDULUM,TYPE_NORMAL})
function c20000104.rmfilter(c)
return (c:IsLocation(LOCATION_GRAVE) or c:IsFaceup()) and c:IsType(TYPE_RITUAL+TYPE_FUSION+TYPE_SYNCHRO+TYPE_XYZ+TYPE_PENDULUM+TYPE_NORMAL) and c:IsAbleToRemove()
end
function c20000104.fgoal(g,e,tp)
if g:GetClassCount(Card.GetOriginalRace)~=1 then return false end
return Duel.IsExistingMatchingCard(c20000104.spfilter,tp,LOCATION_EXTRA,0,1,nil,e,tp,g)
end
function c20000104.spfilter(c,e,tp,g)
return c:IsCanBeSpecialSummoned(e,0,tp,true,false) and c:IsCode(20000118)
and c:IsLocation(LOCATION_EXTRA) and Duel.GetLocationCountFromEx(tp,tp,g,c)>0
end
function c20000104.target(e,tp,eg,ep,ev,re,r,rp,chk)
local g=Duel.GetMatchingGroup(c20000104.rmfilter,tp,LOCATION_EXTRA+LOCATION_MZONE+LOCATION_GRAVE,0,nil)
if chk==0 then return g:CheckSubGroupEach(c20000104.spchecks,c20000104.fgoal,e,tp) end
Duel.SetOperationInfo(0,CATEGORY_REMOVE,nil,6,tp,LOCATION_EXTRA+LOCATION_MZONE+LOCATION_GRAVE)
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,1,tp,LOCATION_EXTRA)
end
function c20000104.activate(e,tp,eg,ep,ev,re,r,rp,chk)
local g=Duel.GetMatchingGroup(aux.NecroValleyFilter(c20000104.rmfilter),tp,LOCATION_EXTRA+LOCATION_MZONE+LOCATION_GRAVE,0,nil)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_REMOVE)
local rg=g:SelectSubGroupEach(tp,c20000104.spchecks,false,c20000104.fgoal,e,tp)
if rg and rg:GetCount()==6 and Duel.Remove(rg,POS_FACEUP,REASON_EFFECT)~=0 then
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON)
local tg=Duel.SelectMatchingCard(tp,c20000104.spfilter,tp,LOCATION_EXTRA,0,1,1,nil,e,tp,rg)
if tg:GetCount()>0 then
Duel.BreakEffect()
Duel.SpecialSummon(tg,0,tp,tp,true,false,POS_FACEUP)
end
end
end
--終局核心 噩夢
function c20000105.initial_effect(c)
aux.AddCodeList(c,20000100,20000103)
local e2=Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_FIELD)
e2:SetCode(EFFECT_SPSUMMON_PROC)
e2:SetProperty(EFFECT_FLAG_CANNOT_DISABLE+EFFECT_FLAG_UNCOPYABLE)
e2:SetRange(LOCATION_HAND)
e2:SetCountLimit(1,20000105+EFFECT_COUNT_CODE_OATH)
e2:SetCondition(c20000105.con2)
e2:SetOperation(c20000105.op2)
c:RegisterEffect(e2)
local e3=Effect.CreateEffect(c)
e3:SetCategory(CATEGORY_SPECIAL_SUMMON+CATEGORY_TOHAND+CATEGORY_DRAW+CATEGORY_SEARCH)
e3:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_QUICK_F)
e3:SetCode(EVENT_SPSUMMON_SUCCESS)
e3:SetCountLimit(1,20000105)
e3:SetTarget(c20000105.tg3)
e3:SetOperation(c20000105.op3)
c:RegisterEffect(e3)
local e4=e3:Clone()
e4:SetCode(EVENT_SUMMON_SUCCESS)
c:RegisterEffect(e4)
local e5=Effect.CreateEffect(c)
e5:SetType(EFFECT_TYPE_SINGLE)
e5:SetProperty(EFFECT_FLAG_CANNOT_DISABLE+EFFECT_FLAG_UNCOPYABLE)
e5:SetCode(EFFECT_CANNOT_BE_XYZ_MATERIAL)
e5:SetRange(LOCATION_MZONE)
e5:SetValue(function(e,c)
if not c then return false end
return not c:IsAttribute(ATTRIBUTE_DARK)
end)
c:RegisterEffect(e5)
local e6=e5:Clone()
e6:SetCode(EFFECT_CANNOT_BE_FUSION_MATERIAL)
c:RegisterEffect(e6)
local e7=e5:Clone()
e7:SetCode(EFFECT_CANNOT_BE_SYNCHRO_MATERIAL)
c:RegisterEffect(e7)
end
--e2
function c20000105.conf2(c)
return (c:IsSetCard(0x6fd1) or c:IsSetCard(0x9fd1)) and c:IsType(TYPE_MONSTER)
end
function c20000105.conf21(g,tp,sc)
return g:GetCount()==1
and g:IsExists(c20000105.conf2,1,nil)
end
function c20000105.con2(e,c)
if c==nil then return true end
local tp=c:GetControler()
local g=Duel.GetMatchingGroup(c20000105.conf2,tp,LOCATION_ONFIELD,0,nil)
return g:CheckSubGroup(c20000105.conf21,1,1,tp,c)
end
function c20000105.op2(e,tp,eg,ep,ev,re,r,rp,c)
if chk==0 then return Duel.CheckReleaseGroup(tp,c20000105.conf2,1,nil) end
local g=Duel.SelectReleaseGroup(tp,c20000105.conf2,1,1,nil)
Duel.Release(g,REASON_COST)
end
--e3
function c20000105.tgf3(c,e,tp)
return c:IsCode(20000100) and c:IsCanBeSpecialSummoned(e,0,tp,false,false)
end
function c20000105.opf32(c)
return c:IsCode(20000103) and c:IsAbleToHand()
end
function c20000105.tg3(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(c20000105.tgf3,tp,LOCATION_GRAVE,0,1,nil,e,tp) end
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,1,tp,LOCATION_GRAVE)
end
function c20000105.op3(e,tp,eg,ep,ev,re,r,rp)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON)
local tc=Duel.SelectMatchingCard(tp,c20000105.tgf3,tp,LOCATION_GRAVE,0,1,1,nil,e,tp)
if Duel.GetLocationCount(tp,LOCATION_MZONE)>0 and Duel.SpecialSummon(tc,o,tp,tp,false,false,POS_FACEUP)~=0 then
Duel.BreakEffect()
local b1=Duel.IsPlayerCanDraw(tp,1)
local b2=Duel.IsExistingMatchingCard(c20000105.opf32,tp,LOCATION_GRAVE+LOCATION_DECK,0,1,nil)
local op=0
if b1 and b2 then op=Duel.SelectOption(tp,aux.Stringid(20000105,1),aux.Stringid(20000105,2))
elseif b1 then op=Duel.SelectOption(tp,aux.Stringid(20000105,1))
elseif b2 then op=Duel.SelectOption(tp,aux.Stringid(20000105,2))+1
else return end
if op==0 then
Duel.Draw(tp,1,REASON_EFFECT)
else
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_ATOHAND)
local g=Duel.SelectMatchingCard(tp,aux.NecroValleyFilter(c20000105.opf32),tp,LOCATION_GRAVE+LOCATION_DECK,0,1,1,nil)
Duel.SendtoHand(g,tp,REASON_EFFECT)
Duel.ConfirmCards(1-tp,g)
end
end
end
\ No newline at end of file
--終局核心 熔岩
function c20000106.initial_effect(c)
aux.AddCodeList(c,20000100,20000103)
local e2=Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_FIELD)
e2:SetCode(EFFECT_SPSUMMON_PROC)
e2:SetProperty(EFFECT_FLAG_CANNOT_DISABLE+EFFECT_FLAG_UNCOPYABLE)
e2:SetRange(LOCATION_HAND)
e2:SetCountLimit(1,20000106+EFFECT_COUNT_CODE_OATH)
e2:SetCondition(c20000106.con2)
e2:SetOperation(c20000106.op2)
c:RegisterEffect(e2)
local e3=Effect.CreateEffect(c)
e3:SetCategory(CATEGORY_SPECIAL_SUMMON+CATEGORY_TOHAND+CATEGORY_SEARCH)
e3:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_QUICK_F)
e3:SetCode(EVENT_SPSUMMON_SUCCESS)
e3:SetCountLimit(1,20000106)
e3:SetTarget(c20000106.tg3)
e3:SetOperation(c20000106.op3)
c:RegisterEffect(e3)
local e4=e3:Clone()
e4:SetCode(EVENT_SUMMON_SUCCESS)
c:RegisterEffect(e4)
local e5=Effect.CreateEffect(c)
e5:SetType(EFFECT_TYPE_SINGLE)
e5:SetProperty(EFFECT_FLAG_CANNOT_DISABLE+EFFECT_FLAG_UNCOPYABLE)
e5:SetCode(EFFECT_CANNOT_BE_XYZ_MATERIAL)
e5:SetRange(LOCATION_MZONE)
e5:SetValue(function(e,c)
if not c then return false end
return not c:IsAttribute(ATTRIBUTE_FIRE)
end)
c:RegisterEffect(e5)
local e6=e5:Clone()
e6:SetCode(EFFECT_CANNOT_BE_FUSION_MATERIAL)
c:RegisterEffect(e6)
local e7=e5:Clone()
e7:SetCode(EFFECT_CANNOT_BE_SYNCHRO_MATERIAL)
c:RegisterEffect(e7)
end
--e2
function c20000106.conf2(c)
return (c:IsSetCard(0x6fd1) or c:IsSetCard(0x9fd1)) and c:IsType(TYPE_MONSTER)
end
function c20000106.conf21(g,tp,sc)
return g:GetCount()==1
and g:IsExists(c20000106.conf2,1,nil)
end
function c20000106.con2(e,c)
if c==nil then return true end
local tp=c:GetControler()
local g=Duel.GetMatchingGroup(c20000106.conf2,tp,LOCATION_ONFIELD,0,nil)
return g:CheckSubGroup(c20000106.conf21,1,1,tp,c)
end
function c20000106.op2(e,tp,eg,ep,ev,re,r,rp,c)
if chk==0 then return Duel.CheckReleaseGroup(tp,c20000106.conf2,1,nil) end
local g=Duel.SelectReleaseGroup(tp,c20000106.conf2,1,1,nil)
Duel.Release(g,REASON_COST)
end
--e3
function c20000106.tgf3(c,e,tp)
return c:IsCode(20000100) and c:IsCanBeSpecialSummoned(e,0,tp,false,false)
end
function c20000106.opf31(c)
return c:IsSetCard(0x9fd1) and c:IsAbleToHand() and c:IsType(TYPE_MONSTER)
end
function c20000106.opf32(c)
return c:IsCode(20000103) and c:IsAbleToHand()
end
function c20000106.tg3(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(c20000106.tgf3,tp,LOCATION_GRAVE,0,1,nil,e,tp) end
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,1,tp,LOCATION_GRAVE)
end
function c20000106.op3(e,tp,eg,ep,ev,re,r,rp)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON)
local tc=Duel.SelectMatchingCard(tp,c20000106.tgf3,tp,LOCATION_GRAVE,0,1,1,nil,e,tp)
if Duel.GetLocationCount(tp,LOCATION_MZONE)>0 and Duel.SpecialSummon(tc,o,tp,tp,false,false,POS_FACEUP)~=0 then
Duel.BreakEffect()
local b1=Duel.IsExistingMatchingCard(c20000106.opf31,tp,LOCATION_DECK,0,1,nil)
local b2=Duel.IsExistingMatchingCard(c20000106.opf32,tp,LOCATION_GRAVE+LOCATION_DECK,0,1,nil)
local op=0
if b1 and b2 then op=Duel.SelectOption(tp,aux.Stringid(20000106,1),aux.Stringid(20000106,2))
elseif b1 then op=Duel.SelectOption(tp,aux.Stringid(20000106,1))
elseif b2 then op=Duel.SelectOption(tp,aux.Stringid(20000106,2))+1
else return end
if op==0 then
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_ATOHAND)
local g=Duel.SelectMatchingCard(tp,c20000106.opf31,tp,LOCATION_DECK,0,1,1,nil)
Duel.SendtoHand(g,tp,REASON_EFFECT)
Duel.ConfirmCards(1-tp,g)
else
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_ATOHAND)
local g=Duel.SelectMatchingCard(tp,aux.NecroValleyFilter(c20000106.opf32),tp,LOCATION_GRAVE+LOCATION_DECK,0,1,1,nil)
Duel.SendtoHand(g,tp,REASON_EFFECT)
Duel.ConfirmCards(1-tp,g)
end
end
end
\ No newline at end of file
--終局核心 龍捲
function c20000107.initial_effect(c)
aux.AddCodeList(c,20000100,20000103)
local e2=Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_FIELD)
e2:SetCode(EFFECT_SPSUMMON_PROC)
e2:SetProperty(EFFECT_FLAG_CANNOT_DISABLE+EFFECT_FLAG_UNCOPYABLE)
e2:SetRange(LOCATION_HAND)
e2:SetCountLimit(1,20000107+EFFECT_COUNT_CODE_OATH)
e2:SetCondition(c20000107.con2)
e2:SetOperation(c20000107.op2)
c:RegisterEffect(e2)
local e3=Effect.CreateEffect(c)
e3:SetCategory(CATEGORY_SPECIAL_SUMMON+CATEGORY_TOHAND+CATEGORY_SEARCH)
e3:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_QUICK_F)
e3:SetCode(EVENT_SPSUMMON_SUCCESS)
e3:SetCountLimit(1,20000107)
e3:SetTarget(c20000107.tg3)
e3:SetOperation(c20000107.op3)
c:RegisterEffect(e3)
local e4=e3:Clone()
e4:SetCode(EVENT_SUMMON_SUCCESS)
c:RegisterEffect(e4)
local e5=Effect.CreateEffect(c)
e5:SetType(EFFECT_TYPE_SINGLE)
e5:SetProperty(EFFECT_FLAG_CANNOT_DISABLE+EFFECT_FLAG_UNCOPYABLE)
e5:SetCode(EFFECT_CANNOT_BE_XYZ_MATERIAL)
e5:SetRange(LOCATION_MZONE)
e5:SetValue(function(e,c)
if not c then return false end
return not c:IsAttribute(ATTRIBUTE_WIND)
end)
c:RegisterEffect(e5)
local e6=e5:Clone()
e6:SetCode(EFFECT_CANNOT_BE_FUSION_MATERIAL)
c:RegisterEffect(e6)
local e7=e5:Clone()
e7:SetCode(EFFECT_CANNOT_BE_SYNCHRO_MATERIAL)
c:RegisterEffect(e7)
end
--e2
function c20000107.conf2(c)
return (c:IsSetCard(0x6fd1) or c:IsSetCard(0x9fd1)) and c:IsType(TYPE_MONSTER)
end
function c20000107.conf21(g,tp,sc)
return g:GetCount()==1
and g:IsExists(c20000107.conf2,1,nil)
end
function c20000107.con2(e,c)
if c==nil then return true end
local tp=c:GetControler()
local g=Duel.GetMatchingGroup(c20000107.conf2,tp,LOCATION_ONFIELD,0,nil)
return g:CheckSubGroup(c20000107.conf21,1,1,tp,c)
end
function c20000107.op2(e,tp,eg,ep,ev,re,r,rp,c)
if chk==0 then return Duel.CheckReleaseGroup(tp,c20000107.conf2,1,nil) end
local g=Duel.SelectReleaseGroup(tp,c20000107.conf2,1,1,nil)
Duel.Release(g,REASON_COST)
end
--e3
function c20000107.tgf3(c,e,tp)
return c:IsCode(20000100) and c:IsCanBeSpecialSummoned(e,0,tp,false,false)
end
function c20000107.opf31(c)
return c:IsSetCard(0x6fd1) and c:IsAbleToHand() and not c:IsType(TYPE_MONSTER)
end
function c20000107.opf32(c)
return c:IsCode(20000103) and c:IsAbleToHand()
end
function c20000107.tg3(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(c20000107.tgf3,tp,LOCATION_GRAVE,0,1,nil,e,tp) end
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,1,tp,LOCATION_GRAVE)
end
function c20000107.op3(e,tp,eg,ep,ev,re,r,rp)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON)
local tc=Duel.SelectMatchingCard(tp,c20000107.tgf3,tp,LOCATION_GRAVE,0,1,1,nil,e,tp)
if Duel.GetLocationCount(tp,LOCATION_MZONE)>0 and Duel.SpecialSummon(tc,o,tp,tp,false,false,POS_FACEUP)~=0 then
Duel.BreakEffect()
local b1=Duel.IsExistingMatchingCard(c20000107.opf31,tp,LOCATION_DECK,0,1,nil)
local b2=Duel.IsExistingMatchingCard(c20000107.opf32,tp,LOCATION_GRAVE+LOCATION_DECK,0,1,nil)
local op=0
if b1 and b2 then op=Duel.SelectOption(tp,aux.Stringid(20000107,1),aux.Stringid(20000107,2))
elseif b1 then op=Duel.SelectOption(tp,aux.Stringid(20000107,1))
elseif b2 then op=Duel.SelectOption(tp,aux.Stringid(20000107,2))+1
else return end
if op==0 then
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_ATOHAND)
local g=Duel.SelectMatchingCard(tp,c20000107.opf31,tp,LOCATION_DECK,0,1,1,nil)
Duel.SendtoHand(g,tp,REASON_EFFECT)
Duel.ConfirmCards(1-tp,g)
else
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_ATOHAND)
local g=Duel.SelectMatchingCard(tp,aux.NecroValleyFilter(c20000107.opf32),tp,LOCATION_GRAVE+LOCATION_DECK,0,1,1,nil)
Duel.SendtoHand(g,tp,REASON_EFFECT)
Duel.ConfirmCards(1-tp,g)
end
end
end
\ No newline at end of file
--終局核心 極光
function c20000108.initial_effect(c)
aux.AddCodeList(c,20000100,20000102)
local e2=Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_FIELD)
e2:SetCode(EFFECT_SPSUMMON_PROC)
e2:SetProperty(EFFECT_FLAG_CANNOT_DISABLE+EFFECT_FLAG_UNCOPYABLE)
e2:SetRange(LOCATION_HAND)
e2:SetCountLimit(1,20000108+EFFECT_COUNT_CODE_OATH)
e2:SetCondition(c20000108.con2)
e2:SetOperation(c20000108.op2)
c:RegisterEffect(e2)
local e3=Effect.CreateEffect(c)
e3:SetCategory(CATEGORY_SPECIAL_SUMMON+CATEGORY_TOHAND+CATEGORY_SEARCH)
e3:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_QUICK_F)
e3:SetCode(EVENT_SPSUMMON_SUCCESS)
e3:SetCountLimit(1,20000108)
e3:SetTarget(c20000108.tg3)
e3:SetOperation(c20000108.op3)
c:RegisterEffect(e3)
local e4=e3:Clone()
e4:SetCode(EVENT_SUMMON_SUCCESS)
c:RegisterEffect(e4)
local e5=Effect.CreateEffect(c)
e5:SetType(EFFECT_TYPE_SINGLE)
e5:SetProperty(EFFECT_FLAG_CANNOT_DISABLE+EFFECT_FLAG_UNCOPYABLE)
e5:SetCode(EFFECT_CANNOT_BE_XYZ_MATERIAL)
e5:SetRange(LOCATION_MZONE)
e5:SetValue(function(e,c)
if not c then return false end
return not c:IsAttribute(ATTRIBUTE_LIGHT)
end)
c:RegisterEffect(e5)
local e6=e5:Clone()
e6:SetCode(EFFECT_CANNOT_BE_FUSION_MATERIAL)
c:RegisterEffect(e6)
local e7=e5:Clone()
e7:SetCode(EFFECT_CANNOT_BE_SYNCHRO_MATERIAL)
c:RegisterEffect(e7)
end
--e2
function c20000108.conf2(c)
return (c:IsSetCard(0x6fd1) or c:IsSetCard(0x9fd1)) and c:IsType(TYPE_MONSTER)
end
function c20000108.conf21(g,tp,sc)
return g:GetCount()==1
and g:IsExists(c20000108.conf2,1,nil)
end
function c20000108.con2(e,c)
if c==nil then return true end
local tp=c:GetControler()
local g=Duel.GetMatchingGroup(c20000108.conf2,tp,LOCATION_ONFIELD,0,nil)
return g:CheckSubGroup(c20000108.conf21,1,1,tp,c)
end
function c20000108.op2(e,tp,eg,ep,ev,re,r,rp,c)
if chk==0 then return Duel.CheckReleaseGroup(tp,c20000108.conf2,1,nil) end
local g=Duel.SelectReleaseGroup(tp,c20000108.conf2,1,1,nil)
Duel.Release(g,REASON_COST)
end
--e3
function c20000108.tgf3(c,e,tp)
return c:IsCode(20000100) and c:IsCanBeSpecialSummoned(e,0,tp,false,false)
end
function c20000108.opf31(c)
return c:IsAttribute(ATTRIBUTE_LIGHT) and c:IsRace(RACE_MACHINE) and not c:IsSummonableCard()
and c:IsType(TYPE_MONSTER) and c:IsAbleToHand()
end
function c20000108.opf32(c)
return c:IsCode(20000102) and c:IsAbleToHand()
end
function c20000108.tg3(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(c20000108.tgf3,tp,LOCATION_GRAVE,0,1,nil,e,tp) end
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,1,tp,LOCATION_GRAVE)
end
function c20000108.op3(e,tp,eg,ep,ev,re,r,rp)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON)
local tc=Duel.SelectMatchingCard(tp,c20000108.tgf3,tp,LOCATION_GRAVE,0,1,1,nil,e,tp)
if Duel.GetLocationCount(tp,LOCATION_MZONE)>0 and Duel.SpecialSummon(tc,o,tp,tp,false,false,POS_FACEUP)~=0 then
Duel.BreakEffect()
local b1=Duel.IsExistingMatchingCard(c20000108.opf31,tp,LOCATION_DECK,0,1,nil)
local b2=Duel.IsExistingMatchingCard(c20000108.opf32,tp,LOCATION_GRAVE+LOCATION_DECK,0,1,nil)
local op=0
if b1 and b2 then op=Duel.SelectOption(tp,aux.Stringid(20000108,1),aux.Stringid(20000108,2))
elseif b1 then op=Duel.SelectOption(tp,aux.Stringid(20000108,1))
elseif b2 then op=Duel.SelectOption(tp,aux.Stringid(20000108,2))+1
else return end
if op==0 then
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_ATOHAND)
local g=Duel.SelectMatchingCard(tp,c20000108.opf31,tp,LOCATION_DECK,0,1,1,nil)
Duel.SendtoHand(g,tp,REASON_EFFECT)
Duel.ConfirmCards(1-tp,g)
else
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_ATOHAND)
local g=Duel.SelectMatchingCard(tp,aux.NecroValleyFilter(c20000108.opf32),tp,LOCATION_GRAVE+LOCATION_DECK,0,1,1,nil)
Duel.SendtoHand(g,tp,REASON_EFFECT)
Duel.ConfirmCards(1-tp,g)
end
end
end
\ No newline at end of file
--終局核心 閃雷
function c20000109.initial_effect(c)
aux.AddCodeList(c,20000100,20000102)
local e2=Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_FIELD)
e2:SetCode(EFFECT_SPSUMMON_PROC)
e2:SetProperty(EFFECT_FLAG_CANNOT_DISABLE+EFFECT_FLAG_UNCOPYABLE)
e2:SetRange(LOCATION_HAND)
e2:SetCountLimit(1,20000109+EFFECT_COUNT_CODE_OATH)
e2:SetCondition(c20000109.con2)
e2:SetOperation(c20000109.op2)
c:RegisterEffect(e2)
local e3=Effect.CreateEffect(c)
e3:SetCategory(CATEGORY_SPECIAL_SUMMON+CATEGORY_TOHAND+CATEGORY_SEARCH)
e3:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_QUICK_F)
e3:SetCode(EVENT_SPSUMMON_SUCCESS)
e3:SetCountLimit(1,20000109)
e3:SetTarget(c20000109.tg3)
e3:SetOperation(c20000109.op3)
c:RegisterEffect(e3)
local e4=e3:Clone()
e4:SetCode(EVENT_SUMMON_SUCCESS)
c:RegisterEffect(e4)
local e5=Effect.CreateEffect(c)
e5:SetType(EFFECT_TYPE_SINGLE)
e5:SetProperty(EFFECT_FLAG_CANNOT_DISABLE+EFFECT_FLAG_UNCOPYABLE)
e5:SetCode(EFFECT_CANNOT_BE_XYZ_MATERIAL)
e5:SetRange(LOCATION_MZONE)
e5:SetValue(function(e,c)
if not c then return false end
return not c:IsAttribute(ATTRIBUTE_EARTH)
end)
c:RegisterEffect(e5)
local e6=e5:Clone()
e6:SetCode(EFFECT_CANNOT_BE_FUSION_MATERIAL)
c:RegisterEffect(e6)
local e7=e5:Clone()
e7:SetCode(EFFECT_CANNOT_BE_SYNCHRO_MATERIAL)
c:RegisterEffect(e7)
end
--e2
function c20000109.conf2(c)
return (c:IsSetCard(0x6fd1) or c:IsSetCard(0x9fd1)) and c:IsType(TYPE_MONSTER)
end
function c20000109.conf21(g,tp,sc)
return g:GetCount()==1
and g:IsExists(c20000109.conf2,1,nil)
end
function c20000109.con2(e,c)
if c==nil then return true end
local tp=c:GetControler()
local g=Duel.GetMatchingGroup(c20000109.conf2,tp,LOCATION_ONFIELD,0,nil)
return g:CheckSubGroup(c20000109.conf21,1,1,tp,c)
end
function c20000109.op2(e,tp,eg,ep,ev,re,r,rp,c)
if chk==0 then return Duel.CheckReleaseGroup(tp,c20000109.conf2,1,nil) end
local g=Duel.SelectReleaseGroup(tp,c20000109.conf2,1,1,nil)
Duel.Release(g,REASON_COST)
end
--e3
function c20000109.tgf3(c,e,tp)
return c:IsCode(20000100) and c:IsCanBeSpecialSummoned(e,0,tp,false,false)
end
function c20000109.opf31(c)
return c:IsType(TYPE_PENDULUM) and c:IsRace(RACE_MACHINE) and not c:IsSummonableCard()
and c:IsType(TYPE_MONSTER) and c:IsAbleToHand()
end
function c20000109.opf32(c)
return c:IsCode(20000102) and c:IsAbleToHand()
end
function c20000109.tg3(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(c20000109.tgf3,tp,LOCATION_GRAVE,0,1,nil,e,tp) end
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,1,tp,LOCATION_GRAVE)
end
function c20000109.op3(e,tp,eg,ep,ev,re,r,rp)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON)
local tc=Duel.SelectMatchingCard(tp,c20000109.tgf3,tp,LOCATION_GRAVE,0,1,1,nil,e,tp)
if Duel.GetLocationCount(tp,LOCATION_MZONE)>0 and Duel.SpecialSummon(tc,o,tp,tp,false,false,POS_FACEUP)~=0 then
Duel.BreakEffect()
local b1=Duel.IsExistingMatchingCard(c20000109.opf31,tp,LOCATION_DECK,0,1,nil)
local b2=Duel.IsExistingMatchingCard(c20000109.opf32,tp,LOCATION_GRAVE+LOCATION_DECK,0,1,nil)
local op=0
if b1 and b2 then op=Duel.SelectOption(tp,aux.Stringid(20000109,1),aux.Stringid(20000109,2))
elseif b1 then op=Duel.SelectOption(tp,aux.Stringid(20000109,1))
elseif b2 then op=Duel.SelectOption(tp,aux.Stringid(20000109,2))+1
else return end
if op==0 then
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_ATOHAND)
local g=Duel.SelectMatchingCard(tp,c20000109.opf31,tp,LOCATION_DECK,0,1,1,nil)
Duel.SendtoHand(g,tp,REASON_EFFECT)
Duel.ConfirmCards(1-tp,g)
else
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_ATOHAND)
local g=Duel.SelectMatchingCard(tp,aux.NecroValleyFilter(c20000109.opf32),tp,LOCATION_GRAVE+LOCATION_DECK,0,1,1,nil)
Duel.SendtoHand(g,tp,REASON_EFFECT)
Duel.ConfirmCards(1-tp,g)
end
end
end
\ No newline at end of file
--終局核心 海嘯
function c20000110.initial_effect(c)
aux.AddCodeList(c,20000100,20000102)
local e2=Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_FIELD)
e2:SetCode(EFFECT_SPSUMMON_PROC)
e2:SetProperty(EFFECT_FLAG_CANNOT_DISABLE+EFFECT_FLAG_UNCOPYABLE)
e2:SetRange(LOCATION_HAND)
e2:SetCountLimit(1,20000110+EFFECT_COUNT_CODE_OATH)
e2:SetCondition(c20000110.con2)
e2:SetOperation(c20000110.op2)
c:RegisterEffect(e2)
local e3=Effect.CreateEffect(c)
e3:SetCategory(CATEGORY_SPECIAL_SUMMON+CATEGORY_TOHAND+CATEGORY_SEARCH)
e3:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_QUICK_F)
e3:SetCode(EVENT_SPSUMMON_SUCCESS)
e3:SetCountLimit(1,20000110)
e3:SetTarget(c20000110.tg3)
e3:SetOperation(c20000110.op3)
c:RegisterEffect(e3)
local e4=e3:Clone()
e4:SetCode(EVENT_SUMMON_SUCCESS)
c:RegisterEffect(e4)
local e5=Effect.CreateEffect(c)
e5:SetType(EFFECT_TYPE_SINGLE)
e5:SetProperty(EFFECT_FLAG_CANNOT_DISABLE+EFFECT_FLAG_UNCOPYABLE)
e5:SetCode(EFFECT_CANNOT_BE_XYZ_MATERIAL)
e5:SetRange(LOCATION_MZONE)
e5:SetValue(function(e,c)
if not c then return false end
return not c:IsAttribute(ATTRIBUTE_WATER)
end)
c:RegisterEffect(e5)
local e6=e5:Clone()
e6:SetCode(EFFECT_CANNOT_BE_FUSION_MATERIAL)
c:RegisterEffect(e6)
local e7=e5:Clone()
e7:SetCode(EFFECT_CANNOT_BE_SYNCHRO_MATERIAL)
c:RegisterEffect(e7)
end
--e2
function c20000110.conf2(c)
return (c:IsSetCard(0x6fd1) or c:IsSetCard(0x9fd1)) and c:IsType(TYPE_MONSTER)
end
function c20000110.conf21(g,tp,sc)
return g:GetCount()==1
and g:IsExists(c20000110.conf2,1,nil)
end
function c20000110.con2(e,c)
if c==nil then return true end
local tp=c:GetControler()
local g=Duel.GetMatchingGroup(c20000110.conf2,tp,LOCATION_ONFIELD,0,nil)
return g:CheckSubGroup(c20000110.conf21,1,1,tp,c)
end
function c20000110.op2(e,tp,eg,ep,ev,re,r,rp,c)
if chk==0 then return Duel.CheckReleaseGroup(tp,c20000110.conf2,1,nil) end
local g=Duel.SelectReleaseGroup(tp,c20000110.conf2,1,1,nil)
Duel.Release(g,REASON_COST)
end
--e3
function c20000110.tgf3(c,e,tp)
return c:IsCode(20000100) and c:IsCanBeSpecialSummoned(e,0,tp,false,false)
end
function c20000110.opf31(c)
return c:IsType(TYPE_RITUAL) and c:IsRace(RACE_MACHINE)
and c:IsType(TYPE_MONSTER) and c:IsAbleToHand()
end
function c20000110.opf32(c)
return c:IsCode(20000102) and c:IsAbleToHand()
end
function c20000110.tg3(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(c20000110.tgf3,tp,LOCATION_GRAVE,0,1,nil,e,tp) end
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,1,tp,LOCATION_GRAVE)
end
function c20000110.op3(e,tp,eg,ep,ev,re,r,rp)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON)
local tc=Duel.SelectMatchingCard(tp,c20000110.tgf3,tp,LOCATION_GRAVE,0,1,1,nil,e,tp)
if Duel.GetLocationCount(tp,LOCATION_MZONE)>0 and Duel.SpecialSummon(tc,o,tp,tp,false,false,POS_FACEUP)~=0 then
Duel.BreakEffect()
local b1=Duel.IsExistingMatchingCard(c20000110.opf31,tp,LOCATION_DECK,0,1,nil)
local b2=Duel.IsExistingMatchingCard(c20000110.opf32,tp,LOCATION_GRAVE+LOCATION_DECK,0,1,nil)
local op=0
if b1 and b2 then op=Duel.SelectOption(tp,aux.Stringid(20000110,1),aux.Stringid(20000110,2))
elseif b1 then op=Duel.SelectOption(tp,aux.Stringid(20000110,1))
elseif b2 then op=Duel.SelectOption(tp,aux.Stringid(20000110,2))+1
else return end
if op==0 then
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_ATOHAND)
local g=Duel.SelectMatchingCard(tp,c20000110.opf31,tp,LOCATION_DECK,0,1,1,nil)
Duel.SendtoHand(g,tp,REASON_EFFECT)
Duel.ConfirmCards(1-tp,g)
else
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_ATOHAND)
local g=Duel.SelectMatchingCard(tp,aux.NecroValleyFilter(c20000110.opf32),tp,LOCATION_GRAVE+LOCATION_DECK,0,1,1,nil)
Duel.SendtoHand(g,tp,REASON_EFFECT)
Duel.ConfirmCards(1-tp,g)
end
end
end
\ No newline at end of file
--終局核心 歲月
function c20000111.initial_effect(c)
aux.AddCodeList(c,20000100,20000102)
aux.AddLinkProcedure(c,nil,2,2,c20000111.lcheck)
c:EnableReviveLimit()
local e1=Effect.CreateEffect(c)
e1:SetCategory(CATEGORY_TOHAND+CATEGORY_SEARCH+CATEGORY_TOGRAVE)
e1:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_O)
e1:SetProperty(EFFECT_FLAG_DELAY)
e1:SetCode(EVENT_SPSUMMON_SUCCESS)
e1:SetCondition(c20000111.con1)
e1:SetTarget(c20000111.tg1)
e1:SetOperation(c20000111.op1)
c:RegisterEffect(e1)
local e3=Effect.CreateEffect(c)
e3:SetCategory(CATEGORY_SPECIAL_SUMMON+CATEGORY_SEARCH+CATEGORY_TOGRAVE+CATEGORY_TOHAND)
e3:SetType(EFFECT_TYPE_IGNITION)
e3:SetRange(LOCATION_MZONE)
e3:SetCountLimit(1,20000111)
e3:SetTarget(c20000111.tg3)
e3:SetOperation(c20000111.op3)
c:RegisterEffect(e3)
end
--link
function c20000111.lcheck(g)
return g:IsExists(Card.IsLinkSetCard,1,nil,0x9fd1)
end
--e1
function c20000111.con1(e,tp,eg,ep,ev,re,r,rp)
return e:GetHandler():IsSummonType(SUMMON_TYPE_LINK)
end
function c20000111.tgf1(c)
return (c:IsCode(20000102) or c:IsCode(20000100)) and (c:IsAbleToHand() or c:IsAbleToGrave())
end
function c20000111.tg1(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(c20000111.tgf1,tp,LOCATION_DECK,0,1,nil) end
Duel.SetOperationInfo(0,CATEGORY_TOHAND,nil,1,tp,LOCATION_DECK)
Duel.SetOperationInfo(0,CATEGORY_TOGRAVE,nil,1,tp,LOCATION_DECK)
end
function c20000111.op1(e,tp,eg,ep,ev,re,r,rp)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_OPERATECARD)
local g=Duel.SelectMatchingCard(tp,c20000111.tgf1,tp,LOCATION_DECK,0,1,1,nil)
if g:GetCount()>0 then
local tc=g:GetFirst()
if tc and tc:IsAbleToHand() and (not tc:IsAbleToGrave() or Duel.SelectOption(tp,1190,1191)==0) then
Duel.SendtoHand(tc,nil,REASON_EFFECT)
Duel.ConfirmCards(1-tp,tc)
else
Duel.SendtoGrave(tc,REASON_EFFECT)
end
end
end
--e2
function c20000111.tgf3(c,e,tp)
return c:IsCode(20000100) and c:IsCanBeSpecialSummoned(e,0,tp,false,false)
end
function c20000111.opf31(c)
return c:IsCode(20000104) and c:IsAbleToHand()
end
function c20000111.opf32(c)
return (c:IsSetCard(0x9fd1) or c:IsSetCard(0x6fd1)) and c:IsAbleToHand()
end
function c20000111.tg3(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(c20000111.tgf3,tp,LOCATION_GRAVE,0,1,nil,e,tp) end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_ATTRIBUTE)
local att=Duel.AnnounceAttribute(tp,1,ATTRIBUTE_ALL-e:GetHandler():GetAttribute())
e:SetLabel(att)
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,1,tp,LOCATION_GRAVE)
end
function c20000111.op3(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
if c:IsRelateToEffect(e) and c:IsFaceup() then
local e1=Effect.CreateEffect(e:GetHandler())
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetCode(EFFECT_CHANGE_ATTRIBUTE)
e1:SetProperty(EFFECT_FLAG_CANNOT_DISABLE)
e1:SetValue(e:GetLabel())
e1:SetReset(RESET_EVENT+RESETS_STANDARD+RESET_PHASE+PHASE_END)
c:RegisterEffect(e1)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON)
local tc=Duel.SelectMatchingCard(tp,c20000111.tgf3,tp,LOCATION_GRAVE,0,1,1,nil,e,tp)
if Duel.GetLocationCount(tp,LOCATION_MZONE)>0 and Duel.SpecialSummon(tc,o,tp,tp,false,false,POS_FACEUP)~=0 then
Duel.BreakEffect()
local b1=Duel.IsExistingMatchingCard(c20000111.opf31,tp,LOCATION_DECK,0,1,nil)
local b2=Duel.IsExistingMatchingCard(c20000111.opf32,tp,LOCATION_GRAVE+LOCATION_DECK,0,1,nil)
local op=0
if b1 and b2 then op=Duel.SelectOption(tp,aux.Stringid(20000111,1),aux.Stringid(20000111,2))
elseif b1 then op=Duel.SelectOption(tp,aux.Stringid(20000111,1))
elseif b2 then op=Duel.SelectOption(tp,aux.Stringid(20000111,2))+1
else return end
if op==0 then
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_ATOHAND)
local g=Duel.SelectMatchingCard(tp,c20000111.opf31,tp,LOCATION_DECK,0,1,1,nil)
Duel.SendtoHand(g,tp,REASON_EFFECT)
Duel.ConfirmCards(1-tp,g)
else
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_ATOHAND)
local g=Duel.SelectMatchingCard(tp,c20000111.opf32,tp,LOCATION_GRAVE+LOCATION_DECK,0,1,1,nil)
Duel.SendtoHand(g,tp,REASON_EFFECT)
Duel.ConfirmCards(1-tp,g)
end
end
end
local e1=Effect.CreateEffect(e:GetHandler())
e1:SetType(EFFECT_TYPE_FIELD)
e1:SetProperty(EFFECT_FLAG_PLAYER_TARGET)
e1:SetCode(EFFECT_CANNOT_SPECIAL_SUMMON)
e1:SetTargetRange(1,0)
e1:SetTarget(function(e,c)
return not (c:IsSetCard(0x6fd1) or c:IsSetCard(0x9fd1)) and c:IsLocation(LOCATION_EXTRA)
end)
e1:SetReset(RESET_PHASE+PHASE_END)
Duel.RegisterEffect(e1,tp)
end
\ No newline at end of file
--艾爾緹絲 夢禍之核
function c20000112.initial_effect(c)
aux.AddCodeList(c,20000102)
c:EnableReviveLimit()
local e1=Effect.CreateEffect(c)
e1:SetProperty(EFFECT_FLAG_CANNOT_DISABLE+EFFECT_FLAG_UNCOPYABLE)
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetCode(EFFECT_SPSUMMON_CONDITION)
c:RegisterEffect(e1)
local e2=Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
e2:SetCode(EVENT_CHAINING)
e2:SetRange(LOCATION_MZONE)
e2:SetCondition(function(e,tp,eg,ep,ev,re,r,rp,chk)
return re:IsActiveType(TYPE_EFFECT) and re:GetHandler():IsType(TYPE_XYZ) and ep~=tp
end)
e2:SetOperation(function(e,tp,eg,ep,ev,re,r,rp)
Duel.NegateEffect(ev)
end)
c:RegisterEffect(e2)
local e6=Effect.CreateEffect(c)
e6:SetType(EFFECT_TYPE_FIELD)
e6:SetRange(LOCATION_MZONE)
e6:SetTargetRange(0,0xff)
e6:SetTarget(c20000112.tg2)
e6:SetCode(EFFECT_DISABLE)
c:RegisterEffect(e6)
local e7=e6:Clone(c)
e7:SetCode(EFFECT_DISABLE_EFFECT)
c:RegisterEffect(e7)
local e4=Effect.CreateEffect(c)
e4:SetCategory(CATEGORY_DISABLE)
e4:SetType(EFFECT_TYPE_QUICK_O)
e4:SetCode(EVENT_CHAINING)
e4:SetCountLimit(1,20000112)
e4:SetRange(LOCATION_MZONE)
e4:SetCondition(c20000112.con4)
e4:SetTarget(c20000112.tg4)
e4:SetOperation(c20000112.op4)
c:RegisterEffect(e4)
local e5=Effect.CreateEffect(c)
e5:SetCategory(CATEGORY_DRAW)
e5:SetType(EFFECT_TYPE_IGNITION)
e5:SetRange(LOCATION_MZONE)
e5:SetCountLimit(1)
e5:SetCost(c20000112.co5)
e5:SetTarget(c20000112.tg5)
e5:SetOperation(c20000112.op5)
c:RegisterEffect(e5)
end
--e2
function c20000112.tg2(e,c)
return c:IsType(TYPE_XYZ) and c:IsType(TYPE_MONSTER)
end
--e4
function c20000112.con4(e,tp,eg,ep,ev,re,r,rp)
local loc=Duel.GetChainInfo(ev,CHAININFO_TRIGGERING_LOCATION)
return bit.band(loc,LOCATION_SZONE)~=0
and re:IsActiveType(TYPE_SPELL) and Duel.IsChainDisablable(ev) and not e:GetHandler():IsStatus(STATUS_BATTLE_DESTROYED)
end
function c20000112.tg4(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 c20000112.op4(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
local rc=re:GetHandler()
if Duel.NegateEffect(ev) and c:IsRelateToEffect(e) and rc:IsRelateToEffect(re) and c:IsType(TYPE_XYZ) then
local og=rc:GetOverlayGroup()
rc:CancelToGrave()
Duel.Overlay(c,Group.FromCards(rc))
end
end
--e5
function c20000112.co5(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return e:GetHandler():CheckRemoveOverlayCard(tp,1,REASON_COST) end
e:GetHandler():RemoveOverlayCard(tp,1,1,REASON_COST)
end
function c20000112.tg5(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsPlayerCanDraw(tp,1) end
Duel.SetOperationInfo(0,CATEGORY_DRAW,nil,0,tp,1)
end
function c20000112.op5(e,tp,eg,ep,ev,re,r,rp,chk)
Duel.Draw(tp,1,REASON_EFFECT)
end
--艾爾緹絲 灼芯之核
function c20000113.initial_effect(c)
aux.AddCodeList(c,20000102)
c:EnableReviveLimit()
local e1=Effect.CreateEffect(c)
e1:SetProperty(EFFECT_FLAG_CANNOT_DISABLE+EFFECT_FLAG_UNCOPYABLE)
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetCode(EFFECT_SPSUMMON_CONDITION)
c:RegisterEffect(e1)
local e2=Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
e2:SetCode(EVENT_CHAINING)
e2:SetRange(LOCATION_MZONE)
e2:SetCondition(function(e,tp,eg,ep,ev,re,r,rp,chk)
return re:IsActiveType(TYPE_EFFECT) and re:GetHandler():IsType(TYPE_FUSION) and ep~=tp
end)
e2:SetOperation(function(e,tp,eg,ep,ev,re,r,rp)
Duel.NegateEffect(ev)
end)
c:RegisterEffect(e2)
local e6=Effect.CreateEffect(c)
e6:SetType(EFFECT_TYPE_FIELD)
e6:SetRange(LOCATION_MZONE)
e6:SetTargetRange(0,0xff)
e6:SetTarget(c20000113.tg2)
e6:SetCode(EFFECT_DISABLE)
c:RegisterEffect(e6)
local e7=e6:Clone(c)
e7:SetCode(EFFECT_DISABLE_EFFECT)
c:RegisterEffect(e7)
local e4=Effect.CreateEffect(c)
e4:SetDescription(aux.Stringid(20000113,0))
e4:SetCategory(CATEGORY_DISABLE)
e4:SetType(EFFECT_TYPE_QUICK_O)
e4:SetCode(EVENT_CHAINING)
e4:SetCountLimit(1,20000113)
e4:SetRange(LOCATION_MZONE)
e4:SetCondition(c20000113.con4)
e4:SetTarget(c20000113.tg4)
e4:SetOperation(c20000113.op4)
c:RegisterEffect(e4)
local e5=Effect.CreateEffect(c)
e5:SetDescription(aux.Stringid(20000113,1))
e5:SetCategory(CATEGORY_TODECK+CATEGORY_RECOVER)
e5:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_TRIGGER_O)
e5:SetCode(EVENT_TO_HAND)
e5:SetProperty(EFFECT_FLAG_PLAYER_TARGET)
e5:SetRange(LOCATION_MZONE)
e5:SetCountLimit(1)
e5:SetCondition(c20000113.con5)
e5:SetTarget(c20000113.tg5)
e5:SetOperation(c20000113.op5)
c:RegisterEffect(e5)
end
--e2
function c20000113.tg2(e,c)
return c:IsType(TYPE_FUSION) and c:IsType(TYPE_MONSTER)
end
--e4
function c20000113.con4(e,tp,eg,ep,ev,re,r,rp)
local loc=Duel.GetChainInfo(ev,CHAININFO_TRIGGERING_LOCATION)
return bit.band(loc,LOCATION_MZONE)~=0
and re:IsActiveType(TYPE_MONSTER) and Duel.IsChainDisablable(ev) and not e:GetHandler():IsStatus(STATUS_BATTLE_DESTROYED)
end
function c20000113.tg4(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 c20000113.op4(e,tp,eg,ep,ev,re,r,rp)
Duel.NegateEffect(ev)
end
--e5
function c20000113.con5(e,tp,eg,ep,ev,re,r,rp)
return Duel.GetCurrentPhase()~=PHASE_DRAW
end
function c20000113.tgf5(c,tp)
return c:IsControler(1-tp) and c:IsPreviousLocation(LOCATION_DECK)
end
function c20000113.tg5(e,tp,eg,ep,ev,re,r,rp,chk)
local g=eg:Filter(c20000113.tgf5,nil,tp)
if chk==0 then return g:GetCount()>0 end
Duel.SetOperationInfo(0,CATEGORY_TODECK,g,g:GetCount(),0,0)
Duel.SetOperationInfo(0,CATEGORY_RECOVER,nil,0,tp,2000)
end
function c20000113.op5(e,tp,eg,ep,ev,re,r,rp)
if not e:GetHandler():IsRelateToEffect(e) then return end
local g=eg:Filter(c20000113.tgf5,nil,tp)
if g:GetCount()>0 then
Duel.SendtoDeck(g,nil,2,REASON_EFFECT)
Duel.Recover(tp,2000,REASON_EFFECT)
end
end
\ No newline at end of file
--艾爾緹絲 裂風之核
function c20000114.initial_effect(c)
aux.AddCodeList(c,20000102)
c:EnableReviveLimit()
local e1=Effect.CreateEffect(c)
e1:SetProperty(EFFECT_FLAG_CANNOT_DISABLE+EFFECT_FLAG_UNCOPYABLE)
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetCode(EFFECT_SPSUMMON_CONDITION)
c:RegisterEffect(e1)
local e2=Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
e2:SetCode(EVENT_CHAINING)
e2:SetRange(LOCATION_MZONE)
e2:SetCondition(function(e,tp,eg,ep,ev,re,r,rp,chk)
return re:IsActiveType(TYPE_EFFECT) and re:GetHandler():IsType(TYPE_SYNCHRO) and ep~=tp
end)
e2:SetOperation(function(e,tp,eg,ep,ev,re,r,rp)
Duel.NegateEffect(ev)
end)
c:RegisterEffect(e2)
local e6=Effect.CreateEffect(c)
e6:SetType(EFFECT_TYPE_FIELD)
e6:SetRange(LOCATION_MZONE)
e6:SetTargetRange(0,0xff)
e6:SetTarget(c20000114.tg2)
e6:SetCode(EFFECT_DISABLE)
c:RegisterEffect(e6)
local e7=e6:Clone(c)
e7:SetCode(EFFECT_DISABLE_EFFECT)
c:RegisterEffect(e7)
local e4=Effect.CreateEffect(c)
e4:SetDescription(aux.Stringid(20000114,0))
e4:SetCategory(CATEGORY_DISABLE)
e4:SetType(EFFECT_TYPE_QUICK_O)
e4:SetCode(EVENT_CHAINING)
e4:SetCountLimit(1,20000114)
e4:SetRange(LOCATION_MZONE)
e4:SetCondition(c20000114.con4)
e4:SetTarget(c20000114.tg4)
e4:SetOperation(c20000114.op4)
c:RegisterEffect(e4)
local e5=Effect.CreateEffect(c)
e5:SetDescription(aux.Stringid(20000114,1))
e5:SetCategory(CATEGORY_TOHAND+CATEGORY_SEARCH)
e5:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_CONTINUOUS)
e5:SetCode(EVENT_TO_GRAVE)
e5:SetCountLimit(1)
e5:SetTarget(c20000114.tg5)
e5:SetOperation(c20000114.op5)
c:RegisterEffect(e5)
end
--e2
function c20000114.tg2(e,c)
return c:IsType(TYPE_SYNCHRO) and c:IsType(TYPE_MONSTER)
end
--e4
function c20000114.con4(e,tp,eg,ep,ev,re,r,rp)
local loc=Duel.GetChainInfo(ev,CHAININFO_TRIGGERING_LOCATION)
return bit.band(loc,LOCATION_SZONE)~=0
and re:IsActiveType(TYPE_TRAP) and Duel.IsChainDisablable(ev) and not e:GetHandler():IsStatus(STATUS_BATTLE_DESTROYED)
end
function c20000114.tg4(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 c20000114.op4(e,tp,eg,ep,ev,re,r,rp)
Duel.NegateEffect(ev)
end
--e5
function c20000114.tgf5(c)
return (c:IsSetCard(0x6fd1) or c:IsSetCard(0x9fd1)) and c:IsAbleToHand()
end
function c20000114.tg5(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(c20000114.tgf5,tp,LOCATION_DECK,0,1,nil) end
Duel.SetOperationInfo(0,CATEGORY_TOHAND,nil,1,tp,LOCATION_DECK)
end
function c20000114.op5(e,tp,eg,ep,ev,re,r,rp)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_ATOHAND)
local g=Duel.SelectMatchingCard(tp,c20000114.tgf5,tp,LOCATION_DECK,0,1,1,nil)
if g:GetCount()>0 then
Duel.SendtoHand(g,nil,REASON_EFFECT)
Duel.ConfirmCards(1-tp,g)
end
end
--艾爾緹絲 審判之核
function c20000115.initial_effect(c)
aux.AddCodeList(c,20000102)
c:EnableReviveLimit()
local e1=Effect.CreateEffect(c)
e1:SetProperty(EFFECT_FLAG_CANNOT_DISABLE+EFFECT_FLAG_UNCOPYABLE)
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetCode(EFFECT_SPSUMMON_CONDITION)
c:RegisterEffect(e1)
local e2=Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
e2:SetCode(EVENT_CHAIN_SOLVING)
e2:SetRange(LOCATION_MZONE)
e2:SetTargetRange(0,0xfdd)
e2:SetCondition(c20000115.con2)
e2:SetOperation(c20000115.op2)
c:RegisterEffect(e2)
local e4=Effect.CreateEffect(c)
e4:SetDescription(aux.Stringid(20000115,0))
e4:SetCategory(CATEGORY_TOHAND)
e4:SetType(EFFECT_TYPE_QUICK_O)
e4:SetCode(EVENT_CHAINING)
e4:SetRange(LOCATION_MZONE)
e4:SetCountLimit(1,20000115)
e4:SetCondition(c20000115.con4)
e4:SetTarget(c20000115.tg4)
e4:SetOperation(c20000115.op4)
c:RegisterEffect(e4)
local e5=Effect.CreateEffect(c)
e5:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_CONTINUOUS)
e5:SetCode(EVENT_TO_GRAVE)
e5:SetCondition(function(e,tp,eg,ep,ev,re,r,rp)
return e:GetHandler():IsPreviousLocation(LOCATION_ONFIELD)
end)
e5:SetTarget(c20000115.tg5)
e5:SetOperation(c20000115.op5)
c:RegisterEffect(e5)
end
--e2
function c20000115.con2(e,tp,eg,ep,ev,re,r,rp)
local loc,pos=Duel.GetChainInfo(ev,CHAININFO_TRIGGERING_LOCATION,CHAININFO_TRIGGERING_POSITION)
if ep==tp then return false end
return e:GetHandler():IsAttackPos()
and re:IsActiveType(TYPE_MONSTER) and loc==LOCATION_MZONE and bit.band(pos,POS_ATTACK)~=0
end
function c20000115.op2(e,tp,eg,ep,ev,re,r,rp)
Duel.NegateEffect(ev)
end
--e4
function c20000115.con4(e,tp,eg,ep,ev,re,r,rp)
return re:IsActiveType(TYPE_MONSTER) and not e:GetHandler():IsStatus(STATUS_BATTLE_DESTROYED)
end
function c20000115.tg4(e,tp,eg,ep,ev,re,r,rp,chk)
local tc=eg
if chk==0 then return tc end
Duel.SetOperationInfo(0,CATEGORY_TOHAND,eg,1,0,0)
end
function c20000115.op4(e,tp,eg,ep,ev,re,r,rp)
Duel.SendtoHand(eg,tp,REASON_EFFECT)
end
--e5
function c20000115.tg5(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
if chk==0 then return Duel.IsExistingTarget(nil,tp,LOCATION_ONFIELD,LOCATION_ONFIELD,1,nil) end
end
function c20000115.op5(e,tp,eg,ep,ev,re,r,rp)
local g=Duel.GetMatchingGroup(nil,tp,LOCATION_ONFIELD,LOCATION_ONFIELD,nil)
if g:GetCount()>0 then
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_ATOHAND)
local sg=g:Select(tp,1,1,nil)
Duel.HintSelection(sg)
Duel.SendtoHand(sg,nil,REASON_EFFECT)
end
end
--艾爾緹絲 雷光之核
function c20000116.initial_effect(c)
aux.AddCodeList(c,20000100,20000102)
c:EnableReviveLimit()
aux.EnablePendulumAttribute(c)
local e1=Effect.CreateEffect(c)
e1:SetProperty(EFFECT_FLAG_CANNOT_DISABLE+EFFECT_FLAG_UNCOPYABLE)
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetCode(EFFECT_SPSUMMON_CONDITION)
c:RegisterEffect(e1)
local e2=Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
e2:SetCode(EVENT_CHAINING)
e2:SetRange(LOCATION_MZONE)
e2:SetCondition(function(e,tp,eg,ep,ev,re,r,rp,chk)
return re:IsActiveType(TYPE_EFFECT) and re:GetHandler():IsType(TYPE_PENDULUM) and ep~=tp
end)
e2:SetOperation(function(e,tp,eg,ep,ev,re,r,rp)
Duel.NegateEffect(ev)
end)
c:RegisterEffect(e2)
local e6=Effect.CreateEffect(c)
e6:SetType(EFFECT_TYPE_FIELD)
e6:SetRange(LOCATION_MZONE)
e6:SetTargetRange(0,0xff)
e6:SetTarget(c20000116.tg2)
e6:SetCode(EFFECT_DISABLE)
c:RegisterEffect(e6)
local e7=e6:Clone(c)
e7:SetCode(EFFECT_DISABLE_EFFECT)
c:RegisterEffect(e7)
local e4=Effect.CreateEffect(c)
e4:SetDescription(aux.Stringid(20000116,0))
e4:SetCategory(CATEGORY_REMOVE)
e4:SetType(EFFECT_TYPE_QUICK_O)
e4:SetCode(EVENT_CHAINING)
e4:SetRange(LOCATION_MZONE)
e4:SetCountLimit(1,20000116)
e4:SetCondition(c20000116.con4)
e4:SetTarget(c20000116.tg4)
e4:SetOperation(c20000116.op4)
c:RegisterEffect(e4)
local e5=Effect.CreateEffect(c)
e5:SetDescription(aux.Stringid(20000116,1))
e5:SetCategory(CATEGORY_ATKCHANGE)
e5:SetType(EFFECT_TYPE_QUICK_O)
e5:SetRange(LOCATION_MZONE)
e5:SetCode(EVENT_PRE_DAMAGE_CALCULATE)
e5:SetCountLimit(1)
e5:SetCondition(c20000116.con5)
e5:SetCost(c20000116.co5)
e5:SetOperation(c20000116.op5)
c:RegisterEffect(e5)
local e8=Effect.CreateEffect(c)
e8:SetDescription(aux.Stringid(20000116,2))
e8:SetCategory(CATEGORY_TOHAND+CATEGORY_TODECK+CATEGORY_HANDES)
e8:SetType(EFFECT_TYPE_IGNITION)
e8:SetRange(LOCATION_PZONE)
e8:SetCost(c20000116.co6)
e8:SetTarget(c20000116.tg6)
e8:SetOperation(c20000116.op6)
c:RegisterEffect(e8)
end
--e2
function c20000116.tg2(e,c)
return c:IsType(TYPE_PENDULUM)
end
--e4
function c20000116.con4(e,tp,eg,ep,ev,re,r,rp)
return not e:GetHandler():IsStatus(STATUS_BATTLE_DESTROYED) and re:IsActiveType(TYPE_SPELL)
end
function c20000116.tg4(e,tp,eg,ep,ev,re,r,rp,chk)
local rc=re:GetHandler()
if chk==0 then return rc:IsRelateToEffect(re) and rc:IsAbleToRemove() end
Duel.SetOperationInfo(0,CATEGORY_REMOVE,rc,1,0,0)
end
function c20000116.op4(e,tp,eg,ep,ev,re,r,rp)
local rc=re:GetHandler()
if rc:IsRelateToEffect(re) then
Duel.Remove(rc,POS_FACEUP,REASON_EFFECT)
end
end
--e5
function c20000116.con5(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
local bc=c:GetBattleTarget()
return bc and bc:GetAttack()>0
end
function c20000116.co5(e,tp,eg,ep,ev,re,r,rp,chk)
local c=e:GetHandler()
if chk==0 then return c:GetFlagEffect(20000116)==0 end
c:RegisterFlagEffect(20000116,RESET_EVENT+RESETS_STANDARD+RESET_PHASE+PHASE_DAMAGE_CAL,0,1)
end
function c20000116.op5(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
local bc=c:GetBattleTarget()
if c:IsRelateToBattle() and c:IsFaceup() and bc:IsRelateToBattle() and bc:IsFaceup() then
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetCode(EFFECT_UPDATE_ATTACK)
e1:SetReset(RESET_EVENT+RESETS_STANDARD+RESET_PHASE+PHASE_DAMAGE_CAL)
e1:SetValue(bc:GetAttack())
c:RegisterEffect(e1)
end
end
--e6
function c20000116.co6(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(Card.IsDiscardable,tp,LOCATION_HAND,0,1,nil) end
Duel.DiscardHand(tp,Card.IsDiscardable,1,1,REASON_COST+REASON_DISCARD)
end
function c20000116.tgf6(c)
return (c:IsCode(20000100) or (c:IsSetCard(0x9fd1) and not c:IsType(TYPE_MONSTER))) and c:IsAbleToHand()
end
function c20000116.tg6(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(c20000116.tgf6,tp,LOCATION_DECK,0,1,nil) end
Duel.SetOperationInfo(0,CATEGORY_TOHAND,nil,1,tp,LOCATION_DECK)
end
function c20000116.op6(e,tp,eg,ep,ev,re,r,rp)
if not e:GetHandler():IsRelateToEffect(e) then return end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_ATOHAND)
local g=Duel.SelectMatchingCard(tp,c20000116.tgf6,tp,LOCATION_DECK,0,1,1,nil)
if g:GetCount()>0 then
Duel.SendtoHand(g,nil,REASON_EFFECT)
Duel.ConfirmCards(1-tp,g)
Duel.BreakEffect()
if e:GetHandler():IsAbleToDeck(e) then
Duel.SendtoDeck(e:GetHandler(),nil,2,REASON_EFFECT)
end
end
end
\ No newline at end of file
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