Commit fca01d36 authored by Nemo Ma's avatar Nemo Ma

fix

parent 3cf8b13d
...@@ -47,37 +47,8 @@ function cm.atkcost(e,tp,eg,ep,ev,re,r,rp,chk) ...@@ -47,37 +47,8 @@ function cm.atkcost(e,tp,eg,ep,ev,re,r,rp,chk)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_FACEUP) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_FACEUP)
--local g1=g:SelectSubGroup(tp,aux.dlvcheck,false,1,1) --local g1=g:SelectSubGroup(tp,aux.dlvcheck,false,1,1)
local g=Duel.SelectMatchingCard(tp,cm.atkfilter,tp,LOCATION_MZONE,0,1,1,nil) local g=Duel.SelectMatchingCard(tp,cm.atkfilter,tp,LOCATION_MZONE,0,1,1,nil)
Duel.ChangePosition(g1,POS_FACEDOWN_ATTACK) Duel.ChangePosition(g,POS_FACEDOWN_DEFENSE)
local tc=g1:GetFirst()
tc:RegisterFlagEffect(m,RESET_EVENT+RESETS_STANDARD-RESET_TURN_SET,0,1)
local e1=Effect.CreateEffect(e:GetHandler())
e1:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
e1:SetCode(EVENT_PHASE+PHASE_END)
e1:SetCountLimit(1)
e1:SetReset(RESET_PHASE+RESETS_STANDARD-RESET_TURN_SET)
e1:SetCondition(cm.flipcon)
e1:SetOperation(cm.flipop)
e1:SetLabelObject(tc)
Duel.RegisterEffect(e1,tp)
local e2=Effect.CreateEffect(e:GetHandler())
e2:SetType(EFFECT_TYPE_SINGLE)
e2:SetCode(EFFECT_CANNOT_FLIP_SUMMON)
--e2:SetCondition(cm.rcon)
e2:SetReset(RESET_EVENT+RESETS_STANDARD)
Duel.RegisterEffect(e2,tp)
local e3=Effect.CreateEffect(e:GetHandler())
e3:SetType(EFFECT_TYPE_SINGLE)
e3:SetCode(EFFECT_CANNOT_CHANGE_POSITION)
e3:SetReset(RESET_EVENT+RESETS_STANDARD)
Duel.RegisterEffect(e3,tp)
end
function cm.flipcon(e,tp,eg,ep,ev,re,r,rp)
local tc=e:GetLabelObject()
return tc:IsFacedown() and Duel.GetTurnPlayer()==tc:GetControler() and tc:GetFlagEffect(m)~=0 and Duel.GetFlagEffect(tp,40010160)==0
end
function cm.flipop(e,tp,eg,ep,ev,re,r,rp)
local tc=e:GetLabelObject()
Duel.ChangePosition(tc,POS_FACEUP_ATTACK)
end end
function cm.spfilter(c,e,tp) function cm.spfilter(c,e,tp)
return c:IsCanBeSpecialSummoned(e,0,tp,false,false) and c:IsLevelAbove(1) return c:IsCanBeSpecialSummoned(e,0,tp,false,false) and c:IsLevelAbove(1)
...@@ -132,7 +103,7 @@ function cm.spop2(e,tp,eg,ep,ev,re,r,rp) ...@@ -132,7 +103,7 @@ function cm.spop2(e,tp,eg,ep,ev,re,r,rp)
if g1:GetCount()>0 then if g1:GetCount()>0 then
Duel.SpecialSummon(g1,0,tp,tp,false,false,POS_FACEUP) Duel.SpecialSummon(g1,0,tp,tp,false,false,POS_FACEUP)
end end
if (not c:GetOriginalCode(40009487)) and c:GetOverlayGroup():IsExists(cm.grfilter,1,nil) and c:IsRelateToEffect(e) then if (not c:GetOriginalCode(40009487)) and c:GetOverlayGroup():IsExists(cm.grfilter,1,nil) then
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TODECK) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TODECK)
local sc=sg:FilterSelect(tp,cm.toexfilter,1,1,nil,tp):GetFirst() local sc=sg:FilterSelect(tp,cm.toexfilter,1,1,nil,tp):GetFirst()
if sc and Duel.SendtoDeck(sc,nil,0,REASON_EFFECT)>0 and sc:IsLocation(LOCATION_EXTRA) and c:IsFaceup() and c:IsControler(tp) and not c:IsImmuneToEffect(e) and aux.MustMaterialCheck(c,tp,EFFECT_MUST_BE_XMATERIAL) and c:IsCanBeXyzMaterial(sc) and sc:IsCanBeSpecialSummoned(e,SUMMON_TYPE_XYZ,tp,false,false) and Duel.GetLocationCountFromEx(tp,tp,c,sc)>0 then if sc and Duel.SendtoDeck(sc,nil,0,REASON_EFFECT)>0 and sc:IsLocation(LOCATION_EXTRA) and c:IsFaceup() and c:IsControler(tp) and not c:IsImmuneToEffect(e) and aux.MustMaterialCheck(c,tp,EFFECT_MUST_BE_XMATERIAL) and c:IsCanBeXyzMaterial(sc) and sc:IsCanBeSpecialSummoned(e,SUMMON_TYPE_XYZ,tp,false,false) and Duel.GetLocationCountFromEx(tp,tp,c,sc)>0 then
......
...@@ -16,7 +16,7 @@ function cm.ovfilter(c) ...@@ -16,7 +16,7 @@ function cm.ovfilter(c)
return c:IsCanOverlay() and c:IsFaceup() and cm.ovtfilter(c) and Duel.GetMZoneCount(tp,c,tp) > 0 return c:IsCanOverlay() and c:IsFaceup() and cm.ovtfilter(c) and Duel.GetMZoneCount(tp,c,tp) > 0
end end
function cm.ovtfilter(c) function cm.ovtfilter(c)
return c:CheckSetCard("BlazeMaiden") and c:IsComplexType(TYPE_SPELL+TYPE_CONTINUOUS) return c:CheckSetCard("BlazeTalisman") and c:IsComplexType(TYPE_SPELL+TYPE_CONTINUOUS)
end end
function cm.npfilter(c) function cm.npfilter(c)
return c:IsFaceup() and c:IsOriginalCodeRule(40010232) return c:IsFaceup() and c:IsOriginalCodeRule(40010232)
......
...@@ -28,7 +28,7 @@ function cm.initial_effect(c) ...@@ -28,7 +28,7 @@ function cm.initial_effect(c)
end end
function cm.matfilter1(c) function cm.matfilter1(c)
return c:IsSynchroType(TYPE_TUNER) or (c:IsLevel(3) and c:CheckSetCard("BlazeMaiden")) return c:IsSynchroType(TYPE_TUNER) or c:CheckSetCard("BlazeMaiden")
end end
function cm.costfilter(c) function cm.costfilter(c)
return c:IsType(TYPE_RITUAL) and c:IsDiscardable() return c:IsType(TYPE_RITUAL) and c:IsDiscardable()
...@@ -38,7 +38,7 @@ function cm.spcost(e,tp,eg,ep,ev,re,r,rp,chk) ...@@ -38,7 +38,7 @@ function cm.spcost(e,tp,eg,ep,ev,re,r,rp,chk)
Duel.DiscardHand(tp,cm.costfilter,1,1,REASON_COST+REASON_DISCARD) Duel.DiscardHand(tp,cm.costfilter,1,1,REASON_COST+REASON_DISCARD)
end end
function cm.spfilter(c,e,tp) function cm.spfilter(c,e,tp)
return ((c:CheckSetCard("Vairina") and c:IsType(TYPE_RITUAL)) or c:IsCode(40009579)) and c:IsCanBeSpecialSummoned(e,SUMMON_TYPE_RITUAL,tp,true,false) return ((c:CheckSetCard("Vairina") and c:IsType(TYPE_RITUAL)) or c:IsCode(40009579)) and c:IsCanBeSpecialSummoned(e,SUMMON_TYPE_RITUAL,tp,true,true)
end end
function cm.sptg(e,tp,eg,ep,ev,re,r,rp,chk,chkc) function cm.sptg(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
if chkc then return chkc:IsControler(tp) and chkc:IsLocation(LOCATION_GRAVE) and cm.spfilter(chkc,e,tp) end if chkc then return chkc:IsControler(tp) and chkc:IsLocation(LOCATION_GRAVE) and cm.spfilter(chkc,e,tp) end
...@@ -51,7 +51,7 @@ end ...@@ -51,7 +51,7 @@ end
function cm.spop(e,tp,eg,ep,ev,re,r,rp) function cm.spop(e,tp,eg,ep,ev,re,r,rp)
local tc=Duel.GetFirstTarget() local tc=Duel.GetFirstTarget()
if tc:IsRelateToEffect(e) then if tc:IsRelateToEffect(e) then
Duel.SpecialSummon(tc,SUMMON_TYPE_RITUAL,tp,tp,true,false,POS_FACEUP) Duel.SpecialSummon(tc,SUMMON_TYPE_RITUAL,tp,tp,true,true,POS_FACEUP)
end end
tc:CompleteProcedure() tc:CompleteProcedure()
end end
......
...@@ -4,7 +4,7 @@ local m , cm = rscf.DefineCard(40009792,"BlazeMaiden") ...@@ -4,7 +4,7 @@ local m , cm = rscf.DefineCard(40009792,"BlazeMaiden")
function cm.initial_effect(c) function cm.initial_effect(c)
--fusion material --fusion material
c:EnableReviveLimit() c:EnableReviveLimit()
aux.AddFusionProcFun2(c,aux.FilterBoolFunction(Card.IsFusionSetCard,"BlazeMaiden"),aux.FilterBoolFunction(Card.IsAttribute,ATTRIBUTE_FIRE),true) aux.AddFusionProcFun2(c,aux.FilterBoolFunction(cm.ffilter),aux.FilterBoolFunction(Card.IsAttribute,ATTRIBUTE_FIRE),true)
aux.AddContactFusionProcedure(c,Card.IsAbleToGraveAsCost,LOCATION_MZONE,LOCATION_MZONE,Duel.SendtoGrave,REASON_COST) aux.AddContactFusionProcedure(c,Card.IsAbleToGraveAsCost,LOCATION_MZONE,LOCATION_MZONE,Duel.SendtoGrave,REASON_COST)
--to hand --to hand
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
...@@ -27,7 +27,9 @@ function cm.initial_effect(c) ...@@ -27,7 +27,9 @@ function cm.initial_effect(c)
{cm.tffilter,"tf",LOCATION_GRAVE }),cm.tgop) {cm.tffilter,"tf",LOCATION_GRAVE }),cm.tgop)
end end
function cm.ffilter(c)
return c:CheckSetCard("BlazeMaiden")
end
function cm.thfilter(c) function cm.thfilter(c)
return c:CheckSetCard("BlazeTalisman") and c:IsType(TYPE_SPELL) and c:IsAbleToHand() return c:CheckSetCard("BlazeTalisman") and c:IsType(TYPE_SPELL) and c:IsAbleToHand()
......
...@@ -5,7 +5,7 @@ cm.named_with_linkjoker=1 ...@@ -5,7 +5,7 @@ cm.named_with_linkjoker=1
cm.named_with_ChaosBreaker=1 cm.named_with_ChaosBreaker=1
function cm.linkjoker(c) function cm.linkjoker(c)
local m=_G["c"..c:GetCode()] local m=_G["c"..c:GetCode()]
return m and m.named_with_linkjoker return m and (m.named_with_linkjoker or (Duel.IsPlayerAffectedByEffect(c:GetControler(),40010218) and m.named_with_Reverse and c:IsLocation(LOCATION_MZONE+LOCATION_HAND)))
end end
function cm.ChaosBreaker(c) function cm.ChaosBreaker(c)
local m=_G["c"..c:GetCode()] local m=_G["c"..c:GetCode()]
...@@ -54,7 +54,7 @@ function cm.initial_effect(c) ...@@ -54,7 +54,7 @@ function cm.initial_effect(c)
c:RegisterEffect(e3) c:RegisterEffect(e3)
end end
function cm.matfilter(c) function cm.matfilter(c)
return cm.linkjoker(c) return cm.linkjoker(c) or (Duel.IsPlayerAffectedByEffect(tp,40010218) and cm.Reverse(c))
end end
function cm.filter(c) function cm.filter(c)
return c:IsFacedown() return c:IsFacedown()
......
...@@ -5,7 +5,7 @@ cm.named_with_linkjoker=1 ...@@ -5,7 +5,7 @@ cm.named_with_linkjoker=1
cm.named_with_Reverse=1 cm.named_with_Reverse=1
function cm.linkjoker(c) function cm.linkjoker(c)
local m=_G["c"..c:GetCode()] local m=_G["c"..c:GetCode()]
return m and m.named_with_linkjoker return m and (m.named_with_linkjoker or (Duel.IsPlayerAffectedByEffect(c:GetControler(),40010218) and m.named_with_Reverse and c:IsLocation(LOCATION_MZONE+LOCATION_HAND)))
end end
function cm.Reverse(c) function cm.Reverse(c)
local m=_G["c"..c:GetCode()] local m=_G["c"..c:GetCode()]
...@@ -51,14 +51,14 @@ function cm.matfilter(c) ...@@ -51,14 +51,14 @@ function cm.matfilter(c)
end end
function cm.spfilter(c,e,tp) function cm.spfilter(c,e,tp)
return cm.Reverse(c) and c:IsCanBeSpecialSummoned(e,0,tp,true,false) return cm.Reverse(c) and c:IsCanBeSpecialSummoned(e,0,tp,true,false)
and ((c:IsLocation(LOCATION_HAND) or c:IsLocation(LOCATION_DECK) or c:IsLocation(LOCATION_GRAVE)) and Duel.GetMZoneCount(tp)>0 and not cm.linkjoker(c)
or c:IsLocation(LOCATION_EXTRA) and Duel.GetLocationCountFromEx(tp,tp,nil,c)>0) and not cm.linkjoker(c)
end end
function cm.posfilter(c) function cm.posfilter(c)
return c:IsFaceup() and c:IsCanTurnSet() return c:IsFaceup() and c:IsCanTurnSet()
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_GRAVE+LOCATION_HAND+LOCATION_DECK+LOCATION_EXTRA,0,1,nil,e,tp) end if chk==0 then return Duel.GetLocationCount(tp,LOCATION_MZONE)>0
and Duel.IsExistingMatchingCard(cm.spfilter,tp,LOCATION_GRAVE+LOCATION_HAND+LOCATION_DECK+LOCATION_EXTRA,0,1,nil,e,tp) end
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,1,tp,LOCATION_GRAVE+LOCATION_HAND+LOCATION_DECK+LOCATION_EXTRA) Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,1,tp,LOCATION_GRAVE+LOCATION_HAND+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)
......
...@@ -4,7 +4,7 @@ local cm=_G["c"..m] ...@@ -4,7 +4,7 @@ local cm=_G["c"..m]
cm.named_with_linkjoker=1 cm.named_with_linkjoker=1
function cm.linkjoker(c) function cm.linkjoker(c)
local m=_G["c"..c:GetCode()] local m=_G["c"..c:GetCode()]
return m and m.named_with_linkjoker return m and (m.named_with_linkjoker or (Duel.IsPlayerAffectedByEffect(c:GetControler(),40010218) and m.named_with_Reverse and c:IsLocation(LOCATION_MZONE+LOCATION_HAND)))
end end
function cm.Reverse(c) function cm.Reverse(c)
local m=_G["c"..c:GetCode()] local m=_G["c"..c:GetCode()]
...@@ -37,8 +37,8 @@ function cm.initial_effect(c) ...@@ -37,8 +37,8 @@ function cm.initial_effect(c)
end end
function cm.matfilter(c) function cm.matfilter(c,tp)
return cm.linkjoker(c) return cm.linkjoker(c) or (Duel.IsPlayerAffectedByEffect(tp,40010218) and cm.Reverse(c))
end end
function cm.atkop(e,tp,eg,ep,ev,re,r,rp) function cm.atkop(e,tp,eg,ep,ev,re,r,rp)
local g=Duel.GetMatchingGroup(Card.IsFaceup,tp,LOCATION_MZONE,0,nil) local g=Duel.GetMatchingGroup(Card.IsFaceup,tp,LOCATION_MZONE,0,nil)
...@@ -55,7 +55,7 @@ function cm.atkop(e,tp,eg,ep,ev,re,r,rp) ...@@ -55,7 +55,7 @@ function cm.atkop(e,tp,eg,ep,ev,re,r,rp)
end end
end end
function cm.cfilter(c,tp) function cm.cfilter(c,tp)
return c:IsControler(tp) and cm.linkjoker(c) and c:IsType(TYPE_LINK) and c:IsSummonType(SUMMON_TYPE_LINK) and c:IsLinkAbove(3) return c:IsControler(tp) and (cm.linkjoker(c) or (Duel.IsPlayerAffectedByEffect(tp,40010218) and cm.Reverse(c))) and c:IsType(TYPE_LINK) and c:IsSummonType(SUMMON_TYPE_LINK) and c:IsLinkAbove(3)
end end
function cm.spcon(e,tp,eg,ep,ev,re,r,rp) function cm.spcon(e,tp,eg,ep,ev,re,r,rp)
return eg:IsExists(cm.cfilter,1,nil,tp) return eg:IsExists(cm.cfilter,1,nil,tp)
......
...@@ -4,9 +4,12 @@ local cm=_G["c"..m] ...@@ -4,9 +4,12 @@ local cm=_G["c"..m]
cm.named_with_linkjoker=1 cm.named_with_linkjoker=1
function cm.linkjoker(c) function cm.linkjoker(c)
local m=_G["c"..c:GetCode()] local m=_G["c"..c:GetCode()]
return m and m.named_with_linkjoker return m and (m.named_with_linkjoker or (Duel.IsPlayerAffectedByEffect(c:GetControler(),40010218) and m.named_with_Reverse and c:IsLocation(LOCATION_MZONE+LOCATION_HAND)))
end
function cm.Reverse(c)
local m=_G["c"..c:GetCode()]
return m and m.named_with_Reverse
end end
function cm.initial_effect(c) function cm.initial_effect(c)
c:EnableReviveLimit() c:EnableReviveLimit()
aux.AddLinkProcedure(c,cm.matfilter,2) aux.AddLinkProcedure(c,cm.matfilter,2)
...@@ -33,7 +36,7 @@ function cm.initial_effect(c) ...@@ -33,7 +36,7 @@ function cm.initial_effect(c)
c:RegisterEffect(e2) c:RegisterEffect(e2)
end end
function cm.matfilter(c) function cm.matfilter(c)
return cm.linkjoker(c) return cm.linkjoker(c) or (Duel.IsPlayerAffectedByEffect(tp,40010218) and cm.Reverse(c))
end end
function cm.poscost(e,tp,eg,ep,ev,re,r,rp,chk) function cm.poscost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(Card.IsDiscardable,tp,LOCATION_HAND,0,1,nil) end if chk==0 then return Duel.IsExistingMatchingCard(Card.IsDiscardable,tp,LOCATION_HAND,0,1,nil) end
......
...@@ -4,7 +4,7 @@ local cm=_G["c"..m] ...@@ -4,7 +4,7 @@ local cm=_G["c"..m]
cm.named_with_linkjoker=1 cm.named_with_linkjoker=1
function cm.linkjoker(c) function cm.linkjoker(c)
local m=_G["c"..c:GetCode()] local m=_G["c"..c:GetCode()]
return m and m.named_with_linkjoker return m and (m.named_with_linkjoker or (Duel.IsPlayerAffectedByEffect(c:GetControler(),40010218) and m.named_with_Reverse and c:IsLocation(LOCATION_MZONE+LOCATION_HAND)))
end end
function cm.Reverse(c) function cm.Reverse(c)
local m=_G["c"..c:GetCode()] local m=_G["c"..c:GetCode()]
......
...@@ -4,7 +4,7 @@ local cm=_G["c"..m] ...@@ -4,7 +4,7 @@ local cm=_G["c"..m]
cm.named_with_linkjoker=1 cm.named_with_linkjoker=1
function cm.linkjoker(c) function cm.linkjoker(c)
local m=_G["c"..c:GetCode()] local m=_G["c"..c:GetCode()]
return m and m.named_with_linkjoker return m and (m.named_with_linkjoker or (Duel.IsPlayerAffectedByEffect(c:GetControler(),40010218) and m.named_with_Reverse and c:IsLocation(LOCATION_MZONE+LOCATION_HAND)))
end end
function cm.Reverse(c) function cm.Reverse(c)
local m=_G["c"..c:GetCode()] local m=_G["c"..c:GetCode()]
......
...@@ -4,7 +4,7 @@ local cm=_G["c"..m] ...@@ -4,7 +4,7 @@ local cm=_G["c"..m]
cm.named_with_linkjoker=1 cm.named_with_linkjoker=1
function cm.linkjoker(c) function cm.linkjoker(c)
local m=_G["c"..c:GetCode()] local m=_G["c"..c:GetCode()]
return m and m.named_with_linkjoker return m and (m.named_with_linkjoker or (Duel.IsPlayerAffectedByEffect(c:GetControler(),40010218) and m.named_with_Reverse and c:IsLocation(LOCATION_MZONE+LOCATION_HAND)))
end end
function cm.Reverse(c) function cm.Reverse(c)
local m=_G["c"..c:GetCode()] local m=_G["c"..c:GetCode()]
......
...@@ -4,7 +4,7 @@ local cm=_G["c"..m] ...@@ -4,7 +4,7 @@ local cm=_G["c"..m]
cm.named_with_linkjoker=1 cm.named_with_linkjoker=1
function cm.linkjoker(c) function cm.linkjoker(c)
local m=_G["c"..c:GetCode()] local m=_G["c"..c:GetCode()]
return m and m.named_with_linkjoker return m and (m.named_with_linkjoker or (Duel.IsPlayerAffectedByEffect(c:GetControler(),40010218) and m.named_with_Reverse and c:IsLocation(LOCATION_MZONE+LOCATION_HAND)))
end end
function cm.Reverse(c) function cm.Reverse(c)
local m=_G["c"..c:GetCode()] local m=_G["c"..c:GetCode()]
......
...@@ -4,7 +4,7 @@ local cm=_G["c"..m] ...@@ -4,7 +4,7 @@ local cm=_G["c"..m]
cm.named_with_linkjoker=1 cm.named_with_linkjoker=1
function cm.linkjoker(c) function cm.linkjoker(c)
local m=_G["c"..c:GetCode()] local m=_G["c"..c:GetCode()]
return m and m.named_with_linkjoker return m and (m.named_with_linkjoker or (Duel.IsPlayerAffectedByEffect(c:GetControler(),40010218) and m.named_with_Reverse and c:IsLocation(LOCATION_MZONE+LOCATION_HAND)))
end end
function cm.Reverse(c) function cm.Reverse(c)
local m=_G["c"..c:GetCode()] local m=_G["c"..c:GetCode()]
......
...@@ -4,7 +4,7 @@ local cm=_G["c"..m] ...@@ -4,7 +4,7 @@ local cm=_G["c"..m]
cm.named_with_linkjoker=1 cm.named_with_linkjoker=1
function cm.linkjoker(c) function cm.linkjoker(c)
local m=_G["c"..c:GetCode()] local m=_G["c"..c:GetCode()]
return m and m.named_with_linkjoker return m and (m.named_with_linkjoker or (Duel.IsPlayerAffectedByEffect(c:GetControler(),40010218) and m.named_with_Reverse and c:IsLocation(LOCATION_MZONE+LOCATION_HAND)))
end end
function cm.Reverse(c) function cm.Reverse(c)
local m=_G["c"..c:GetCode()] local m=_G["c"..c:GetCode()]
......
...@@ -4,7 +4,7 @@ local cm=_G["c"..m] ...@@ -4,7 +4,7 @@ local cm=_G["c"..m]
cm.named_with_linkjoker=1 cm.named_with_linkjoker=1
function cm.linkjoker(c) function cm.linkjoker(c)
local m=_G["c"..c:GetCode()] local m=_G["c"..c:GetCode()]
return m and m.named_with_linkjoker return m and (m.named_with_linkjoker or (Duel.IsPlayerAffectedByEffect(c:GetControler(),40010218) and m.named_with_Reverse and c:IsLocation(LOCATION_MZONE+LOCATION_HAND)))
end end
function cm.initial_effect(c) function cm.initial_effect(c)
--Negate --Negate
......
...@@ -4,7 +4,7 @@ local cm=_G["c"..m] ...@@ -4,7 +4,7 @@ local cm=_G["c"..m]
cm.named_with_linkjoker=1 cm.named_with_linkjoker=1
function cm.linkjoker(c) function cm.linkjoker(c)
local m=_G["c"..c:GetCode()] local m=_G["c"..c:GetCode()]
return m and m.named_with_linkjoker return m and (m.named_with_linkjoker or (Duel.IsPlayerAffectedByEffect(c:GetControler(),40010218) and m.named_with_Reverse and c:IsLocation(LOCATION_MZONE+LOCATION_HAND)))
end end
function cm.Reverse(c) function cm.Reverse(c)
local m=_G["c"..c:GetCode()] local m=_G["c"..c:GetCode()]
......
...@@ -4,7 +4,7 @@ local cm=_G["c"..m] ...@@ -4,7 +4,7 @@ local cm=_G["c"..m]
cm.named_with_linkjoker=1 cm.named_with_linkjoker=1
function cm.linkjoker(c) function cm.linkjoker(c)
local m=_G["c"..c:GetCode()] local m=_G["c"..c:GetCode()]
return m and m.named_with_linkjoker return m and (m.named_with_linkjoker or (Duel.IsPlayerAffectedByEffect(c:GetControler(),40010218) and m.named_with_Reverse and c:IsLocation(LOCATION_MZONE+LOCATION_HAND)))
end end
function cm.initial_effect(c) function cm.initial_effect(c)
c:EnableReviveLimit() c:EnableReviveLimit()
......
...@@ -4,7 +4,7 @@ local cm=_G["c"..m] ...@@ -4,7 +4,7 @@ local cm=_G["c"..m]
cm.named_with_linkjoker=1 cm.named_with_linkjoker=1
function cm.linkjoker(c) function cm.linkjoker(c)
local m=_G["c"..c:GetCode()] local m=_G["c"..c:GetCode()]
return m and m.named_with_linkjoker return m and (m.named_with_linkjoker or (Duel.IsPlayerAffectedByEffect(c:GetControler(),40010218) and m.named_with_Reverse and c:IsLocation(LOCATION_MZONE+LOCATION_HAND)))
end end
function cm.initial_effect(c) function cm.initial_effect(c)
c:EnableReviveLimit() c:EnableReviveLimit()
......
...@@ -5,7 +5,7 @@ cm.named_with_linkjoker=1 ...@@ -5,7 +5,7 @@ cm.named_with_linkjoker=1
cm.named_with_BLASTER=1 cm.named_with_BLASTER=1
function cm.linkjoker(c) function cm.linkjoker(c)
local m=_G["c"..c:GetCode()] local m=_G["c"..c:GetCode()]
return m and m.named_with_linkjoker return m and (m.named_with_linkjoker or (Duel.IsPlayerAffectedByEffect(c:GetControler(),40010218) and m.named_with_Reverse and c:IsLocation(LOCATION_MZONE+LOCATION_HAND)))
end end
function cm.initial_effect(c) function cm.initial_effect(c)
c:EnableReviveLimit() c:EnableReviveLimit()
......
...@@ -2,9 +2,10 @@ ...@@ -2,9 +2,10 @@
local m=40010218 local m=40010218
local cm=_G["c"..m] local cm=_G["c"..m]
cm.named_with_linkjoker=1 cm.named_with_linkjoker=1
cm.named_with_Glendios=1
function cm.linkjoker(c) function cm.linkjoker(c)
local m=_G["c"..c:GetCode()] local m=_G["c"..c:GetCode()]
return m and m.named_with_linkjoker return m and (m.named_with_linkjoker or (Duel.IsPlayerAffectedByEffect(c:GetControler(),40010218) and m.named_with_Reverse and c:IsLocation(LOCATION_MZONE+LOCATION_HAND)))
end end
function cm.Reverse(c) function cm.Reverse(c)
local m=_G["c"..c:GetCode()] local m=_G["c"..c:GetCode()]
...@@ -13,203 +14,110 @@ end ...@@ -13,203 +14,110 @@ end
function cm.initial_effect(c) function cm.initial_effect(c)
c:EnableReviveLimit() c:EnableReviveLimit()
aux.AddLinkProcedure(c,cm.matfilter,3) aux.AddLinkProcedure(c,cm.matfilter,3)
--atkup --release replace
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(m,0)) e1:SetType(EFFECT_TYPE_FIELD)
e1:SetCategory(CATEGORY_SPECIAL_SUMMON) e1:SetProperty(EFFECT_FLAG_PLAYER_TARGET)
e1:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_TRIGGER_O) e1:SetCode(m)
e1:SetProperty(EFFECT_FLAG_DELAY)
e1:SetCode(EVENT_SUMMON_SUCCESS)
e1:SetRange(LOCATION_MZONE) e1:SetRange(LOCATION_MZONE)
e1:SetCondition(cm.spcon) e1:SetTargetRange(1,0)
e1:SetCost(cm.spcost)
e1:SetTarget(cm.sptg)
e1:SetOperation(cm.spop)
c:RegisterEffect(e1) c:RegisterEffect(e1)
local e6=e1:Clone()
e6:SetCode(EVENT_SPSUMMON_SUCCESS) --atk & def
c:RegisterEffect(e6)
--cannot trigger
local e3=Effect.CreateEffect(c)
e3:SetType(EFFECT_TYPE_FIELD)
e3:SetCode(EFFECT_CANNOT_TRIGGER)
e3:SetProperty(EFFECT_FLAG_SET_AVAILABLE)
e3:SetRange(LOCATION_MZONE)
e3:SetTargetRange(0,LOCATION_ONFIELD)
e3:SetTarget(cm.distg)
c:RegisterEffect(e3)
--immune
local e2=Effect.CreateEffect(c) local e2=Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_FIELD) e2:SetType(EFFECT_TYPE_FIELD)
e2:SetCode(EFFECT_IMMUNE_EFFECT) e2:SetCode(EFFECT_SET_BASE_ATTACK)
e2:SetProperty(EFFECT_FLAG_SET_AVAILABLE)
e2:SetRange(LOCATION_MZONE) e2:SetRange(LOCATION_MZONE)
e2:SetTargetRange(0,LOCATION_MZONE) e2:SetTargetRange(LOCATION_MZONE,0)
e2:SetTarget(cm.distg) e2:SetTarget(cm.tg)
e2:SetValue(cm.efilter) e2:SetValue(4000)
c:RegisterEffect(e2) c:RegisterEffect(e2)
--cannot release --pos
local e3=Effect.CreateEffect(c)
e3:SetDescription(aux.Stringid(m,0))
e3:SetCategory(CATEGORY_POSITION)
e3:SetType(EFFECT_TYPE_IGNITION)
e3:SetRange(LOCATION_MZONE)
e3:SetProperty(EFFECT_FLAG_CARD_TARGET)
e3:SetCountLimit(1)
e3:SetCost(cm.poscost)
e3:SetTarget(cm.postg)
e3:SetOperation(cm.posop)
c:RegisterEffect(e3)
--win
local e4=Effect.CreateEffect(c) local e4=Effect.CreateEffect(c)
e4:SetType(EFFECT_TYPE_FIELD) e4:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
e4:SetProperty(EFFECT_FLAG_SET_AVAILABLE) e4:SetProperty(EFFECT_FLAG_CANNOT_DISABLE+EFFECT_FLAG_UNCOPYABLE)
e4:SetRange(LOCATION_MZONE) e4:SetRange(LOCATION_MZONE)
e4:SetCode(EFFECT_UNRELEASABLE_SUM) e4:SetCode(EVENT_ADJUST)
e4:SetTargetRange(0,LOCATION_MZONE) e4:SetOperation(cm.winop)
e4:SetTarget(cm.distg)
e4:SetValue(1)
c:RegisterEffect(e4) c:RegisterEffect(e4)
local e5=e4:Clone()
e5:SetCode(EFFECT_UNRELEASABLE_NONSUM)
c:RegisterEffect(e5)
--add setcode
local e7=Effect.CreateEffect(c)
e7:SetType(EFFECT_TYPE_FIELD)
e7:SetRange(LOCATION_MZONE)
e7:SetTargetRange(LOCATION_MZONE+LOCATION_GRAVE,0)
e7:SetCode(EFFECT_ADD_SETCODE)
e6:SetTarget(cm.etarget2)
e6:SetValue(cm.efilter2)
c:RegisterEffect(e7)
end
function cm.etarget2(e,c)
return cm.Reverse(c)
end
function cm.efilter2(e,c)
return cm.linkjoker(c)
end end
function cm.matfilter(c) function cm.matfilter(c)
return cm.linkjoker(c) return cm.linkjoker(c) or cm.Reverse(c)
end
function cm.efilter(e,re)
return not cm.linkjoker(re)
end
function cm.cfilter(c,tp)
return c:IsFaceup() and cm.Reverse(c) and c:IsSummonPlayer(tp)
end end
function cm.spcon(e,tp,eg,ep,ev,re,r,rp) function cm.tg(e,c)
return eg:IsExists(cm.cfilter,1,nil,tp) return cm.Reverse(c)
end
function cm.distg(e,c)
return c:IsFacedown()
end
function cm.spcost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(Card.IsDiscardable,tp,LOCATION_HAND,0,1,nil) end
Duel.DiscardHand(tp,Card.IsDiscardable,1,1,REASON_COST+REASON_DISCARD)
end
function cm.sptg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.GetFieldGroupCount(tp,0,LOCATION_HAND)>0 end
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,0,1-tp,1)
end end
function cm.spop(e,tp,eg,ep,ev,re,r,rp) function cm.costfilter(c)
if Duel.GetLocationCount(1-tp,LOCATION_MZONE)<=0 then return end return cm.Reverse(c) and c:IsType(TYPE_MONSTER) and c:IsAbleToRemoveAsCost()
local g=Duel.GetFieldGroup(1-tp,LOCATION_HAND,0) end
--Duel.Remove(g,POS_FACEUP,REASON_EFFECT) function cm.poscost(e,tp,eg,ep,ev,re,r,rp,chk)
if g:GetCount()>0 then local c=e:GetHandler()
local sg=g:RandomSelect(1-tp,1) if chk==0 then return Duel.IsExistingMatchingCard(cm.costfilter,tp,LOCATION_HAND+LOCATION_GRAVE,0,1,c) end
local tc=sg:GetFirst() Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_REMOVE)
if tc:GetType(TYPE_MONSTER) then local g=Duel.SelectMatchingCard(tp,cm.costfilter,tp,LOCATION_HAND+LOCATION_GRAVE,0,1,1,nil)
Duel.SpecialSummon(tc,0,1-tp,1-tp,true,false,POS_FACEDOWN_ATTACK) Duel.Remove(g,POS_FACEUP,REASON_COST)
tc:RegisterFlagEffect(m,RESET_EVENT+RESETS_STANDARD-RESET_TURN_SET,0,1) end
local e6=Effect.CreateEffect(e:GetHandler()) function cm.posfilter(c)
e6:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS) return c:IsFaceup() and c:IsCanTurnSet()
e6:SetCode(EVENT_PHASE+PHASE_END) end
e6:SetCountLimit(1) function cm.spfilter(c,e,tp)
e6:SetReset(RESET_PHASE+RESETS_STANDARD-RESET_TURN_SET) return cm.Reverse(c) and c:IsCanBeSpecialSummoned(e,0,tp,true,false)
e6:SetCondition(cm.flipcon) and ((c:IsLocation(LOCATION_HAND) or c:IsLocation(LOCATION_DECK) or c:IsLocation(LOCATION_GRAVE)) and Duel.GetMZoneCount(tp)>0
e6:SetOperation(cm.flipop) or c:IsLocation(LOCATION_EXTRA) and Duel.GetLocationCountFromEx(tp,tp,nil,c)>0) and not cm.linkjoker(c)
e6:SetLabelObject(tc) end
Duel.RegisterEffect(e6,tp) function cm.postg(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
local e7=Effect.CreateEffect(e:GetHandler()) if chkc then return chkc:IsControler(1-tp) and chkc:IsLocation(LOCATION_MZONE) and cm.posfilter(chkc) end
e7:SetType(EFFECT_TYPE_SINGLE) if chk==0 then return Duel.GetLocationCount(tp,LOCATION_MZONE)>0
e7:SetCode(EFFECT_CANNOT_FLIP_SUMMON) and Duel.IsExistingTarget(cm.posfilter,tp,0,LOCATION_MZONE,1,nil) and Duel.IsExistingMatchingCard(cm.spfilter,tp,LOCATION_GRAVE+LOCATION_HAND+LOCATION_DECK+LOCATION_EXTRA,0,1,nil,e,tp) end
--e7:SetCondition(cm.rcon) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_FACEUP)
e7:SetReset(RESET_EVENT+RESETS_STANDARD) local g=Duel.SelectTarget(tp,cm.posfilter,tp,0,LOCATION_MZONE,1,1,nil)
Duel.RegisterEffect(e7,tp) Duel.SetOperationInfo(0,CATEGORY_POSITION,g,1,0,0)
local e8=Effect.CreateEffect(e:GetHandler()) Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,1,tp,LOCATION_GRAVE+LOCATION_HAND+LOCATION_DECK+LOCATION_EXTRA)
e8:SetType(EFFECT_TYPE_SINGLE) end
e8:SetCode(EFFECT_CANNOT_CHANGE_POSITION) function cm.posop(e,tp,eg,ep,ev,re,r,rp)
e8:SetReset(RESET_EVENT+RESETS_STANDARD) local tc=Duel.GetFirstTarget()
Duel.RegisterEffect(e8,tp) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON)
local de=Effect.CreateEffect(e:GetHandler()) local g1=Duel.SelectMatchingCard(tp,cm.spfilter,tp,LOCATION_GRAVE+LOCATION_HAND+LOCATION_DECK+LOCATION_EXTRA,0,1,1,nil,e,tp)
de:SetType(EFFECT_TYPE_SINGLE) if g1:GetCount()>0 then
de:SetCode(EVENT_CHANGE_POS) if Duel.SpecialSummon(g1,0,tp,tp,true,false,POS_FACEUP)~=0 and tc:IsFaceup() and tc:IsRelateToEffect(e) and tc:IsFaceup() then
de:SetReset(RESET_EVENT+RESETS_REDIRECT) Duel.ChangePosition(tc,POS_FACEDOWN_ATTACK)
de:SetProperty(EFFECT_FLAG_IGNORE_IMMUNE+EFFECT_FLAG_CANNOT_DISABLE)
de:SetCountLimit(1)
--de:SetLabel(fid2)
de:SetLabelObject(tc)
--de:SetCondition(cm.descon)
de:SetOperation(cm.desop)
g:GetFirst():RegisterEffect(de,tp)
end
local fid2=e:GetHandler():GetFieldID()
if not tc:GetType(TYPE_MONSTER) then
while tc do
local e1=Effect.CreateEffect(tc)
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetCode(EFFECT_CHANGE_TYPE)
e1:SetProperty(EFFECT_FLAG_CANNOT_DISABLE)
e1:SetValue(TYPE_NORMAL+TYPE_MONSTER)
e1:SetReset(RESET_EVENT+0x47c0000)
tc:RegisterEffect(e1,true)
local e2=e1:Clone()
e2:SetCode(EFFECT_REMOVE_RACE)
e2:SetValue(RACE_ALL)
tc:RegisterEffect(e2,true)
local e3=e1:Clone()
e3:SetCode(EFFECT_REMOVE_ATTRIBUTE)
e3:SetValue(0xff)
tc:RegisterEffect(e3,true)
local e4=e1:Clone()
e4:SetCode(EFFECT_SET_BASE_ATTACK)
e4:SetValue(0)
tc:RegisterEffect(e4,true)
local e5=e1:Clone()
e5:SetCode(EFFECT_SET_BASE_DEFENSE)
e5:SetValue(0)
tc:RegisterEffect(e5,true)
tc:RegisterFlagEffect(m+1,RESET_EVENT+0x47c0000+RESET_PHASE+RESETS_STANDARD-RESET_TURN_SET,0,1,fid2)
tc:SetStatus(STATUS_NO_LEVEL,true)
tc=g:GetNext()
end
Duel.SpecialSummon(g,0,1-tp,1-tp,true,false,POS_FACEDOWN_ATTACK)
g:KeepAlive()
tc:RegisterFlagEffect(m,RESET_EVENT+RESETS_STANDARD-RESET_TURN_SET,0,1) tc:RegisterFlagEffect(m,RESET_EVENT+RESETS_STANDARD-RESET_TURN_SET,0,1)
local e6=Effect.CreateEffect(e:GetHandler()) local e1=Effect.CreateEffect(e:GetHandler())
e6:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS) e1:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
e6:SetCode(EVENT_PHASE+PHASE_END) e1:SetCode(EVENT_PHASE+PHASE_END)
e6:SetCountLimit(1) e1:SetCountLimit(1)
e6:SetReset(RESET_PHASE+RESETS_STANDARD-RESET_TURN_SET) e1:SetReset(RESET_PHASE+RESETS_STANDARD-RESET_TURN_SET)
e6:SetCondition(cm.flipcon) e1:SetCondition(cm.flipcon)
e6:SetOperation(cm.flipop) e1:SetOperation(cm.flipop)
e6:SetLabelObject(tc) e1:SetLabelObject(tc)
Duel.RegisterEffect(e6,tp) Duel.RegisterEffect(e1,tp)
local e7=Effect.CreateEffect(e:GetHandler()) local e2=Effect.CreateEffect(e:GetHandler())
e7:SetType(EFFECT_TYPE_SINGLE) e2:SetType(EFFECT_TYPE_SINGLE)
e7:SetCode(EFFECT_CANNOT_FLIP_SUMMON) e2:SetCode(EFFECT_CANNOT_FLIP_SUMMON)
--e7:SetCondition(cm.rcon) --e2:SetCondition(cm.rcon)
e7:SetReset(RESET_EVENT+RESETS_STANDARD) e2:SetReset(RESET_EVENT+RESETS_STANDARD)
Duel.RegisterEffect(e7,tp) Duel.RegisterEffect(e2,tp)
local e8=Effect.CreateEffect(e:GetHandler()) local e3=Effect.CreateEffect(e:GetHandler())
e8:SetType(EFFECT_TYPE_SINGLE) e3:SetType(EFFECT_TYPE_SINGLE)
e8:SetCode(EFFECT_CANNOT_CHANGE_POSITION) e3:SetCode(EFFECT_CANNOT_CHANGE_POSITION)
e8:SetReset(RESET_EVENT+RESETS_STANDARD) e3:SetReset(RESET_EVENT+RESETS_STANDARD)
Duel.RegisterEffect(e8,tp) Duel.RegisterEffect(e3,tp)
local de=Effect.CreateEffect(e:GetHandler())
de:SetType(EFFECT_TYPE_SINGLE)
de:SetCode(EVENT_CHANGE_POS)
de:SetReset(RESET_EVENT+RESETS_REDIRECT)
de:SetProperty(EFFECT_FLAG_IGNORE_IMMUNE+EFFECT_FLAG_CANNOT_DISABLE)
de:SetCountLimit(1)
de:SetLabel(fid2)
de:SetLabelObject(g)
de:SetCondition(cm.descon)
de:SetOperation(cm.desop)
Duel.RegisterEffect(de,tp)
end end
end end
Duel.RegisterFlagEffect(tp,40010160,RESET_PHASE+PHASE_STANDBY,EFFECT_FLAG_OATH,2,Duel.GetTurnCount()) Duel.RegisterFlagEffect(tp,40010160,RESET_PHASE+PHASE_STANDBY,EFFECT_FLAG_OATH,2,Duel.GetTurnCount())
Duel.Draw(tp,1,REASON_EFFECT) Duel.RegisterFlagEffect(tp,40010218,RESET_PHASE+PHASE_STANDBY,EFFECT_FLAG_OATH,2,Duel.GetTurnCount())
end end
function cm.flipcon(e,tp,eg,ep,ev,re,r,rp) function cm.flipcon(e,tp,eg,ep,ev,re,r,rp)
local tc=e:GetLabelObject() local tc=e:GetLabelObject()
...@@ -219,13 +127,13 @@ function cm.flipop(e,tp,eg,ep,ev,re,r,rp) ...@@ -219,13 +127,13 @@ function cm.flipop(e,tp,eg,ep,ev,re,r,rp)
local tc=e:GetLabelObject() local tc=e:GetLabelObject()
Duel.ChangePosition(tc,POS_FACEUP_ATTACK) Duel.ChangePosition(tc,POS_FACEUP_ATTACK)
end end
function cm.descon(e,tp,eg,ep,ev,re,r,rp) function cm.winop(e,tp,eg,ep,ev,re,r,rp)
local tc=e:GetLabelObject() --local WIN_REASON_DISASTER_LEO=0x18
if tc:GetFlagEffectLabel(m+1)~=e:GetLabel() then if Duel.GetTurnPlayer()==tp and Duel.GetCurrentPhase()==PHASE_STANDBY
e:Reset() and Duel.GetLP(tp)<=1000 and Duel.GetMatchingGroupCount(Card.IsFacedown,0,0,LOCATION_MZONE,nil)>=5 then
return false Duel.Hint(HINT_MESSAGE,1-tp,aux.Stringid(m,1))
else return true end Duel.Hint(HINT_MESSAGE,tp,aux.Stringid(m,1))
end Duel.Win(tp,nil)
function cm.desop(e,tp,eg,ep,ev,re,r,rp) end
Duel.Destroy(e:GetHandler(),REASON_EFFECT)
end end
...@@ -5,7 +5,7 @@ cm.named_with_linkjoker=1 ...@@ -5,7 +5,7 @@ cm.named_with_linkjoker=1
cm.named_with_ChaosBreaker=1 cm.named_with_ChaosBreaker=1
function cm.linkjoker(c) function cm.linkjoker(c)
local m=_G["c"..c:GetCode()] local m=_G["c"..c:GetCode()]
return m and m.named_with_linkjoker return m and (m.named_with_linkjoker or (Duel.IsPlayerAffectedByEffect(c:GetControler(),40010218) and m.named_with_Reverse and c:IsLocation(LOCATION_MZONE+LOCATION_HAND)))
end end
function cm.initial_effect(c) function cm.initial_effect(c)
--special summon --special summon
......
...@@ -5,7 +5,7 @@ cm.named_with_linkjoker=1 ...@@ -5,7 +5,7 @@ cm.named_with_linkjoker=1
cm.named_with_ChaosBreaker=1 cm.named_with_ChaosBreaker=1
function cm.linkjoker(c) function cm.linkjoker(c)
local m=_G["c"..c:GetCode()] local m=_G["c"..c:GetCode()]
return m and m.named_with_linkjoker return m and (m.named_with_linkjoker or (Duel.IsPlayerAffectedByEffect(c:GetControler(),40010218) and m.named_with_Reverse and c:IsLocation(LOCATION_MZONE+LOCATION_HAND)))
end end
function cm.ChaosBreaker(c) function cm.ChaosBreaker(c)
local m=_G["c"..c:GetCode()] local m=_G["c"..c:GetCode()]
......
...@@ -215,7 +215,7 @@ function cm.solving(e,tp,eg,ep,ev,re,r,rp) ...@@ -215,7 +215,7 @@ function cm.solving(e,tp,eg,ep,ev,re,r,rp)
local le={tc:IsHasEffect(EFFECT_IMMUNE_EFFECT)} local le={tc:IsHasEffect(EFFECT_IMMUNE_EFFECT)}
for _,v in pairs(le) do for _,v in pairs(le) do
local val=v:GetValue() local val=v:GetValue()
if not val or val(v,re) then if not val or val(v,re,ev) then
tc:RegisterFlagEffect(m+50,RESET_EVENT+RESETS_STANDARD+RESET_CHAIN,0,1) tc:RegisterFlagEffect(m+50,RESET_EVENT+RESETS_STANDARD+RESET_CHAIN,0,1)
break break
end end
......
...@@ -50,6 +50,7 @@ function cm.desop(e,tp,eg,ep,ev,re,r,rp) ...@@ -50,6 +50,7 @@ function cm.desop(e,tp,eg,ep,ev,re,r,rp)
local g2=Duel.SelectMatchingCard(tp,nil,tp,LOCATION_ONFIELD,LOCATION_ONFIELD,1,1,g1) local g2=Duel.SelectMatchingCard(tp,nil,tp,LOCATION_ONFIELD,LOCATION_ONFIELD,1,1,g1)
g1:Merge(g2) g1:Merge(g2)
Duel.HintSelection(g1) Duel.HintSelection(g1)
Duel.Destroy(g1,REASON_EFFECT)
local c=e:GetHandler() local c=e:GetHandler()
if c:IsFacedown() or not c:IsRelateToEffect(e) or c:GetAttack()<2000 or c:IsStatus(STATUS_BATTLE_DESTROYED) then if c:IsFacedown() or not c:IsRelateToEffect(e) or c:GetAttack()<2000 or c:IsStatus(STATUS_BATTLE_DESTROYED) then
return return
...@@ -61,7 +62,4 @@ function cm.desop(e,tp,eg,ep,ev,re,r,rp) ...@@ -61,7 +62,4 @@ function cm.desop(e,tp,eg,ep,ev,re,r,rp)
e1:SetReset(RESET_EVENT+RESETS_STANDARD+RESET_DISABLE) e1:SetReset(RESET_EVENT+RESETS_STANDARD+RESET_DISABLE)
e1:SetValue(-2000) e1:SetValue(-2000)
c:RegisterEffect(e1) c:RegisterEffect(e1)
if not c:IsHasEffect(EFFECT_REVERSE_UPDATE) then
Duel.Destroy(g1,REASON_EFFECT)
end end
\ No newline at end of file
end
\ No newline at end of file
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