Commit 2ff8248c authored by POLYMER's avatar POLYMER

fix

parent 42aac211
......@@ -131,13 +131,16 @@ function c11513082.xdamop(e,tp,eg,ep,ev,re,r,rp)
Duel.Remove(rg,POS_FACEUP,REASON_EFFECT)
end
end
function c11513082.spfil(c,e,tp)
return c:IsCanBeSpecialSummoned(e,0,tp,false,false) and c:IsSetCard(0x195)
end
function c11513082.damop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
local p,d=Duel.GetChainInfo(0,CHAININFO_TARGET_PLAYER,CHAININFO_TARGET_PARAM)
if Duel.Damage(p,d,REASON_EFFECT)~=0 then
local b1=Duel.IsExistingMatchingCard(Card.IsAbleToHand,tp,LOCATION_ONFIELD,LOCATION_ONFIELD,1,nil)
local b2=Duel.IsExistingMatchingCard(Card.IsLinkSummonable,tp,LOCATION_EXTRA,0,1,nil,nil)
local b3=Duel.IsExistingMatchingCard(c11513082.spfil,tp,LOCATION_HAND+LOCATION_GRAVE,0,1,nil,e,tp) and Duel.GetLocationCount(tp,LOCATION_MZONE)>0
local b1=Duel.IsExistingMatchingCard(Card.IsAbleToHand,tp,LOCATION_ONFIELD,LOCATION_ONFIELD,1,nil) and Duel.GetFlagEffect(tp,21513082)==0
local b2=Duel.IsExistingMatchingCard(Card.IsLinkSummonable,tp,LOCATION_EXTRA,0,1,nil,nil) and Duel.GetFlagEffect(tp,31513082)==0
local b3=Duel.IsExistingMatchingCard(c11513082.spfil,tp,LOCATION_HAND+LOCATION_GRAVE,0,1,nil,e,tp) and Duel.GetLocationCount(tp,LOCATION_MZONE)>0 and Duel.GetFlagEffect(tp,41513082)==0
local xtable={aux.Stringid(11513082,4)}
if b1 then table.insert(xtable,aux.Stringid(11513082,1)) end
if b2 then table.insert(xtable,aux.Stringid(11513082,2)) end
......@@ -145,14 +148,17 @@ function c11513082.damop(e,tp,eg,ep,ev,re,r,rp)
local op=Duel.SelectOption(tp,table.unpack(xtable))+1
Duel.BreakEffect()
if xtable[op]==aux.Stringid(11513082,1) then
Duel.RegisterFlagEffect(tp,21513082,RESET_PHASE+PHASE_END,0,1)
local sg=Duel.SelectMatchingCard(tp,Card.IsAbleToHand,tp,LOCATION_ONFIELD,LOCATION_ONFIELD,1,1,nil)
Duel.SendtoHand(sg,nil,REASON_EFFECT)
end
if xtable[op]==aux.Stringid(11513082,2) then
Duel.RegisterFlagEffect(tp,31513082,RESET_PHASE+PHASE_END,0,1)
local sc=Duel.SelectMatchingCard(tp,Card.IsLinkSummonable,tp,LOCATION_EXTRA,0,1,1,nil,nil):GetFirst()
Duel.LinkSummon(tp,sc,nil)
end
if xtable[op]==aux.Stringid(11513082,3) then
Duel.RegisterFlagEffect(tp,41513082,RESET_PHASE+PHASE_END,0,1)
local sc=Duel.SelectMatchingCard(tp,c11513082.spfil,tp,LOCATION_HAND+LOCATION_GRAVE,0,1,1,nil,e,tp):GetFirst()
Duel.SpecialSummon(sc,0,tp,tp,false,false,POS_FACEUP)
end
......
......@@ -46,14 +46,14 @@ function s.thtg(e,tp,eg,ep,ev,re,r,rp,chk)
Duel.SetOperationInfo(0,CATEGORY_TODECK,g,1,0,0)
end
function s.thop(e,tp,eg,ep,ev,re,r,rp)
local op1,op2=true
local op1,op2=true,true
if Duel.GetFieldGroupCount(tp,LOCATION_GRAVE+LOCATION_REMOVED,0)==0 then
op1=false
end
if Duel.GetFieldGroupCount(1-tp,LOCATION_GRAVE+LOCATION_REMOVED,0)==0 then
op2=false
end
if op1 and Duel.SelectYesNo(tp,aux.Stringid(id,4)) then
if op1 and op2 and Duel.SelectYesNo(tp,aux.Stringid(id,4)) then
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TODECK)
local g=Duel.SelectMatchingCard(tp,Card.IsAbleToDeck,tp,LOCATION_GRAVE+LOCATION_REMOVED,0,1,2,nil)
if op2 and Duel.SelectYesNo(tp,aux.Stringid(id,5)) then
......@@ -61,6 +61,10 @@ function s.thop(e,tp,eg,ep,ev,re,r,rp)
g:Merge(g2)
end
Duel.SendtoDeck(g,nil,SEQ_DECKSHUFFLE,REASON_EFFECT)
elseif op1 and not op2 then
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TODECK)
local g=Duel.SelectMatchingCard(tp,Card.IsAbleToDeck,tp,LOCATION_GRAVE+LOCATION_REMOVED,0,1,2,nil)
Duel.SendtoDeck(g,nil,SEQ_DECKSHUFFLE,REASON_EFFECT)
else
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TODECK)
local g=Duel.SelectMatchingCard(tp,Card.IsAbleToDeck,tp,0,LOCATION_GRAVE+LOCATION_REMOVED,1,2,nil)
......
......@@ -66,7 +66,7 @@ function s.filter3(c,e,tp,lv)
end
function s.target(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then
return Duel.IsExistingMatchingCard(s.filter1,tp,LOCATION_MZONE+LOCATION_GRAVE+LOCATION_HAND,0,1,nil,tp)
return Duel.IsExistingMatchingCard(s.filter1,tp,LOCATION_MZONE+LOCATION_HAND,0,1,nil,tp)
end
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,1,tp,LOCATION_HAND+LOCATION_GRAVE+LOCATION_REMOVED+LOCATION_DECK)
Duel.SetOperationInfo(0,CATEGORY_REMOVE,nil,1,tp,LOCATION_GRAVE)
......
......@@ -22,7 +22,7 @@ function s.initial_effect(c)
e2:SetCode(EFFECT_INDESTRUCTABLE_EFFECT)
e2:SetType(EFFECT_TYPE_FIELD)
e2:SetRange(LOCATION_MZONE)
e2:SetTargetRange(0x0c,0x0c)
e2:SetTargetRange(0x0c,0)
e2:SetTarget(s.target)
e2:SetValue(1)
c:RegisterEffect(e2)
......
......@@ -209,6 +209,7 @@ function c51924010.diceop(e,tp,eg,ep,ev,re,r,rp)
Duel.Damage(1-tp,1000,REASON_EFFECT)
end
if ct==30 then Duel.SetLP(1-tp,0) end
if Duel.GetLP(tp)==0 or Duel.GetLP(1-tp)==0 then ct=30 end
end
end
end
......@@ -53,7 +53,7 @@ function cm.spcon(e,c)
if c==nil then return true end
local tp=c:GetControler()
local g=Duel.GetMatchingGroup(Card.IsSetCard,tp,LOCATION_HAND,0,nil,0x645)
return g:GetClassCount(Card.GetCode)>=3
return g:GetClassCount(Card.GetCode)>=2
end
function cm.spop(e,tp,eg,ep,ev,re,r,rp,c)
local g=Duel.GetMatchingGroup(Card.IsSetCard,tp,LOCATION_HAND,0,nil,0x645)
......
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