Commit 785f2a14 authored by POLYMER's avatar POLYMER

fix

parent c6fd2d6b
......@@ -2162,7 +2162,6 @@
15000820 0
53796076 0
83000087 0
88880039 0
88880220 0
9910682 1
60002245 1
......
--破坏死光
if not pcall(function() require("expansions/script/c10199990") end) then require("script/c10199990") end
local m,cm=rscf.DefineCard(10174075)
function cm.initial_effect(c)
local e1=rsef.ACT(c,nil,nil,nil,"dish,des",nil,nil,nil,rsop.target({1,"dh" },{Card.IsAbleToGrave,"tg",LOCATION_ONFIELD,LOCATION_ONFIELD,1,1,c }),cm.act)
function c10174075.initial_effect(c)
local e2=Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_ACTIVATE)
e2:SetCode(EVENT_FREE_CHAIN)
e2:SetHintTiming(TIMING_END_PHASE+TIMING_DRAW_PHASE,TIMING_END_PHASE+TIMING_MAIN_END)
e2:SetTarget(c10174075.tg)
e2:SetOperation(c10174075.op)
c:RegisterEffect(e2)
end
function cm.act(e,tp)
if Duel.DiscardHand(tp,Card.IsDiscardable,1,1,REASON_EFFECT,nil,REASON_EFFECT)>0 then
rsop.SelectToGrave(tp,Card.IsAbleToGrave,tp,LOCATION_ONFIELD,LOCATION_ONFIELD,1,1,aux.ExceptThisCard(e),{})
end
local c=rscf.GetFaceUpSelf(e)
if c and c:IsCanTurnSet() then
function c10174075.tg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(Card.IsAbleToGrave,tp,LOCATION_ONFIELD,LOCATION_ONFIELD,1,nil) and Duel.IsExistingMatchingCard(Card.IsDiscardable,tp,LOCATION_HAND,0,1,e:GetHandler()) end
Duel.SetOperationInfo(0,CATEGORY_TOGRAVE,nil,1,PLAYER_ALL,LOCATION_MZONE)
end
function c10174075.op(e,tp,eg,ep,ev,re,r,rp)
if Duel.DiscardHand(tp,Card.IsDiscardable,1,1,REASON_EFFECT+REASON_DISCARD)~=0 then
local g=Duel.SelectMatchingCard(tp,Card.IsAbleToGrave,tp,LOCATION_ONFIELD,LOCATION_ONFIELD,1,1,e:GetHandler())
Duel.SendtoGrave(g,REASON_EFFECT)
end
local c=e:GetHandler()
if c:IsRelateToEffect(e) and c:IsCanTurnSet() then
Duel.BreakEffect()
c:CancelToGrave()
Duel.ChangePosition(c,POS_FACEDOWN)
Duel.RaiseEvent(c,EVENT_SSET,e,REASON_EFFECT,tp,tp,0)
end
end
......@@ -16,6 +16,7 @@ function cm.initial_effect(c)
c:RegisterEffect(e2)
end
c22348337.toss_dice=true
function c22348337.target(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return true end
Duel.SetOperationInfo(0,CATEGORY_DICE,nil,0,tp,1)
......
......@@ -46,7 +46,7 @@ function cm.hspfilter2(c,tp,sc,tc)
local g=Group.CreateGroup()
g:AddCard(tc)
g:AddCard(c)
return c:IsSetCard(0xa341)
return c:IsSetCard(0xa341) and Duel.GetFlagEffect(tp,c:GetCode()+10000)==0
and c:IsControler(tp) and Duel.GetLocationCountFromEx(tp,tp,g,sc)>0 and c:IsCanBeFusionMaterial(sc,SUMMON_TYPE_SPECIAL)
end
function cm.hspcon(e,c)
......@@ -135,11 +135,8 @@ function cm.stop(e,tp,eg,ep,ev,re,r,rp)
local tg=cg:Select(tp,1,1,nil)
Duel.SendtoHand(tg,nil,REASON_EFFECT)
end
else
if Duel.IsPlayerCanDraw(tp,1)
and Duel.IsExistingMatchingCard(Card.IsDiscardable,tp,LOCATION_HAND,0,1,nil)
and Duel.SelectYesNo(tp,aux.Stringid(m,2))then
if Duel.DiscardHand(tp,Card.IsDiscardable,1,1,REASON_EFFECT+REASON_DISCARD,nil)~=0 then
elseif Duel.IsPlayerCanDraw(tp,1) and Duel.IsExistingMatchingCard(Card.IsDiscardable,tp,LOCATION_HAND,0,1,nil) and Duel.SelectYesNo(tp,aux.Stringid(m,2))then
if Duel.DiscardHand(tp,Card.IsDiscardable,1,1,REASON_EFFECT+REASON_DISCARD,nil)~=0 then
local sg=Duel.GetOperatedGroup()
local sc=sg:GetFirst()
Duel.Draw(tp,2,REASON_EFFECT)
......
......@@ -45,7 +45,7 @@ function cm.hspfilter2(c,tp,sc,tc)
local g=Group.CreateGroup()
g:AddCard(tc)
g:AddCard(c)
return c:IsSetCard(0xa341)
return c:IsSetCard(0xa341) and Duel.GetFlagEffect(tp,c:GetCode()+10000)==0
and c:IsControler(tp) and Duel.GetLocationCountFromEx(tp,tp,g,sc)>0 and c:IsCanBeFusionMaterial(sc,SUMMON_TYPE_SPECIAL)
end
function cm.hspcon(e,c)
......
......@@ -46,7 +46,7 @@ function cm.hspfilter2(c,tp,sc,tc)
local g=Group.CreateGroup()
g:AddCard(tc)
g:AddCard(c)
return c:IsSetCard(0xa341)
return c:IsSetCard(0xa341) and Duel.GetFlagEffect(tp,c:GetCode()+10000)==0
and c:IsControler(tp) and Duel.GetLocationCountFromEx(tp,tp,g,sc)>0 and c:IsCanBeFusionMaterial(sc,SUMMON_TYPE_SPECIAL)
end
function cm.hspcon(e,c)
......
......@@ -46,7 +46,7 @@ function cm.hspfilter2(c,tp,sc,tc)
local g=Group.CreateGroup()
g:AddCard(tc)
g:AddCard(c)
return c:IsSetCard(0xa341)
return c:IsSetCard(0xa341) and Duel.GetFlagEffect(tp,c:GetCode()+10000)==0
and c:IsControler(tp) and Duel.GetLocationCountFromEx(tp,tp,g,sc)>0 and c:IsCanBeFusionMaterial(sc,SUMMON_TYPE_SPECIAL)
end
function cm.hspcon(e,c)
......@@ -107,8 +107,8 @@ end
function cm.tgfilter(e,c)
return c:IsSetCard(0xa341) and c:IsLocation(LOCATION_MZONE)
end
function cm.imfilter(e,re)
return e:GetOwnerPlayer()~=re:GetOwnerPlayer()and not e:GetHandler():GetColumnGroup():IsContains(re:GetHandler())
function cm.imfilter(e,c)
return not e:GetHandler():GetColumnGroup():IsContains(c)
end
function cm.stcon(e,tp,eg,ep,ev,re,r,rp)
......
......@@ -3,7 +3,7 @@ function c88880043.initial_effect(c)
--Activate
local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(88880043,0))
e1:SetCategory(CATEGORY_TOHAND)
e1:SetCategory(CATEGORY_TOHAND+CATEGORY_SEARCH)
e1:SetType(EFFECT_TYPE_ACTIVATE)
e1:SetCode(EVENT_FREE_CHAIN)
e1:SetCountLimit(1,88880043)
......@@ -13,7 +13,7 @@ function c88880043.initial_effect(c)
--cost
local e2=Effect.CreateEffect(c)
e2:SetDescription(aux.Stringid(88880043,1))
e2:SetCategory(CATEGORY_CONTROL+CATEGORY_TOHAND)
e2:SetCategory(CATEGORY_CONTROL+CATEGORY_TOHAND+CATEGORY_SEARCH)
e2:SetType(EFFECT_TYPE_ACTIVATE)
e2:SetCode(EVENT_FREE_CHAIN)
e2:SetCountLimit(1,88880043)
......
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