Commit b6dc4748 authored by 伊蕾娜's avatar 伊蕾娜
parents c1aceca2 664b309b
No preview for this file type
No preview for this file type
This diff is collapsed.
...@@ -727,13 +727,12 @@ function this.fullrandom(mainc,extrac) ...@@ -727,13 +727,12 @@ function this.fullrandom(mainc,extrac)
end end
function this.reroll(tp) function this.reroll(tp)
local ct=3 if Duel.SelectYesNo(tp,aux.Stringid(cc,12)) then
while ct>0 and Duel.SelectYesNo(tp,aux.Stringid(cc,12)) do Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TODECK)
local g=Duel.GetFieldGroup(tp,LOCATION_HAND,0) local g=Duel.SelectMatchingCard(tp,nil,tp,LOCATION_HAND,0,0,99,nil)
Duel.SendtoDeck(g,tp,0,REASON_RULE) Duel.SendtoDeck(g,tp,0,REASON_RULE)
Duel.ShuffleDeck(tp) Duel.ShuffleDeck(tp)
Duel.Draw(tp,#g-1,REASON_RULE) Duel.Draw(tp,#g,REASON_RULE)
ct=ct-1
end end
end end
......
...@@ -11,6 +11,7 @@ function cm.initial_effect(c) ...@@ -11,6 +11,7 @@ function cm.initial_effect(c)
e2:SetCode(EVENT_CUSTOM+76794549) e2:SetCode(EVENT_CUSTOM+76794549)
e2:SetProperty(EFFECT_FLAG_DAMAGE_STEP+EFFECT_FLAG_DELAY) e2:SetProperty(EFFECT_FLAG_DAMAGE_STEP+EFFECT_FLAG_DELAY)
e2:SetRange(LOCATION_HAND) e2:SetRange(LOCATION_HAND)
e2:SetCountLimit(1,m)
e2:SetCondition(cm.spcon) e2:SetCondition(cm.spcon)
e2:SetTarget(cm.sptg) e2:SetTarget(cm.sptg)
e2:SetOperation(cm.spop) e2:SetOperation(cm.spop)
......
...@@ -144,6 +144,10 @@ function cm.disop(e,tp,eg,ep,ev,re,r,rp) ...@@ -144,6 +144,10 @@ function cm.disop(e,tp,eg,ep,ev,re,r,rp)
local rc=re:GetHandler() local rc=re:GetHandler()
if Duel.NegateEffect(ev) and c:IsRelateToEffect(e) and rc:IsRelateToEffect(re) and c:IsType(TYPE_XYZ) and rc:IsCanOverlay(tp) then if Duel.NegateEffect(ev) and c:IsRelateToEffect(e) and rc:IsRelateToEffect(re) and c:IsType(TYPE_XYZ) and rc:IsCanOverlay(tp) then
rc:CancelToGrave() rc:CancelToGrave()
local og=rc:GetOverlayGroup()
if og:GetCount()>0 then
Duel.SendtoGrave(og,REASON_RULE)
end
Duel.Overlay(c,Group.FromCards(rc)) Duel.Overlay(c,Group.FromCards(rc))
end end
end end
......
...@@ -25,7 +25,7 @@ end ...@@ -25,7 +25,7 @@ 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 if chk==0 then
local chkf=tp local chkf=tp
local mg1=Duel.GetFusionMaterial(tp) local mg1=Duel.GetFusionMaterial(tp):Filter(Card.IsOnField,nil)
mg1:Merge(Duel.GetMatchingGroup(cm.mffilter0,tp,LOCATION_PZONE,0,nil,e)) mg1:Merge(Duel.GetMatchingGroup(cm.mffilter0,tp,LOCATION_PZONE,0,nil,e))
local res=Duel.IsExistingMatchingCard(cm.filter2,tp,LOCATION_EXTRA,0,1,nil,e,tp,mg1,nil,chkf) local res=Duel.IsExistingMatchingCard(cm.filter2,tp,LOCATION_EXTRA,0,1,nil,e,tp,mg1,nil,chkf)
if not res then if not res then
...@@ -43,7 +43,7 @@ function cm.target(e,tp,eg,ep,ev,re,r,rp,chk) ...@@ -43,7 +43,7 @@ function cm.target(e,tp,eg,ep,ev,re,r,rp,chk)
end end
function cm.activate(e,tp,eg,ep,ev,re,r,rp) function cm.activate(e,tp,eg,ep,ev,re,r,rp)
local chkf=tp local chkf=tp
local mg1=Duel.GetFusionMaterial(tp):Filter(cm.filter1,nil,e) local mg1=Duel.GetFusionMaterial(tp):Filter(Card.IsOnField,nil):Filter(cm.filter1,nil,e)
mg1:Merge(Duel.GetMatchingGroup(cm.mffilter0,tp,LOCATION_PZONE,0,nil,e)) mg1:Merge(Duel.GetMatchingGroup(cm.mffilter0,tp,LOCATION_PZONE,0,nil,e))
local sg1=Duel.GetMatchingGroup(cm.filter2,tp,LOCATION_EXTRA,0,nil,e,tp,mg1,nil,chkf) local sg1=Duel.GetMatchingGroup(cm.filter2,tp,LOCATION_EXTRA,0,nil,e,tp,mg1,nil,chkf)
local mg2=nil local mg2=nil
......
...@@ -41,7 +41,7 @@ function cm.initial_effect(c) ...@@ -41,7 +41,7 @@ function cm.initial_effect(c)
c:RegisterEffect(e4) c:RegisterEffect(e4)
end end
function cm.cfilter(c,tp) function cm.cfilter(c,tp)
return c:IsFaceup() and c:IsSetCard(0x17f6) and c:IsControler(tp) return c:IsFaceup() and c:IsSetCard(0x5da) and c:IsControler(tp)
end end
function cm.sccon(e,tp,eg,ep,ev,re,r,rp) function cm.sccon(e,tp,eg,ep,ev,re,r,rp)
return eg:IsExists(cm.cfilter,1,nil,tp) return eg:IsExists(cm.cfilter,1,nil,tp)
...@@ -95,7 +95,7 @@ function cm.spop(e,tp,eg,ep,ev,re,r,rp) ...@@ -95,7 +95,7 @@ function cm.spop(e,tp,eg,ep,ev,re,r,rp)
Duel.SpecialSummon(c,0,tp,tp,false,false,POS_FACEUP) Duel.SpecialSummon(c,0,tp,tp,false,false,POS_FACEUP)
end end
function cm.pcfilter(c) function cm.pcfilter(c)
return c:IsSetCard(0x17f6) and c:IsType(TYPE_PENDULUM) and not c:IsForbidden() return c:IsSetCard(0x5da) and c:IsType(TYPE_PENDULUM) and not c:IsForbidden()
end end
function cm.pctg(e,tp,eg,ep,ev,re,r,rp,chk) function cm.pctg(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)) if chk==0 then return (Duel.CheckLocation(tp,LOCATION_PZONE,0) or Duel.CheckLocation(tp,LOCATION_PZONE,1))
......
...@@ -32,7 +32,8 @@ function c20114.initial_effect(c) ...@@ -32,7 +32,8 @@ function c20114.initial_effect(c)
local e6=Effect.CreateEffect(c) local e6=Effect.CreateEffect(c)
e6:SetDescription(aux.Stringid(20114,1)) e6:SetDescription(aux.Stringid(20114,1))
e6:SetCategory(CATEGORY_DESTROY) e6:SetCategory(CATEGORY_DESTROY)
e6:SetType(EFFECT_TYPE_IGNITION) e6:SetType(EFFECT_TYPE_QUICK_O)
e6:SetCode(EVENT_FREE_CHAIN)
e6:SetRange(LOCATION_SZONE) e6:SetRange(LOCATION_SZONE)
e6:SetCountLimit(2) e6:SetCountLimit(2)
e6:SetProperty(EFFECT_FLAG_CARD_TARGET) e6:SetProperty(EFFECT_FLAG_CARD_TARGET)
......
...@@ -20,7 +20,7 @@ function c22202.target(e,tp,eg,ep,ev,re,r,rp,chk) ...@@ -20,7 +20,7 @@ function c22202.target(e,tp,eg,ep,ev,re,r,rp,chk)
Duel.SetOperationInfo(0,CATEGORY_HANDES,nil,0,tp,1) Duel.SetOperationInfo(0,CATEGORY_HANDES,nil,0,tp,1)
end end
function c22202.filter(c) function c22202.filter(c)
return c:IsSetCard(0xa999) and c:IsAbleToHand() return c:IsSetCard(0xa999) and c:IsAbleToHand() and c:IsType(TYPE_MONSTER)
end end
function c22202.operation(e,tp,eg,ep,ev,re,r,rp) function c22202.operation(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler() local c=e:GetHandler()
......
...@@ -39,13 +39,13 @@ end ...@@ -39,13 +39,13 @@ end
function c22261103.activate(e,tp,eg,ep,ev,re,r,rp) function c22261103.activate(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 Duel.GetMZoneCount(tp)>0 and Duel.IsPlayerCanSpecialSummonMonster(tp,e:GetHandler():GetCode(),0,0x11,0,0,1,RACE_CYBERSE,ATTRIBUTE_DARK) then if tc and Duel.GetMZoneCount(tp)>0 and Duel.IsPlayerCanSpecialSummonMonster(tp,e:GetHandler():GetCode(),0,0x11,0,0,1,RACE_CYBERSE,ATTRIBUTE_DARK) then
c:AddMonsterAttribute(TYPE_NORMAL,ATTRIBUTE_DARK,RACE_CYBERSE,1,0,0) c:AddMonsterAttribute(TYPE_NORMAL,ATTRIBUTE_DARK,RACE_CYBERSE,1,0,0)
if Duel.SpecialSummon(c,0,tp,tp,true,true,POS_FACEUP)>0 then if Duel.SpecialSummon(c,0,tp,tp,true,true,POS_FACEUP)>0 then
local e0=Effect.CreateEffect(c) local e0=Effect.CreateEffect(c)
e0:SetType(EFFECT_TYPE_SINGLE) e0:SetType(EFFECT_TYPE_SINGLE)
e0:SetCode(EFFECT_CHANGE_CODE) e0:SetCode(EFFECT_CHANGE_CODE)
e0:SetValue(code) e0:SetValue(tc:GetCode())
e0:SetReset(RESET_EVENT+RESETS_STANDARD) e0:SetReset(RESET_EVENT+RESETS_STANDARD)
c:RegisterEffect(e0,true) c:RegisterEffect(e0,true)
end end
......
...@@ -5,5 +5,6 @@ function c22271101.initial_effect(c) ...@@ -5,5 +5,6 @@ function c22271101.initial_effect(c)
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_ACTIVATE) e1:SetType(EFFECT_TYPE_ACTIVATE)
e1:SetCode(EVENT_FREE_CHAIN) e1:SetCode(EVENT_FREE_CHAIN)
e1:SetOperation(function() end)
c:RegisterEffect(e1) c:RegisterEffect(e1)
end end
...@@ -12,8 +12,8 @@ function c24111.initial_effect(c) ...@@ -12,8 +12,8 @@ function c24111.initial_effect(c)
if c24111.counter==nil then if c24111.counter==nil then
c24111.counter=true c24111.counter=true
c24111.lplist = { c24111.lplist = {
[0] = Duel.GetLP(tp), [0] = Duel.GetLP(0),
[1] = Duel.GetLP(tp), [1] = Duel.GetLP(1),
} }
c24111.effectList = { c24111.effectList = {
[0] = {}, [0] = {},
......
...@@ -45,20 +45,20 @@ function c25331.initial_effect(c) ...@@ -45,20 +45,20 @@ function c25331.initial_effect(c)
c:RegisterEffect(e5) c:RegisterEffect(e5)
end end
function c25331.ntfilter1(c) function c25331.ntfilter1(c)
return c:IsType(TYPE_MONSTER) and c:IsSetCard(0x226) and c:IsAbleToGraveAsCost() and (c:IsLocation(LOCATION_HAND) or c:IsFaceup()) return c:IsType(TYPE_MONSTER) and c:IsSetCard(0x226) and c:IsAbleToGraveAsCost()
end end
function c25331.ntfilter2(c) function c25331.ntfilter2(c)
return c:IsType(TYPE_MONSTER) and c:IsSetCard(0x259) and c:IsAbleToGraveAsCost() and (c:IsLocation(LOCATION_HAND) or c:IsFaceup()) return c:IsType(TYPE_MONSTER) and c:IsSetCard(0x259) and c:IsAbleToGraveAsCost()
end end
function c25331.ntcon(e,c) function c25331.ntcon(e,c)
if c==nil then return true end if c==nil then return true end
return c:IsLevelAbove(5) and Duel.GetLocationCount(c:GetControler(),LOCATION_MZONE)>0 return c:IsLevelAbove(5) and Duel.GetLocationCount(c:GetControler(),LOCATION_MZONE)>0
and Duel.IsExistingMatchingCard(c25331.ntfilter1,c:GetControler(),LOCATION_HAND|LOCATION_MZONE,0,1,nil) and Duel.IsExistingMatchingCard(c25331.ntfilter1,c:GetControler(),LOCATION_DECK,0,1,nil)
and Duel.IsExistingMatchingCard(c25331.ntfilter2,c:GetControler(),LOCATION_HAND|LOCATION_MZONE,0,1,nil) and Duel.IsExistingMatchingCard(c25331.ntfilter2,c:GetControler(),LOCATION_DECK,0,1,nil)
end end
function c25331.ntop(e,tp,eg,ep,ev,re,r,rp,c) function c25331.ntop(e,tp,eg,ep,ev,re,r,rp,c)
local g1=Duel.SelectMatchingCard(tp,c25331.ntfilter1,c:GetControler(),LOCATION_HAND|LOCATION_MZONE,0,1,1,nil) local g1=Duel.SelectMatchingCard(tp,c25331.ntfilter1,c:GetControler(),LOCATION_DECK,0,1,1,nil)
local g2=Duel.SelectMatchingCard(tp,c25331.ntfilter2,c:GetControler(),LOCATION_HAND|LOCATION_MZONE,0,1,1,nil) local g2=Duel.SelectMatchingCard(tp,c25331.ntfilter2,c:GetControler(),LOCATION_DECK,0,1,1,nil)
g1:Merge(g2) g1:Merge(g2)
Duel.SendtoGrave(g1,REASON_COST) Duel.SendtoGrave(g1,REASON_COST)
end end
......
...@@ -6,6 +6,7 @@ function c66919008.initial_effect(c) ...@@ -6,6 +6,7 @@ function c66919008.initial_effect(c)
e1:SetType(EFFECT_TYPE_ACTIVATE) e1:SetType(EFFECT_TYPE_ACTIVATE)
e1:SetCode(EVENT_FREE_CHAIN) e1:SetCode(EVENT_FREE_CHAIN)
e1:SetProperty(EFFECT_FLAG_CARD_TARGET+EFFECT_FLAG_CONTINUOUS_TARGET) e1:SetProperty(EFFECT_FLAG_CARD_TARGET+EFFECT_FLAG_CONTINUOUS_TARGET)
e1:SetCountLimit(1,66919008+EFFECT_COUNT_CODE_OATH)
e1:SetTarget(c66919008.target) e1:SetTarget(c66919008.target)
e1:SetOperation(c66919008.operation) e1:SetOperation(c66919008.operation)
c:RegisterEffect(e1) c:RegisterEffect(e1)
......
...@@ -75,7 +75,7 @@ function c74563014.gselect(g,num) ...@@ -75,7 +75,7 @@ function c74563014.gselect(g,num)
local def=0 local def=0
local tc=g:GetFirst() local tc=g:GetFirst()
while tc do while tc do
if tc:IsDefenseAbove(0) and tc:IsFaceup() then if tc:IsType(TYPE_MONSTER) and tc:IsDefenseAbove(0) and tc:IsFaceup() then
def=def+tc:GetDefense() def=def+tc:GetDefense()
else else
def=def+1200 def=def+1200
...@@ -104,71 +104,46 @@ function c74563014.eqop(e,tp,eg,ep,ev,re,r,rp) ...@@ -104,71 +104,46 @@ function c74563014.eqop(e,tp,eg,ep,ev,re,r,rp)
tg=dg:GetNext() tg=dg:GetNext()
end end
end end
function c74563014.exfilter1(c,fc) --
return c74563014.allfilter1(c,fc) and c:IsCode(74563024) and c:IsAbleToRemove() function c74563014.ExFusFilter(c,fc)
return c74563014.AllFusFilter(c,fc) and c:IsCode(74563024) and c:IsAbleToRemove()
end end
function c74563014.allfilter1(c,fc) function c74563014.AllFusFilter(c,fc)
return c:IsCanBeFusionMaterial(fc) and c:IsFusionType(TYPE_MONSTER) return c:IsCanBeFusionMaterial(fc) and c:IsFusionType(TYPE_MONSTER) and (c74563014.CheckFusFilter1(c) or c74563014.CheckFusFilter2(c))
and (c:IsFusionSetCard(0x258) or c:IsFusionAttribute(ATTRIBUTE_WIND) or c:IsFusionAttribute(ATTRIBUTE_DARK))
end end
-- function c74563014.CheckFusFilter1(c)
function c74563014.CheckFusionFilter1(c,sg,tc) return c:IsFusionSetCard(0x258)
local check1=0 end
local check2=0 function c74563014.CheckFusFilter2(c)
local sc=sg:GetFirst() return c:IsFusionAttribute(ATTRIBUTE_DARK+ATTRIBUTE_WIND)
while sc do end
if sc:IsFusionSetCard(0x258) then check1=1 end function c74563014.CheckGroupFilter(sg,lc)
if (sc:IsFusionAttribute(ATTRIBUTE_WIND) or sc:IsFusionAttribute(ATTRIBUTE_DARK)) then check2=1 end return (not lc) or (lc and sg:IsContains(lc))
sc=sg:GetNext()
end
return (check1==0 and (tc:IsFusionSetCard(0x258)))
or (check2==0 and (tc:IsFusionAttribute(ATTRIBUTE_WIND) or tc:IsFusionAttribute(ATTRIBUTE_DARK)))
end
function c74563014.CheckRecursive1(c,mg,sg,exg,tp,fc,chkf)
--if exg and exg:IsContains(c) then return false end
if sg:GetCount()>0 and not sg:IsExists(c74563014.CheckFusionFilter1,1,nil,sg,c) then return false end
sg:AddCard(c)
if Duel.GetLocationCountFromEx(tp,tp,sg,c)<0 then return false end
local res=false
if sg:GetCount()==2 then
res=(chkf==PLAYER_NONE or Duel.GetLocationCountFromEx(chkf,tp,sg,fc)>0)
if aux.FCheckAdditional and not aux.FCheckAdditional(tp,sg,fc) then res=false end
else
res=mg:IsExists(c74563014.CheckRecursive1,1,sg,mg,sg,exg,tp,fc,PLAYER_NONE)
end
sg:RemoveCard(c)
return res
end end
--
function c74563014.con1(e,g,gc,chkfnf) function c74563014.con1(e,g,gc,chkfnf)
if g==nil then return true end if g==nil then return true end
local sg=Group.CreateGroup() local sg=Group.CreateGroup()
local chkf=(chkfnf & 0xff) local chkf=(chkfnf & 0xff)
local c=e:GetHandler() local c=e:GetHandler()
local tp=c:GetControler() local tp=c:GetControler()
local mg=g:Filter(c74563014.allfilter1,nil,c) local mg=g:Filter(c74563014.AllFusFilter,nil,c)
local exg=Duel.GetMatchingGroup(c74563014.exfilter1,tp,LOCATION_GRAVE,0,mg,c) local exg=Duel.GetMatchingGroup(c74563014.ExFusFilter,tp,LOCATION_GRAVE,0,mg,c)
mg:Merge(exg) mg:Merge(exg)
if gc then return c74563014.allfilter1(gc,c) local checks={c74563014.CheckFusFilter1,c74563014.CheckFusFilter2}
and c74563014.CheckRecursive1(gc,mg,sg,exg,tp,c,chkf) end return mg:CheckSubGroupEach(checks,c74563014.CheckGroupFilter,gc)
return mg:IsExists(c74563014.CheckRecursive1,1,sg,mg,sg,exg,tp,c,chkf)
end end
--
function c74563014.op1(e,tp,eg,ep,ev,re,r,rp,gc,chkfnf) function c74563014.op1(e,tp,eg,ep,ev,re,r,rp,gc,chkfnf)
local c=e:GetHandler() local c=e:GetHandler()
local chkf=(chkfnf & 0xff) local chkf=(chkfnf & 0xff)
local mg=eg:Filter(c74563014.allfilter1,nil,c) local mg=eg:Filter(c74563014.AllFusFilter,nil,c)
local exg=Duel.GetMatchingGroup(c74563014.exfilter1,tp,LOCATION_GRAVE,0,mg,c) local exg=Duel.GetMatchingGroup(c74563014.ExFusFilter,tp,LOCATION_GRAVE,0,mg,c)
mg:Merge(exg) mg:Merge(exg)
local sg=Group.CreateGroup() local checks={c74563014.CheckFusFilter1,c74563014.CheckFusFilter2}
if gc then sg:AddCard(gc) end
repeat
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_FMATERIAL) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_FMATERIAL)
local g=mg:FilterSelect(tp,c74563014.CheckRecursive1,1,1,sg,mg,sg,exg,tp,c,chkf) local sg=mg:SelectSubGroupEach(tp,checks,false,c74563014.CheckGroupFilter,gc)
sg:Merge(g)
until sg:GetCount()==2
Duel.SetFusionMaterial(sg) Duel.SetFusionMaterial(sg)
end end
--
c74563014.OriginalSetMaterial=Card.SetMaterial c74563014.OriginalSetMaterial=Card.SetMaterial
function c74563014.SetMaterial(c,g) function c74563014.SetMaterial(c,g)
c74563014.OriginalSetMaterial(c,g) c74563014.OriginalSetMaterial(c,g)
......
...@@ -69,10 +69,10 @@ function c74563015.eqtg(e,tp,eg,ep,ev,re,r,rp,chk) ...@@ -69,10 +69,10 @@ function c74563015.eqtg(e,tp,eg,ep,ev,re,r,rp,chk)
Duel.RegisterFlagEffect(tp,74563015,RESET_PHASE+PHASE_END,0,1) Duel.RegisterFlagEffect(tp,74563015,RESET_PHASE+PHASE_END,0,1)
end end
function c74563015.customdef(c) function c74563015.customdef(c)
if c:IsType(TYPE_LINK|TYPE_SPELL|TYPE_TRAP) then if c:IsType(TYPE_MONSTER) and c:IsDefenseAbove(0) and c:IsFaceup() then
return 1200
else
return c:GetDefense() return c:GetDefense()
else
return 1200
end end
end end
function c74563015.eqop(e,tp,eg,ep,ev,re,r,rp) function c74563015.eqop(e,tp,eg,ep,ev,re,r,rp)
...@@ -130,71 +130,46 @@ function c74563015.eqop(e,tp,eg,ep,ev,re,r,rp) ...@@ -130,71 +130,46 @@ function c74563015.eqop(e,tp,eg,ep,ev,re,r,rp)
tc=dg:GetNext() tc=dg:GetNext()
end end
end end
function c74563015.exfilter1(c,fc) --
return c74563015.allfilter1(c,fc) and c:IsCode(74563024) and c:IsAbleToRemove() function c74563015.ExFusFilter(c,fc)
return c74563015.AllFusFilter(c,fc) and c:IsCode(74563024) and c:IsAbleToRemove()
end end
function c74563015.allfilter1(c,fc) function c74563015.AllFusFilter(c,fc)
return c:IsCanBeFusionMaterial(fc) and c:IsFusionType(TYPE_MONSTER) return c:IsCanBeFusionMaterial(fc) and c:IsFusionType(TYPE_MONSTER) and (c74563015.CheckFusFilter1(c) or c74563015.CheckFusFilter2(c))
and (c:IsFusionSetCard(0x258) or c:IsFusionAttribute(ATTRIBUTE_WATER) or c:IsFusionAttribute(ATTRIBUTE_LIGHT))
end end
-- function c74563015.CheckFusFilter1(c)
function c74563015.CheckFusionFilter1(c,sg,tc) return c:IsFusionSetCard(0x258)
local check1=0 end
local check2=0 function c74563015.CheckFusFilter2(c)
local sc=sg:GetFirst() return c:IsFusionAttribute(ATTRIBUTE_LIGHT+ATTRIBUTE_WATER)
while sc do end
if sc:IsFusionSetCard(0x258) then check1=1 end function c74563015.CheckGroupFilter(sg,lc)
if (sc:IsFusionAttribute(ATTRIBUTE_WATER) or sc:IsFusionAttribute(ATTRIBUTE_LIGHT)) then check2=1 end return (not lc) or (lc and sg:IsContains(lc))
sc=sg:GetNext()
end
return (check1==0 and (tc:IsFusionSetCard(0x258)))
or (check2==0 and (tc:IsFusionAttribute(ATTRIBUTE_LIGHT) or tc:IsFusionAttribute(ATTRIBUTE_WATER)))
end
function c74563015.CheckRecursive1(c,mg,sg,exg,tp,fc,chkf)
--if exg and exg:IsContains(c) then return false end
if sg:GetCount()>0 and not sg:IsExists(c74563015.CheckFusionFilter1,1,nil,sg,c) then return false end
sg:AddCard(c)
if Duel.GetLocationCountFromEx(tp,tp,sg,c)<0 then return false end
local res=false
if sg:GetCount()==2 then
res=(chkf==PLAYER_NONE or Duel.GetLocationCountFromEx(chkf,tp,sg,fc)>0)
if aux.FCheckAdditional and not aux.FCheckAdditional(tp,sg,fc) then res=false end
else
res=mg:IsExists(c74563015.CheckRecursive1,1,sg,mg,sg,exg,tp,fc,PLAYER_NONE)
end
sg:RemoveCard(c)
return res
end end
--
function c74563015.con1(e,g,gc,chkfnf) function c74563015.con1(e,g,gc,chkfnf)
if g==nil then return true end if g==nil then return true end
local sg=Group.CreateGroup() local sg=Group.CreateGroup()
local chkf=(chkfnf & 0xff) local chkf=(chkfnf & 0xff)
local c=e:GetHandler() local c=e:GetHandler()
local tp=c:GetControler() local tp=c:GetControler()
local mg=g:Filter(c74563015.allfilter1,nil,c) local mg=g:Filter(c74563015.AllFusFilter,nil,c)
local exg=Duel.GetMatchingGroup(c74563015.exfilter1,tp,LOCATION_GRAVE,0,mg,c) local exg=Duel.GetMatchingGroup(c74563015.ExFusFilter,tp,LOCATION_GRAVE,0,mg,c)
mg:Merge(exg) mg:Merge(exg)
if gc then return c74563015.allfilter1(gc,c) local checks={c74563015.CheckFusFilter1,c74563015.CheckFusFilter2}
and c74563015.CheckRecursive1(gc,mg,sg,exg,tp,c,chkf) end return mg:CheckSubGroupEach(checks,c74563015.CheckGroupFilter,gc)
return mg:IsExists(c74563015.CheckRecursive1,1,sg,mg,sg,exg,tp,c,chkf)
end end
--
function c74563015.op1(e,tp,eg,ep,ev,re,r,rp,gc,chkfnf) function c74563015.op1(e,tp,eg,ep,ev,re,r,rp,gc,chkfnf)
local c=e:GetHandler() local c=e:GetHandler()
local chkf=(chkfnf & 0xff) local chkf=(chkfnf & 0xff)
local mg=eg:Filter(c74563015.allfilter1,nil,c) local mg=eg:Filter(c74563015.AllFusFilter,nil,c)
local exg=Duel.GetMatchingGroup(c74563015.exfilter1,tp,LOCATION_GRAVE,0,mg,c) local exg=Duel.GetMatchingGroup(c74563015.ExFusFilter,tp,LOCATION_GRAVE,0,mg,c)
mg:Merge(exg) mg:Merge(exg)
local sg=Group.CreateGroup() local checks={c74563015.CheckFusFilter1,c74563015.CheckFusFilter2}
if gc then sg:AddCard(gc) end
repeat
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_FMATERIAL) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_FMATERIAL)
local g=mg:FilterSelect(tp,c74563015.CheckRecursive1,1,1,sg,mg,sg,exg,tp,c,chkf) local sg=mg:SelectSubGroupEach(tp,checks,false,c74563015.CheckGroupFilter,gc)
sg:Merge(g)
until sg:GetCount()==2
Duel.SetFusionMaterial(sg) Duel.SetFusionMaterial(sg)
end end
--
c74563015.OriginalSetMaterial=Card.SetMaterial c74563015.OriginalSetMaterial=Card.SetMaterial
function c74563015.SetMaterial(c,g) function c74563015.SetMaterial(c,g)
c74563015.OriginalSetMaterial(c,g) c74563015.OriginalSetMaterial(c,g)
......
...@@ -78,7 +78,7 @@ function c74563016.gselect(g,num) ...@@ -78,7 +78,7 @@ function c74563016.gselect(g,num)
local def=0 local def=0
local tc=g:GetFirst() local tc=g:GetFirst()
while tc do while tc do
if tc:IsDefenseAbove(0) and tc:IsFaceup() then if tc:IsType(TYPE_MONSTER) and tc:IsDefenseAbove(0) and tc:IsFaceup() then
def=def+tc:GetDefense() def=def+tc:GetDefense()
else else
def=def+1200 def=def+1200
...@@ -103,63 +103,45 @@ function c74563016.allfilter1(c,fc) ...@@ -103,63 +103,45 @@ function c74563016.allfilter1(c,fc)
and (c:IsFusionSetCard(0x258) or c:IsFusionAttribute(ATTRIBUTE_EARTH) or c:IsFusionAttribute(ATTRIBUTE_FIRE)) and (c:IsFusionSetCard(0x258) or c:IsFusionAttribute(ATTRIBUTE_EARTH) or c:IsFusionAttribute(ATTRIBUTE_FIRE))
end end
-- --
function c74563016.CheckFusionFilter1(c,sg,tc) function c74563016.ExFusFilter(c,fc)
local check1=0 return c74563016.AllFusFilter(c,fc) and c:IsCode(74563024) and c:IsAbleToRemove()
local check2=0 end
local sc=sg:GetFirst() function c74563016.AllFusFilter(c,fc)
while sc do return c:IsCanBeFusionMaterial(fc) and c:IsFusionType(TYPE_MONSTER) and (c74563016.CheckFusFilter1(c) or c74563016.CheckFusFilter2(c))
if sc:IsFusionSetCard(0x258) then check1=1 end end
if (sc:IsFusionAttribute(ATTRIBUTE_EARTH) or sc:IsFusionAttribute(ATTRIBUTE_FIRE)) then check2=1 end function c74563016.CheckFusFilter1(c)
sc=sg:GetNext() return c:IsFusionSetCard(0x258)
end end
return (check1==0 and (tc:IsFusionSetCard(0x258))) function c74563016.CheckFusFilter2(c)
or (check2==0 and (tc:IsFusionAttribute(ATTRIBUTE_EARTH) or tc:IsFusionAttribute(ATTRIBUTE_FIRE))) return c:IsFusionAttribute(ATTRIBUTE_EARTH+ATTRIBUTE_FIRE)
end end
function c74563016.CheckRecursive1(c,mg,sg,exg,tp,fc,chkf) function c74563016.CheckGroupFilter(sg,lc)
--if exg and exg:IsContains(c) then return false end return (not lc) or (lc and sg:IsContains(lc))
if sg:GetCount()>0 and not sg:IsExists(c74563016.CheckFusionFilter1,1,nil,sg,c) then return false end
sg:AddCard(c)
if Duel.GetLocationCountFromEx(tp,tp,sg,c)<0 then return false end
local res=false
if sg:GetCount()==2 then
res=(chkf==PLAYER_NONE or Duel.GetLocationCountFromEx(chkf,tp,sg,fc)>0)
if aux.FCheckAdditional and not aux.FCheckAdditional(tp,sg,fc) then res=false end
else
res=mg:IsExists(c74563016.CheckRecursive1,1,sg,mg,sg,exg,tp,fc,PLAYER_NONE)
end
sg:RemoveCard(c)
return res
end end
--
function c74563016.con1(e,g,gc,chkfnf) function c74563016.con1(e,g,gc,chkfnf)
if g==nil then return true end if g==nil then return true end
local sg=Group.CreateGroup() local sg=Group.CreateGroup()
local chkf=(chkfnf & 0xff) local chkf=(chkfnf & 0xff)
local c=e:GetHandler() local c=e:GetHandler()
local tp=c:GetControler() local tp=c:GetControler()
local mg=g:Filter(c74563016.allfilter1,nil,c) local mg=g:Filter(c74563016.AllFusFilter,nil,c)
local exg=Duel.GetMatchingGroup(c74563016.exfilter1,tp,LOCATION_GRAVE,0,mg,c) local exg=Duel.GetMatchingGroup(c74563016.ExFusFilter,tp,LOCATION_GRAVE,0,mg,c)
mg:Merge(exg) mg:Merge(exg)
if gc then return c74563016.allfilter1(gc,c) local checks={c74563016.CheckFusFilter1,c74563016.CheckFusFilter2}
and c74563016.CheckRecursive1(gc,mg,sg,exg,tp,c,chkf) end return mg:CheckSubGroupEach(checks,c74563016.CheckGroupFilter,gc)
return mg:IsExists(c74563016.CheckRecursive1,1,sg,mg,sg,exg,tp,c,chkf)
end end
--
function c74563016.op1(e,tp,eg,ep,ev,re,r,rp,gc,chkfnf) function c74563016.op1(e,tp,eg,ep,ev,re,r,rp,gc,chkfnf)
local c=e:GetHandler() local c=e:GetHandler()
local chkf=(chkfnf & 0xff) local chkf=(chkfnf & 0xff)
local mg=eg:Filter(c74563016.allfilter1,nil,c) local mg=eg:Filter(c74563016.AllFusFilter,nil,c)
local exg=Duel.GetMatchingGroup(c74563016.exfilter1,tp,LOCATION_GRAVE,0,mg,c) local exg=Duel.GetMatchingGroup(c74563016.ExFusFilter,tp,LOCATION_GRAVE,0,mg,c)
mg:Merge(exg) mg:Merge(exg)
local sg=Group.CreateGroup() local checks={c74563016.CheckFusFilter1,c74563016.CheckFusFilter2}
if gc then sg:AddCard(gc) end
repeat
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_FMATERIAL) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_FMATERIAL)
local g=mg:FilterSelect(tp,c74563016.CheckRecursive1,1,1,sg,mg,sg,exg,tp,c,chkf) local sg=mg:SelectSubGroupEach(tp,checks,false,c74563016.CheckGroupFilter,gc)
sg:Merge(g)
until sg:GetCount()==2
Duel.SetFusionMaterial(sg) Duel.SetFusionMaterial(sg)
end end
--
c74563016.OriginalSetMaterial=Card.SetMaterial c74563016.OriginalSetMaterial=Card.SetMaterial
function c74563016.SetMaterial(c,g) function c74563016.SetMaterial(c,g)
c74563016.OriginalSetMaterial(c,g) c74563016.OriginalSetMaterial(c,g)
......
...@@ -77,64 +77,44 @@ function c74563024.tkop(e,tp,eg,ep,ev,re,r,rp) ...@@ -77,64 +77,44 @@ function c74563024.tkop(e,tp,eg,ep,ev,re,r,rp)
Duel.SpecialSummon(token,0,tp,tp,false,false,POS_FACEUP) Duel.SpecialSummon(token,0,tp,tp,false,false,POS_FACEUP)
end end
end end
function c74563024.exfilter1(c,fc) --
return c74563024.allfilter1(c,fc) and c:IsCode(74563024) and c:IsAbleToRemove() function c74563024.ExFusFilter(c,fc)
return c74563024.AllFusFilter(c,fc) and c:IsCode(74563024) and c:IsAbleToRemove()
end end
function c74563024.allfilter1(c,fc) function c74563024.AllFusFilter(c,fc)
return c:IsCanBeFusionMaterial(fc) and c:IsFusionType(TYPE_MONSTER) return c:IsCanBeFusionMaterial(fc) and c:IsFusionType(TYPE_MONSTER) and (c74563024.CheckFusFilter1(c) or c74563024.CheckFusFilter2(c))
and (c:IsFusionSetCard(0x258) or c:IsFusionAttribute(ATTRIBUTE_DIVINE))
end end
-- function c74563024.CheckFusFilter1(c)
function c74563024.CheckFusionFilter1(c,sg,tc) return c:IsFusionSetCard(0x258)
local check1=0 end
local check2=0 function c74563024.CheckFusFilter2(c)
return (check1==0 and (tc:IsFusionSetCard(0x258) or tc:IsFusionAttribute(ATTRIBUTE_DIVINE))) return c:IsFusionAttribute(ATTRIBUTE_DIVINE)
or (check2==0 and (tc:IsFusionSetCard(0x258) or tc:IsFusionAttribute(ATTRIBUTE_DIVINE))) end
end function c74563024.CheckGroupFilter(sg,lc)
function c74563024.CheckRecursive1(c,mg,sg,exg,tp,fc,chkf) return (not lc) or (lc and sg:IsContains(lc))
--if exg and exg:IsContains(c) then return false end
if sg:GetCount()>0 and not sg:IsExists(c74563024.CheckFusionFilter1,1,nil,sg,c) then return false end
sg:AddCard(c)
if Duel.GetLocationCountFromEx(tp,tp,sg,c)<0 then return false end
local res=false
if sg:GetCount()==2 then
res=(chkf==PLAYER_NONE or Duel.GetLocationCountFromEx(chkf,tp,sg,fc)>0)
if aux.FCheckAdditional and not aux.FCheckAdditional(tp,sg,fc) then res=false end
else
res=mg:IsExists(c74563024.CheckRecursive1,1,sg,mg,sg,exg,tp,fc,PLAYER_NONE)
end
sg:RemoveCard(c)
return res
end end
--
function c74563024.con1(e,g,gc,chkfnf) function c74563024.con1(e,g,gc,chkfnf)
if g==nil then return true end if g==nil then return true end
local sg=Group.CreateGroup() local sg=Group.CreateGroup()
local chkf=(chkfnf & 0xff) local chkf=(chkfnf & 0xff)
local c=e:GetHandler() local c=e:GetHandler()
local tp=c:GetControler() local tp=c:GetControler()
local mg=g:Filter(c74563024.allfilter1,nil,c) local mg=g:Filter(c74563024.AllFusFilter,nil,c)
local exg=Duel.GetMatchingGroup(c74563024.exfilter1,tp,LOCATION_GRAVE,0,mg,c) local exg=Duel.GetMatchingGroup(c74563024.ExFusFilter,tp,LOCATION_GRAVE,0,mg,c)
mg:Merge(exg) mg:Merge(exg)
if gc then return c74563024.allfilter1(gc,c) return mg:CheckSubGroup(c74563024.CheckGroupFilter,2,#mg,gc)
and c74563024.CheckRecursive1(gc,mg,sg,exg,tp,c,chkf) end
return mg:IsExists(c74563024.CheckRecursive1,1,sg,mg,sg,exg,tp,c,chkf)
end end
--
function c74563024.op1(e,tp,eg,ep,ev,re,r,rp,gc,chkfnf) function c74563024.op1(e,tp,eg,ep,ev,re,r,rp,gc,chkfnf)
local c=e:GetHandler() local c=e:GetHandler()
local chkf=(chkfnf & 0xff) local chkf=(chkfnf & 0xff)
local mg=eg:Filter(c74563024.allfilter1,nil,c) local mg=eg:Filter(c74563024.AllFusFilter,nil,c)
local exg=Duel.GetMatchingGroup(c74563024.exfilter1,tp,LOCATION_GRAVE,0,mg,c) local exg=Duel.GetMatchingGroup(c74563024.ExFusFilter,tp,LOCATION_GRAVE,0,mg,c)
mg:Merge(exg) mg:Merge(exg)
if gc then sg:AddCard(gc) end
local sg=Group.CreateGroup()
if gc then sg:AddCard(gc) end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_FMATERIAL) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_FMATERIAL)
local g=mg:FilterSelect(tp,c74563024.CheckRecursive1,2,#mg,sg,mg,sg,exg,tp,c,chkf) local sg=mg:SelectSubGroup(tp,c74563024.CheckGroupFilter,false,2,#mg,gc)
sg:Merge(g)
Duel.SetFusionMaterial(sg) Duel.SetFusionMaterial(sg)
end end
--
c74563024.OriginalSetMaterial=Card.SetMaterial c74563024.OriginalSetMaterial=Card.SetMaterial
function c74563024.SetMaterial(c,g) function c74563024.SetMaterial(c,g)
c74563024.OriginalSetMaterial(c,g) c74563024.OriginalSetMaterial(c,g)
......
...@@ -9,7 +9,7 @@ function c74563036.initial_effect(c) ...@@ -9,7 +9,7 @@ function c74563036.initial_effect(c)
e1:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_O) e1:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_O)
e1:SetCode(EVENT_SPSUMMON_SUCCESS) e1:SetCode(EVENT_SPSUMMON_SUCCESS)
e1:SetProperty(EFFECT_FLAG_DELAY) e1:SetProperty(EFFECT_FLAG_DELAY)
e1:SetCost(c74563036.discost) --e1:SetCost(c74563036.discost)
e1:SetCondition(c74563036.descon) e1:SetCondition(c74563036.descon)
e1:SetTarget(c74563036.distg) e1:SetTarget(c74563036.distg)
e1:SetOperation(c74563036.desop) e1:SetOperation(c74563036.desop)
......
...@@ -12,10 +12,10 @@ function c7770020.initial_effect(c) ...@@ -12,10 +12,10 @@ function c7770020.initial_effect(c)
local e2=Effect.CreateEffect(c) local e2=Effect.CreateEffect(c)
e2:SetCategory(CATEGORY_REMOVE) e2:SetCategory(CATEGORY_REMOVE)
e2:SetType(EFFECT_TYPE_IGNITION) e2:SetType(EFFECT_TYPE_QUICK_O)
e2:SetCode(EVENT_FREE_CHAIN)
e2:SetRange(LOCATION_GRAVE) e2:SetRange(LOCATION_GRAVE)
e2:SetProperty(EFFECT_FLAG_CARD_TARGET) e2:SetProperty(EFFECT_FLAG_CARD_TARGET)
e2:SetCondition(c7770020.condition2)
e2:SetCost(aux.bfgcost) e2:SetCost(aux.bfgcost)
e2:SetTarget(c7770020.target2) e2:SetTarget(c7770020.target2)
e2:SetOperation(c7770020.activate2) e2:SetOperation(c7770020.activate2)
...@@ -70,7 +70,7 @@ function c7770020.target1(e,tp,eg,ep,ev,re,r,rp,chk,chkc) ...@@ -70,7 +70,7 @@ function c7770020.target1(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
end end
function c7770020.target2(e,tp,eg,ep,ev,re,r,rp,chk,chkc) function c7770020.target2(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
if chkc then return chkc:IsLocation(LOCATION_GRAVE) end if chkc then return chkc:IsLocation(LOCATION_GRAVE) and chkc:IsControler(1-tp) end
if chk==0 then return Duel.IsExistingTarget(c7770020.filter2,tp,0,LOCATION_GRAVE,1,nil) end if chk==0 then return Duel.IsExistingTarget(c7770020.filter2,tp,0,LOCATION_GRAVE,1,nil) end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_REMOVE) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_REMOVE)
Duel.SelectTarget(tp,c7770020.filter2,tp,0,LOCATION_GRAVE,1,1,nil) Duel.SelectTarget(tp,c7770020.filter2,tp,0,LOCATION_GRAVE,1,1,nil)
...@@ -90,8 +90,8 @@ function c7770020.activate1(e,tp,eg,ep,ev,re,r,rp) ...@@ -90,8 +90,8 @@ function c7770020.activate1(e,tp,eg,ep,ev,re,r,rp)
end end
function c7770020.activate2(e,tp,eg,ep,ev,re,r,rp) function c7770020.activate2(e,tp,eg,ep,ev,re,r,rp)
local g=Duel.GetChainInfo(0,CHAININFO_TARGET_CARDS) local tc=Duel.GetFirstTarget()
Duel.Remove(g,POS_FACEUP,REASON_EFFECT) if tc then Duel.Remove(tc,POS_FACEUP,REASON_EFFECT) end
end end
function c7770020.activate3(e,tp,eg,ep,ev,re,r,rp) function c7770020.activate3(e,tp,eg,ep,ev,re,r,rp)
......
...@@ -36,7 +36,7 @@ function c86379688.ccfilter(c) ...@@ -36,7 +36,7 @@ function c86379688.ccfilter(c)
return not c:IsSetCard(0x810) and c:IsFaceup() return not c:IsSetCard(0x810) and c:IsFaceup()
end end
function c86379688.con1(e,tp,eg,ep,ev,re,r,rp) function c86379688.con1(e,tp,eg,ep,ev,re,r,rp)
return Duel.IsExistingMatchingCard(c86379688.cfilter,tp,LOCATION_MZONE,0,1,nil) and not Duel.IsExistingMatchingCard(c86379688.ccfilter,tp,LOCATION_MZONE,0,1,nil) return not Duel.IsExistingMatchingCard(c86379688.ccfilter,tp,LOCATION_MZONE,0,1,nil)
end end
function c86379688.tfilter1(c,e,tp) function c86379688.tfilter1(c,e,tp)
return c:IsSetCard(0x810) and c:IsCanBeSpecialSummoned(e,0,tp,false,false) and (c:IsLocation(LOCATION_HAND) or (c:IsLocation(LOCATION_PZONE) and c:IsFaceup())) return c:IsSetCard(0x810) and c:IsCanBeSpecialSummoned(e,0,tp,false,false) and (c:IsLocation(LOCATION_HAND) or (c:IsLocation(LOCATION_PZONE) and c:IsFaceup()))
......
...@@ -18,6 +18,7 @@ function c86379704.initial_effect(c) ...@@ -18,6 +18,7 @@ function c86379704.initial_effect(c)
e2:SetCode(EVENT_FREE_CHAIN) e2:SetCode(EVENT_FREE_CHAIN)
e2:SetCountLimit(1,86379704+EFFECT_COUNT_CODE_OATH) e2:SetCountLimit(1,86379704+EFFECT_COUNT_CODE_OATH)
e2:SetTarget(c86379704.target2) e2:SetTarget(c86379704.target2)
e2:SetOperation(function() end)
c:RegisterEffect(e2) c:RegisterEffect(e2)
--remove --remove
local e3=Effect.CreateEffect(c) local e3=Effect.CreateEffect(c)
......
...@@ -21,7 +21,7 @@ function c86379815.target(e,tp,eg,ep,ev,re,r,rp,chk) ...@@ -21,7 +21,7 @@ function c86379815.target(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return true end if chk==0 then return true end
end end
function c86379815.filter2(c) function c86379815.filter2(c)
return c:IsSetCard(0x811) and c:IsDiscardable() return c:IsSetCard(0x811) and c:IsDiscardable() and c:IsType(TYPE_MONSTER)
end end
function c86379815.activate(e,tp,eg,ep,ev,re,r,rp) function c86379815.activate(e,tp,eg,ep,ev,re,r,rp)
local e1=Effect.CreateEffect(e:GetHandler()) local e1=Effect.CreateEffect(e:GetHandler())
......
--羽衣若风✿永江衣玖 --羽衣若风✿永江衣玖
function c86379862.initial_effect(c) function c86379862.initial_effect(c)
--link summon --link summon
c86379862.AddLinkProcedure(c,nil,2,2,c86379862.lcheck) aux.AddLinkProcedure(c,nil,2,2,c86379862.lcheck)
c:EnableReviveLimit() c:EnableReviveLimit()
--destroy replace --destroy replace
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
......
--羽衣若水✿永江衣玖 --羽衣若水✿永江衣玖
function c86379864.initial_effect(c) function c86379864.initial_effect(c)
--link summon --link summon
c86379864.AddLinkProcedure(c,c86379864.matfilter,1) aux.AddLinkProcedure(c,c86379864.matfilter,1)
c:EnableReviveLimit()
--adk --adk
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_FIELD) e1:SetType(EFFECT_TYPE_FIELD)
...@@ -122,7 +123,7 @@ function c86379864.desreptg(e,c) ...@@ -122,7 +123,7 @@ function c86379864.desreptg(e,c)
local tc=e:GetHandler() local tc=e:GetHandler()
local seq=tc:GetSequence() local seq=tc:GetSequence()
local ec=tc:GetEquipTarget() local ec=tc:GetEquipTarget()
return c==ec or (c:GetSequence()==seq and c:IsControler(e:GetHandler())) or ec:GetLinkedGroup():IsContains(c) return c==ec or (c:GetSequence()==seq and c:IsControler(e:GetHandlerPlayer())) or ec:GetLinkedGroup():IsContains(c)
end end
--Link Summon --Link Summon
function c86379864.AddLinkProcedure(c,f,min,max,gf) function c86379864.AddLinkProcedure(c,f,min,max,gf)
......
...@@ -2,6 +2,7 @@ ...@@ -2,6 +2,7 @@
function c86379868.initial_effect(c) function c86379868.initial_effect(c)
--link summon --link summon
aux.AddLinkProcedure(c,nil,2,99,c86379868.lcheck) aux.AddLinkProcedure(c,nil,2,99,c86379868.lcheck)
c:EnableReviveLimit()
--eqiup --eqiup
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(86379868,0)) e1:SetDescription(aux.Stringid(86379868,0))
...@@ -119,7 +120,7 @@ function c86379868.checkop(e,tp,eg,ep,ev,re,r,rp) ...@@ -119,7 +120,7 @@ function c86379868.checkop(e,tp,eg,ep,ev,re,r,rp)
local ec=c:GetEquipTarget() local ec=c:GetEquipTarget()
local pc=eg:GetFirst() local pc=eg:GetFirst()
local qg=pc:GetEquipGroup() local qg=pc:GetEquipGroup()
if eg:GetCount()==1 and qg:GetCount()>0 and (pc==ec or pc:GetSequence()==seq or ec:GetLinkedGroup():IsContains(pc)) and Duel.IsExistingMatchingCard(Card.IsFaceup,tp,LOCATION_MZONE,LOCATION_MZONE,1,pc) and Duel.SelectYesNo(tp,aux.Stringid(86379868,0)) then if eg:GetCount()==1 and qg:GetCount()>0 and (pc==ec or (pc:GetSequence()==seq and pc:IsControler(tp)) or ec:GetLinkedGroup():IsContains(pc)) and Duel.IsExistingMatchingCard(Card.IsFaceup,tp,LOCATION_MZONE,LOCATION_MZONE,1,pc) and Duel.SelectYesNo(tp,aux.Stringid(86379868,0)) then
Duel.Hint(HINT_CARD,0,86379868) Duel.Hint(HINT_CARD,0,86379868)
local qc=Duel.SelectMatchingCard(tp,Card.IsFaceup,tp,LOCATION_MZONE,LOCATION_MZONE,1,1,pc) local qc=Duel.SelectMatchingCard(tp,Card.IsFaceup,tp,LOCATION_MZONE,LOCATION_MZONE,1,1,pc)
Duel.HintSelection(qc) Duel.HintSelection(qc)
......
...@@ -13,7 +13,7 @@ function c86379888.target(e,tp,eg,ep,ev,re,r,rp,chk,chkc) ...@@ -13,7 +13,7 @@ function c86379888.target(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
if chk==0 then return true end if chk==0 then return true end
local c=e:GetHandler() local c=e:GetHandler()
local ti=1 local ti=1
while ti<=10 do while ti<=20 do
c86379888[ti]=0 c86379888[ti]=0
ti=ti+1 ti=ti+1
end end
......
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