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
PackAuthor = Nanahira
PackHomePage = https://srv.koishi.pro/pre.html
[YGOMobileAddServer]
ServerName = FiNALE
ServerName = FiNALE-DIY服
ServerDesc = FiNALE DIY 服务器,群号 642043095
ServerHost = finale.momobako.com
ServerPort = 222
#[2025.5.DIY]
!2025.5.DIY
#[2025.7.DIY]
!2025.7.DIY
#001
00110015 0 --Fate/Grand Order·Lancer·埃列什基伽勒
......@@ -455,6 +455,7 @@
12801810 0 --撒野 绚丽
12801815 0 --撒野 偏执
12801820 0 --撒野 蚀爱
12801830 0 --撒野 狂恋
#130
13000747 0 --人生如逆旅
13090004 0 --白驹过隙
......@@ -705,46 +706,21 @@
16311005 0 --NSp 桐镜
16311015 1 --NSp 甲虫兽
#164
16400039 0 --独裁者的计谋
16400041 1 --Geass-精神控制
16400054 1 --Geass-情报掌握
16400056 1 --Geass-身份的更替
16400057 0 --Geass-忆之所想
16400058 0 --Geass-棋逢对手
16400059 2 --鲁路修·Vi·不列颠尼亚
16400060 1 --Geass-信念的坚定
16400071 1 --Geass-无法反抗的力量
16400072 1 --Geass-误解的痛苦
16400073 0 --Geass-对立的友人
# 鲁鲁修系列
16400130 2 --意志的交汇-鲁鲁修
16400060 1 --暴虐之皇帝-鲁鲁修
16400200 1 --Geass-身份的更替
16400220 1 --Geass-零之镇魂曲
# 杂系列
16400074 0 --时间线的重叠
16400075 1 --群之零回-优吉欧
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 --光之战士 杰克
16400291 1 --光之战士 赛文
16400405 1 --光之战士 雷杰多
16400500 1 --光之战士 诺亚
16400374 1 --光之战士 泽塔 原始
16400289 1 --光之战士 阿斯特拉
16400286 1 --光之战士 奥特曼
......@@ -752,6 +728,7 @@
16400337 1 --光之战士 捷德 刚燃
16400316 1 --光之战士 欧布 三重
16400390 1 --光之战士 罗布
16400370 1 --光之战士 布鲁 跃水
16400295 1 --等离子火花塔
16400296 1 --宇宙警备队 本部
16400329 1 --奥特宇宙港
......@@ -762,6 +739,9 @@
16400278 2 --光之战士 维克特利
16400322 2 --光之战士 奈克赛斯
16400297 2 --光之战士 出动
# 从零开始系列
16401140 1 --雷古勒斯·柯尔尼亚斯
16401410 1 --由里乌斯·尤克历乌斯
#170
17020410 0 --失落的火焰
17030610 1 --火神龙
......@@ -911,6 +891,7 @@
18031014 0 --决斗公主 多萝西亚
18031111 0 --大怪兽绝唱 三式机龙
18029611 1 --IMPERIAL EDGE
18017906 0 --P.A.=SAN
#185
18500001 1 --炸弹猫
18586008 1 --绫濑亚梦·潮汐
......@@ -2929,12 +2910,12 @@
62320425 0 --古衛兵アギド
25926710 0 --古尖兵ケルベク
03040496 0 --混沌魔龍 カオス・ルーラー
02563463 0 --流離のグリフォンライダー
88071625 0 --The tyrant NEPTUNE
52653092 0 --SNo.0 ホープ・ゼアル
85115440 0 --十二獣ブルホーン
59537380 0 --守護竜アガーペイン
86148577 0 --守護竜エルピィ
04280258 0 --召命の神弓-アポロウーサ
21044178 0 --深淵に潜む者
88581108 0 --真竜皇V.F.D.
27381364 0 --スプライト・エルフ
......@@ -2946,9 +2927,9 @@
79875176 0 --トゥーン・キャノン・ソルジャー
75732622 0 --トーチ・ゴーレム
22593417 0 --トポロジック・ガンブラー・ドラゴン
39064822 0 --トロイメア・ゴブリン
03679218 0 --トロイメア・マーメイド
54719828 0 --No.16 色の支配者ショック・ルーラー
35772782 0 --No.67 パラダイスマッシャー
63504681 0 --No.86 HC ロンゴミアント
58820923 0 --No.95 ギャラクシーアイズ・ダークマター・ドラゴン
78706415 0 --ファイバーポッド
......@@ -3007,15 +2988,14 @@
99937011 1 --剣神官ムドラ
38814750 1 --PSYフレームギア・γ
74586817 1 --PSYフレームロード・Ω
02563463 1 --流離のグリフォンライダー
32731036 1 --深淵の獣ルベリオン
36521307 1 --斬機サーキュラー
48905153 1 --十二獣ドランシア
78872731 1 --十二獣モルモラット
06602300 1 --重爆撃禽 ボム・フェネクス
63542003 1 --宿神像ケルドウ
09674034 1 --スネークアイ・エクセル
90241276 1 --蛇眼の炎燐
13533678 1 --スプライト・ジェット
76145933 1 --スプライト・ブルー
35844557 1 --ソード・ライゼオル
90361010 1 --超重武者装留イワトオシ
......@@ -3028,6 +3008,7 @@
91800273 1 --ディメンション・アトラクター
90953320 1 --TG ハイパー・ライブラリアン
91810826 1 --天盃龍チュンドラ
39064822 1 --トロイメア・ゴブリン
75433814 1 --No.40 ギミック・パペット-ヘブンズ・ストリングス
17266660 1 --朱光の宣告者
06637331 1 --深淵の獣ドルイドヴルム
......@@ -3067,7 +3048,6 @@
75500286 1 --封印の黄金櫃
07394770 1 --ブリリアント・フュージョン
73468603 1 --盆回し
93600443 1 --マスク・チェンジ・セカンド
65681983 1 --抹殺の指名者
71832012 1 --六世壊=パライゾス
01475311 1 --闇の誘惑
......@@ -3080,19 +3060,16 @@
82732705 1 --スキルドレイン
24207889 1 --センサー万別
21076084 1 --トリックスター・リンカーネイション
58921041 1 --魔封じの芳香
23002292 1 --レッド・リブート
#semi limit
34124316 2 --サイバーポッド
81275020 2 --SRベイゴマックス
13533678 2 --スプライト・ジェット
23434538 2 --増殖するG
65734501 2 --RACEエアホイスター
35726888 2 --おろかな副葬
67723438 2 --緊急テレポート
49238328 2 --強欲で金満な壺
35261759 2 --強欲で貪欲な壺
48130397 2 --超融合
93729896 2 --ナイトメア・スローン
24224830 2 --墓穴の指名者
93600443 2 --マスク・チェンジ・セカンド
21347668 2 --ピュアリィ・スリーピィメモリー
52947044 2 --フュージョン・デステニー
92714517 2 --ビッグウェルカム・ラビュリンス
--心阴我 忿火
local s,id,o=GetID()
function s.initial_effect(c)
aux.AddCodeList(c,18018001)
local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(id,0))
e1:SetCategory(CATEGORY_SPECIAL_SUMMON+CATEGORY_TOHAND+CATEGORY_SEARCH)
......
--心阴我 懑火
local s,id,o=GetID()
function s.initial_effect(c)
aux.AddCodeList(c,18018001)
local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(id,0))
e1:SetCategory(CATEGORY_SPECIAL_SUMMON+CATEGORY_GRAVE_SPSUMMON)
......
--心阴我 怒火
local s,id,o=GetID()
function s.initial_effect(c)
aux.AddCodeList(c,18018001)
local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(id,0))
e1:SetCategory(CATEGORY_SPECIAL_SUMMON+CATEGORY_TOHAND+CATEGORY_SEARCH)
......
--心阴我 悲火
local s,id,o=GetID()
function s.initial_effect(c)
aux.AddCodeList(c,18018001)
local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(id,0))
e1:SetCategory(CATEGORY_SPECIAL_SUMMON+CATEGORY_TOHAND+CATEGORY_GRAVE_ACTION)
......
--心阴我 怨火
local s,id,o=GetID()
function s.initial_effect(c)
aux.AddCodeList(c,18018001)
local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(id,0))
e1:SetCategory(CATEGORY_SPECIAL_SUMMON+CATEGORY_TOHAND+CATEGORY_SEARCH)
......
--心阴我 忌火
local s,id,o=GetID()
function s.initial_effect(c)
aux.AddCodeList(c,18018001)
local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(id,0))
e1:SetCategory(CATEGORY_SPECIAL_SUMMON+CATEGORY_TOHAND+CATEGORY_SEARCH)
......
--心阴我 惑火
local s,id,o=GetID()
function s.initial_effect(c)
aux.AddCodeList(c,18018001)
local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(id,0))
e1:SetCategory(CATEGORY_SPECIAL_SUMMON+CATEGORY_TOHAND+CATEGORY_SEARCH)
......@@ -25,18 +26,16 @@ end
function s.thcost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return not e:GetHandler():IsPublic() end
end
function s.efilter(c,tp)
function s.efilter(c)
return c:IsSetCard(0x56e6) and c:IsType(TYPE_XYZ)
and Duel.IsExistingMatchingCard(s.thfilter,tp,LOCATION_DECK,0,1,nil,c)
end
function s.thfilter(c,ec)
return c:IsSetCard(0x56e6) and c:IsType(TYPE_MONSTER)
and aux.IsCodeListed(ec,c:GetCode())
function s.thfilter(c)
return c:IsSetCard(0x56e6) and c:IsType(TYPE_MONSTER) and aux.IsCodeListed(c,18018001)
end
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
end
function s.spfilter(c,e,tp)
function s.spfilter(c,e)
return c:IsSetCard(0x56e6) and c:IsCanBeSpecialSummoned(e,0,tp,false,false)
end
function s.thop(e,tp,eg,ep,ev,re,r,rp)
......
--心阴果 忿火
local s,id,o=GetID()
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)
c:EnableReviveLimit()
local e1=Effect.CreateEffect(c)
......
--心阴果 懑火
local s,id,o=GetID()
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)
c:EnableReviveLimit()
local e1=Effect.CreateEffect(c)
......@@ -11,7 +11,7 @@ function s.initial_effect(c)
e1:SetProperty(EFFECT_FLAG_CARD_TARGET)
e1:SetRange(LOCATION_MZONE)
e1:SetCountLimit(1,id)
e1:SetCondition(s.con1)
--e1:SetCondition(s.con1)
e1:SetTarget(s.rmtg)
e1:SetOperation(s.rmop)
c:RegisterEffect(e1)
......@@ -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)
end
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
function s.rmtg(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
if chkc then return chkc:IsAbleToRemove() end
......
--心阴果 怒火
local s,id,o=GetID()
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)
c:EnableReviveLimit()
local e1=Effect.CreateEffect(c)
......@@ -63,7 +63,7 @@ function s.thop(e,tp,eg,ep,ev,re,r,rp)
local tg=Duel.GetChainInfo(0,CHAININFO_TARGET_CARDS)
local rg=tg:Filter(Card.IsRelateToEffect,nil,e)
if rg:GetCount()>0 then
Duel.SendtoHand(rg,nil,REASON_EFFECT)
Duel.Destroy(rg,nil,REASON_EFFECT)
end
end
function s.thcost2(e,tp,eg,ep,ev,re,r,rp,chk)
......
--心阴果 悲火
local s,id,o=GetID()
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)
c:EnableReviveLimit()
local e1=Effect.CreateEffect(c)
......
--心阴果 悲火
local s,id,o=GetID()
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)
c:EnableReviveLimit()
local e1=Effect.CreateEffect(c)
......@@ -39,7 +39,7 @@ function s.initial_effect(c)
end
function s.ovfilter(c)
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
function s.xyzop(e,tp,chk)
if chk==0 then return Duel.GetFlagEffect(tp,id)==0 end
......
--心阴果 忌火
local s,id,o=GetID()
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)
c:EnableReviveLimit()
local e1=Effect.CreateEffect(c)
......@@ -39,7 +39,7 @@ function s.initial_effect(c)
end
function s.ovfilter(c)
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
function s.xyzop(e,tp,chk)
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)
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 s.ovfilter(c)
function s.ovfilter3(c)
return c:IsType(TYPE_MONSTER) and c:IsCanOverlay()
end
function s.rmtg(e,tp,eg,ep,ev,re,r,rp,chk)
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
function s.rmop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
if not c:IsRelateToEffect(e) then return end
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()
if tc then
local og=tc:GetOverlayGroup()
......
--心阴我 欲火
local s,id,o=GetID()
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()
local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(id,1))
......@@ -26,14 +27,14 @@ end
function s.ovfilter(c)
return c:IsFaceup()
end
function s.filter(c,e,tp)
return c:IsSetCard(0x56e6) and c:IsPublic()
function s.filter13(c,e,tp)
return c:IsSetCard(0x56e6) and not c:IsPublic()
end
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
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.RegisterFlagEffect(tp,id,RESET_PHASE+PHASE_END,EFFECT_FLAG_OATH,1)
end
......
--心阴果 欲火
local s,id,o=GetID()
function s.initial_effect(c)
aux.AddCodeList(c,18018001)
aux.AddXyzProcedure(c,nil,8,3,s.ovfilter,aux.Stringid(id,0),99,s.xyzop)
c:EnableReviveLimit()
local e1=Effect.CreateEffect(c)
......
--心阴果 意火
local s,id,o=GetID()
function s.initial_effect(c)
aux.AddCodeList(c,18018001)
aux.AddXyzProcedure(c,nil,12,3,s.ovfilter,aux.Stringid(id,0),99,s.xyzop)
c:EnableReviveLimit()
local e1=Effect.CreateEffect(c)
......
......@@ -65,6 +65,9 @@ end
function cm.filter(c)
return c:IsPosition(POS_FACEUP) and c:IsAbleToDeck() and c:IsSetCard(0x822)
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)
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
......@@ -76,7 +79,7 @@ function cm.spop(e,tp,eg,ep,ev,re,r,rp)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TODECK)
local sg=g:Select(tp,1,3,nil)
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()
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_XMATERIAL)
local tg=sg:Select(tp,0,1,nil)
......
......@@ -4,12 +4,10 @@ function cm.initial_effect(c)
local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(m,0))
e1:SetCategory(CATEGORY_COUNTER)
e1:SetType(EFFECT_TYPE_QUICK_O)
e1:SetType(EFFECT_TYPE_IGNITION)
e1:SetProperty(EFFECT_FLAG_CARD_TARGET)
e1:SetCode(EVENT_FREE_CHAIN)
e1:SetRange(LOCATION_HAND)
e1:SetRange(LOCATION_MZONE+LOCATION_HAND)
e1:SetCountLimit(1)
e1:SetCountLimit(1,m)
e1:SetTarget(cm.mvtg)
e1:SetOperation(cm.mvop)
c:RegisterEffect(e1)
......@@ -36,27 +34,27 @@ function cm.initial_effect(c)
e4:SetCategory(CATEGORY_SPECIAL_SUMMON)
e4:SetType(EFFECT_TYPE_IGNITION)
e4:SetRange(LOCATION_SZONE)
e4:SetCountLimit(1,m+1)
e4:SetCondition(cm.edcon)
e4:SetCost(cm.thcost)
e4:SetTarget(cm.sptg)
e4:SetOperation(cm.spop)
c:RegisterEffect(e4)
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)
local c=e:GetHandler()
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)
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)
end
function cm.mvop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
local tc=Duel.GetFirstTarget()
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.MoveToField(c,tp,tp,LOCATION_SZONE,POS_FACEUP,true)
local e1=Effect.CreateEffect(c)
......@@ -76,7 +74,13 @@ function cm.antarget(e,c)
return c:GetCounter(0x1823)==0
end
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
function cm.sptg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.GetLocationCount(tp,LOCATION_MZONE)>0
......
--奇晶置物
local cm,m,o=GetID()
function cm.initial_effect(c)
aux.AddCodeList(c,18700201)
local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(m,0))
e1:SetCategory(CATEGORY_ATKCHANGE)
......
......@@ -2,10 +2,10 @@
local cm, m, o = GetID()
function cm.initial_effect(c)
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)
e1:SetDescription(aux.Stringid(m,0))
e1:SetDescription(aux.Stringid(m,1))
e1:SetCategory(CATEGORY_TOHAND+CATEGORY_SEARCH)
e1:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_O)
e1:SetCode(EVENT_SPSUMMON_SUCCESS)
......@@ -25,7 +25,7 @@ function cm.initial_effect(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:SetCountLimit(1)
e4:SetRange(LOCATION_MZONE)
......
......@@ -105,21 +105,22 @@ function cm.effop(e,tp,eg,ep,ev,re,r,rp)
rc:RegisterEffect(e5,true)
end
function cm.movtg(e,tp,eg,ep,ev,re,r,rp,chk)
local at=Duel.GetFieldCard(tp,LOCATION_MZONE,5)
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
function cm.movop(e,tp,eg,ep,ev,re,r,rp)
local tc=Duel.GetFirstTarget()
local at=Duel.GetFieldCard(tp,LOCATION_MZONE,5)
local bt=Duel.GetFieldCard(tp,LOCATION_MZONE,6)
local b1=Duel.GetLocationCount(tp,LOCATION_MZONE,PLAYER_NONE,0)>0
local b2=not Duel.GetFieldCard(tp,LOCATION_MZONE,5)
local b3=not Duel.GetFieldCard(tp,LOCATION_MZONE,6)
local c=e:GetHandler()
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
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) and (Duel.GetFieldCard(tp,LOCATION_MZONE,5):IsControler(1-tp) or not Duel.GetFieldCard(tp,LOCATION_MZONE,5))
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
and (at or bt)) then return end
local op=aux.SelectFromOptions(tp,
{b1,aux.Stringid(m,7)},
{b2,aux.Stringid(m,8)},
......@@ -135,6 +136,12 @@ function cm.movop(e,tp,eg,ep,ev,re,r,rp)
if op==3 then
Duel.MoveSequence(c,6)
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
function cm.efilter(e,te)
return te:GetHandler():IsLocation(LOCATION_MZONE) and e:GetHandler():GetLinkedGroup():IsContains(te:GetHandler())
......
--月球意识 篝
local s,id,o=GetID()
function s.initial_effect(c)
--synchro summon
aux.AddSynchroProcedure(c,nil,aux.NonTuner(nil),1)
c:EnableReviveLimit()
--special summon
local e2=Effect.CreateEffect(c)
e2:SetDescription(aux.Stringid(id,1))
e2:SetCategory(CATEGORY_SPECIAL_SUMMON+CATEGORY_TOKEN)
e2:SetType(EFFECT_TYPE_IGNITION)
e2:SetRange(LOCATION_MZONE)
e2:SetCost(s.spcost)
e2:SetTarget(s.sptg)
e2:SetOperation(s.spop)
c:RegisterEffect(e2)
local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(id,1))
e1:SetCategory(CATEGORY_SPECIAL_SUMMON+CATEGORY_TOKEN)
e1:SetType(EFFECT_TYPE_IGNITION)
e1:SetRange(LOCATION_MZONE)
e1:SetCost(s.spcost)
e1:SetTarget(s.sptg)
e1:SetOperation(s.spop)
c:RegisterEffect(e1)
--disable field
local e2=Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_TRIGGER_F+EFFECT_TYPE_FIELD)
......@@ -35,11 +36,12 @@ function s.sptg(e,tp,eg,ep,ev,re,r,rp,chk)
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,1,0,0)
end
function s.spop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
if Duel.GetLocationCount(tp,LOCATION_MZONE)<=0 then return end
if Duel.IsPlayerCanSpecialSummonMonster(tp,33701058,0,0x4011,0,3000,10,RACE_PLANT,ATTRIBUTE_EARTH) then
local c=e:GetHandler()
if Duel.GetLocationCount(tp,LOCATION_MZONE)<=0 then return end
if Duel.IsPlayerCanSpecialSummonMonster(tp,33701058,0,0x4011,0,3000,10,RACE_PLANT,ATTRIBUTE_EARTH) then
local token=Duel.CreateToken(tp,33701058)
Duel.SpecialSummon(token,0,tp,tp,false,false,POS_FACEUP_ATTACK)
-- 不会被战斗破坏
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetCode(EFFECT_INDESTRUCTABLE_BATTLE)
......@@ -47,19 +49,32 @@ function s.spop(e,tp,eg,ep,ev,re,r,rp)
e1:SetValue(1)
e1:SetReset(RESET_EVENT+RESETS_STANDARD-RESET_TOFIELD)
token:RegisterEffect(e1)
-- 不能改变表示形式
local e3=Effect.CreateEffect(c)
e3:SetType(EFFECT_TYPE_SINGLE)
e3:SetCode(EFFECT_CANNOT_CHANGE_POSITION)
e3:SetReset(RESET_EVENT+RESETS_STANDARD-RESET_TOFIELD)
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
function s.cfilter(c)
return c:IsFaceup() and c:IsCode(33701058)
end
function s.thcon(e)
return e:GetHandler():GetFlagEffect(id)~=0 and Duel.IsExistingMatchingCard(s.cfilter,c:GetControler(),LOCATION_MZONE,0,1,nil)
function s.thcon(e,tp,eg,ep,ev,re,r,rp)
local token=e:GetLabelObject()
return token and token:GetFlagEffect(id)>0 and token:IsLocation(LOCATION_MZONE)
end
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
......@@ -70,9 +85,10 @@ function s.thtg(e,tp,eg,ep,ev,re,r,rp,chk)
end
function s.thop(e,tp,eg,ep,ev,re,r,rp)
local g=Duel.GetMatchingGroup(Card.IsAbleToHand,tp,LOCATION_ONFIELD,LOCATION_ONFIELD,nil)
if Duel.SendtoGrave(g,REASON_EFFECT)~=0 then
Duel.BreakEffect()
Duel.Draw(tp,1,REASON_EFFECT)
Duel.Draw(1-tp,1,REASON_EFFECT)
if #g>0 then
Duel.SendtoHand(g,nil,REASON_EFFECT)
end
end
\ No newline at end of file
Duel.BreakEffect()
Duel.Draw(tp,1,REASON_EFFECT)
Duel.Draw(1-tp,1,REASON_EFFECT)
end
......@@ -30,7 +30,7 @@ function s.initial_effect(c)
end
function s.counterfilter(c)
return function(e,p,cid)
return e:GetHandler()==c
return e:GetHandler():GetOriginalCode()==id
end
end
......
......@@ -41,54 +41,58 @@ function cm.initial_effect(c)
e3:SetOperation(cm.spop2)
c:RegisterEffect(e3)
--to hand
local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(m,0))
e1:SetCategory(CATEGORY_SPECIAL_SUMMON)
e1:SetType(EFFECT_TYPE_TRIGGER_O+EFFECT_TYPE_SINGLE)
e1:SetProperty(EFFECT_FLAG_DELAY)
e1:SetCode(EVENT_SUMMON_SUCCESS)
e1:SetCountLimit(1,m)
e1:SetCost(cm.acost)
e1:SetTarget(cm.thtg)
e1:SetOperation(cm.thop)
c:RegisterEffect(e1)
local e2=e1:Clone()
e2:SetCode(EVENT_SPSUMMON_SUCCESS)
c:RegisterEffect(e2)
local e96=Effect.CreateEffect(c)
e96:SetDescription(aux.Stringid(m,0))
e96:SetCategory(CATEGORY_SPECIAL_SUMMON)
e96:SetType(EFFECT_TYPE_TRIGGER_O+EFFECT_TYPE_SINGLE)
e96:SetProperty(EFFECT_FLAG_DELAY)
e96:SetCode(EVENT_SUMMON_SUCCESS)
e96:SetCountLimit(1,m)
e96:SetCost(cm.acost)
e96:SetTarget(cm.thtg)
e96:SetOperation(cm.thop)
c:RegisterEffect(e96)
local e97=e96:Clone()
e97:SetCode(EVENT_SPSUMMON_SUCCESS)
c:RegisterEffect(e97)
--to hand2
local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(m,0))
e1:SetCategory(CATEGORY_SPECIAL_SUMMON)
e1:SetType(EFFECT_TYPE_TRIGGER_O+EFFECT_TYPE_SINGLE)
e1:SetProperty(EFFECT_FLAG_DELAY)
e1:SetCode(EVENT_SUMMON_SUCCESS)
e1:SetCountLimit(1,m)
e1:SetCost(cm.acost)
e1:SetTarget(cm.thtg2)
e1:SetOperation(cm.thop2)
c:RegisterEffect(e1)
local e2=e1:Clone()
e2:SetCode(EVENT_SPSUMMON_SUCCESS)
c:RegisterEffect(e2)
local e3=Effect.CreateEffect(c)
e3:SetType(EFFECT_TYPE_SINGLE)
e3:SetProperty(EFFECT_FLAG_SINGLE_RANGE)
e3:SetRange(LOCATION_MZONE)
e3:SetCode(EFFECT_UPDATE_ATTACK)
e3:SetCondition(cm.incon)
e3:SetValue(800)
c:RegisterEffect(e3)
local e3=Effect.CreateEffect(c)
e3:SetType(EFFECT_TYPE_SINGLE)
e3:SetProperty(EFFECT_FLAG_SINGLE_RANGE)
e3:SetRange(LOCATION_MZONE)
e3:SetCode(EFFECT_UPDATE_DEFENSE)
e3:SetCondition(cm.incon)
e3:SetValue(800)
c:RegisterEffect(e3)
local e98=Effect.CreateEffect(c)
e98:SetDescription(aux.Stringid(m,0))
e98:SetCategory(CATEGORY_SPECIAL_SUMMON)
e98:SetType(EFFECT_TYPE_TRIGGER_O+EFFECT_TYPE_SINGLE)
e98:SetProperty(EFFECT_FLAG_DELAY)
e98:SetCode(EVENT_SUMMON_SUCCESS)
e98:SetCountLimit(1,m)
e98:SetCost(cm.bcost)
e98:SetTarget(cm.thtg3)
e98:SetOperation(cm.thop3)
c:RegisterEffect(e98)
local e99=e98:Clone()
e99:SetCode(EVENT_SPSUMMON_SUCCESS)
c:RegisterEffect(e99)
local e4=Effect.CreateEffect(c)
e4:SetType(EFFECT_TYPE_SINGLE)
e4:SetProperty(EFFECT_FLAG_SINGLE_RANGE)
e4:SetRange(LOCATION_MZONE)
e4:SetCode(EFFECT_UPDATE_ATTACK)
e4:SetCondition(cm.incon)
e4:SetValue(800)
c:RegisterEffect(e4)
local e5=Effect.CreateEffect(c)
e5:SetType(EFFECT_TYPE_SINGLE)
e5:SetProperty(EFFECT_FLAG_SINGLE_RANGE)
e5:SetRange(LOCATION_MZONE)
e5:SetCode(EFFECT_UPDATE_DEFENSE)
e5:SetCondition(cm.incon)
e5:SetValue(800)
c:RegisterEffect(e5)
end
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
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)
end
function cm.thfilter(c,e,tp)
......@@ -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
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,2,tp,LOCATION_DECK)
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
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)
......@@ -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)
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
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON)
local g=Duel.SelectMatchingCard(tp,cm.thfilter2,tp,LOCATION_DECK,0,2,2,nil,e,tp)
if g:GetCount()>0 then
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)
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)
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