Commit 9d0195fd authored by POLYMER's avatar POLYMER

fix

parent e6402a13
...@@ -20,7 +20,7 @@ function cm.initial_effect(c) ...@@ -20,7 +20,7 @@ function cm.initial_effect(c)
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(m,0)) e1:SetDescription(aux.Stringid(m,0))
e1:SetCategory(CATEGORY_SEARCH+CATEGORY_TOHAND) e1:SetCategory(CATEGORY_SEARCH+CATEGORY_TOHAND)
e1:SetType(EVENT_FREE_CHAIN) e1:SetType(EFFECT_TYPE_IGNITION)
e1:SetRange(LOCATION_GRAVE) e1:SetRange(LOCATION_GRAVE)
e1:SetCountLimit(1,m) e1:SetCountLimit(1,m)
e1:SetCost(cm.spcost) e1:SetCost(cm.spcost)
......
...@@ -20,7 +20,7 @@ function cm.initial_effect(c) ...@@ -20,7 +20,7 @@ function cm.initial_effect(c)
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(m,0)) e1:SetDescription(aux.Stringid(m,0))
e1:SetCategory(CATEGORY_SEARCH+CATEGORY_TOHAND) e1:SetCategory(CATEGORY_SEARCH+CATEGORY_TOHAND)
e1:SetType(EVENT_FREE_CHAIN) e1:SetType(EFFECT_TYPE_IGNITION)
e1:SetRange(LOCATION_GRAVE) e1:SetRange(LOCATION_GRAVE)
e1:SetCountLimit(3,m) e1:SetCountLimit(3,m)
e1:SetCost(cm.spcost) e1:SetCost(cm.spcost)
......
...@@ -21,7 +21,7 @@ function cm.initial_effect(c) ...@@ -21,7 +21,7 @@ function cm.initial_effect(c)
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(m,0)) e1:SetDescription(aux.Stringid(m,0))
e1:SetCategory(CATEGORY_SPECIAL_SUMMON) e1:SetCategory(CATEGORY_SPECIAL_SUMMON)
e1:SetType(EVENT_FREE_CHAIN) e1:SetType(EFFECT_TYPE_IGNITION)
e1:SetRange(LOCATION_GRAVE) e1:SetRange(LOCATION_GRAVE)
e1:SetCountLimit(1,m) e1:SetCountLimit(1,m)
e1:SetCost(cm.spcost) e1:SetCost(cm.spcost)
......
...@@ -20,7 +20,7 @@ function cm.initial_effect(c) ...@@ -20,7 +20,7 @@ function cm.initial_effect(c)
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(m,0)) e1:SetDescription(aux.Stringid(m,0))
e1:SetCategory(CATEGORY_TOGRAVE) e1:SetCategory(CATEGORY_TOGRAVE)
e1:SetType(EVENT_FREE_CHAIN) e1:SetType(EFFECT_TYPE_IGNITION)
e1:SetRange(LOCATION_GRAVE) e1:SetRange(LOCATION_GRAVE)
e1:SetCountLimit(1,m) e1:SetCountLimit(1,m)
e1:SetCost(cm.spcost) e1:SetCost(cm.spcost)
......
...@@ -27,7 +27,7 @@ function c21113800.initial_effect(c) ...@@ -27,7 +27,7 @@ function c21113800.initial_effect(c)
Duel.AddCustomActivityCounter(21113800,ACTIVITY_SPSUMMON,c21113800.counter) Duel.AddCustomActivityCounter(21113800,ACTIVITY_SPSUMMON,c21113800.counter)
end end
function c21113800.counter(c) function c21113800.counter(c)
return c:IsSetCard(0xc914) return c:IsSetCard(0xc904)
end end
function c21113800.discon(e,tp,eg,ep,ev,re,r,rp) function c21113800.discon(e,tp,eg,ep,ev,re,r,rp)
return e:GetHandler():GetSequence()~=2 return e:GetHandler():GetSequence()~=2
...@@ -51,12 +51,12 @@ function c21113800.cost(e,tp,eg,ep,ev,re,r,rp,chk) ...@@ -51,12 +51,12 @@ function c21113800.cost(e,tp,eg,ep,ev,re,r,rp,chk)
Duel.RegisterEffect(e2,tp) Duel.RegisterEffect(e2,tp)
end end
function c21113800.splimit(e,c,sump,sumtype,sumpos,targetp,se) function c21113800.splimit(e,c,sump,sumtype,sumpos,targetp,se)
return not c:IsSetCard(0xc914) return not c:IsSetCard(0xc904)
end end
function c21113800.op0(e,tp,eg,ep,ev,re,r,rp) function c21113800.op0(e,tp,eg,ep,ev,re,r,rp)
if Duel.GetFlagEffect(tp,21113800)==0 and Duel.IsExistingMatchingCard(Card.IsAbleToGrave,tp,0,4,1,nil) and Duel.SelectYesNo(tp,aux.Stringid(21113800,0)) then if Duel.GetFlagEffect(tp,21113800)==0 and Duel.IsExistingMatchingCard(Card.IsAbleToGrave,tp,0,12,1,nil) and Duel.SelectYesNo(tp,aux.Stringid(21113800,0)) then
Duel.Hint(3,tp,HINTMSG_TOGRAVE) Duel.Hint(3,tp,HINTMSG_TOGRAVE)
local g=Duel.SelectMatchingCard(tp,Card.IsAbleToGrave,tp,0,4,1,1,nil) local g=Duel.SelectMatchingCard(tp,Card.IsAbleToGrave,tp,0,12,1,1,nil)
if #g>0 then if #g>0 then
Duel.HintSelection(g) Duel.HintSelection(g)
Duel.SendtoGrave(g,REASON_RULE) Duel.SendtoGrave(g,REASON_RULE)
...@@ -66,10 +66,10 @@ function c21113800.op0(e,tp,eg,ep,ev,re,r,rp) ...@@ -66,10 +66,10 @@ function c21113800.op0(e,tp,eg,ep,ev,re,r,rp)
e:Reset() e:Reset()
end end
function c21113800.q(c) function c21113800.q(c)
return c:IsFaceup() and c:IsSetCard(0xc914) return c:IsFaceup() and c:IsSetCard(0xc904)
end end
function c21113800.w(c,e,tp) function c21113800.w(c,e,tp)
return c:IsCanBeSpecialSummoned(e,0,tp,false,false) and Duel.GetLocationCount(tp,4)>0 and c:IsSetCard(0xc914) and not c:IsCode(21113800) return c:IsCanBeSpecialSummoned(e,0,tp,false,false) and Duel.GetLocationCount(tp,4)>0 and c:IsSetCard(0xc904) and not c:IsCode(21113800)
end end
function c21113800.tg(e,tp,eg,ep,ev,re,r,rp,chk) function c21113800.tg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(c21113800.q,tp,LOCATION_MZONE,0,1,nil) and Duel.GetLocationCount(tp,4)>0 and Duel.IsExistingMatchingCard(c21113800.w,tp,1,0,1,nil,e,tp) end if chk==0 then return Duel.IsExistingMatchingCard(c21113800.q,tp,LOCATION_MZONE,0,1,nil) and Duel.GetLocationCount(tp,4)>0 and Duel.IsExistingMatchingCard(c21113800.w,tp,1,0,1,nil,e,tp) end
......
...@@ -29,13 +29,13 @@ function c21113820.initial_effect(c) ...@@ -29,13 +29,13 @@ function c21113820.initial_effect(c)
c:RegisterEffect(e2) c:RegisterEffect(e2)
end end
function c21113820.act(c) function c21113820.act(c)
return c:IsFaceup() and c:IsSetCard(0xc914) and c:IsDisabled() return c:IsFaceup() and c:IsSetCard(0xc904) and c:IsDisabled()
end end
function c21113820.actcon(e) function c21113820.actcon(e)
return Duel.IsExistingMatchingCard(c21113820.act,e:GetHandlerPlayer(),4,0,1,nil) return Duel.IsExistingMatchingCard(c21113820.act,e:GetHandlerPlayer(),4,0,1,nil)
end end
function c21113820.q(c) function c21113820.q(c)
return c:IsFaceup() and c:IsSetCard(0xc914) return c:IsFaceup() and c:IsSetCard(0xc904)
end end
function c21113820.con(e,tp,eg,ep,ev,re,r,rp) function c21113820.con(e,tp,eg,ep,ev,re,r,rp)
return Duel.IsExistingMatchingCard(c21113820.q,tp,LOCATION_MZONE,0,1,nil) and (re:IsActiveType(TYPE_MONSTER) or re:IsHasType(EFFECT_TYPE_ACTIVATE)) and Duel.IsChainNegatable(ev) return Duel.IsExistingMatchingCard(c21113820.q,tp,LOCATION_MZONE,0,1,nil) and (re:IsActiveType(TYPE_MONSTER) or re:IsHasType(EFFECT_TYPE_ACTIVATE)) and Duel.IsChainNegatable(ev)
...@@ -61,7 +61,7 @@ function c21113820.disable(e,c) ...@@ -61,7 +61,7 @@ function c21113820.disable(e,c)
return c:IsType(TYPE_EFFECT) or c:GetOriginalType()&TYPE_EFFECT~=0 return c:IsType(TYPE_EFFECT) or c:GetOriginalType()&TYPE_EFFECT~=0
end end
function c21113820.w(c,e,tp) function c21113820.w(c,e,tp)
return c:IsCanBeSpecialSummoned(e,0,tp,false,false) and c:IsSetCard(0xc914) and Duel.GetLocationCount(tp,4)>0 return c:IsCanBeSpecialSummoned(e,0,tp,false,false) and c:IsSetCard(0xc904) and Duel.GetLocationCount(tp,4)>0
end end
function c21113820.tg2(e,tp,eg,ep,ev,re,r,rp,chk) function c21113820.tg2(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingTarget(c21113820.w,tp,0x10,0,1,nil,e,tp) end if chk==0 then return Duel.IsExistingTarget(c21113820.w,tp,0x10,0,1,nil,e,tp) end
...@@ -85,5 +85,5 @@ function c21113820.op2(e,tp,eg,ep,ev,re,r,rp) ...@@ -85,5 +85,5 @@ function c21113820.op2(e,tp,eg,ep,ev,re,r,rp)
Duel.RegisterEffect(e1,tp) Duel.RegisterEffect(e1,tp)
end end
function c21113820.splimit(e,c) function c21113820.splimit(e,c)
return not c:IsSetCard(0xc914) return not c:IsSetCard(0xc904)
end end
\ No newline at end of file
...@@ -75,10 +75,10 @@ end ...@@ -75,10 +75,10 @@ end
function s.LCheckGoal(sg,tp,lc,lmat) function s.LCheckGoal(sg,tp,lc,lmat)
return #sg==1 and sg:IsExists(Card.IsDisabled,1,nil) return #sg==1 and sg:IsExists(Card.IsDisabled,1,nil)
and Duel.GetLocationCountFromEx(tp,tp,sg,lc)>0 and sg:GetFirst():IsLink(2) or #sg>=2 and Duel.GetLocationCountFromEx(tp,tp,sg,lc)>0 and sg:GetFirst():IsLink(2) or #sg>=2
and sg:CheckWithSumEqual(s.GetLinkCount,4,#sg,#sg) and sg:CheckWithSumEqual(s.GetLinkCount,3,#sg,#sg)
and Duel.GetLocationCountFromEx(tp,tp,sg,lc)>0 and not sg:IsExists(Auxiliary.LUncompatibilityFilter,1,nil,sg,lc,tp) and Duel.GetLocationCountFromEx(tp,tp,sg,lc)>0 and not sg:IsExists(Auxiliary.LUncompatibilityFilter,1,nil,sg,lc,tp)
and (not lmat or sg:IsContains(lmat)) or #sg>=2 and (not lmat or sg:IsContains(lmat)) or #sg>=2
and sg:CheckWithSumEqual(aux.GetLinkCount,4,#sg,#sg) and sg:CheckWithSumEqual(aux.GetLinkCount,3,#sg,#sg)
and Duel.GetLocationCountFromEx(tp,tp,sg,lc)>0 and not sg:IsExists(Auxiliary.LUncompatibilityFilter,1,nil,sg,lc,tp) and Duel.GetLocationCountFromEx(tp,tp,sg,lc)>0 and not sg:IsExists(Auxiliary.LUncompatibilityFilter,1,nil,sg,lc,tp)
and (not lmat or sg:IsContains(lmat)) and (not lmat or sg:IsContains(lmat))
end end
...@@ -87,7 +87,7 @@ function s.linkcon() ...@@ -87,7 +87,7 @@ function s.linkcon()
if c==nil then return true end if c==nil then return true end
if c:IsType(TYPE_PENDULUM) and c:IsFaceup() then return false end if c:IsType(TYPE_PENDULUM) and c:IsFaceup() then return false end
local minc=1 local minc=1
local maxc=4 local maxc=3
if min then if min then
if min>minc then minc=min end if min>minc then minc=min end
if max<maxc then maxc=max end if max<maxc then maxc=max end
......
...@@ -201,20 +201,17 @@ function s.adcon(e,tp,eg,ep,ev,re,r,rp) ...@@ -201,20 +201,17 @@ function s.adcon(e,tp,eg,ep,ev,re,r,rp)
return Duel.IsExistingMatchingCard(s.adfilter,tp,0,LOCATION_GRAVE+LOCATION_REMOVED,1,nil) return Duel.IsExistingMatchingCard(s.adfilter,tp,0,LOCATION_GRAVE+LOCATION_REMOVED,1,nil)
end end
function s.adop(e,tp,eg,ep,ev,re,r,rp) function s.adop(e,tp,eg,ep,ev,re,r,rp)
local g=Duel.GetMatchingGroup(s.adfilter,tp,0,LOCATION_GRAVE+LOCATION_REMOVED,nil) --[[local g=Duel.GetMatchingGroup(s.adfilter,tp,0,LOCATION_GRAVE+LOCATION_REMOVED,nil)
for tc in aux.Next(g) do for tc in aux.Next(g) do]]
tc:RegisterFlagEffect(id+2,RESET_PHASE+PHASE_END+RESET_EVENT+RESETS_STANDARD,0,0,1) tc:RegisterFlagEffect(id+2,RESET_PHASE+PHASE_END+RESET_EVENT+RESETS_STANDARD,0,0,1)
local e1=Effect.CreateEffect(e:GetHandler()) local e1=Effect.CreateEffect(e:GetHandler())
e1:SetType(EFFECT_TYPE_SINGLE) e1:SetType(EFFECT_TYPE_FIELD)
e1:SetCode(EFFECT_DISABLE) e1:SetCode(EFFECT_DISABLE)
e1:SetReset(RESET_PHASE+PHASE_END+RESET_EVENT+RESETS_STANDARD) e1:SetTargetRange(0,0x30)
tc:RegisterEffect(e1) e1:SetProperty(EFFECT_FLAG_SET_AVAILABLE)
local e2=Effect.CreateEffect(e:GetHandler()) e1:SetReset(RESET_PHASE+PHASE_END,2)
e2:SetType(EFFECT_TYPE_SINGLE) Duel.RegisterEffect(e1,tp)
e2:SetCode(EFFECT_DISABLE_EFFECT) --end
e2:SetReset(RESET_PHASE+PHASE_END+RESET_EVENT+RESETS_STANDARD)
tc:RegisterEffect(e2)
end
Duel.AdjustAll() Duel.AdjustAll()
end end
function s.setfilter(c) function s.setfilter(c)
......
...@@ -14,6 +14,7 @@ function s.initial_effect(c) ...@@ -14,6 +14,7 @@ function s.initial_effect(c)
e1:SetCategory(CATEGORY_TODECK) e1:SetCategory(CATEGORY_TODECK)
e1:SetType(EFFECT_TYPE_ACTIVATE) e1:SetType(EFFECT_TYPE_ACTIVATE)
e1:SetCode(EVENT_FREE_CHAIN) e1:SetCode(EVENT_FREE_CHAIN)
e1:SetCountLimit(1,id)
e1:SetTarget(s.target) e1:SetTarget(s.target)
e1:SetOperation(s.operation) e1:SetOperation(s.operation)
c:RegisterEffect(e1) c:RegisterEffect(e1)
...@@ -22,20 +23,21 @@ function s.initial_effect(c) ...@@ -22,20 +23,21 @@ function s.initial_effect(c)
e2:SetType(EFFECT_TYPE_QUICK_O) e2:SetType(EFFECT_TYPE_QUICK_O)
e2:SetRange(LOCATION_GRAVE) e2:SetRange(LOCATION_GRAVE)
e2:SetCode(EVENT_FREE_CHAIN) e2:SetCode(EVENT_FREE_CHAIN)
e2:SetCountLimit(1,id+1)
e2:SetCondition(s.setcon) e2:SetCondition(s.setcon)
e2:SetTarget(s.settg) e2:SetTarget(s.settg)
e2:SetOperation(s.setop) e2:SetOperation(s.setop)
c:RegisterEffect(e2) c:RegisterEffect(e2)
end end
function s.actfilter(c) function s.actfilter(c)
return c:IsDisabled() and c:IsSetCard(0xc914) and c:IsFaceup() return c:IsDisabled() and c:IsSetCard(0xc904) and c:IsFaceup()
end end
function s.actcon(e) function s.actcon(e)
return Duel.GetMatchingGroupCount(s.actfilter,e:GetHandlerPlayer(),LOCATION_MZONE,0,nil)>0 return Duel.GetMatchingGroupCount(s.actfilter,e:GetHandlerPlayer(),LOCATION_MZONE,0,nil)>0
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 return Duel.GetLocationCount(tp,LOCATION_MZONE)>0 if chk==0 then return Duel.GetLocationCount(tp,LOCATION_MZONE)>0
and Duel.IsPlayerCanSpecialSummonMonster(tp,id,0xc914,TYPES_NORMAL_TRAP_MONSTER,2000,2000,7,RACE_BEAST,ATTRIBUTE_WIND) and Duel.GetFieldGroupCount(tp,LOCATION_REMOVED,LOCATION_REMOVED)>0 end and Duel.IsPlayerCanSpecialSummonMonster(tp,id,0xc904,TYPES_NORMAL_TRAP_MONSTER,2000,2000,7,RACE_BEAST,ATTRIBUTE_WIND) and Duel.GetFieldGroupCount(tp,LOCATION_REMOVED,LOCATION_REMOVED)>0 end
local g=Duel.GetFieldGroup(tp,LOCATION_REMOVED,LOCATION_REMOVED,0) local g=Duel.GetFieldGroup(tp,LOCATION_REMOVED,LOCATION_REMOVED,0)
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,e:GetHandler(),1,0,0) Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,e:GetHandler(),1,0,0)
Duel.SetOperationInfo(0,CATEGORY_TODECK,g,g:GetCount(),0,LOCATION_REMOVED,LOCATION_REMOVED) Duel.SetOperationInfo(0,CATEGORY_TODECK,g,g:GetCount(),0,LOCATION_REMOVED,LOCATION_REMOVED)
...@@ -45,7 +47,7 @@ function s.operation(e,tp,eg,ep,ev,re,r,rp) ...@@ -45,7 +47,7 @@ function s.operation(e,tp,eg,ep,ev,re,r,rp)
local g=Duel.GetFieldGroup(tp,LOCATION_REMOVED,LOCATION_REMOVED) local g=Duel.GetFieldGroup(tp,LOCATION_REMOVED,LOCATION_REMOVED)
Duel.SendtoDeck(g,nil,SEQ_DECKSHUFFLE,REASON_EFFECT) Duel.SendtoDeck(g,nil,SEQ_DECKSHUFFLE,REASON_EFFECT)
local ct=g:FilterCount(Card.IsLocation,nil,LOCATION_DECK) local ct=g:FilterCount(Card.IsLocation,nil,LOCATION_DECK)
if ct>0 and Duel.IsPlayerCanSpecialSummonMonster(tp,id,0xc914,TYPES_NORMAL_TRAP_MONSTER,2000,2000,7,RACE_BEAST,ATTRIBUTE_WIND) then if ct>0 and Duel.IsPlayerCanSpecialSummonMonster(tp,id,0xc904,TYPES_NORMAL_TRAP_MONSTER,2000,2000,7,RACE_BEAST,ATTRIBUTE_WIND) then
c:AddMonsterAttribute(TYPE_NORMAL+TYPE_TRAP) c:AddMonsterAttribute(TYPE_NORMAL+TYPE_TRAP)
if Duel.SpecialSummon(c,0,tp,tp,true,false,POS_FACEUP)~=0 then if Duel.SpecialSummon(c,0,tp,tp,true,false,POS_FACEUP)~=0 then
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
...@@ -63,7 +65,7 @@ function s.operation(e,tp,eg,ep,ev,re,r,rp) ...@@ -63,7 +65,7 @@ function s.operation(e,tp,eg,ep,ev,re,r,rp)
end end
end end
function s.setfilter(c) function s.setfilter(c)
return c:IsSetCard(0xc914) and c:IsFaceup() return c:IsSetCard(0xc904) and c:IsFaceup()
end end
function s.setcon(e,tp,eg,ep,ev,re,r,rp) function s.setcon(e,tp,eg,ep,ev,re,r,rp)
return Duel.GetMatchingGroupCount(s.setfilter,tp,LOCATION_MZONE,0,nil)>0 return Duel.GetMatchingGroupCount(s.setfilter,tp,LOCATION_MZONE,0,nil)>0
......
...@@ -31,6 +31,7 @@ function c51928009.initial_effect(c) ...@@ -31,6 +31,7 @@ function c51928009.initial_effect(c)
e3:SetCondition(c51928009.discon) e3:SetCondition(c51928009.discon)
e3:SetTarget(c51928009.distg) e3:SetTarget(c51928009.distg)
e3:SetOperation(c51928009.disop) e3:SetOperation(c51928009.disop)
c:RegisterEffect(e3)
end end
function c51928009.sfilter(c) function c51928009.sfilter(c)
return c:IsType(TYPE_SYNCHRO) and c:IsSetCard(0x9256) return c:IsType(TYPE_SYNCHRO) and c:IsSetCard(0x9256)
......
...@@ -19,7 +19,7 @@ function c51928011.target(e,tp,eg,ep,ev,re,r,rp,chk) ...@@ -19,7 +19,7 @@ function c51928011.target(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(c51928011.filter,tp,LOCATION_MZONE,0,1,nil) end if chk==0 then return Duel.IsExistingMatchingCard(c51928011.filter,tp,LOCATION_MZONE,0,1,nil) end
end end
function c51928011.filter2(c,e) function c51928011.filter2(c,e)
return c:IsFaceup() and c:IsRace(RACE_MACHINE) and not c:IsImmuneToEffect(e) return c:IsFaceup() and c:IsRace(RACE_THUNDER) and not c:IsImmuneToEffect(e)
end end
function c51928011.activate(e,tp,eg,ep,ev,re,r,rp) function c51928011.activate(e,tp,eg,ep,ev,re,r,rp)
local sg=Duel.GetMatchingGroup(c51928011.filter2,tp,LOCATION_MZONE,0,nil,e) local sg=Duel.GetMatchingGroup(c51928011.filter2,tp,LOCATION_MZONE,0,nil,e)
......
--LUKA Relaxing Time --LUKA Relaxing Time
function c60151405.initial_effect(c) function c60151405.initial_effect(c)
--sp --sp
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(60151401,0)) e1:SetDescription(aux.Stringid(60151401,0))
e1:SetCategory(CATEGORY_TODECK+CATEGORY_SPECIAL_SUMMON) e1:SetCategory(CATEGORY_TODECK+CATEGORY_SPECIAL_SUMMON)
e1:SetProperty(EFFECT_FLAG_CARD_TARGET) e1:SetProperty(EFFECT_FLAG_CARD_TARGET)
e1:SetType(EFFECT_TYPE_IGNITION) e1:SetType(EFFECT_TYPE_IGNITION)
e1:SetRange(LOCATION_HAND) e1:SetRange(LOCATION_HAND)
e1:SetCountLimit(1,60151405) e1:SetCountLimit(1,60151405)
e1:SetCost(c60151405.spcost) e1:SetCost(c60151405.spcost)
e1:SetTarget(c60151405.sptg) e1:SetTarget(c60151405.sptg)
e1:SetOperation(c60151405.spop) e1:SetOperation(c60151405.spop)
c:RegisterEffect(e1) c:RegisterEffect(e1)
--to deck --to deck
local e2=Effect.CreateEffect(c) local e2=Effect.CreateEffect(c)
e2:SetDescription(aux.Stringid(60151401,1)) e2:SetDescription(aux.Stringid(60151401,1))
e2:SetCategory(CATEGORY_TODECK+CATEGORY_SPECIAL_SUMMON) e2:SetCategory(CATEGORY_TODECK+CATEGORY_SPECIAL_SUMMON)
e2:SetType(EFFECT_TYPE_QUICK_O) e2:SetType(EFFECT_TYPE_QUICK_O)
e2:SetProperty(EFFECT_FLAG_DAMAGE_STEP+EFFECT_FLAG_DAMAGE_CAL) e2:SetProperty(EFFECT_FLAG_DAMAGE_STEP+EFFECT_FLAG_DAMAGE_CAL)
e2:SetCode(EVENT_CHAINING) e2:SetCode(EVENT_CHAINING)
e2:SetRange(LOCATION_MZONE) e2:SetRange(LOCATION_MZONE)
e2:SetCondition(c60151405.spcon2) e2:SetCondition(c60151405.spcon2)
e2:SetCost(c60151405.spcost2) e2:SetCost(c60151405.spcost2)
e2:SetTarget(c60151405.sptg2) e2:SetTarget(c60151405.sptg2)
e2:SetOperation(c60151405.spop2) e2:SetOperation(c60151405.spop2)
c:RegisterEffect(e2) c:RegisterEffect(e2)
--sp success --sp success
local e3=Effect.CreateEffect(c) local e3=Effect.CreateEffect(c)
e3:SetDescription(aux.Stringid(60151405,2)) e3:SetDescription(aux.Stringid(60151405,2))
e3:SetCategory(CATEGORY_SPECIAL_SUMMON+CATEGORY_TODECK) e3:SetCategory(CATEGORY_SPECIAL_SUMMON+CATEGORY_TODECK)
e3:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_O) e3:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_O)
e3:SetCode(EVENT_SPSUMMON_SUCCESS) e3:SetCode(EVENT_SPSUMMON_SUCCESS)
e3:SetProperty(EFFECT_FLAG_CARD_TARGET+EFFECT_FLAG_DELAY) e3:SetProperty(EFFECT_FLAG_CARD_TARGET+EFFECT_FLAG_DELAY)
e3:SetCountLimit(1,6011405) e3:SetCountLimit(1,6011405)
e3:SetCost(c60151405.spcost) e3:SetCost(c60151405.spcost)
e3:SetTarget(c60151405.sptg3) e3:SetTarget(c60151405.sptg3)
e3:SetOperation(c60151405.spop3) e3:SetOperation(c60151405.spop3)
c:RegisterEffect(e3) c:RegisterEffect(e3)
end end
function c60151405.spcost(e,tp,eg,ep,ev,re,r,rp,chk) function c60151405.spcost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.GetFlagEffect(tp,6011405)==0 end if chk==0 then return Duel.GetFlagEffect(tp,6011405)==0 end
Duel.RegisterFlagEffect(tp,6011405,RESET_CHAIN,0,1) Duel.RegisterFlagEffect(tp,6011405,RESET_CHAIN,0,1)
Duel.Hint(HINT_OPSELECTED,1-tp,e:GetDescription()) Duel.Hint(HINT_OPSELECTED,1-tp,e:GetDescription())
end end
function c60151405.sptg(e,tp,eg,ep,ev,re,r,rp,chk,chkc) function c60151405.sptg(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
if chk==0 then return Duel.IsExistingTarget(Card.IsAbleToDeck,tp,LOCATION_ONFIELD,0,1,nil) if chk==0 then return Duel.IsExistingTarget(Card.IsAbleToDeck,tp,LOCATION_ONFIELD,0,1,nil)
and Duel.GetMZoneCount(tp)>0 and Duel.GetMZoneCount(tp)>0
and e:GetHandler():IsCanBeSpecialSummoned(e,0,tp,false,false) end and e:GetHandler():IsCanBeSpecialSummoned(e,0,tp,false,false) end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TODECK) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TODECK)
local g1=Duel.SelectTarget(tp,Card.IsAbleToDeck,tp,LOCATION_ONFIELD,0,1,1,nil) local g1=Duel.SelectTarget(tp,Card.IsAbleToDeck,tp,LOCATION_ONFIELD,0,1,1,nil)
Duel.SetOperationInfo(0,CATEGORY_TODECK,g1,1,0,0) Duel.SetOperationInfo(0,CATEGORY_TODECK,g1,1,0,0)
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,e:GetHandler(),1,0,0) Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,e:GetHandler(),1,0,0)
end end
function c60151405.spop(e,tp,eg,ep,ev,re,r,rp) function c60151405.spop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler() local c=e:GetHandler()
if not c:IsRelateToEffect(e) then return end if not c:IsRelateToEffect(e) then return end
if Duel.GetMZoneCount(tp)<=0 then return end if Duel.GetMZoneCount(tp)<=0 then return end
if Duel.SpecialSummon(c,0,tp,tp,false,false,POS_FACEUP)>0 then if Duel.SpecialSummon(c,0,tp,tp,false,false,POS_FACEUP)>0 then
Duel.BreakEffect() Duel.BreakEffect()
local tc=Duel.GetFirstTarget() local tc=Duel.GetFirstTarget()
if tc and tc:IsRelateToEffect(e) then if tc and tc:IsRelateToEffect(e) then
Duel.SendtoDeck(tc,nil,2,REASON_EFFECT) Duel.SendtoDeck(tc,nil,2,REASON_EFFECT)
end end
end end
end end
function c60151405.tfilter(c,tp) function c60151405.tfilter(c,tp)
return c:IsLocation(LOCATION_ONFIELD) return c:IsLocation(LOCATION_ONFIELD)
end end
function c60151405.spcon2(e,tp,eg,ep,ev,re,r,rp) function c60151405.spcon2(e,tp,eg,ep,ev,re,r,rp)
if not re:IsHasProperty(EFFECT_FLAG_CARD_TARGET) then return false end if not re:IsHasProperty(EFFECT_FLAG_CARD_TARGET) then return false end
local g=Duel.GetChainInfo(ev,CHAININFO_TARGET_CARDS) local g=Duel.GetChainInfo(ev,CHAININFO_TARGET_CARDS)
return g and g:IsExists(c60151405.tfilter,1,nil,tp) return g and g:IsExists(c60151405.tfilter,1,nil,tp)
end end
function c60151405.spcost2(e,tp,eg,ep,ev,re,r,rp,chk) function c60151405.spcost2(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.GetMZoneCount(tp)>-1 if chk==0 then return Duel.GetMZoneCount(tp)>-1
and e:GetHandler():IsFaceup() and e:GetHandler():IsFaceup()
and e:GetHandler():IsAbleToDeck() and e:GetHandler():IsAbleToDeck()
and Duel.GetFlagEffect(tp,60151405)==0 and Duel.GetFlagEffect(tp,60151405)==0
and Duel.GetFlagEffect(tp,6011405)==0 end and Duel.GetFlagEffect(tp,6011405)==0 end
Duel.SendtoDeck(e:GetHandler(),nil,2,REASON_COST) Duel.SendtoDeck(e:GetHandler(),nil,2,REASON_COST)
Duel.RegisterFlagEffect(tp,60151405,RESET_PHASE+PHASE_END,0,1) Duel.RegisterFlagEffect(tp,60151405,RESET_PHASE+PHASE_END,0,1)
Duel.RegisterFlagEffect(tp,6011405,RESET_CHAIN,0,1) Duel.RegisterFlagEffect(tp,6011405,RESET_CHAIN,0,1)
Duel.Hint(HINT_OPSELECTED,1-tp,e:GetDescription()) Duel.Hint(HINT_OPSELECTED,1-tp,e:GetDescription())
end end
function c60151405.filter(c,e,tp) function c60151405.filter(c,e,tp)
return c:IsSetCard(0x3b28) and not c:IsCode(60151405) and c:IsCanBeSpecialSummoned(e,0,tp,false,false) return c:IsSetCard(0x3b28) and not c:IsCode(60151405) and c:IsCanBeSpecialSummoned(e,0,tp,false,false)
end end
function c60151405.sptg2(e,tp,eg,ep,ev,re,r,rp,chk) function c60151405.sptg2(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(c60151405.filter,tp,LOCATION_DECK,0,1,nil,e,tp) end if chk==0 then return Duel.IsExistingMatchingCard(c60151405.filter,tp,LOCATION_DECK,0,1,nil,e,tp) end
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,1,tp,LOCATION_DECK) Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,1,tp,LOCATION_DECK)
end end
function c60151405.spop2(e,tp,eg,ep,ev,re,r,rp) function c60151405.spop2(e,tp,eg,ep,ev,re,r,rp)
if Duel.GetMZoneCount(tp)<=0 then return end if Duel.GetMZoneCount(tp)<=0 then return end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON)
local g=Duel.SelectMatchingCard(tp,c60151405.filter,tp,LOCATION_DECK,0,1,1,nil,e,tp) local g=Duel.SelectMatchingCard(tp,c60151405.filter,tp,LOCATION_DECK,0,1,1,nil,e,tp)
if g:GetCount()>0 then if g:GetCount()>0 then
Duel.SpecialSummon(g,0,tp,tp,false,false,POS_FACEUP) Duel.SpecialSummon(g,0,tp,tp,false,false,POS_FACEUP)
end end
end end
function c60151405.xyzfilter(c) function c60151405.xyzfilter(c)
return c:IsXyzSummonable(nil) return c:IsXyzSummonable(nil)
end end
function c60151405.sptg3(e,tp,eg,ep,ev,re,r,rp,chk,chkc) function c60151405.sptg3(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
if chkc then return chkc:IsLocation(LOCATION_ONFIELD) and chkc:IsAbleToDeck() and chkc~=e:GetHandler() end if chkc then return chkc:IsLocation(LOCATION_ONFIELD) and chkc:IsAbleToDeck() and chkc~=e:GetHandler() end
if chk==0 then return (Duel.IsExistingMatchingCard(c60151405.xyzfilter,tp,LOCATION_EXTRA,0,1,nil) if chk==0 then return (Duel.IsExistingMatchingCard(c60151405.xyzfilter,tp,LOCATION_EXTRA,0,1,nil)
or Duel.IsExistingMatchingCard(Card.IsSynchroSummonable,tp,LOCATION_EXTRA,0,1,nil,nil)) or Duel.IsExistingMatchingCard(Card.IsSynchroSummonable,tp,LOCATION_EXTRA,0,1,nil,nil))
and Duel.IsExistingTarget(Card.IsAbleToDeck,tp,LOCATION_ONFIELD,0,1,e:GetHandler()) end and Duel.IsExistingTarget(Card.IsAbleToDeck,tp,LOCATION_ONFIELD,0,1,e:GetHandler()) end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TODECK) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TODECK)
local g1=Duel.SelectTarget(tp,Card.IsAbleToDeck,tp,LOCATION_ONFIELD,0,1,1,e:GetHandler()) local g1=Duel.SelectTarget(tp,Card.IsAbleToDeck,tp,LOCATION_ONFIELD,0,1,1,e:GetHandler())
Duel.SetOperationInfo(0,CATEGORY_TODECK,g1,1,0,0) Duel.SetOperationInfo(0,CATEGORY_TODECK,g1,1,0,0)
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,1,tp,LOCATION_EXTRA) Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,1,tp,LOCATION_EXTRA)
end end
function c60151405.spop3(e,tp,eg,ep,ev,re,r,rp) function c60151405.spop3(e,tp,eg,ep,ev,re,r,rp)
local g1=Duel.GetMatchingGroup(Card.IsSynchroSummonable,tp,LOCATION_EXTRA,0,nil,nil) local g1=Duel.GetMatchingGroup(Card.IsSynchroSummonable,tp,LOCATION_EXTRA,0,nil,nil)
local g2=Duel.GetMatchingGroup(c60151405.xyzfilter,tp,LOCATION_EXTRA,0,nil) local g2=Duel.GetMatchingGroup(c60151405.xyzfilter,tp,LOCATION_EXTRA,0,nil)
if #g1==0 and #g2==0 then return end
if g1:GetCount()>0 and g2:GetCount()>0 then if g1:GetCount()>0 and g2:GetCount()>0 then
local op=Duel.SelectOption(tp,aux.Stringid(60151405,3),aux.Stringid(60151405,4)) local op=Duel.SelectOption(tp,aux.Stringid(60151405,3),aux.Stringid(60151405,4))
if op==0 then if op==0 then
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON)
local sg=g1:Select(tp,1,1,nil) local sg=g1:Select(tp,1,1,nil)
...@@ -155,5 +156,5 @@ function c60151405.spop3(e,tp,eg,ep,ev,re,r,rp) ...@@ -155,5 +156,5 @@ function c60151405.spop3(e,tp,eg,ep,ev,re,r,rp)
Duel.SendtoDeck(tc,nil,2,REASON_EFFECT) Duel.SendtoDeck(tc,nil,2,REASON_EFFECT)
end end
end end
end end
end end
\ No newline at end of file
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