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