Commit feba7e85 authored by Tachibana's avatar Tachibana

ndyd

parent 925255c1
Pipeline #4881 passed with stages
in 27 minutes and 36 seconds
No preview for this file type
#[2021.8 DIY] #[2021.9 DIY]
!2021.8 DIY !2021.9 DIY
#1 #1
00113217 1 --小红花 00113217 1 --小红花
...@@ -170,6 +170,7 @@ ...@@ -170,6 +170,7 @@
11451414 1 --龙宫城的龙王 敖广 11451414 1 --龙宫城的龙王 敖广
11451415 1 --水晶之都 龙王宫 11451415 1 --水晶之都 龙王宫
11451422 1 --龙宫城·四海龙怒 11451422 1 --龙宫城·四海龙怒
11451437 1 --波动武士·紫外军刺
#117 #117
11700002 1 --ZEON-扎古II·F 11700002 1 --ZEON-扎古II·F
11700012 1 --ZEON-龟霸 11700012 1 --ZEON-龟霸
...@@ -179,7 +180,7 @@ ...@@ -179,7 +180,7 @@
#118 #118
11800003 0 --『创造物』 绚烂 11800003 0 --『创造物』 绚烂
11800010 1 --『音速机械』 洛拉米亚 11800010 1 --『音速机械』 洛拉米亚
11800014 0 --『神秘守门人』丝碧涅 11800014 1 --『神秘守门人』丝碧涅
11800016 0 --外界之理 11800016 0 --外界之理
11800057 0 --紧急着装 11800057 0 --紧急着装
11800060 0 --机·构·解·放 11800060 0 --机·构·解·放
...@@ -514,20 +515,31 @@ ...@@ -514,20 +515,31 @@
#187 #187
18734605 0 --樱风乐章 二宫飞鸟 18734605 0 --樱风乐章 二宫飞鸟
18734613 1 --娇羞姑娘 小日向美穗 18734613 1 --娇羞姑娘 小日向美穗
#195
19500012 0 --七色人形剧·迷失子人形
19500018 0 --七色人形剧·荷兰人形
19500029 0 --Trichromatic rotation·Alice Margatroid
#200 #200
20000000 1 --史黛拉 20000000 1 --史黛拉
20000003 1 --再起的双星
20000050 1 --藏于心之Chein 20000050 1 --藏于心之Chein
20000054 0 --星屑茶 20000054 0 --星屑茶
20000056 1 --疾速机械剑齿虎 20000056 1 --疾速机械剑齿虎
20000057 0 --七夕的花嫁骑士 20000057 0 --七夕的花嫁骑士
20000060 1 --夹心猫 20000060 1 --夹心猫
20000061 0 --溶解之恋
20000074 1 --For love 20000074 1 --For love
20000102 2 --核心输入 20000101 1 --死寂萦绕之城
20000102 1 --核心输入
20000106 1 --终局核心 熔岩
20000107 1 --终局核心 盎芯
20000119 1 --人工核心智能
20000120 1 --艾尔缇丝的选择
20000111 1 --终局核心 时核 20000111 1 --终局核心 时核
20000162 1 --虚构素体 A001 20000162 2 --虚构素体 A001
20000163 1 --虚构素体 B001 20000163 1 --虚构素体 B001
20000164 1 --虚构素体 C001 20000164 2 --虚构素体 C001
20000165 1 --虚构素体 D001 20000165 2 --虚构素体 D001
#201 #201
20100214 2 --御刀使-柳濑舞衣 20100214 2 --御刀使-柳濑舞衣
20100233 2 --出阵!刻下一闪之灯火 20100233 2 --出阵!刻下一闪之灯火
...@@ -734,12 +746,12 @@ ...@@ -734,12 +746,12 @@
33310150 2 --引临魔源 地侧之月 33310150 2 --引临魔源 地侧之月
33310158 1 --临魔浮生 33310158 1 --临魔浮生
33310161 0 --临魔终形 33310161 0 --临魔终形
33310200 0 --空想融合 33310200 1 --空想融合
33310207 1 --空想虚景 造物之扉 33310207 1 --空想虚景 造物之扉
33310210 1 --空想夜王 月天 33310210 1 --空想夜王 月天
33310212 1 --空想寒晶 冰凰 33310212 1 --空想寒晶 冰凰
33310213 0 --空想祈羽 虚龙 33310213 0 --空想祈羽 虚龙
33310250 1 --梅古梅古 33310250 0 --梅古梅古
33310251 1 --脏东西要清理干净 33310251 1 --脏东西要清理干净
33310252 1 --危险的亢奋状态 33310252 1 --危险的亢奋状态
33310302 1 --幽桐的璀璨庆典 33310302 1 --幽桐的璀璨庆典
...@@ -893,6 +905,7 @@ ...@@ -893,6 +905,7 @@
33502413 0 --青空之羽 伊雷娜 33502413 0 --青空之羽 伊雷娜
33502705 0 --灵祟 来自暗处的深情 33502705 0 --灵祟 来自暗处的深情
33502722 0 --灵祟 凄 33502722 0 --灵祟 凄
33502906 0 --情感的思索
#337 #337
33700028 0 --Proto-Protoform 33700028 0 --Proto-Protoform
33700036 0 --Protoform 咲夜 33700036 0 --Protoform 咲夜
...@@ -944,8 +957,16 @@ ...@@ -944,8 +957,16 @@
33711601 0 --七色之魂 33711601 0 --七色之魂
33711702 0 --深层思考 33711702 0 --深层思考
#351 #351
35100103 1 --异质绝望狂宴
35100109 1 --绝对平凡少女 苗木困
35100119 0 --异质绝望领主 空洞彷徨之灵
35100121 1 --异质绝望领主 无妄战士
35100123 1 --异质绝望舞台-塔和
35100131 0 --希望机关见习生 腐川冬子
35100135 1 --异质绝望聚集
35100139 1 --异质绝望 黑白熊幼仔 35100139 1 --异质绝望 黑白熊幼仔
35100141 1 --异质绝望 坏击喷射 35100141 1 --异质绝望 坏击喷射
35100143 1 --异质绝望-摇奖机
#375 #375
37564012 0 --元灵毁灭者·Aya Ayane 37564012 0 --元灵毁灭者·Aya Ayane
37564041 0 --阎-少女之梦·虚无的世界 37564041 0 --阎-少女之梦·虚无的世界
...@@ -1133,6 +1154,7 @@ ...@@ -1133,6 +1154,7 @@
57340001 0 --灵樱的永眠 57340001 0 --灵樱的永眠
#600 #600
60000016 1 --迷石宫的猎龙 60000016 1 --迷石宫的猎龙
60002005 0 --竹子 临冰的决意
#601 #601
60150541 1 --幻想曲的回转乐章 60150541 1 --幻想曲的回转乐章
60150616 1 --千夜 黑白 60150616 1 --千夜 黑白
...@@ -1271,6 +1293,8 @@ ...@@ -1271,6 +1293,8 @@
66915001 2 --璀璨的星辉 66915001 2 --璀璨的星辉
66915002 1 --星曜观星台 66915002 1 --星曜观星台
66915005 1 --光辉星曜·圣芒 66915005 1 --光辉星曜·圣芒
#672
67200023 0 --神采-赛尔维『隶姬装着』
#696 #696
69691901 0 --探索安戈洛 69691901 0 --探索安戈洛
69691902 0 --哈尔拉兹,山猫之神 69691902 0 --哈尔拉兹,山猫之神
...@@ -1279,7 +1303,7 @@ ...@@ -1279,7 +1303,7 @@
69696903 0 --电磁蜘蛛 69696903 0 --电磁蜘蛛
69696915 0 --迁跃融合 69696915 0 --迁跃融合
69696916 0 --星灵虎 69696916 0 --星灵虎
69696918 1 --梦魇术士 69696918 0 --梦魇术士
69696931 0 --奇璞 69696931 0 --奇璞
69696934 0 --落石之径 69696934 0 --落石之径
69696961 1 --产量激增 69696961 1 --产量激增
...@@ -1353,6 +1377,8 @@ ...@@ -1353,6 +1377,8 @@
77777765 0 --Orange 77777765 0 --Orange
#810 #810
81000006 2 --甜花无敌 81000006 2 --甜花无敌
81002002 1 --砂冢明音·流回
81002010 0 --玫瑰天堂·砂冢明音
81007002 0 --白雪安娜·泯灭 81007002 0 --白雪安娜·泯灭
81007017 2 --白雪安娜·初恋 81007017 2 --白雪安娜·初恋
81011003 1 --大轮之华·桑山千雪 81011003 1 --大轮之华·桑山千雪
......
...@@ -18,6 +18,16 @@ function cm.initial_effect(c) ...@@ -18,6 +18,16 @@ function cm.initial_effect(c)
e1:SetValue(1) e1:SetValue(1)
e1:SetCondition(cm.actcon) e1:SetCondition(cm.actcon)
c:RegisterEffect(e1) c:RegisterEffect(e1)
--cannot remove
local e4=Effect.CreateEffect(c)
e4:SetType(EFFECT_TYPE_FIELD)
e4:SetCode(EFFECT_CANNOT_REMOVE)
e4:SetRange(LOCATION_FZONE)
e4:SetTargetRange(LOCATION_GRAVE,0)
c:RegisterEffect(e4)
local e5=e4:Clone()
e5:SetTargetRange(0,LOCATION_GRAVE)
c:RegisterEffect(e5)
--CANNOT_DISCARD_DECK --CANNOT_DISCARD_DECK
local e2=Effect.CreateEffect(c) local e2=Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_FIELD) e2:SetType(EFFECT_TYPE_FIELD)
......
...@@ -28,20 +28,20 @@ function cm.operation(e,tp,eg,ep,ev,re,r,rp) ...@@ -28,20 +28,20 @@ function cm.operation(e,tp,eg,ep,ev,re,r,rp)
end end
function cm.actop(e,tp,eg,ep,ev,re,r,rp) function cm.actop(e,tp,eg,ep,ev,re,r,rp)
local ft=Duel.GetLocationCount(tp,LOCATION_MZONE) local ft=Duel.GetLocationCount(tp,LOCATION_MZONE)
if ft>0 and Duel.IsPlayerCanSpecialSummonMonster(tp,12084034,nil,TYPES_TOKEN_MONSTER+TYPE_TUNER,0,0,4,RACE_RACE_PYRO,ATTRIBUTE_FIRE) and Duel.IsPlayerCanSpecialSummonMonster(tp,12084035,nil,TYPES_TOKEN_MONSTER+TYPE_TUNER,0,0,4,RACE_PYRO,ATTRIBUTE_FIRE,POS_FACEUP,1-tp) and Duel.SelectYesNo(tp,aux.Stringid(m,2)) then if ft>0 and Duel.IsPlayerCanSpecialSummonMonster(tp,12084034,nil,TYPES_TOKEN_MONSTER+TYPE_TUNER,0,0,4,RACE_RACE_PYRO,ATTRIBUTE_FIRE) and Duel.IsPlayerCanSpecialSummonMonster(tp,12084035,nil,TYPES_TOKEN_MONSTER+TYPE_TUNER,0,0,4,RACE_PYRO,ATTRIBUTE_FIRE,POS_FACEUP_DEFENSE,1-tp) and Duel.SelectYesNo(tp,aux.Stringid(m,2)) then
Duel.BreakEffect() Duel.BreakEffect()
local token=Duel.CreateToken(tp,12084034) local token=Duel.CreateToken(tp,12084034)
local token1=Duel.CreateToken(tp,12084035) local token1=Duel.CreateToken(tp,12084035)
Duel.SpecialSummonStep(token,0,tp,tp,false,false,POS_FACEUP) Duel.SpecialSummonStep(token,0,tp,tp,false,false,POS_FACEUP_DEFENSE)
Duel.SpecialSummonStep(token1,0,tp,1-tp,false,false,POS_FACEUP) Duel.SpecialSummonStep(token1,0,tp,1-tp,false,false,POS_FACEUP_DEFENSE)
Duel.SpecialSummonComplete() Duel.SpecialSummonComplete()
end end
end end
function cm.tfilter(c,e,tp,att,race,lv) function cm.spfilter(c,e,tp,att,race,lv)
return c:IsCanBeSpecialSummoned(e,0,tp,false,false) and c:IsLevel(lv) and c:IsRace(race) and c:IsAttribute(att) return c:IsCanBeSpecialSummoned(e,0,tp,false,false) and c:IsLevel(lv) and c:IsRace(race) and c:IsAttribute(att)
end end
function cm.tfilter(c,e,tp) function cm.tfilter(c,e,tp)
return c:IsSetCard(0x9fa8) and Duel.IsExistingMatchingCard(card.spfilter,tp,LOCATION_DECK,0,1,nil,e,tp,c:GetAttribute(),c:GetRace(),c:GetLevel()) return c:IsSetCard(0x9fa8) and Duel.IsExistingMatchingCard(cm.spfilter,tp,LOCATION_DECK,0,1,nil,e,tp,c:GetAttribute(),c:GetRace(),c:GetLevel())
end end
function cm.thtg(e,tp,eg,ep,ev,re,r,rp,chk) function cm.thtg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.GetLocationCount(tp,LOCATION_MZONE)>0 and e:GetHandler():IsAbleToHand() and Duel.IsExistingTarget(cm.tfilter,tp,LOCATION_DECK,0,1,nil,e,tp) end if chk==0 then return Duel.GetLocationCount(tp,LOCATION_MZONE)>0 and e:GetHandler():IsAbleToHand() and Duel.IsExistingTarget(cm.tfilter,tp,LOCATION_DECK,0,1,nil,e,tp) end
...@@ -59,5 +59,13 @@ function cm.thop(e,tp,eg,ep,ev,re,r,rp) ...@@ -59,5 +59,13 @@ function cm.thop(e,tp,eg,ep,ev,re,r,rp)
local g=Duel.SelectMatchingCard(tp,aux.NecroValleyFilter(cm.spfilter),tp,LOCATION_GRAVE,0,1,1,nil,e,tp,att,race,lv) local g=Duel.SelectMatchingCard(tp,aux.NecroValleyFilter(cm.spfilter),tp,LOCATION_GRAVE,0,1,1,nil,e,tp,att,race,lv)
if g:GetCount()>0 then if g:GetCount()>0 then
Duel.SpecialSummon(g,0,tp,tp,false,false,POS_FACEUP) Duel.SpecialSummon(g,0,tp,tp,false,false,POS_FACEUP)
local e1=Effect.CreateEffect(e:GetHandler())
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetCode(EFFECT_DISABLE)
e1:SetReset(RESET_EVENT+RESETS_STANDARD)
g:GetFirst():RegisterEffect(e1)
local e2=e1:Clone()
e2:SetCode(EFFECT_DISABLE_EFFECT)
g:GetFirst():RegisterEffect(e2)
end end
end end
...@@ -7,13 +7,13 @@ function c19500000.initial_effect(c) ...@@ -7,13 +7,13 @@ function c19500000.initial_effect(c)
e1:SetCode(EFFECT_SUMMON_PROC) e1:SetCode(EFFECT_SUMMON_PROC)
e1:SetCondition(c19500000.ntcon) e1:SetCondition(c19500000.ntcon)
c:RegisterEffect(e1) c:RegisterEffect(e1)
--pos --equip
local e2=Effect.CreateEffect(c) local e2=Effect.CreateEffect(c)
e2:SetDescription(aux.Stringid(19500000,1)) e2:SetDescription(aux.Stringid(19500000,1))
e2:SetCategory(CATEGORY_EQUIP) e2:SetCategory(CATEGORY_DESTROY+CATEGORY_EQUIP)
e2:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_F) e2:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_O)
e2:SetCode(EVENT_SUMMON_SUCCESS) e2:SetCode(EVENT_SUMMON_SUCCESS)
--e2:SetProperty(EFFECT_FLAG_DELAY) e2:SetProperty(EFFECT_FLAG_DELAY)
e2:SetCountLimit(1,19500000) e2:SetCountLimit(1,19500000)
e2:SetTarget(c19500000.destg) e2:SetTarget(c19500000.destg)
e2:SetOperation(c19500000.desop) e2:SetOperation(c19500000.desop)
...@@ -30,7 +30,6 @@ function c19500000.initial_effect(c) ...@@ -30,7 +30,6 @@ function c19500000.initial_effect(c)
e3:SetCountLimit(1,19500000+100) e3:SetCountLimit(1,19500000+100)
e3:SetTarget(c19500000.sptg) e3:SetTarget(c19500000.sptg)
e3:SetOperation(c19500000.spop) e3:SetOperation(c19500000.spop)
--e3:SetCondition(c19500000.eqcon)
c:RegisterEffect(e3) c:RegisterEffect(e3)
end end
function c19500000.ntcon(e,c,minc) function c19500000.ntcon(e,c,minc)
...@@ -40,70 +39,49 @@ function c19500000.ntcon(e,c,minc) ...@@ -40,70 +39,49 @@ function c19500000.ntcon(e,c,minc)
and Duel.GetLocationCount(c:GetControler(),LOCATION_MZONE)>0 and Duel.GetLocationCount(c:GetControler(),LOCATION_MZONE)>0
end end
function c19500000.desfilter(c) function c19500000.desfilter(c)
return c:IsType(TYPE_MONSTER) and c:IsSetCard(0x3190) and c:IsRace(RACE_MACHINE) return c:IsType(TYPE_MONSTER) and c:IsSetCard(0x3990) and c:IsRace(RACE_MACHINE)
end end
function c19500000.eqfilter(c,tp) function c19500000.eqfilter(c,tp)
return c:IsType(TYPE_MONSTER) and c:IsSetCard(0x3190) and c:IsRace(RACE_MACHINE) and c:CheckUniqueOnField(tp) and not c:IsForbidden() return c:IsType(TYPE_MONSTER) and c:IsSetCard(0x3990) and c:IsRace(RACE_MACHINE) and c:CheckUniqueOnField(tp) and not c:IsForbidden()
end end
function c19500000.destg(e,tp,eg,ep,ev,re,r,rp,chk) function c19500000.destg(e,tp,eg,ep,ev,re,r,rp,chk)
--if chk==0 then return Duel.IsExistingMatchingCard(c19500000.desfilter,tp,LOCATION_DECK,0,1,e:GetHandler()) if chk==0 then return Duel.IsExistingMatchingCard(c19500000.desfilter,tp,LOCATION_DECK,0,1,e:GetHandler()) end
--and Duel.IsExistingMatchingCard(c19500000.eqfilter,tp,LOCATION_GRAVE,0,1,nil,tp) end local g=Duel.GetMatchingGroup(c19500000.desfilter,tp,LOCATION_DECK,0,e:GetHandler())
-- local g=Duel.GetMatchingGroup(c19500000.desfilter,tp,LOCATION_DECK,0,e:GetHandler()) Duel.SetOperationInfo(0,CATEGORY_DESTROY,g,1,0,0)
-- Duel.SetOperationInfo(0,CATEGORY_DESTROY,g,1,0,0) Duel.SetOperationInfo(0,CATEGORY_EQUIP,nil,1,tp,LOCATION_GRAVE)
-- Duel.SetOperationInfo(0,CATEGORY_EQUIP,nil,1,tp,LOCATION_GRAVE) Duel.SetOperationInfo(0,CATEGORY_LEAVE_GRAVE,nil,1,tp,0)
-- Duel.SetOperationInfo(0,CATEGORY_LEAVE_GRAVE,nil,1,tp,0)
if chk==0 then return Duel.GetLocationCount(tp,LOCATION_SZONE)>0
and Duel.IsExistingMatchingCard(c19500000.eqfilter,tp,LOCATION_GRAVE+LOCATION_DECK,0,1,nil) end
Duel.SetOperationInfo(0,CATEGORY_LEAVE_GRAVE,nil,1,tp,LOCATION_GRAVE+LOCATION_DECK)
end end
function c19500000.desop(e,tp,eg,ep,ev,re,r,rp) function c19500000.desop(e,tp,eg,ep,ev,re,r,rp)
--local c=e:GetHandler()
--if Duel.GetLocationCount(tp,LOCATION_SZONE)<=0 then return end
-- Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_DESTROY)
--local g=Duel.SelectMatchingCard(tp,c19500000.desfilter,tp,LOCATION_DECK,0,1,1,aux.ExceptThisCard(e))
--if g:GetCount()>0 and Duel.Destroy(g,REASON_EFFECT)~=0 and not c:IsFacedown() then
--Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_EQUIP)
-- local g=Duel.SelectMatchingCard(tp,aux.NecroValleyFilter(c19500000.eqfilter),tp,LOCATION_GRAVE,0,1,1,nil,tp)
-- local tc=g:GetFirst()
-- if tc then
-- if not Duel.Equip(tp,tc,c) then return end
-- local e1=Effect.CreateEffect(c)
-- e1:SetProperty(EFFECT_FLAG_COPY_INHERIT+EFFECT_FLAG_OWNER_RELATE)
-- e1:SetType(EFFECT_TYPE_SINGLE)
-- e1:SetCode(EFFECT_EQUIP_LIMIT)
-- e1:SetReset(RESET_EVENT+RESETS_STANDARD)
-- e1:SetValue(c19500000.eqlimit)
-- tc:RegisterEffect(e1)
-- end
-- end
local c=e:GetHandler() local c=e:GetHandler()
if Duel.GetLocationCount(tp,LOCATION_SZONE)<=0 then return end if Duel.GetLocationCount(tp,LOCATION_SZONE)<=0 then return end
if c:IsFacedown() or not c:IsRelateToEffect(e) then return end Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_DESTROY)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_EQUIP) local g=Duel.SelectMatchingCard(tp,c19500000.desfilter,tp,LOCATION_DECK,0,1,1,aux.ExceptThisCard(e))
local g=Duel.SelectMatchingCard(tp,aux.NecroValleyFilter(c19500000.desfilter),tp,LOCATION_GRAVE+LOCATION_DECK,0,1,1,nil) if g:GetCount()>0 and Duel.Destroy(g,REASON_EFFECT)~=0 and not c:IsFacedown() then
local tc=g:GetFirst() Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_EQUIP)
if tc then local g=Duel.SelectMatchingCard(tp,aux.NecroValleyFilter(c19500000.eqfilter),tp,LOCATION_GRAVE,0,1,1,nil,tp)
if not Duel.Equip(tp,tc,c) then return end local tc=g:GetFirst()
local e1=Effect.CreateEffect(c) if tc then
e1:SetProperty(EFFECT_FLAG_COPY_INHERIT+EFFECT_FLAG_OWNER_RELATE) if not Duel.Equip(tp,tc,c) then return end
e1:SetType(EFFECT_TYPE_SINGLE) local e1=Effect.CreateEffect(c)
e1:SetCode(EFFECT_EQUIP_LIMIT) e1:SetProperty(EFFECT_FLAG_COPY_INHERIT+EFFECT_FLAG_OWNER_RELATE)
e1:SetReset(RESET_EVENT+RESETS_STANDARD) e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetValue(c19500000.eqlimit) e1:SetCode(EFFECT_EQUIP_LIMIT)
tc:RegisterEffect(e1) e1:SetReset(RESET_EVENT+RESETS_STANDARD)
e1:SetValue(c19500000.eqlimit)
tc:RegisterEffect(e1)
end
end end
end end
function c19500000.eqlimit(e,c) function c19500000.eqlimit(e,c)
return e:GetOwner()==c return e:GetOwner()==c
end end
function c19500000.desfilter1(c) function c19500000.desfilter1(c)
return c:IsSetCard(0x3190) return c:IsSetCard(0x3990) and (c:IsFaceup() or not c:IsLocation(LOCATION_ONFIELD))
end end
function c19500000.spfilter(c,e,tp) function c19500000.spfilter(c,e,tp)
return c:IsSetCard(0x3190) and c:IsRace(RACE_MACHINE) and c:IsCanBeSpecialSummoned(e,0,tp,false,false) return c:IsSetCard(0x3990) and c:IsRace(RACE_MACHINE) and c:IsCanBeSpecialSummoned(e,0,tp,false,false)
end end
function c19500000.sptg(e,tp,eg,ep,ev,re,r,rp,chk) function c19500000.sptg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return e:GetHandler():GetEquipCount()>0 end
local ft=Duel.GetLocationCount(tp,LOCATION_MZONE) local ft=Duel.GetLocationCount(tp,LOCATION_MZONE)
if chk==0 then if chk==0 then
local res=nil local res=nil
...@@ -111,24 +89,26 @@ function c19500000.sptg(e,tp,eg,ep,ev,re,r,rp,chk) ...@@ -111,24 +89,26 @@ function c19500000.sptg(e,tp,eg,ep,ev,re,r,rp,chk)
local res2=Duel.IsExistingMatchingCard(c19500000.desfilter1,tp,LOCATION_MZONE,0,1,nil) local res2=Duel.IsExistingMatchingCard(c19500000.desfilter1,tp,LOCATION_MZONE,0,1,nil)
and Duel.IsExistingMatchingCard(c19500000.desfilter1,tp,LOCATION_ONFIELD+LOCATION_HAND,0,1,nil) and Duel.IsExistingMatchingCard(c19500000.desfilter1,tp,LOCATION_ONFIELD+LOCATION_HAND,0,1,nil)
if ft>0 then res=res1 else res=res2 end if ft>0 then res=res1 else res=res2 end
return res and Duel.IsExistingMatchingCard(c19500000.spfilter,tp,LOCATION_DECK,0,1,nil,e,tp) end return e:GetHandler():GetEquipCount()>0 and res and Duel.IsExistingMatchingCard(c19500000.spfilter,tp,LOCATION_DECK,0,1,nil,e,tp) end
Duel.SetOperationInfo(0,CATEGORY_DESTROY,nil,2,0,0) Duel.SetOperationInfo(0,CATEGORY_DESTROY,nil,2,0,0)
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,e:GetHandler(),1,0,0) Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,e:GetHandler(),1,0,0)
end end
function c19500000.spop(e,tp,eg,ep,ev,re,r,rp) function c19500000.spop(e,tp,eg,ep,ev,re,r,rp)
local ft=Duel.GetLocationCount(tp,LOCATION_MZONE) local ft=Duel.GetLocationCount(tp,LOCATION_MZONE)
local cg=Duel.GetMatchingGroup(c19500000.desfilter1,tp,LOCATION_HAND+LOCATION_ONFIELD,0,nil,e,tp)
if #cg<2 then return end
local g=nil local g=nil
if ft>0 then if ft>0 then
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_DESTROY) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_DESTROY)
g=Duel.SelectMatchingCard(tp,c19500000.desfilter1,tp,LOCATION_HAND+LOCATION_ONFIELD,0,2,2,nil) g=cg:Select(tp,2,2,nil)
else else
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_DESTROY) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_DESTROY)
g=Duel.SelectMatchingCard(tp,c19500000.desfilter1,tp,LOCATION_MZONE,0,1,1,nil) g=Duel.SelectMatchingCard(tp,c19500000.desfilter1,tp,LOCATION_MZONE,0,1,1,nil)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_DESTROY) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_DESTROY)
local g1=Duel.SelectMatchingCard(tp,c19500000.desfilter1,tp,LOCATION_HAND+LOCATION_ONFIELD,0,1,1,nil) local g1=cg:Select(tp,1,1,nil)
g:Merge(g1) g:Merge(g1)
end end
if g:GetCount()>0 and Duel.Destroy(g,REASON_EFFECT)~=0 then if g:GetCount()>1 and Duel.Destroy(g,REASON_EFFECT)~=0 then
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_ATOHAND) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_ATOHAND)
local g1=Duel.SelectMatchingCard(tp,c19500000.spfilter,tp,LOCATION_DECK,0,1,1,nil,e,tp) local g1=Duel.SelectMatchingCard(tp,c19500000.spfilter,tp,LOCATION_DECK,0,1,1,nil,e,tp)
if g1:GetCount()>0 then if g1:GetCount()>0 then
......
...@@ -10,7 +10,6 @@ function c19500004.initial_effect(c) ...@@ -10,7 +10,6 @@ function c19500004.initial_effect(c)
e2:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS) e2:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
e2:SetCode(EVENT_SUMMON_SUCCESS) e2:SetCode(EVENT_SUMMON_SUCCESS)
e2:SetRange(LOCATION_FZONE) e2:SetRange(LOCATION_FZONE)
e2:SetCountLimit(3,19500004)
e2:SetOperation(c19500004.ctop) e2:SetOperation(c19500004.ctop)
c:RegisterEffect(e2) c:RegisterEffect(e2)
local e3=e2:Clone() local e3=e2:Clone()
...@@ -33,6 +32,7 @@ function c19500004.initial_effect(c) ...@@ -33,6 +32,7 @@ function c19500004.initial_effect(c)
e5:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_O) e5:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_O)
e5:SetCode(EVENT_DESTROYED) e5:SetCode(EVENT_DESTROYED)
e5:SetProperty(EFFECT_FLAG_DELAY) e5:SetProperty(EFFECT_FLAG_DELAY)
e5:SetCountLimit(1,19500004)
e5:SetTarget(c19500004.thtg) e5:SetTarget(c19500004.thtg)
e5:SetOperation(c19500004.thop) e5:SetOperation(c19500004.thop)
c:RegisterEffect(e5) c:RegisterEffect(e5)
...@@ -46,13 +46,21 @@ function c19500004.initial_effect(c) ...@@ -46,13 +46,21 @@ function c19500004.initial_effect(c)
Duel.RegisterEffect(ge2,0) Duel.RegisterEffect(ge2,0)
end end
end end
function c19500004.clear(e,tp,eg,ep,ev,re,r,rp)
c19500004[0]=0
end
function c19500004.ctfilter(c) function c19500004.ctfilter(c)
return c:IsFaceup() and c:IsCanAddCounter(0x1990,1) return c:IsFaceup() and c:IsCanAddCounter(0x1990,1)
end end
function c19500004.ctop(e,tp,eg,ep,ev,re,r,rp) function c19500004.ctop(e,tp,eg,ep,ev,re,r,rp)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_COUNTER) if c19500004[0]>2 then return end
local g=Duel.SelectMatchingCard(tp,c19500003.ctfilter,tp,LOCATION_ONFIELD,LOCATION_ONFIELD,1,1,nil) local g=Duel.GetMatchingGroup(c19500004.ctfilter,tp,LOCATION_ONFIELD,LOCATION_ONFIELD,nil)
g:GetFirst():AddCounter(0x1990,1) if #g>0 and c19500004[0]<3 then
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_COUNTER)
local sg=g:Select(tp,1,1,nil)
sg:GetFirst():AddCounter(0x1990,1)
c19500004[0]=c19500004[0]+1
end
end end
function c19500004.atkcon(e,tp,eg,ep,ev,re,r,rp) function c19500004.atkcon(e,tp,eg,ep,ev,re,r,rp)
local tc=Duel.GetAttacker() local tc=Duel.GetAttacker()
...@@ -85,10 +93,9 @@ function c19500004.atkop(e,tp,eg,ep,ev,re,r,rp) ...@@ -85,10 +93,9 @@ function c19500004.atkop(e,tp,eg,ep,ev,re,r,rp)
end end
end end
function c19500004.thtg(e,tp,eg,ep,ev,re,r,rp,chk) function c19500004.thtg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.GetFlagEffect(tp,19500005)==0 and Duel.IsExistingMatchingCard(Card.IsAbleToHand,tp,LOCATION_ONFIELD,LOCATION_ONFIELD,1,nil) end if chk==0 then return Duel.IsExistingMatchingCard(Card.IsAbleToHand,tp,LOCATION_ONFIELD,LOCATION_ONFIELD,1,nil) end
local g=Duel.GetMatchingGroup(Card.IsAbleToHand,tp,LOCATION_ONFIELD,LOCATION_ONFIELD,nil) local g=Duel.GetMatchingGroup(Card.IsAbleToHand,tp,LOCATION_ONFIELD,LOCATION_ONFIELD,nil)
Duel.SetOperationInfo(0,CATEGORY_TOHAND,g,1,0,0) Duel.SetOperationInfo(0,CATEGORY_TOHAND,g,1,0,0)
Duel.RegisterFlagEffect(tp,19500005,RESET_PHASE+PHASE_END,EFFECT_FLAG_OATH,1)
end end
function c19500004.thop(e,tp,eg,ep,ev,re,r,rp) function c19500004.thop(e,tp,eg,ep,ev,re,r,rp)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TODECK) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TODECK)
......
...@@ -18,12 +18,16 @@ function c19500014.initial_effect(c) ...@@ -18,12 +18,16 @@ function c19500014.initial_effect(c)
e2:SetDescription(aux.Stringid(19500014,1)) e2:SetDescription(aux.Stringid(19500014,1))
e2:SetCategory(CATEGORY_TOHAND) e2:SetCategory(CATEGORY_TOHAND)
e2:SetType(EFFECT_TYPE_IGNITION) e2:SetType(EFFECT_TYPE_IGNITION)
e2:SetRange(LOCATION_GRAVE) e2:SetRange(LOCATION_MZONE)
e2:SetProperty(EFFECT_FLAG_CARD_TARGET) e2:SetProperty(EFFECT_FLAG_CARD_TARGET)
e2:SetCost(aux.bfgcost) e2:SetCost(aux.bfgcost)
e2:SetTarget(c19500014.tdtg) e2:SetTarget(c19500014.tdtg)
e2:SetOperation(c19500014.tdop) e2:SetOperation(c19500014.tdop)
c:RegisterEffect(e2) c:RegisterEffect(e2)
local e3=e2:Clone()
e3:SetRange(LOCATION_GRAVE)
e3:SetCondition(aux.exccon)
c:RegisterEffect(e3)
end end
function c19500014.descost(e,tp,eg,ep,ev,re,r,rp,chk) function c19500014.descost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return e:GetHandler():IsAbleToGraveAsCost() end if chk==0 then return e:GetHandler():IsAbleToGraveAsCost() end
......
...@@ -50,7 +50,9 @@ function c19500016.atkop(e,tp,eg,ep,ev,re,r,rp,chk) ...@@ -50,7 +50,9 @@ function c19500016.atkop(e,tp,eg,ep,ev,re,r,rp,chk)
end end
function c19500016.atkcon(e,tp,eg,ep,ev,re,r,rp) function c19500016.atkcon(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler() local c=e:GetHandler()
return c.Mobius==999 or aux.exccon(e) local res=true
if c:IsLocation(LOCATION_GRAVE) then res=aux.exccon(e) end
return c.Mobius==999 or res
end end
function c19500016.atkcost2(e,tp,eg,ep,ev,re,r,rp,chk) function c19500016.atkcost2(e,tp,eg,ep,ev,re,r,rp,chk)
local c=e:GetHandler() local c=e:GetHandler()
...@@ -58,11 +60,13 @@ function c19500016.atkcost2(e,tp,eg,ep,ev,re,r,rp,chk) ...@@ -58,11 +60,13 @@ function c19500016.atkcost2(e,tp,eg,ep,ev,re,r,rp,chk)
if c.Mobius~=999 then Duel.Remove(e:GetHandler(),POS_FACEUP,REASON_COST) else end if c.Mobius~=999 then Duel.Remove(e:GetHandler(),POS_FACEUP,REASON_COST) else end
end end
function c19500016.atktg2(e,tp,eg,ep,ev,re,r,rp,chk,chkc) function c19500016.atktg2(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
if chkc then return chkc:IsLocation(LOCATION_MZONE) and chkc:IsControler(tp) and chkc:IsFaceup() and c19500016.atkfilter(chkc) end local c=e:GetHandler()
if chk==0 then return Duel.GetFlagEffect(tp,19500016)==0 and Duel.IsExistingTarget(c19500016.atkfilter,tp,LOCATION_MZONE,0,1,nil) end if chkc then return chkc:IsLocation(LOCATION_MZONE) and chkc:IsControler(tp) and c19500016.atkfilter(chkc) end
local sbkr=c
if c.Mobius==999 then sbkr=nil end
if chk==0 then return Duel.IsExistingTarget(c19500016.atkfilter,tp,LOCATION_MZONE,0,1,sbkr) end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_FACEUP) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_FACEUP)
Duel.SelectTarget(tp,c19500016.atkfilter,tp,LOCATION_MZONE,0,1,1,nil) Duel.SelectTarget(tp,c19500016.atkfilter,tp,LOCATION_MZONE,0,1,1,sbkr)
Duel.RegisterFlagEffect(tp,19500016,RESET_PHASE+PHASE_END,EFFECT_FLAG_OATH,1)
end end
function c19500016.atkop2(e,tp,eg,ep,ev,re,r,rp) function c19500016.atkop2(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler() local c=e:GetHandler()
......
...@@ -45,7 +45,7 @@ function c19500019.tfilter(c,tp) ...@@ -45,7 +45,7 @@ function c19500019.tfilter(c,tp)
return c:IsControler(tp) and c:IsSetCard(0x3990,0x3991) and c:IsOnField() return c:IsControler(tp) and c:IsSetCard(0x3990,0x3991) and c:IsOnField()
end end
function c19500019.discon(e,tp,eg,ep,ev,re,r,rp) function c19500019.discon(e,tp,eg,ep,ev,re,r,rp)
if e:GetHandler():IsStatus(STATUS_BATTLE_DESTROYED) or not Duel.IsChainNegatable(ev) then return false end if not Duel.IsChainNegatable(ev) then return false end
if re:IsHasCategory(CATEGORY_NEGATE) if re:IsHasCategory(CATEGORY_NEGATE)
and Duel.GetChainInfo(ev-1,CHAININFO_TRIGGERING_EFFECT):IsHasType(EFFECT_TYPE_ACTIVATE) then return false end and Duel.GetChainInfo(ev-1,CHAININFO_TRIGGERING_EFFECT):IsHasType(EFFECT_TYPE_ACTIVATE) then return false end
local ex1,tg,tc=Duel.GetOperationInfo(ev,CATEGORY_DESTROY) local ex1,tg,tc=Duel.GetOperationInfo(ev,CATEGORY_DESTROY)
......
...@@ -91,7 +91,7 @@ function c19500043.eqlimit(e,c) ...@@ -91,7 +91,7 @@ function c19500043.eqlimit(e,c)
return e:GetOwner()==c return e:GetOwner()==c
end end
function c19500043.thtg(e,tp,eg,ep,ev,re,r,rp,chk) function c19500043.thtg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.GetFieldGroupCount(tp,LOCATION_DECK,0)>=3 end if chk==0 then return e:GetHandler():GetEquipCount()>0 and Duel.GetFieldGroupCount(tp,LOCATION_DECK,0)>=3 end
Duel.SetOperationInfo(0,CATEGORY_TOHAND,nil,1,0,LOCATION_DECK) Duel.SetOperationInfo(0,CATEGORY_TOHAND,nil,1,0,LOCATION_DECK)
end end
function c19500043.thop(e,tp,eg,ep,ev,re,r,rp) function c19500043.thop(e,tp,eg,ep,ev,re,r,rp)
...@@ -162,6 +162,8 @@ function c19500043.thop(e,tp,eg,ep,ev,re,r,rp) ...@@ -162,6 +162,8 @@ function c19500043.thop(e,tp,eg,ep,ev,re,r,rp)
dam=atk1-atk2 dam=atk1-atk2
desg=c desg=c
p=tp p=tp
elseif atk1==atk2 then
desg=Group.FromCards(tc,c)
end end
Duel.Destroy(desg,REASON_BATTLE) Duel.Destroy(desg,REASON_BATTLE)
Duel.Damage(p,dam,REASON_BATTLE) Duel.Damage(p,dam,REASON_BATTLE)
...@@ -172,14 +174,14 @@ function c19500043.thop(e,tp,eg,ep,ev,re,r,rp) ...@@ -172,14 +174,14 @@ function c19500043.thop(e,tp,eg,ep,ev,re,r,rp)
end end
end end
function c19500043.tdtg(e,tp,eg,ep,ev,re,r,rp,chk) function c19500043.tdtg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return c19500043[0]==0 and Duel.IsExistingMatchingCard(Card.IsAbleToDeck,tp,LOCATION_ONFIELD,LOCATION_ONFIELD,1,nil) end if chk==0 then return c19500043[0]==0 and Duel.IsExistingMatchingCard(Card.IsAbleToDeck,tp,LOCATION_GRAVE,LOCATION_GRAVE,1,nil) end
local g=Duel.GetMatchingGroup(Card.IsAbleToDeck,tp,LOCATION_ONFIELD,LOCATION_ONFIELD,nil) local g=Duel.GetMatchingGroup(Card.IsAbleToDeck,tp,LOCATION_GRAVE,LOCATION_GRAVE,nil)
Duel.SetOperationInfo(0,CATEGORY_TODECK,g,1,0,0) Duel.SetOperationInfo(0,CATEGORY_TODECK,g,1,0,0)
c19500043[0]=c19500043[0]+1 c19500043[0]=c19500043[0]+1
end end
function c19500043.tdop(e,tp,eg,ep,ev,re,r,rp) function c19500043.tdop(e,tp,eg,ep,ev,re,r,rp)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TODECK) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TODECK)
local g=Duel.SelectMatchingCard(tp,aux.NecroValleyFilter(Card.IsAbleToDeck),tp,LOCATION_ONFIELD,LOCATION_ONFIELD,2,2,nil) local g=Duel.SelectMatchingCard(tp,aux.NecroValleyFilter(Card.IsAbleToDeck),tp,LOCATION_GRAVE,LOCATION_GRAVE,2,2,nil)
if g:GetCount()>0 then if g:GetCount()>0 then
Duel.HintSelection(g) Duel.HintSelection(g)
if Duel.SendtoDeck(g,nil,2,REASON_EFFECT)~=0 then if Duel.SendtoDeck(g,nil,2,REASON_EFFECT)~=0 then
......
...@@ -26,6 +26,7 @@ function cm.initial_effect(c) ...@@ -26,6 +26,7 @@ function cm.initial_effect(c)
e1:SetType(EFFECT_TYPE_FIELD) e1:SetType(EFFECT_TYPE_FIELD)
e1:SetCode(EFFECT_TRAP_ACT_IN_SET_TURN) e1:SetCode(EFFECT_TRAP_ACT_IN_SET_TURN)
e1:SetRange(LOCATION_MZONE) e1:SetRange(LOCATION_MZONE)
e1:SetProperty(EFFECT_FLAG_SET_AVAILABLE)
e1:SetTarget(aux.TargetBoolFunction(cm.filter)) e1:SetTarget(aux.TargetBoolFunction(cm.filter))
e1:SetTargetRange(LOCATION_SZONE,0) e1:SetTargetRange(LOCATION_SZONE,0)
c:RegisterEffect(e1) c:RegisterEffect(e1)
......
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