Commit d07dbb50 authored by REIKAI's avatar REIKAI 💬

bug fix and list update

parent 943991a8
Pipeline #21072 passed with stages
in 24 minutes and 43 seconds
No preview for this file type
...@@ -282,8 +282,8 @@ ...@@ -282,8 +282,8 @@
12004002 1 --原罪机械 Envy 普灵思 12004002 1 --原罪机械 Envy 普灵思
12004025 1 --智慧之泉 拉结尔 12004025 1 --智慧之泉 拉结尔
12005001 0 --真神的末裔 丘依儿 12005001 0 --真神的末裔 丘依儿
12000512 0 --六曜的牙月丘依儿 12005012 0 --六曜的牙月丘依儿
12000513 0 --六曜的心源丘依儿 12005013 0 --六曜的心源丘依儿
12005015 1 --新起的虹神 完红的丘依 12005015 1 --新起的虹神 完红的丘依
12005018 2 --回奏的炎天使 丘依儿 12005018 2 --回奏的炎天使 丘依儿
12005020 0 --六曜 完红的斯卡雷特 12005020 0 --六曜 完红的斯卡雷特
...@@ -494,6 +494,9 @@ ...@@ -494,6 +494,9 @@
16102011 1 --SCP-2000 机械降神 16102011 1 --SCP-2000 机械降神
16104230 0 --终末之歌 16104230 0 --终末之歌
16104200 1 --天命教士 16104200 1 --天命教士
16104216 0 --天命王骑 教化王
16104224 0 --天命教令 异端剿灭
16104234 0 --天命教廷
16104240 0 --天命真王 梦想王 16104240 0 --天命真王 梦想王
16104232 1 --天命圣女 让·达克 16104232 1 --天命圣女 让·达克
16104400 1 --天之界 16104400 1 --天之界
...@@ -1794,8 +1797,10 @@ ...@@ -1794,8 +1797,10 @@
77707029 0 --円尾坂的裁缝店 77707029 0 --円尾坂的裁缝店
77707037 0 --使之沉睡公主的贈品 77707037 0 --使之沉睡公主的贈品
77707048 1 --法庭之主 77707048 1 --法庭之主
77707057 0 --大罪狩猎令 77707057 0 --大罪狩猎令
77707704 0 --大罪之器 克洛克沃克人偶
77707705 1 --Vessel of Sin 祸世之剪 77707705 1 --Vessel of Sin 祸世之剪
77707706 0 --大罪之器 马隆汤匙
77709002 0 --Fallen Angel 77709002 0 --Fallen Angel
77709005 1 --To Another Fate 77709005 1 --To Another Fate
77725304 1 --秘封活动记录 卯酉东海道 77725304 1 --秘封活动记录 卯酉东海道
...@@ -1812,6 +1817,7 @@ ...@@ -1812,6 +1817,7 @@
81006090 1 --Remind a Locus 81006090 1 --Remind a Locus
81008008 0 --啦啦队·露卡希娅 81008008 0 --啦啦队·露卡希娅
81009012 1 --猫咖 momoko 81009012 1 --猫咖 momoko
81009018 0 --空想再诞
81009028 0 --TwinBox学园 和泉香织 81009028 0 --TwinBox学园 和泉香织
81010015 1 --真实的一瞬 81010015 1 --真实的一瞬
81011001 0 --静谧青龙 拉斯托克 81011001 0 --静谧青龙 拉斯托克
...@@ -1899,6 +1905,7 @@ ...@@ -1899,6 +1905,7 @@
98600004 1 --情书 98600004 1 --情书
98600005 0 --夜樱之宴 98600005 0 --夜樱之宴
98610007 1 --少女分形·冻结之世 98610007 1 --少女分形·冻结之世
98622201 0 --
98625006 0 --十十六木花奏子·淑 98625006 0 --十十六木花奏子·淑
98626800 0 --菲诺蒙丹帕·娜美塞拉 98626800 0 --菲诺蒙丹帕·娜美塞拉
98626803 1 --失落的圣诞节 98626803 1 --失落的圣诞节
......
...@@ -5,16 +5,9 @@ function cm.initial_effect(c) ...@@ -5,16 +5,9 @@ function cm.initial_effect(c)
--link summon --link summon
c:EnableReviveLimit() c:EnableReviveLimit()
aux.AddLinkProcedure(c,cm.matfilter,1,1) aux.AddLinkProcedure(c,cm.matfilter,1,1)
--cannot Activate
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_CONTINUOUS+EFFECT_TYPE_SINGLE)
e1:SetCode(EVENT_SPSUMMON_SUCCESS)
e1:SetCondition(cm.acon)
e1:SetOperation(cm.aop)
c:RegisterEffect(e1)
--spsummon --spsummon
local e2=Effect.CreateEffect(c) local e2=Effect.CreateEffect(c)
e2:SetDescription(aux.Stringid(m,1)) e2:SetDescription(aux.Stringid(m,0))
e2:SetCategory(CATEGORY_SPECIAL_SUMMON+CATEGORY_REMOVE) e2:SetCategory(CATEGORY_SPECIAL_SUMMON+CATEGORY_REMOVE)
e2:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_O) e2:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_O)
e2:SetCode(EVENT_TO_GRAVE) e2:SetCode(EVENT_TO_GRAVE)
...@@ -24,30 +17,35 @@ function cm.initial_effect(c) ...@@ -24,30 +17,35 @@ function cm.initial_effect(c)
e2:SetTarget(cm.sptg) e2:SetTarget(cm.sptg)
e2:SetOperation(cm.spop) e2:SetOperation(cm.spop)
c:RegisterEffect(e2) c:RegisterEffect(e2)
--remove
local e1=e2:Clone()
e1:SetDescription(aux.Stringid(m,1))
e1:SetCategory(CATEGORY_SPECIAL_SUMMON+CATEGORY_REMOVE)
e1:SetTarget(cm.rmtg)
e1:SetOperation(cm.rmop)
c:RegisterEffect(e1)
end end
function cm.matfilter(c) function cm.matfilter(c)
return c:IsSetCard(0x480,0xb81) and not c:IsType(TYPE_LINK) return c:IsLinkSetCard(0x480,0xb81) and not c:IsType(TYPE_LINK)
end end
--SpecialSummon --SpecialSummon
function cm.spcon(e,tp,eg,ep,ev,re,r,rp) function cm.spcon(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler() local c=e:GetHandler()
return Duel.GetTurnPlayer()==tp and c:IsSummonType(SUMMON_TYPE_LINK) and c:IsPreviousLocation(LOCATION_MZONE) return c:IsSummonType(SUMMON_TYPE_LINK) and c:IsPreviousLocation(LOCATION_MZONE)
end
function cm.rfilter(c)
return c:IsSetCard(0x480,0xb81) and c:IsAbleToRemove()
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 and e:GetHandler():IsCanBeSpecialSummoned(e,0,tp,false,false) if chk==0 then return Duel.GetLocationCount(tp,LOCATION_MZONE)>0 and e:GetHandler():IsCanBeSpecialSummoned(e,0,tp,false,false)
and Duel.IsExistingMatchingCard(cm.rfilter,tp,LOCATION_DECK,0,1,nil) end and Duel.IsExistingMatchingCard(Card.IsAbleToRemove,tp,LOCATION_HAND,0,1,nil) end
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,e:GetHandler(),1,0,0) Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,e:GetHandler(),1,0,0)
Duel.SetOperationInfo(0,CATEGORY_REMOVE,nil,1,tp,LOCATION_DECK) Duel.SetOperationInfo(0,CATEGORY_REMOVE,nil,1,tp,LOCATION_HAND)
end end
function cm.spop(e,tp,eg,ep,ev,re,r,rp) function cm.spop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler() local c=e:GetHandler()
if Duel.GetLocationCount(tp,LOCATION_MZONE)<=0 and c:IsLocation(LOCATION_GRAVE) then return end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_REMOVE) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_REMOVE)
local g=Duel.SelectMatchingCard(tp,cm.rfilter,tp,LOCATION_DECK,0,1,1,nil) local g=Duel.SelectMatchingCard(tp,Card.IsAbleToRemove,tp,LOCATION_HAND,0,1,1,nil)
if g:GetCount()>0 and Duel.Remove(g,POS_FACEUP,REASON_EFFECT)~=0 and c:IsRelateToEffect(e) and Duel.SpecialSummon(c,0,tp,tp,false,false,POS_FACEUP)>0 then if g:GetCount()>0 and Duel.Remove(g,POS_FACEUP,REASON_EFFECT)~=0
and Duel.GetLocationCount(tp,LOCATION_MZONE)>0
and c:IsRelateToEffect(e) and Duel.SpecialSummon(c,0,tp,tp,false,false,POS_FACEUP)>0 then
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE) e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetProperty(EFFECT_FLAG_CANNOT_DISABLE) e1:SetProperty(EFFECT_FLAG_CANNOT_DISABLE)
...@@ -55,24 +53,37 @@ function cm.spop(e,tp,eg,ep,ev,re,r,rp) ...@@ -55,24 +53,37 @@ function cm.spop(e,tp,eg,ep,ev,re,r,rp)
e1:SetValue(LOCATION_REMOVED) e1:SetValue(LOCATION_REMOVED)
e1:SetReset(RESET_EVENT+RESETS_REDIRECT) e1:SetReset(RESET_EVENT+RESETS_REDIRECT)
c:RegisterEffect(e1,true) c:RegisterEffect(e1,true)
local e2=e1:Clone()
e2:SetCode(EFFECT_ADD_SETCODE)
e2:SetValue(0x484)
c:RegisterEffect(e2,true)
end end
end local e3=Effect.CreateEffect(c)
--active limit e3:SetType(EFFECT_TYPE_FIELD)
function cm.acon(e,tp,eg,ep,ev,re,r,rp) e3:SetCode(EFFECT_CANNOT_ACTIVATE)
return e:GetHandler():IsSummonType(SUMMON_TYPE_LINK) e3:SetProperty(EFFECT_FLAG_PLAYER_TARGET+EFFECT_FLAG_OATH)
end e3:SetTargetRange(1,0)
function cm.aop(e,tp,eg,ep,ev,re,r,rp) e3:SetValue(cm.aclimit)
local e1=Effect.CreateEffect(e:GetHandler()) e3:SetReset(RESET_PHASE+PHASE_END)
e1:SetType(EFFECT_TYPE_FIELD) Duel.RegisterEffect(e3,tp)
e1:SetCode(EFFECT_CANNOT_ACTIVATE)
e1:SetProperty(EFFECT_FLAG_PLAYER_TARGET+EFFECT_FLAG_OATH)
e1:SetTargetRange(1,0)
e1:SetValue(cm.aclimit)
e1:SetReset(RESET_PHASE+PHASE_END)
Duel.RegisterEffect(e1,tp)
end end
function cm.aclimit(e,re,tp) function cm.aclimit(e,re,tp)
local rc=re:GetHandler() local rc=re:GetHandler()
return re:IsActiveType(TYPE_MONSTER) and not rc:IsSetCard(0x480,0xb81,0x3b82) return re:IsActiveType(TYPE_MONSTER) and not rc:IsSetCard(0x480,0x484)
end
--remove
function cm.rfilter(c)
return c:IsSetCard(0x3b82,0xb81) and c:IsAbleToRemove()
end
function cm.rmtg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(cm.rfilter,tp,LOCATION_DECK,0,1,nil) and e:GetHandler():IsAbleToRemove() end
Duel.SetOperationInfo(0,CATEGORY_REMOVE,nil,1,tp,LOCATION_DECK)
end
function cm.rmop(e,tp,eg,ep,ev,re,r,rp)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_REMOVE)
local g=Duel.SelectMatchingCard(tp,cm.rfilter,tp,LOCATION_DECK,0,1,1,nil)
if Duel.Remove(g,POS_FACEUP,REASON_EFFECT)>0 and e:GetHandler():IsRelateToEffect(e) then
Duel.Remove(e:GetHandler(),POS_FACEUP,REASON_EFFECT)
end
end end
...@@ -14,6 +14,7 @@ function cm.initial_effect(c) ...@@ -14,6 +14,7 @@ function cm.initial_effect(c)
.e("SetCategory",CATEGORY_REMOVE+CATEGORY_DESTROY) .e("SetCategory",CATEGORY_REMOVE+CATEGORY_DESTROY)
.e("SetType",EFFECT_TYPE_ACTIVATE) .e("SetType",EFFECT_TYPE_ACTIVATE)
.e("SetCode",EVENT_FREE_CHAIN) .e("SetCode",EVENT_FREE_CHAIN)
.e("SetHintTiming",TIMING_ATTACK,0x11e0)
.e("SetTarget",function(e,tp,eg,ep,ev,re,r,rp,chk) .e("SetTarget",function(e,tp,eg,ep,ev,re,r,rp,chk)
local g=Duel.GetMatchingGroup(aux.TRUE,tp,LOCATION_ONFIELD,LOCATION_ONFIELD,nil) local g=Duel.GetMatchingGroup(aux.TRUE,tp,LOCATION_ONFIELD,LOCATION_ONFIELD,nil)
if chk==0 then return if chk==0 then return
...@@ -67,6 +68,7 @@ function cm.initial_effect(c) ...@@ -67,6 +68,7 @@ function cm.initial_effect(c)
.e("SetType",EFFECT_TYPE_QUICK_O) .e("SetType",EFFECT_TYPE_QUICK_O)
.e("SetCode",EVENT_FREE_CHAIN) .e("SetCode",EVENT_FREE_CHAIN)
.e("SetRange",LOCATION_GRAVE) .e("SetRange",LOCATION_GRAVE)
.e("SetProperty",EFFECT_FLAG_CARD_TARGET)
.e("SetHintTiming",0,TIMINGS_CHECK_MONSTER) .e("SetHintTiming",0,TIMINGS_CHECK_MONSTER)
.e("SetCost",aux.bfgcost) .e("SetCost",aux.bfgcost)
.e("SetTarget",function(e,tp,eg,ep,ev,re,r,rp,chk,chkc) .e("SetTarget",function(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
......
...@@ -47,6 +47,7 @@ function cm.initial_effect(c) ...@@ -47,6 +47,7 @@ function cm.initial_effect(c)
.e("SetType",EFFECT_TYPE_QUICK_O) .e("SetType",EFFECT_TYPE_QUICK_O)
.e("SetCode",EVENT_FREE_CHAIN) .e("SetCode",EVENT_FREE_CHAIN)
.e("SetRange",LOCATION_GRAVE) .e("SetRange",LOCATION_GRAVE)
.e("SetProperty",EFFECT_FLAG_CARD_TARGET)
.e("SetHintTiming",0,TIMINGS_CHECK_MONSTER) .e("SetHintTiming",0,TIMINGS_CHECK_MONSTER)
.e("SetCost",aux.bfgcost) .e("SetCost",aux.bfgcost)
.e("SetTarget",function(e,tp,eg,ep,ev,re,r,rp,chk,chkc) .e("SetTarget",function(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
......
...@@ -14,6 +14,7 @@ function cm.initial_effect(c) ...@@ -14,6 +14,7 @@ function cm.initial_effect(c)
.e("SetCategory",CATEGORY_DRAW+CATEGORY_REMOVE) .e("SetCategory",CATEGORY_DRAW+CATEGORY_REMOVE)
.e("SetType",EFFECT_TYPE_ACTIVATE) .e("SetType",EFFECT_TYPE_ACTIVATE)
.e("SetCode",EVENT_FREE_CHAIN) .e("SetCode",EVENT_FREE_CHAIN)
.e("SetProperty",EFFECT_FLAG_PLAYER_TARGET)
.e("SetTarget",function(e,tp,eg,ep,ev,re,r,rp,chk) .e("SetTarget",function(e,tp,eg,ep,ev,re,r,rp,chk)
local g=Duel.GetDecktopGroup(tp,5) local g=Duel.GetDecktopGroup(tp,5)
if chk==0 then return g:FilterCount(Card.IsAbleToRemove,nil,POS_FACEDOWN)==5 and Duel.IsPlayerCanDraw(tp,1) end if chk==0 then return g:FilterCount(Card.IsAbleToRemove,nil,POS_FACEDOWN)==5 and Duel.IsPlayerCanDraw(tp,1) end
...@@ -43,6 +44,7 @@ function cm.initial_effect(c) ...@@ -43,6 +44,7 @@ function cm.initial_effect(c)
.e("SetType",EFFECT_TYPE_QUICK_O) .e("SetType",EFFECT_TYPE_QUICK_O)
.e("SetCode",EVENT_FREE_CHAIN) .e("SetCode",EVENT_FREE_CHAIN)
.e("SetRange",LOCATION_GRAVE) .e("SetRange",LOCATION_GRAVE)
.e("SetProperty",EFFECT_FLAG_CARD_TARGET)
.e("SetHintTiming",0,TIMINGS_CHECK_MONSTER) .e("SetHintTiming",0,TIMINGS_CHECK_MONSTER)
.e("SetCost",aux.bfgcost) .e("SetCost",aux.bfgcost)
.e("SetTarget",function(e,tp,eg,ep,ev,re,r,rp,chk,chkc) .e("SetTarget",function(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
......
...@@ -62,6 +62,7 @@ function cm.initial_effect(c) ...@@ -62,6 +62,7 @@ function cm.initial_effect(c)
.e("SetType",EFFECT_TYPE_QUICK_O) .e("SetType",EFFECT_TYPE_QUICK_O)
.e("SetCode",EVENT_FREE_CHAIN) .e("SetCode",EVENT_FREE_CHAIN)
.e("SetRange",LOCATION_GRAVE) .e("SetRange",LOCATION_GRAVE)
.e("SetProperty",EFFECT_FLAG_CARD_TARGET)
.e("SetHintTiming",0,TIMINGS_CHECK_MONSTER) .e("SetHintTiming",0,TIMINGS_CHECK_MONSTER)
.e("SetCost",aux.bfgcost) .e("SetCost",aux.bfgcost)
.e("SetTarget",function(e,tp,eg,ep,ev,re,r,rp,chk,chkc) .e("SetTarget",function(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
......
...@@ -32,7 +32,7 @@ function cm.initial_effect(c) ...@@ -32,7 +32,7 @@ function cm.initial_effect(c)
e2:SetCode(EFFECT_CANNOT_ACTIVATE) e2:SetCode(EFFECT_CANNOT_ACTIVATE)
e2:SetTargetRange(1,1) e2:SetTargetRange(1,1)
e2:SetReset(RESET_PHASE+PHASE_END) e2:SetReset(RESET_PHASE+PHASE_END)
e2:SetValue(function(e,re,tp) e2:SetValue(function(e,re,tp)
return re:GetActivateLocation()==LOCATION_REMOVED return re:GetActivateLocation()==LOCATION_REMOVED
end) end)
Duel.RegisterEffect(e2,tp) Duel.RegisterEffect(e2,tp)
...@@ -44,6 +44,7 @@ function cm.initial_effect(c) ...@@ -44,6 +44,7 @@ function cm.initial_effect(c)
.e("SetType",EFFECT_TYPE_QUICK_O) .e("SetType",EFFECT_TYPE_QUICK_O)
.e("SetCode",EVENT_FREE_CHAIN) .e("SetCode",EVENT_FREE_CHAIN)
.e("SetRange",LOCATION_GRAVE) .e("SetRange",LOCATION_GRAVE)
.e("SetProperty",EFFECT_FLAG_CARD_TARGET)
.e("SetHintTiming",0,TIMINGS_CHECK_MONSTER) .e("SetHintTiming",0,TIMINGS_CHECK_MONSTER)
.e("SetCost",aux.bfgcost) .e("SetCost",aux.bfgcost)
.e("SetTarget",function(e,tp,eg,ep,ev,re,r,rp,chk,chkc) .e("SetTarget",function(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
...@@ -76,7 +77,7 @@ function cm.initial_effect(c) ...@@ -76,7 +77,7 @@ function cm.initial_effect(c)
e:SetValue(ct+tg:GetCount()) e:SetValue(ct+tg:GetCount())
Duel.Remove(tg,POS_FACEDOWN,REASON_EFFECT) Duel.Remove(tg,POS_FACEDOWN,REASON_EFFECT)
end end
if e:GetValue()>=cmt then e:Reset() end if e:GetValue()>=cmt then e:Reset() end
end) end)
e1:SetReset(RESET_PHASE+PHASE_END) e1:SetReset(RESET_PHASE+PHASE_END)
Duel.RegisterEffect(e1,tp) Duel.RegisterEffect(e1,tp)
......
...@@ -34,7 +34,7 @@ function cm.initial_effect(c) ...@@ -34,7 +34,7 @@ function cm.initial_effect(c)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SET) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SET)
local tg=setg:Select(tp,1,(setg:GetCount()>sc and {sc} or {setg:GetCount()})[1],nil) local tg=setg:Select(tp,1,(setg:GetCount()>sc and {sc} or {setg:GetCount()})[1],nil)
local sg=tg:Clone() local sg=tg:Clone()
sg:KeepAlive() sg:KeepAlive()
if Duel.SSet(tp,tg,tp,false)~=0 then if Duel.SSet(tp,tg,tp,false)~=0 then
local c=e:GetHandler() local c=e:GetHandler()
local fid=c:GetFieldID() local fid=c:GetFieldID()
...@@ -74,6 +74,7 @@ function cm.initial_effect(c) ...@@ -74,6 +74,7 @@ function cm.initial_effect(c)
.e("SetType",EFFECT_TYPE_QUICK_O) .e("SetType",EFFECT_TYPE_QUICK_O)
.e("SetCode",EVENT_FREE_CHAIN) .e("SetCode",EVENT_FREE_CHAIN)
.e("SetRange",LOCATION_GRAVE) .e("SetRange",LOCATION_GRAVE)
.e("SetProperty",EFFECT_FLAG_CARD_TARGET)
.e("SetHintTiming",0,TIMINGS_CHECK_MONSTER) .e("SetHintTiming",0,TIMINGS_CHECK_MONSTER)
.e("SetCost",aux.bfgcost) .e("SetCost",aux.bfgcost)
.e("SetTarget",function(e,tp,eg,ep,ev,re,r,rp,chk,chkc) .e("SetTarget",function(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
...@@ -83,7 +84,7 @@ function cm.initial_effect(c) ...@@ -83,7 +84,7 @@ function cm.initial_effect(c)
local g=Duel.SelectTarget(tp,Card.IsAbleToGrave,tp,LOCATION_SZONE,0,1,1,nil) local g=Duel.SelectTarget(tp,Card.IsAbleToGrave,tp,LOCATION_SZONE,0,1,1,nil)
Duel.SetOperationInfo(0,CATEGORY_TOGRAVE,g,1,0,0) end) Duel.SetOperationInfo(0,CATEGORY_TOGRAVE,g,1,0,0) end)
.e("SetOperation",function(e,tp,eg,ep,ev,re,r,rp) .e("SetOperation",function(e,tp,eg,ep,ev,re,r,rp)
local tc=Duel.GetFirstTarget() local tc=Duel.GetFirstTarget()
if tc and tc:IsRelateToEffect(e) and Duel.SendtoGrave(tc,REASON_EFFECT) and Duel.IsExistingMatchingCard(cm.setfilter,tp,LOCATION_REMOVED,0,1,nil) then if tc and tc:IsRelateToEffect(e) and Duel.SendtoGrave(tc,REASON_EFFECT) and Duel.IsExistingMatchingCard(cm.setfilter,tp,LOCATION_REMOVED,0,1,nil) then
local tg = Duel.SelectMatchingCard(tp,cm.setfilter,tp,LOCATION_REMOVED,0,1,1,nil) local tg = Duel.SelectMatchingCard(tp,cm.setfilter,tp,LOCATION_REMOVED,0,1,1,nil)
local lc = tg:GetFirst() local lc = tg:GetFirst()
......
...@@ -38,7 +38,7 @@ function cm.initial_effect(c) ...@@ -38,7 +38,7 @@ function cm.initial_effect(c)
e2:SetCode(EFFECT_CANNOT_REMOVE) e2:SetCode(EFFECT_CANNOT_REMOVE)
e2:SetTarget(function(e,c) return c:IsLocation(LOCATION_GRAVE) end) e2:SetTarget(function(e,c) return c:IsLocation(LOCATION_GRAVE) end)
e2:SetReset(RESET_PHASE+PHASE_END+RESET_OPPO_TURN) e2:SetReset(RESET_PHASE+PHASE_END+RESET_OPPO_TURN)
Duel.RegisterEffect(e2,tp) Duel.RegisterEffect(e2,tp)
local fid=c:GetFieldID() local fid=c:GetFieldID()
tc:RegisterFlagEffect(m,RESET_EVENT+RESETS_STANDARD,0,1,fid) tc:RegisterFlagEffect(m,RESET_EVENT+RESETS_STANDARD,0,1,fid)
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
...@@ -74,6 +74,7 @@ function cm.initial_effect(c) ...@@ -74,6 +74,7 @@ function cm.initial_effect(c)
.e("SetType",EFFECT_TYPE_QUICK_O) .e("SetType",EFFECT_TYPE_QUICK_O)
.e("SetCode",EVENT_FREE_CHAIN) .e("SetCode",EVENT_FREE_CHAIN)
.e("SetRange",LOCATION_GRAVE) .e("SetRange",LOCATION_GRAVE)
.e("SetProperty",EFFECT_FLAG_CARD_TARGET)
.e("SetHintTiming",0,TIMINGS_CHECK_MONSTER) .e("SetHintTiming",0,TIMINGS_CHECK_MONSTER)
.e("SetCost",aux.bfgcost) .e("SetCost",aux.bfgcost)
.e("SetTarget",function(e,tp,eg,ep,ev,re,r,rp,chk,chkc) .e("SetTarget",function(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
...@@ -82,7 +83,7 @@ function cm.initial_effect(c) ...@@ -82,7 +83,7 @@ function cm.initial_effect(c)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SELECT) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SELECT)
local g=Duel.SelectTarget(tp,Card.IsFaceup,tp,0,LOCATION_MZONE,1,1,nil) local g=Duel.SelectTarget(tp,Card.IsFaceup,tp,0,LOCATION_MZONE,1,1,nil)
local atk = g:GetFirst():GetAttack() local atk = g:GetFirst():GetAttack()
local rt = (atk-atk%800)/800 local rt = (atk-atk%1000)/1000
rt = (rt>5 and {5} or {rt})[1] rt = (rt>5 and {5} or {rt})[1]
if rt>0 then if rt>0 then
Duel.SetOperationInfo(0,CATEGORY_REMOVE,(rt>=3 and {g}or{nil})[1],rt,1-tp,LOCATION_DECK) Duel.SetOperationInfo(0,CATEGORY_REMOVE,(rt>=3 and {g}or{nil})[1],rt,1-tp,LOCATION_DECK)
......
...@@ -24,10 +24,10 @@ end ...@@ -24,10 +24,10 @@ end
function cm.operation(e,tp,eg,ep,ev,re,r,rp) function cm.operation(e,tp,eg,ep,ev,re,r,rp)
local e1=Effect.CreateEffect(e:GetHandler()) local e1=Effect.CreateEffect(e:GetHandler())
e1:SetType(EFFECT_TYPE_FIELD) e1:SetType(EFFECT_TYPE_FIELD)
e1:SetCode(EFFECT_CANNOT_SPECIAL_SUMMON) e1:SetCode(EFFECT_LIMIT_SPECIAL_SUMMON_POSITION)
e1:SetProperty(EFFECT_FLAG_PLAYER_TARGET) e1:SetProperty(EFFECT_FLAG_PLAYER_TARGET)
e1:SetTargetRange(0,1) e1:SetTargetRange(0,1)
e1:SetTarget(function(e,c,tp,sumtp,sumpos)return (sumpos&POS_ATTACK)>0 end) e1:SetTarget(cm.splimit)
e1:SetReset(RESET_PHASE+PHASE_END) e1:SetReset(RESET_PHASE+PHASE_END)
Duel.RegisterEffect(e1,tp) Duel.RegisterEffect(e1,tp)
local e2=Effect.CreateEffect(e:GetHandler()) local e2=Effect.CreateEffect(e:GetHandler())
...@@ -39,6 +39,9 @@ function cm.operation(e,tp,eg,ep,ev,re,r,rp) ...@@ -39,6 +39,9 @@ function cm.operation(e,tp,eg,ep,ev,re,r,rp)
e2:SetLabelObject(e1) e2:SetLabelObject(e1)
Duel.RegisterEffect(e2,tp) Duel.RegisterEffect(e2,tp)
end end
function cm.splimit(e,c,tp,sumtp,sumpos)
return (sumpos&POS_ATTACK)>0
end
function cm.con(e,tp,eg,ep,ev,re,r,rp) function cm.con(e,tp,eg,ep,ev,re,r,rp)
return eg:IsExists(Card.IsPosition,1,nil,POS_DEFENSE) return eg:IsExists(Card.IsPosition,1,nil,POS_DEFENSE)
end end
......
...@@ -57,10 +57,10 @@ function cm.con(e,c,og,lmat,min,max) ...@@ -57,10 +57,10 @@ function cm.con(e,c,og,lmat,min,max)
if not Auxiliary.LConditionFilter(lmat,nil,c,e) then return false end if not Auxiliary.LConditionFilter(lmat,nil,c,e) then return false end
mg:AddCard(lmat) mg:AddCard(lmat)
end end
local fg=Auxiliary.GetMustMaterialGroup(tp,EFFECT_MUST_BE_LMATERIAL) local fg=Duel.GetMustMaterial(tp,EFFECT_MUST_BE_LMATERIAL)
if fg:IsExists(Auxiliary.MustMaterialCounterFilter,1,nil,mg) then return false end if fg:IsExists(Auxiliary.MustMaterialCounterFilter,1,nil,mg) then return false end
Duel.SetSelectedCard(fg) Duel.SetSelectedCard(fg)
return mg:CheckSubGroup(Auxiliary.LCheckGoal,minc,maxc,tp,c,nil,lmat) return mg:CheckSubGroup(Auxiliary.LCheckGoal,minc,maxc,tp,c,gf,lmat)
end end
function cm.LinkTarget(e,tp,eg,ep,ev,re,r,rp,chk,c,og,lmat,min,max) function cm.LinkTarget(e,tp,eg,ep,ev,re,r,rp,chk,c,og,lmat,min,max)
local minc=3 local minc=3
...@@ -80,7 +80,7 @@ function cm.LinkTarget(e,tp,eg,ep,ev,re,r,rp,chk,c,og,lmat,min,max) ...@@ -80,7 +80,7 @@ function cm.LinkTarget(e,tp,eg,ep,ev,re,r,rp,chk,c,og,lmat,min,max)
if not Auxiliary.LConditionFilter(lmat,nil,c,e) then return false end if not Auxiliary.LConditionFilter(lmat,nil,c,e) then return false end
mg:AddCard(lmat) mg:AddCard(lmat)
end end
local fg=Auxiliary.GetMustMaterialGroup(tp,EFFECT_MUST_BE_LMATERIAL) local fg=Duel.GetMustMaterial(tp,EFFECT_MUST_BE_LMATERIAL)
Duel.SetSelectedCard(fg) Duel.SetSelectedCard(fg)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_LMATERIAL) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_LMATERIAL)
local cancel=Duel.IsSummonCancelable() local cancel=Duel.IsSummonCancelable()
......
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