Commit c2fec69c authored by POLYMER's avatar POLYMER

fix

parent 8275d7e0
......@@ -10,7 +10,6 @@ function cm.initial_effect(c)
e1:SetCode(custom_code)
e1:SetRange(LOCATION_HAND)
e1:SetProperty(EFFECT_FLAG_DELAY)
e1:SetCountLimit(2,m)
e1:SetCondition(cm.spcon)
e1:SetTarget(cm.sptg)
e1:SetOperation(cm.spop)
......@@ -28,7 +27,6 @@ function cm.initial_effect(c)
e2:SetCode(custom_code2)
e2:SetRange(LOCATION_MZONE)
e2:SetProperty(EFFECT_FLAG_DELAY)
e2:SetCountLimit(2,m)
e2:SetCondition(cm.thcon)
e2:SetTarget(cm.thtg)
e2:SetOperation(cm.thop)
......@@ -163,7 +161,8 @@ function cm.sptg(e,tp,eg,ep,ev,re,r,rp,chk)
local num=#eg --eg:FilterCount(Card.IsType,nil,TYPE_MONSTER)
local tg=eg:Filter(cm.tgfilter,nil)
local spg=tg:Filter(cm.spfilter,nil,e,tp)
if chk==0 then return (num>=2 or (Duel.IsPlayerAffectedByEffect(tp,11451481) and num>=1)) and not Duel.IsPlayerAffectedByEffect(tp,59822133) and Duel.GetLocationCount(tp,LOCATION_MZONE)>1 and c:IsCanBeSpecialSummoned(e,0,tp,false,false) and #spg>0 and c:GetFlagEffect(m)==0 end
if chk==0 then return (num>=2 or (Duel.IsPlayerAffectedByEffect(tp,11451481) and num>=1)) and not Duel.IsPlayerAffectedByEffect(tp,59822133) and Duel.GetLocationCount(tp,LOCATION_MZONE)>1 and c:IsCanBeSpecialSummoned(e,0,tp,false,false) and #spg>0 and c:GetFlagEffect(m)==0 and Duel.GetFlagEffect(tp,m)<2+c:GetFlagEffect(11451926) end
Duel.RegisterFlagEffect(tp,m,RESET_PHASE+PHASE_END,0,1)
c:RegisterFlagEffect(m,RESET_EVENT+RESETS_STANDARD+RESET_CHAIN,0,1)
if Duel.IsPlayerAffectedByEffect(tp,11451481) then
if num>=2 then
......@@ -200,7 +199,8 @@ function cm.thfilter(c)
end
function cm.thtg(e,tp,eg,ep,ev,re,r,rp,chk)
local c=e:GetHandler()
if chk==0 then return (#eg>=2 or Duel.IsPlayerAffectedByEffect(tp,11451481)) and c:IsAbleToHand() and Duel.IsExistingMatchingCard(cm.thfilter,tp,LOCATION_DECK,0,1,nil) and c:GetFlagEffect(m)==0 end
if chk==0 then return (#eg>=2 or Duel.IsPlayerAffectedByEffect(tp,11451481)) and c:IsAbleToHand() and Duel.IsExistingMatchingCard(cm.thfilter,tp,LOCATION_DECK,0,1,nil) and c:GetFlagEffect(m)==0 and Duel.GetFlagEffect(tp,m)<2+c:GetFlagEffect(11451926) end
Duel.RegisterFlagEffect(tp,m,RESET_PHASE+PHASE_END,0,1)
c:RegisterFlagEffect(m,RESET_EVENT+RESETS_STANDARD+RESET_CHAIN,0,1)
if Duel.IsPlayerAffectedByEffect(tp,11451481) then
if #eg>=2 then
......
......@@ -8,7 +8,6 @@ function cm.initial_effect(c)
e1:SetCode(EVENT_CHAINING)
e1:SetRange(LOCATION_HAND)
e1:SetProperty(EFFECT_FLAG_DAMAGE_STEP+EFFECT_FLAG_DAMAGE_CAL)
e1:SetCountLimit(2,m)
e1:SetCondition(cm.ngcon)
e1:SetTarget(cm.ngtg)
e1:SetOperation(cm.ngop)
......@@ -20,7 +19,6 @@ function cm.initial_effect(c)
e2:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_TRIGGER_O)
e2:SetCode(EVENT_CHAIN_SOLVED)
e2:SetRange(LOCATION_GRAVE)
e2:SetCountLimit(2,m)
e2:SetProperty(EFFECT_FLAG_DELAY)
e2:SetCondition(cm.spcon)
e2:SetTarget(cm.sptg)
......@@ -85,7 +83,8 @@ function cm.ngcon(e,tp,eg,ep,ev,re,r,rp)
return ((a>=1 and Duel.IsPlayerAffectedByEffect(tp,11451482)) or a>=2) and b>0
end
function cm.ngtg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return e:GetHandler():IsDestructable() and e:GetHandler():GetFlagEffect(m)==0 end
if chk==0 then return e:GetHandler():IsDestructable() and e:GetHandler():GetFlagEffect(m)==0 and Duel.GetFlagEffect(tp,m)<2+e:GetHandler():GetFlagEffect(11451926) end
Duel.RegisterFlagEffect(tp,m,RESET_PHASE+PHASE_END,0,1)
e:GetHandler():RegisterFlagEffect(m,RESET_EVENT+RESETS_STANDARD+RESET_CHAIN,0,1)
local a,b=0,0
for i=1,ev do
......@@ -139,7 +138,8 @@ end
function cm.sptg(e,tp,eg,ep,ev,re,r,rp,chk)
local c=e:GetHandler()
local num=e:GetLabel()
if chk==0 then return (num>=2 or (Duel.IsPlayerAffectedByEffect(tp,11451482) and num>=1)) and c:IsAbleToHand() and Duel.IsExistingMatchingCard(Card.IsAbleToHand,tp,LOCATION_ONFIELD,LOCATION_ONFIELD,1,nil) end --and not Duel.IsPlayerAffectedByEffect(tp,59822133) and Duel.GetLocationCount(tp,LOCATION_MZONE)>1 and c:IsCanBeSpecialSummoned(e,0,tp,false,false) and Duel.IsExistingMatchingCard(cm.spfilter,tp,LOCATION_HAND,0,1,nil,e,tp) and c:GetFlagEffect(m)==0 end
if chk==0 then return (num>=2 or (Duel.IsPlayerAffectedByEffect(tp,11451482) and num>=1)) and c:IsAbleToHand() and Duel.IsExistingMatchingCard(Card.IsAbleToHand,tp,LOCATION_ONFIELD,LOCATION_ONFIELD,1,nil) and c:GetFlagEffect(m)==0 and Duel.GetFlagEffect(tp,m)<2+c:GetFlagEffect(11451926) end
Duel.RegisterFlagEffect(tp,m,RESET_PHASE+PHASE_END,0,1) --and not Duel.IsPlayerAffectedByEffect(tp,59822133) and Duel.GetLocationCount(tp,LOCATION_MZONE)>1 and c:IsCanBeSpecialSummoned(e,0,tp,false,false) and Duel.IsExistingMatchingCard(cm.spfilter,tp,LOCATION_HAND,0,1,nil,e,tp) end
c:RegisterFlagEffect(m,RESET_EVENT+RESETS_STANDARD+RESET_CHAIN,0,1)
if Duel.IsPlayerAffectedByEffect(tp,11451482) then
if num>=2 then
......
......@@ -25,9 +25,9 @@ function cm.initial_effect(c)
local e4=Effect.CreateEffect(c)
e4:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
e4:SetProperty(EFFECT_FLAG_CANNOT_DISABLE)
e4:SetCode(EVENT_CHAINING)
e4:SetCode(EVENT_ADJUST)
e4:SetRange(LOCATION_SZONE)
e4:SetCondition(cm.chkcon)
--e4:SetCondition(cm.chkcon)
e4:SetOperation(cm.chkop)
c:RegisterEffect(e4)
--setname
......@@ -43,22 +43,22 @@ function cm.initial_effect(c)
c:RegisterEffect(e6)
end
function cm.con1(e,tp,eg,ep,ev,re,r,rp)
return Duel.GetFlagEffect(e:GetHandlerPlayer(),11451481)==0
return Duel.GetFlagEffect(e:GetHandlerPlayer(),11451481)<1+e:GetHandler():GetFlagEffect(11451926)
end
function cm.con2(e,tp,eg,ep,ev,re,r,rp)
return Duel.GetFlagEffect(e:GetHandlerPlayer(),11451482)==0
return Duel.GetFlagEffect(e:GetHandlerPlayer(),11451482)<1+e:GetHandler():GetFlagEffect(11451926)
end
function cm.chkcon(e,tp,eg,ep,ev,re,r,rp)
return re:GetHandler():IsSetCard(0x97b)
end
function cm.chkop(e,tp,eg,ep,ev,re,r,rp,chk)
local c=e:GetHandler()
if Duel.GetFlagEffect(e:GetHandlerPlayer(),11451481)==0 then
if Duel.GetFlagEffect(e:GetHandlerPlayer(),11451481)<1+e:GetHandler():GetFlagEffect(11451926) then
if c:GetFlagEffect(11451481)==0 then c:RegisterFlagEffect(11451481,RESET_EVENT+RESETS_STANDARD,EFFECT_FLAG_CLIENT_HINT,1,0,aux.Stringid(m,4)) end
else
c:ResetFlagEffect(11451481)
end
if Duel.GetFlagEffect(e:GetHandlerPlayer(),11451482)==0 then
if Duel.GetFlagEffect(e:GetHandlerPlayer(),11451482)<1+e:GetHandler():GetFlagEffect(11451926) then
if c:GetFlagEffect(11451482)==0 then c:RegisterFlagEffect(11451482,RESET_EVENT+RESETS_STANDARD,EFFECT_FLAG_CLIENT_HINT,1,0,aux.Stringid(m,5)) end
else
c:ResetFlagEffect(11451482)
......
......@@ -60,7 +60,7 @@ function cm.filter2(c,e,tp,att)
end
function cm.cost(e,tp,eg,ep,ev,re,r,rp,chk)
local act=e:IsHasType(EFFECT_TYPE_ACTIVATE)
if chk==0 then return not act or cm[0]<2 end
if chk==0 then return not act or cm[0]<2+e:GetHandler():GetFlagEffect(11451926) end
if act then
--[[local e1=Effect.CreateEffect(e:GetHandler())
e1:SetType(EFFECT_TYPE_FIELD)
......@@ -75,6 +75,7 @@ function cm.cost(e,tp,eg,ep,ev,re,r,rp,chk)
e4:SetCode(EFFECT_CANNOT_SPECIAL_SUMMON)
e4:SetProperty(EFFECT_FLAG_PLAYER_TARGET+EFFECT_FLAG_OATH)
e4:SetTargetRange(1,1)
e4:SetLabel(2+e:GetHandler():GetFlagEffect(11451926))
e4:SetCondition(cm.econ)
e4:SetTarget(cm.elimit)
e4:SetReset(RESET_PHASE+PHASE_END)
......@@ -82,7 +83,7 @@ function cm.cost(e,tp,eg,ep,ev,re,r,rp,chk)
end
end
function cm.econ(e)
return cm[0]>=2
return cm[0]>=e:GetLabel()
end
function cm.elimit(e,c)
return c:IsLocation(LOCATION_DECK)
......
......@@ -6,7 +6,6 @@ function cm.initial_effect(c)
e1:SetType(EFFECT_TYPE_TRIGGER_O+EFFECT_TYPE_SINGLE)
e1:SetCode(EVENT_SUMMON_SUCCESS)
e1:SetProperty(EFFECT_FLAG_DELAY)
e1:SetCountLimit(2,m)
e1:SetTarget(cm.settg)
e1:SetOperation(cm.setop)
c:RegisterEffect(e1)
......@@ -19,7 +18,6 @@ function cm.initial_effect(c)
e3:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_O)
e3:SetCode(EVENT_TO_GRAVE)
e3:SetProperty(EFFECT_FLAG_DELAY)
e3:SetCountLimit(2,m)
e3:SetCondition(cm.thcon)
e3:SetTarget(cm.thtg)
e3:SetOperation(cm.thop)
......@@ -40,7 +38,8 @@ function cm.filter(c)
return c:IsSetCard(0x97b) and c:IsType(TYPE_SPELL) and c:IsSSetable()
end
function cm.settg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.GetLocationCount(tp,LOCATION_SZONE)>0 and Duel.IsExistingMatchingCard(cm.filter,tp,LOCATION_DECK,0,1,nil) end
if chk==0 then return Duel.GetLocationCount(tp,LOCATION_SZONE)>0 and Duel.IsExistingMatchingCard(cm.filter,tp,LOCATION_DECK,0,1,nil) and Duel.GetFlagEffect(tp,m)<2+e:GetHandler():GetFlagEffect(11451926) end
Duel.RegisterFlagEffect(tp,m,RESET_PHASE+PHASE_END,0,1)
local op=0
if Duel.IsPlayerAffectedByEffect(tp,11451481) then
op=Duel.SelectOption(tp,aux.Stringid(11451483,2),aux.Stringid(11451483,3))
......@@ -70,7 +69,8 @@ function cm.thcon(e,tp,eg,ep,ev,re,r,rp)
return e:GetHandler():IsReason(REASON_COST) and re:IsActivated() and re:IsActiveType(TYPE_MONSTER) and re:GetHandler():IsRace(RACE_FAIRY)
end
function cm.thtg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return true end
if chk==0 then return Duel.GetFlagEffect(tp,m)<2+e:GetHandler():GetFlagEffect(11451926) end
Duel.RegisterFlagEffect(tp,m,RESET_PHASE+PHASE_END,0,1)
local op=0
if Duel.IsPlayerAffectedByEffect(tp,11451481) then
op=Duel.SelectOption(tp,aux.Stringid(11451483,2),aux.Stringid(11451483,3))
......
......@@ -7,7 +7,6 @@ function cm.initial_effect(c)
e1:SetCategory(CATEGORY_REMOVE)
e1:SetType(EFFECT_TYPE_IGNITION)
e1:SetRange(LOCATION_MZONE)
e1:SetCountLimit(2,m)
e1:SetCost(cm.recost)
e1:SetTarget(cm.retg)
e1:SetOperation(cm.reop)
......@@ -19,7 +18,6 @@ function cm.initial_effect(c)
e3:SetCode(EVENT_TO_GRAVE)
e3:SetRange(LOCATION_GRAVE)
e3:SetProperty(EFFECT_FLAG_DELAY)
e3:SetCountLimit(2,m)
e3:SetCondition(cm.thcon)
e3:SetCost(aux.bfgcost)
e3:SetTarget(cm.thtg)
......@@ -59,7 +57,8 @@ function cm.recost(e,tp,eg,ep,ev,re,r,rp,chk)
Duel.Release(g,REASON_COST)
end
function cm.retg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(Card.IsAbleToRemove,tp,0,LOCATION_ONFIELD,1,nil) end
if chk==0 then return Duel.IsExistingMatchingCard(Card.IsAbleToRemove,tp,0,LOCATION_ONFIELD,1,nil) and Duel.GetFlagEffect(tp,m)<2+e:GetHandler():GetFlagEffect(11451926) end
Duel.RegisterFlagEffect(tp,m,RESET_PHASE+PHASE_END,0,1)
Duel.SetOperationInfo(0,CATEGORY_REMOVE,nil,1,0,LOCATION_ONFIELD)
end
function cm.cfilter(c)
......@@ -91,7 +90,8 @@ function cm.thcon(e,tp,eg,ep,ev,re,r,rp)
end
function cm.thtg(e,tp,eg,ep,ev,re,r,rp,chk)
local g=Duel.GetFieldGroup(tp,0,LOCATION_ONFIELD)
if chk==0 then return Duel.IsPlayerCanRelease(1-tp) and g:IsExists(Card.IsReleasable,1,nil,1-tp) and #g>2 end --or (Duel.IsPlayerAffectedByEffect(tp,11451482) and #g>2)) end
if chk==0 then return Duel.IsPlayerCanRelease(1-tp) and g:IsExists(Card.IsReleasable,1,nil,1-tp) and #g>2 and Duel.GetFlagEffect(tp,m)<2+e:GetHandler():GetFlagEffect(11451926) end
Duel.RegisterFlagEffect(tp,m,RESET_PHASE+PHASE_END,0,1) --or (Duel.IsPlayerAffectedByEffect(tp,11451482) and #g>2)) end
local op=0
if Duel.IsPlayerAffectedByEffect(tp,11451482) then
op=Duel.SelectOption(tp,aux.Stringid(11451483,2),aux.Stringid(11451483,3))
......
......@@ -105,7 +105,7 @@ function cm.condition(e,tp,eg,ep,ev,re,r,rp)
return rc:IsSetCard(0x9977)
end
function cm.target(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return cm.chain_with_stridgon>=3 end
if chk==0 then return cm.chain_with_stridgon>=3 and Duel.IsPlayerCanDraw(tp,3) end
Duel.RegisterFlagEffect(0,11451760,RESET_CHAIN,0,1)
Duel.SetTargetPlayer(tp)
Duel.SetTargetParam(3)
......
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