Commit 4f4f9a50 authored by Huangnan's avatar Huangnan

fix

parent 2d0c6637
Pipeline #33360 passed with stages
in 78 minutes and 16 seconds
No preview for this file type
expansions/pics/12866875.jpg

29.7 KB | W: | H:

expansions/pics/12866875.jpg

77.5 KB | W: | H:

expansions/pics/12866875.jpg
expansions/pics/12866875.jpg
expansions/pics/12866875.jpg
expansions/pics/12866875.jpg
  • 2-up
  • Swipe
  • Onion skin
expansions/pics/12869005.jpg

124 KB | W: | H:

expansions/pics/12869005.jpg

94.6 KB | W: | H:

expansions/pics/12869005.jpg
expansions/pics/12869005.jpg
expansions/pics/12869005.jpg
expansions/pics/12869005.jpg
  • 2-up
  • Swipe
  • Onion skin
expansions/pics/12869065.jpg

138 KB | W: | H:

expansions/pics/12869065.jpg

107 KB | W: | H:

expansions/pics/12869065.jpg
expansions/pics/12869065.jpg
expansions/pics/12869065.jpg
expansions/pics/12869065.jpg
  • 2-up
  • Swipe
  • Onion skin
expansions/pics/12869075.jpg

126 KB | W: | H:

expansions/pics/12869075.jpg

97.6 KB | W: | H:

expansions/pics/12869075.jpg
expansions/pics/12869075.jpg
expansions/pics/12869075.jpg
expansions/pics/12869075.jpg
  • 2-up
  • Swipe
  • Onion skin
expansions/pics/12869080.jpg

174 KB | W: | H:

expansions/pics/12869080.jpg

453 KB | W: | H:

expansions/pics/12869080.jpg
expansions/pics/12869080.jpg
expansions/pics/12869080.jpg
expansions/pics/12869080.jpg
  • 2-up
  • Swipe
  • Onion skin
expansions/pics/12869090.jpg

39 KB | W: | H:

expansions/pics/12869090.jpg

105 KB | W: | H:

expansions/pics/12869090.jpg
expansions/pics/12869090.jpg
expansions/pics/12869090.jpg
expansions/pics/12869090.jpg
  • 2-up
  • Swipe
  • Onion skin
...@@ -53,6 +53,15 @@ function s.initial_effect(c) ...@@ -53,6 +53,15 @@ function s.initial_effect(c)
e5:SetTarget(s.sptg) e5:SetTarget(s.sptg)
e5:SetOperation(s.spop) e5:SetOperation(s.spop)
c:RegisterEffect(e5) c:RegisterEffect(e5)
--pendulum
local e6=Effect.CreateEffect(c)
e6:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_O)
e6:SetCode(EVENT_LEAVE_FIELD)
e6:SetProperty(EFFECT_FLAG_DELAY)
e6:SetCondition(s.pencon)
e6:SetTarget(s.pentg)
e6:SetOperation(s.penop)
c:RegisterEffect(e6)
end end
function s.ffilter(c,fc,sub,mg,sg) function s.ffilter(c,fc,sub,mg,sg)
return not sg or sg:FilterCount(aux.TRUE,c)==0 return not sg or sg:FilterCount(aux.TRUE,c)==0
...@@ -202,6 +211,21 @@ function s.drop(e,tp,eg,ep,ev,re,r,rp) ...@@ -202,6 +211,21 @@ function s.drop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler() local c=e:GetHandler()
Duel.Draw(c:GetPreviousControler(),1,REASON_EFFECT) Duel.Draw(c:GetPreviousControler(),1,REASON_EFFECT)
end end
--p set
function s.pencon(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
return c:IsPreviousLocation(LOCATION_MZONE) and c:IsFaceup()
end
function s.pentg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.CheckLocation(tp,LOCATION_PZONE,0) or Duel.CheckLocation(tp,LOCATION_PZONE,1) end
end
function s.penop(e,tp,eg,ep,ev,re,r,rp)
if not Duel.CheckLocation(tp,LOCATION_PZONE,0) and not Duel.CheckLocation(tp,LOCATION_PZONE,1) then return false end
local c=e:GetHandler()
if c:IsRelateToEffect(e) then
Duel.MoveToField(c,tp,tp,LOCATION_PZONE,POS_FACEUP,true)
end
end
......
...@@ -50,7 +50,7 @@ function s.cost(e,tp,eg,ep,ev,re,r,rp,chk) ...@@ -50,7 +50,7 @@ function s.cost(e,tp,eg,ep,ev,re,r,rp,chk)
local b2=Duel.IsExistingMatchingCard(s.confilter,tp,LOCATION_SZONE,0,1,nil) local b2=Duel.IsExistingMatchingCard(s.confilter,tp,LOCATION_SZONE,0,1,nil)
if chk==0 then return b1 or b2 end if chk==0 then return b1 or b2 end
if b1 then if b1 then
if b2 and not Duel.SelectYesNo(tp,aux.Stringid(id,0)) then return end if b2 and not Duel.SelectYesNo(tp,aux.Stringid(id,5)) then return end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_CONFIRM) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_CONFIRM)
local g=Duel.SelectMatchingCard(tp,s.cfilter,tp,LOCATION_HAND,0,1,1,nil) local g=Duel.SelectMatchingCard(tp,s.cfilter,tp,LOCATION_HAND,0,1,1,nil)
Duel.ConfirmCards(1-tp,g) Duel.ConfirmCards(1-tp,g)
......
...@@ -94,11 +94,11 @@ function s.cpfilter(c) ...@@ -94,11 +94,11 @@ function s.cpfilter(c)
end end
function s.cptg(e,tp,eg,ep,ev,re,r,rp,chk,chkc) function s.cptg(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
local c=e:GetHandler() local c=e:GetHandler()
if chkc then return chkc:IsControler(tp) and chkc:IsOnField() and s.thfilter(chkc) end if chkc then return chkc:IsControler(tp) and chkc:IsLocation(LOCATION_SZONE) and s.cpfilter(chkc) end
if chk==0 then return Duel.IsExistingTarget(s.cpfilter,tp,LOCATION_SZONE,0,1,nil) if chk==0 then return Duel.IsExistingTarget(s.cpfilter,tp,LOCATION_SZONE,0,1,nil)
and c:IsAbleToRemove() end and c:IsAbleToRemove() end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_OPERATECARD) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_OPERATECARD)
local g=Duel.SelectTarget(tp,s.thfilter,tp,LOCATION_SZONE,0,1,1,nil) local g=Duel.SelectTarget(tp,s.cpfilter,tp,LOCATION_SZONE,0,1,1,nil)
local te,ceg,cep,cev,cre,cr,crp=g:GetFirst():CheckActivateEffect(true,true,true) local te,ceg,cep,cev,cre,cr,crp=g:GetFirst():CheckActivateEffect(true,true,true)
e:SetProperty(te:GetProperty()) e:SetProperty(te:GetProperty())
local tg=te:GetTarget() local tg=te:GetTarget()
......
...@@ -3,7 +3,7 @@ local s,id,o=GetID() ...@@ -3,7 +3,7 @@ local s,id,o=GetID()
function s.initial_effect(c) function s.initial_effect(c)
aux.AddCodeList(c,12400119) aux.AddCodeList(c,12400119)
--xyz summon --xyz summon
aux.AddXyzProcedure(c,nil,7,2,s.ovfilter,aux.Stringid(id,0),2,s.xyzop) aux.AddXyzProcedure(c,nil,7,3,s.ovfilter,aux.Stringid(id,0),3,s.xyzop)
c:EnableReviveLimit() c:EnableReviveLimit()
--ov --ov
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
...@@ -73,7 +73,7 @@ function s.ovfilter2(c,e) ...@@ -73,7 +73,7 @@ function s.ovfilter2(c,e)
return c:IsCanOverlay() and not (e and c:IsImmuneToEffect(e)) return c:IsCanOverlay() and not (e and c:IsImmuneToEffect(e))
end end
function s.ovfilter3(c) function s.ovfilter3(c)
return c:IsCanOverlay() and c:IsSetCard(0x62a2,0xaf1b) and c:IsFaceupEx() return c:IsCanOverlay() and c:IsFaceupEx() and (c:IsSetCard(0xaf1b) or aux.IsCodeListed(c,12400119))
end end
function s.ovtg(e,tp,eg,ep,ev,re,r,rp,chk) function s.ovtg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return e:GetHandler():IsType(TYPE_XYZ) and if chk==0 then return e:GetHandler():IsType(TYPE_XYZ) and
...@@ -100,7 +100,8 @@ function s.ovop(e,tp,eg,ep,ev,re,r,rp) ...@@ -100,7 +100,8 @@ function s.ovop(e,tp,eg,ep,ev,re,r,rp)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_OPERATECARD) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_OPERATECARD)
local sg1=g1:Select(tp,1,1,nil) local sg1=g1:Select(tp,1,1,nil)
local g2=Duel.GetMatchingGroup(aux.NecroValleyFilter(s.ovfilter3),tp,LOCATION_GRAVE+LOCATION_REMOVED,0,nil) local g2=Duel.GetMatchingGroup(aux.NecroValleyFilter(s.ovfilter3),tp,LOCATION_GRAVE+LOCATION_REMOVED,0,nil)
if Duel.Overlay(c,sg1) and #g2>0 and Duel.SelectYesNo(tp,aux.Stringid(id,2)) then Duel.Overlay(c,sg1)
if #g2>0 and Duel.SelectYesNo(tp,aux.Stringid(id,2)) then
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_OPERATECARD) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_OPERATECARD)
local sg2=g2:Select(tp,1,1,nil) local sg2=g2:Select(tp,1,1,nil)
Duel.Overlay(c,sg2) Duel.Overlay(c,sg2)
......
...@@ -73,7 +73,7 @@ function s.target(e,tp,eg,ep,ev,re,r,rp,chk) ...@@ -73,7 +73,7 @@ function s.target(e,tp,eg,ep,ev,re,r,rp,chk)
b1=g1:CheckSubGroup(s.fselect1,1,maxlink,tp) b1=g1:CheckSubGroup(s.fselect1,1,maxlink,tp)
end end
local g2=Duel.GetMatchingGroup(s.spfilter2,tp,LOCATION_GRAVE+LOCATION_REMOVED,0,nil,e,tp) local g2=Duel.GetMatchingGroup(s.spfilter2,tp,LOCATION_GRAVE+LOCATION_REMOVED,0,nil,e,tp)
b2=g2:GetCount()>=2 and Duel.GetLocationCount(tp,LOCATION_MZONE)>1 b2=g2:GetCount()>=2 and Duel.GetLocationCount(tp,LOCATION_MZONE)>0
if chk==0 then if chk==0 then
if not Duel.IsPlayerCanSpecialSummonCount(tp,2) then return false end if not Duel.IsPlayerCanSpecialSummonCount(tp,2) then return false end
if ft<=0 then return false end if ft<=0 then return false end
......
...@@ -54,7 +54,7 @@ end ...@@ -54,7 +54,7 @@ end
function cm.limitval(e,re) function cm.limitval(e,re)
local rc=re:GetHandler() local rc=re:GetHandler()
if rc:IsRace(RACE_WARRIOR) then return false end if rc:IsRace(RACE_WARRIOR) then return false end
return rc:IsStatus(STATUS_BATTLE_DESTROYED) or (rc:IsReason(REASON_DESTROY) and (c:IsReason(REASON_EFFECT) or c:IsReason(REASON_BATTLE))) return rc:IsStatus(STATUS_BATTLE_DESTROYED) or (rc:IsReason(REASON_DESTROY) and (rc:IsReason(REASON_EFFECT) or rc:IsReason(REASON_BATTLE)))
end end
function cm.sptg(e,c) function cm.sptg(e,c)
return not (c:IsSetCard(0xccd) or c:IsSetCard(0xccb)) return not (c:IsSetCard(0xccd) or c:IsSetCard(0xccb))
......
...@@ -58,10 +58,10 @@ function c16349065.atktg(e,tp,eg,ep,ev,re,r,rp,chk,chkc) ...@@ -58,10 +58,10 @@ function c16349065.atktg(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_FACEUP) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_FACEUP)
Duel.SelectTarget(tp,aux.nzatk,tp,LOCATION_MZONE,0,1,1,nil) Duel.SelectTarget(tp,aux.nzatk,tp,LOCATION_MZONE,0,1,1,nil)
end end
function c16349065.atkop1(e,tp,eg,ep,ev,re,r,rp) function c16349065.atkop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler() local c=e:GetHandler()
local tc=Duel.GetFirstTarget() local tc=Duel.GetFirstTarget()
if tc:IsFaceup() and tc:IsRelateToEffect(e) then if tc:IsFaceup() and tc:IsRelateToEffect(e) and not tc:IsImmuneToEffect(e) then
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE) e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetCode(EFFECT_SET_ATTACK_FINAL) e1:SetCode(EFFECT_SET_ATTACK_FINAL)
......
...@@ -8,6 +8,7 @@ function c16400322.initial_effect(c) ...@@ -8,6 +8,7 @@ function c16400322.initial_effect(c)
e1:SetCategory(CATEGORY_SPECIAL_SUMMON) e1:SetCategory(CATEGORY_SPECIAL_SUMMON)
e1:SetType(EFFECT_TYPE_IGNITION) e1:SetType(EFFECT_TYPE_IGNITION)
e1:SetRange(LOCATION_MZONE) e1:SetRange(LOCATION_MZONE)
e1:SetCountLimit(1,16400422)
e1:SetCost(c16400322.cost) e1:SetCost(c16400322.cost)
e1:SetTarget(c16400322.tg) e1:SetTarget(c16400322.tg)
e1:SetOperation(c16400322.op) e1:SetOperation(c16400322.op)
......
...@@ -9,9 +9,9 @@ function c16400555.initial_effect(c) ...@@ -9,9 +9,9 @@ function c16400555.initial_effect(c)
e1:SetType(EFFECT_TYPE_IGNITION) e1:SetType(EFFECT_TYPE_IGNITION)
e1:SetRange(LOCATION_MZONE) e1:SetRange(LOCATION_MZONE)
e1:SetCountLimit(1,id) e1:SetCountLimit(1,id)
e1:SetCost(s.thcost) e1:SetCost(c16400555.thcost)
e1:SetTarget(s.thtg) e1:SetTarget(c16400555.thtg)
e1:SetOperation(s.thop) e1:SetOperation(c16400555.thop)
c:RegisterEffect(e1) c:RegisterEffect(e1)
--special summon --special summon
local e2=Effect.CreateEffect(c) local e2=Effect.CreateEffect(c)
...@@ -26,21 +26,21 @@ function c16400555.initial_effect(c) ...@@ -26,21 +26,21 @@ function c16400555.initial_effect(c)
e2:SetOperation(c16400555.spop) e2:SetOperation(c16400555.spop)
c:RegisterEffect(e2) c:RegisterEffect(e2)
end end
function s.thcost(e,tp,eg,ep,ev,re,r,rp,chk) function c16400555.thcost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return e:GetHandler():CheckRemoveOverlayCard(tp,2,REASON_COST) end if chk==0 then return e:GetHandler():CheckRemoveOverlayCard(tp,2,REASON_COST) end
e:GetHandler():RemoveOverlayCard(tp,2,2,REASON_COST) e:GetHandler():RemoveOverlayCard(tp,2,2,REASON_COST)
end end
function s.thfilter(c) function c16400555.thfilter(c)
return c:IsSetCard(0xce9) and c:IsAbleToHand() return c:IsSetCard(0xce9) and c:IsAbleToHand()
end end
function s.thtg(e,tp,eg,ep,ev,re,r,rp,chk,chkc) function c16400555.thtg(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
if chk==0 then return Duel.IsExistingMatchingCard(s.thfilter,tp,LOCATION_GRAVE,0,1,nil) end if chk==0 then return Duel.IsExistingMatchingCard(c16400555.thfilter,tp,LOCATION_GRAVE,0,1,nil) end
Duel.SetOperationInfo(0,CATEGORY_TOHAND,nil,1,tp,LOCATION_GRAVE) Duel.SetOperationInfo(0,CATEGORY_TOHAND,nil,1,tp,LOCATION_GRAVE)
end end
function s.thop(e,tp,eg,ep,ev,re,r,rp,chk) function c16400555.thop(e,tp,eg,ep,ev,re,r,rp,chk)
if not e:GetHandler():IsRelateToEffect(e) then return end if not e:GetHandler():IsRelateToEffect(e) then return end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_ATOHAND) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_ATOHAND)
local g=Duel.SelectMatchingCard(tp,s.thfilter,tp,LOCATION_GRAVE,0,1,1,nil) local g=Duel.SelectMatchingCard(tp,c16400555.thfilter,tp,LOCATION_GRAVE,0,1,1,nil)
if g:GetCount()>0 then if g:GetCount()>0 then
Duel.SendtoHand(g,nil,REASON_EFFECT) Duel.SendtoHand(g,nil,REASON_EFFECT)
Duel.ConfirmCards(1-tp,g) Duel.ConfirmCards(1-tp,g)
......
--神之眷属-<I>-风暴编织者 --神之眷属-<I>-风暴编织者
local cm,m,o=GetID() local cm,m,o=GetID()
Duel.LoadScript("c33503600.lua")
cm.code=18700197
cm.side_code=18700199
function cm.initial_effect(c) function cm.initial_effect(c)
aux.AddLinkProcedure(c,aux.FilterBoolFunction(Card.IsLinkType,TYPE_EFFECT),2) aux.AddLinkProcedure(c,aux.FilterBoolFunction(Card.IsLinkType,TYPE_EFFECT),2)
c:EnableReviveLimit() c:EnableReviveLimit()
...@@ -51,6 +54,10 @@ function cm.initial_effect(c) ...@@ -51,6 +54,10 @@ function cm.initial_effect(c)
e5:SetTarget(cm.tg) e5:SetTarget(cm.tg)
e5:SetOperation(cm.op) e5:SetOperation(cm.op)
c:RegisterEffect(e5) c:RegisterEffect(e5)
if not rk.Side_Check then
rk.Side_Check=true
local ce=rk.side_do(c)
end
end end
function cm.target(e,tp,eg,ep,ev,re,r,rp,chk) function cm.target(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.GetLocationCount(tp,LOCATION_SZONE)>0 end if chk==0 then return Duel.GetLocationCount(tp,LOCATION_SZONE)>0 end
...@@ -82,9 +89,7 @@ function cm.tg(e,tp,eg,ep,ev,re,r,rp,chk) ...@@ -82,9 +89,7 @@ function cm.tg(e,tp,eg,ep,ev,re,r,rp,chk)
end end
function cm.op(e,tp,eg,ep,ev,re,r,rp) function cm.op(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler() local c=e:GetHandler()
c:SetEntityCode(m+2,true) Suyu_bh.changecode(c)
c:ReplaceEffect(m+2,0,0)
Duel.Hint(10,1,m+2)
end end
function cm.atkcon2(e) function cm.atkcon2(e)
local c=e:GetHandler() local c=e:GetHandler()
......
--神之眷属-<II>-风暴编织者 --神之眷属-<II>-风暴编织者
local cm,m,o=GetID() local cm,m,o=GetID()
Duel.LoadScript("c33503600.lua")
cm.code=18700197
cm.side_code=18700199
function cm.initial_effect(c) function cm.initial_effect(c)
c:EnableReviveLimit() c:EnableReviveLimit()
local e0=Effect.CreateEffect(c) local e0=Effect.CreateEffect(c)
...@@ -41,6 +44,10 @@ function cm.initial_effect(c) ...@@ -41,6 +44,10 @@ function cm.initial_effect(c)
e3:SetTarget(cm.drtg) e3:SetTarget(cm.drtg)
e3:SetOperation(cm.drop) e3:SetOperation(cm.drop)
c:RegisterEffect(e3) c:RegisterEffect(e3)
if not rk.Side_Check then
rk.Side_Check=true
local ce=rk.side_do(c)
end
end end
function cm.rmtg(e,tp,eg,ep,ev,re,r,rp,chk) function cm.rmtg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.GetFieldGroupCount(tp,0,LOCATION_HAND)>0 end if chk==0 then return Duel.GetFieldGroupCount(tp,0,LOCATION_HAND)>0 end
......
...@@ -60,6 +60,7 @@ function cm.operation(e,tp,eg,ep,ev,re,r,rp) ...@@ -60,6 +60,7 @@ function cm.operation(e,tp,eg,ep,ev,re,r,rp)
e2:SetTargetRange(LOCATION_MZONE,0) e2:SetTargetRange(LOCATION_MZONE,0)
e2:SetTarget(aux.TargetBoolFunction(Card.IsAttribute,ATTRIBUTE_WIND)) e2:SetTarget(aux.TargetBoolFunction(Card.IsAttribute,ATTRIBUTE_WIND))
e2:SetValue(1) e2:SetValue(1)
e2:SetReset(RESET_PHASE+PHASE_END)
Duel.RegisterEffect(e2,tp) Duel.RegisterEffect(e2,tp)
local e4=Effect.CreateEffect(c) local e4=Effect.CreateEffect(c)
e4:SetType(EFFECT_TYPE_FIELD) e4:SetType(EFFECT_TYPE_FIELD)
...@@ -68,6 +69,7 @@ function cm.operation(e,tp,eg,ep,ev,re,r,rp) ...@@ -68,6 +69,7 @@ function cm.operation(e,tp,eg,ep,ev,re,r,rp)
e4:SetTargetRange(LOCATION_MZONE,0) e4:SetTargetRange(LOCATION_MZONE,0)
e4:SetTarget(cm.efilter) e4:SetTarget(cm.efilter)
e4:SetValue(1) e4:SetValue(1)
e4:SetReset(RESET_PHASE+PHASE_END)
Duel.RegisterEffect(e4,tp) Duel.RegisterEffect(e4,tp)
end end
end end
......
...@@ -43,6 +43,7 @@ function cm.filter(c) ...@@ -43,6 +43,7 @@ function cm.filter(c)
return c:IsFaceup() and c:IsCode(18700203) return c:IsFaceup() and c:IsCode(18700203)
end end
function cm.spcon(e,c) function cm.spcon(e,c)
local tp=e:GetHandlerPlayer()
local ph=Duel.GetCurrentPhase() local ph=Duel.GetCurrentPhase()
return Duel.GetLocationCount(tp,LOCATION_MZONE)>0 return Duel.GetLocationCount(tp,LOCATION_MZONE)>0
and ((Duel.GetCurrentPhase()>=PHASE_BATTLE_START and Duel.GetCurrentPhase()<=PHASE_BATTLE) or Duel.IsExistingMatchingCard(cm.filter,tp,LOCATION_FZONE,0,1,nil) and (ph==PHASE_MAIN1 or ph==PHASE_MAIN2)) and ((Duel.GetCurrentPhase()>=PHASE_BATTLE_START and Duel.GetCurrentPhase()<=PHASE_BATTLE) or Duel.IsExistingMatchingCard(cm.filter,tp,LOCATION_FZONE,0,1,nil) and (ph==PHASE_MAIN1 or ph==PHASE_MAIN2))
......
...@@ -143,7 +143,7 @@ function cm.cost(e,tp,eg,ep,ev,re,r,rp,chk) ...@@ -143,7 +143,7 @@ function cm.cost(e,tp,eg,ep,ev,re,r,rp,chk)
Duel.SendtoGrave(e:GetHandler(),REASON_COST+REASON_DISCARD) Duel.SendtoGrave(e:GetHandler(),REASON_COST+REASON_DISCARD)
end end
function cm.thfilter2(c) function cm.thfilter2(c)
return c:IsType(TYPE_MONSTER) and c:IsRace(0x826) and c:IsAbleToHand() return c:IsType(TYPE_MONSTER) and c:IsSetCard(0x826) and c:IsAbleToHand()
end end
function cm.thtg(e,tp,eg,ep,ev,re,r,rp,chk) function cm.thtg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(cm.thfilter2,tp,LOCATION_DECK+LOCATION_GRAVE,0,1,nil) end if chk==0 then return Duel.IsExistingMatchingCard(cm.thfilter2,tp,LOCATION_DECK+LOCATION_GRAVE,0,1,nil) end
......
...@@ -60,7 +60,7 @@ function s.target(e,tp,eg,ep,ev,re,r,rp,chk,chkc) ...@@ -60,7 +60,7 @@ function s.target(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
if chk==0 then return Duel.IsExistingTarget(s.nefilter,tp,LOCATION_MZONE,0,1,nil,e,tp) end if chk==0 then return Duel.IsExistingTarget(s.nefilter,tp,LOCATION_MZONE,0,1,nil,e,tp) end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_FACEUP) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_FACEUP)
local g = Duel.SelectTarget(tp,s.nefilter,tp,LOCATION_MZONE,0,1,1,nil,e) local g = Duel.SelectTarget(tp,s.nefilter,tp,LOCATION_MZONE,0,1,1,nil,e,tp)
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,g,1,0,0) Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,g,1,0,0)
end end
function s.operation(e,tp,eg,ep,ev,re,r,rp) function s.operation(e,tp,eg,ep,ev,re,r,rp)
......
...@@ -50,15 +50,17 @@ function c50224080.xyzop(e,tp,chk) ...@@ -50,15 +50,17 @@ function c50224080.xyzop(e,tp,chk)
if chk==0 then return Duel.GetFlagEffect(tp,50224080)>0 and Duel.GetFlagEffect(tp,50224080+1)==0 end if chk==0 then return Duel.GetFlagEffect(tp,50224080)>0 and Duel.GetFlagEffect(tp,50224080+1)==0 end
Duel.RegisterFlagEffect(tp,50224080+1,RESET_PHASE+PHASE_END,EFFECT_FLAG_OATH,1) Duel.RegisterFlagEffect(tp,50224080+1,RESET_PHASE+PHASE_END,EFFECT_FLAG_OATH,1)
end end
function c50224080.ckfilter(c,tp) function c50224080.chkfilter(c,p)
return c:IsSetCard(0x3cb1) and c:IsPreviousControler(tp) return c:IsSetCard(0x3cb1) and c:IsPreviousControler(p)
end end
function c50224080.checkop(e,tp,eg,ep,ev,re,r,rp) function c50224080.checkop(e,tp,eg,ep,ev,re,r,rp)
if eg:IsExists(c50224080.ckfilter,1,nil,tp) then for p=0,1 do
if Duel.GetTurnPlayer()==tp then local tc=eg:GetFirst()
Duel.RegisterFlagEffect(tp,50224080,RESET_PHASE+PHASE_END,0,1) while tc do
elseif Duel.GetTurnPlayer()==1-tp then if c50224080.chkfilter(tc,p) then
Duel.RegisterFlagEffect(tp,50224080,RESET_PHASE+PHASE_END,0,2) Duel.RegisterFlagEffect(p,50224080,RESET_PHASE+PHASE_END,0,2)
end
tc=eg:GetNext()
end end
end end
end end
......
...@@ -52,7 +52,7 @@ function c60001170.cdter(c) ...@@ -52,7 +52,7 @@ function c60001170.cdter(c)
return c:IsFaceup() and c:IsCode(60001179) return c:IsFaceup() and c:IsCode(60001179)
end end
function c60001170.wxcon(e,tp,eg,ep,ev,re,r,rp) function c60001170.wxcon(e,tp,eg,ep,ev,re,r,rp)
return rp==1-tp and re:GetHandler():IsType(TYPE_MONSTER) and Duel.IsChainNegatable(ev) and Duel.IsExistingMatchingCard(c60001170.cdter,tp,LOCATION_ONFIELD,0,1,nil) return rp==1-tp and re:GetHandler():IsType(TYPE_MONSTER) and Duel.IsChainNegatable(ev) --and Duel.IsExistingMatchingCard(c60001170.cdter,tp,LOCATION_ONFIELD,0,1,nil)
end end
function c60001170.wxtg(e,tp,eg,ep,ev,re,r,rp,chk) function c60001170.wxtg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return true end if chk==0 then return true end
......
...@@ -12,7 +12,7 @@ function c60001171.initial_effect(c) ...@@ -12,7 +12,7 @@ function c60001171.initial_effect(c)
e1:SetCategory(CATEGORY_SEARCH+CATEGORY_TOHAND+CATEGORY_DRAW) e1:SetCategory(CATEGORY_SEARCH+CATEGORY_TOHAND+CATEGORY_DRAW)
e1:SetType(EFFECT_TYPE_ACTIVATE) e1:SetType(EFFECT_TYPE_ACTIVATE)
e1:SetCode(EVENT_FREE_CHAIN) e1:SetCode(EVENT_FREE_CHAIN)
e1:SetCondition(c60001171.thcon) --e1:SetCondition(c60001171.thcon)
e1:SetTarget(c60001171.thtg) e1:SetTarget(c60001171.thtg)
e1:SetOperation(c60001171.thop) e1:SetOperation(c60001171.thop)
c:RegisterEffect(e1) c:RegisterEffect(e1)
......
...@@ -18,7 +18,7 @@ function c62624635.initial_effect(c) ...@@ -18,7 +18,7 @@ function c62624635.initial_effect(c)
e2:SetType(EFFECT_TYPE_IGNITION) e2:SetType(EFFECT_TYPE_IGNITION)
e2:SetRange(LOCATION_MZONE) e2:SetRange(LOCATION_MZONE)
e2:SetCountLimit(1) e2:SetCountLimit(1)
e2:SetCost(c62624635.thcost) e2:SetCost(c62624635.cost)
e2:SetTarget(c62624635.thtg) e2:SetTarget(c62624635.thtg)
e2:SetOperation(c62624635.thop) e2:SetOperation(c62624635.thop)
c:RegisterEffect(e2) c:RegisterEffect(e2)
...@@ -29,12 +29,12 @@ function c62624635.initial_effect(c) ...@@ -29,12 +29,12 @@ function c62624635.initial_effect(c)
e3:SetRange(LOCATION_MZONE) e3:SetRange(LOCATION_MZONE)
e3:SetCountLimit(1,62624635+1) e3:SetCountLimit(1,62624635+1)
e3:SetCondition(c62624635.cbcon) e3:SetCondition(c62624635.cbcon)
e3:SetCost(c62624635.cbcost) e3:SetCost(c62624635.cost)
e3:SetOperation(c62624635.cbop) e3:SetOperation(c62624635.cbop)
c:RegisterEffect(e3) c:RegisterEffect(e3)
end end
function c62624635.filter(c) function c62624635.filter(c)
return c:IsRace(RACE_BEAST) and c:IsCanOverlay() return c:IsCanOverlay()
end end
function c62624635.ovtg(e,tp,eg,ep,ev,re,r,rp,chk,chkc) function c62624635.ovtg(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
if chkc then return chkc:IsLocation(LOCATION_MZONE) and c62624635.filter(chkc) end if chkc then return chkc:IsLocation(LOCATION_MZONE) and c62624635.filter(chkc) end
...@@ -53,7 +53,7 @@ function c62624635.ovop(e,tp,eg,ep,ev,re,r,rp) ...@@ -53,7 +53,7 @@ function c62624635.ovop(e,tp,eg,ep,ev,re,r,rp)
Duel.Overlay(c,Group.FromCards(tc)) Duel.Overlay(c,Group.FromCards(tc))
end end
end end
function c62624635.thcost(e,tp,eg,ep,ev,re,r,rp,chk) function c62624635.cost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return e:GetHandler():CheckRemoveOverlayCard(tp,1,REASON_COST) end if chk==0 then return e:GetHandler():CheckRemoveOverlayCard(tp,1,REASON_COST) end
e:GetHandler():RemoveOverlayCard(tp,1,1,REASON_COST) e:GetHandler():RemoveOverlayCard(tp,1,1,REASON_COST)
end end
...@@ -75,10 +75,6 @@ end ...@@ -75,10 +75,6 @@ end
function c62624635.cbcon(e,tp,eg,ep,ev,re,r,rp) function c62624635.cbcon(e,tp,eg,ep,ev,re,r,rp)
return Duel.GetTurnPlayer()~=tp and Duel.GetAttackTarget()~=e:GetHandler() return Duel.GetTurnPlayer()~=tp and Duel.GetAttackTarget()~=e:GetHandler()
end end
function c62624635.cbcost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return e:GetHandler():CheckRemoveOverlayCard(tp,2,REASON_COST) end
e:GetHandler():RemoveOverlayCard(tp,2,2,REASON_COST)
end
function c62624635.cbop(e,tp,eg,ep,ev,re,r,rp) function c62624635.cbop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler() local c=e:GetHandler()
if c:IsRelateToEffect(e) then if c:IsRelateToEffect(e) then
......
...@@ -58,7 +58,7 @@ end ...@@ -58,7 +58,7 @@ end
function c65870060.desop1(e,tp,eg,ep,ev,re,r,rp) function c65870060.desop1(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.SpecialSummon(c,0,tp,tp,false,false,POS_FACEUP)~=0 and e:GetLabelObject():IsType(TYPE_TOKEN) and Duel.SelectYesNo(tp,aux.Stringid(65870060,2)) then if Duel.SpecialSummon(c,0,tp,tp,false,false,POS_FACEUP)~=0 and e:GetLabelObject():IsType(TYPE_TOKEN) and Duel.IsExistingMatchingCard(nil,tp,0,LOCATION_ONFIELD,1,nil) and Duel.SelectYesNo(tp,aux.Stringid(65870060,2)) then
Duel.BreakEffect() Duel.BreakEffect()
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_DESTROY) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_DESTROY)
local g=Duel.SelectMatchingCard(tp,aux.TRUE,tp,0,LOCATION_ONFIELD,1,1,nil) local g=Duel.SelectMatchingCard(tp,aux.TRUE,tp,0,LOCATION_ONFIELD,1,1,nil)
......
...@@ -40,7 +40,7 @@ function c65870065.spfilter(c,e,tp) ...@@ -40,7 +40,7 @@ function c65870065.spfilter(c,e,tp)
return c:IsSetCard(0x3a37) and c:IsType(TYPE_MONSTER) and aux.NecroValleyFilter() and c:IsCanBeSpecialSummoned(e,0,tp,false,false) return c:IsSetCard(0x3a37) and c:IsType(TYPE_MONSTER) and aux.NecroValleyFilter() and c:IsCanBeSpecialSummoned(e,0,tp,false,false)
end end
function c65870065.target1(e,tp,eg,ep,ev,re,r,rp,chk) function c65870065.target1(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(c65870065.spfilter,tp,LOCATION_HAND+LOCATION_GRAVE,0,1,nil,e,tp) end if chk==0 then return Duel.IsExistingMatchingCard(c65870065.spfilter,tp,LOCATION_HAND+LOCATION_GRAVE,0,1,nil,e,tp) and Duel.GetLocationCount(tp,LOCATION_MZONE)>0 end
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,1,tp,LOCATION_HAND+LOCATION_GRAVE) Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,1,tp,LOCATION_HAND+LOCATION_GRAVE)
end end
function c65870065.activate1(e,tp,eg,ep,ev,re,r,rp) function c65870065.activate1(e,tp,eg,ep,ev,re,r,rp)
......
...@@ -40,8 +40,7 @@ function c65870095.discost(e,tp,eg,ep,ev,re,r,rp,chk) ...@@ -40,8 +40,7 @@ function c65870095.discost(e,tp,eg,ep,ev,re,r,rp,chk)
Duel.SendtoHand(g,nil,REASON_COST) Duel.SendtoHand(g,nil,REASON_COST)
end end
function c65870095.destg(e,tp,eg,ep,ev,re,r,rp,chk) function c65870095.destg(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 e:GetHandler():IsCanBeSpecialSummoned(e,0,tp,false,false) end
and e:GetHandler():IsCanBeSpecialSummoned(e,0,tp,false,false) end
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 c65870095.desop(e,tp,eg,ep,ev,re,r,rp) function c65870095.desop(e,tp,eg,ep,ev,re,r,rp)
......
...@@ -63,6 +63,7 @@ function cm.tkop(e,tp,eg,ep,ev,re,r,rp) ...@@ -63,6 +63,7 @@ function cm.tkop(e,tp,eg,ep,ev,re,r,rp)
e2:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS) e2:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
e2:SetCode(EVENT_CHAINING) e2:SetCode(EVENT_CHAINING)
e2:SetCondition(cm.condition) e2:SetCondition(cm.condition)
e2:SetReset(RESET_PHASE+PHASE_END)
e2:SetOperation(cm.desop) e2:SetOperation(cm.desop)
Duel.RegisterEffect(e2,tp) Duel.RegisterEffect(e2,tp)
local e3=Effect.CreateEffect(c) 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