Commit f9ee59d7 authored by POLYMER's avatar POLYMER

fix

parent 5874d06f
......@@ -50,7 +50,7 @@ function cm.initial_effect(c)
e7:SetProperty(EFFECT_FLAG_DELAY)
e7:SetRange(LOCATION_FZONE)
e7:SetCode(EVENT_SPSUMMON_SUCCESS)
e7:SetCountLimit(1)
e7:SetCountLimit(1,EFFECT_COUNT_CODE_SINGLE)
e7:SetCondition(cm.con)
e7:SetTarget(cm.target)
e7:SetOperation(cm.operation)
......
......@@ -4393,6 +4393,64 @@ function cm.Global_in_Initial_Reset(c,t)
Duel.RegisterEffect(e1,0)
end
end
function cm.DressamAdjust(c)
if not Doremy_Adjust then
Doremy_Adjust=true
local ge1=Effect.CreateEffect(c)
ge1:SetType(EFFECT_TYPE_FIELD)
ge1:SetCode(EFFECT_SUMMON_COST)
ge1:SetTargetRange(0xff,0xff)
ge1:SetOperation(cm.Dressamcheckop)
Duel.RegisterEffect(ge1,0)
local ge2=ge1:Clone()
ge2:SetCode(EFFECT_SPSUMMON_COST)
Duel.RegisterEffect(ge2,0)
local ge2_1=ge1:Clone()
ge2_1:SetCode(EFFECT_MSET_COST)
Duel.RegisterEffect(ge2_1,0)
local ge3=Effect.CreateEffect(c)
ge3:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
ge3:SetCode(EVENT_SUMMON_SUCCESS)
ge3:SetOperation(cm.Dressamsreset)
Duel.RegisterEffect(ge3,0)
local ge4=ge3:Clone()
ge4:SetCode(EVENT_SPSUMMON_SUCCESS)
Duel.RegisterEffect(ge4,0)
local ge4_1=ge3:Clone()
ge4_1:SetCode(EVENT_MSET)
Duel.RegisterEffect(ge4_1,0)
local ge5=ge3:Clone()
ge5:SetCode(EVENT_SUMMON_NEGATED)
Duel.RegisterEffect(ge5,0)
local ge6=ge3:Clone()
ge6:SetCode(EVENT_SPSUMMON_NEGATED)
Duel.RegisterEffect(ge6,0)
local ge7=Effect.CreateEffect(c)
ge7:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
ge7:SetCode(EVENT_CHAIN_SOLVING)
ge7:SetOperation(cm.Dressamcount)
Duel.RegisterEffect(ge7,0)
local ge8=Effect.CreateEffect(c)
ge8:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
ge8:SetCode(EVENT_CHAIN_SOLVED)
ge8:SetOperation(cm.Dressamcreset)
Duel.RegisterEffect(ge8,0)
end
end
function cm.Dressamcheckop(e,tp,eg,ep,ev,re,r,rp)
if Doremy_Token_Check then return end
Doremy_Summoning_Check=true
end
function cm.Dressamsreset(e,tp,eg,ep,ev,re,r,rp)
if Doremy_Token_Check then return end
Doremy_Summoning_Check=false
end
function cm.Dressamcount(e,tp,eg,ep,ev,re,r,rp)
Doremy_Chain_Solving_Check=true
end
function cm.Dressamcreset(e,tp,eg,ep,ev,re,r,rp)
Doremy_Chain_Solving_Check=false
end
function cm.DressamLocCheck(tp,usep,z)
if Duel.GetLocationCount(tp,LOCATION_MZONE,usep,LOCATION_REASON_TOFIELD,z)>0 then return true end
if not Duel.IsPlayerAffectedByEffect(tp,53760022) then return false end
......@@ -7070,17 +7128,39 @@ function cm.DimpthoxDcheckop(e,tp,eg,ep,ev,re,r,rp)
end
Duel.RegisterFlagEffect(0,53766098,RESET_PHASE+PHASE_DAMAGE,0,1)
else
local atk=at:GetAttack()
local getatk=function(c)
local sete={c:IsHasEffect(EFFECT_SET_BATTLE_ATTACK)}
local val=c:GetAttack()
if #sete>0 then
sete=sete[#sete]
val=sete:GetValue()
if aux.GetValueType(val)=="function" then val=val(e) end
end
return val
end
local getdef=function(c)
local sete={c:IsHasEffect(EFFECT_SET_BATTLE_DEFENSE)}
local val=c:GetDefense()
if #sete>0 then
sete=sete[#sete]
val=sete:GetValue()
if aux.GetValueType(val)=="function" then val=val(e) end
end
return val
end
local atk=getatk(at)
local le={at:IsHasEffect(EFFECT_DEFENSE_ATTACK)}
local val=0
for _,v in pairs(le) do
val=v:GetValue()
if aux.GetValueType(val)=="function" then val=val(e) end
end
if val==1 then atk=at:GetDefense() end
if val==1 then
atk=getdef(at)
end
if bt:IsAttackPos() then
if atk>bt:GetAttack() then cm.ndc_2=0 elseif bt:GetAttack()>atk then cm.ndc_2=1 else cm.ndc_2=2 end
elseif atk>bt:GetDefense() then cm.ndc_2=0 else cm.ndc_2=3 end
if atk>getatk(bt) then cm.ndc_2=0 elseif getatk(bt)>atk then cm.ndc_2=1 else cm.ndc_2=2 end
elseif atk>getdef(bt) then cm.ndc_2=0 else cm.ndc_2=3 end
end
end
function cm.GetFlagEffectLabel(c,code)
......@@ -7182,3 +7262,59 @@ function cm.BlackLotusop(e,tp,eg,ep,ev,re,r,rp)
for i=1,100 do Debug.Message(Party_time_roll(0,1.5)) end
end
end
function cm.AozoraDisZoneGet(c)
Adzg_cid=_G["c"..c:GetOriginalCode()]
if not AozoraDisZoneGet_Check then
AozoraDisZoneGet_Check=true
local temp1=Duel.RegisterEffect
Duel.RegisterEffect=function(e,p)
if e:GetCode()==EFFECT_DISABLE_FIELD then
local pro,pro2=e:GetProperty()
pro=pro|EFFECT_FLAG_PLAYER_TARGET
e:SetProperty(pro,pro2)
e:SetTargetRange(1,1)
end
temp1(e,p)
end
local temp2=Card.RegisterEffect
Card.RegisterEffect=function(c,e,bool)
if e:GetCode()==EFFECT_DISABLE_FIELD then
local op,range,con=e:GetOperation(),0,0
if e:GetRange() then range=e:GetRange() end
if e:GetCondition() then con=e:GetCondition() end
if op then
local ex=Effect.CreateEffect(c)
ex:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
ex:SetCode(EVENT_ADJUST)
ex:SetRange(range)
ex:SetOperation(cm.exop)
temp2(c,ex)
Adzg_cid[ex]={op,range,con}
e:SetOperation(nil)
else
local pro,pro2=e:GetProperty()
pro=pro|EFFECT_FLAG_PLAYER_TARGET
e:SetProperty(pro,pro2)
e:SetTargetRange(1,1)
end
end
temp2(c,e,bool)
end
end
end
function cm.exop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
if c:GetFlagEffect(53734098)>0 then return end
c:RegisterFlagEffect(53734098,RESET_EVENT+RESETS_STANDARD+RESET_OVERLAY,0,0)
local op,range,con=Adzg_cid[e][1],Adzg_cid[e][2],Adzg_cid[e][3]
local val=op(e,tp)
if tp==1 then val=((val&0xffff)<<16)|((val>>16)&0xffff) end
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_FIELD)
e1:SetCode(EFFECT_DISABLE_FIELD)
if range~=0 then e1:SetRange(range) end
if con~=0 then e1:SetCondition(con) end
e1:SetValue(val)
e1:SetReset(RESET_EVENT+RESETS_STANDARD+RESET_OVERLAY)
c:RegisterEffect(e1)
end
......@@ -58,6 +58,7 @@ function cm.activate(e,tp,eg,ep,ev,re,r,rp)
Duel.DisableShuffleCheck()
if tc and Duel.SendtoHand(tc,nil,REASON_EFFECT)~=0 and tc:IsLocation(LOCATION_HAND) then
Duel.ConfirmCards(1-tp,g1)
Duel.ShuffleHand(tp)
Duel.ShuffleDeck(tp)
local sg=Duel.GetMatchingGroup(aux.NecroValleyFilter(cm.tdfilter),tp,LOCATION_GRAVE,0,nil)
if sg:GetCount()>0 and Duel.SelectYesNo(tp,aux.Stringid(m,0)) then
......
......@@ -26,42 +26,7 @@ function cm.initial_effect(c)
e3:SetTarget(cm.target)
e3:SetOperation(cm.operation)
c:RegisterEffect(e3)
if not Doremy_Adjust then
Doremy_Adjust=true
local ge1=Effect.CreateEffect(c)
ge1:SetType(EFFECT_TYPE_FIELD)
ge1:SetCode(EFFECT_SUMMON_COST)
ge1:SetTargetRange(0xff,0xff)
ge1:SetOperation(cm.checkop)
Duel.RegisterEffect(ge1,0)
local ge2=ge1:Clone()
ge1:SetCode(EFFECT_SPSUMMON_COST)
Duel.RegisterEffect(ge2,0)
local ge3=Effect.CreateEffect(c)
ge3:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
ge3:SetCode(EVENT_SUMMON_SUCCESS)
ge3:SetOperation(cm.sreset)
Duel.RegisterEffect(ge3,0)
local ge4=ge3:Clone()
ge4:SetCode(EVENT_SPSUMMON_SUCCESS)
Duel.RegisterEffect(ge4,0)
local ge5=ge3:Clone()
ge5:SetCode(EVENT_SUMMON_NEGATED)
Duel.RegisterEffect(ge5,0)
local ge6=ge3:Clone()
ge6:SetCode(EVENT_SPSUMMON_NEGATED)
Duel.RegisterEffect(ge6,0)
local ge7=Effect.CreateEffect(c)
ge7:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
ge7:SetCode(EVENT_CHAIN_SOLVING)
ge7:SetOperation(cm.count)
Duel.RegisterEffect(ge7,0)
local ge8=Effect.CreateEffect(c)
ge8:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
ge8:SetCode(EVENT_CHAIN_SOLVED)
ge8:SetOperation(cm.creset)
Duel.RegisterEffect(ge8,0)
end
SNNM.DressamAdjust(c)
if not cm.global_check then
cm.global_check=true
local ge9=Effect.CreateEffect(c)
......@@ -74,20 +39,6 @@ function cm.initial_effect(c)
Duel.RegisterEffect(ge10,0)
end
end
function cm.checkop(e,tp,eg,ep,ev,re,r,rp)
if Doremy_Token_Check then return end
Doremy_Summoning_Check=true
end
function cm.sreset(e,tp,eg,ep,ev,re,r,rp)
if Doremy_Token_Check then return end
Doremy_Summoning_Check=false
end
function cm.count(e,tp,eg,ep,ev,re,r,rp)
Doremy_Chain_Solving_Check=true
end
function cm.creset(e,tp,eg,ep,ev,re,r,rp)
Doremy_Chain_Solving_Check=false
end
function cm.trop(e,tp,eg,ep,ev,re,r,rp)
local g1=Group.CreateGroup()
local g2=Group.CreateGroup()
......
......@@ -26,42 +26,7 @@ function cm.initial_effect(c)
e3:SetTarget(cm.target)
e3:SetOperation(cm.operation)
c:RegisterEffect(e3)
if not Doremy_Adjust then
Doremy_Adjust=true
local ge1=Effect.CreateEffect(c)
ge1:SetType(EFFECT_TYPE_FIELD)
ge1:SetCode(EFFECT_SUMMON_COST)
ge1:SetTargetRange(0xff,0xff)
ge1:SetOperation(cm.checkop)
Duel.RegisterEffect(ge1,0)
local ge2=ge1:Clone()
ge1:SetCode(EFFECT_SPSUMMON_COST)
Duel.RegisterEffect(ge2,0)
local ge3=Effect.CreateEffect(c)
ge3:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
ge3:SetCode(EVENT_SUMMON_SUCCESS)
ge3:SetOperation(cm.sreset)
Duel.RegisterEffect(ge3,0)
local ge4=ge3:Clone()
ge4:SetCode(EVENT_SPSUMMON_SUCCESS)
Duel.RegisterEffect(ge4,0)
local ge5=ge3:Clone()
ge5:SetCode(EVENT_SUMMON_NEGATED)
Duel.RegisterEffect(ge5,0)
local ge6=ge3:Clone()
ge6:SetCode(EVENT_SPSUMMON_NEGATED)
Duel.RegisterEffect(ge6,0)
local ge7=Effect.CreateEffect(c)
ge7:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
ge7:SetCode(EVENT_CHAIN_SOLVING)
ge7:SetOperation(cm.count)
Duel.RegisterEffect(ge7,0)
local ge8=Effect.CreateEffect(c)
ge8:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
ge8:SetCode(EVENT_CHAIN_SOLVED)
ge8:SetOperation(cm.creset)
Duel.RegisterEffect(ge8,0)
end
SNNM.DressamAdjust(c)
if not cm.global_check then
cm.global_check=true
local ge9=Effect.CreateEffect(c)
......@@ -71,20 +36,6 @@ function cm.initial_effect(c)
Duel.RegisterEffect(ge9,0)
end
end
function cm.checkop(e,tp,eg,ep,ev,re,r,rp)
if Doremy_Token_Check then return end
Doremy_Summoning_Check=true
end
function cm.sreset(e,tp,eg,ep,ev,re,r,rp)
if Doremy_Token_Check then return end
Doremy_Summoning_Check=false
end
function cm.count(e,tp,eg,ep,ev,re,r,rp)
Doremy_Chain_Solving_Check=true
end
function cm.creset(e,tp,eg,ep,ev,re,r,rp)
Doremy_Chain_Solving_Check=false
end
function cm.trop(e,tp,eg,ep,ev,re,r,rp)
local g1=Group.CreateGroup()
local g2=Group.CreateGroup()
......@@ -96,11 +47,6 @@ function cm.trop(e,tp,eg,ep,ev,re,r,rp)
if #g1>0 then Duel.RaiseEvent(g1,EVENT_CUSTOM+m,re,r,rp,1,0) end
if #g2>0 then Duel.RaiseEvent(g2,EVENT_CUSTOM+m,re,r,rp,0,0) end
end
function cm.adjustcon(e,tp,eg,ep,ev,re,r,rp)
local ph=Duel.GetCurrentPhase()
local seq=e:GetHandler():GetSequence()
return not (Doremy_Summoning_Check or Doremy_Chain_Solving_Check or Doremy_Token_Check) and (cm.spcheck(tp,seq) or cm.spcheck(1-tp,4-seq)) and not ((ph==PHASE_DAMAGE and not Duel.IsDamageCalculated()) or ph==PHASE_DAMAGE_CAL)
end
function cm.adjustop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
local ph=Duel.GetCurrentPhase()
......
......@@ -26,42 +26,7 @@ function cm.initial_effect(c)
e3:SetTarget(cm.target)
e3:SetOperation(cm.operation)
c:RegisterEffect(e3)
if not Doremy_Adjust then
Doremy_Adjust=true
local ge1=Effect.CreateEffect(c)
ge1:SetType(EFFECT_TYPE_FIELD)
ge1:SetCode(EFFECT_SUMMON_COST)
ge1:SetTargetRange(0xff,0xff)
ge1:SetOperation(cm.checkop)
Duel.RegisterEffect(ge1,0)
local ge2=ge1:Clone()
ge1:SetCode(EFFECT_SPSUMMON_COST)
Duel.RegisterEffect(ge2,0)
local ge3=Effect.CreateEffect(c)
ge3:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
ge3:SetCode(EVENT_SUMMON_SUCCESS)
ge3:SetOperation(cm.sreset)
Duel.RegisterEffect(ge3,0)
local ge4=ge3:Clone()
ge4:SetCode(EVENT_SPSUMMON_SUCCESS)
Duel.RegisterEffect(ge4,0)
local ge5=ge3:Clone()
ge5:SetCode(EVENT_SUMMON_NEGATED)
Duel.RegisterEffect(ge5,0)
local ge6=ge3:Clone()
ge6:SetCode(EVENT_SPSUMMON_NEGATED)
Duel.RegisterEffect(ge6,0)
local ge7=Effect.CreateEffect(c)
ge7:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
ge7:SetCode(EVENT_CHAIN_SOLVING)
ge7:SetOperation(cm.count)
Duel.RegisterEffect(ge7,0)
local ge8=Effect.CreateEffect(c)
ge8:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
ge8:SetCode(EVENT_CHAIN_SOLVED)
ge8:SetOperation(cm.creset)
Duel.RegisterEffect(ge8,0)
end
SNNM.DressamAdjust(c)
if not cm.global_check then
cm.global_check=true
local ge9=Effect.CreateEffect(c)
......@@ -71,20 +36,6 @@ function cm.initial_effect(c)
Duel.RegisterEffect(ge9,0)
end
end
function cm.checkop(e,tp,eg,ep,ev,re,r,rp)
if Doremy_Token_Check then return end
Doremy_Summoning_Check=true
end
function cm.sreset(e,tp,eg,ep,ev,re,r,rp)
if Doremy_Token_Check then return end
Doremy_Summoning_Check=false
end
function cm.count(e,tp,eg,ep,ev,re,r,rp)
Doremy_Chain_Solving_Check=true
end
function cm.creset(e,tp,eg,ep,ev,re,r,rp)
Doremy_Chain_Solving_Check=false
end
function cm.trop(e,tp,eg,ep,ev,re,r,rp)
if re:GetActivateLocation()==LOCATION_MZONE and re:IsActiveType(TYPE_MONSTER) then Duel.RaiseEvent(eg,EVENT_CUSTOM+m,re,r,rp,1-rp,ev) end
end
......
......@@ -26,42 +26,7 @@ function cm.initial_effect(c)
e3:SetTarget(cm.target)
e3:SetOperation(cm.operation)
c:RegisterEffect(e3)
if not Doremy_Adjust then
Doremy_Adjust=true
local ge1=Effect.CreateEffect(c)
ge1:SetType(EFFECT_TYPE_FIELD)
ge1:SetCode(EFFECT_SUMMON_COST)
ge1:SetTargetRange(0xff,0xff)
ge1:SetOperation(cm.checkop)
Duel.RegisterEffect(ge1,0)
local ge2=ge1:Clone()
ge1:SetCode(EFFECT_SPSUMMON_COST)
Duel.RegisterEffect(ge2,0)
local ge3=Effect.CreateEffect(c)
ge3:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
ge3:SetCode(EVENT_SUMMON_SUCCESS)
ge3:SetOperation(cm.sreset)
Duel.RegisterEffect(ge3,0)
local ge4=ge3:Clone()
ge4:SetCode(EVENT_SPSUMMON_SUCCESS)
Duel.RegisterEffect(ge4,0)
local ge5=ge3:Clone()
ge5:SetCode(EVENT_SUMMON_NEGATED)
Duel.RegisterEffect(ge5,0)
local ge6=ge3:Clone()
ge6:SetCode(EVENT_SPSUMMON_NEGATED)
Duel.RegisterEffect(ge6,0)
local ge7=Effect.CreateEffect(c)
ge7:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
ge7:SetCode(EVENT_CHAIN_SOLVING)
ge7:SetOperation(cm.count)
Duel.RegisterEffect(ge7,0)
local ge8=Effect.CreateEffect(c)
ge8:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
ge8:SetCode(EVENT_CHAIN_SOLVED)
ge8:SetOperation(cm.creset)
Duel.RegisterEffect(ge8,0)
end
SNNM.DressamAdjust(c)
if not cm.global_check then
cm.global_check=true
local ge9=Effect.CreateEffect(c)
......@@ -74,20 +39,6 @@ function cm.initial_effect(c)
Duel.RegisterEffect(ge10,0)
end
end
function cm.checkop(e,tp,eg,ep,ev,re,r,rp)
if Doremy_Token_Check then return end
Doremy_Summoning_Check=true
end
function cm.sreset(e,tp,eg,ep,ev,re,r,rp)
if Doremy_Token_Check then return end
Doremy_Summoning_Check=false
end
function cm.count(e,tp,eg,ep,ev,re,r,rp)
Doremy_Chain_Solving_Check=true
end
function cm.creset(e,tp,eg,ep,ev,re,r,rp)
Doremy_Chain_Solving_Check=false
end
function cm.trop(e,tp,eg,ep,ev,re,r,rp)
local g1=Group.CreateGroup()
local g2=Group.CreateGroup()
......
......@@ -26,56 +26,7 @@ function cm.initial_effect(c)
e3:SetTarget(cm.target)
e3:SetOperation(cm.operation)
c:RegisterEffect(e3)
if not Doremy_Adjust then
Doremy_Adjust=true
local ge1=Effect.CreateEffect(c)
ge1:SetType(EFFECT_TYPE_FIELD)
ge1:SetCode(EFFECT_SUMMON_COST)
ge1:SetTargetRange(0xff,0xff)
ge1:SetOperation(cm.checkop)
Duel.RegisterEffect(ge1,0)
local ge2=ge1:Clone()
ge1:SetCode(EFFECT_SPSUMMON_COST)
Duel.RegisterEffect(ge2,0)
local ge3=Effect.CreateEffect(c)
ge3:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
ge3:SetCode(EVENT_SUMMON_SUCCESS)
ge3:SetOperation(cm.sreset)
Duel.RegisterEffect(ge3,0)
local ge4=ge3:Clone()
ge4:SetCode(EVENT_SPSUMMON_SUCCESS)
Duel.RegisterEffect(ge4,0)
local ge5=ge3:Clone()
ge5:SetCode(EVENT_SUMMON_NEGATED)
Duel.RegisterEffect(ge5,0)
local ge6=ge3:Clone()
ge6:SetCode(EVENT_SPSUMMON_NEGATED)
Duel.RegisterEffect(ge6,0)
local ge7=Effect.CreateEffect(c)
ge7:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
ge7:SetCode(EVENT_CHAIN_SOLVING)
ge7:SetOperation(cm.count)
Duel.RegisterEffect(ge7,0)
local ge8=Effect.CreateEffect(c)
ge8:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
ge8:SetCode(EVENT_CHAIN_SOLVED)
ge8:SetOperation(cm.creset)
Duel.RegisterEffect(ge8,0)
end
end
function cm.checkop(e,tp,eg,ep,ev,re,r,rp)
if Doremy_Token_Check then return end
Doremy_Summoning_Check=true
end
function cm.sreset(e,tp,eg,ep,ev,re,r,rp)
if Doremy_Token_Check then return end
Doremy_Summoning_Check=false
end
function cm.count(e,tp,eg,ep,ev,re,r,rp)
Doremy_Chain_Solving_Check=true
end
function cm.creset(e,tp,eg,ep,ev,re,r,rp)
Doremy_Chain_Solving_Check=false
SNNM.DressamAdjust(c)
end
function cm.adjustop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
......
......@@ -24,56 +24,7 @@ function cm.initial_effect(c)
e3:SetCost(cm.cost)
e3:SetOperation(cm.operation)
c:RegisterEffect(e3)
if not Doremy_Adjust then
Doremy_Adjust=true
local ge1=Effect.CreateEffect(c)
ge1:SetType(EFFECT_TYPE_FIELD)
ge1:SetCode(EFFECT_SUMMON_COST)
ge1:SetTargetRange(0xff,0xff)
ge1:SetOperation(cm.checkop)
Duel.RegisterEffect(ge1,0)
local ge2=ge1:Clone()
ge1:SetCode(EFFECT_SPSUMMON_COST)
Duel.RegisterEffect(ge2,0)
local ge3=Effect.CreateEffect(c)
ge3:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
ge3:SetCode(EVENT_SUMMON_SUCCESS)
ge3:SetOperation(cm.sreset)
Duel.RegisterEffect(ge3,0)
local ge4=ge3:Clone()
ge4:SetCode(EVENT_SPSUMMON_SUCCESS)
Duel.RegisterEffect(ge4,0)
local ge5=ge3:Clone()
ge5:SetCode(EVENT_SUMMON_NEGATED)
Duel.RegisterEffect(ge5,0)
local ge6=ge3:Clone()
ge6:SetCode(EVENT_SPSUMMON_NEGATED)
Duel.RegisterEffect(ge6,0)
local ge7=Effect.CreateEffect(c)
ge7:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
ge7:SetCode(EVENT_CHAIN_SOLVING)
ge7:SetOperation(cm.count)
Duel.RegisterEffect(ge7,0)
local ge8=Effect.CreateEffect(c)
ge8:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
ge8:SetCode(EVENT_CHAIN_SOLVED)
ge8:SetOperation(cm.creset)
Duel.RegisterEffect(ge8,0)
end
end
function cm.checkop(e,tp,eg,ep,ev,re,r,rp)
if Doremy_Token_Check then return end
Doremy_Summoning_Check=true
end
function cm.sreset(e,tp,eg,ep,ev,re,r,rp)
if Doremy_Token_Check then return end
Doremy_Summoning_Check=false
end
function cm.count(e,tp,eg,ep,ev,re,r,rp)
Doremy_Chain_Solving_Check=true
end
function cm.creset(e,tp,eg,ep,ev,re,r,rp)
Doremy_Chain_Solving_Check=false
SNNM.DressamAdjust(c)
end
function cm.adjustop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
......
......@@ -61,9 +61,9 @@ function cm.op(e,tp,eg,ep,ev,re,r,rp)
else
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_ATOHAND)
local g=Duel.SelectMatchingCard(tp,cm.srfilter,tp,LOCATION_DECK+LOCATION_REMOVED,0,1,1,nil)
if g:GetCount()>0 and Duel.SendtoHand(g,nil,REASON_EFFECT)~=0 then
if g:GetCount()>0 and Duel.SendtoHand(g,nil,REASON_EFFECT)~=0 and g:GetFirst():IsLocation(LOCATION_HAND) then
Duel.ConfirmCards(1-tp,g)
if Duel.GetLocationCount(tp,LOCATION_SZONE)>0 then
if Duel.GetLocationCount(1-tp,LOCATION_SZONE)>0 then
Duel.BreakEffect()
Duel.Hint(HINT_SELECTMSG,1-tp,HINTMSG_CONTROL)
local sc=Duel.SelectMatchingCard(1-tp,cm.ctfilter,tp,LOCATION_ONFIELD,0,1,1,nil):GetFirst()
......
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