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)
e3:SetProperty(EFFECT_FLAG_CANNOT_DISABLE+EFFECT_FLAG_UNCOPYABLE)
e3:SetCountLimit(1)
e3:SetRange(LOCATION_MZONE)
e3:SetReset(RESET_EVENT+RESETS_STANDARD+RESET_PHASE+PHASE_END)
e3:SetReset(RESET_EVENT+RESETS_STANDARD)
e3:SetLabelObject(e1)
e3:SetLabel(cid)
e3:SetOperation(c11600565.rstop)
......
......@@ -53,7 +53,9 @@ end
function cm.checkop(e,tp,eg,ep,ev,re,r,rp)
local tc=eg:GetFirst()
while tc do
if tc:GetSummonPlayer()==tp then
Duel.RegisterFlagEffect(tc:GetSummonPlayer(),m,0,0,1)
end
if tc:GetSummonLocation()==LOCATION_EXTRA then
Duel.RegisterFlagEffect(tc:GetSummonPlayer(),m+10000,0,0,1)
end
......
......@@ -171,10 +171,8 @@ function s.spop(e,tp,eg,ep,ev,re,r,rp)
e2:SetCategory(CATEGORY_DRAW)
e2:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_CONTINUOUS)
e2:SetCode(EVENT_LEAVE_FIELD)
e2:SetTarget(s.drtg)
e2:SetOperation(s.drop)
e2:SetReset(RESET_EVENT+RESETS_STANDARD)
token:RegisterEffect(e2)
token:RegisterEffect(e2,true)
Duel.SpecialSummonComplete()
if Duel.IsExistingMatchingCard(Card.IsReleasableByEffect,tp,0,LOCATION_MZONE,1,nil) then
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_RELEASE)
......@@ -193,24 +191,16 @@ function s.spop(e,tp,eg,ep,ev,re,r,rp)
e2:SetCategory(CATEGORY_DRAW)
e2:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_CONTINUOUS)
e2:SetCode(EVENT_LEAVE_FIELD)
e2:SetTarget(s.drtg)
e2:SetOperation(s.drop)
e2:SetReset(RESET_EVENT+RESETS_STANDARD)
token:RegisterEffect(e2)
token:RegisterEffect(e2,true)
Duel.SpecialSummonComplete()
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)
local p,d=Duel.GetChainInfo(0,CHAININFO_TARGET_PLAYER,CHAININFO_TARGET_PARAM)
Duel.Draw(p,d,REASON_EFFECT)
local c=e:GetHandler()
Duel.Draw(c:GetPreviousControler(),1,REASON_EFFECT)
end
......
......@@ -58,7 +58,7 @@ function s.stcon(e,tp,eg,ep,ev,re,r,rp)
return re:GetHandler()~=e:GetHandler()
end
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
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
......
......@@ -97,11 +97,11 @@ function s.ctop(e,tp,eg,ep,ev,re,r,rp)
end
--
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
function s.counter(e,tp,eg,ep,ev,re,r,rp)
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)
end
......@@ -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)
end
function s.desop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_DESTROY)
local g=Duel.SelectMatchingCard(tp,nil,tp,LOCATION_ONFIELD,LOCATION_ONFIELD,1,2,nil)
if g:GetCount()>0 then
Duel.Destroy(g,REASON_EFFECT)
if Duel.GetFlagEffect(tp,id+10000)<2 then
local dg=Duel.GetOperatedGroup()
local tc=dg:GetFirst()
......@@ -151,6 +152,7 @@ function s.desop(e,tp,eg,ep,ev,re,r,rp)
tc=dg:GetNext()
end
end
Duel.Destroy(g,REASON_EFFECT)
end
end
......
......@@ -227,7 +227,7 @@ function cm.anop(e,tp,eg,ep,ev,re,r,rp)
e0:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
e0:SetRange(LOCATION_MZONE)
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:SetLabel(ac)
e0:SetReset(RESET_EVENT+RESETS_STANDARD)
......@@ -236,7 +236,7 @@ function cm.anop(e,tp,eg,ep,ev,re,r,rp)
e1:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
e1:SetRange(LOCATION_MZONE)
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:SetLabel(ac)
e1:SetReset(RESET_EVENT+RESETS_STANDARD)
......
......@@ -134,7 +134,7 @@ function cm.op3(e,tp,eg,ep,ev,re,r,rp)
end
--Effect 3
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
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
......
......@@ -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)
end
function cm.spfilter(c,e,tp,lv)
local lv=e:GetHandler():GetLevel()
return c:IsLevelBelow(lv) and c:IsSetCard(0xccb)
and c:IsCanBeSpecialSummoned(e,0,tp,false,false)
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())
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()))
end
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)
end
function cm.spop(e,tp,eg,ep,ev,re,r,rp)
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
Duel.SpecialSummon(g,0,tp,tp,false,false,POS_FACEUP)
end
......
......@@ -108,15 +108,15 @@ end
function cm.check_col(c,tp,col)
return math.abs(aux.GetColumn(c,tp)-col)==1
end
function cm.seqcheck(c,tp)
function cm.seqcheck2(c,tp)
if c:IsLocation(LOCATION_FZONE) then return false end
local col_1=aux.GetColumn(c,tp)
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
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
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
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)
if opdo==1 and Duel.GetLocationCount(tp,LOCATION_MZONE)>0 then
Duel.SpecialSummon(c,0,tp,tp,false,false,POS_FACEUP)
else
while Duel.IsExistingMatchingCard(cm.seqcheck,tp,0,LOCATION_ONFIELD,1,nil,1-tp) do
local g=Duel.GetMatchingGroup(cm.seqcheck,tp,0,LOCATION_ONFIELD,nil,1-tp)
while Duel.IsExistingMatchingCard(cm.seqcheck2,tp,0,LOCATION_ONFIELD,1,nil,tp) do
local g=Duel.GetMatchingGroup(cm.seqcheck2,tp,0,LOCATION_ONFIELD,nil,tp)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TOGRAVE)
local sg=g:Select(tp,1,1,nil)
Duel.SendtoGrave(sg,REASON_RULE)
......@@ -220,11 +220,11 @@ function cm.tgoperation(e,tp,eg,ep,ev,re,r,rp)
local col_1=aux.GetColumn(sc,tp)
local rg=Group.CreateGroup()
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
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
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
Duel.SendtoGrave(rg,REASON_EFFECT)
end
......
......@@ -66,7 +66,7 @@ function cm.xyztarget(c,tp)
end
function cm.ptarget(e,tp,eg,ep,ev,re,r,rp,chk)
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)
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)
......@@ -74,14 +74,14 @@ end
function cm.poperation(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
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 mg=tc:GetOverlayGroup()
if mg:GetCount()~=0 then
Duel.Overlay(c,mg)
end
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()
end
end
......
......@@ -8,7 +8,7 @@ function cm.initial_effect(c)
--splimit
local e0=Effect.CreateEffect(c)
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:SetValue(cm.splimit)
c:RegisterEffect(e0)
......
......@@ -8,7 +8,7 @@ function cm.initial_effect(c)
--splimit
local e0=Effect.CreateEffect(c)
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:SetValue(cm.splimit)
c:RegisterEffect(e0)
......
......@@ -195,7 +195,7 @@ function cm.operation1(e,tp,eg,ep,ev,re,r,rp)
e2:SetCode(EVENT_SPSUMMON_SUCCESS)
tc:RegisterEffect(e2,true)
elseif op==1 then
Duel.NegateSummon(tc)
Duel.NegateSummon(tc)
if not Duel.Equip(tp,tc,c,false,true) then return end
--equip limit
local e1=Effect.CreateEffect(tc)
......@@ -229,7 +229,7 @@ function cm.eqfilter(c,tp)
end
function cm.actop(e,tp)
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)
local g=Duel.SelectMatchingCard(tp,aux.NecroValleyFilter(cm.eqfilter),tp,LOCATION_GRAVE+LOCATION_HAND,0,1,1,nil,tp)
if g:GetCount()>0 then
......@@ -306,4 +306,4 @@ function cm.actop(e,tp)
end
function cm.eqlimit(e,c)
return c==e:GetLabelObject()
end
\ No newline at end of file
end
......@@ -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)
end
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
function cm.operation(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
......@@ -155,4 +155,4 @@ end
function cm.effectfilter(e,ct)
local te,tp,loc=Duel.GetChainInfo(ct,CHAININFO_TRIGGERING_EFFECT,CHAININFO_TRIGGERING_PLAYER,CHAININFO_TRIGGERING_LOCATION)
return te:GetHandler()==e:GetHandler():GetEquipTarget()
end
\ No newline at end of file
end
......@@ -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)
if sg:GetCount()>0 then
Duel.BreakEffect()
Duel.SendtoDeck(sg,nil,SEQ_DECKTOP,REASON_EFFECT)
Duel.SendtoDeck(sg,nil,2,REASON_EFFECT)
end
end
end
......
......@@ -136,7 +136,7 @@ function s.thfilter(c)
end
function s.dmgtg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return true end
Duel.SetTargetPlayer(tp)
Duel.SetTargetPlayer(1-tp)
Duel.SetTargetParam(1500)
Duel.SetOperationInfo(0,CATEGORY_DAMAGE,nil,0,1-tp,1500)
end
......
......@@ -2,6 +2,11 @@
function c62624260.initial_effect(c)
aux.AddCodeList(c,62624110)
--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)
e1:SetDescription(aux.Stringid(62624260,0))
e1:SetCategory(CATEGORY_REMOVE)
......
......@@ -27,6 +27,8 @@ function c62624630.initial_effect(c)
local e2=Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_SINGLE)
e2:SetCode(EFFECT_IMMUNE_EFFECT)
e2:SetProperty(EFFECT_FLAG_SINGLE_RANGE)
e2:SetRange(LOCATION_MZONE)
e2:SetValue(c62624630.efilter)
c:RegisterEffect(e2)
--negate
......
......@@ -48,10 +48,8 @@ function cm.filter1(c,e)
return not c:IsImmuneToEffect(e)
end
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))
and c:IsCanBeSpecialSummoned(e,SUMMON_TYPE_FUSION,tp,false,false) then return false end
local res=c:CheckFusionMaterial(m,nil,chkf)
return res
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) and c:CheckFusionMaterial(m,nil,chkf)
end
function cm.target(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then
......
......@@ -40,9 +40,9 @@ function cm.initial_effect(c)
end
--tograve
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
function cm.tgfilter(c,tp)
function cm.tgfilter1(c,tp)
return c:IsPreviousLocation(LOCATION_ONFIELD)
end
function cm.tgtg(e,tp,eg,ep,ev,re,r,rp,chk)
......
......@@ -59,10 +59,8 @@ function cm.filter0(c)
return c:IsType(TYPE_MONSTER) and c:IsCanBeFusionMaterial() and c:IsAbleToGrave()
end
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))
and c:IsCanBeSpecialSummoned(e,SUMMON_TYPE_FUSION,tp,false,false) then return false end
local res=c:CheckFusionMaterial(m,nil,chkf)
return res
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) and c:CheckFusionMaterial(m,nil,chkf)
end
function cm.thtg(e,tp,eg,ep,ev,re,r,rp,chk)
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