Commit 9bf33f4f authored by 伊蕾娜's avatar 伊蕾娜
parents 19e0939b 42626b3c
No preview for this file type
...@@ -121,3 +121,161 @@ function Gds.efcdptg(e,c) ...@@ -121,3 +121,161 @@ function Gds.efcdptg(e,c)
if g:GetCount()<=0 then return false end if g:GetCount()<=0 then return false end
return g:IsContains(c) return g:IsContains(c)
end end
--
--形式变更时点(抄的油库
Goil={}
--AFI
local Goil = false
EVENT_Goil_POS = 2008
local ms = {}
ms[0] = {}
ms[1] = {}
for i = 0, 13 do
ms[0][i] = {}
ms[1][i] = {}
end
local lasts = {}
function Gds.AdjustFieldInfoStore(c)
if Goil == true then return end
Goil = true
--store
local g=Group.CreateGroup()
g:KeepAlive()
--adjust
local e0 = Effect.CreateEffect(c)
e0:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
e0:SetProperty(EFFECT_FLAG_IGNORE_IMMUNE)
e0:SetCode(EVENT_ADJUST)
e0:SetOperation(Gds.AdjustFieldInfoCheck)
e0:SetLabelObject(g)
Duel.RegisterEffect(e0, 0)
end
function Gds.AdjustFieldInfoCheck(e,tp,eg,ep,ev,re,r,rp)
--define
local g = Duel.GetMatchingGroup(aux.TRUE, tp, LOCATION_ONFIELD, LOCATION_ONFIELD, nil)
local preg = e:GetLabelObject()
if g:GetCount()>0 then
--check
Gds.AdjustFieldInfoCheckMI(g, preg, e)
--renew
preg:Clear()
preg:Merge(g)
Gds.AdjustFieldInfoRenewMI(g)
else
if preg:GetCount()==0 then return end
preg:Clear()
end
end
function Gds.AdjustFieldInfoCheckMI(g, preg, e)
local n = -1 -- now seq
local p = -1 -- now player
local pn = -1 -- pre seq
local pp = -1 -- pre player
local tempg1 = {} -- up group(newVal > oldVal or cannot compare)
local tempg2 = {} -- down group(newVal < oldVal)
local isChange = not g:Equal(preg)
tempg1[0] = Group.CreateGroup()
tempg2[0] = Group.CreateGroup()
local tempc = g:GetFirst()
while(tempc) do
p = tempc:GetControler()
n = tempc:GetSequence()
if tempc:IsLocation(LOCATION_SZONE) then
n= n+7
end
if preg:IsContains(tempc) then
pp, pn = Gds.AdjustFieldInfoFindMI(tempc)
if pp < 0 or pn < 0 or ms[pp][pn][-1] ~= tempc:GetRealFieldID() then
-- do nothing
else
--pos
local pos = ms[pp][pn][1]
if pos ~= tempc:GetPosition() then
Duel.RaiseSingleEvent(tempc, EVENT_Goil_POS, e, 0, 0, 0, tempc:GetPosition())
if tempc:IsFaceup() then
tempg1[0]:AddCard(tempc)
else
tempg2[0]:AddCard(tempc)
end
end
end
end
tempc = g:GetNext()
end
if tempg1[0]:GetCount() > 0 then
Duel.RaiseEvent(tempg1[0], EVENT_Goil_POS, e, 0, 0, 0, 1)
isChange = true
end
if tempg2[0]:GetCount() > 0 then
Duel.RaiseEvent(tempg2[0], EVENT_Goil_POS, e, 0, 0, 0, 2)
isChange = true
end
if isChange then
lasts = Gds.DeepCopy(ms)
end
end
function Gds.AdjustFieldInfoRenewMI(g)
local n = -1
local p = -1
for i = 0, 13 do
ms[0][i][0] = nil
ms[1][i][0] = nil
end
tempc = g:GetFirst()
while(tempc) do
n = tempc:GetSequence()
if tempc:IsLocation(LOCATION_SZONE) then
n = n+7
end
p = tempc:GetControler()
ms[p][n][0] = tempc
ms[p][n][-1] = tempc:GetRealFieldID()
ms[p][n][1] = tempc:GetPosition()
tempc = g:GetNext()
end
end
function Gds.AdjustFieldInfoFindMI(c)
local i, j
for i = 0, 1 do
for j = 0, 13 do
if ms[i][j][0] == c then return i, j end
end
end
return -1, -1
end
function Gds.AFIFindLastMI(c)
local i, j
for i = 0, 1 do
for j = 0, 13 do
if lasts[i][j][0] == c then return i, j end
end
end
return -1, -1
end
function Gds.DeepCopy(tbl)
local t = {}
for k, v in pairs(tbl) do
if type(v) == "table" then
t[k] = Gds.DeepCopy(v)
else
t[k] = v
end
end
return t
end
\ No newline at end of file
No preview for this file type
#[2.0pre HCG][2015.10][2015.4.1][2015.4.1 TCG][2015.1.1][2015.1.1 TCG][2014.10.1][2014.10.1 TCG][2014.7.1][2014.7.14 TCG][2014世界赛][2014.4.1][2014.4.1 TCG][2014.2.1][2014.1.1 TCG][2013.9.1][2013.10.11 TCG][2013.9.1 TCG][2013.3.1][2012.9.1][2012.3.1][2011.9.1][2011.3.1][2010.9.1][2010.3.1][2009.9.1][2009.3.1][2008.9.1][2008.3.1][2007.9.1][2007.3.1][2006.9.1][2006.3.1][2005.9.1][2005.3.1][2004.9.1][2004.3.1][2003.10.15][2003.7.1][2003.4.10][2003.1.1][2002.10.1][2002.1.1][2000.12.1][2000.4.1][1999.8.26] #[2.0Delta HCG][2015.10][2015.4.1][2015.4.1 TCG][2015.1.1][2015.1.1 TCG][2014.10.1][2014.10.1 TCG][2014.7.1][2014.7.14 TCG][2014世界赛][2014.4.1][2014.4.1 TCG][2014.2.1][2014.1.1 TCG][2013.9.1][2013.10.11 TCG][2013.9.1 TCG][2013.3.1][2012.9.1][2012.3.1][2011.9.1][2011.3.1][2010.9.1][2010.3.1][2009.9.1][2009.3.1][2008.9.1][2008.3.1][2007.9.1][2007.3.1][2006.9.1][2006.3.1][2005.9.1][2005.3.1][2004.9.1][2004.3.1][2003.10.15][2003.7.1][2003.4.10][2003.1.1][2002.10.1][2002.1.1][2000.12.1][2000.4.1][1999.8.26]
!2.0pre HCG !2.0Delta HCG
#limit #limit
23252 0 --暴力取材 23252 0 --暴力取材
14028 2 --BAD APPLE!! 14028 2 --BAD APPLE!!
...@@ -11,19 +11,16 @@ ...@@ -11,19 +11,16 @@
24164 1 --针山火海的废狱使者✿火焰猫燐 24164 1 --针山火海的废狱使者✿火焰猫燐
10246 2 --绮想的巫女 10246 2 --绮想的巫女
--油卡 --油卡
999701 2 --✿伊吹萃香✿
999019 0 --地底蔷薇✿濑笈叶 999019 0 --地底蔷薇✿濑笈叶
--AOJ --AOJ
4031101 1 --可怜
--DPL --DPL
7001041 0 --虹色的魔法少女✿ 7001041 0 --虹色的魔法少女✿
7001102 0 --铳符『月狂之枪』 7001102 0 --铳符『月狂之枪』
--蝶卡 --蝶卡
1153602 1 --鸟冲 1153602 1 --鸟冲
1153607 1 --河童『光学回转』 1153607 1 --河童『光学回转』
1192020 0 --甜蜜工厂✿双子莉莉 1192020 2 --甜蜜工厂✿双子莉莉
--M --M
50008100 2 --梅露可 天涯游者
50008101 0 --梅露可 飘落绵雪 50008101 0 --梅露可 飘落绵雪
50008109 1 --永洁 50008109 1 --永洁
--鱼卡 --鱼卡
...@@ -48,7 +45,7 @@ ...@@ -48,7 +45,7 @@
14090023 0 --吲哚天种 14090023 0 --吲哚天种
14090027 0 --天顶的魔种 14090027 0 --天顶的魔种
14000055 1 --源始魔术-始源 14000055 1 --源始魔术-始源
--fw --kg
17035030 0 --臭鼬 17035030 0 --臭鼬
17050932 0 --雷gay 17050932 0 --雷gay
17052935 1 --假魔兽使 17052935 1 --假魔兽使
...@@ -63,6 +60,9 @@ ...@@ -63,6 +60,9 @@
74561020 2 --女神天子 74561020 2 --女神天子
74561011 2 --暴风文 74561011 2 --暴风文
74561017 1 --盲目的贤者✿格洛丽亚 74561017 1 --盲目的贤者✿格洛丽亚
74560004 1 --银雨·常夜雨兎
74561037 1 --月斗神拳✿世纪末铃仙
74562040 1 --天人合一!
--L --L
--金卡 --金卡
86379706 0 --精神✿操作 86379706 0 --精神✿操作
...@@ -72,6 +72,8 @@ ...@@ -72,6 +72,8 @@
86379758 1 --嫉妒『看不见的绿眼怪物』 86379758 1 --嫉妒『看不见的绿眼怪物』
86379752 0 --花咲爷『对华丽的仁者之嫉妒』 86379752 0 --花咲爷『对华丽的仁者之嫉妒』
86379692 0 --隙间妖怪✿八云紫 86379692 0 --隙间妖怪✿八云紫
86379013 0 --梦符『刈安色的错综迷梦』
86379702 0 --就在你的身后✿古明地恋
--花草卡? --花草卡?
99677001 0 --茨歌仙✿ 99677001 0 --茨歌仙✿
99677002 1 --茨华仙✿神仙思想喜爱动物的仙人 99677002 1 --茨华仙✿神仙思想喜爱动物的仙人
...@@ -84,6 +86,12 @@ ...@@ -84,6 +86,12 @@
20100227 0 --御刀使夜见 20100227 0 --御刀使夜见
--耻卡 --耻卡
33300305 0 --多线程虚网操作员 33300305 0 --多线程虚网操作员
--AL
19114522 0 --人形学徒✿爱丽丝
--KA
410436 1 --因幡的公主殿下✿蓬莱山辉夜
--⑨卡
99999506 1 --指示『净化进行中』
--特殊卡 --特殊卡
13959980 0 --2Pick技能-卡名变换 13959980 0 --2Pick技能-卡名变换
13959981 0 --2Pick技能-融合强化 13959981 0 --2Pick技能-融合强化
......
pics/74560009.jpg

49.4 KB | W: | H:

pics/74560009.jpg

50.3 KB | W: | H:

pics/74560009.jpg
pics/74560009.jpg
pics/74560009.jpg
pics/74560009.jpg
  • 2-up
  • Swipe
  • Onion skin
pics/86379712.jpg

52.1 KB | W: | H:

pics/86379712.jpg

46.7 KB | W: | H:

pics/86379712.jpg
pics/86379712.jpg
pics/86379712.jpg
pics/86379712.jpg
  • 2-up
  • Swipe
  • Onion skin
pics/99999026.jpg

50.5 KB | W: | H:

pics/99999026.jpg

49.8 KB | W: | H:

pics/99999026.jpg
pics/99999026.jpg
pics/99999026.jpg
pics/99999026.jpg
  • 2-up
  • Swipe
  • Onion skin
pics/99999514.jpg

54.9 KB | W: | H:

pics/99999514.jpg

55.1 KB | W: | H:

pics/99999514.jpg
pics/99999514.jpg
pics/99999514.jpg
pics/99999514.jpg
  • 2-up
  • Swipe
  • Onion skin
...@@ -61,13 +61,14 @@ function c20050.initial_effect(c) ...@@ -61,13 +61,14 @@ function c20050.initial_effect(c)
e7:SetRange(LOCATION_SZONE) e7:SetRange(LOCATION_SZONE)
e7:SetCode(EFFECT_SELF_DESTROY) e7:SetCode(EFFECT_SELF_DESTROY)
e7:SetCondition(c20050.descon) e7:SetCondition(c20050.descon)
c:RegisterEffect(e7) --c:RegisterEffect(e7)
--damage --damage
local e8=Effect.CreateEffect(c) local e8=Effect.CreateEffect(c)
e8:SetCategory(CATEGORY_DAMAGE) e8:SetCategory(CATEGORY_DAMAGE)
e8:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS) e8:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
e8:SetCode(EVENT_REMOVE) e8:SetCode(EVENT_REMOVE)
e8:SetRange(LOCATION_SZONE) e8:SetRange(LOCATION_SZONE)
e8:SetCountLimit(4)
e8:SetTarget(c20050.target) e8:SetTarget(c20050.target)
e8:SetOperation(c20050.operation) e8:SetOperation(c20050.operation)
c:RegisterEffect(e8) c:RegisterEffect(e8)
...@@ -81,9 +82,9 @@ function c20050.ctop(e,tp,eg,ep,ev,re,r,rp) ...@@ -81,9 +82,9 @@ function c20050.ctop(e,tp,eg,ep,ev,re,r,rp)
end end
end end
function c20050.cost1(e,tp,eg,ep,ev,re,r,rp,chk) function c20050.cost1(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsCanRemoveCounter(tp,1,0,0x128b,4,REASON_COST) end if chk==0 then return Duel.IsCanRemoveCounter(tp,1,0,0x128b,3,REASON_COST) end
Duel.Hint(HINT_OPSELECTED,1-tp,e:GetDescription()) Duel.Hint(HINT_OPSELECTED,1-tp,e:GetDescription())
Duel.RemoveCounter(tp,1,0,0x128b,4,REASON_COST) Duel.RemoveCounter(tp,1,0,0x128b,3,REASON_COST)
end end
function c20050.filter1(c) function c20050.filter1(c)
return c:IsDestructable() and c:IsType(TYPE_SPELL+TYPE_TRAP) return c:IsDestructable() and c:IsType(TYPE_SPELL+TYPE_TRAP)
...@@ -103,9 +104,9 @@ function c20050.op1(e,tp,eg,ep,ev,re,r,rp) ...@@ -103,9 +104,9 @@ function c20050.op1(e,tp,eg,ep,ev,re,r,rp)
end end
end end
function c20050.cost2(e,tp,eg,ep,ev,re,r,rp,chk) function c20050.cost2(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsCanRemoveCounter(tp,1,0,0x128b,2,REASON_COST) end if chk==0 then return Duel.IsCanRemoveCounter(tp,1,0,0x128b,4,REASON_COST) end
Duel.Hint(HINT_OPSELECTED,1-tp,e:GetDescription()) Duel.Hint(HINT_OPSELECTED,1-tp,e:GetDescription())
Duel.RemoveCounter(tp,1,0,0x128b,2,REASON_COST) Duel.RemoveCounter(tp,1,0,0x128b,4,REASON_COST)
end end
function c20050.filter2(c) function c20050.filter2(c)
return c:IsType(TYPE_MONSTER) and c:IsAbleToGrave() return c:IsType(TYPE_MONSTER) and c:IsAbleToGrave()
...@@ -126,9 +127,9 @@ function c20050.filter3(c,e,tp) ...@@ -126,9 +127,9 @@ function c20050.filter3(c,e,tp)
return c:IsLevelBelow(5) and c:IsType(TYPE_SPIRIT) and c:IsCanBeSpecialSummoned(e,0,tp,false,false) return c:IsLevelBelow(5) and c:IsType(TYPE_SPIRIT) and c:IsCanBeSpecialSummoned(e,0,tp,false,false)
end end
function c20050.cost3(e,tp,eg,ep,ev,re,r,rp,chk) function c20050.cost3(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsCanRemoveCounter(tp,1,0,0x128b,6,REASON_COST) end if chk==0 then return Duel.IsCanRemoveCounter(tp,1,0,0x128b,5,REASON_COST) end
Duel.Hint(HINT_OPSELECTED,1-tp,e:GetDescription()) Duel.Hint(HINT_OPSELECTED,1-tp,e:GetDescription())
Duel.RemoveCounter(tp,1,0,0x128b,6,REASON_COST) Duel.RemoveCounter(tp,1,0,0x128b,5,REASON_COST)
end end
function c20050.tg3(e,tp,eg,ep,ev,re,r,rp,chk) function c20050.tg3(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
...@@ -146,7 +147,7 @@ function c20050.op3(e,tp,eg,ep,ev,re,r,rp) ...@@ -146,7 +147,7 @@ function c20050.op3(e,tp,eg,ep,ev,re,r,rp)
end end
end end
function c20050.atkval(e,c) function c20050.atkval(e,c)
return e:GetHandler():GetCounter(0x128b)*100 return e:GetHandler():GetCounter(0x128b)*200
end end
function c20050.desfilter(c) function c20050.desfilter(c)
return c:IsSetCard(0x208) and c:IsType(TYPE_MONSTER) return c:IsSetCard(0x208) and c:IsType(TYPE_MONSTER)
......
...@@ -14,11 +14,11 @@ function c20267.initial_effect(c) ...@@ -14,11 +14,11 @@ function c20267.initial_effect(c)
local e2=Effect.CreateEffect(c) local e2=Effect.CreateEffect(c)
e2:SetDescription(aux.Stringid(20267,1)) e2:SetDescription(aux.Stringid(20267,1))
e2:SetCategory(CATEGORY_RELEASE+CATEGORY_SPECIAL_SUMMON) e2:SetCategory(CATEGORY_RELEASE+CATEGORY_SPECIAL_SUMMON)
e2:SetType(EFFECT_TYPE_QUICK_O) e2:SetType(EFFECT_TYPE_IGNITION)
e2:SetCode(EVENT_FREE_CHAIN) --e2:SetCode(EVENT_FREE_CHAIN)
e2:SetHintTiming(0,0x1c0) --e2:SetHintTiming(0,0x1c0)
e2:SetRange(LOCATION_MZONE) e2:SetRange(LOCATION_MZONE)
e2:SetCountLimit(1,202670) e2:SetCountLimit(1,20267)
e2:SetCondition(c20267.sccon) e2:SetCondition(c20267.sccon)
e2:SetTarget(c20267.sctarg) e2:SetTarget(c20267.sctarg)
e2:SetOperation(c20267.scop) e2:SetOperation(c20267.scop)
......
...@@ -58,7 +58,7 @@ function c20300.posop(e,tp,eg,ep,ev,re,r,rp) ...@@ -58,7 +58,7 @@ function c20300.posop(e,tp,eg,ep,ev,re,r,rp)
end end
end end
function c20300.condition(e,tp,eg,ep,ev,re,r,rp) function c20300.condition(e,tp,eg,ep,ev,re,r,rp)
return re:GetHandler():IsRace(RACE_MACHINE) and re:GetHandler():IsSetCard(0x186) return re:GetHandler():IsRace(RACE_MACHINE) and re:GetHandler():IsSetCard(0x186) and re:GetHandler():GetControler()==tp
end end
function c20300.target(e,tp,eg,ep,ev,re,r,rp,chk) function c20300.target(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return true end if chk==0 then return true end
......
...@@ -39,16 +39,16 @@ function c21153.tg(e,c) ...@@ -39,16 +39,16 @@ function c21153.tg(e,c)
return c:IsSetCard(0x522) return c:IsSetCard(0x522)
end end
function c21153.spfilter(c,e,tp) function c21153.spfilter(c,e,tp)
return c:IsRace(RACE_WINDBEAST) and c:IsSetCard(0x208) and c:IsCanBeSpecialSummoned(e,0,tp,false,false) and (c:IsLocation(LOCATION_HAND) or c:IsFaceup()) return c:IsRace(RACE_WINDBEAST) and c:IsSetCard(0x208) and c:IsCanBeSpecialSummoned(e,0,tp,false,false) and (c:IsLocation(0x12) or c:IsFaceup())
end end
function c21153.sptg(e,tp,eg,ep,ev,re,r,rp,chk) function c21153.sptg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(c21153.spfilter,tp,LOCATION_HAND+LOCATION_EXTRA,0,1,nil,e,tp) end if chk==0 then return Duel.IsExistingMatchingCard(c21153.spfilter,tp,0x52,0,1,nil,e,tp) end
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,1,tp,LOCATION_HAND+LOCATION_EXTRA) Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,1,tp,0x52)
end end
function c21153.spop(e,tp,eg,ep,ev,re,r,rp) function c21153.spop(e,tp,eg,ep,ev,re,r,rp)
if not e:GetHandler():IsRelateToEffect(e) then return end if not e:GetHandler():IsRelateToEffect(e) then return end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON)
local g=Duel.SelectMatchingCard(tp,c21153.spfilter,tp,LOCATION_HAND+LOCATION_EXTRA,0,1,1,nil,e,tp) local g=Duel.SelectMatchingCard(tp,c21153.spfilter,tp,0x52,0,1,1,nil,e,tp)
local tc=g:GetFirst() local tc=g:GetFirst()
if tc then if tc then
Duel.SpecialSummon(tc,0,tp,tp,false,false,POS_FACEUP) Duel.SpecialSummon(tc,0,tp,tp,false,false,POS_FACEUP)
......
...@@ -83,7 +83,7 @@ function c26100.costfilter(c,e,tp) ...@@ -83,7 +83,7 @@ function c26100.costfilter(c,e,tp)
return c:IsReleasable() and c:IsType(TYPE_MONSTER) and (c:IsLocation(LOCATION_HAND) and Duel.GetLocationCount(tp,LOCATION_MZONE)>0 or c:IsLocation(LOCATION_MZONE) and Duel.GetMZoneCount(tp,c)>0) return c:IsReleasable() and c:IsType(TYPE_MONSTER) and (c:IsLocation(LOCATION_HAND) and Duel.GetLocationCount(tp,LOCATION_MZONE)>0 or c:IsLocation(LOCATION_MZONE) and Duel.GetMZoneCount(tp,c)>0)
end end
function c26100.filter(c,e,tp) function c26100.filter(c,e,tp)
return c:IsSetCard(0x208) and c:IsCanBeSpecialSummoned(e,0,tp,false,false,POS_FACEUP) and c:GetLevel()==4 return c:IsSetCard(0x208) and c:IsRace(RACE_ZOMBIE) and c:IsCanBeSpecialSummoned(e,0,tp,false,false,POS_FACEUP) and c:IsLevelBelow(4)
end end
function c26100.target(e,tp,eg,ep,ev,re,r,rp,chk) function c26100.target(e,tp,eg,ep,ev,re,r,rp,chk)
local rg=Duel.GetMatchingGroup(c26100.costfilter,tp,LOCATION_HAND+LOCATION_MZONE,0,nil,e,tp) local rg=Duel.GetMatchingGroup(c26100.costfilter,tp,LOCATION_HAND+LOCATION_MZONE,0,nil,e,tp)
......
...@@ -28,7 +28,7 @@ function c26330.initial_effect(c) ...@@ -28,7 +28,7 @@ function c26330.initial_effect(c)
c:RegisterEffect(e2) c:RegisterEffect(e2)
end end
function c26330.cfilter(c) function c26330.cfilter(c)
return c:IsSetCard(0x306) and c:IsDiscardable() return c:IsDiscardable()
end end
function c26330.discost(e,tp,eg,ep,ev,re,r,rp,chk) function c26330.discost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard( c26330.cfilter,tp,LOCATION_HAND,0,1,e:GetHandler()) end if chk==0 then return Duel.IsExistingMatchingCard( c26330.cfilter,tp,LOCATION_HAND,0,1,e:GetHandler()) end
......
...@@ -22,7 +22,6 @@ function c27021.initial_effect(c) ...@@ -22,7 +22,6 @@ function c27021.initial_effect(c)
local e3=Effect.CreateEffect(c) local e3=Effect.CreateEffect(c)
e3:SetCategory(CATEGORY_TOHAND+CATEGORY_SEARCH+CATEGORY_TOGRAVE) e3:SetCategory(CATEGORY_TOHAND+CATEGORY_SEARCH+CATEGORY_TOGRAVE)
e3:SetDescription(aux.Stringid(27021,1)) e3:SetDescription(aux.Stringid(27021,1))
e3:SetProperty(EFFECT_FLAG_NO_TURN_RESET)
e3:SetType(EFFECT_TYPE_IGNITION) e3:SetType(EFFECT_TYPE_IGNITION)
e3:SetCountLimit(1) e3:SetCountLimit(1)
e3:SetRange(LOCATION_SZONE) e3:SetRange(LOCATION_SZONE)
......
...@@ -25,7 +25,7 @@ function c27147.initial_effect(c) ...@@ -25,7 +25,7 @@ function c27147.initial_effect(c)
e3:SetType(EFFECT_TYPE_SINGLE) e3:SetType(EFFECT_TYPE_SINGLE)
e3:SetCode(EFFECT_TRAP_ACT_IN_HAND) e3:SetCode(EFFECT_TRAP_ACT_IN_HAND)
e3:SetCondition(c27147.handcon) e3:SetCondition(c27147.handcon)
--c:RegisterEffect(e3) c:RegisterEffect(e3)
end end
function c27147.target1(e,tp,eg,ep,ev,re,r,rp,chk) function c27147.target1(e,tp,eg,ep,ev,re,r,rp,chk)
local ev=Duel.GetBattleDamage(tp) local ev=Duel.GetBattleDamage(tp)
...@@ -59,5 +59,5 @@ function c27147.cfilter(c) ...@@ -59,5 +59,5 @@ function c27147.cfilter(c)
return c:IsFaceup() and c:IsSetCard(0x527) return c:IsFaceup() and c:IsSetCard(0x527)
end end
function c27147.handcon(e) function c27147.handcon(e)
return Duel.GetMatchingGroupCount(c27147.cfilter,e:GetHandler():GetControler(),LOCATION_MZONE,0,nil)>0 return Duel.GetTurnCount()<3 --Duel.GetMatchingGroupCount(c27147.cfilter,e:GetHandler():GetControler(),LOCATION_MZONE,0,nil)>0
end end
...@@ -53,6 +53,17 @@ function c29019.operation(e,tp,eg,ep,ev,re,r,rp) ...@@ -53,6 +53,17 @@ function c29019.operation(e,tp,eg,ep,ev,re,r,rp)
if g:GetCount()>0 then if g:GetCount()>0 then
Duel.SendtoHand(g,nil,REASON_EFFECT) Duel.SendtoHand(g,nil,REASON_EFFECT)
Duel.ConfirmCards(1-tp,g) Duel.ConfirmCards(1-tp,g)
-- 额外卡组限制
local e1=Effect.CreateEffect(e:GetHandler())
e1:SetType(EFFECT_TYPE_FIELD)
e1:SetProperty(EFFECT_FLAG_PLAYER_TARGET)
e1:SetCode(EFFECT_CANNOT_SPECIAL_SUMMON)
e1:SetTargetRange(1,0)
e1:SetTarget(function(_,c)
return c:IsLocation(LOCATION_EXTRA) and not
_G["c" .. c:GetOriginalCode()].DescSetName==0x826 end)
e1:SetReset(RESET_PHASE+PHASE_END)
Duel.RegisterEffect(e1,tp)
end end
end end
function c29019.hfilter(c) function c29019.hfilter(c)
......
...@@ -54,7 +54,7 @@ function c29501.filter(c) ...@@ -54,7 +54,7 @@ function c29501.filter(c)
return c:IsSetCard(0x432) and c:IsAbleToHand() return c:IsSetCard(0x432) and c:IsAbleToHand()
end end
function c29501.target(e,tp,eg,ep,ev,re,r,rp,chk) function c29501.target(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.GetCurrentPhase()==PHASE_MAIN2 and Duel.IsExistingMatchingCard(c29501.filter,tp,LOCATION_DECK,0,1,nil) end if chk==0 then return Duel.IsExistingMatchingCard(c29501.filter,tp,LOCATION_DECK,0,1,nil) end
Duel.SetOperationInfo(0,CATEGORY_TOHAND,nil,1,tp,LOCATION_DECK) Duel.SetOperationInfo(0,CATEGORY_TOHAND,nil,1,tp,LOCATION_DECK)
end end
function c29501.operation(e,tp,eg,ep,ev,re,r,rp) function c29501.operation(e,tp,eg,ep,ev,re,r,rp)
...@@ -63,6 +63,17 @@ function c29501.operation(e,tp,eg,ep,ev,re,r,rp) ...@@ -63,6 +63,17 @@ function c29501.operation(e,tp,eg,ep,ev,re,r,rp)
if g:GetCount()>0 then if g:GetCount()>0 then
Duel.SendtoHand(g,nil,REASON_EFFECT) Duel.SendtoHand(g,nil,REASON_EFFECT)
Duel.ConfirmCards(1-tp,g) Duel.ConfirmCards(1-tp,g)
-- 额外卡组限制
local e1=Effect.CreateEffect(e:GetHandler())
e1:SetType(EFFECT_TYPE_FIELD)
e1:SetProperty(EFFECT_FLAG_PLAYER_TARGET)
e1:SetCode(EFFECT_CANNOT_SPECIAL_SUMMON)
e1:SetTargetRange(1,0)
e1:SetTarget(function(_,c)
return c:IsLocation(LOCATION_EXTRA) and not c:IsSetCard(0x208)
end)
e1:SetReset(RESET_PHASE+PHASE_END)
Duel.RegisterEffect(e1,tp)
end end
end end
function c29501.efilter(e,c) function c29501.efilter(e,c)
......
...@@ -45,7 +45,7 @@ function c50277.ccon(e,tp,eg,ep,ev,re,r,rp) ...@@ -45,7 +45,7 @@ function c50277.ccon(e,tp,eg,ep,ev,re,r,rp)
end end
function c50277.cop(e,tp,eg,ep,ev,re,r,rp) function c50277.cop(e,tp,eg,ep,ev,re,r,rp)
local atk=e:GetLabelObject():GetAttack() local atk=e:GetLabelObject():GetAttack()
Duel.Recover(tp,atk*2,REASON_EFFECT) Duel.Recover(tp,atk,REASON_EFFECT)
if Duel.GetFieldGroupCount(tp,LOCATION_HAND,0)<2 then if Duel.GetFieldGroupCount(tp,LOCATION_HAND,0)<2 then
Duel.Draw(tp,1,REASON_EFFECT) Duel.Draw(tp,1,REASON_EFFECT)
end end
......
...@@ -23,7 +23,7 @@ function c50331.initial_effect(c) ...@@ -23,7 +23,7 @@ function c50331.initial_effect(c)
c:RegisterEffect(e4) c:RegisterEffect(e4)
end end
function c50331.scfilter(c) function c50331.scfilter(c)
return c:IsSetCard(0x250) and c:IsAbleToHand() return c:IsSetCard(0x250) and c:IsAbleToHand() and c:IsType(TYPE_SPELL+TYPE_TRAP)
end end
function c50331.sccost(e,tp,eg,ep,ev,re,r,rp,chk) function c50331.sccost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return e:GetHandler():IsAbleToDeckAsCost() end if chk==0 then return e:GetHandler():IsAbleToDeckAsCost() end
......
...@@ -104,7 +104,7 @@ function c50517.disop2(e,tp,eg,ep,ev,re,r,rp) ...@@ -104,7 +104,7 @@ function c50517.disop2(e,tp,eg,ep,ev,re,r,rp)
local sg=og:Filter(c50517.discfilter,nil) local sg=og:Filter(c50517.discfilter,nil)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TODECK) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TODECK)
local g=sg:Select(tp,1,1,nil) local g=sg:Select(tp,1,1,nil)
if Duel.NegateActivation(ev) and re:GetHandler():IsRelateToEffect(re) and Duel.SendtoDeck(g,nil,2,REASON_EFFECT)>0 then if Duel.SendtoDeck(g,nil,2,REASON_EFFECT)>0 and Duel.NegateActivation(ev) and re:GetHandler():IsRelateToEffect(re) then
Duel.Destroy(eg,REASON_EFFECT) Duel.Destroy(eg,REASON_EFFECT)
end end
end end
...@@ -31,7 +31,7 @@ function c60520.cost(e,tp,eg,ep,ev,re,r,rp,chk) ...@@ -31,7 +31,7 @@ function c60520.cost(e,tp,eg,ep,ev,re,r,rp,chk)
Duel.SendtoGrave(e:GetHandler(),REASON_COST+REASON_DISCARD) Duel.SendtoGrave(e:GetHandler(),REASON_COST+REASON_DISCARD)
end end
function c60520.target(e,tp,eg,ep,ev,re,r,rp,chk) function c60520.target(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.GetFieldGroupCount(tp,LOCATION_HAND,0)<=2 and Duel.GetFieldGroupCount(tp,LOCATION_ONFIELD,0)<Duel.GetFieldGroupCount(tp,0,LOCATION_ONFIELD) end if chk==0 then return Duel.GetFieldGroupCount(tp,LOCATION_HAND,0)<=3 and Duel.GetFieldGroupCount(tp,LOCATION_ONFIELD,0)<Duel.GetFieldGroupCount(tp,0,LOCATION_ONFIELD) end
Duel.SetOperationInfo(0,CATEGORY_REMOVE,nil,1,0,0) Duel.SetOperationInfo(0,CATEGORY_REMOVE,nil,1,0,0)
end end
function c60520.operation(e,tp,eg,ep,ev,re,r,rp) function c60520.operation(e,tp,eg,ep,ev,re,r,rp)
......
...@@ -62,8 +62,8 @@ function cCardno.op(e,tp,eg,ep,ev,re,r,rp) ...@@ -62,8 +62,8 @@ function cCardno.op(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler() local c=e:GetHandler()
local tc=Duel.GetFirstTarget() local tc=Duel.GetFirstTarget()
if Duel.IsExistingMatchingCard(cCardno.filter,tp,LOCATION_DECK,0,1,nil,e,tp) and Duel.GetMZoneCount(tp,tc)>0 and tc:IsRelateToEffect(e) then if Duel.IsExistingMatchingCard(cCardno.filter,tp,LOCATION_DECK,0,1,nil,e,tp) and Duel.GetMZoneCount(tp,tc)>0 and tc:IsRelateToEffect(e) then
Duel.Destroy(tc,REASON_EFFECT) if tc:IsAbleToRemove(tp,POS_FACEDOWN) then Duel.Remove(tc,POS_FACEDOWN,REASON_EFFECT)
Duel.Remove(tc,POS_FACEDOWN,REASON_EFFECT) else Duel.Remove(tc,POS_FACEUP,REASON_EFFECT) end
local g=Duel.SelectMatchingCard(tp,cCardno.filter,tp,LOCATION_DECK,0,1,1,nil,e,tp) local g=Duel.SelectMatchingCard(tp,cCardno.filter,tp,LOCATION_DECK,0,1,1,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)
......
...@@ -52,6 +52,7 @@ end ...@@ -52,6 +52,7 @@ end
function cCardno.drcost(e,tp,eg,ep,ev,re,r,rp,chk) function cCardno.drcost(e,tp,eg,ep,ev,re,r,rp,chk)
local c=e:GetHandler() local c=e:GetHandler()
if chk==0 then return c:IsAbleToRemoveAsCost() end if chk==0 then return c:IsAbleToRemoveAsCost() end
Duel.ConfirmCards(1-tp,c)
Duel.Remove(c,POS_FACEDOWN,REASON_COST) Duel.Remove(c,POS_FACEDOWN,REASON_COST)
end end
function cCardno.filter(c) function cCardno.filter(c)
......
...@@ -57,6 +57,7 @@ end ...@@ -57,6 +57,7 @@ end
function cCardno.drcost(e,tp,eg,ep,ev,re,r,rp,chk) function cCardno.drcost(e,tp,eg,ep,ev,re,r,rp,chk)
local c=e:GetHandler() local c=e:GetHandler()
if chk==0 then return c:IsAbleToRemoveAsCost() end if chk==0 then return c:IsAbleToRemoveAsCost() end
Duel.ConfirmCards(1-tp,c)
Duel.Remove(c,POS_FACEDOWN,REASON_COST) Duel.Remove(c,POS_FACEDOWN,REASON_COST)
end end
function cCardno.filter(c) function cCardno.filter(c)
......
...@@ -85,9 +85,9 @@ function cCardno.spop(e,tp,eg,ep,ev,re,r,rp) ...@@ -85,9 +85,9 @@ function cCardno.spop(e,tp,eg,ep,ev,re,r,rp)
Debug.Message(m) Debug.Message(m)
if Duel.GetMZoneCount(tp,g)<=0 or not c:IsCanBeSpecialSummoned(e,0,tp,false,false) or not c:IsRelateToEffect(e) then return end if Duel.GetMZoneCount(tp,g)<=0 or not c:IsCanBeSpecialSummoned(e,0,tp,false,false) or not c:IsRelateToEffect(e) then return end
local tg=g:Filter(Card.IsRelateToEffect,nil,e) local tg=g:Filter(Card.IsRelateToEffect,nil,e)
if Duel.Destroy(tg,REASON_EFFECT)>0 then Duel.Remove(tg,POS_FACEDOWN,REASON_EFFECT)
tg:Sub(tg:Filter(Card.IsLocation,nil,LOCATION_ONFIELD)) local tg2=tg:Filter(Card.IsLocation,nil,LOCATION_ONFIELD)
Duel.Remove(tg,POS_FACEDOWN,REASON_EFFECT) Duel.Remove(tg,POS_FACEUP,REASON_EFFECT)
end end
if Duel.SpecialSummon(c,0,tp,tp,false,false,POS_FACEUP)>0 then if Duel.SpecialSummon(c,0,tp,tp,false,false,POS_FACEUP)>0 then
--c:CompleteProcedure() --c:CompleteProcedure()
......
...@@ -10,7 +10,7 @@ function cCardno.initial_effect(c) ...@@ -10,7 +10,7 @@ function cCardno.initial_effect(c)
e1:SetCategory(CATEGORY_SPECIAL_SUMMON+CATEGORY_DESTROY+CATEGORY_REMOVE) e1:SetCategory(CATEGORY_SPECIAL_SUMMON+CATEGORY_DESTROY+CATEGORY_REMOVE)
e1:SetType(EFFECT_TYPE_IGNITION) e1:SetType(EFFECT_TYPE_IGNITION)
e1:SetRange(LOCATION_GRAVE) e1:SetRange(LOCATION_GRAVE)
e1:SetCountLimit(2,Cardno) e1:SetCountLimit(4,Cardno)
e1:SetTarget(cCardno.sptg) e1:SetTarget(cCardno.sptg)
e1:SetOperation(cCardno.spop) e1:SetOperation(cCardno.spop)
c:RegisterEffect(e1) c:RegisterEffect(e1)
...@@ -42,6 +42,15 @@ function cCardno.spop(e,tp,eg,ep,ev,re,r,rp) ...@@ -42,6 +42,15 @@ function cCardno.spop(e,tp,eg,ep,ev,re,r,rp)
Duel.Destroy(tc,REASON_EFFECT) Duel.Destroy(tc,REASON_EFFECT)
Duel.Remove(tc,POS_FACEDOWN,REASON_EFFECT) Duel.Remove(tc,POS_FACEDOWN,REASON_EFFECT)
Duel.SpecialSummon(c,0,tp,tp,false,false,POS_FACEUP) Duel.SpecialSummon(c,0,tp,tp,false,false,POS_FACEUP)
if tc:IsType(TYPE_TUNER) and Duel.SelectYesNo(tp,aux.Stringid(Cardno,2)) then
local e2=Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_SINGLE)
e2:SetCode(EFFECT_REMOVE_TYPE)
e2:SetProperty(EFFECT_FLAG_CANNOT_DISABLE)
e2:SetValue(TYPE_TUNER)
e2:SetReset(RESET_EVENT+RESETS_STANDARD)
tc:RegisterEffect(e2)
end
end end
end end
--level down --level down
......
...@@ -76,6 +76,7 @@ end ...@@ -76,6 +76,7 @@ end
function cCardno.cost(e,tp,eg,ep,ev,re,r,rp,chk) function cCardno.cost(e,tp,eg,ep,ev,re,r,rp,chk)
local c=e:GetHandler() local c=e:GetHandler()
if chk==0 then return c:IsAbleToRemoveAsCost() end if chk==0 then return c:IsAbleToRemoveAsCost() end
Duel.ConfirmCards(1-tp,c)
Duel.Remove(c,POS_FACEDOWN,REASON_COST) Duel.Remove(c,POS_FACEDOWN,REASON_COST)
end end
function cCardno.tg(e,tp,eg,ep,ev,re,r,rp,chk) function cCardno.tg(e,tp,eg,ep,ev,re,r,rp,chk)
...@@ -86,6 +87,13 @@ function cCardno.op(e,tp,eg,ep,ev,re,r,rp) ...@@ -86,6 +87,13 @@ function cCardno.op(e,tp,eg,ep,ev,re,r,rp)
if Duel.GetLocationCount(1-tp,LOCATION_SZONE)<2 then return end if Duel.GetLocationCount(1-tp,LOCATION_SZONE)<2 then return end
for i=1,2 do for i=1,2 do
local tc=Duel.CreateToken(tp,74560016) local tc=Duel.CreateToken(tp,74560016)
Duel.MoveToField(tc,tp,1-tp,LOCATION_SZONE,POS_FACEUP,true) local te=tc:GetActivateEffect()
if te:IsActivatable(tp,true,true) then
Duel.MoveToField(tc,tp,1-tp,LOCATION_SZONE,POS_FACEUP,true)
local cost=te:GetCost()
if cost then cost(te,tp,eg,ep,ev,re,r,rp,1) end
local fop=te:GetOperation()
fop(e,tp,eg,ep,ev,re,r,rp)
end
end end
end end
\ No newline at end of file
...@@ -59,6 +59,7 @@ end ...@@ -59,6 +59,7 @@ end
function cCardno.cost(e,tp,eg,ep,ev,re,r,rp,chk) function cCardno.cost(e,tp,eg,ep,ev,re,r,rp,chk)
local c=e:GetHandler() local c=e:GetHandler()
if chk==0 then return c:IsAbleToRemoveAsCost() end if chk==0 then return c:IsAbleToRemoveAsCost() end
Duel.ConfirmCards(1-tp,c)
Duel.Remove(c,POS_FACEDOWN,REASON_COST) Duel.Remove(c,POS_FACEDOWN,REASON_COST)
end end
function cCardno.tg(e,tp,eg,ep,ev,re,r,rp,chk) function cCardno.tg(e,tp,eg,ep,ev,re,r,rp,chk)
......
...@@ -36,7 +36,7 @@ function cCardno.rmcon(e,tp,eg,ep,ev,re,r,rp) ...@@ -36,7 +36,7 @@ function cCardno.rmcon(e,tp,eg,ep,ev,re,r,rp)
end end
function cCardno.rmcost(e,tp,eg,ep,ev,re,r,rp,chk) function cCardno.rmcost(e,tp,eg,ep,ev,re,r,rp,chk)
local flag=e:GetHandler():GetFlagEffect(Cardno) local flag=e:GetHandler():GetFlagEffect(Cardno)
local limit=e:GetHandler():GetMaterialCount()-1 local limit=e:GetHandler():GetMaterialCount()-2
if chk==0 then return flag<limit end if chk==0 then return flag<limit end
e:GetHandler():RegisterFlagEffect(Cardno,RESET_EVENT+RESETS_STANDARD+RESET_PHASE+PHASE_END,0,1) e:GetHandler():RegisterFlagEffect(Cardno,RESET_EVENT+RESETS_STANDARD+RESET_PHASE+PHASE_END,0,1)
end end
......
...@@ -29,6 +29,13 @@ function cCardno.initial_effect(c) ...@@ -29,6 +29,13 @@ function cCardno.initial_effect(c)
e7:SetRange(LOCATION_MZONE) e7:SetRange(LOCATION_MZONE)
e7:SetValue(cCardno.efilter) e7:SetValue(cCardno.efilter)
c:RegisterEffect(e7) c:RegisterEffect(e7)
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetProperty(EFFECT_FLAG_SINGLE_RANGE)
e1:SetRange(LOCATION_MZONE)
e1:SetCode(EFFECT_IMMUNE_EFFECT)
e1:SetValue(cCardno.efilter2)
c:RegisterEffect(e1)
--negate --negate
local e8=Effect.CreateEffect(c) local e8=Effect.CreateEffect(c)
e8:SetDescription(aux.Stringid(Cardno,0)) e8:SetDescription(aux.Stringid(Cardno,0))
...@@ -42,11 +49,11 @@ function cCardno.initial_effect(c) ...@@ -42,11 +49,11 @@ function cCardno.initial_effect(c)
e8:SetCost(cCardno.ngcost) e8:SetCost(cCardno.ngcost)
e8:SetTarget(cCardno.ngtg) e8:SetTarget(cCardno.ngtg)
e8:SetOperation(cCardno.ngop) e8:SetOperation(cCardno.ngop)
c:RegisterEffect(e8) --c:RegisterEffect(e8)
--destroy --Destroy--remove
local e9=Effect.CreateEffect(c) local e9=Effect.CreateEffect(c)
e9:SetDescription(aux.Stringid(Cardno,1)) e9:SetDescription(aux.Stringid(Cardno,1))
e9:SetCategory(CATEGORY_DESTROY+CATEGORY_ATKCHANGE+CATEGORY_DEFCHANGE) e9:SetCategory(CATEGORY_DISABLE+CATEGORY_TODECK+CATEGORY_ATKCHANGE+CATEGORY_DEFCHANGE)
e9:SetProperty(EFFECT_FLAG_DAMAGE_STEP+EFFECT_FLAG_DAMAGE_CAL) e9:SetProperty(EFFECT_FLAG_DAMAGE_STEP+EFFECT_FLAG_DAMAGE_CAL)
e9:SetType(EFFECT_TYPE_QUICK_O) e9:SetType(EFFECT_TYPE_QUICK_O)
e9:SetCode(EVENT_FREE_CHAIN) e9:SetCode(EVENT_FREE_CHAIN)
...@@ -71,38 +78,56 @@ function cCardno.drcon(e,tp,eg,ep,ev,re,r,rp) ...@@ -71,38 +78,56 @@ function cCardno.drcon(e,tp,eg,ep,ev,re,r,rp)
return Duel.GetMatchingGroupCount(nil,tp,LOCATION_HAND,0,nil)==0 return Duel.GetMatchingGroupCount(nil,tp,LOCATION_HAND,0,nil)==0
end end
function cCardno.drop(e,tp,eg,ep,ev,re,r,rp) function cCardno.drop(e,tp,eg,ep,ev,re,r,rp)
Duel.Draw(tp,1,REASON_EFFECT) Duel.Draw(tp,2,REASON_EFFECT)
end end
--destroy --destroy
function cCardno.descon(e,tp,eg,ep,ev,re,r,rp) function cCardno.descon(e,tp,eg,ep,ev,re,r,rp)
return Duel.IsExistingMatchingCard(nil,tp,0,LOCATION_ONFIELD,1,nil) return Duel.IsExistingMatchingCard(Card.IsAbleToDeck,tp,0,LOCATION_ONFIELD+LOCATION_GRAVE+LOCATION_REMOVED,1,nil)
end end
function cCardno.descost(e,tp,eg,ep,ev,re,r,rp,chk) function cCardno.descost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(Card.IsAbleToDeckAsCost,tp,LOCATION_HAND,0,1,nil) end if chk==0 then return Duel.IsExistingMatchingCard(Card.IsAbleToDeckAsCost,tp,LOCATION_HAND,0,1,nil) end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TODECK) local g=Duel.GetMatchingGroup(Card.IsAbleToDeckAsCost,tp,LOCATION_HAND,0,nil)
local g=Duel.SelectMatchingCard(tp,Card.IsAbleToDeckAsCost,tp,LOCATION_HAND,0,1,1,nil) local num=Duel.SendtoDeck(g,nil,2,REASON_COST)
Duel.SendtoDeck(g,nil,2,REASON_COST) e:SetLabel(num)
end end
function cCardno.destg(e,tp,eg,ep,ev,re,r,rp,chk) function cCardno.destg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return true end if chk==0 then return true end
Duel.SetOperationInfo(0,CATEGORY_DESTROY,nil,1,0,0) Duel.SetOperationInfo(0,CATEGORY_DISABLE,nil,1,1-tp,0)
Duel.SetOperationInfo(0,CATEGORY_TODECK,nil,1,1-tp,0)
end end
function cCardno.desop(e,tp,eg,ep,ev,re,r,rp) function cCardno.desop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler() local c=e:GetHandler()
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_DESTROY) local num=e:GetLabel()
local g=Duel.SelectMatchingCard(tp,nil,tp,0,LOCATION_ONFIELD,1,1,nil) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_REMOVE)
if g:GetCount()>0 then local g=Duel.SelectMatchingCard(tp,Card.IsAbleToDeck,tp,0,LOCATION_ONFIELD+LOCATION_GRAVE+LOCATION_REMOVED,1,num,nil)
Duel.Destroy(g,REASON_EFFECT) local tc=g:GetFirst()
while tc do
if tc:IsFaceup() then
Duel.NegateRelatedChain(tc,RESET_TURN_SET)
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetCode(EFFECT_DISABLE)
e1:SetReset(RESET_EVENT+RESETS_STANDARD+RESET_PHASE+PHASE_END)
tc:RegisterEffect(e1)
local e2=Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_SINGLE)
e2:SetCode(EFFECT_DISABLE_EFFECT)
e2:SetValue(RESET_TURN_SET)
e2:SetReset(RESET_EVENT+RESETS_STANDARD)
tc:RegisterEffect(e2)
end
tc=g:GetNext()
end end
local e1=Effect.CreateEffect(e:GetHandler()) Duel.SendtoDeck(g,nil,2,REASON_EFFECT)
e1:SetType(EFFECT_TYPE_SINGLE) local e3=Effect.CreateEffect(c)
e1:SetCode(EFFECT_UPDATE_ATTACK) e3:SetType(EFFECT_TYPE_SINGLE)
e1:SetValue(1000) e3:SetCode(EFFECT_UPDATE_ATTACK)
e1:SetReset(RESET_EVENT+RESETS_STANDARD) e3:SetValue(num*1000)
c:RegisterEffect(e1) e3:SetReset(RESET_EVENT+RESETS_STANDARD)
local e2=e1:Clone() c:RegisterEffect(e3)
e2:SetCode(EFFECT_UPDATE_DEFENSE) local e4=e3:Clone()
c:RegisterEffect(e2) e4:SetCode(EFFECT_UPDATE_DEFENSE)
c:RegisterEffect(e4)
end end
--negate --negate
function cCardno.ngcon(e,tp,eg,ep,ev,re,r,rp) function cCardno.ngcon(e,tp,eg,ep,ev,re,r,rp)
...@@ -140,6 +165,9 @@ end ...@@ -140,6 +165,9 @@ end
function cCardno.efilter(e,te) function cCardno.efilter(e,te)
return Duel.GetFieldGroupCount(e:GetHandlerPlayer(),LOCATION_HAND,0)==0 return Duel.GetFieldGroupCount(e:GetHandlerPlayer(),LOCATION_HAND,0)==0
end end
function cCardno.efilter2(e,te)
return Duel.GetFieldGroupCount(e:GetHandlerPlayer(),LOCATION_HAND,0)==0 and te:GetHandler()~=e:GetHandler()
end
function cCardno.cdtg(e,c) function cCardno.cdtg(e,c)
return c:IsSetCard(0x5208) return c:IsSetCard(0x5208)
end end
......
...@@ -14,7 +14,7 @@ function cCardno.initial_effect(c) ...@@ -14,7 +14,7 @@ function cCardno.initial_effect(c)
end end
--Activate --Activate
function cCardno.filter1(c,e) function cCardno.filter1(c,e)
return ((c:IsType(TYPE_MONSTER) and c:IsCanBeXyzMaterial(nil)) or not c:IsType(TYPE_MONSTER)) and not c:IsImmuneToEffect(e) return ((c:IsType(TYPE_MONSTER) and c:IsCanBeXyzMaterial(nil)) or not c:IsType(TYPE_MONSTER)) and not c:IsImmuneToEffect(e) and not c:IsType(TYPE_TOKEN)
end end
function cCardno.filter2(c,e,tp) function cCardno.filter2(c,e,tp)
return c:IsType(TYPE_XYZ) and c:IsCanBeSpecialSummoned(e,SUMMON_TYPE_XYZ,tp,false,false) and c:IsSetCard(0x226) return c:IsType(TYPE_XYZ) and c:IsCanBeSpecialSummoned(e,SUMMON_TYPE_XYZ,tp,false,false) and c:IsSetCard(0x226)
...@@ -44,6 +44,27 @@ function cCardno.activate(e,tp,eg,ep,ev,re,r,rp) ...@@ -44,6 +44,27 @@ function cCardno.activate(e,tp,eg,ep,ev,re,r,rp)
Duel.Overlay(exc,tg) Duel.Overlay(exc,tg)
Duel.SpecialSummon(exc,SUMMON_TYPE_XYZ,tp,tp,false,false,POS_FACEUP) Duel.SpecialSummon(exc,SUMMON_TYPE_XYZ,tp,tp,false,false,POS_FACEUP)
exc:CompleteProcedure() exc:CompleteProcedure()
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
e1:SetRange(LOCATION_MZONE)
e1:SetCode(EVENT_PHASE+PHASE_END)
e1:SetReset(RESET_EVENT+RESETS_STANDARD)
e1:SetCountLimit(1)
e1:SetOperation(cCardno.tgop)
exc:RegisterEffect(e1)
end end
end end
if Duel.GetCurrentPhase()==PHASE_MAIN1 then
local e2=Effect.CreateEffect(e:GetHandler())
e2:SetType(EFFECT_TYPE_FIELD)
e2:SetCode(EFFECT_SKIP_BP)
e2:SetProperty(EFFECT_FLAG_PLAYER_TARGET)
e2:SetTargetRange(1,0)
e2:SetReset(RESET_PHASE+PHASE_END)
Duel.RegisterEffect(e2,tp)
end
end
function cCardno.tgop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
Duel.SendtoGrave(c,REASON_EFFECT)
end end
\ No newline at end of file
...@@ -60,7 +60,7 @@ function c86379015.splimit(e,c) ...@@ -60,7 +60,7 @@ function c86379015.splimit(e,c)
end end
-- --
function c86379015.filter1(c) function c86379015.filter1(c)
return c:IsFaceup() and not c:IsType(TYPE_LINK) and (c:GetDefense()~=3000 or not c:IsPosition(POS_FACEUP_DEFENSE)) return c:IsFaceup() and not c:IsType(TYPE_LINK) and (c:GetDefense()~=1500 or not c:IsPosition(POS_FACEUP_DEFENSE))
end end
function c86379015.filter2(c) function c86379015.filter2(c)
return c:IsFaceup() and not c:IsType(TYPE_LINK) and (c:GetDefense()~=0 or not c:IsPosition(POS_FACEUP_DEFENSE)) return c:IsFaceup() and not c:IsType(TYPE_LINK) and (c:GetDefense()~=0 or not c:IsPosition(POS_FACEUP_DEFENSE))
...@@ -95,7 +95,7 @@ function c86379015.operation(e,tp,eg,ep,ev,re,r,rp) ...@@ -95,7 +95,7 @@ function c86379015.operation(e,tp,eg,ep,ev,re,r,rp)
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE) e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetCode(EFFECT_SET_DEFENSE_FINAL) e1:SetCode(EFFECT_SET_DEFENSE_FINAL)
e1:SetValue(3000) e1:SetValue(1500)
e1:SetReset(RESET_EVENT+RESETS_STANDARD) e1:SetReset(RESET_EVENT+RESETS_STANDARD)
tc1:RegisterEffect(e1) tc1:RegisterEffect(e1)
else else
...@@ -117,7 +117,7 @@ function c86379015.condition2(e,tp,eg,ep,ev,re,r,rp) ...@@ -117,7 +117,7 @@ function c86379015.condition2(e,tp,eg,ep,ev,re,r,rp)
end end
function c86379015.target2(e,tp,eg,ep,ev,re,r,rp,chk) function c86379015.target2(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return if chk==0 then return
Duel.IsPlayerCanSpecialSummonMonster(tp,86379015,0x279,TYPES_NORMAL_TRAP_MONSTER,0,3000,1,RACE_PSYCHO,ATTRIBUTE_DARK) and Duel.GetLocationCount(tp,LOCATION_MZONE)>0 Duel.IsPlayerCanSpecialSummonMonster(tp,86379015,0x279,TYPES_NORMAL_TRAP_MONSTER,0,1500,1,RACE_PSYCHO,ATTRIBUTE_DARK) and Duel.GetLocationCount(tp,LOCATION_MZONE)>0
end end
Duel.ConfirmCards(1-tp,e:GetHandler()) Duel.ConfirmCards(1-tp,e:GetHandler())
Duel.Hint(HINT_OPSELECTED,1-tp,aux.Stringid(86379015,7)) Duel.Hint(HINT_OPSELECTED,1-tp,aux.Stringid(86379015,7))
...@@ -127,7 +127,7 @@ function c86379015.operation2(e,tp,eg,ep,ev,re,r,rp) ...@@ -127,7 +127,7 @@ function c86379015.operation2(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler() local c=e:GetHandler()
--SpecialSummon --SpecialSummon
if not c:IsRelateToEffect(e) then return end if not c:IsRelateToEffect(e) then return end
if Duel.IsPlayerCanSpecialSummonMonster(tp,86379015,0x279,TYPES_NORMAL_TRAP_MONSTER,0,3000,1,RACE_PSYCHO,ATTRIBUTE_DARK) if Duel.IsPlayerCanSpecialSummonMonster(tp,86379015,0x279,TYPES_NORMAL_TRAP_MONSTER,0,1500,1,RACE_PSYCHO,ATTRIBUTE_DARK)
and Duel.GetLocationCount(tp,LOCATION_MZONE)>0 then and Duel.GetLocationCount(tp,LOCATION_MZONE)>0 then
local e5=Effect.CreateEffect(c) local e5=Effect.CreateEffect(c)
e5:SetType(EFFECT_TYPE_SINGLE) e5:SetType(EFFECT_TYPE_SINGLE)
...@@ -161,7 +161,7 @@ function c86379015.operation2(e,tp,eg,ep,ev,re,r,rp) ...@@ -161,7 +161,7 @@ function c86379015.operation2(e,tp,eg,ep,ev,re,r,rp)
e9:SetType(EFFECT_TYPE_SINGLE) e9:SetType(EFFECT_TYPE_SINGLE)
e9:SetCode(EFFECT_SET_BASE_DEFENSE) e9:SetCode(EFFECT_SET_BASE_DEFENSE)
e9:SetProperty(EFFECT_FLAG_CANNOT_DISABLE) e9:SetProperty(EFFECT_FLAG_CANNOT_DISABLE)
e9:SetValue(3000) e9:SetValue(1500)
e9:SetReset(RESET_EVENT+0x47c0000) e9:SetReset(RESET_EVENT+0x47c0000)
c:RegisterEffect(e9,true) c:RegisterEffect(e9,true)
local e10=Effect.CreateEffect(c) local e10=Effect.CreateEffect(c)
......
...@@ -60,7 +60,7 @@ function c86379017.splimit(e,c) ...@@ -60,7 +60,7 @@ function c86379017.splimit(e,c)
end end
-- --
function c86379017.filter1(c) function c86379017.filter1(c)
return c:IsFaceup() and (c:GetAttack()~=3000 or not c:IsPosition(POS_FACEUP_ATTACK)) return c:IsFaceup() and (c:GetAttack()~=1500 or not c:IsPosition(POS_FACEUP_ATTACK))
end end
function c86379017.filter2(c) function c86379017.filter2(c)
return c:IsFaceup() and (c:GetAttack()~=0 or not c:IsPosition(POS_FACEUP_ATTACK)) return c:IsFaceup() and (c:GetAttack()~=0 or not c:IsPosition(POS_FACEUP_ATTACK))
...@@ -95,7 +95,7 @@ function c86379017.operation(e,tp,eg,ep,ev,re,r,rp) ...@@ -95,7 +95,7 @@ function c86379017.operation(e,tp,eg,ep,ev,re,r,rp)
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE) e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetCode(EFFECT_SET_ATTACK_FINAL) e1:SetCode(EFFECT_SET_ATTACK_FINAL)
e1:SetValue(3000) e1:SetValue(1500)
e1:SetReset(RESET_EVENT+RESETS_STANDARD) e1:SetReset(RESET_EVENT+RESETS_STANDARD)
tc1:RegisterEffect(e1) tc1:RegisterEffect(e1)
else else
...@@ -118,7 +118,7 @@ function c86379017.condition2(e,tp,eg,ep,ev,re,r,rp) ...@@ -118,7 +118,7 @@ function c86379017.condition2(e,tp,eg,ep,ev,re,r,rp)
end end
function c86379017.target2(e,tp,eg,ep,ev,re,r,rp,chk) function c86379017.target2(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return if chk==0 then return
Duel.IsPlayerCanSpecialSummonMonster(tp,86379017,0x279,TYPES_NORMAL_TRAP_MONSTER,3000,0,1,RACE_PSYCHO,ATTRIBUTE_DARK) and Duel.GetLocationCount(tp,LOCATION_MZONE)>0 Duel.IsPlayerCanSpecialSummonMonster(tp,86379017,0x279,TYPES_NORMAL_TRAP_MONSTER,1500,0,1,RACE_PSYCHO,ATTRIBUTE_DARK) and Duel.GetLocationCount(tp,LOCATION_MZONE)>0
end end
Duel.ConfirmCards(1-tp,e:GetHandler()) Duel.ConfirmCards(1-tp,e:GetHandler())
Duel.Hint(HINT_OPSELECTED,1-tp,aux.Stringid(86379017,7)) Duel.Hint(HINT_OPSELECTED,1-tp,aux.Stringid(86379017,7))
...@@ -128,7 +128,7 @@ function c86379017.operation2(e,tp,eg,ep,ev,re,r,rp) ...@@ -128,7 +128,7 @@ function c86379017.operation2(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler() local c=e:GetHandler()
--SpecialSummon --SpecialSummon
if not c:IsRelateToEffect(e) then return end if not c:IsRelateToEffect(e) then return end
if Duel.IsPlayerCanSpecialSummonMonster(tp,86379017,0x279,TYPES_NORMAL_TRAP_MONSTER,3000,0,1,RACE_PSYCHO,ATTRIBUTE_DARK) if Duel.IsPlayerCanSpecialSummonMonster(tp,86379017,0x279,TYPES_NORMAL_TRAP_MONSTER,1500,0,1,RACE_PSYCHO,ATTRIBUTE_DARK)
and Duel.GetLocationCount(tp,LOCATION_MZONE)>0 then and Duel.GetLocationCount(tp,LOCATION_MZONE)>0 then
local e5=Effect.CreateEffect(c) local e5=Effect.CreateEffect(c)
e5:SetType(EFFECT_TYPE_SINGLE) e5:SetType(EFFECT_TYPE_SINGLE)
...@@ -155,7 +155,7 @@ function c86379017.operation2(e,tp,eg,ep,ev,re,r,rp) ...@@ -155,7 +155,7 @@ function c86379017.operation2(e,tp,eg,ep,ev,re,r,rp)
e8:SetType(EFFECT_TYPE_SINGLE) e8:SetType(EFFECT_TYPE_SINGLE)
e8:SetCode(EFFECT_SET_BASE_ATTACK) e8:SetCode(EFFECT_SET_BASE_ATTACK)
e8:SetProperty(EFFECT_FLAG_CANNOT_DISABLE) e8:SetProperty(EFFECT_FLAG_CANNOT_DISABLE)
e8:SetValue(3000) e8:SetValue(1500)
e8:SetReset(RESET_EVENT+0x47c0000) e8:SetReset(RESET_EVENT+0x47c0000)
c:RegisterEffect(e8,true) c:RegisterEffect(e8,true)
local e9=Effect.CreateEffect(c) local e9=Effect.CreateEffect(c)
......
...@@ -144,7 +144,7 @@ function c86379037.cfilter2(c,tp) ...@@ -144,7 +144,7 @@ function c86379037.cfilter2(c,tp)
end end
-- --
function c86379037.filter3(c) function c86379037.filter3(c)
return c:IsCode(86379030) and c:IsAbleToHand() return c:IsCode(86379030,86379041) and c:IsAbleToHand()
end end
function c86379037.cfilter3(c,tp) function c86379037.cfilter3(c,tp)
return c:IsCanRemoveCounter(tp,0x123a,1,REASON_EFFECT) return c:IsCanRemoveCounter(tp,0x123a,1,REASON_EFFECT)
......
...@@ -43,7 +43,7 @@ function c86379072.tg(e,tp,eg,ep,ev,re,r,rp,chk) ...@@ -43,7 +43,7 @@ function c86379072.tg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(c86379072.filter,tp,LOCATION_ONFIELD,LOCATION_ONFIELD,1,nil) and Duel.GetFieldGroupCount(tp,LOCATION_DECK,0)>0 end if chk==0 then return Duel.IsExistingMatchingCard(c86379072.filter,tp,LOCATION_ONFIELD,LOCATION_ONFIELD,1,nil) and Duel.GetFieldGroupCount(tp,LOCATION_DECK,0)>0 end
end end
function c86379072.thfilter(c) function c86379072.thfilter(c)
return c:IsSetCard(0x299) or c:IsSetCard(0x300) return c:IsType(TYPE_MONSTER)
end end
function c86379072.op(e,tp,eg,ep,ev,re,r,rp) function c86379072.op(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler() local c=e:GetHandler()
......
...@@ -43,7 +43,7 @@ function c86379251.mirrorfilter(c,att) ...@@ -43,7 +43,7 @@ function c86379251.mirrorfilter(c,att)
return c:IsAttribute(att) and c:IsFaceup() and bit.band(c:GetOriginalType(),TYPE_MONSTER)~=0 return c:IsAttribute(att) and c:IsFaceup() and bit.band(c:GetOriginalType(),TYPE_MONSTER)~=0
end end
function c86379251.mirrorcondition(e,tp,eg,ep,ev,re,r,rp) function c86379251.mirrorcondition(e,tp,eg,ep,ev,re,r,rp)
return (Duel.GetCurrentPhase()==PHASE_MAIN1 or Duel.GetCurrentPhase()==PHASE_MAIN2) and Duel.GetTurnPlayer()~=tp and Duel.IsPlayerAffectedByEffect(tp,86379275) and Duel.IsExistingMatchingCard(c86379251.mirrorfilter,tp,LOCATION_SZONE,0,1,nil,e:GetHandler():GetAttribute()) return (Duel.GetCurrentPhase()==PHASE_MAIN1 or Duel.GetCurrentPhase()==PHASE_MAIN2) and Duel.GetTurnPlayer()~=tp and Duel.IsPlayerAffectedByEffect(tp,86379276) and Duel.IsExistingMatchingCard(c86379251.mirrorfilter,tp,LOCATION_SZONE,0,1,nil,e:GetHandler():GetAttribute())
end end
-- --
function c86379251.spcon(e,tp,eg,ep,ev,re,r,rp) function c86379251.spcon(e,tp,eg,ep,ev,re,r,rp)
......
...@@ -9,6 +9,7 @@ function c99999026.initial_effect(c) ...@@ -9,6 +9,7 @@ function c99999026.initial_effect(c)
e1:SetCode(EVENT_SUMMON_SUCCESS) e1:SetCode(EVENT_SUMMON_SUCCESS)
e1:SetProperty(EFFECT_FLAG_DELAY) e1:SetProperty(EFFECT_FLAG_DELAY)
e1:SetRange(LOCATION_MZONE) e1:SetRange(LOCATION_MZONE)
e1:SetCountLimit(1,99999026)
e1:SetCondition(c99999026.thcon) e1:SetCondition(c99999026.thcon)
e1:SetTarget(c99999026.thtg) e1:SetTarget(c99999026.thtg)
e1:SetOperation(c99999026.thop) e1:SetOperation(c99999026.thop)
...@@ -52,39 +53,38 @@ end ...@@ -52,39 +53,38 @@ end
function c99999026.thop(e,tp,eg,ep,ev,re,r,rp) function c99999026.thop(e,tp,eg,ep,ev,re,r,rp)
local g1=Duel.SelectMatchingCard(tp,c99999026.thfilter1,tp,LOCATION_MZONE,0,1,1,nil,tp) local g1=Duel.SelectMatchingCard(tp,c99999026.thfilter1,tp,LOCATION_MZONE,0,1,1,nil,tp)
if g1:GetCount()>0 then if g1:GetCount()>0 then
if Duel.Release(g1,REASON_EFFECT)~=0 then Duel.Release(g1,REASON_EFFECT)
local g2=eg:Filter(c99999026.thfilter2,nil,tp) local g2=eg:Filter(c99999026.thfilter2,nil,tp)
local tc=g2:GetFirst() local tc=g2:GetFirst()
if not tc then return end if not tc then return end
if g2:GetCount()>1 then if g2:GetCount()>1 then
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_CONTROL) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_CONTROL)
tc=g2:Select(tp,1,1,nil):GetFirst() tc=g2:Select(tp,1,1,nil):GetFirst()
end end
if Duel.GetControl(tc,tp)~=0 then if Duel.GetControl(tc,tp)~=0 then
local e1=Effect.CreateEffect(e:GetHandler()) local e1=Effect.CreateEffect(e:GetHandler())
e1:SetType(EFFECT_TYPE_SINGLE) e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetCode(EFFECT_DISABLE) e1:SetCode(EFFECT_DISABLE)
e1:SetReset(RESET_EVENT+RESETS_STANDARD) e1:SetReset(RESET_EVENT+RESETS_STANDARD)
tc:RegisterEffect(e1) tc:RegisterEffect(e1)
local e2=Effect.CreateEffect(e:GetHandler()) local e2=Effect.CreateEffect(e:GetHandler())
e2:SetType(EFFECT_TYPE_SINGLE) e2:SetType(EFFECT_TYPE_SINGLE)
e2:SetCode(EFFECT_DISABLE_EFFECT) e2:SetCode(EFFECT_DISABLE_EFFECT)
e2:SetValue(RESET_TURN_SET) e2:SetValue(RESET_TURN_SET)
e2:SetReset(RESET_EVENT+RESETS_STANDARD) e2:SetReset(RESET_EVENT+RESETS_STANDARD)
tc:RegisterEffect(e2) tc:RegisterEffect(e2)
--cannot release --cannot release
local e3=Effect.CreateEffect(e:GetHandler()) local e3=Effect.CreateEffect(e:GetHandler())
e3:SetType(EFFECT_TYPE_SINGLE) e3:SetType(EFFECT_TYPE_SINGLE)
e3:SetProperty(EFFECT_FLAG_SINGLE_RANGE) e3:SetProperty(EFFECT_FLAG_SINGLE_RANGE)
e3:SetRange(LOCATION_MZONE) e3:SetRange(LOCATION_MZONE)
e3:SetCode(EFFECT_UNRELEASABLE_SUM) e3:SetCode(EFFECT_UNRELEASABLE_SUM)
e3:SetValue(1) e3:SetValue(1)
e3:SetReset(RESET_EVENT+RESETS_STANDARD) e3:SetReset(RESET_EVENT+RESETS_STANDARD)
tc:RegisterEffect(e3) tc:RegisterEffect(e3)
local e4=e3:Clone() local e4=e3:Clone()
e4:SetCode(EFFECT_UNRELEASABLE_NONSUM) e4:SetCode(EFFECT_UNRELEASABLE_NONSUM)
tc:RegisterEffect(e4) tc:RegisterEffect(e4)
end
end end
end end
end end
......
...@@ -51,7 +51,7 @@ function c99999031.filter2(c) ...@@ -51,7 +51,7 @@ function c99999031.filter2(c)
end end
function c99999031.tg(e,tp,eg,ep,ev,re,r,rp,chk,chkc) function c99999031.tg(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
local c=e:GetHandler() local c=e:GetHandler()
if chk==0 then return c:IsAbleToRemove() and Duel.IsExistingMatchingCard(c99999031.filter2,tp,LOCATION_GRAVE,0,1,nil) end if chk==0 then return c:IsAbleToRemove() and Duel.IsExistingMatchingCard(c99999031.filter2,tp,LOCATION_GRAVE,0,1,nil) and c:IsStatus(STATUS_CHAINING) end
Duel.SetOperationInfo(0,CATEGORY_REMOVE,c,1,0,0) Duel.SetOperationInfo(0,CATEGORY_REMOVE,c,1,0,0)
Duel.SetOperationInfo(0,CATEGORY_TOHAND,nil,1,tp,LOCATION_GRAVE) Duel.SetOperationInfo(0,CATEGORY_TOHAND,nil,1,tp,LOCATION_GRAVE)
end end
......
...@@ -26,7 +26,7 @@ function c99999035.initial_effect(c) ...@@ -26,7 +26,7 @@ function c99999035.initial_effect(c)
local e3=Effect.CreateEffect(c) local e3=Effect.CreateEffect(c)
e3:SetDescription(aux.Stringid(99999035,6)) e3:SetDescription(aux.Stringid(99999035,6))
e3:SetCategory(CATEGORY_DISABLE) e3:SetCategory(CATEGORY_DISABLE)
e3:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_O) e3:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_TRIGGER_O)
e3:SetCode(EVENT_BATTLE_DESTROYING) e3:SetCode(EVENT_BATTLE_DESTROYING)
e3:SetRange(LOCATION_MZONE) e3:SetRange(LOCATION_MZONE)
e3:SetCost(c99999035.cost) e3:SetCost(c99999035.cost)
......
--OFFside☆救赎的象征diyusi --OFFside☆救赎的象征diyusi
function c99999514.initial_effect(c) function c99999514.initial_effect(c)
--link summon --link summon
c99999514.AddLinkProcedure(c,nil,2) c99999514.AddLinkProcedure(c,nil,2,99,c99999514.lcheck)
c:EnableReviveLimit() c:EnableReviveLimit()
--set --set
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
...@@ -42,6 +42,9 @@ function c99999514.initial_effect(c) ...@@ -42,6 +42,9 @@ function c99999514.initial_effect(c)
c:RegisterEffect(e4) c:RegisterEffect(e4)
end end
function c99999514.lcheck(g)
return g:IsExists(Card.IsSetCard,1,nil,0x6910)
end
function c99999514.setfilter(c) function c99999514.setfilter(c)
return c:IsSetCard(0xa910) and c:IsSSetable() and c:IsType(TYPE_SPELL+TYPE_TRAP) return c:IsSetCard(0xa910) and c:IsSSetable() and c:IsType(TYPE_SPELL+TYPE_TRAP)
end end
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment