Commit f25b4d58 authored by POLYMER's avatar POLYMER

fix

parent 9e899e56
......@@ -7,7 +7,7 @@ function cm.initial_effect(c)
●自己场上1张卡回到持有者手卡
--]]
local e1=Effect.CreateEffect(c)
e1:SetCategory(CATEGORY_TOHAND)
e1:SetCategory(CATEGORY_TOHAND+CATEGORY_SSET)
e1:SetType(EFFECT_TYPE_ACTIVATE)
e1:SetCode(EVENT_FREE_CHAIN)
e1:SetTarget(cm.target)
......
......@@ -55,7 +55,7 @@ function cm.initial_effect(c)
c:RegisterEffect(e5)
--special summon
local e6=Effect.CreateEffect(c)
e6:SetCategory(CATEGORY_TOEXTRA+CATEGORY_SPECIAL_SUMMON)
e6:SetCategory(CATEGORY_TOEXTRA+CATEGORY_SPECIAL_SUMMON+CATEGORY_SSET)
e6:SetType(EFFECT_TYPE_QUICK_O)
e6:SetCode(EVENT_FREE_CHAIN)
e6:SetProperty(EFFECT_FLAG_CARD_TARGET)
......
......@@ -15,6 +15,7 @@ function s.initial_effect(c)
c:RegisterEffect(e1)
--
local e2=Effect.CreateEffect(c)
e2:SetCategory(CATEGORY_SSET)
e2:SetType(EFFECT_TYPE_QUICK_O)
e2:SetCode(EVENT_FREE_CHAIN)
e2:SetRange(LOCATION_MZONE)
......
......@@ -7,6 +7,7 @@ function s.initial_effect(c)
aux.AddSynchroMixProcedure(c,s.matfilter1,nil,nil,s.matfilter2,1,99)
c:EnableReviveLimit()
local e1=Effect.CreateEffect(c)
e1:SetCategory(CATEGORY_SSET)
e1:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_O)
e1:SetCode(EVENT_SPSUMMON_SUCCESS)
e1:SetCountLimit(1,id)
......
......@@ -5,6 +5,7 @@ function s.initial_effect(c)
aux.AddFusionProcFun2(c,s.matfilter1,s.matfilter2,true)
c:EnableReviveLimit()
local e1=Effect.CreateEffect(c)
e1:SetCategory(CATEGORY_SSET)
e1:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_O)
e1:SetCode(EVENT_SPSUMMON_SUCCESS)
e1:SetCountLimit(1,id)
......
......@@ -13,7 +13,7 @@ function s.initial_effect(c)
-- 效果②:除外时丢弃对方手卡回收
local e2=Effect.CreateEffect(c)
e2:SetCategory(CATEGORY_HANDES+CATEGORY_POSITION)
e2:SetCategory(CATEGORY_HANDES+CATEGORY_SSET)
e2:SetType(EFFECT_TYPE_IGNITION)
e2:SetRange(LOCATION_REMOVED)
e2:SetCountLimit(1,id)
......
--资源获取点·矿石坑
function c65809071.initial_effect(c)
-- Activate
local e0=Effect.CreateEffect(c)
e0:SetDescription(aux.Stringid(65809071,0))
e0:SetType(EFFECT_TYPE_ACTIVATE)
e0:SetCode(EVENT_FREE_CHAIN)
e0:SetOperation(c65809071.activate)
c:RegisterEffect(e0)
-- 墓地盖放
local e0=Effect.CreateEffect(c)
e0:SetDescription(aux.Stringid(65809071,0))
e0:SetType(EFFECT_TYPE_ACTIVATE)
e0:SetCode(EVENT_FREE_CHAIN)
e0:SetOperation(c65809071.activate)
c:RegisterEffect(e0)
-- 墓地盖放
local e2=Effect.CreateEffect(c)
e2:SetDescription(aux.Stringid(65809071,1))
e2:SetCategory(CATEGORY_LEAVE_GRAVE)
e2:SetDescription(aux.Stringid(65809071,1))
e2:SetCategory(CATEGORY_LEAVE_GRAVE+CATEGORY_SSET)
e2:SetType(EFFECT_TYPE_IGNITION)
e2:SetCountLimit(1)
e2:SetRange(LOCATION_SZONE)
e2:SetCost(c65809071.cost2)
e2:SetCost(c65809071.cost2)
e2:SetTarget(c65809071.tg2)
e2:SetOperation(c65809071.op2)
c:RegisterEffect(e2)
end
-- 1
function c65809071.activate(e,tp,eg,ep,ev,re,r,rp)
local g=Duel.GetFieldGroup(tp,0,LOCATION_EXTRA)
if g:GetCount()==0 then return end
if Duel.SelectYesNo(tp,aux.Stringid(65809071,0)) then
Duel.ConfirmCards(tp,g)
local sg=g:FilterSelect(tp,Card.IsFacedown,1,1,nil)
if sg:GetCount()>0 then
Duel.Remove(sg,POS_FACEDOWN,REASON_EFFECT)
Duel.BreakEffect()
Duel.SendtoDeck(sg:GetFirst(),tp,0,REASON_EFFECT+REASON_RETURN)
Duel.ShuffleExtra(1-tp)
end
Duel.ShuffleExtra(1-tp)
end
local g=Duel.GetFieldGroup(tp,0,LOCATION_EXTRA)
if g:GetCount()==0 then return end
if Duel.SelectYesNo(tp,aux.Stringid(65809071,0)) then
Duel.ConfirmCards(tp,g)
local sg=g:FilterSelect(tp,Card.IsFacedown,1,1,nil)
if sg:GetCount()>0 then
Duel.Remove(sg,POS_FACEDOWN,REASON_EFFECT)
Duel.BreakEffect()
Duel.SendtoDeck(sg:GetFirst(),tp,0,REASON_EFFECT+REASON_RETURN)
Duel.ShuffleExtra(1-tp)
end
Duel.ShuffleExtra(1-tp)
end
end
-- 2
function c65809071.cost2(e,tp,eg,ep,ev,re,r,rp,chk)
......@@ -46,26 +46,26 @@ end
function c65809071.tg2(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(c65809071.filter2,tp,LOCATION_GRAVE,0,1,nil) end
Duel.SetOperationInfo(0,CATEGORY_LEAVE_GRAVE,nil,1,tp,0)
Duel.Hint(HINT_OPSELECTED,1-tp,e:GetDescription())
Duel.Hint(HINT_OPSELECTED,1-tp,e:GetDescription())
end
function c65809071.op2(e,tp,eg,ep,ev,re,r,rp)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SET)
local g=Duel.SelectMatchingCard(tp,aux.NecroValleyFilter(c65809071.filter2),tp,LOCATION_GRAVE,0,1,1,nil)
local tc=g:GetFirst()
if tc and Duel.SSet(tp,tc)~=0 then
local e1=Effect.CreateEffect(e:GetHandler())
e1:SetDescription(aux.Stringid(65809071,2))
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetCode(EFFECT_TRAP_ACT_IN_SET_TURN)
e1:SetProperty(EFFECT_FLAG_SET_AVAILABLE)
e1:SetReset(RESET_EVENT+RESETS_STANDARD)
tc:RegisterEffect(e1)
local e2=Effect.CreateEffect(e:GetHandler())
e2:SetDescription(aux.Stringid(65809071,2))
e2:SetType(EFFECT_TYPE_SINGLE)
e2:SetCode(EFFECT_QP_ACT_IN_SET_TURN)
e2:SetProperty(EFFECT_FLAG_SET_AVAILABLE)
e2:SetReset(RESET_EVENT+RESETS_STANDARD)
tc:RegisterEffect(e2)
end
local e1=Effect.CreateEffect(e:GetHandler())
e1:SetDescription(aux.Stringid(65809071,2))
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetCode(EFFECT_TRAP_ACT_IN_SET_TURN)
e1:SetProperty(EFFECT_FLAG_SET_AVAILABLE)
e1:SetReset(RESET_EVENT+RESETS_STANDARD)
tc:RegisterEffect(e1)
local e2=Effect.CreateEffect(e:GetHandler())
e2:SetDescription(aux.Stringid(65809071,2))
e2:SetType(EFFECT_TYPE_SINGLE)
e2:SetCode(EFFECT_QP_ACT_IN_SET_TURN)
e2:SetProperty(EFFECT_FLAG_SET_AVAILABLE)
e2:SetReset(RESET_EVENT+RESETS_STANDARD)
tc:RegisterEffect(e2)
end
end
......@@ -12,6 +12,7 @@ function s.initial_effect(c)
c:RegisterEffect(e1)
local e2=Effect.CreateEffect(c)
e2:SetDescription(aux.Stringid(id,3))
e2:SetCategory(CATEGORY_SSET)
e2:SetType(EFFECT_TYPE_SINGLE)
e2:SetValue(id)
e2:SetCode(EFFECT_TRAP_ACT_IN_SET_TURN)
......
......@@ -3,7 +3,7 @@ local s,id,o=GetID()
function s.initial_effect(c)
--发动
local e1=Effect.CreateEffect(c)
e1:SetCategory(CATEGORY_POSITION+CATEGORY_DISABLE)
e1:SetCategory(CATEGORY_POSITION+CATEGORY_DISABLE+CATEGORY_MSET+CATEGORY_SSET)
e1:SetType(EFFECT_TYPE_ACTIVATE)
e1:SetCode(EVENT_FREE_CHAIN)
e1:SetTarget(s.target)
......@@ -135,13 +135,13 @@ function s.spop(e,tp,eg,ep,ev,re,r,rp)
fusiong=Duel.GetMatchingGroup(s.filter2,tp,LOCATION_EXTRA,0,nil,e,tp,mg1,nil,chkf)
end
end
local g114514=Group.CreateGroup()
if linkg then g114514:Merge(linkg) end
if xyzg then g114514:Merge(xyzg) end
if Synchrog then g114514:Merge(Synchrog) end
if fusiong then g114514:Merge(fusiong) end
if g114514:GetCount()<=0 then return end
if not Duel.SelectYesNo(tp,aux.Stringid(id,0)) then return end
local g114514=Group.CreateGroup()
if linkg then g114514:Merge(linkg) end
if xyzg then g114514:Merge(xyzg) end
if Synchrog then g114514:Merge(Synchrog) end
if fusiong then g114514:Merge(fusiong) end
if g114514:GetCount()<=0 then return end
if not Duel.SelectYesNo(tp,aux.Stringid(id,0)) then return end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON)
local tc=g114514:Select(tp,0,1,nil):GetFirst()
if tc then
......
......@@ -12,6 +12,7 @@ function s.initial_effect(c)
--set hand
local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(id,1))
e1:SetCategory(CATEGORY_SSET)
e1:SetType(EFFECT_TYPE_QUICK_O)
e1:SetRange(LOCATION_HAND)
e1:SetCode(EVENT_FREE_CHAIN)
......
......@@ -12,6 +12,7 @@ function s.initial_effect(c)
--set hand
local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(id,1))
e1:SetCategory(CATEGORY_SSET)
e1:SetType(EFFECT_TYPE_QUICK_O)
e1:SetRange(LOCATION_HAND)
e1:SetCode(EVENT_FREE_CHAIN)
......
......@@ -12,6 +12,7 @@ function s.initial_effect(c)
--set hand
local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(id,1))
e1:SetCategory(CATEGORY_SSET)
e1:SetType(EFFECT_TYPE_QUICK_O)
e1:SetRange(LOCATION_HAND)
e1:SetCode(EVENT_FREE_CHAIN)
......
......@@ -12,6 +12,7 @@ function s.initial_effect(c)
--set hand
local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(id,1))
e1:SetCategory(CATEGORY_SSET)
e1:SetType(EFFECT_TYPE_QUICK_O)
e1:SetRange(LOCATION_HAND)
e1:SetCode(EVENT_FREE_CHAIN)
......
......@@ -12,6 +12,7 @@ function s.initial_effect(c)
--set hand
local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(id,1))
e1:SetCategory(CATEGORY_SSET)
e1:SetType(EFFECT_TYPE_QUICK_O)
e1:SetRange(LOCATION_HAND)
e1:SetCode(EVENT_FREE_CHAIN)
......@@ -33,7 +34,7 @@ function s.initial_effect(c)
--Activate
local e2=Effect.CreateEffect(c)
e2:SetDescription(aux.Stringid(id,0))
e2:SetCategory(CATEGORY_SPECIAL_SUMMON+CATEGORY_POSITION)
e2:SetCategory(CATEGORY_SPECIAL_SUMMON+CATEGORY_POSITION+CATEGORY_MSET+CATEGORY_SSET)
e2:SetType(EFFECT_TYPE_ACTIVATE)
e2:SetCode(EVENT_FREE_CHAIN)
e2:SetTarget(s.target)
......
......@@ -12,6 +12,7 @@ function s.initial_effect(c)
--set hand
local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(id,1))
e1:SetCategory(CATEGORY_SSET)
e1:SetType(EFFECT_TYPE_QUICK_O)
e1:SetRange(LOCATION_HAND)
e1:SetCode(EVENT_FREE_CHAIN)
......
......@@ -5,6 +5,7 @@ function s.initial_effect(c)
c:EnableReviveLimit()
aux.AddLinkProcedure(c,s.matfilter,2,2)
local e2=Effect.CreateEffect(c)
e2:SetCategory(CATEGORY_SSET)
e2:SetType(EFFECT_TYPE_QUICK_O)
e2:SetCode(EVENT_FREE_CHAIN)
e2:SetRange(LOCATION_MZONE)
......
......@@ -11,6 +11,7 @@ function s.initial_effect(c)
e1:SetOperation(s.tfop)
c:RegisterEffect(e1)
local e2=Effect.CreateEffect(c)
e2:SetCategory(CATEGORY_SSET)
e2:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_O)
e2:SetProperty(EFFECT_FLAG_DELAY)
e2:SetCode(EVENT_SPSUMMON_SUCCESS)
......@@ -45,10 +46,10 @@ function s.sttg(e,tp,eg,ep,ev,re,r,rp,chk)
end
function s.stop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SET)
local g=Duel.SelectMatchingCard(tp,s.stfilter,tp,LOCATION_DECK+LOCATION_GRAVE,0,1,1,nil)
if g:GetCount()>0 then
local tc=g:GetFirst()
if tc then Duel.SSet(tp,tc) end
end
local rg=Duel.GetMatchingGroup(aux.NecroValleyFilter(Card.IsAbleToRemove),tp,0,LOCATION_ONFIELD+LOCATION_GRAVE,nil,tp,POS_FACEUP)
if #rg==0 then return end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_REMOVE)
local mg=rg:Select(tp,1,5,nil)
Duel.HintSelection(mg)
Duel.Remove(mg,POS_FACEUP,REASON_EFFECT)
end
\ No newline at end of file
......@@ -20,7 +20,7 @@ function s.initial_effect(c)
--
local e51=Effect.CreateEffect(c)
e51:SetDescription(aux.Stringid(id,1))
e51:SetCategory(CATEGORY_TOHAND)
e51:SetCategory(CATEGORY_TOHAND+CATEGORY_SSET)
e51:SetType(EFFECT_TYPE_QUICK_O)
e51:SetCode(EVENT_FREE_CHAIN)
e51:SetRange(LOCATION_SZONE)
......
......@@ -20,7 +20,7 @@ function s.initial_effect(c)
--
local e51=Effect.CreateEffect(c)
e51:SetDescription(aux.Stringid(id,1))
e51:SetCategory(CATEGORY_TOHAND)
e51:SetCategory(CATEGORY_TOHAND+CATEGORY_SSET)
e51:SetType(EFFECT_TYPE_QUICK_O)
e51:SetCode(EVENT_FREE_CHAIN)
e51:SetRange(LOCATION_SZONE)
......
......@@ -20,7 +20,7 @@ function s.initial_effect(c)
--
local e51=Effect.CreateEffect(c)
e51:SetDescription(aux.Stringid(id,1))
e51:SetCategory(CATEGORY_TOHAND)
e51:SetCategory(CATEGORY_TOHAND+CATEGORY_SSET)
e51:SetType(EFFECT_TYPE_QUICK_O)
e51:SetCode(EVENT_FREE_CHAIN)
e51:SetRange(LOCATION_SZONE)
......
......@@ -37,8 +37,8 @@ function s.initial_effect(c)
e3:SetOperation(s.chainop)
c:RegisterEffect(e3)
end
function s.spfilter(c,re,tp)
return c:IsSetCard(0x2c0) and c:IsControler(tp)
function s.spfilter(c,tp)
return c:IsSetCard(0x2c0) and c:IsControler(tp) and c:IsLocation(LOCATION_GRAVE)
end
function s.spcon(e,tp,eg,ep,ev,re,r,rp)
return not eg:IsContains(e:GetHandler()) and eg:IsExists(s.spfilter,1,nil,tp)
......
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