Commit 2d4e5912 authored by POLYMER's avatar POLYMER

fix

parent 4c26fbeb
......@@ -36,13 +36,12 @@ end
function s.drtg(e,tp,eg,ep,ev,re,r,rp,chk)
local ct=Duel.GetMatchingGroupCount(s.filter,tp,LOCATION_REMOVED,0,nil)
if chk==0 then return ct>0 and Duel.IsPlayerCanDraw(tp,ct) end
Duel.SetTargetPlayer(tp)
Duel.SetOperationInfo(0,CATEGORY_DRAW,nil,0,tp,ct)
end
-- 效果1操作
function s.drop(e,tp,eg,ep,ev,re,r,rp)
local p=Duel.GetChainInfo(0,CHAININFO_TARGET_PLAYER)
local p=tp
local ct=Duel.GetMatchingGroupCount(s.filter,tp,LOCATION_REMOVED,0,nil)
if ct>0 then
local dr=Duel.Draw(p,ct,REASON_EFFECT)
......
......@@ -51,7 +51,7 @@ function cm.cost2(e,tp,eg,ep,ev,re,r,rp,chk)
Duel.PayLPCost(tp,math.floor(Duel.GetLP(tp)/2))
end
function cm.fil2(c)
return aux.IsCodeListed(c,60000211) and c:IsAbleToHand() and not c:IsCode(m)
return aux.IsCodeListed(c,60000211) and c:IsAbleToHand() and not c:IsCode(m) and (c:IsType(TYPE_SPELL) or c:IsType(TYPE_TRAP))
end
function cm.adtg(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
local b2=false
......
......@@ -49,8 +49,13 @@ end
-- 双选操作
function s.activate(e,tp,eg,ep,ev,re,r,rp)
local op=Duel.SelectOption(tp,aux.Stringid(id,1),aux.Stringid(id,2))
if op==0 then
local c=e:GetHandler()
local b1=Duel.IsExistingMatchingCard(s.thfilter,tp,LOCATION_DECK+LOCATION_GRAVE,0,1,nil) and Duel.GetFlagEffect(tp,id+10000000)==0
local b2=Duel.IsExistingMatchingCard(s.spfilter,tp,LOCATION_HAND+LOCATION_REMOVED,0,1,nil,e,tp) and Duel.GetFlagEffect(tp,id+20000000)==0
and Duel.GetLocationCount(tp,LOCATION_MZONE)>0
if not b1 and not b2 then return end
local op=aux.SelectFromOptions(tp,{b1,aux.Stringid(id,2)},{b2,aux.Stringid(id,3)})
if op==1 then
Duel.RegisterFlagEffect(tp,id+10000000,RESET_PHASE+PHASE_END,0,1)
-- 检索效果
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_ATOHAND)
......@@ -59,7 +64,7 @@ function s.activate(e,tp,eg,ep,ev,re,r,rp)
Duel.SendtoHand(g,nil,REASON_EFFECT)
Duel.ConfirmCards(1-tp,g)
end
else
elseif op==2
Duel.RegisterFlagEffect(tp,id+20000000,RESET_PHASE+PHASE_END,0,1)
-- 特殊召唤效果
if Duel.GetLocationCount(tp,LOCATION_MZONE)<=0 then return end
......
......@@ -6,6 +6,7 @@ function s.initial_effect(c)
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_ACTIVATE)
e1:SetCode(EVENT_FREE_CHAIN)
e1:SetCountLimit(1,m+EFFECT_COUNT_CODE_OATH)
c:RegisterEffect(e1)
--control
local e3=Effect.CreateEffect(c)
......
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