Commit 3e382ffd authored by Huangnan's avatar Huangnan

fix+update

parent 8e61af05
Pipeline #38381 passed with stages
in 45 minutes and 44 seconds
No preview for this file type
...@@ -4,7 +4,7 @@ PackName = ygopro-FiNALE-DIY ...@@ -4,7 +4,7 @@ PackName = ygopro-FiNALE-DIY
PackAuthor = Nanahira PackAuthor = Nanahira
PackHomePage = https://srv.koishi.pro/pre.html PackHomePage = https://srv.koishi.pro/pre.html
[YGOMobileAddServer] [YGOMobileAddServer]
ServerName = FiNALE ServerName = FiNALE-DIY服
ServerDesc = FiNALE DIY 服务器,群号 642043095 ServerDesc = FiNALE DIY 服务器,群号 642043095
ServerHost = finale.momobako.com ServerHost = finale.momobako.com
ServerPort = 222 ServerPort = 222
#[2025.5.DIY] #[2025.7.DIY]
!2025.5.DIY !2025.7.DIY
#001 #001
00110015 0 --Fate/Grand Order·Lancer·埃列什基伽勒 00110015 0 --Fate/Grand Order·Lancer·埃列什基伽勒
...@@ -455,6 +455,7 @@ ...@@ -455,6 +455,7 @@
12801810 0 --撒野 绚丽 12801810 0 --撒野 绚丽
12801815 0 --撒野 偏执 12801815 0 --撒野 偏执
12801820 0 --撒野 蚀爱 12801820 0 --撒野 蚀爱
12801830 0 --撒野 狂恋
#130 #130
13000747 0 --人生如逆旅 13000747 0 --人生如逆旅
13090004 0 --白驹过隙 13090004 0 --白驹过隙
...@@ -705,46 +706,21 @@ ...@@ -705,46 +706,21 @@
16311005 0 --NSp 桐镜 16311005 0 --NSp 桐镜
16311015 1 --NSp 甲虫兽 16311015 1 --NSp 甲虫兽
#164 #164
16400039 0 --独裁者的计谋 # 鲁鲁修系列
16400041 1 --Geass-精神控制 16400130 2 --意志的交汇-鲁鲁修
16400054 1 --Geass-情报掌握 16400060 1 --暴虐之皇帝-鲁鲁修
16400056 1 --Geass-身份的更替 16400200 1 --Geass-身份的更替
16400057 0 --Geass-忆之所想 16400220 1 --Geass-零之镇魂曲
16400058 0 --Geass-棋逢对手 # 杂系列
16400059 2 --鲁路修·Vi·不列颠尼亚
16400060 1 --Geass-信念的坚定
16400071 1 --Geass-无法反抗的力量
16400072 1 --Geass-误解的痛苦
16400073 0 --Geass-对立的友人
16400074 0 --时间线的重叠 16400074 0 --时间线的重叠
16400075 1 --群之零回-优吉欧
16400076 0 --群之零回-时崎 16400076 0 --群之零回-时崎
16400077 2 --落日的希望-ZERO # 救世之旅
16400078 1 --无畏的兰斯洛特-枢木朱雀
16400079 1 --反抗的炮火-ZERO
16400080 1 --暴虐之皇帝-鲁鲁修
16400081 2 --零之镇魂曲
16400082 0 --对我憎恨吧,然后活下去
16400088 1 --预算之中-鲁鲁修
16400089 1 --Geass-死亡的托付
16400092 1 --Geass-一触即发的战斗
16400093 1--孤高的王之力
16400094 1 --意志的交汇-鲁鲁修
16400096 2 --埋葬的意志-鲁路修
16400097 1 --短暂的时间-罗洛·兰佩路基
16400098 2 --向导兵器-兰斯洛特
16400099 2 --Geass-身份的更替
16400102 1 --Geass-身份的传承
16400112 2 --救世之旅-只为活下去的救世主
16400126 1 --Geass-腐朽的肉体
16400127 1 --Geass-追随者的出现
16400128 1 --Geass-武装支援
16400130 1 --Knightmare-红莲
16400131 1 --Knightmare-兰斯洛特
16400370 1 --光之战士 布鲁 跃水
# 光之战士系列 # 光之战士系列
16400400 1 --光之战士 赛迦
16400272 1 --光之战士 杰克 16400272 1 --光之战士 杰克
16400291 1 --光之战士 赛文 16400291 1 --光之战士 赛文
16400405 1 --光之战士 雷杰多
16400500 1 --光之战士 诺亚
16400374 1 --光之战士 泽塔 原始 16400374 1 --光之战士 泽塔 原始
16400289 1 --光之战士 阿斯特拉 16400289 1 --光之战士 阿斯特拉
16400286 1 --光之战士 奥特曼 16400286 1 --光之战士 奥特曼
...@@ -752,6 +728,7 @@ ...@@ -752,6 +728,7 @@
16400337 1 --光之战士 捷德 刚燃 16400337 1 --光之战士 捷德 刚燃
16400316 1 --光之战士 欧布 三重 16400316 1 --光之战士 欧布 三重
16400390 1 --光之战士 罗布 16400390 1 --光之战士 罗布
16400370 1 --光之战士 布鲁 跃水
16400295 1 --等离子火花塔 16400295 1 --等离子火花塔
16400296 1 --宇宙警备队 本部 16400296 1 --宇宙警备队 本部
16400329 1 --奥特宇宙港 16400329 1 --奥特宇宙港
...@@ -762,6 +739,9 @@ ...@@ -762,6 +739,9 @@
16400278 2 --光之战士 维克特利 16400278 2 --光之战士 维克特利
16400322 2 --光之战士 奈克赛斯 16400322 2 --光之战士 奈克赛斯
16400297 2 --光之战士 出动 16400297 2 --光之战士 出动
# 从零开始系列
16401140 1 --雷古勒斯·柯尔尼亚斯
16401410 1 --由里乌斯·尤克历乌斯
#170 #170
17020410 0 --失落的火焰 17020410 0 --失落的火焰
17030610 1 --火神龙 17030610 1 --火神龙
...@@ -911,6 +891,7 @@ ...@@ -911,6 +891,7 @@
18031014 0 --决斗公主 多萝西亚 18031014 0 --决斗公主 多萝西亚
18031111 0 --大怪兽绝唱 三式机龙 18031111 0 --大怪兽绝唱 三式机龙
18029611 1 --IMPERIAL EDGE 18029611 1 --IMPERIAL EDGE
18017906 0 --P.A.=SAN
#185 #185
18500001 1 --炸弹猫 18500001 1 --炸弹猫
18586008 1 --绫濑亚梦·潮汐 18586008 1 --绫濑亚梦·潮汐
...@@ -2929,12 +2910,12 @@ ...@@ -2929,12 +2910,12 @@
62320425 0 --古衛兵アギド 62320425 0 --古衛兵アギド
25926710 0 --古尖兵ケルベク 25926710 0 --古尖兵ケルベク
03040496 0 --混沌魔龍 カオス・ルーラー 03040496 0 --混沌魔龍 カオス・ルーラー
02563463 0 --流離のグリフォンライダー
88071625 0 --The tyrant NEPTUNE 88071625 0 --The tyrant NEPTUNE
52653092 0 --SNo.0 ホープ・ゼアル 52653092 0 --SNo.0 ホープ・ゼアル
85115440 0 --十二獣ブルホーン 85115440 0 --十二獣ブルホーン
59537380 0 --守護竜アガーペイン 59537380 0 --守護竜アガーペイン
86148577 0 --守護竜エルピィ 86148577 0 --守護竜エルピィ
04280258 0 --召命の神弓-アポロウーサ
21044178 0 --深淵に潜む者 21044178 0 --深淵に潜む者
88581108 0 --真竜皇V.F.D. 88581108 0 --真竜皇V.F.D.
27381364 0 --スプライト・エルフ 27381364 0 --スプライト・エルフ
...@@ -2946,9 +2927,9 @@ ...@@ -2946,9 +2927,9 @@
79875176 0 --トゥーン・キャノン・ソルジャー 79875176 0 --トゥーン・キャノン・ソルジャー
75732622 0 --トーチ・ゴーレム 75732622 0 --トーチ・ゴーレム
22593417 0 --トポロジック・ガンブラー・ドラゴン 22593417 0 --トポロジック・ガンブラー・ドラゴン
39064822 0 --トロイメア・ゴブリン
03679218 0 --トロイメア・マーメイド 03679218 0 --トロイメア・マーメイド
54719828 0 --No.16 色の支配者ショック・ルーラー 54719828 0 --No.16 色の支配者ショック・ルーラー
35772782 0 --No.67 パラダイスマッシャー
63504681 0 --No.86 HC ロンゴミアント 63504681 0 --No.86 HC ロンゴミアント
58820923 0 --No.95 ギャラクシーアイズ・ダークマター・ドラゴン 58820923 0 --No.95 ギャラクシーアイズ・ダークマター・ドラゴン
78706415 0 --ファイバーポッド 78706415 0 --ファイバーポッド
...@@ -3007,15 +2988,14 @@ ...@@ -3007,15 +2988,14 @@
99937011 1 --剣神官ムドラ 99937011 1 --剣神官ムドラ
38814750 1 --PSYフレームギア・γ 38814750 1 --PSYフレームギア・γ
74586817 1 --PSYフレームロード・Ω 74586817 1 --PSYフレームロード・Ω
02563463 1 --流離のグリフォンライダー
32731036 1 --深淵の獣ルベリオン 32731036 1 --深淵の獣ルベリオン
36521307 1 --斬機サーキュラー 36521307 1 --斬機サーキュラー
48905153 1 --十二獣ドランシア
78872731 1 --十二獣モルモラット 78872731 1 --十二獣モルモラット
06602300 1 --重爆撃禽 ボム・フェネクス 06602300 1 --重爆撃禽 ボム・フェネクス
63542003 1 --宿神像ケルドウ 63542003 1 --宿神像ケルドウ
09674034 1 --スネークアイ・エクセル 09674034 1 --スネークアイ・エクセル
90241276 1 --蛇眼の炎燐 90241276 1 --蛇眼の炎燐
13533678 1 --スプライト・ジェット
76145933 1 --スプライト・ブルー 76145933 1 --スプライト・ブルー
35844557 1 --ソード・ライゼオル 35844557 1 --ソード・ライゼオル
90361010 1 --超重武者装留イワトオシ 90361010 1 --超重武者装留イワトオシ
...@@ -3028,6 +3008,7 @@ ...@@ -3028,6 +3008,7 @@
91800273 1 --ディメンション・アトラクター 91800273 1 --ディメンション・アトラクター
90953320 1 --TG ハイパー・ライブラリアン 90953320 1 --TG ハイパー・ライブラリアン
91810826 1 --天盃龍チュンドラ 91810826 1 --天盃龍チュンドラ
39064822 1 --トロイメア・ゴブリン
75433814 1 --No.40 ギミック・パペット-ヘブンズ・ストリングス 75433814 1 --No.40 ギミック・パペット-ヘブンズ・ストリングス
17266660 1 --朱光の宣告者 17266660 1 --朱光の宣告者
06637331 1 --深淵の獣ドルイドヴルム 06637331 1 --深淵の獣ドルイドヴルム
...@@ -3067,7 +3048,6 @@ ...@@ -3067,7 +3048,6 @@
75500286 1 --封印の黄金櫃 75500286 1 --封印の黄金櫃
07394770 1 --ブリリアント・フュージョン 07394770 1 --ブリリアント・フュージョン
73468603 1 --盆回し 73468603 1 --盆回し
93600443 1 --マスク・チェンジ・セカンド
65681983 1 --抹殺の指名者 65681983 1 --抹殺の指名者
71832012 1 --六世壊=パライゾス 71832012 1 --六世壊=パライゾス
01475311 1 --闇の誘惑 01475311 1 --闇の誘惑
...@@ -3080,19 +3060,16 @@ ...@@ -3080,19 +3060,16 @@
82732705 1 --スキルドレイン 82732705 1 --スキルドレイン
24207889 1 --センサー万別 24207889 1 --センサー万別
21076084 1 --トリックスター・リンカーネイション 21076084 1 --トリックスター・リンカーネイション
58921041 1 --魔封じの芳香
23002292 1 --レッド・リブート 23002292 1 --レッド・リブート
#semi limit #semi limit
34124316 2 --サイバーポッド 13533678 2 --スプライト・ジェット
81275020 2 --SRベイゴマックス
23434538 2 --増殖するG 23434538 2 --増殖するG
65734501 2 --RACEエアホイスター
35726888 2 --おろかな副葬 35726888 2 --おろかな副葬
67723438 2 --緊急テレポート 67723438 2 --緊急テレポート
49238328 2 --強欲で金満な壺 49238328 2 --強欲で金満な壺
35261759 2 --強欲で貪欲な壺 35261759 2 --強欲で貪欲な壺
48130397 2 --超融合 48130397 2 --超融合
93729896 2 --ナイトメア・スローン
24224830 2 --墓穴の指名者 24224830 2 --墓穴の指名者
93600443 2 --マスク・チェンジ・セカンド
21347668 2 --ピュアリィ・スリーピィメモリー 21347668 2 --ピュアリィ・スリーピィメモリー
52947044 2 --フュージョン・デステニー
92714517 2 --ビッグウェルカム・ラビュリンス
--心阴我 忿火 --心阴我 忿火
local s,id,o=GetID() local s,id,o=GetID()
function s.initial_effect(c) function s.initial_effect(c)
aux.AddCodeList(c,18018001)
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(id,0)) e1:SetDescription(aux.Stringid(id,0))
e1:SetCategory(CATEGORY_SPECIAL_SUMMON+CATEGORY_TOHAND+CATEGORY_SEARCH) e1:SetCategory(CATEGORY_SPECIAL_SUMMON+CATEGORY_TOHAND+CATEGORY_SEARCH)
......
--心阴我 懑火 --心阴我 懑火
local s,id,o=GetID() local s,id,o=GetID()
function s.initial_effect(c) function s.initial_effect(c)
aux.AddCodeList(c,18018001)
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(id,0)) e1:SetDescription(aux.Stringid(id,0))
e1:SetCategory(CATEGORY_SPECIAL_SUMMON+CATEGORY_GRAVE_SPSUMMON) e1:SetCategory(CATEGORY_SPECIAL_SUMMON+CATEGORY_GRAVE_SPSUMMON)
......
--心阴我 怒火 --心阴我 怒火
local s,id,o=GetID() local s,id,o=GetID()
function s.initial_effect(c) function s.initial_effect(c)
aux.AddCodeList(c,18018001)
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(id,0)) e1:SetDescription(aux.Stringid(id,0))
e1:SetCategory(CATEGORY_SPECIAL_SUMMON+CATEGORY_TOHAND+CATEGORY_SEARCH) e1:SetCategory(CATEGORY_SPECIAL_SUMMON+CATEGORY_TOHAND+CATEGORY_SEARCH)
......
--心阴我 悲火 --心阴我 悲火
local s,id,o=GetID() local s,id,o=GetID()
function s.initial_effect(c) function s.initial_effect(c)
aux.AddCodeList(c,18018001)
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(id,0)) e1:SetDescription(aux.Stringid(id,0))
e1:SetCategory(CATEGORY_SPECIAL_SUMMON+CATEGORY_TOHAND+CATEGORY_GRAVE_ACTION) e1:SetCategory(CATEGORY_SPECIAL_SUMMON+CATEGORY_TOHAND+CATEGORY_GRAVE_ACTION)
......
--心阴我 怨火 --心阴我 怨火
local s,id,o=GetID() local s,id,o=GetID()
function s.initial_effect(c) function s.initial_effect(c)
aux.AddCodeList(c,18018001)
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(id,0)) e1:SetDescription(aux.Stringid(id,0))
e1:SetCategory(CATEGORY_SPECIAL_SUMMON+CATEGORY_TOHAND+CATEGORY_SEARCH) e1:SetCategory(CATEGORY_SPECIAL_SUMMON+CATEGORY_TOHAND+CATEGORY_SEARCH)
......
--心阴我 忌火 --心阴我 忌火
local s,id,o=GetID() local s,id,o=GetID()
function s.initial_effect(c) function s.initial_effect(c)
aux.AddCodeList(c,18018001)
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(id,0)) e1:SetDescription(aux.Stringid(id,0))
e1:SetCategory(CATEGORY_SPECIAL_SUMMON+CATEGORY_TOHAND+CATEGORY_SEARCH) e1:SetCategory(CATEGORY_SPECIAL_SUMMON+CATEGORY_TOHAND+CATEGORY_SEARCH)
......
--心阴我 惑火 --心阴我 惑火
local s,id,o=GetID() local s,id,o=GetID()
function s.initial_effect(c) function s.initial_effect(c)
aux.AddCodeList(c,18018001)
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(id,0)) e1:SetDescription(aux.Stringid(id,0))
e1:SetCategory(CATEGORY_SPECIAL_SUMMON+CATEGORY_TOHAND+CATEGORY_SEARCH) e1:SetCategory(CATEGORY_SPECIAL_SUMMON+CATEGORY_TOHAND+CATEGORY_SEARCH)
...@@ -25,18 +26,16 @@ end ...@@ -25,18 +26,16 @@ end
function s.thcost(e,tp,eg,ep,ev,re,r,rp,chk) function s.thcost(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 s.efilter(c,tp) function s.efilter(c)
return c:IsSetCard(0x56e6) and c:IsType(TYPE_XYZ) return c:IsSetCard(0x56e6) and c:IsType(TYPE_XYZ)
and Duel.IsExistingMatchingCard(s.thfilter,tp,LOCATION_DECK,0,1,nil,c)
end end
function s.thfilter(c,ec) function s.thfilter(c)
return c:IsSetCard(0x56e6) and c:IsType(TYPE_MONSTER) return c:IsSetCard(0x56e6) and c:IsType(TYPE_MONSTER) and aux.IsCodeListed(c,18018001)
and aux.IsCodeListed(ec,c:GetCode())
end end
function s.thtg(e,tp,eg,ep,ev,re,r,rp,chk) function s.thtg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(s.efilter,tp,LOCATION_EXTRA,0,3,nil,tp) end if chk==0 then return Duel.IsExistingMatchingCard(s.efilter,tp,LOCATION_EXTRA,0,3,nil,tp) end
end end
function s.spfilter(c,e,tp) function s.spfilter(c,e)
return c:IsSetCard(0x56e6) and c:IsCanBeSpecialSummoned(e,0,tp,false,false) return c:IsSetCard(0x56e6) and c:IsCanBeSpecialSummoned(e,0,tp,false,false)
end end
function s.thop(e,tp,eg,ep,ev,re,r,rp) function s.thop(e,tp,eg,ep,ev,re,r,rp)
......
--心阴果 忿火 --心阴果 忿火
local s,id,o=GetID() local s,id,o=GetID()
function s.initial_effect(c) function s.initial_effect(c)
aux.AddCodeList(c,id-7) aux.AddCodeList(c,18018001)
aux.AddXyzProcedure(c,nil,4,2,s.ovfilter,aux.Stringid(id,0),2,s.xyzop) aux.AddXyzProcedure(c,nil,4,2,s.ovfilter,aux.Stringid(id,0),2,s.xyzop)
c:EnableReviveLimit() c:EnableReviveLimit()
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
......
--心阴果 懑火 --心阴果 懑火
local s,id,o=GetID() local s,id,o=GetID()
function s.initial_effect(c) function s.initial_effect(c)
aux.AddCodeList(c,id-7) aux.AddCodeList(c,18018001)
aux.AddXyzProcedure(c,nil,4,2,s.ovfilter,aux.Stringid(id,0),2,s.xyzop) aux.AddXyzProcedure(c,nil,4,2,s.ovfilter,aux.Stringid(id,0),2,s.xyzop)
c:EnableReviveLimit() c:EnableReviveLimit()
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
...@@ -11,7 +11,7 @@ function s.initial_effect(c) ...@@ -11,7 +11,7 @@ function s.initial_effect(c)
e1:SetProperty(EFFECT_FLAG_CARD_TARGET) e1:SetProperty(EFFECT_FLAG_CARD_TARGET)
e1:SetRange(LOCATION_MZONE) e1:SetRange(LOCATION_MZONE)
e1:SetCountLimit(1,id) e1:SetCountLimit(1,id)
e1:SetCondition(s.con1) --e1:SetCondition(s.con1)
e1:SetTarget(s.rmtg) e1:SetTarget(s.rmtg)
e1:SetOperation(s.rmop) e1:SetOperation(s.rmop)
c:RegisterEffect(e1) c:RegisterEffect(e1)
...@@ -48,7 +48,7 @@ function s.con1(e,tp,eg,ep,ev,re,r,rp) ...@@ -48,7 +48,7 @@ function s.con1(e,tp,eg,ep,ev,re,r,rp)
return not e:GetHandler():GetOverlayGroup():IsExists(Card.IsCode,1,nil,id-7) return not e:GetHandler():GetOverlayGroup():IsExists(Card.IsCode,1,nil,id-7)
end end
function s.con2(e,tp,eg,ep,ev,re,r,rp) function s.con2(e,tp,eg,ep,ev,re,r,rp)
return e:GetHandler():GetOverlayGroup():IsExists(Card.IsCode,1,nil,id-7) return e:GetHandler():GetOverlayGroup():IsExists(Card.IsCode,1,nil,18018006)
end end
function s.rmtg(e,tp,eg,ep,ev,re,r,rp,chk,chkc) function s.rmtg(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
if chkc then return chkc:IsAbleToRemove() end if chkc then return chkc:IsAbleToRemove() end
......
--心阴果 怒火 --心阴果 怒火
local s,id,o=GetID() local s,id,o=GetID()
function s.initial_effect(c) function s.initial_effect(c)
aux.AddCodeList(c,id-7) aux.AddCodeList(c,18018001)
aux.AddXyzProcedure(c,nil,4,2,s.ovfilter,aux.Stringid(id,0),2,s.xyzop) aux.AddXyzProcedure(c,nil,4,2,s.ovfilter,aux.Stringid(id,0),2,s.xyzop)
c:EnableReviveLimit() c:EnableReviveLimit()
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
...@@ -63,7 +63,7 @@ function s.thop(e,tp,eg,ep,ev,re,r,rp) ...@@ -63,7 +63,7 @@ function s.thop(e,tp,eg,ep,ev,re,r,rp)
local tg=Duel.GetChainInfo(0,CHAININFO_TARGET_CARDS) local tg=Duel.GetChainInfo(0,CHAININFO_TARGET_CARDS)
local rg=tg:Filter(Card.IsRelateToEffect,nil,e) local rg=tg:Filter(Card.IsRelateToEffect,nil,e)
if rg:GetCount()>0 then if rg:GetCount()>0 then
Duel.SendtoHand(rg,nil,REASON_EFFECT) Duel.Destroy(rg,nil,REASON_EFFECT)
end end
end end
function s.thcost2(e,tp,eg,ep,ev,re,r,rp,chk) function s.thcost2(e,tp,eg,ep,ev,re,r,rp,chk)
......
--心阴果 悲火 --心阴果 悲火
local s,id,o=GetID() local s,id,o=GetID()
function s.initial_effect(c) function s.initial_effect(c)
aux.AddCodeList(c,id-7) aux.AddCodeList(c,18018001)
aux.AddXyzProcedure(c,nil,4,2,s.ovfilter,aux.Stringid(id,0),2,s.xyzop) aux.AddXyzProcedure(c,nil,4,2,s.ovfilter,aux.Stringid(id,0),2,s.xyzop)
c:EnableReviveLimit() c:EnableReviveLimit()
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
......
--心阴果 悲火 --心阴果 悲火
local s,id,o=GetID() local s,id,o=GetID()
function s.initial_effect(c) function s.initial_effect(c)
aux.AddCodeList(c,id-7) aux.AddCodeList(c,18018001)
aux.AddXyzProcedure(c,nil,4,2,s.ovfilter,aux.Stringid(id,0),2,s.xyzop) aux.AddXyzProcedure(c,nil,4,2,s.ovfilter,aux.Stringid(id,0),2,s.xyzop)
c:EnableReviveLimit() c:EnableReviveLimit()
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
...@@ -39,7 +39,7 @@ function s.initial_effect(c) ...@@ -39,7 +39,7 @@ function s.initial_effect(c)
end end
function s.ovfilter(c) function s.ovfilter(c)
local g=c:GetOverlayGroup() local g=c:GetOverlayGroup()
return c:IsFaceup() and g:IsExists(Card.IsCode,1,nil,id-7) and c:IsType(TYPE_XYZ) return c:IsFaceup() and g:IsExists(Card.IsCode,1,nil,18018005) and c:IsType(TYPE_XYZ)
end end
function s.xyzop(e,tp,chk) function s.xyzop(e,tp,chk)
if chk==0 then return Duel.GetFlagEffect(tp,id)==0 end if chk==0 then return Duel.GetFlagEffect(tp,id)==0 end
......
--心阴果 忌火 --心阴果 忌火
local s,id,o=GetID() local s,id,o=GetID()
function s.initial_effect(c) function s.initial_effect(c)
aux.AddCodeList(c,id-7) aux.AddCodeList(c,18018001)
aux.AddXyzProcedure(c,nil,4,2,s.ovfilter,aux.Stringid(id,0),2,s.xyzop) aux.AddXyzProcedure(c,nil,4,2,s.ovfilter,aux.Stringid(id,0),2,s.xyzop)
c:EnableReviveLimit() c:EnableReviveLimit()
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
...@@ -39,7 +39,7 @@ function s.initial_effect(c) ...@@ -39,7 +39,7 @@ function s.initial_effect(c)
end end
function s.ovfilter(c) function s.ovfilter(c)
local g=c:GetOverlayGroup() local g=c:GetOverlayGroup()
return c:IsFaceup() and g:IsExists(Card.IsCode,1,nil,id-7) and c:IsType(TYPE_XYZ) return c:IsFaceup() and g:IsExists(Card.IsCode,1,nil,18018006) and c:IsType(TYPE_XYZ)
end end
function s.xyzop(e,tp,chk) function s.xyzop(e,tp,chk)
if chk==0 then return Duel.GetFlagEffect(tp,id)==0 end if chk==0 then return Duel.GetFlagEffect(tp,id)==0 end
...@@ -55,18 +55,18 @@ function s.rmcost(e,tp,eg,ep,ev,re,r,rp,chk) ...@@ -55,18 +55,18 @@ function s.rmcost(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 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) Duel.DiscardHand(tp,Card.IsDiscardable,1,1,REASON_COST+REASON_DISCARD)
end end
function s.ovfilter(c) function s.ovfilter3(c)
return c:IsType(TYPE_MONSTER) and c:IsCanOverlay() return c:IsType(TYPE_MONSTER) and c:IsCanOverlay()
end end
function s.rmtg(e,tp,eg,ep,ev,re,r,rp,chk) function s.rmtg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return e:GetHandler():IsType(TYPE_XYZ) if chk==0 then return e:GetHandler():IsType(TYPE_XYZ)
and Duel.IsExistingMatchingCard(s.ovfilter,tp,LOCATION_ONFIELD+LOCATION_GRAVE,LOCATION_ONFIELD+LOCATION_GRAVE,1,e:GetHandler()) end and Duel.IsExistingMatchingCard(s.ovfilter3,tp,LOCATION_ONFIELD+LOCATION_GRAVE,LOCATION_ONFIELD+LOCATION_GRAVE,1,e:GetHandler()) end
end end
function s.rmop(e,tp,eg,ep,ev,re,r,rp) function s.rmop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler() local c=e:GetHandler()
if not c:IsRelateToEffect(e) then return end if not c:IsRelateToEffect(e) then return end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_XMATERIAL) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_XMATERIAL)
local tg=Duel.SelectMatchingCard(tp,s.ovfilter,tp,LOCATION_ONFIELD+LOCATION_GRAVE,LOCATION_ONFIELD+LOCATION_GRAVE,1,1,c) local tg=Duel.SelectMatchingCard(tp,s.ovfilter3,tp,LOCATION_ONFIELD+LOCATION_GRAVE,LOCATION_ONFIELD+LOCATION_GRAVE,1,1,c)
local tc=tg:GetFirst() local tc=tg:GetFirst()
if tc then if tc then
local og=tc:GetOverlayGroup() local og=tc:GetOverlayGroup()
......
--心阴我 欲火 --心阴我 欲火
local s,id,o=GetID() local s,id,o=GetID()
function s.initial_effect(c) function s.initial_effect(c)
aux.AddXyzProcedure(c,nil,4,2,s.ovfilter,aux.Stringid(id,0),2,s.xyzop) aux.AddCodeList(c,18018001)
aux.AddXyzProcedure(c,nil,4,2,s.ovfilter,aux.Stringid(id,0),1,s.xyzop)
c:EnableReviveLimit() c:EnableReviveLimit()
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(id,1)) e1:SetDescription(aux.Stringid(id,1))
...@@ -26,14 +27,14 @@ end ...@@ -26,14 +27,14 @@ end
function s.ovfilter(c) function s.ovfilter(c)
return c:IsFaceup() return c:IsFaceup()
end end
function s.filter(c,e,tp) function s.filter13(c,e,tp)
return c:IsSetCard(0x56e6) and c:IsPublic() return c:IsSetCard(0x56e6) and not c:IsPublic()
end end
function s.xyzop(e,tp,chk) function s.xyzop(e,tp,chk)
local dg=Duel.GetMatchingGroup(s.filter,tp,LOCATION_HAND,0,nil) local dg=Duel.GetMatchingGroup(s.filter13,tp,LOCATION_HAND,0,nil)
if chk==0 then return Duel.GetFlagEffect(tp,id)==0 if chk==0 then return Duel.GetFlagEffect(tp,id)==0
and dg:GetClassCount(Card.GetCode)>=4 end and dg:GetClassCount(Card.GetCode)>=4 end
local sg=g:SelectSubGroup(tp,aux.dncheck,false,4,4) local sg=dg:SelectSubGroup(tp,aux.dncheck,false,4,4)
Duel.ConfirmCards(1-tp,sg) Duel.ConfirmCards(1-tp,sg)
Duel.RegisterFlagEffect(tp,id,RESET_PHASE+PHASE_END,EFFECT_FLAG_OATH,1) Duel.RegisterFlagEffect(tp,id,RESET_PHASE+PHASE_END,EFFECT_FLAG_OATH,1)
end end
......
--心阴果 欲火 --心阴果 欲火
local s,id,o=GetID() local s,id,o=GetID()
function s.initial_effect(c) function s.initial_effect(c)
aux.AddCodeList(c,18018001)
aux.AddXyzProcedure(c,nil,8,3,s.ovfilter,aux.Stringid(id,0),99,s.xyzop) aux.AddXyzProcedure(c,nil,8,3,s.ovfilter,aux.Stringid(id,0),99,s.xyzop)
c:EnableReviveLimit() c:EnableReviveLimit()
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
......
--心阴果 意火 --心阴果 意火
local s,id,o=GetID() local s,id,o=GetID()
function s.initial_effect(c) function s.initial_effect(c)
aux.AddCodeList(c,18018001)
aux.AddXyzProcedure(c,nil,12,3,s.ovfilter,aux.Stringid(id,0),99,s.xyzop) aux.AddXyzProcedure(c,nil,12,3,s.ovfilter,aux.Stringid(id,0),99,s.xyzop)
c:EnableReviveLimit() c:EnableReviveLimit()
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
......
...@@ -65,6 +65,9 @@ end ...@@ -65,6 +65,9 @@ end
function cm.filter(c) function cm.filter(c)
return c:IsPosition(POS_FACEUP) and c:IsAbleToDeck() and c:IsSetCard(0x822) return c:IsPosition(POS_FACEUP) and c:IsAbleToDeck() and c:IsSetCard(0x822)
end end
function cm.xyzfilter(c)
return c:IsPosition(POS_FACEUP) and c:IsSetCard(0x3822) and c:IsType(TYPE_XYZ)
end
function cm.sptg(e,tp,eg,ep,ev,re,r,rp,chk,chkc) function cm.sptg(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
if chkc then return chkc:IsControler(tp) and cm.filter(chkc) end if chkc then return chkc:IsControler(tp) and cm.filter(chkc) end
if chk==0 then return Duel.IsExistingMatchingCard(cm.filter,tp,LOCATION_GRAVE+LOCATION_REMOVED,0,1,nil) end if chk==0 then return Duel.IsExistingMatchingCard(cm.filter,tp,LOCATION_GRAVE+LOCATION_REMOVED,0,1,nil) end
...@@ -76,7 +79,7 @@ function cm.spop(e,tp,eg,ep,ev,re,r,rp) ...@@ -76,7 +79,7 @@ function cm.spop(e,tp,eg,ep,ev,re,r,rp)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TODECK) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TODECK)
local sg=g:Select(tp,1,3,nil) local sg=g:Select(tp,1,3,nil)
if sg:GetCount()>0 then if sg:GetCount()>0 then
local g2=Duel.SelectMatchingCard(tp,cm.xyzfilter,tp,LOCATION_MZONE,0,1,1,nil,e,tp) local g2=Duel.SelectMatchingCard(tp,cm.xyzfilter,tp,LOCATION_MZONE,0,1,1,nil)
local xc=g2:GetFirst() local xc=g2:GetFirst()
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_XMATERIAL) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_XMATERIAL)
local tg=sg:Select(tp,0,1,nil) local tg=sg:Select(tp,0,1,nil)
......
...@@ -4,12 +4,10 @@ function cm.initial_effect(c) ...@@ -4,12 +4,10 @@ function cm.initial_effect(c)
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(m,0)) e1:SetDescription(aux.Stringid(m,0))
e1:SetCategory(CATEGORY_COUNTER) e1:SetCategory(CATEGORY_COUNTER)
e1:SetType(EFFECT_TYPE_QUICK_O) e1:SetType(EFFECT_TYPE_IGNITION)
e1:SetProperty(EFFECT_FLAG_CARD_TARGET) e1:SetProperty(EFFECT_FLAG_CARD_TARGET)
e1:SetCode(EVENT_FREE_CHAIN)
e1:SetRange(LOCATION_HAND)
e1:SetRange(LOCATION_MZONE+LOCATION_HAND) e1:SetRange(LOCATION_MZONE+LOCATION_HAND)
e1:SetCountLimit(1) e1:SetCountLimit(1,m)
e1:SetTarget(cm.mvtg) e1:SetTarget(cm.mvtg)
e1:SetOperation(cm.mvop) e1:SetOperation(cm.mvop)
c:RegisterEffect(e1) c:RegisterEffect(e1)
...@@ -36,27 +34,27 @@ function cm.initial_effect(c) ...@@ -36,27 +34,27 @@ function cm.initial_effect(c)
e4:SetCategory(CATEGORY_SPECIAL_SUMMON) e4:SetCategory(CATEGORY_SPECIAL_SUMMON)
e4:SetType(EFFECT_TYPE_IGNITION) e4:SetType(EFFECT_TYPE_IGNITION)
e4:SetRange(LOCATION_SZONE) e4:SetRange(LOCATION_SZONE)
e4:SetCountLimit(1,m+1)
e4:SetCondition(cm.edcon) e4:SetCondition(cm.edcon)
e4:SetCost(cm.thcost) e4:SetCost(cm.thcost)
e4:SetTarget(cm.sptg) e4:SetTarget(cm.sptg)
e4:SetOperation(cm.spop) e4:SetOperation(cm.spop)
c:RegisterEffect(e4) c:RegisterEffect(e4)
end end
function cm.thcost(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 cm.mvtg(e,tp,eg,ep,ev,re,r,rp,chk,chkc) function cm.mvtg(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
local c=e:GetHandler()
if chkc then return chkc:IsLocation(LOCATION_MZONE) and chkc:IsCanAddCounter(0x1823,1) end if chkc then return chkc:IsLocation(LOCATION_MZONE) and chkc:IsCanAddCounter(0x1823,1) end
if chk==0 then return Duel.IsExistingTarget(Card.IsCanAddCounter,tp,LOCATION_MZONE,LOCATION_MZONE,1,nil,0x1823,1) end if chk==0 then return Duel.IsExistingTarget(Card.IsCanAddCounter,tp,LOCATION_MZONE,LOCATION_MZONE,1,c,0x1823,1) and Duel.GetLocationCount(tp,LOCATION_SZONE)>0 end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_FACEUP) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_FACEUP)
local g=Duel.SelectTarget(tp,Card.IsCanAddCounter,tp,LOCATION_MZONE,LOCATION_MZONE,1,1,nil,0x1823,1) local g=Duel.SelectTarget(tp,Card.IsCanAddCounter,tp,LOCATION_MZONE,LOCATION_MZONE,1,1,c,0x1823,1)
Duel.SetOperationInfo(0,CATEGORY_COUNTER,g,1,0x1823,1) Duel.SetOperationInfo(0,CATEGORY_COUNTER,g,1,0x1823,1)
end end
function cm.mvop(e,tp,eg,ep,ev,re,r,rp) function cm.mvop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
local tc=Duel.GetFirstTarget() local tc=Duel.GetFirstTarget()
if tc:IsFaceup() and tc:IsRelateToEffect(e) then if tc:IsFaceup() and tc:IsRelateToEffect(e) then
if tc:AddCounter(0x1823,1)>0 and Duel.GetLocationCount(tp,LOCATION_SZONE)>0 and c:IsRelateToEffect(e) then if tc:AddCounter(0x1823,1) and Duel.GetLocationCount(tp,LOCATION_SZONE)>0 and c:IsRelateToEffect(e) then
Duel.BreakEffect() Duel.BreakEffect()
Duel.MoveToField(c,tp,tp,LOCATION_SZONE,POS_FACEUP,true) Duel.MoveToField(c,tp,tp,LOCATION_SZONE,POS_FACEUP,true)
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
...@@ -76,7 +74,13 @@ function cm.antarget(e,c) ...@@ -76,7 +74,13 @@ function cm.antarget(e,c)
return c:GetCounter(0x1823)==0 return c:GetCounter(0x1823)==0
end end
function cm.edcon(e,tp,eg,ep,ev,re,r,rp) function cm.edcon(e,tp,eg,ep,ev,re,r,rp)
return e:GetHandler():GetType()==TYPE_TRAP+TYPE_CONTINUOUS return e:GetHandler():IsType(TYPE_TRAP) and e:GetHandler():IsType(TYPE_CONTINUOUS)
end
function cm.thcost(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 end
function cm.sptg(e,tp,eg,ep,ev,re,r,rp,chk) function cm.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
......
--奇晶置物 --奇晶置物
local cm,m,o=GetID() local cm,m,o=GetID()
function cm.initial_effect(c) function cm.initial_effect(c)
aux.AddCodeList(c,18700201)
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(m,0)) e1:SetDescription(aux.Stringid(m,0))
e1:SetCategory(CATEGORY_ATKCHANGE) e1:SetCategory(CATEGORY_ATKCHANGE)
......
...@@ -2,10 +2,10 @@ ...@@ -2,10 +2,10 @@
local cm, m, o = GetID() local cm, m, o = GetID()
function cm.initial_effect(c) function cm.initial_effect(c)
c:EnableReviveLimit() c:EnableReviveLimit()
aux.AddXyzProcedureLevelFree(c,cm.mfilter,cm.xyzcheck,2,2,cm.ovfilter,aux.Stringid(m,0),cm.xyzop) aux.AddXyzProcedureLevelFree(c,cm.mfilter,cm.xyzcheck,2,2,cm.ovfilter,aux.Stringid(18700094,0),cm.xyzop)
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(m,0)) e1:SetDescription(aux.Stringid(m,1))
e1:SetCategory(CATEGORY_TOHAND+CATEGORY_SEARCH) e1:SetCategory(CATEGORY_TOHAND+CATEGORY_SEARCH)
e1:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_O) e1:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_O)
e1:SetCode(EVENT_SPSUMMON_SUCCESS) e1:SetCode(EVENT_SPSUMMON_SUCCESS)
...@@ -25,7 +25,7 @@ function cm.initial_effect(c) ...@@ -25,7 +25,7 @@ function cm.initial_effect(c)
local e4=Effect.CreateEffect(c) local e4=Effect.CreateEffect(c)
e4:SetDescription(aux.Stringid(m,1)) e4:SetDescription(aux.Stringid(m,2))
e4:SetType(EFFECT_TYPE_IGNITION+EFFECT_TYPE_XMATERIAL) e4:SetType(EFFECT_TYPE_IGNITION+EFFECT_TYPE_XMATERIAL)
e4:SetCountLimit(1) e4:SetCountLimit(1)
e4:SetRange(LOCATION_MZONE) e4:SetRange(LOCATION_MZONE)
......
...@@ -105,21 +105,22 @@ function cm.effop(e,tp,eg,ep,ev,re,r,rp) ...@@ -105,21 +105,22 @@ function cm.effop(e,tp,eg,ep,ev,re,r,rp)
rc:RegisterEffect(e5,true) rc:RegisterEffect(e5,true)
end end
function cm.movtg(e,tp,eg,ep,ev,re,r,rp,chk) function cm.movtg(e,tp,eg,ep,ev,re,r,rp,chk)
local at=Duel.GetFieldCard(tp,LOCATION_MZONE,5) local at=Duel.GetFieldCard(tp,LOCATION_MZONE,5)
local bt=Duel.GetFieldCard(tp,LOCATION_MZONE,6) local bt=Duel.GetFieldCard(tp,LOCATION_MZONE,6)
if chk==0 then return Duel.GetLocationCount(tp,LOCATION_MZONE,PLAYER_NONE,0)>0 or not at or not bt end if chk==0 then return Duel.GetLocationCount(tp,LOCATION_MZONE,PLAYER_NONE,0)>0
or and not (at or bt) end
end end
function cm.movop(e,tp,eg,ep,ev,re,r,rp) function cm.movop(e,tp,eg,ep,ev,re,r,rp)
local tc=Duel.GetFirstTarget()
local at=Duel.GetFieldCard(tp,LOCATION_MZONE,5) local at=Duel.GetFieldCard(tp,LOCATION_MZONE,5)
local bt=Duel.GetFieldCard(tp,LOCATION_MZONE,6) local bt=Duel.GetFieldCard(tp,LOCATION_MZONE,6)
local b1=Duel.GetLocationCount(tp,LOCATION_MZONE,PLAYER_NONE,0)>0 local b1=Duel.GetLocationCount(tp,LOCATION_MZONE,PLAYER_NONE,0)>0
local b2=not Duel.GetFieldCard(tp,LOCATION_MZONE,5) local b2=not Duel.GetFieldCard(tp,LOCATION_MZONE,5) and (Duel.GetFieldCard(tp,LOCATION_MZONE,6):IsControler(1-tp) or not Duel.GetFieldCard(tp,LOCATION_MZONE,6))
local b3=not Duel.GetFieldCard(tp,LOCATION_MZONE,6) local b3=not Duel.GetFieldCard(tp,LOCATION_MZONE,6) and (Duel.GetFieldCard(tp,LOCATION_MZONE,5):IsControler(1-tp) or not Duel.GetFieldCard(tp,LOCATION_MZONE,5))
local c=e:GetHandler() if tc:IsControler(1-tp) or Duel.GetLocationCount(tp,LOCATION_MZONE,PLAYER_NONE,0)<=0 or (Duel.GetLocationCount(tp,LOCATION_MZONE,PLAYER_NONE,0)<=0
if c:IsControler(1-tp) or Duel.GetLocationCount(tp,LOCATION_MZONE,PLAYER_NONE,0)<=0 or (Duel.GetLocationCount(tp,LOCATION_MZONE,PLAYER_NONE,0)<=0 and (at or bt)) then return end and (at or bt)) then return end
local op=aux.SelectFromOptions(tp, local op=aux.SelectFromOptions(tp,
{b1,aux.Stringid(m,7)}, {b1,aux.Stringid(m,7)},
{b2,aux.Stringid(m,8)}, {b2,aux.Stringid(m,8)},
...@@ -135,6 +136,12 @@ function cm.movop(e,tp,eg,ep,ev,re,r,rp) ...@@ -135,6 +136,12 @@ function cm.movop(e,tp,eg,ep,ev,re,r,rp)
if op==3 then if op==3 then
Duel.MoveSequence(c,6) Duel.MoveSequence(c,6)
end end
else
if tc:IsControler(1-tp) or Duel.GetLocationCount(tp,LOCATION_MZONE,PLAYER_NONE,0)<=0 then return end
local s=Duel.SelectDisableField(tp,1,LOCATION_MZONE,0,0)
local nseq=math.log(s,2)
Duel.MoveSequence(c,nseq)
end
end end
function cm.efilter(e,te) function cm.efilter(e,te)
return te:GetHandler():IsLocation(LOCATION_MZONE) and e:GetHandler():GetLinkedGroup():IsContains(te:GetHandler()) return te:GetHandler():IsLocation(LOCATION_MZONE) and e:GetHandler():GetLinkedGroup():IsContains(te:GetHandler())
......
--月球意识 篝 --月球意识 篝
local s,id,o=GetID()
function s.initial_effect(c) function s.initial_effect(c)
--synchro summon --synchro summon
aux.AddSynchroProcedure(c,nil,aux.NonTuner(nil),1) aux.AddSynchroProcedure(c,nil,aux.NonTuner(nil),1)
c:EnableReviveLimit() c:EnableReviveLimit()
--special summon --special summon
local e2=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
e2:SetDescription(aux.Stringid(id,1)) e1:SetDescription(aux.Stringid(id,1))
e2:SetCategory(CATEGORY_SPECIAL_SUMMON+CATEGORY_TOKEN) e1:SetCategory(CATEGORY_SPECIAL_SUMMON+CATEGORY_TOKEN)
e2:SetType(EFFECT_TYPE_IGNITION) e1:SetType(EFFECT_TYPE_IGNITION)
e2:SetRange(LOCATION_MZONE) e1:SetRange(LOCATION_MZONE)
e2:SetCost(s.spcost) e1:SetCost(s.spcost)
e2:SetTarget(s.sptg) e1:SetTarget(s.sptg)
e2:SetOperation(s.spop) e1:SetOperation(s.spop)
c:RegisterEffect(e2) c:RegisterEffect(e1)
--disable field --disable field
local e2=Effect.CreateEffect(c) local e2=Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_TRIGGER_F+EFFECT_TYPE_FIELD) e2:SetType(EFFECT_TYPE_TRIGGER_F+EFFECT_TYPE_FIELD)
...@@ -40,6 +41,7 @@ function s.spop(e,tp,eg,ep,ev,re,r,rp) ...@@ -40,6 +41,7 @@ function s.spop(e,tp,eg,ep,ev,re,r,rp)
if Duel.IsPlayerCanSpecialSummonMonster(tp,33701058,0,0x4011,0,3000,10,RACE_PLANT,ATTRIBUTE_EARTH) then if Duel.IsPlayerCanSpecialSummonMonster(tp,33701058,0,0x4011,0,3000,10,RACE_PLANT,ATTRIBUTE_EARTH) then
local token=Duel.CreateToken(tp,33701058) local token=Duel.CreateToken(tp,33701058)
Duel.SpecialSummon(token,0,tp,tp,false,false,POS_FACEUP_ATTACK) Duel.SpecialSummon(token,0,tp,tp,false,false,POS_FACEUP_ATTACK)
-- 不会被战斗破坏
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE) e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetCode(EFFECT_INDESTRUCTABLE_BATTLE) e1:SetCode(EFFECT_INDESTRUCTABLE_BATTLE)
...@@ -47,19 +49,32 @@ function s.spop(e,tp,eg,ep,ev,re,r,rp) ...@@ -47,19 +49,32 @@ function s.spop(e,tp,eg,ep,ev,re,r,rp)
e1:SetValue(1) e1:SetValue(1)
e1:SetReset(RESET_EVENT+RESETS_STANDARD-RESET_TOFIELD) e1:SetReset(RESET_EVENT+RESETS_STANDARD-RESET_TOFIELD)
token:RegisterEffect(e1) token:RegisterEffect(e1)
-- 不能改变表示形式
local e3=Effect.CreateEffect(c) local e3=Effect.CreateEffect(c)
e3:SetType(EFFECT_TYPE_SINGLE) e3:SetType(EFFECT_TYPE_SINGLE)
e3:SetCode(EFFECT_CANNOT_CHANGE_POSITION) e3:SetCode(EFFECT_CANNOT_CHANGE_POSITION)
e3:SetReset(RESET_EVENT+RESETS_STANDARD-RESET_TOFIELD) e3:SetReset(RESET_EVENT+RESETS_STANDARD-RESET_TOFIELD)
token:RegisterEffect(e3) token:RegisterEffect(e3)
c:RegisterFlagEffect(id,RESET_EVENT+RESETS_STANDARD+RESET_PHASE+PHASE_END,0,0) -- 给衍生物加Flag
token:RegisterFlagEffect(id,RESET_EVENT+RESETS_STANDARD+RESET_PHASE+PHASE_END,0,1)
-- 注册结束阶段效果
local e2=Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
e2:SetCode(EVENT_PHASE+PHASE_END)
e2:SetCountLimit(1)
e2:SetLabelObject(token)
e2:SetCondition(s.thcon)
e2:SetOperation(s.thop)
e2:SetReset(RESET_PHASE+PHASE_END)
Duel.RegisterEffect(e2,tp)
end end
end end
function s.cfilter(c) function s.cfilter(c)
return c:IsFaceup() and c:IsCode(33701058) return c:IsFaceup() and c:IsCode(33701058)
end end
function s.thcon(e) function s.thcon(e,tp,eg,ep,ev,re,r,rp)
return e:GetHandler():GetFlagEffect(id)~=0 and Duel.IsExistingMatchingCard(s.cfilter,c:GetControler(),LOCATION_MZONE,0,1,nil) local token=e:GetLabelObject()
return token and token:GetFlagEffect(id)>0 and token:IsLocation(LOCATION_MZONE)
end end
function s.thtg(e,tp,eg,ep,ev,re,r,rp,chk) function s.thtg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(Card.IsAbleToHand,tp,LOCATION_ONFIELD,LOCATION_ONFIELD,1,nil) and c:GetFlagEffect(id)>0 and Duel.GetFieldGroupCount(tp,0,LOCATION_HAND)>0 if chk==0 then return Duel.IsExistingMatchingCard(Card.IsAbleToHand,tp,LOCATION_ONFIELD,LOCATION_ONFIELD,1,nil) and c:GetFlagEffect(id)>0 and Duel.GetFieldGroupCount(tp,0,LOCATION_HAND)>0
...@@ -70,9 +85,10 @@ function s.thtg(e,tp,eg,ep,ev,re,r,rp,chk) ...@@ -70,9 +85,10 @@ function s.thtg(e,tp,eg,ep,ev,re,r,rp,chk)
end end
function s.thop(e,tp,eg,ep,ev,re,r,rp) function s.thop(e,tp,eg,ep,ev,re,r,rp)
local g=Duel.GetMatchingGroup(Card.IsAbleToHand,tp,LOCATION_ONFIELD,LOCATION_ONFIELD,nil) local g=Duel.GetMatchingGroup(Card.IsAbleToHand,tp,LOCATION_ONFIELD,LOCATION_ONFIELD,nil)
if Duel.SendtoGrave(g,REASON_EFFECT)~=0 then if #g>0 then
Duel.SendtoHand(g,nil,REASON_EFFECT)
end
Duel.BreakEffect() Duel.BreakEffect()
Duel.Draw(tp,1,REASON_EFFECT) Duel.Draw(tp,1,REASON_EFFECT)
Duel.Draw(1-tp,1,REASON_EFFECT) Duel.Draw(1-tp,1,REASON_EFFECT)
end
end end
...@@ -30,7 +30,7 @@ function s.initial_effect(c) ...@@ -30,7 +30,7 @@ function s.initial_effect(c)
end end
function s.counterfilter(c) function s.counterfilter(c)
return function(e,p,cid) return function(e,p,cid)
return e:GetHandler()==c return e:GetHandler():GetOriginalCode()==id
end end
end end
......
...@@ -41,54 +41,58 @@ function cm.initial_effect(c) ...@@ -41,54 +41,58 @@ function cm.initial_effect(c)
e3:SetOperation(cm.spop2) e3:SetOperation(cm.spop2)
c:RegisterEffect(e3) c:RegisterEffect(e3)
--to hand --to hand
local e1=Effect.CreateEffect(c) local e96=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(m,0)) e96:SetDescription(aux.Stringid(m,0))
e1:SetCategory(CATEGORY_SPECIAL_SUMMON) e96:SetCategory(CATEGORY_SPECIAL_SUMMON)
e1:SetType(EFFECT_TYPE_TRIGGER_O+EFFECT_TYPE_SINGLE) e96:SetType(EFFECT_TYPE_TRIGGER_O+EFFECT_TYPE_SINGLE)
e1:SetProperty(EFFECT_FLAG_DELAY) e96:SetProperty(EFFECT_FLAG_DELAY)
e1:SetCode(EVENT_SUMMON_SUCCESS) e96:SetCode(EVENT_SUMMON_SUCCESS)
e1:SetCountLimit(1,m) e96:SetCountLimit(1,m)
e1:SetCost(cm.acost) e96:SetCost(cm.acost)
e1:SetTarget(cm.thtg) e96:SetTarget(cm.thtg)
e1:SetOperation(cm.thop) e96:SetOperation(cm.thop)
c:RegisterEffect(e1) c:RegisterEffect(e96)
local e2=e1:Clone() local e97=e96:Clone()
e2:SetCode(EVENT_SPSUMMON_SUCCESS) e97:SetCode(EVENT_SPSUMMON_SUCCESS)
c:RegisterEffect(e2) c:RegisterEffect(e97)
--to hand2 --to hand2
local e1=Effect.CreateEffect(c) local e98=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(m,0)) e98:SetDescription(aux.Stringid(m,0))
e1:SetCategory(CATEGORY_SPECIAL_SUMMON) e98:SetCategory(CATEGORY_SPECIAL_SUMMON)
e1:SetType(EFFECT_TYPE_TRIGGER_O+EFFECT_TYPE_SINGLE) e98:SetType(EFFECT_TYPE_TRIGGER_O+EFFECT_TYPE_SINGLE)
e1:SetProperty(EFFECT_FLAG_DELAY) e98:SetProperty(EFFECT_FLAG_DELAY)
e1:SetCode(EVENT_SUMMON_SUCCESS) e98:SetCode(EVENT_SUMMON_SUCCESS)
e1:SetCountLimit(1,m) e98:SetCountLimit(1,m)
e1:SetCost(cm.acost) e98:SetCost(cm.bcost)
e1:SetTarget(cm.thtg2) e98:SetTarget(cm.thtg3)
e1:SetOperation(cm.thop2) e98:SetOperation(cm.thop3)
c:RegisterEffect(e1) c:RegisterEffect(e98)
local e2=e1:Clone() local e99=e98:Clone()
e2:SetCode(EVENT_SPSUMMON_SUCCESS) e99:SetCode(EVENT_SPSUMMON_SUCCESS)
c:RegisterEffect(e2) c:RegisterEffect(e99)
local e3=Effect.CreateEffect(c) local e4=Effect.CreateEffect(c)
e3:SetType(EFFECT_TYPE_SINGLE) e4:SetType(EFFECT_TYPE_SINGLE)
e3:SetProperty(EFFECT_FLAG_SINGLE_RANGE) e4:SetProperty(EFFECT_FLAG_SINGLE_RANGE)
e3:SetRange(LOCATION_MZONE) e4:SetRange(LOCATION_MZONE)
e3:SetCode(EFFECT_UPDATE_ATTACK) e4:SetCode(EFFECT_UPDATE_ATTACK)
e3:SetCondition(cm.incon) e4:SetCondition(cm.incon)
e3:SetValue(800) e4:SetValue(800)
c:RegisterEffect(e3) c:RegisterEffect(e4)
local e3=Effect.CreateEffect(c) local e5=Effect.CreateEffect(c)
e3:SetType(EFFECT_TYPE_SINGLE) e5:SetType(EFFECT_TYPE_SINGLE)
e3:SetProperty(EFFECT_FLAG_SINGLE_RANGE) e5:SetProperty(EFFECT_FLAG_SINGLE_RANGE)
e3:SetRange(LOCATION_MZONE) e5:SetRange(LOCATION_MZONE)
e3:SetCode(EFFECT_UPDATE_DEFENSE) e5:SetCode(EFFECT_UPDATE_DEFENSE)
e3:SetCondition(cm.incon) e5:SetCondition(cm.incon)
e3:SetValue(800) e5:SetValue(800)
c:RegisterEffect(e3) c:RegisterEffect(e5)
end end
function cm.acost(e,tp,eg,ep,ev,re,r,rp,chk) function cm.acost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsCanRemoveCounter(tp,LOCATION_ONFIELD,0,0x625,1,REASON_COST) end if chk==0 then return Duel.IsCanRemoveCounter(tp,LOCATION_ONFIELD,0,0x625,1,REASON_COST) end
Duel.RemoveCounter(tp,LOCATION_ONFIELD,0,0x625,1,REASON_COST)
end
function cm.bcost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsCanRemoveCounter(tp,LOCATION_ONFIELD,0,0x624,1,REASON_COST) end
Duel.RemoveCounter(tp,LOCATION_ONFIELD,0,0x624,1,REASON_COST) Duel.RemoveCounter(tp,LOCATION_ONFIELD,0,0x624,1,REASON_COST)
end end
function cm.thfilter(c,e,tp) function cm.thfilter(c,e,tp)
...@@ -102,7 +106,7 @@ function cm.thtg(e,tp,eg,ep,ev,re,r,rp,chk) ...@@ -102,7 +106,7 @@ function cm.thtg(e,tp,eg,ep,ev,re,r,rp,chk)
and Duel.IsExistingMatchingCard(cm.thfilter,tp,LOCATION_DECK,0,2,nil,e,tp) end and Duel.IsExistingMatchingCard(cm.thfilter,tp,LOCATION_DECK,0,2,nil,e,tp) end
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,2,tp,LOCATION_DECK) Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,2,tp,LOCATION_DECK)
end end
function cm.thtg2(e,tp,eg,ep,ev,re,r,rp,chk) function cm.thtg3(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.GetLocationCount(tp,LOCATION_MZONE)>1 if chk==0 then return Duel.GetLocationCount(tp,LOCATION_MZONE)>1
and Duel.IsExistingMatchingCard(cm.thfilter2,tp,LOCATION_DECK,0,2,nil,e,tp) end and Duel.IsExistingMatchingCard(cm.thfilter2,tp,LOCATION_DECK,0,2,nil,e,tp) end
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,2,tp,LOCATION_DECK) Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,2,tp,LOCATION_DECK)
...@@ -115,16 +119,16 @@ function cm.thop(e,tp,eg,ep,ev,re,r,rp) ...@@ -115,16 +119,16 @@ function cm.thop(e,tp,eg,ep,ev,re,r,rp)
Duel.SpecialSummon(g,0,tp,tp,false,false,POS_FACEUP) Duel.SpecialSummon(g,0,tp,tp,false,false,POS_FACEUP)
end end
end end
function cm.thop2(e,tp,eg,ep,ev,re,r,rp) function cm.thop3(e,tp,eg,ep,ev,re,r,rp)
if Duel.GetLocationCount(tp,LOCATION_MZONE)<=1 then return end if Duel.GetLocationCount(tp,LOCATION_MZONE)<=1 then return end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON)
local g=Duel.SelectMatchingCard(tp,cm.thfilter2,tp,LOCATION_DECK,0,2,2,nil,e,tp) local g=Duel.SelectMatchingCard(tp,cm.thfilter2,tp,LOCATION_DECK,0,2,2,nil,e,tp)
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)
g:GetFirst():GetHandler():AddCounter(0x624,1) g:GetFirst():AddCounter(0x624,1)
Duel.RegisterFlagEffect(tp,60002148,RESET_PHASE+PHASE_END,0,1000) Duel.RegisterFlagEffect(tp,60002148,RESET_PHASE+PHASE_END,0,1000)
g:RemoveCard(g:GetFirst()) g:RemoveCard(g:GetFirst())
g:GetFirst():GetHandler():AddCounter(0x624,1) g:GetFirst():AddCounter(0x624,1)
Duel.RegisterFlagEffect(tp,60002148,RESET_PHASE+PHASE_END,0,1000) Duel.RegisterFlagEffect(tp,60002148,RESET_PHASE+PHASE_END,0,1000)
end end
end end
......
--时间刻错误
function c65899900.initial_effect(c)
--Activate
local e1=Effect.CreateEffect(c)
e1:SetCategory(CATEGORY_DESTROY)
e1:SetType(EFFECT_TYPE_ACTIVATE)
e1:SetCode(EVENT_FREE_CHAIN)
e1:SetProperty(EFFECT_FLAG_CANNOT_INACTIVATE+EFFECT_FLAG_CANNOT_DISABLE+EFFECT_FLAG_CAN_FORBIDDEN)
e1:SetCountLimit(1,65899900+EFFECT_COUNT_CODE_OATH)
e1:SetCost(c65899900.cost)
e1:SetCondition(c65899900.drcon)
e1:SetTarget(c65899900.target)
e1:SetOperation(c65899900.activate)
c:RegisterEffect(e1)
end
function c65899900.cost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.GetActivityCount(tp,ACTIVITY_SUMMON)==0 and Duel.GetActivityCount(tp,ACTIVITY_SPSUMMON)==0 end
local e1=Effect.CreateEffect(e:GetHandler())
e1:SetType(EFFECT_TYPE_FIELD)
e1:SetProperty(EFFECT_FLAG_PLAYER_TARGET+EFFECT_FLAG_OATH)
e1:SetCode(EFFECT_CANNOT_SPECIAL_SUMMON)
e1:SetReset(RESET_PHASE+PHASE_END)
e1:SetTargetRange(1,0)
e1:SetLabelObject(e)
e1:SetTarget(c65899900.sumlimit)
Duel.RegisterEffect(e1,tp)
local e2=Effect.CreateEffect(e:GetHandler())
e2:SetType(EFFECT_TYPE_FIELD)
e2:SetProperty(EFFECT_FLAG_PLAYER_TARGET+EFFECT_FLAG_OATH)
e2:SetCode(EFFECT_CANNOT_SUMMON)
e2:SetReset(RESET_PHASE+PHASE_END)
e2:SetTargetRange(1,0)
Duel.RegisterEffect(e2,tp)
end
function c65899900.sumlimit(e,c,sump,sumtype,sumpos,targetp,se)
return e:GetLabelObject()~=se
end
function c65899900.drcon(e,tp,eg,ep,ev,re,r,rp)
return Duel.GetTurnPlayer()==tp
end
function c65899900.target(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(aux.TRUE,tp,0,LOCATION_ONFIELD,1,nil) end
local sg=Duel.GetMatchingGroup(aux.TRUE,tp,0,LOCATION_ONFIELD,nil)
Duel.SetOperationInfo(0,CATEGORY_DESTROY,sg,sg:GetCount(),0,0)
if e:IsHasType(EFFECT_TYPE_ACTIVATE) then
Duel.SetChainLimit(aux.FALSE)
end
end
function c65899900.activate(e,tp,eg,ep,ev,re,r,rp)
Debug.Message("Tickrate error occured")
local sg=Duel.GetMatchingGroup(aux.TRUE,tp,0,LOCATION_ONFIELD,nil)
Duel.Destroy(sg,REASON_EFFECT)
Duel.BreakEffect()
local g=Duel.GetMatchingGroup(aux.TRUE,tp,0,LOCATION_ONFIELD,nil)
Duel.Destroy(g,REASON_EFFECT)
end
\ No newline at end of file
--抽1!抽1!再抽1!
function c65899905.initial_effect(c)
--Activate
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_ACTIVATE)
e1:SetCode(EVENT_FREE_CHAIN)
e1:SetCategory(CATEGORY_DRAW)
e1:SetCost(c65899905.cost)
e1:SetCondition(c65899905.condition)
e1:SetTarget(c65899905.target)
e1:SetOperation(c65899905.operation)
c:RegisterEffect(e1)
end
function c65899905.cost(e,tp,eg,ep,ev,re,r,rp,chk)
e:SetLabel(100)
if chk==0 then return true end
end
function c65899905.condition(e,tp,eg,ep,ev,re,r,rp)
return Duel.GetCurrentPhase()==PHASE_MAIN1 and not Duel.CheckPhaseActivity()
end
function c65899905.target(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then
if e:GetLabel()~=100 then return false end
e:SetLabel(0)
return Duel.IsPlayerCanDraw(tp,1)
end
Duel.Draw(tp,1,REASON_COST)
Duel.SetTargetPlayer(tp)
Duel.SetTargetParam(1)
Duel.SetOperationInfo(0,CATEGORY_DRAW,nil,0,tp,1)
end
function c65899905.operation(e,tp,eg,ep,ev,re,r,rp)
local p,d=Duel.GetChainInfo(0,CHAININFO_TARGET_PLAYER,CHAININFO_TARGET_PARAM)
Duel.Draw(p,d,REASON_EFFECT)
Duel.BreakEffect()
Duel.Draw(tp,1,REASON_EFFECT)
Duel.SkipPhase(tp,PHASE_MAIN1,RESET_PHASE+PHASE_END,1)
Duel.SkipPhase(tp,PHASE_BATTLE,RESET_PHASE+PHASE_END,1,1)
Duel.SkipPhase(tp,PHASE_MAIN2,RESET_PHASE+PHASE_END,1)
local e1=Effect.CreateEffect(e:GetHandler())
e1:SetProperty(EFFECT_FLAG_PLAYER_TARGET)
e1:SetType(EFFECT_TYPE_FIELD)
e1:SetCode(EFFECT_CANNOT_BP)
e1:SetTargetRange(1,0)
e1:SetReset(RESET_PHASE+PHASE_END)
Duel.RegisterEffect(e1,tp)
end
--万虫希冀之手
function c65899940.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:SetCategory(CATEGORY_SPECIAL_SUMMON+CATEGORY_GRAVE_SPSUMMON+CATEGORY_LEAVE_GRAVE)
e2:SetType(EFFECT_TYPE_IGNITION)
e2:SetRange(LOCATION_FZONE)
e2:SetCountLimit(1)
e2:SetTarget(c65899940.target)
e2:SetOperation(c65899940.operation)
c:RegisterEffect(e2)
--inactivatable
local e4=Effect.CreateEffect(c)
e4:SetType(EFFECT_TYPE_FIELD)
e4:SetCode(EFFECT_CANNOT_INACTIVATE)
e4:SetRange(LOCATION_FZONE)
e4:SetProperty(EFFECT_FLAG_CANNOT_DISABLE)
e4:SetValue(c65899940.effectfilter)
c:RegisterEffect(e4)
local e5=Effect.CreateEffect(c)
e5:SetType(EFFECT_TYPE_FIELD)
e5:SetCode(EFFECT_CANNOT_DISEFFECT)
e5:SetRange(LOCATION_FZONE)
e5:SetProperty(EFFECT_FLAG_CANNOT_DISABLE)
e5:SetValue(c65899940.effectfilter)
c:RegisterEffect(e5)
end
function c65899940.spfilter(c,e,tp)
return c:IsRace(RACE_INSECT) and c:IsCanBeSpecialSummoned(e,0,tp,false,false) and aux.NecroValleyFilter()
end
function c65899940.target(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.GetLocationCount(tp,LOCATION_MZONE)>0
and Duel.IsExistingMatchingCard(c65899940.spfilter,tp,LOCATION_GRAVE+LOCATION_REMOVED+LOCATION_HAND,0,1,nil,e,tp) end
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,1,tp,LOCATION_GRAVE+LOCATION_REMOVED+LOCATION_HAND)
end
function c65899940.operation(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 g=Duel.SelectMatchingCard(tp,c65899940.spfilter,tp,LOCATION_GRAVE+LOCATION_REMOVED+LOCATION_HAND,0,1,1,nil,e,tp)
if g:GetCount()>0 then
Duel.SpecialSummon(g,0,tp,tp,false,false,POS_FACEUP)
end
end
function c65899940.effectfilter(e,ct)
local p=e:GetHandler():GetControler()
local te,tp,loc=Duel.GetChainInfo(ct,CHAININFO_TRIGGERING_EFFECT,CHAININFO_TRIGGERING_PLAYER,CHAININFO_TRIGGERING_LOCATION)
return p==tp and te:GetHandler():IsRace(RACE_INSECT) and bit.band(loc,LOCATION_ONFIELD)~=0
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