Commit a326cee7 authored by Huangnan's avatar Huangnan

fix

parent f5cc5c07
No preview for this file type
expansions/pics/12823300.jpg

34.1 KB | W: | H:

expansions/pics/12823300.jpg

67.4 KB | W: | H:

expansions/pics/12823300.jpg
expansions/pics/12823300.jpg
expansions/pics/12823300.jpg
expansions/pics/12823300.jpg
  • 2-up
  • Swipe
  • Onion skin
...@@ -118,7 +118,7 @@ function c11600565.spop(e,tp,eg,ep,ev,re,r,rp) ...@@ -118,7 +118,7 @@ function c11600565.spop(e,tp,eg,ep,ev,re,r,rp)
e3:SetProperty(EFFECT_FLAG_CANNOT_DISABLE+EFFECT_FLAG_UNCOPYABLE) e3:SetProperty(EFFECT_FLAG_CANNOT_DISABLE+EFFECT_FLAG_UNCOPYABLE)
e3:SetCountLimit(1) e3:SetCountLimit(1)
e3:SetRange(LOCATION_MZONE) e3:SetRange(LOCATION_MZONE)
e3:SetReset(RESET_EVENT+RESETS_STANDARD+RESET_PHASE+PHASE_END) e3:SetReset(RESET_EVENT+RESETS_STANDARD)
e3:SetLabelObject(e1) e3:SetLabelObject(e1)
e3:SetLabel(cid) e3:SetLabel(cid)
e3:SetOperation(c11600565.rstop) e3:SetOperation(c11600565.rstop)
......
...@@ -53,7 +53,9 @@ end ...@@ -53,7 +53,9 @@ end
function cm.checkop(e,tp,eg,ep,ev,re,r,rp) function cm.checkop(e,tp,eg,ep,ev,re,r,rp)
local tc=eg:GetFirst() local tc=eg:GetFirst()
while tc do while tc do
if tc:GetSummonPlayer()==tp then
Duel.RegisterFlagEffect(tc:GetSummonPlayer(),m,0,0,1) Duel.RegisterFlagEffect(tc:GetSummonPlayer(),m,0,0,1)
end
if tc:GetSummonLocation()==LOCATION_EXTRA then if tc:GetSummonLocation()==LOCATION_EXTRA then
Duel.RegisterFlagEffect(tc:GetSummonPlayer(),m+10000,0,0,1) Duel.RegisterFlagEffect(tc:GetSummonPlayer(),m+10000,0,0,1)
end end
......
...@@ -171,10 +171,8 @@ function s.spop(e,tp,eg,ep,ev,re,r,rp) ...@@ -171,10 +171,8 @@ function s.spop(e,tp,eg,ep,ev,re,r,rp)
e2:SetCategory(CATEGORY_DRAW) e2:SetCategory(CATEGORY_DRAW)
e2:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_CONTINUOUS) e2:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_CONTINUOUS)
e2:SetCode(EVENT_LEAVE_FIELD) e2:SetCode(EVENT_LEAVE_FIELD)
e2:SetTarget(s.drtg)
e2:SetOperation(s.drop) e2:SetOperation(s.drop)
e2:SetReset(RESET_EVENT+RESETS_STANDARD) token:RegisterEffect(e2,true)
token:RegisterEffect(e2)
Duel.SpecialSummonComplete() Duel.SpecialSummonComplete()
if Duel.IsExistingMatchingCard(Card.IsReleasableByEffect,tp,0,LOCATION_MZONE,1,nil) then if Duel.IsExistingMatchingCard(Card.IsReleasableByEffect,tp,0,LOCATION_MZONE,1,nil) then
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_RELEASE) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_RELEASE)
...@@ -193,24 +191,16 @@ function s.spop(e,tp,eg,ep,ev,re,r,rp) ...@@ -193,24 +191,16 @@ function s.spop(e,tp,eg,ep,ev,re,r,rp)
e2:SetCategory(CATEGORY_DRAW) e2:SetCategory(CATEGORY_DRAW)
e2:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_CONTINUOUS) e2:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_CONTINUOUS)
e2:SetCode(EVENT_LEAVE_FIELD) e2:SetCode(EVENT_LEAVE_FIELD)
e2:SetTarget(s.drtg)
e2:SetOperation(s.drop) e2:SetOperation(s.drop)
e2:SetReset(RESET_EVENT+RESETS_STANDARD) token:RegisterEffect(e2,true)
token:RegisterEffect(e2)
Duel.SpecialSummonComplete() Duel.SpecialSummonComplete()
end end
end end
end end
end end
function s.drtg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return true end
Duel.SetTargetPlayer(tp)
Duel.SetTargetParam(1)
Duel.SetOperationInfo(0,CATEGORY_DRAW,nil,0,tp,1)
end
function s.drop(e,tp,eg,ep,ev,re,r,rp) function s.drop(e,tp,eg,ep,ev,re,r,rp)
local p,d=Duel.GetChainInfo(0,CHAININFO_TARGET_PLAYER,CHAININFO_TARGET_PARAM) local c=e:GetHandler()
Duel.Draw(p,d,REASON_EFFECT) Duel.Draw(c:GetPreviousControler(),1,REASON_EFFECT)
end end
......
...@@ -58,7 +58,7 @@ function s.stcon(e,tp,eg,ep,ev,re,r,rp) ...@@ -58,7 +58,7 @@ function s.stcon(e,tp,eg,ep,ev,re,r,rp)
return re:GetHandler()~=e:GetHandler() return re:GetHandler()~=e:GetHandler()
end end
function s.thfilter(c) function s.thfilter(c)
return c:IsSetCard(0x32a1,0x52a1) and c:IsType(TYPE_MONSTER) and c:IsAbleToHand() return c:IsSetCard(0x32a1) and c:IsType(TYPE_MONSTER) and c:IsAbleToHand()
end end
function s.sttg(e,tp,eg,ep,ev,re,r,rp,chk) function s.sttg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(s.thfilter,tp,LOCATION_DECK,0,1,nil) end if chk==0 then return Duel.IsExistingMatchingCard(s.thfilter,tp,LOCATION_DECK,0,1,nil) end
......
...@@ -97,11 +97,11 @@ function s.ctop(e,tp,eg,ep,ev,re,r,rp) ...@@ -97,11 +97,11 @@ function s.ctop(e,tp,eg,ep,ev,re,r,rp)
end end
-- --
function s.confil(c) function s.confil(c)
return c:GetSummonLocation()==LOCATION_EXTRA and c:IsRace(RACE_MACHINE) return c:GetSummonLocation()==LOCATION_EXTRA and c:IsRace(RACE_MACHINE)
end end
function s.counter(e,tp,eg,ep,ev,re,r,rp) function s.counter(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler() local c=e:GetHandler()
local ct=eg:Filter(s.confil,nil):GetCount() local ct=eg:Filter(s.confil,c):GetCount()
e:GetHandler():AddCounter(0x2a1,ct) e:GetHandler():AddCounter(0x2a1,ct)
end end
...@@ -118,10 +118,11 @@ function s.destg(e,tp,eg,ep,ev,re,r,rp,chk) ...@@ -118,10 +118,11 @@ function s.destg(e,tp,eg,ep,ev,re,r,rp,chk)
Duel.RegisterFlagEffect(tp,id+10000,RESET_PHASE+PHASE_END,0,1) Duel.RegisterFlagEffect(tp,id+10000,RESET_PHASE+PHASE_END,0,1)
end end
function s.desop(e,tp,eg,ep,ev,re,r,rp) function s.desop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_DESTROY) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_DESTROY)
local g=Duel.SelectMatchingCard(tp,nil,tp,LOCATION_ONFIELD,LOCATION_ONFIELD,1,2,nil) local g=Duel.SelectMatchingCard(tp,nil,tp,LOCATION_ONFIELD,LOCATION_ONFIELD,1,2,nil)
if g:GetCount()>0 then if g:GetCount()>0 then
Duel.Destroy(g,REASON_EFFECT)
if Duel.GetFlagEffect(tp,id+10000)<2 then if Duel.GetFlagEffect(tp,id+10000)<2 then
local dg=Duel.GetOperatedGroup() local dg=Duel.GetOperatedGroup()
local tc=dg:GetFirst() local tc=dg:GetFirst()
...@@ -151,6 +152,7 @@ function s.desop(e,tp,eg,ep,ev,re,r,rp) ...@@ -151,6 +152,7 @@ function s.desop(e,tp,eg,ep,ev,re,r,rp)
tc=dg:GetNext() tc=dg:GetNext()
end end
end end
Duel.Destroy(g,REASON_EFFECT)
end end
end end
......
...@@ -227,7 +227,7 @@ function cm.anop(e,tp,eg,ep,ev,re,r,rp) ...@@ -227,7 +227,7 @@ function cm.anop(e,tp,eg,ep,ev,re,r,rp)
e0:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS) e0:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
e0:SetRange(LOCATION_MZONE) e0:SetRange(LOCATION_MZONE)
e0:SetCode(EVENT_TO_HAND) e0:SetCode(EVENT_TO_HAND)
e0:SetProperty(EFFECT_FLAG_DELAY+EFFECT_FLAG_CANNOT_DISABLE+EFFECT_FLAG_CANNOT_NEGATE) e0:SetProperty(EFFECT_FLAG_DELAY+EFFECT_FLAG_CANNOT_DISABLE)
e0:SetOperation(cm.flagop) e0:SetOperation(cm.flagop)
e0:SetLabel(ac) e0:SetLabel(ac)
e0:SetReset(RESET_EVENT+RESETS_STANDARD) e0:SetReset(RESET_EVENT+RESETS_STANDARD)
...@@ -236,7 +236,7 @@ function cm.anop(e,tp,eg,ep,ev,re,r,rp) ...@@ -236,7 +236,7 @@ function cm.anop(e,tp,eg,ep,ev,re,r,rp)
e1:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS) e1:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
e1:SetRange(LOCATION_MZONE) e1:SetRange(LOCATION_MZONE)
e1:SetCode(EVENT_MOVE) e1:SetCode(EVENT_MOVE)
e1:SetProperty(EFFECT_FLAG_DELAY+EFFECT_FLAG_CANNOT_DISABLE+EFFECT_FLAG_CANNOT_NEGATE) e1:SetProperty(EFFECT_FLAG_DELAY+EFFECT_FLAG_CANNOT_DISABLE)
e1:SetOperation(cm.flagop1) e1:SetOperation(cm.flagop1)
e1:SetLabel(ac) e1:SetLabel(ac)
e1:SetReset(RESET_EVENT+RESETS_STANDARD) e1:SetReset(RESET_EVENT+RESETS_STANDARD)
......
...@@ -134,7 +134,7 @@ function cm.op3(e,tp,eg,ep,ev,re,r,rp) ...@@ -134,7 +134,7 @@ function cm.op3(e,tp,eg,ep,ev,re,r,rp)
end end
--Effect 3 --Effect 3
function cm.cfilter(c) function cm.cfilter(c)
return c:IsSetCard(0xccb) and not c:IsForbidden() return c:IsSetCard(0xccb) and ((not c:IsPublic() and c:IsLocation(LOCATION_HAND)) or c:IsLocation(LOCATION_EXTRA))
end end
function cm.namecost(e,tp,eg,ep,ev,re,r,rp,chk) function cm.namecost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(cm.cfilter,tp,LOCATION_HAND+LOCATION_EXTRA,0,1,nil) and Duel.IsExistingMatchingCard(Card.IsDiscardable,tp,LOCATION_HAND,0,1,e:GetHandler()) end if chk==0 then return Duel.IsExistingMatchingCard(cm.cfilter,tp,LOCATION_HAND+LOCATION_EXTRA,0,1,nil) and Duel.IsExistingMatchingCard(Card.IsDiscardable,tp,LOCATION_HAND,0,1,e:GetHandler()) end
......
...@@ -164,19 +164,18 @@ function cm.namecon2(e,tp,eg,ep,ev,re,r,rp) ...@@ -164,19 +164,18 @@ function cm.namecon2(e,tp,eg,ep,ev,re,r,rp)
return Duel.IsPlayerAffectedByEffect(tp,m) and e:GetHandler():IsSummonType(SUMMON_TYPE_ADVANCE) return Duel.IsPlayerAffectedByEffect(tp,m) and e:GetHandler():IsSummonType(SUMMON_TYPE_ADVANCE)
end end
function cm.spfilter(c,e,tp,lv) function cm.spfilter(c,e,tp,lv)
local lv=e:GetHandler():GetLevel()
return c:IsLevelBelow(lv) and c:IsSetCard(0xccb) return c:IsLevelBelow(lv) and c:IsSetCard(0xccb)
and c:IsCanBeSpecialSummoned(e,0,tp,false,false) and c:IsCanBeSpecialSummoned(e,0,tp,false,false)
and (c:IsLocation(LOCATION_DECK) and Duel.GetMZoneCount(tp)>0 and ((c:IsLocation(LOCATION_DECK) and Duel.GetMZoneCount(tp)>0)
or (c:IsLocation(LOCATION_EXTRA) and Duel.GetLocationCountFromEx(tp,tp,nil,c)>0) and c:IsFaceup()) or (c:IsLocation(LOCATION_EXTRA) and Duel.GetLocationCountFromEx(tp,tp,nil,c)>0 and c:IsFaceup()))
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.spfilter,tp,LOCATION_DECK+LOCATION_EXTRA,0,1,nil,e,tp) end if chk==0 then return Duel.IsExistingMatchingCard(cm.spfilter,tp,LOCATION_DECK+LOCATION_EXTRA,0,1,nil,e,tp,e:GetHandler():GetLevel()) end
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,1,tp,LOCATION_DECK+LOCATION_EXTRA) Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,1,tp,LOCATION_DECK+LOCATION_EXTRA)
end end
function cm.spop(e,tp,eg,ep,ev,re,r,rp) function cm.spop(e,tp,eg,ep,ev,re,r,rp)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON)
local g=Duel.SelectMatchingCard(tp,cm.spfilter,tp,LOCATION_DECK+LOCATION_EXTRA,0,1,1,nil,e,tp) local g=Duel.SelectMatchingCard(tp,cm.spfilter,tp,LOCATION_DECK+LOCATION_EXTRA,0,1,1,nil,e,tp,e:GetHandler():GetLevel())
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
......
...@@ -108,15 +108,15 @@ end ...@@ -108,15 +108,15 @@ end
function cm.check_col(c,tp,col) function cm.check_col(c,tp,col)
return math.abs(aux.GetColumn(c,tp)-col)==1 return math.abs(aux.GetColumn(c,tp)-col)==1
end end
function cm.seqcheck(c,tp) function cm.seqcheck2(c,tp)
if c:IsLocation(LOCATION_FZONE) then return false end if c:IsLocation(LOCATION_FZONE) then return false end
local col_1=aux.GetColumn(c,tp) local col_1=aux.GetColumn(c,tp)
if col_1==0 then if col_1==0 then
return Duel.IsExistingMatchingCard(cm.check_col_0,tp,LOCATION_ONFIELD,0,1,nil,tp) return Duel.IsExistingMatchingCard(cm.check_col_0,tp,0,LOCATION_ONFIELD,1,nil,tp)
elseif col_1==4 then elseif col_1==4 then
return Duel.IsExistingMatchingCard(cm.check_col_4,tp,LOCATION_ONFIELD,0,1,nil,tp) return Duel.IsExistingMatchingCard(cm.check_col_4,tp,0,LOCATION_ONFIELD,1,nil,tp)
else else
return Duel.IsExistingMatchingCard(cm.check_col,tp,LOCATION_ONFIELD,0,1,nil,tp,col_1) return Duel.IsExistingMatchingCard(cm.check_col,tp,0,LOCATION_ONFIELD,1,nil,tp,col_1)
end end
end end
function cm.ptarget(e,tp,eg,ep,ev,re,r,rp,chk) function cm.ptarget(e,tp,eg,ep,ev,re,r,rp,chk)
...@@ -149,8 +149,8 @@ function cm.poperation(e,tp,eg,ep,ev,re,r,rp) ...@@ -149,8 +149,8 @@ function cm.poperation(e,tp,eg,ep,ev,re,r,rp)
if opdo==1 and Duel.GetLocationCount(tp,LOCATION_MZONE)>0 then if opdo==1 and Duel.GetLocationCount(tp,LOCATION_MZONE)>0 then
Duel.SpecialSummon(c,0,tp,tp,false,false,POS_FACEUP) Duel.SpecialSummon(c,0,tp,tp,false,false,POS_FACEUP)
else else
while Duel.IsExistingMatchingCard(cm.seqcheck,tp,0,LOCATION_ONFIELD,1,nil,1-tp) do while Duel.IsExistingMatchingCard(cm.seqcheck2,tp,0,LOCATION_ONFIELD,1,nil,tp) do
local g=Duel.GetMatchingGroup(cm.seqcheck,tp,0,LOCATION_ONFIELD,nil,1-tp) local g=Duel.GetMatchingGroup(cm.seqcheck2,tp,0,LOCATION_ONFIELD,nil,tp)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TOGRAVE) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TOGRAVE)
local sg=g:Select(tp,1,1,nil) local sg=g:Select(tp,1,1,nil)
Duel.SendtoGrave(sg,REASON_RULE) Duel.SendtoGrave(sg,REASON_RULE)
...@@ -220,11 +220,11 @@ function cm.tgoperation(e,tp,eg,ep,ev,re,r,rp) ...@@ -220,11 +220,11 @@ function cm.tgoperation(e,tp,eg,ep,ev,re,r,rp)
local col_1=aux.GetColumn(sc,tp) local col_1=aux.GetColumn(sc,tp)
local rg=Group.CreateGroup() local rg=Group.CreateGroup()
if col_1==0 then if col_1==0 then
rg=Duel.GetMatchingGroup(cm.check_col_0_1,1-tp,LOCATION_ONFIELD,0,nil,1-tp) rg=Duel.GetMatchingGroup(cm.check_col_0_1,tp,0,LOCATION_ONFIELD,nil,tp)
elseif col_1==4 then elseif col_1==4 then
rg=Duel.GetMatchingGroup(cm.check_col_4_1,1-tp,LOCATION_ONFIELD,0,nil,1-tp) rg=Duel.GetMatchingGroup(cm.check_col_4_1,tp,0,LOCATION_ONFIELD,nil,tp)
else else
rg=Duel.GetMatchingGroup(cm.check_col_1,1-tp,LOCATION_ONFIELD,0,nil,1-tp,col_1) rg=Duel.GetMatchingGroup(cm.check_col_1,tp,0,LOCATION_ONFIELD,nil,tp,col_1)
end end
Duel.SendtoGrave(rg,REASON_EFFECT) Duel.SendtoGrave(rg,REASON_EFFECT)
end end
......
...@@ -66,7 +66,7 @@ function cm.xyztarget(c,tp) ...@@ -66,7 +66,7 @@ function cm.xyztarget(c,tp)
end end
function cm.ptarget(e,tp,eg,ep,ev,re,r,rp,chk) function cm.ptarget(e,tp,eg,ep,ev,re,r,rp,chk)
local c=e:GetHandler() local c=e:GetHandler()
if chk==0 then return c:IsCanBeSpecialSummoned(e,SUMMON_TYPE_XYZ,tp,false,false) and Duel.IsExistingTarget(cm.xyztarget,tp,LOCATION_ONFIELD,LOCATION_ONFIELD,1,c,tp) end if chk==0 then return c:IsCanBeSpecialSummoned(e,SUMMON_TYPE_XYZ,tp,false,true) and Duel.IsExistingTarget(cm.xyztarget,tp,LOCATION_ONFIELD,LOCATION_ONFIELD,1,c,tp) end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_XMATERIAL) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_XMATERIAL)
local g=Duel.SelectTarget(tp,cm.xyztarget,tp,LOCATION_ONFIELD,LOCATION_ONFIELD,1,1,c,tp) local g=Duel.SelectTarget(tp,cm.xyztarget,tp,LOCATION_ONFIELD,LOCATION_ONFIELD,1,1,c,tp)
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,c,1,tp,LOCATION_PZONE) Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,c,1,tp,LOCATION_PZONE)
...@@ -74,14 +74,14 @@ end ...@@ -74,14 +74,14 @@ end
function cm.poperation(e,tp,eg,ep,ev,re,r,rp) function cm.poperation(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 c:IsRelateToEffect(e) and tc:IsRelateToEffect(e) and tc:IsCanOverlay() and c:IsCanBeSpecialSummoned(e,SUMMON_TYPE_XYZ,tp,false,false) then if c:IsRelateToEffect(e) and tc:IsRelateToEffect(e) and tc:IsCanOverlay() and c:IsCanBeSpecialSummoned(e,SUMMON_TYPE_XYZ,tp,false,true) then
local g=Group.FromCards(tc) local g=Group.FromCards(tc)
local mg=tc:GetOverlayGroup() local mg=tc:GetOverlayGroup()
if mg:GetCount()~=0 then if mg:GetCount()~=0 then
Duel.Overlay(c,mg) Duel.Overlay(c,mg)
end end
Duel.Overlay(c,g) Duel.Overlay(c,g)
Duel.SpecialSummon(c,SUMMON_TYPE_XYZ,tp,tp,false,false,POS_FACEUP) Duel.SpecialSummon(c,SUMMON_TYPE_XYZ,tp,tp,false,true,POS_FACEUP)
c:CompleteProcedure() c:CompleteProcedure()
end end
end end
......
...@@ -8,7 +8,7 @@ function cm.initial_effect(c) ...@@ -8,7 +8,7 @@ function cm.initial_effect(c)
--splimit --splimit
local e0=Effect.CreateEffect(c) local e0=Effect.CreateEffect(c)
e0:SetType(EFFECT_TYPE_SINGLE) e0:SetType(EFFECT_TYPE_SINGLE)
e0:SetProperty(EFFECT_FLAG_CANNOT_DISABLE+EFFECT_FLAG_UNCOPYABLE) e0:SetProperty(EFFECT_FLAG_CANNOT_DISABLE+EFFECT_FLAG_UNCOPYABLE+EFFECT_FLAG_SINGLE_RANGE)
e0:SetCode(EFFECT_SPSUMMON_CONDITION) e0:SetCode(EFFECT_SPSUMMON_CONDITION)
e0:SetValue(cm.splimit) e0:SetValue(cm.splimit)
c:RegisterEffect(e0) c:RegisterEffect(e0)
......
...@@ -8,7 +8,7 @@ function cm.initial_effect(c) ...@@ -8,7 +8,7 @@ function cm.initial_effect(c)
--splimit --splimit
local e0=Effect.CreateEffect(c) local e0=Effect.CreateEffect(c)
e0:SetType(EFFECT_TYPE_SINGLE) e0:SetType(EFFECT_TYPE_SINGLE)
e0:SetProperty(EFFECT_FLAG_CANNOT_DISABLE+EFFECT_FLAG_UNCOPYABLE) e0:SetProperty(EFFECT_FLAG_CANNOT_DISABLE+EFFECT_FLAG_UNCOPYABLE+EFFECT_FLAG_SINGLE_RANGE)
e0:SetCode(EFFECT_SPSUMMON_CONDITION) e0:SetCode(EFFECT_SPSUMMON_CONDITION)
e0:SetValue(cm.splimit) e0:SetValue(cm.splimit)
c:RegisterEffect(e0) c:RegisterEffect(e0)
......
...@@ -195,7 +195,7 @@ function cm.operation1(e,tp,eg,ep,ev,re,r,rp) ...@@ -195,7 +195,7 @@ function cm.operation1(e,tp,eg,ep,ev,re,r,rp)
e2:SetCode(EVENT_SPSUMMON_SUCCESS) e2:SetCode(EVENT_SPSUMMON_SUCCESS)
tc:RegisterEffect(e2,true) tc:RegisterEffect(e2,true)
elseif op==1 then elseif op==1 then
Duel.NegateSummon(tc) Duel.NegateSummon(tc)
if not Duel.Equip(tp,tc,c,false,true) then return end if not Duel.Equip(tp,tc,c,false,true) then return end
--equip limit --equip limit
local e1=Effect.CreateEffect(tc) local e1=Effect.CreateEffect(tc)
...@@ -229,7 +229,7 @@ function cm.eqfilter(c,tp) ...@@ -229,7 +229,7 @@ function cm.eqfilter(c,tp)
end end
function cm.actop(e,tp) function cm.actop(e,tp)
local c=e:GetHandler() local c=e:GetHandler()
if Duel.IsExistingMatchingCard(cm.eqfilter,tp,LOCATION_DECK,0,1,nil,tp) and Duel.GetLocationCount(tp,LOCATION_SZONE,0)>0 then if Duel.IsExistingMatchingCard(cm.eqfilter,tp,LOCATION_GRAVE+LOCATION_HAND,0,1,nil,tp) and Duel.GetLocationCount(tp,LOCATION_SZONE,0)>0 then
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_EQUIP) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_EQUIP)
local g=Duel.SelectMatchingCard(tp,aux.NecroValleyFilter(cm.eqfilter),tp,LOCATION_GRAVE+LOCATION_HAND,0,1,1,nil,tp) local g=Duel.SelectMatchingCard(tp,aux.NecroValleyFilter(cm.eqfilter),tp,LOCATION_GRAVE+LOCATION_HAND,0,1,1,nil,tp)
if g:GetCount()>0 then if g:GetCount()>0 then
...@@ -306,4 +306,4 @@ function cm.actop(e,tp) ...@@ -306,4 +306,4 @@ function cm.actop(e,tp)
end end
function cm.eqlimit(e,c) function cm.eqlimit(e,c)
return c==e:GetLabelObject() return c==e:GetLabelObject()
end end
\ No newline at end of file
...@@ -101,7 +101,7 @@ function cm.tkop(e,tp,eg,ep,ev,re,r,rp) ...@@ -101,7 +101,7 @@ function cm.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
function cm.condition(e,tp,eg,ep,ev,re,r,rp) function cm.condition(e,tp,eg,ep,ev,re,r,rp)
return e:GetHandler():GetFlagEffect(m+1)==0 return e:GetHandler():GetFlagEffect(m+1)==0 and rp~=tp
end end
function cm.operation(e,tp,eg,ep,ev,re,r,rp) function cm.operation(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler() local c=e:GetHandler()
...@@ -155,4 +155,4 @@ end ...@@ -155,4 +155,4 @@ end
function cm.effectfilter(e,ct) function cm.effectfilter(e,ct)
local te,tp,loc=Duel.GetChainInfo(ct,CHAININFO_TRIGGERING_EFFECT,CHAININFO_TRIGGERING_PLAYER,CHAININFO_TRIGGERING_LOCATION) local te,tp,loc=Duel.GetChainInfo(ct,CHAININFO_TRIGGERING_EFFECT,CHAININFO_TRIGGERING_PLAYER,CHAININFO_TRIGGERING_LOCATION)
return te:GetHandler()==e:GetHandler():GetEquipTarget() return te:GetHandler()==e:GetHandler():GetEquipTarget()
end end
\ No newline at end of file
...@@ -53,7 +53,7 @@ function cm.activate(e,tp,eg,ep,ev,re,r,rp) ...@@ -53,7 +53,7 @@ function cm.activate(e,tp,eg,ep,ev,re,r,rp)
local sg=Duel.SelectMatchingCard(tp,Card.IsAbleToDeck,tp,LOCATION_HAND,0,1,1,nil) local sg=Duel.SelectMatchingCard(tp,Card.IsAbleToDeck,tp,LOCATION_HAND,0,1,1,nil)
if sg:GetCount()>0 then if sg:GetCount()>0 then
Duel.BreakEffect() Duel.BreakEffect()
Duel.SendtoDeck(sg,nil,SEQ_DECKTOP,REASON_EFFECT) Duel.SendtoDeck(sg,nil,2,REASON_EFFECT)
end end
end end
end end
......
...@@ -136,7 +136,7 @@ function s.thfilter(c) ...@@ -136,7 +136,7 @@ function s.thfilter(c)
end end
function s.dmgtg(e,tp,eg,ep,ev,re,r,rp,chk) function s.dmgtg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return true end if chk==0 then return true end
Duel.SetTargetPlayer(tp) Duel.SetTargetPlayer(1-tp)
Duel.SetTargetParam(1500) Duel.SetTargetParam(1500)
Duel.SetOperationInfo(0,CATEGORY_DAMAGE,nil,0,1-tp,1500) Duel.SetOperationInfo(0,CATEGORY_DAMAGE,nil,0,1-tp,1500)
end end
......
...@@ -2,6 +2,11 @@ ...@@ -2,6 +2,11 @@
function c62624260.initial_effect(c) function c62624260.initial_effect(c)
aux.AddCodeList(c,62624110) aux.AddCodeList(c,62624110)
--Activate --Activate
local e0=Effect.CreateEffect(c)
e0:SetType(EFFECT_TYPE_ACTIVATE)
e0:SetCode(EVENT_FREE_CHAIN)
c:RegisterEffect(e0)
--Activate
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(62624260,0)) e1:SetDescription(aux.Stringid(62624260,0))
e1:SetCategory(CATEGORY_REMOVE) e1:SetCategory(CATEGORY_REMOVE)
......
...@@ -27,6 +27,8 @@ function c62624630.initial_effect(c) ...@@ -27,6 +27,8 @@ function c62624630.initial_effect(c)
local e2=Effect.CreateEffect(c) local e2=Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_SINGLE) e2:SetType(EFFECT_TYPE_SINGLE)
e2:SetCode(EFFECT_IMMUNE_EFFECT) e2:SetCode(EFFECT_IMMUNE_EFFECT)
e2:SetProperty(EFFECT_FLAG_SINGLE_RANGE)
e2:SetRange(LOCATION_MZONE)
e2:SetValue(c62624630.efilter) e2:SetValue(c62624630.efilter)
c:RegisterEffect(e2) c:RegisterEffect(e2)
--negate --negate
......
...@@ -48,10 +48,8 @@ function cm.filter1(c,e) ...@@ -48,10 +48,8 @@ function cm.filter1(c,e)
return not c:IsImmuneToEffect(e) return not c:IsImmuneToEffect(e)
end end
function cm.filter2(c,e,tp,m,f,chkf) function cm.filter2(c,e,tp,m,f,chkf)
if not (c:IsType(TYPE_FUSION) and c:IsSetCard(0x859)) and (not f or f(c)) return c:IsType(TYPE_FUSION) and c:IsSetCard(0x859) and (not f or f(c))
and c:IsCanBeSpecialSummoned(e,SUMMON_TYPE_FUSION,tp,false,false) then return false end and c:IsCanBeSpecialSummoned(e,SUMMON_TYPE_FUSION,tp,false,false) and c:CheckFusionMaterial(m,nil,chkf)
local res=c:CheckFusionMaterial(m,nil,chkf)
return res
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 if chk==0 then
......
...@@ -40,9 +40,9 @@ function cm.initial_effect(c) ...@@ -40,9 +40,9 @@ function cm.initial_effect(c)
end end
--tograve --tograve
function cm.tgcon(e,tp,eg,ep,ev,re,r,rp) function cm.tgcon(e,tp,eg,ep,ev,re,r,rp)
return eg:IsExists(cm.tgfilter,1,nil,tp) return eg:IsExists(cm.tgfilter1,1,nil,tp)
end end
function cm.tgfilter(c,tp) function cm.tgfilter1(c,tp)
return c:IsPreviousLocation(LOCATION_ONFIELD) return c:IsPreviousLocation(LOCATION_ONFIELD)
end end
function cm.tgtg(e,tp,eg,ep,ev,re,r,rp,chk) function cm.tgtg(e,tp,eg,ep,ev,re,r,rp,chk)
......
...@@ -59,10 +59,8 @@ function cm.filter0(c) ...@@ -59,10 +59,8 @@ function cm.filter0(c)
return c:IsType(TYPE_MONSTER) and c:IsCanBeFusionMaterial() and c:IsAbleToGrave() return c:IsType(TYPE_MONSTER) and c:IsCanBeFusionMaterial() and c:IsAbleToGrave()
end end
function cm.filter2(c,e,tp,m,f,chkf) function cm.filter2(c,e,tp,m,f,chkf)
if not (c:IsType(TYPE_FUSION) and c:IsSetCard(0x859)) and (not f or f(c)) return (c:IsType(TYPE_FUSION) and c:IsSetCard(0x859)) and (not f or f(c))
and c:IsCanBeSpecialSummoned(e,SUMMON_TYPE_FUSION,tp,false,false) then return false end and c:IsCanBeSpecialSummoned(e,SUMMON_TYPE_FUSION,tp,false,false) and c:CheckFusionMaterial(m,nil,chkf)
local res=c:CheckFusionMaterial(m,nil,chkf)
return res
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 if chk==0 then
......
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