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)
--e1:SetCountLimit(1)
e1:SetLabel(Duel.GetCurrentPhase())
e1:SetLabelObject(tc)
e1:SetReset(RESET_PHASE+PHASE_END)
e1:SetCondition(cm.retcon)
e1:SetOperation(cm.retop)
Duel.RegisterEffect(e1,tp)
......
......@@ -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)
end
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)
local g=Duel.SelectMatchingCard(tp,VHisc_HYZQ.rlft,tp,LOCATION_HAND+LOCATION_MZONE,0,1,1,nil)
local ct=Duel.SendtoGrave(g,REASON_RELEASE)
......
......@@ -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)
end
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)
local g=Duel.SelectMatchingCard(tp,VHisc_HYZQ.rlft,tp,LOCATION_HAND+LOCATION_MZONE,0,1,1,nil)
local ct=Duel.SendtoGrave(g,REASON_RELEASE)
......
......@@ -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)
end
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)
local g=Duel.SelectMatchingCard(tp,VHisc_HYZQ.rlft,tp,LOCATION_HAND+LOCATION_MZONE,0,1,1,nil)
local ct=Duel.SendtoGrave(g,REASON_RELEASE)
......
......@@ -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)
end
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)
local g=Duel.SelectMatchingCard(tp,VHisc_HYZQ.rlft,tp,LOCATION_HAND+LOCATION_MZONE,0,1,1,nil)
local ct=Duel.SendtoGrave(g,REASON_RELEASE)
......
......@@ -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)
end
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)
local g=Duel.SelectMatchingCard(tp,VHisc_HYZQ.rlft,tp,LOCATION_HAND+LOCATION_MZONE,0,1,1,nil)
local ct=Duel.SendtoGrave(g,REASON_RELEASE)
......
--格拉摩根的外包
if not pcall(function() require("expansions/script/c10199990") end) then require("script/c10199990") end
\ No newline at end of file
if not pcall(function() dofile("expansions/script/c10199990") end) then dofile("script/c10199990") end
\ No newline at end of file
......@@ -12,7 +12,7 @@ function cm.initial_effect(c)
--limit
local e1=Effect.CreateEffect(c)
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:SetRange(LOCATION_MZONE)
e1:SetCountLimit(1)
......@@ -37,8 +37,8 @@ end
function cm.cost(e,tp,eg,ep,ev,re,r,rp,chk)
local c=e:GetHandler()
local lg=c:GetLinkedGroup()
if chk==0 then return Duel.CheckReleaseGroup(tp,cm.cfilter,3,nil,lg) end
local g=Duel.SelectReleaseGroup(tp,cm.cfilter,3,3,nil,lg)
if chk==0 then return Duel.CheckReleaseGroup(REASON_COST,tp,cm.cfilter,3,nil,lg) end
local g=Duel.SelectReleaseGroup(REASON_COST,tp,cm.cfilter,3,3,nil,lg)
local ct=g:FilterCount(Card.IsType,nil,TYPE_NORMAL)
e:SetValue(ct)
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=40009281
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=40009283
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=40009426
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=40009427
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=40009428
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=40009429
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=40009430
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=40009431
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=40009432
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=40009434
local cm=_G["c"..m]
......
--机械加工 蝎子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=40009435
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=40009437
local cm=_G["c"..m]
......
......@@ -47,7 +47,7 @@ function cm.f(c)
end
function cm.rtg(e,tp,eg,ep,ev,re,r,rp,chk)
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
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_REMOVE)
local g=Duel.SelectMatchingCard(tp,Card.IsAbleToGrave,tp,LOCATION_GRAVE,0,1,1,nil)
......@@ -60,7 +60,7 @@ function cm.rval(e,c)
return cm.rf(c,e:GetHandlerPlayer())
end
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
function cm.rop(e,tp,eg,ep,ev,re,r,rp)
Duel.Hint(HINT_CARD,0,m)
......@@ -84,7 +84,7 @@ function cm.op2(e,tp,eg,ep,ev,re,r,rp)
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)
if #sg>0 then
Duel.SendtoDeck(sg,1-tp,2,REASON_EFFECT)
Duel.SendtoDeck(sg,nil,2,REASON_EFFECT)
end
end
end
......
......@@ -21,62 +21,48 @@ function s.initial_effect(c)
e2:SetOperation(s.tgop)
c:RegisterEffect(e2)
local e3=Effect.CreateEffect(c)
e3:SetDescription(aux.Stringid(id,1))
e3:SetCategory(CATEGORY_TOHAND)
e3:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_TRIGGER_O)
e3:SetType(EFFECT_TYPE_CONTINUOUS+EFFECT_TYPE_FIELD)
e3:SetProperty(EFFECT_FLAG_CANNOT_DISABLE)
e3:SetCode(EVENT_CHAINING)
e3:SetRange(LOCATION_MZONE)
e3:SetProperty(EFFECT_FLAG_DELAY)
e3:SetCode(EVENT_CUSTOM+id)
e3:SetCountLimit(1,id+50)
e3:SetTarget(s.thtg)
e3:SetOperation(s.thop)
e3:SetOperation(s.mop)
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
s.global_effect=true
local ge0=Effect.CreateEffect(c)
ge0:SetType(EFFECT_TYPE_CONTINUOUS+EFFECT_TYPE_FIELD)
ge0:SetCode(EVENT_CHAIN_SOLVING)
ge0:SetOperation(s.checkop)
ge0:SetOperation(s.checkop1)
Duel.RegisterEffect(ge0,0)
local g=Group.CreateGroup()
g:KeepAlive()
Duel.RegisterFlagEffect(0,id+50,0,0,0,0)
local ge1=Effect.CreateEffect(c)
ge1:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
ge1:SetCode(EVENT_CHAINING)
ge1:SetLabelObject(g)
ge1:SetOperation(s.MergedDelayEventCheck1)
ge1:SetType(EFFECT_TYPE_CONTINUOUS+EFFECT_TYPE_FIELD)
ge1:SetCode(EVENT_CHAIN_END)
ge1:SetOperation(s.checkop2)
Duel.RegisterEffect(ge1,0)
local ge2=ge1:Clone()
ge2:SetCode(EVENT_CHAIN_END)
ge2:SetOperation(s.MergedDelayEventCheck2)
Duel.RegisterEffect(ge2,0)
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)
end
function s.acfilter(c)
return c:IsType(TYPE_SPELL+TYPE_TRAP) and c:IsFaceupEx()
end
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
function s.checkop2(e,tp,eg,ep,ev,re,r,rp)
local ct=Duel.GetFlagEffectLabel(0,id+50)
Duel.SetFlagEffectLabel(0,id+50,ct+1)
end
function s.sumop(e,tp,eg,ep,ev,re,r,rp)
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)
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)
if chk==0 then return eg:IsExists(Card.IsAbleToHand,1,nil) end
Duel.SetTargetCard(eg)
Duel.SetOperationInfo(0,CATEGORY_TOHAND,eg,1,0,0)
local g=e:GetLabelObject():GetLabelObject()
if chk==0 then return g:IsExists(Card.IsAbleToHand,1,nil) end
Duel.SetTargetCard(g)
Duel.SetOperationInfo(0,CATEGORY_TOHAND,g,1,0,0)
end
function s.thop(e,tp,eg,ep,ev,re,r,rp)
local tg=Duel.GetTargetsRelateToChain()
......@@ -117,5 +116,5 @@ function s.thop(e,tp,eg,ep,ev,re,r,rp)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_ATOHAND)
tc=tg:Select(tp,1,1,nil):GetFirst()
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
......@@ -13,7 +13,6 @@ function s.initial_effect(c)
e2:SetCode(EVENT_BECOME_TARGET)
e2:SetProperty(EFFECT_FLAG_DELAY)
e2:SetRange(LOCATION_GRAVE)
e2:SetCondition(aux.bpcon)
e2:SetTarget(s.rmtg)
e2:SetOperation(s.rmop)
c:RegisterEffect(e2)
......
......@@ -65,13 +65,12 @@ function c71401019.tg2(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
end
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()
e:SetLabel(rc:GetCode())
Duel.SetTargetParam(rc:GetCode())
Duel.SendtoHand(rc,nil,REASON_COST)
yume.RegButterflyCostLimit(e,tp)
end
function c71401019.op2(e,tp,eg,ep,ev,re,r,rp)
if Duel.GetFlagEffect(tp,71401019)~=0 then return end
local code=e:GetLabel()
local code=Duel.GetChainInfo(0,CHAININFO_TARGET_PARAM)
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
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SUMMON)
......@@ -80,6 +79,7 @@ function c71401019.op2(e,tp,eg,ep,ev,re,r,rp)
Duel.Summon(tp,tc,true,nil)
end
end
if Duel.GetFlagEffect(tp,71401019)~=0 then return end
local e1=Effect.CreateEffect(e:GetHandler())
e1:SetDescription(aux.Stringid(71401019,2))
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