Commit 737da3a5 authored by POLYMER's avatar POLYMER

fix

parent 683f9e83
...@@ -118,7 +118,6 @@ function cm.spop(e,tp,eg,ep,ev,re,r,rp) ...@@ -118,7 +118,6 @@ function cm.spop(e,tp,eg,ep,ev,re,r,rp)
--e1:SetCountLimit(1) --e1:SetCountLimit(1)
e1:SetLabel(Duel.GetCurrentPhase()) e1:SetLabel(Duel.GetCurrentPhase())
e1:SetLabelObject(tc) e1:SetLabelObject(tc)
e1:SetReset(RESET_PHASE+PHASE_END)
e1:SetCondition(cm.retcon) e1:SetCondition(cm.retcon)
e1:SetOperation(cm.retop) e1:SetOperation(cm.retop)
Duel.RegisterEffect(e1,tp) Duel.RegisterEffect(e1,tp)
......
...@@ -23,6 +23,7 @@ function s.target(e,tp,eg,ep,ev,re,r,rp,chk) ...@@ -23,6 +23,7 @@ function s.target(e,tp,eg,ep,ev,re,r,rp,chk)
Duel.SetOperationInfo(0,CATEGORY_RELEASE,nil,1,tp,LOCATION_HAND+LOCATION_MZONE) Duel.SetOperationInfo(0,CATEGORY_RELEASE,nil,1,tp,LOCATION_HAND+LOCATION_MZONE)
end end
function s.activate(e,tp,eg,ep,ev,re,r,rp) function s.activate(e,tp,eg,ep,ev,re,r,rp)
if not e:GetHandler():IsRelateToEffect(e) then return end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_RELEASE) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_RELEASE)
local g=Duel.SelectMatchingCard(tp,VHisc_HYZQ.rlft,tp,LOCATION_HAND+LOCATION_MZONE,0,1,1,nil) local g=Duel.SelectMatchingCard(tp,VHisc_HYZQ.rlft,tp,LOCATION_HAND+LOCATION_MZONE,0,1,1,nil)
local ct=Duel.SendtoGrave(g,REASON_RELEASE) local ct=Duel.SendtoGrave(g,REASON_RELEASE)
......
...@@ -30,6 +30,7 @@ function s.target(e,tp,eg,ep,ev,re,r,rp,chk) ...@@ -30,6 +30,7 @@ function s.target(e,tp,eg,ep,ev,re,r,rp,chk)
Duel.SetOperationInfo(0,CATEGORY_RELEASE,nil,1,tp,LOCATION_HAND+LOCATION_MZONE) Duel.SetOperationInfo(0,CATEGORY_RELEASE,nil,1,tp,LOCATION_HAND+LOCATION_MZONE)
end end
function s.activate(e,tp,eg,ep,ev,re,r,rp) function s.activate(e,tp,eg,ep,ev,re,r,rp)
if not e:GetHandler():IsRelateToEffect(e) then return end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_RELEASE) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_RELEASE)
local g=Duel.SelectMatchingCard(tp,VHisc_HYZQ.rlft,tp,LOCATION_HAND+LOCATION_MZONE,0,1,1,nil) local g=Duel.SelectMatchingCard(tp,VHisc_HYZQ.rlft,tp,LOCATION_HAND+LOCATION_MZONE,0,1,1,nil)
local ct=Duel.SendtoGrave(g,REASON_RELEASE) local ct=Duel.SendtoGrave(g,REASON_RELEASE)
......
...@@ -23,6 +23,7 @@ function s.target(e,tp,eg,ep,ev,re,r,rp,chk) ...@@ -23,6 +23,7 @@ function s.target(e,tp,eg,ep,ev,re,r,rp,chk)
Duel.SetOperationInfo(0,CATEGORY_DRAW,nil,1,tp,nil) Duel.SetOperationInfo(0,CATEGORY_DRAW,nil,1,tp,nil)
end end
function s.activate(e,tp,eg,ep,ev,re,r,rp) function s.activate(e,tp,eg,ep,ev,re,r,rp)
if not e:GetHandler():IsRelateToEffect(e) then return end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_RELEASE) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_RELEASE)
local g=Duel.SelectMatchingCard(tp,VHisc_HYZQ.rlft,tp,LOCATION_HAND+LOCATION_MZONE,0,1,1,nil) local g=Duel.SelectMatchingCard(tp,VHisc_HYZQ.rlft,tp,LOCATION_HAND+LOCATION_MZONE,0,1,1,nil)
local ct=Duel.SendtoGrave(g,REASON_RELEASE) local ct=Duel.SendtoGrave(g,REASON_RELEASE)
......
...@@ -22,6 +22,7 @@ function s.target(e,tp,eg,ep,ev,re,r,rp,chk) ...@@ -22,6 +22,7 @@ function s.target(e,tp,eg,ep,ev,re,r,rp,chk)
Duel.SetOperationInfo(0,CATEGORY_RELEASE,nil,1,tp,LOCATION_HAND+LOCATION_MZONE) Duel.SetOperationInfo(0,CATEGORY_RELEASE,nil,1,tp,LOCATION_HAND+LOCATION_MZONE)
end end
function s.activate(e,tp,eg,ep,ev,re,r,rp) function s.activate(e,tp,eg,ep,ev,re,r,rp)
if not e:GetHandler():IsRelateToEffect(e) then return end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_RELEASE) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_RELEASE)
local g=Duel.SelectMatchingCard(tp,VHisc_HYZQ.rlft,tp,LOCATION_HAND+LOCATION_MZONE,0,1,1,nil) local g=Duel.SelectMatchingCard(tp,VHisc_HYZQ.rlft,tp,LOCATION_HAND+LOCATION_MZONE,0,1,1,nil)
local ct=Duel.SendtoGrave(g,REASON_RELEASE) local ct=Duel.SendtoGrave(g,REASON_RELEASE)
......
...@@ -38,6 +38,7 @@ function s.target(e,tp,eg,ep,ev,re,r,rp,chk) ...@@ -38,6 +38,7 @@ function s.target(e,tp,eg,ep,ev,re,r,rp,chk)
Duel.SetOperationInfo(0,CATEGORY_RELEASE,nil,1,tp,LOCATION_HAND+LOCATION_MZONE) Duel.SetOperationInfo(0,CATEGORY_RELEASE,nil,1,tp,LOCATION_HAND+LOCATION_MZONE)
end end
function s.activate(e,tp,eg,ep,ev,re,r,rp) function s.activate(e,tp,eg,ep,ev,re,r,rp)
if not e:GetHandler():IsRelateToEffect(e) then return end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_RELEASE) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_RELEASE)
local g=Duel.SelectMatchingCard(tp,VHisc_HYZQ.rlft,tp,LOCATION_HAND+LOCATION_MZONE,0,1,1,nil) local g=Duel.SelectMatchingCard(tp,VHisc_HYZQ.rlft,tp,LOCATION_HAND+LOCATION_MZONE,0,1,1,nil)
local ct=Duel.SendtoGrave(g,REASON_RELEASE) local ct=Duel.SendtoGrave(g,REASON_RELEASE)
......
--格拉摩根的外包 --格拉摩根的外包
if not pcall(function() require("expansions/script/c10199990") end) then require("script/c10199990") end if not pcall(function() dofile("expansions/script/c10199990") end) then dofile("script/c10199990") end
\ No newline at end of file \ No newline at end of file
...@@ -12,7 +12,7 @@ function cm.initial_effect(c) ...@@ -12,7 +12,7 @@ function cm.initial_effect(c)
--limit --limit
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(m,0)) e1:SetDescription(aux.Stringid(m,0))
e1:SetProperty(EFFECT_FLAG_CARD_TARGET) --e1:SetProperty(EFFECT_FLAG_CARD_TARGET)
e1:SetType(EFFECT_TYPE_QUICK_O) e1:SetType(EFFECT_TYPE_QUICK_O)
e1:SetRange(LOCATION_MZONE) e1:SetRange(LOCATION_MZONE)
e1:SetCountLimit(1) e1:SetCountLimit(1)
...@@ -37,8 +37,8 @@ end ...@@ -37,8 +37,8 @@ end
function cm.cost(e,tp,eg,ep,ev,re,r,rp,chk) function cm.cost(e,tp,eg,ep,ev,re,r,rp,chk)
local c=e:GetHandler() local c=e:GetHandler()
local lg=c:GetLinkedGroup() local lg=c:GetLinkedGroup()
if chk==0 then return Duel.CheckReleaseGroup(tp,cm.cfilter,3,nil,lg) end if chk==0 then return Duel.CheckReleaseGroup(REASON_COST,tp,cm.cfilter,3,nil,lg) end
local g=Duel.SelectReleaseGroup(tp,cm.cfilter,3,3,nil,lg) local g=Duel.SelectReleaseGroup(REASON_COST,tp,cm.cfilter,3,3,nil,lg)
local ct=g:FilterCount(Card.IsType,nil,TYPE_NORMAL) local ct=g:FilterCount(Card.IsType,nil,TYPE_NORMAL)
e:SetValue(ct) e:SetValue(ct)
if ct>0 then if ct>0 then
......
--机械加工 敲击南洋大兜虫 --机械加工 敲击南洋大兜虫
if not pcall(function() dofile("expansions/script/c40008000") end) then dofile("script/c40008000") end if not pcall(function() require("expansions/script/c40008000") end) then require("script/c40008000") end
local m,cm=rscf.DefineCard(40009281) local m,cm=rscf.DefineCard(40009281)
local m=40009281 local m=40009281
local cm=_G["c"..m] local cm=_G["c"..m]
......
--机械加工 星火独角仙 --机械加工 星火独角仙
if not pcall(function() dofile("expansions/script/c40008000") end) then dofile("script/c40008000") end if not pcall(function() require("expansions/script/c40008000") end) then require("script/c40008000") end
local m,cm=rscf.DefineCard(40009283) local m,cm=rscf.DefineCard(40009283)
local m=40009283 local m=40009283
local cm=_G["c"..m] local cm=_G["c"..m]
......
--机械加工·坏 --机械加工·坏
if not pcall(function() dofile("expansions/script/c40008000") end) then dofile("script/c40008000") end if not pcall(function() require("expansions/script/c40008000") end) then require("script/c40008000") end
local m,cm=rscf.DefineCard(40009426) local m,cm=rscf.DefineCard(40009426)
local m=40009426 local m=40009426
local cm=_G["c"..m] local cm=_G["c"..m]
......
--机械加工·驱 --机械加工·驱
if not pcall(function() dofile("expansions/script/c40008000") end) then dofile("script/c40008000") end if not pcall(function() require("expansions/script/c40008000") end) then require("script/c40008000") end
local m,cm=rscf.DefineCard(40009427) local m,cm=rscf.DefineCard(40009427)
local m=40009427 local m=40009427
local cm=_G["c"..m] local cm=_G["c"..m]
......
--机械加工 蝎子 --机械加工 蝎子
if not pcall(function() dofile("expansions/script/c40008000") end) then dofile("script/c40008000") end if not pcall(function() require("expansions/script/c40008000") end) then require("script/c40008000") end
local m,cm=rscf.DefineCard(40009428) local m,cm=rscf.DefineCard(40009428)
local m=40009428 local m=40009428
local cm=_G["c"..m] local cm=_G["c"..m]
......
--机械加工 马蜂 --机械加工 马蜂
if not pcall(function() dofile("expansions/script/c40008000") end) then dofile("script/c40008000") end if not pcall(function() require("expansions/script/c40008000") end) then require("script/c40008000") end
local m,cm=rscf.DefineCard(40009429) local m,cm=rscf.DefineCard(40009429)
local m=40009429 local m=40009429
local cm=_G["c"..m] local cm=_G["c"..m]
......
--机械加工 黑蚁兵 --机械加工 黑蚁兵
if not pcall(function() dofile("expansions/script/c40008000") end) then dofile("script/c40008000") end if not pcall(function() require("expansions/script/c40008000") end) then require("script/c40008000") end
local m,cm=rscf.DefineCard(40009430) local m,cm=rscf.DefineCard(40009430)
local m=40009430 local m=40009430
local cm=_G["c"..m] local cm=_G["c"..m]
......
--机械加工 赤蚁兵 --机械加工 赤蚁兵
if not pcall(function() dofile("expansions/script/c40008000") end) then dofile("script/c40008000") end if not pcall(function() require("expansions/script/c40008000") end) then require("script/c40008000") end
local m,cm=rscf.DefineCard(40009431) local m,cm=rscf.DefineCard(40009431)
local m=40009431 local m=40009431
local cm=_G["c"..m] local cm=_G["c"..m]
......
--机械加工 鼠妇 --机械加工 鼠妇
if not pcall(function() dofile("expansions/script/c40008000") end) then dofile("script/c40008000") end if not pcall(function() require("expansions/script/c40008000") end) then require("script/c40008000") end
local m,cm=rscf.DefineCard(40009432) local m,cm=rscf.DefineCard(40009432)
local m=40009432 local m=40009432
local cm=_G["c"..m] local cm=_G["c"..m]
......
--机械加工 螳螂 --机械加工 螳螂
if not pcall(function() dofile("expansions/script/c40008000") end) then dofile("script/c40008000") end if not pcall(function() require("expansions/script/c40008000") end) then require("script/c40008000") end
local m,cm=rscf.DefineCard(40009434) local m,cm=rscf.DefineCard(40009434)
local m=40009434 local m=40009434
local cm=_G["c"..m] local cm=_G["c"..m]
......
--机械加工 蝎子Mk-2 --机械加工 蝎子Mk-2
if not pcall(function() dofile("expansions/script/c40008000") end) then dofile("script/c40008000") end if not pcall(function() require("expansions/script/c40008000") end) then require("script/c40008000") end
local m,cm=rscf.DefineCard(40009435) local m,cm=rscf.DefineCard(40009435)
local m=40009435 local m=40009435
local cm=_G["c"..m] local cm=_G["c"..m]
......
--机械加工 蚊子 --机械加工 蚊子
if not pcall(function() dofile("expansions/script/c40008000") end) then dofile("script/c40008000") end if not pcall(function() require("expansions/script/c40008000") end) then require("script/c40008000") end
local m,cm=rscf.DefineCard(40009437) local m,cm=rscf.DefineCard(40009437)
local m=40009437 local m=40009437
local cm=_G["c"..m] local cm=_G["c"..m]
......
...@@ -47,7 +47,7 @@ function cm.f(c) ...@@ -47,7 +47,7 @@ function cm.f(c)
end end
function cm.rtg(e,tp,eg,ep,ev,re,r,rp,chk) function cm.rtg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return eg:IsExists(cm.rf,1,nil) if chk==0 then return eg:IsExists(cm.rf,1,nil)
and Duel.IsExistingMatchingCard(Card.IsAbleToGrave,tp,LOCATION_GRAVE,0,1,nil) and not e:GetHandler():IsStatus(STATUS_DESTROY_CONFIRMED+STATUS_BATTLE_DESTROYED) end and Duel.IsExistingMatchingCard(Card.IsAbleToGrave,tp,LOCATION_GRAVE,0,1,nil) end
if Duel.SelectEffectYesNo(tp,e:GetHandler(),96) then if Duel.SelectEffectYesNo(tp,e:GetHandler(),96) then
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_REMOVE) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_REMOVE)
local g=Duel.SelectMatchingCard(tp,Card.IsAbleToGrave,tp,LOCATION_GRAVE,0,1,1,nil) local g=Duel.SelectMatchingCard(tp,Card.IsAbleToGrave,tp,LOCATION_GRAVE,0,1,1,nil)
...@@ -60,7 +60,7 @@ function cm.rval(e,c) ...@@ -60,7 +60,7 @@ function cm.rval(e,c)
return cm.rf(c,e:GetHandlerPlayer()) return cm.rf(c,e:GetHandlerPlayer())
end end
function cm.rf(c,tp) function cm.rf(c,tp)
return c:IsFaceup() and (c:IsRace(RACE_AQUA) or c:IsRace(RACE_FISH) or c:IsRace(RACE_SEASERPENT)) and not c:IsReason(REASON_REPLACE) return c:IsControler(tp) and c:IsFaceup() and (c:IsRace(RACE_AQUA) or c:IsRace(RACE_FISH) or c:IsRace(RACE_SEASERPENT)) and not c:IsReason(REASON_REPLACE)
end end
function cm.rop(e,tp,eg,ep,ev,re,r,rp) function cm.rop(e,tp,eg,ep,ev,re,r,rp)
Duel.Hint(HINT_CARD,0,m) Duel.Hint(HINT_CARD,0,m)
...@@ -84,7 +84,7 @@ function cm.op2(e,tp,eg,ep,ev,re,r,rp) ...@@ -84,7 +84,7 @@ function cm.op2(e,tp,eg,ep,ev,re,r,rp)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TODECK) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TODECK)
local sg=Duel.SelectMatchingCard(tp,Card.IsAbleToDeck,tp,LOCATION_ONFIELD+LOCATION_GRAVE,LOCATION_GRAVE+LOCATION_ONFIELD,1,1,nil) local sg=Duel.SelectMatchingCard(tp,Card.IsAbleToDeck,tp,LOCATION_ONFIELD+LOCATION_GRAVE,LOCATION_GRAVE+LOCATION_ONFIELD,1,1,nil)
if #sg>0 then if #sg>0 then
Duel.SendtoDeck(sg,1-tp,2,REASON_EFFECT) Duel.SendtoDeck(sg,nil,2,REASON_EFFECT)
end end
end end
end end
......
...@@ -21,62 +21,48 @@ function s.initial_effect(c) ...@@ -21,62 +21,48 @@ function s.initial_effect(c)
e2:SetOperation(s.tgop) e2:SetOperation(s.tgop)
c:RegisterEffect(e2) c:RegisterEffect(e2)
local e3=Effect.CreateEffect(c) local e3=Effect.CreateEffect(c)
e3:SetDescription(aux.Stringid(id,1)) e3:SetType(EFFECT_TYPE_CONTINUOUS+EFFECT_TYPE_FIELD)
e3:SetCategory(CATEGORY_TOHAND) e3:SetProperty(EFFECT_FLAG_CANNOT_DISABLE)
e3:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_TRIGGER_O) e3:SetCode(EVENT_CHAINING)
e3:SetRange(LOCATION_MZONE) e3:SetRange(LOCATION_MZONE)
e3:SetProperty(EFFECT_FLAG_DELAY) e3:SetOperation(s.mop)
e3:SetCode(EVENT_CUSTOM+id)
e3:SetCountLimit(1,id+50)
e3:SetTarget(s.thtg)
e3:SetOperation(s.thop)
c:RegisterEffect(e3) c:RegisterEffect(e3)
local g=Group.CreateGroup()
g:KeepAlive()
e3:SetLabelObject(g)
local e4=Effect.CreateEffect(c)
e4:SetDescription(aux.Stringid(id,1))
e4:SetCategory(CATEGORY_TOHAND)
e4:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_TRIGGER_O)
e4:SetRange(LOCATION_MZONE)
e4:SetProperty(EFFECT_FLAG_DELAY)
e4:SetCode(EVENT_CHAIN_SOLVED)
e4:SetCountLimit(1,id+50)
e4:SetLabelObject(e3)
e4:SetTarget(s.thtg)
e4:SetOperation(s.thop)
c:RegisterEffect(e4)
if s.global_effect==nil then if s.global_effect==nil then
s.global_effect=true s.global_effect=true
local ge0=Effect.CreateEffect(c) local ge0=Effect.CreateEffect(c)
ge0:SetType(EFFECT_TYPE_CONTINUOUS+EFFECT_TYPE_FIELD) ge0:SetType(EFFECT_TYPE_CONTINUOUS+EFFECT_TYPE_FIELD)
ge0:SetCode(EVENT_CHAIN_SOLVING) ge0:SetCode(EVENT_CHAIN_SOLVING)
ge0:SetOperation(s.checkop) ge0:SetOperation(s.checkop1)
Duel.RegisterEffect(ge0,0) Duel.RegisterEffect(ge0,0)
local g=Group.CreateGroup() Duel.RegisterFlagEffect(0,id+50,0,0,0,0)
g:KeepAlive()
local ge1=Effect.CreateEffect(c) local ge1=Effect.CreateEffect(c)
ge1:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS) ge1:SetType(EFFECT_TYPE_CONTINUOUS+EFFECT_TYPE_FIELD)
ge1:SetCode(EVENT_CHAINING) ge1:SetCode(EVENT_CHAIN_END)
ge1:SetLabelObject(g) ge1:SetOperation(s.checkop2)
ge1:SetOperation(s.MergedDelayEventCheck1)
Duel.RegisterEffect(ge1,0) Duel.RegisterEffect(ge1,0)
local ge2=ge1:Clone()
ge2:SetCode(EVENT_CHAIN_END)
ge2:SetOperation(s.MergedDelayEventCheck2)
Duel.RegisterEffect(ge2,0)
end end
end end
function s.checkop(e,tp,eg,ep,ev,re,r,rp) function s.checkop1(e,tp,eg,ep,ev,re,r,rp)
Duel.RegisterFlagEffect(rp,id,RESET_PHASE+PHASE_END,0,1) Duel.RegisterFlagEffect(rp,id,RESET_PHASE+PHASE_END,0,1)
end end
function s.acfilter(c) function s.checkop2(e,tp,eg,ep,ev,re,r,rp)
return c:IsType(TYPE_SPELL+TYPE_TRAP) and c:IsFaceupEx() local ct=Duel.GetFlagEffectLabel(0,id+50)
end Duel.SetFlagEffectLabel(0,id+50,ct+1)
function s.MergedDelayEventCheck1(e,tp,eg,ep,ev,re,r,rp)
local g=e:GetLabelObject()
if re:IsHasProperty(EFFECT_FLAG_CARD_TARGET) then
local tg=Duel.GetChainInfo(ev,CHAININFO_TARGET_CARDS)
if tg and tg:IsExists(s.acfilter,1,nil) then g:Merge(tg:Filter(s.acfilter,nil)) end
end
if Duel.GetCurrentChain()==0 and not Duel.CheckEvent(EVENT_CHAIN_END) then
local _eg=g:Clone()
Duel.RaiseEvent(_eg,EVENT_CUSTOM+id,re,r,rp,ep,ev)
g:Clear()
end
end
function s.MergedDelayEventCheck2(e,tp,eg,ep,ev,re,r,rp)
local g=e:GetLabelObject()
if #g>0 then
local _eg=g:Clone()
Duel.RaiseEvent(_eg,EVENT_CUSTOM+id,re,r,rp,ep,ev)
g:Clear()
end
end end
function s.sumop(e,tp,eg,ep,ev,re,r,rp) function s.sumop(e,tp,eg,ep,ev,re,r,rp)
e:GetHandler():RegisterFlagEffect(id,RESET_EVENT+0x1fc0000+RESET_PHASE+PHASE_END,0,1) e:GetHandler():RegisterFlagEffect(id,RESET_EVENT+0x1fc0000+RESET_PHASE+PHASE_END,0,1)
...@@ -105,10 +91,23 @@ function s.tgop(e,tp,eg,ep,ev,re,r,rp) ...@@ -105,10 +91,23 @@ function s.tgop(e,tp,eg,ep,ev,re,r,rp)
end end
end end
end end
function s.acfilter(c)
return c:IsType(TYPE_SPELL+TYPE_TRAP) and (c:IsFaceupEx() or c:IsLocation(LOCATION_SZONE))
end
function s.mop(e,tp,eg,ep,ev,re,r,rp)
local g=e:GetLabelObject()
local ct=Duel.GetFlagEffectLabel(0,id+50) or 0
if ct~=e:GetLabel() then g:Clear() e:SetLabel(ct) end
if re:IsHasProperty(EFFECT_FLAG_CARD_TARGET) then
local tg=Duel.GetChainInfo(ev,CHAININFO_TARGET_CARDS)
if tg and tg:IsExists(s.acfilter,1,nil) then g:Merge(tg:Filter(s.acfilter,nil)) end
end
end
function s.thtg(e,tp,eg,ep,ev,re,r,rp,chk) function s.thtg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return eg:IsExists(Card.IsAbleToHand,1,nil) end local g=e:GetLabelObject():GetLabelObject()
Duel.SetTargetCard(eg) if chk==0 then return g:IsExists(Card.IsAbleToHand,1,nil) end
Duel.SetOperationInfo(0,CATEGORY_TOHAND,eg,1,0,0) Duel.SetTargetCard(g)
Duel.SetOperationInfo(0,CATEGORY_TOHAND,g,1,0,0)
end end
function s.thop(e,tp,eg,ep,ev,re,r,rp) function s.thop(e,tp,eg,ep,ev,re,r,rp)
local tg=Duel.GetTargetsRelateToChain() local tg=Duel.GetTargetsRelateToChain()
...@@ -117,5 +116,5 @@ function s.thop(e,tp,eg,ep,ev,re,r,rp) ...@@ -117,5 +116,5 @@ function s.thop(e,tp,eg,ep,ev,re,r,rp)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_ATOHAND) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_ATOHAND)
tc=tg:Select(tp,1,1,nil):GetFirst() tc=tg:Select(tp,1,1,nil):GetFirst()
end end
if tc then Duel.SendtoHand(tc,nil,REASON_EFFECT) Duel.ConfirmCards(1-tp,tc) end if tc then Duel.SendtoHand(tc,tp,REASON_EFFECT) Duel.ConfirmCards(1-tp,tc) end
end end
...@@ -13,7 +13,6 @@ function s.initial_effect(c) ...@@ -13,7 +13,6 @@ function s.initial_effect(c)
e2:SetCode(EVENT_BECOME_TARGET) e2:SetCode(EVENT_BECOME_TARGET)
e2:SetProperty(EFFECT_FLAG_DELAY) e2:SetProperty(EFFECT_FLAG_DELAY)
e2:SetRange(LOCATION_GRAVE) e2:SetRange(LOCATION_GRAVE)
e2:SetCondition(aux.bpcon)
e2:SetTarget(s.rmtg) e2:SetTarget(s.rmtg)
e2:SetOperation(s.rmop) e2:SetOperation(s.rmop)
c:RegisterEffect(e2) c:RegisterEffect(e2)
......
...@@ -65,13 +65,12 @@ function c71401019.tg2(e,tp,eg,ep,ev,re,r,rp,chk,chkc) ...@@ -65,13 +65,12 @@ function c71401019.tg2(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
end end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_RTOHAND) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_RTOHAND)
local rc=Duel.SelectMatchingCard(tp,c71401019.filterc2,tp,LOCATION_MZONE,0,1,1,nil,tp,e:GetHandler()):GetFirst() local rc=Duel.SelectMatchingCard(tp,c71401019.filterc2,tp,LOCATION_MZONE,0,1,1,nil,tp,e:GetHandler()):GetFirst()
e:SetLabel(rc:GetCode()) Duel.SetTargetParam(rc:GetCode())
Duel.SendtoHand(rc,nil,REASON_COST) Duel.SendtoHand(rc,nil,REASON_COST)
yume.RegButterflyCostLimit(e,tp) yume.RegButterflyCostLimit(e,tp)
end end
function c71401019.op2(e,tp,eg,ep,ev,re,r,rp) function c71401019.op2(e,tp,eg,ep,ev,re,r,rp)
if Duel.GetFlagEffect(tp,71401019)~=0 then return end local code=Duel.GetChainInfo(0,CHAININFO_TARGET_PARAM)
local code=e:GetLabel()
local g=Duel.GetMatchingGroup(c71401019.filter2,tp,LOCATION_HAND+LOCATION_MZONE,0,nil,code) local g=Duel.GetMatchingGroup(c71401019.filter2,tp,LOCATION_HAND+LOCATION_MZONE,0,nil,code)
if g:GetCount()>0 and Duel.SelectYesNo(tp,aux.Stringid(71401019,1)) then if g:GetCount()>0 and Duel.SelectYesNo(tp,aux.Stringid(71401019,1)) then
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SUMMON) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SUMMON)
...@@ -80,6 +79,7 @@ function c71401019.op2(e,tp,eg,ep,ev,re,r,rp) ...@@ -80,6 +79,7 @@ function c71401019.op2(e,tp,eg,ep,ev,re,r,rp)
Duel.Summon(tp,tc,true,nil) Duel.Summon(tp,tc,true,nil)
end end
end end
if Duel.GetFlagEffect(tp,71401019)~=0 then return end
local e1=Effect.CreateEffect(e:GetHandler()) local e1=Effect.CreateEffect(e:GetHandler())
e1:SetDescription(aux.Stringid(71401019,2)) e1:SetDescription(aux.Stringid(71401019,2))
e1:SetType(EFFECT_TYPE_FIELD) e1:SetType(EFFECT_TYPE_FIELD)
......
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