Commit 752bd551 authored by Tachibana's avatar Tachibana

1145141919810

parent f4d46e6e
Pipeline #14770 passed with stages
in 33 minutes and 22 seconds
...@@ -163,7 +163,7 @@ function cm.thcost(e,tp,eg,ep,ev,re,r,rp,chk) ...@@ -163,7 +163,7 @@ function cm.thcost(e,tp,eg,ep,ev,re,r,rp,chk)
local bg1=Duel.SelectMatchingCard(tp,cm.filter3,tp,LOCATION_REMOVED,0,1,1,nil) local bg1=Duel.SelectMatchingCard(tp,cm.filter3,tp,LOCATION_REMOVED,0,1,1,nil)
local bg2=Duel.SelectMatchingCard(tp,cm.filter32,tp,LOCATION_REMOVED,0,1,1,nil) local bg2=Duel.SelectMatchingCard(tp,cm.filter32,tp,LOCATION_REMOVED,0,1,1,nil)
bg1:Merge(bg2) bg1:Merge(bg2)
Duel.SendtoDeck(bg2,tp,SEQ_DECKSHUFFLE,REASON_COST) Duel.SendtoDeck(bg1,tp,SEQ_DECKSHUFFLE,REASON_COST)
end end
function cm.sptg(e,tp,eg,ep,ev,re,r,rp,chk) function cm.sptg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(cm.filter31,tp,LOCATION_DECK,0,1,nil) end if chk==0 then return Duel.IsExistingMatchingCard(cm.filter31,tp,LOCATION_DECK,0,1,nil) end
......
...@@ -51,7 +51,8 @@ function cm.initial_effect(c) ...@@ -51,7 +51,8 @@ function cm.initial_effect(c)
end end
--spfunctions --spfunctions
function cm.hspcon(e,c) function cm.hspcon(e,c)
return (Duel.GetMatchingGroupCount(Card.IsSetCard,tp,LOCATION_MZONE,0,nil,0x5852)>0 or Duel.GetMatchingGroup(nil,tp,LOCATION_MZONE,0,nil)==0) and Duel.GetLocationCount(tp,LOCATION_MZONE)>0 local tp=e:GetHandler():GetOwner()
return (Duel.GetMatchingGroupCount(Card.IsSetCard,tp,LOCATION_MZONE,0,nil,0x5852)>0 or Duel.GetFieldGroupCount(tp,LOCATION_MZONE,0)==0) and Duel.GetLocationCount(tp,LOCATION_MZONE)>0
end end
function cm.atkcon(e,tp,eg,ep,ev,re,r,rp) function cm.atkcon(e,tp,eg,ep,ev,re,r,rp)
local ph=Duel.GetCurrentPhase() local ph=Duel.GetCurrentPhase()
......
...@@ -46,11 +46,12 @@ function cm.initial_effect(c) ...@@ -46,11 +46,12 @@ function cm.initial_effect(c)
end end
--spfunctions --spfunctions
function cm.hspfilter(c) function cm.hspfilter(c)
return not c:IsSetCard(0x852) return not c:IsSetCard(0x852) and c:IsType(TYPE_MONSTER)
end end
function cm.hspcon(e,c) function cm.hspcon(e,c)
local tp=e:GetHandler():GetOwner()
local g1=Duel.GetMatchingGroup(cm.hspfilter,tp,LOCATION_MZONE,0,nil) local g1=Duel.GetMatchingGroup(cm.hspfilter,tp,LOCATION_MZONE,0,nil)
return (g1:GetCount()==0 or Duel.GetMatchingGroup(nil,tp,LOCATION_MZONE,0,nil)==0) and Duel.GetLocationCount(tp,LOCATION_MZONE)>0 return (g1:GetCount()==0 or Duel.GetFieldGroupCount(tp,LOCATION_MZONE,0)==0) and Duel.GetLocationCount(tp,LOCATION_MZONE)>0
end end
function cm.atkcon(e,tp,eg,ep,ev,re,r,rp) function cm.atkcon(e,tp,eg,ep,ev,re,r,rp)
local ph=Duel.GetCurrentPhase() local ph=Duel.GetCurrentPhase()
......
...@@ -48,11 +48,12 @@ function cm.initial_effect(c) ...@@ -48,11 +48,12 @@ function cm.initial_effect(c)
end end
--spfunctions --spfunctions
function cm.hspfilter(c) function cm.hspfilter(c)
return not c:IsSetCard(0x852) return not c:IsSetCard(0x852) and c:IsType(TYPE_MONSTER)
end end
function cm.hspcon(e,c) function cm.hspcon(e,c)
local tp=e:GetHandler():GetOwner()
local g1=Duel.GetMatchingGroup(cm.hspfilter,tp,LOCATION_MZONE,0,nil) local g1=Duel.GetMatchingGroup(cm.hspfilter,tp,LOCATION_MZONE,0,nil)
return (g1:GetCount()==0 or Duel.GetMatchingGroup(nil,tp,LOCATION_MZONE,0,nil)==0) and Duel.GetLocationCount(tp,LOCATION_MZONE)>0 return (g1:GetCount()==0 or Duel.GetFieldGroupCount(tp,LOCATION_MZONE,0)==0) and Duel.GetLocationCount(tp,LOCATION_MZONE)>0
end end
function cm.atkcon(e,tp,eg,ep,ev,re,r,rp) function cm.atkcon(e,tp,eg,ep,ev,re,r,rp)
local ph=Duel.GetCurrentPhase() local ph=Duel.GetCurrentPhase()
...@@ -72,7 +73,7 @@ function cm.cost1(e,tp,eg,ep,ev,re,r,rp,chk) ...@@ -72,7 +73,7 @@ function cm.cost1(e,tp,eg,ep,ev,re,r,rp,chk)
Duel.ShuffleHand(tp) Duel.ShuffleHand(tp)
end end
function cm.thfilter1(c,e) function cm.thfilter1(c,e)
return c:IsSetCard(0x6852) and c:IsType(TYPE_MONSTER) and c:IsCanBeSpecialSummoned(e,tp,tp,nil,nil) return c:IsSetCard(0x6852) and c:IsType(TYPE_MONSTER) and c:IsCanBeSpecialSummoned(e,0,tp,nil,nil)
end end
function cm.target1(e,tp,eg,ep,ev,re,r,rp,chk) function cm.target1(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(cm.costfilter1,tp,LOCATION_HAND,0,1,nil) end if chk==0 then return Duel.IsExistingMatchingCard(cm.costfilter1,tp,LOCATION_HAND,0,1,nil) end
......
...@@ -47,11 +47,12 @@ function cm.initial_effect(c) ...@@ -47,11 +47,12 @@ function cm.initial_effect(c)
end end
--spfunctions --spfunctions
function cm.hspfilter(c) function cm.hspfilter(c)
return not c:IsSetCard(0x852) return not c:IsSetCard(0x852) and c:IsType(TYPE_MONSTER)
end end
function cm.hspcon(e,c) function cm.hspcon(e,c)
local tp=e:GetHandler():GetOwner()
local g1=Duel.GetMatchingGroup(cm.hspfilter,tp,LOCATION_MZONE,0,nil) local g1=Duel.GetMatchingGroup(cm.hspfilter,tp,LOCATION_MZONE,0,nil)
return (g1:GetCount()==0 or Duel.GetMatchingGroup(nil,tp,LOCATION_MZONE,0,nil)==0) and Duel.GetLocationCount(tp,LOCATION_MZONE)>0 return (g1:GetCount()==0 or Duel.GetFieldGroupCount(tp,LOCATION_MZONE,0)==0) and Duel.GetLocationCount(tp,LOCATION_MZONE)>0
end end
function cm.atkcon(e,tp,eg,ep,ev,re,r,rp) function cm.atkcon(e,tp,eg,ep,ev,re,r,rp)
local ph=Duel.GetCurrentPhase() local ph=Duel.GetCurrentPhase()
......
...@@ -47,11 +47,12 @@ function cm.initial_effect(c) ...@@ -47,11 +47,12 @@ function cm.initial_effect(c)
end end
--spfunctions --spfunctions
function cm.hspfilter(c) function cm.hspfilter(c)
return not c:IsSetCard(0x852) return not c:IsSetCard(0x852) and c:IsType(TYPE_MONSTER)
end end
function cm.hspcon(e,c) function cm.hspcon(e,c)
local tp=e:GetHandler():GetOwner()
local g1=Duel.GetMatchingGroup(cm.hspfilter,tp,LOCATION_MZONE,0,nil) local g1=Duel.GetMatchingGroup(cm.hspfilter,tp,LOCATION_MZONE,0,nil)
return (g1:GetCount()==0 or Duel.GetMatchingGroup(nil,tp,LOCATION_MZONE,0,nil)==0) and Duel.GetLocationCount(tp,LOCATION_MZONE)>0 return (g1:GetCount()==0 or Duel.GetFieldGroupCount(tp,LOCATION_MZONE,0)==0) and Duel.GetLocationCount(tp,LOCATION_MZONE)>0
end end
function cm.atkcon(e,tp,eg,ep,ev,re,r,rp) function cm.atkcon(e,tp,eg,ep,ev,re,r,rp)
local ph=Duel.GetCurrentPhase() local ph=Duel.GetCurrentPhase()
......
...@@ -51,11 +51,12 @@ function cm.initial_effect(c) ...@@ -51,11 +51,12 @@ function cm.initial_effect(c)
end end
--spfunctions --spfunctions
function cm.hspfilter(c) function cm.hspfilter(c)
return not c:IsSetCard(0x852) return not c:IsSetCard(0x852) and c:IsType(TYPE_MONSTER)
end end
function cm.hspcon(e,c) function cm.hspcon(e,c)
local tp=e:GetHandler():GetOwner()
local g1=Duel.GetMatchingGroup(cm.hspfilter,tp,LOCATION_MZONE,0,nil) local g1=Duel.GetMatchingGroup(cm.hspfilter,tp,LOCATION_MZONE,0,nil)
return (g1:GetCount()==0 or Duel.GetMatchingGroup(nil,tp,LOCATION_MZONE,0,nil)==0) and Duel.GetLocationCount(tp,LOCATION_MZONE)>0 return (g1:GetCount()==0 or Duel.GetFieldGroupCount(tp,LOCATION_MZONE,0)==0) and Duel.GetLocationCount(tp,LOCATION_MZONE)>0
end end
function cm.atkcon(e,tp,eg,ep,ev,re,r,rp) function cm.atkcon(e,tp,eg,ep,ev,re,r,rp)
local ph=Duel.GetCurrentPhase() local ph=Duel.GetCurrentPhase()
......
...@@ -91,20 +91,26 @@ function cm.thop(e,tp,eg,ep,ev,re,r,rp) ...@@ -91,20 +91,26 @@ function cm.thop(e,tp,eg,ep,ev,re,r,rp)
end end
--functions e3 needs --functions e3 needs
function cm.xyzfilter(c,e,tp) function cm.xyzfilter(c,e,tp)
return c:IsSetCard(0x852) and c:IsSpecialSummonable(SUMMON_TYPE_XYZ) and c:IsCanBeSpecialSummoned(e,SUMMON_TYPE_XYZ,tp,false,false) and c:IsRankBelow(9) return c:IsSetCard(0x852) and c:IsCanBeSpecialSummoned(e,SUMMON_TYPE_XYZ,tp,false,false) and c:IsRankBelow(9)
end end
function cm.xyzfilter2(c) function cm.xyzfilter2(c)
return c:IsSetCard(0x852) and c:IsCanBeXyzMaterial(nil) and c:IsType(TYPE_MONSTER) and c:IsAttackAbove(2500) return c:IsSetCard(0x852) and c:IsCanBeXyzMaterial(nil) and c:IsType(TYPE_MONSTER) and c:IsAttackAbove(2500)
end end
function cm.xyztg(e,tp,eg,ep,ev,re,r,rp,chk) function cm.xyztg(e,tp,eg,ep,ev,re,r,rp,chk)
local mg=Duel.GetFieldGroup(tp,LOCATION_MZONE+LOCATION_GRAVE+LOCATION_REMOVED,0) local mg1=Duel.GetMatchingGroup(cm.xyzfilter2,tp,LOCATION_GRAVE,0,nil)
local mg2=mg:Filter(cm.xyzfilter2,nil) local mg2=Duel.GetMatchingGroup(cm.xyzfilter2,tp,LOCATION_MZONE,0,nil)
if chk==0 then return Duel.IsExistingMatchingCard(cm.xyzfilter,tp,LOCATION_EXTRA,0,1,nil,e,tp) and mg2:GetCount()>=0 end local mg3=Duel.GetMatchingGroup(cm.xyzfilter2,tp,LOCATION_REMOVED,0,nil)
mg1:Merge(mg2)
mg1:Merge(mg3)
if chk==0 then return Duel.IsExistingMatchingCard(cm.xyzfilter,tp,LOCATION_EXTRA,0,1,nil,e,tp) and mg1:GetCount()>=0 end
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 cm.xyzop(e,tp,eg,ep,ev,re,r,rp) function cm.xyzop(e,tp,eg,ep,ev,re,r,rp)
local mg=Duel.GetFieldGroup(tp,LOCATION_MZONE+LOCATION_GRAVE+LOCATION_REMOVED,0) local mg1=Duel.GetMatchingGroup(cm.xyzfilter2,tp,LOCATION_GRAVE,0,nil)
local mg2=mg:Filter(cm.xyzfilter2,nil) local mg2=Duel.GetMatchingGroup(cm.xyzfilter2,tp,LOCATION_MZONE,0,nil)
local mg3=Duel.GetMatchingGroup(cm.xyzfilter2,tp,LOCATION_REMOVED,0,nil)
mg1:Merge(mg2)
mg1:Merge(mg3)
local g=Duel.GetMatchingGroup(cm.xyzfilter,tp,LOCATION_EXTRA,0,nil,e) local g=Duel.GetMatchingGroup(cm.xyzfilter,tp,LOCATION_EXTRA,0,nil,e)
if g:GetCount()>0 then if g:GetCount()>0 then
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON)
......
...@@ -50,7 +50,7 @@ function cm.activate(e,tp,eg,ep,ev,re,r,rp) ...@@ -50,7 +50,7 @@ function cm.activate(e,tp,eg,ep,ev,re,r,rp)
if g1:GetCount()>0 then if g1:GetCount()>0 then
Duel.Hint(HINTMSG_SELECT,tp,HINTMSG_REMOVE) Duel.Hint(HINTMSG_SELECT,tp,HINTMSG_REMOVE)
local rg1=g1:Select(g1,1,1,nil) local rg1=g1:Select(g1,1,1,nil)
if Duel.Remove(g1,POS_FACEUP,REASON_EFFECT) then if Duel.Remove(rg1,POS_FACEUP,REASON_EFFECT) then
local e2=Effect.CreateEffect(e:GetHandler()) local e2=Effect.CreateEffect(e:GetHandler())
e2:SetType(EFFECT_TYPE_FIELD) e2:SetType(EFFECT_TYPE_FIELD)
e2:SetCode(EFFECT_CANNOT_SPECIAL_SUMMON) e2:SetCode(EFFECT_CANNOT_SPECIAL_SUMMON)
...@@ -65,7 +65,7 @@ function cm.activate(e,tp,eg,ep,ev,re,r,rp) ...@@ -65,7 +65,7 @@ function cm.activate(e,tp,eg,ep,ev,re,r,rp)
Duel.SpecialSummon(fg,SUMMON_TYPE_FUSION,tp,tp,false,false,POS_FACEUP) Duel.SpecialSummon(fg,SUMMON_TYPE_FUSION,tp,tp,false,false,POS_FACEUP)
end end
end end
end end
end end
function cm.splimit(e,c) function cm.splimit(e,c)
return not c:IsSetCard(0x852) return not c:IsSetCard(0x852)
......
...@@ -41,11 +41,12 @@ function cm.initial_effect(c) ...@@ -41,11 +41,12 @@ function cm.initial_effect(c)
end end
--spfunctions --spfunctions
function cm.hspfilter(c) function cm.hspfilter(c)
return not c:IsSetCard(0x852) return not c:IsSetCard(0x852) and c:IsType(TYPE_MONSTER)
end end
function cm.hspcon(e,c) function cm.hspcon(e,c)
local tp=e:GetHandler():GetOwner()
local g1=Duel.GetMatchingGroup(cm.hspfilter,tp,LOCATION_MZONE,0,nil) local g1=Duel.GetMatchingGroup(cm.hspfilter,tp,LOCATION_MZONE,0,nil)
return (g1:GetCount()==0 or Duel.GetMatchingGroup(nil,tp,LOCATION_MZONE,0,nil)==0) and Duel.GetLocationCount(tp,LOCATION_MZONE)>0 return (g1:GetCount()==0 or Duel.GetFieldGroupCount(tp,LOCATION_MZONE,0)==0) and Duel.GetLocationCount(tp,LOCATION_MZONE)>0
end end
function cm.atkcon(e,tp,eg,ep,ev,re,r,rp) function cm.atkcon(e,tp,eg,ep,ev,re,r,rp)
local ph=Duel.GetCurrentPhase() local ph=Duel.GetCurrentPhase()
......
...@@ -45,9 +45,10 @@ function cm.initial_effect(c) ...@@ -45,9 +45,10 @@ function cm.initial_effect(c)
end end
--spfunctions --spfunctions
function cm.hspfilter(c) function cm.hspfilter(c)
return not c:IsSetCard(0x852) return not c:IsSetCard(0x852) and c:IsType(TYPE_MONSTER)
end end
function cm.hspcon(e,c) function cm.hspcon(e,c)
local tp=e:GetHandler():GetOwner()
local g1=Duel.GetMatchingGroup(cm.hspfilter,tp,LOCATION_MZONE,0,nil) local g1=Duel.GetMatchingGroup(cm.hspfilter,tp,LOCATION_MZONE,0,nil)
return g1:GetCount()==0 and Duel.GetLocationCount(tp,LOCATION_MZONE)>0 return g1:GetCount()==0 and Duel.GetLocationCount(tp,LOCATION_MZONE)>0
end end
......
...@@ -21,7 +21,7 @@ function cm.initial_effect(c) ...@@ -21,7 +21,7 @@ function cm.initial_effect(c)
e22:SetRange(LOCATION_MZONE) e22:SetRange(LOCATION_MZONE)
e22:SetCondition(cm.atkcon) e22:SetCondition(cm.atkcon)
e22:SetValue(0) e22:SetValue(0)
c:RegisterEffect(e22) c:RegisterEffect(e22)
local e2=Effect.CreateEffect(c) local e2=Effect.CreateEffect(c)
e2:SetDescription(aux.Stringid(m,2)) e2:SetDescription(aux.Stringid(m,2))
e2:SetCategory(CATEGORY_SPECIAL_SUMMON) e2:SetCategory(CATEGORY_SPECIAL_SUMMON)
...@@ -47,9 +47,10 @@ function cm.initial_effect(c) ...@@ -47,9 +47,10 @@ function cm.initial_effect(c)
end end
--spfunctions --spfunctions
function cm.hspfilter(c) function cm.hspfilter(c)
return not c:IsSetCard(0x852) return not c:IsSetCard(0x852) and c:IsType(TYPE_MONSTER)
end end
function cm.hspcon(e,c) function cm.hspcon(e,c)
local tp=e:GetHandler():GetOwner()
local g1=Duel.GetMatchingGroup(cm.hspfilter,tp,LOCATION_MZONE,0,nil) local g1=Duel.GetMatchingGroup(cm.hspfilter,tp,LOCATION_MZONE,0,nil)
return g1:GetCount()==0 and Duel.GetLocationCount(tp,LOCATION_MZONE)>0 return g1:GetCount()==0 and Duel.GetLocationCount(tp,LOCATION_MZONE)>0
end end
......
...@@ -42,7 +42,7 @@ function cm.initial_effect(c) ...@@ -42,7 +42,7 @@ function cm.initial_effect(c)
end end
--XyzSummon --XyzSummon
function cm.mfilter(c,xyzc) function cm.mfilter(c,xyzc)
return (c:IsXyzLevel(xyzc,8) and c:IsRace(RACE_SPELLCASTER)) or (c:IsSetCard(0x852) and c:GetBaseAttack()>2500) return (c:IsXyzLevel(xyzc,8) and c:IsRace(RACE_SPELLCASTER)) or (c:IsSetCard(0x852) and c:GetBaseAttack()>=2500)
end end
--negate --negate
function cm.discon(e) function cm.discon(e)
......
...@@ -42,7 +42,7 @@ function cm.initial_effect(c) ...@@ -42,7 +42,7 @@ function cm.initial_effect(c)
end end
--XyzSummon --XyzSummon
function cm.mfilter(c,xyzc) function cm.mfilter(c,xyzc)
return (c:IsXyzLevel(xyzc,7) and c:IsRace(RACE_ZOMBIE)) or (c:IsSetCard(0x852) and c:GetBaseAttack()>2500) return (c:IsXyzLevel(xyzc,7) and c:IsRace(RACE_ZOMBIE)) or (c:IsSetCard(0x852) and c:GetBaseAttack()>=2500)
end end
--ImmuneToEffect --ImmuneToEffect
function cm.immval(e,te) function cm.immval(e,te)
......
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