Commit 67bec91b authored by 花桃白音's avatar 花桃白音

fix:101s/119/150s/164/172/379s/473s/648s/650s/714s,fix cdb in 648,add 2filed pics

parent 214bb72c
Pipeline #24510 passed with stages
in 29 minutes and 18 seconds
No preview for this file type
expansions/pics/field/50218220.jpg

36 KB | W: | H:

expansions/pics/field/50218220.jpg

295 KB | W: | H:

expansions/pics/field/50218220.jpg
expansions/pics/field/50218220.jpg
expansions/pics/field/50218220.jpg
expansions/pics/field/50218220.jpg
  • 2-up
  • Swipe
  • Onion skin
--余火 --余火
if not pcall(function() require("expansions/script/c10199990") end) then require("script/c10199990") end if not pcall(function() dofile("expansions/script/c10199990.lua") end) then dofile("script/c10199990.lua") end
local m,cm=rscf.DefineCard(10171001) local m,cm=rscf.DefineCard(10171001)
if rsds then return end if rsds then return end
rsds=cm rsds=cm
...@@ -131,11 +131,8 @@ function cm.speop(spcode) ...@@ -131,11 +131,8 @@ function cm.speop(spcode)
end end
------------------------- -------------------------
function cm.initial_effect(c) function cm.initial_effect(c)
--local e1=rsef.QO(c,nil,{m,1},nil,"rec","ptg",LOCATION_HAND+LOCATION_MZONE,nil,rsds.cost1,rsop.target(800,"rec"),cm.recop)
local e2=rsef.QO(c,nil,{m,2},nil,"sp",nil,LOCATION_HAND+LOCATION_MZONE,nil,rsds.cost1,rsop.target2(cm.resetfun,cm.spfilter,"sp",LOCATION_HAND),cm.spop) local e2=rsef.QO(c,nil,{m,2},nil,"sp",nil,LOCATION_HAND+LOCATION_MZONE,nil,rsds.cost1,rsop.target2(cm.resetfun,cm.spfilter,"sp",LOCATION_HAND),cm.spop)
--local e3=rsef.QO(c,nil,{m,3},nil,"rm",nil,LOCATION_HAND+LOCATION_MZONE,nil,rsds.cost1,rsop.target2(cm.resetfun,cm.rmfilter,"rm",LOCATION_MZONE,LOCATION_MZONE),cm.rmop) local e3=rsef.QO(c,nil,{m,4},nil,"atk,def","dsp",LOCATION_HAND+LOCATION_MZONE,nil,rsds.cost1,rsop.target(cm.atkfilter,"dum",LOCATION_MZONE,LOCATION_MZONE),cm.atkop)
local e3=rsef.QO(c,nil,{m,4},nil,"atk,def",nil,LOCATION_HAND+LOCATION_MZONE,nil,rsds.cost1,rsop.target2(cm.resetfun,cm.atkfilter,nil,LOCATION_MZONE,LOCATION_MZONE),cm.atkop)
--local e4=rsef.FTF(c,EVENT_LEAVE_FIELD,{m,0},{2,m},"th",nil,LOCATION_REMOVED,cm.embthcon,rscost.regflag2(),rsop.target(Card.IsAbleToHand,"th"),cm.embthop)
local e4=rsef.FTF(c,EVENT_LEAVE_FIELD,{m,0},nil,"th",nil,LOCATION_REMOVED,cm.embthcon,cm.embthcost,rsop.target(Card.IsAbleToHand,"th"),cm.embthop) local e4=rsef.FTF(c,EVENT_LEAVE_FIELD,{m,0},nil,"th",nil,LOCATION_REMOVED,cm.embthcon,cm.embthcost,rsop.target(Card.IsAbleToHand,"th"),cm.embthop)
end end
function cm.recop(e,tp) function cm.recop(e,tp)
...@@ -161,7 +158,7 @@ function cm.rmop(e,tp) ...@@ -161,7 +158,7 @@ function cm.rmop(e,tp)
end end
end end
function cm.atkfilter(c,e,tp) function cm.atkfilter(c,e,tp)
return c:IsFaceup() and (e:GetLabel()~=100 or c~=e:GetHandler()) and c:IsSetCard(0xa335,0xc335) return c:IsFaceup() and ( not e:IsCostChecked() or c~=e:GetHandler())
end end
function cm.atkop(e,tp) function cm.atkop(e,tp)
local ct=rsop.SelectSolve(HINTMSG_FACEUP,tp,cm.atkfilter,tp,LOCATION_MZONE,LOCATION_MZONE,1,1,aux.ExceptThisCard(e),cm.solvefun,e,tp) local ct=rsop.SelectSolve(HINTMSG_FACEUP,tp,cm.atkfilter,tp,LOCATION_MZONE,LOCATION_MZONE,1,1,aux.ExceptThisCard(e),cm.solvefun,e,tp)
...@@ -169,7 +166,8 @@ end ...@@ -169,7 +166,8 @@ end
function cm.solvefun(g,e,tp) function cm.solvefun(g,e,tp)
local tc=g:GetFirst() local tc=g:GetFirst()
local c=e:GetHandler() local c=e:GetHandler()
local e1,e2=rscf.QuickBuff({c,tc},"atk+,def+",500,"reset",rsreset.est_pend) Duel.HintSelection(Group.FromCards(tc))
local e1,e2=rscf.QuickBuff({c,tc},"atk+,def+",500,"rst",rsreset.est_pend)
tc:RegisterFlagEffect(m,rsreset.est_pend-RESET_LEAVE,EFFECT_FLAG_CLIENT_HINT,1,0,aux.Stringid(m,5)) tc:RegisterFlagEffect(m,rsreset.est_pend-RESET_LEAVE,EFFECT_FLAG_CLIENT_HINT,1,0,aux.Stringid(m,5))
local e3,e4=rsef.FV_CANNOT_DISABLE({c,tp},"neg,dise",cm.imval(tc),nil,nil,nil,rsreset.pend) local e3,e4=rsef.FV_CANNOT_DISABLE({c,tp},"neg,dise",cm.imval(tc),nil,nil,nil,rsreset.pend)
--local phase=Duel.GetCurrentPhase() --local phase=Duel.GetCurrentPhase()
......
--逸想妖精龙 --逸想妖精龙
function c11900105.initial_effect(c) function c11900105.initial_effect(c)
--spirit
aux.EnableSpiritReturn(c,EVENT_FLIP)
--summon limit --summon limit
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
e1:SetProperty(EFFECT_FLAG_CANNOT_DISABLE+EFFECT_FLAG_UNCOPYABLE) e1:SetProperty(EFFECT_FLAG_CANNOT_DISABLE+EFFECT_FLAG_UNCOPYABLE)
......
...@@ -57,7 +57,7 @@ function cm.thop(e,tp,eg,ep,ev,re,r,rp) ...@@ -57,7 +57,7 @@ function cm.thop(e,tp,eg,ep,ev,re,r,rp)
end end
end end
function cm.rmcon(e,tp,eg,ep,ev,re,r,rp) function cm.rmcon(e,tp,eg,ep,ev,re,r,rp)
return re and re:GetHandler():IsRace(RACE_MACHINE) return re and re:IsActiveType(TYPE_MONSTER) and Duel.GetChainInfo(ev,CHAININFO_TRIGGERING_RACE)&RACE_MACHINE~=0
end end
function cm.rmfilter(c) function cm.rmfilter(c)
return c:IsAbleToRemove() and c:IsType(TYPE_MONSTER) return c:IsAbleToRemove() and c:IsType(TYPE_MONSTER)
......
...@@ -40,7 +40,7 @@ function cm.synclv(e,c) ...@@ -40,7 +40,7 @@ function cm.synclv(e,c)
return (6<<16)+lv return (6<<16)+lv
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 re and re:GetHandler():IsRace(RACE_MACHINE) return re and re:IsActiveType(TYPE_MONSTER) and Duel.GetChainInfo(ev,CHAININFO_TRIGGERING_RACE)&RACE_MACHINE~=0
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.scfilter,tp,LOCATION_EXTRA,0,1,nil) or Duel.IsExistingMatchingCard(cm.xyzfilter,tp,LOCATION_EXTRA,0,1,nil) end if chk==0 then return Duel.IsExistingMatchingCard(cm.scfilter,tp,LOCATION_EXTRA,0,1,nil) or Duel.IsExistingMatchingCard(cm.xyzfilter,tp,LOCATION_EXTRA,0,1,nil) end
......
...@@ -78,7 +78,7 @@ function cm.tgop(e,tp,eg,ep,ev,re,r,rp) ...@@ -78,7 +78,7 @@ function cm.tgop(e,tp,eg,ep,ev,re,r,rp)
end end
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 re and re:GetHandler():IsRace(RACE_MACHINE) return re and re:IsActiveType(TYPE_MONSTER) and Duel.GetChainInfo(ev,CHAININFO_TRIGGERING_RACE)&RACE_MACHINE~=0
end end
function cm.filter(c,e,tp) function cm.filter(c,e,tp)
return c:IsCode(15005130) and c:IsCanBeSpecialSummoned(e,0,tp,false,false) return c:IsCode(15005130) and c:IsCanBeSpecialSummoned(e,0,tp,false,false)
......
...@@ -53,7 +53,7 @@ function cm.operation(e,tp,eg,ep,ev,re,r,rp) ...@@ -53,7 +53,7 @@ function cm.operation(e,tp,eg,ep,ev,re,r,rp)
Duel.RegisterFlagEffect(tp,m,RESET_PHASE+PHASE_END,0,1) Duel.RegisterFlagEffect(tp,m,RESET_PHASE+PHASE_END,0,1)
end end
function cm.tfcon(e,tp,eg,ep,ev,re,r,rp) function cm.tfcon(e,tp,eg,ep,ev,re,r,rp)
return re and re:GetHandler():IsRace(RACE_MACHINE) return re and re:IsActiveType(TYPE_MONSTER) and Duel.GetChainInfo(ev,CHAININFO_TRIGGERING_RACE)&RACE_MACHINE~=0
end end
function cm.tffilter(c,tp) function cm.tffilter(c,tp)
return c:IsType(TYPE_SPELL+TYPE_TRAP) and not c:IsType(TYPE_FIELD) and aux.IsCodeListed(c,15005130) and c:IsType(TYPE_CONTINUOUS) return c:IsType(TYPE_SPELL+TYPE_TRAP) and not c:IsType(TYPE_FIELD) and aux.IsCodeListed(c,15005130) and c:IsType(TYPE_CONTINUOUS)
......
...@@ -54,7 +54,7 @@ function cm.spop(e,tp,eg,ep,ev,re,r,rp) ...@@ -54,7 +54,7 @@ function cm.spop(e,tp,eg,ep,ev,re,r,rp)
end end
end end
function cm.descon(e,tp,eg,ep,ev,re,r,rp) function cm.descon(e,tp,eg,ep,ev,re,r,rp)
return re and re:GetHandler():IsRace(RACE_MACHINE) return re and re:IsActiveType(TYPE_MONSTER) and Duel.GetChainInfo(ev,CHAININFO_TRIGGERING_RACE)&RACE_MACHINE~=0
end end
function cm.destg(e,tp,eg,ep,ev,re,r,rp,chk) function cm.destg(e,tp,eg,ep,ev,re,r,rp,chk)
local g=Duel.GetMatchingGroup(aux.TRUE,tp,LOCATION_ONFIELD,LOCATION_ONFIELD,nil) local g=Duel.GetMatchingGroup(aux.TRUE,tp,LOCATION_ONFIELD,LOCATION_ONFIELD,nil)
......
...@@ -76,6 +76,7 @@ function cm.tnop(e,tp,eg,ep,ev,re,r,rp) ...@@ -76,6 +76,7 @@ function cm.tnop(e,tp,eg,ep,ev,re,r,rp)
e3:SetCode(EVENT_CHAINING) e3:SetCode(EVENT_CHAINING)
e3:SetProperty(EFFECT_FLAG_DAMAGE_STEP+EFFECT_FLAG_DAMAGE_CAL+EFFECT_FLAG_NO_TURN_RESET) e3:SetProperty(EFFECT_FLAG_DAMAGE_STEP+EFFECT_FLAG_DAMAGE_CAL+EFFECT_FLAG_NO_TURN_RESET)
e3:SetRange(LOCATION_MZONE) e3:SetRange(LOCATION_MZONE)
e3:SetCountLimit(1)
e3:SetReset(RESET_EVENT+RESETS_STANDARD) e3:SetReset(RESET_EVENT+RESETS_STANDARD)
e3:SetCondition(cm.discon) e3:SetCondition(cm.discon)
e3:SetTarget(cm.distg) e3:SetTarget(cm.distg)
......
This diff is collapsed.
...@@ -31,7 +31,7 @@ function s.initial_effect(c) ...@@ -31,7 +31,7 @@ function s.initial_effect(c)
c:RegisterEffect(e3) c:RegisterEffect(e3)
end end
function s.stfilter(c,tp) function s.stfilter(c,tp)
return not c:IsCode(id) and c:IsAbleToHand(0xce2) and c:IsAbleToHand() return not c:IsCode(id) and c:IsSetCard(0xce2) and c:IsAbleToHand()
end end
function s.activate(e,tp,eg,ep,ev,re,r,rp) function s.activate(e,tp,eg,ep,ev,re,r,rp)
local g=Duel.GetMatchingGroup(s.stfilter,tp,LOCATION_DECK,0,nil) local g=Duel.GetMatchingGroup(s.stfilter,tp,LOCATION_DECK,0,nil)
......
...@@ -73,8 +73,11 @@ function cm.checkcon(e,tp,eg,ep,ev,re,r,rp) ...@@ -73,8 +73,11 @@ function cm.checkcon(e,tp,eg,ep,ev,re,r,rp)
return re:IsActiveType(TYPE_MONSTER) return re:IsActiveType(TYPE_MONSTER)
end end
function cm.checkop(e,tp,eg,ep,ev,re,r,rp) function cm.checkop(e,tp,eg,ep,ev,re,r,rp)
local code=re:GetHandler():GetOriginalCodeRule() local codes={re:GetHandler():GetOriginalCodeRule()}
Duel.RegisterFlagEffect(tp,m+1,RESET_PHASE+PHASE_END,0,1,code) for i=1,#codes do
Duel.RegisterFlagEffect(tp,m+1,RESET_PHASE+PHASE_END,0,1,codes[i])
Duel.RegisterFlagEffect(1-tp,m+1,RESET_PHASE+PHASE_END,0,1,codes[i])
end
end end
function cm.limtg(e,tp,eg,ep,ev,re,r,rp,chk) function cm.limtg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return true end if chk==0 then return true end
...@@ -96,7 +99,8 @@ end ...@@ -96,7 +99,8 @@ end
---------------------------------------------------------------------------- ----------------------------------------------------------------------------
function cm.thcon(e,tp,eg,ep,ev,re,r,rp) function cm.thcon(e,tp,eg,ep,ev,re,r,rp)
return r==REASON_LINK local c=e:GetHandler():GetReasonCard()
return r==REASON_LINK and c.SetCard_SCP
end end
function cm.thfilter(c) function cm.thfilter(c)
return c.SetCard_SCP and c:IsType(TYPE_SPELL+TYPE_TRAP) and c:IsAbleToHand() return c.SetCard_SCP and c:IsType(TYPE_SPELL+TYPE_TRAP) and c:IsAbleToHand()
......
--复读姬的外包 --复读姬的外包
if not pcall(function() require("expansions/script/c10199990") end) then require("script/c10199990") end if not pcall(function() dofile("expansions/script/c10199990.lua") end) then dofile("script/c10199990.lua") end
\ No newline at end of file \ No newline at end of file
--神社 --神社
if not pcall(function() require("expansions/script/c37900000") end) then require("script/c37900000") end if not pcall(function() dofile("expansions/script/c37900000.lua") end) then dofile("script/c37900000.lua") end
local m , cm = rscf.DefineCard(37900001) local m , cm = rscf.DefineCard(37900001)
function cm.initial_effect(c) function cm.initial_effect(c)
local e1 = rsef.A(c) local e1 = rsef.A(c)
......
--神隐之地 --神隐之地
if not pcall(function() require("expansions/script/c37900000") end) then require("script/c37900000") end if not pcall(function() dofile("expansions/script/c37900000.lua") end) then dofile("script/c37900000.lua") end
local m , cm = rscf.DefineCard(37900002,"ShenYing") local m , cm = rscf.DefineCard(37900002,"ShenYing")
function cm.initial_effect(c) function cm.initial_effect(c)
local e1 = rsef.A(c) local e1 = rsef.A(c)
......
--神隐的奇迹 --神隐的奇迹
if not pcall(function() require("expansions/script/c37900000") end) then require("script/c37900000") end if not pcall(function() dofile("expansions/script/c37900000.lua") end) then dofile("script/c37900000.lua") end
local m , cm = rscf.DefineCard(37900003,"ShenYing") local m , cm = rscf.DefineCard(37900003,"ShenYing")
function cm.initial_effect(c) function cm.initial_effect(c)
local e1 = rsef.A(c,nil,nil,nil,nil,"dis~,dise~,neg~",cm.con,nil,nil,cm.act) local e1 = rsef.A(c,nil,nil,nil,nil,"dis~,dise~,neg~",cm.con,nil,nil,cm.act)
......
--现世的神隐事件 --现世的神隐事件
if not pcall(function() require("expansions/script/c37900000") end) then require("script/c37900000") end if not pcall(function() dofile("expansions/script/c37900000.lua") end) then dofile("script/c37900000.lua") end
local m , cm = rscf.DefineCard(37900004,"ShenYing") local m , cm = rscf.DefineCard(37900004,"ShenYing")
function cm.initial_effect(c) function cm.initial_effect(c)
local e1 = rsef.A(c,nil,nil,{1,m},"sp,se,th",nil,nil,nil,rsop.target({ cm.spfilter,"sp",LOCATION_HAND },{ aux.TRUE,"dum",LOCATION_DECK,0,5 }),cm.act) local e1 = rsef.A(c,nil,nil,{1,m},"sp,se,th",nil,nil,nil,rsop.target({ cm.spfilter,"sp",LOCATION_HAND },{ aux.TRUE,"dum",LOCATION_DECK,0,5 }),cm.act)
......
--神隐事件·符卡重构 --神隐事件·符卡重构
if not pcall(function() require("expansions/script/c37900000") end) then require("script/c37900000") end if not pcall(function() dofile("expansions/script/c37900000.lua") end) then dofile("script/c37900000.lua") end
local m,cm = rscf.DefineCard(37900006) local m,cm = rscf.DefineCard(37900006)
function cm.initial_effect(c) function cm.initial_effect(c)
local e2 = rsef.I(c,"td",{1,m},"td,dr",nil,LOCATION_GRAVE,nil,nil,rsop.target(Card.IsAbleToDeck,"td"),cm.tdop) local e2 = rsef.I(c,"td",{1,m},"td,dr",nil,LOCATION_GRAVE,nil,nil,rsop.target(Card.IsAbleToDeck,"td"),cm.tdop)
......
--黑白魔法使 --黑白魔法使
if not pcall(function() require("expansions/script/c37900000") end) then require("script/c37900000") end if not pcall(function() dofile("expansions/script/c37900000.lua") end) then dofile("script/c37900000.lua") end
local m,cm = rscf.DefineCard(37900011) local m,cm = rscf.DefineCard(37900011)
function cm.initial_effect(c) function cm.initial_effect(c)
--xyz summon --xyz summon
......
--色彩艳丽的门卫 --色彩艳丽的门卫
if not pcall(function() require("expansions/script/c37900000") end) then require("script/c37900000") end if not pcall(function() dofile("expansions/script/c37900000.lua") end) then dofile("script/c37900000.lua") end
local m,cm = rscf.DefineCard(37900012) local m,cm = rscf.DefineCard(37900012)
function cm.initial_effect(c) function cm.initial_effect(c)
--xyz summon --xyz summon
......
--隐居地上的月球公主 --隐居地上的月球公主
if not pcall(function() require("expansions/script/c37900000") end) then require("script/c37900000") end if not pcall(function() dofile("expansions/script/c37900000.lua") end) then dofile("script/c37900000.lua") end
local m,cm = rscf.DefineCard(37900013) local m,cm = rscf.DefineCard(37900013)
function cm.initial_effect(c) function cm.initial_effect(c)
c:SetSPSummonOnce(m) c:SetSPSummonOnce(m)
......
--永远的巫女 --永远的巫女
if not pcall(function() require("expansions/script/c37900000") end) then require("script/c37900000") end if not pcall(function() dofile("expansions/script/c37900000.lua") end) then dofile("script/c37900000.lua") end
local m,cm = rscf.DefineCard(37900014) local m,cm = rscf.DefineCard(37900014)
function cm.initial_effect(c) function cm.initial_effect(c)
--xyz summon --xyz summon
......
--幽人的庭师 --幽人的庭师
if not pcall(function() require("expansions/script/c37900000") end) then require("script/c37900000") end if not pcall(function() dofile("expansions/script/c37900000.lua") end) then dofile("script/c37900000.lua") end
local m,cm = rscf.DefineCard(37900015) local m,cm = rscf.DefineCard(37900015)
function cm.initial_effect(c) function cm.initial_effect(c)
--xyz summon --xyz summon
......
--完美潇洒的女仆长 --完美潇洒的女仆长
if not pcall(function() require("expansions/script/c37900000") end) then require("script/c37900000") end if not pcall(function() dofile("expansions/script/c37900000.lua") end) then dofile("script/c37900000.lua") end
local m,cm = rscf.DefineCard(37900016) local m,cm = rscf.DefineCard(37900016)
function cm.initial_effect(c) function cm.initial_effect(c)
c:SetSPSummonOnce(m) c:SetSPSummonOnce(m)
......
--不明的魔法之元 --不明的魔法之元
if not pcall(function() require("expansions/script/c37900000") end) then require("script/c37900000") end if not pcall(function() dofile("expansions/script/c37900000.lua") end) then dofile("script/c37900000.lua") end
local m,cm = rscf.DefineCard(37900017) local m,cm = rscf.DefineCard(37900017)
function cm.initial_effect(c) function cm.initial_effect(c)
--xyz summon --xyz summon
...@@ -14,21 +14,8 @@ function cm.initial_effect(c) ...@@ -14,21 +14,8 @@ function cm.initial_effect(c)
local e2 = rsef.FV_Card(c,"im",cm.imval, local e2 = rsef.FV_Card(c,"im",cm.imval,
aux.TargetBoolFunction(Card.IsType,TYPE_SPELL+TYPE_TRAP), aux.TargetBoolFunction(Card.IsType,TYPE_SPELL+TYPE_TRAP),
{LOCATION_ONFIELD,0},nil,LOCATION_MZONE) {LOCATION_ONFIELD,0},nil,LOCATION_MZONE)
--immune effect local e3 = rsef.SV_Card(c,"indct",rsval.indbae(),"sr",LOCATION_MZONE,
local e3=Effect.CreateEffect(c) nil,nil,nil,2)
e3:SetType(EFFECT_TYPE_FIELD)
e3:SetCode(EFFECT_IMMUNE_EFFECT)
e3:SetRange(LOCATION_MZONE)
e3:SetTargetRange(LOCATION_SZONE,0)
e3:SetTarget(cm.etarget)
e3:SetValue(cm.efilter)
c:RegisterEffect(e3)
end
function cm.etarget(e,c)
return c:IsSetCard(0x389)
end
function cm.efilter(e,re)
return te:GetOwner()~=e:GetOwner()
end end
function cm.atkop(e,tp) function cm.atkop(e,tp)
local e1 = rsef.FV_Card({e:GetHandler(),tp},"def+",500, local e1 = rsef.FV_Card({e:GetHandler(),tp},"def+",500,
......
--不老不死的魔女 --不老不死的魔女
if not pcall(function() require("expansions/script/c37900000") end) then require("script/c37900000") end if not pcall(function() dofile("expansions/script/c37900000.lua") end) then dofile("script/c37900000.lua") end
local m,cm = rscf.DefineCard(37900029) local m,cm = rscf.DefineCard(37900029)
function cm.initial_effect(c) function cm.initial_effect(c)
c:EnableReviveLimit() c:EnableReviveLimit()
......
--护界神·提露密努斯·艾斯特 --护界神·提露密努斯·艾斯特
if not pcall(function() require("expansions/script/c37900000") end) then require("script/c37900000") end if not pcall(function() dofile("expansions/script/c37900000.lua") end) then dofile("script/c37900000.lua") end
local m,cm = rscf.DefineCard(37900030) local m,cm = rscf.DefineCard(37900030)
function cm.initial_effect(c) function cm.initial_effect(c)
--xyz summon --xyz summon
......
...@@ -14,7 +14,7 @@ function s.indes(c) ...@@ -14,7 +14,7 @@ function s.indes(c)
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_FIELD) e1:SetType(EFFECT_TYPE_FIELD)
e1:SetCode(EFFECT_INDESTRUCTABLE_COUNT) e1:SetCode(EFFECT_INDESTRUCTABLE_COUNT)
e1:SetRange(LOCATION_MZONE) e1:SetRange(LOCATION_FZONE)
e1:SetTargetRange(LOCATION_MZONE,0) e1:SetTargetRange(LOCATION_MZONE,0)
e1:SetTarget(s.indtg) e1:SetTarget(s.indtg)
e1:SetValue(s.indct) e1:SetValue(s.indct)
......
...@@ -18,7 +18,7 @@ function s.target(e,tp,eg,ep,ev,re,r,rp,chk,chkc) ...@@ -18,7 +18,7 @@ function s.target(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
if chkc then return chkc:IsOnField() and s.filter(chkc) end if chkc then return chkc:IsOnField() and s.filter(chkc) end
if chk==0 then return Duel.IsExistingTarget(s.filter,tp,LOCATION_MZONE,0,1,nil) if chk==0 then return Duel.IsExistingTarget(s.filter,tp,LOCATION_MZONE,0,1,nil)
and Duel.IsExistingMatchingCard(s.sumfilter,tp,LOCATION_HAND,0,1,nil) end and Duel.IsExistingMatchingCard(s.sumfilter,tp,LOCATION_HAND,0,1,nil) end
local g=Duel.SelectTarget(tp,s.filter,tp,LOCATION_MZONE,0,1,nil) local g=Duel.SelectTarget(tp,s.filter,tp,LOCATION_MZONE,0,1,1,nil)
Duel.SetOperationInfo(0,CATEGORY_SUMMON,nil,0,tp,LOCATION_HAND) Duel.SetOperationInfo(0,CATEGORY_SUMMON,nil,0,tp,LOCATION_HAND)
Duel.SetOperationInfo(0,CATEGORY_RELEASE,g,0,0,0) Duel.SetOperationInfo(0,CATEGORY_RELEASE,g,0,0,0)
end end
......
...@@ -4,18 +4,22 @@ function s.active(c) ...@@ -4,18 +4,22 @@ function s.active(c)
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
e1:SetCategory(CATEGORY_RELEASE+CATEGORY_DESTROY+CATEGORY_SPECIAL_SUMMON+CATEGORY_DISABLE) e1:SetCategory(CATEGORY_RELEASE+CATEGORY_DESTROY+CATEGORY_SPECIAL_SUMMON+CATEGORY_DISABLE)
e1:SetType(EFFECT_TYPE_ACTIVATE) e1:SetType(EFFECT_TYPE_ACTIVATE)
e1:SetCode(EVENT_FREE_CHAIN) e1:SetCode(EVENT_CHAINING)
e1:SetCountLimit(1,id) e1:SetCountLimit(1,id)
e1:SetCondition(s.condition)
e1:SetTarget(s.target) e1:SetTarget(s.target)
e1:SetOperation(s.activate) e1:SetOperation(s.activate)
c:RegisterEffect(e1) c:RegisterEffect(e1)
end end
function s.condition(e,tp,eg,ep,ev,re,r,rp)
return rp~=tp and re:IsActiveType(TYPE_MONSTER) and Duel.IsChainNegatable(ev)
end
function s.rfilter(c) function s.rfilter(c)
return c:IsReleasable() and c:IsType(TYPE_MONSTER) return c:IsReleasable() and c:IsType(TYPE_MONSTER)
end end
function s.target(e,tp,eg,ep,ev,re,r,rp,chk) function s.target(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(s.rfilter,tp,LOCATION_HAND+LOCATION_ONFIELD,0,1,nil) end if chk==0 then return Duel.IsExistingMatchingCard(s.rfilter,tp,LOCATION_HAND+LOCATION_ONFIELD,0,1,nil) end
Duel.SetOperationInfo(0,CATEGORY_RELEASE,nil,1,0,0) Duel.SetOperationInfo(0,CATEGORY_RELEASE,nil,1,tp,LOCATION_HAND+LOCATION_ONFIELD)
Duel.SetOperationInfo(0,CATEGORY_DISABLE,eg,1,0,0) Duel.SetOperationInfo(0,CATEGORY_DISABLE,eg,1,0,0)
end end
function s.activate(e,tp,eg,ep,ev,re,r,rp) function s.activate(e,tp,eg,ep,ev,re,r,rp)
......
...@@ -64,6 +64,7 @@ function cm.regop(e,tp,eg,ep,ev,re,r,rp) ...@@ -64,6 +64,7 @@ function cm.regop(e,tp,eg,ep,ev,re,r,rp)
e2:SetCode(EFFECT_CANNOT_SPECIAL_SUMMON) e2:SetCode(EFFECT_CANNOT_SPECIAL_SUMMON)
e2:SetTarget(cm.distg) e2:SetTarget(cm.distg)
c:RegisterFlagEffect(0,RESET_EVENT+RESETS_STANDARD,EFFECT_FLAG_CLIENT_HINT,1,0,aux.Stringid(m,1)) c:RegisterFlagEffect(0,RESET_EVENT+RESETS_STANDARD,EFFECT_FLAG_CLIENT_HINT,1,0,aux.Stringid(m,1))
c:RegisterEffect(e2)
end end
function cm.aclimit(e,re,tp) function cm.aclimit(e,re,tp)
return re:IsActiveType(TYPE_MONSTER) and re:GetHandler():IsLocation(LOCATION_GRAVE+LOCATION_REMOVED) return re:IsActiveType(TYPE_MONSTER) and re:GetHandler():IsLocation(LOCATION_GRAVE+LOCATION_REMOVED)
......
...@@ -92,17 +92,17 @@ function cm.seqop(e,tp,eg,ep,ev,re,r,rp) ...@@ -92,17 +92,17 @@ function cm.seqop(e,tp,eg,ep,ev,re,r,rp)
if tc and tc:IsLocation(LOCATION_MZONE) then if tc and tc:IsLocation(LOCATION_MZONE) then
local e3=Effect.CreateEffect(c) local e3=Effect.CreateEffect(c)
e3:SetType(EFFECT_TYPE_EQUIP) e3:SetType(EFFECT_TYPE_EQUIP)
e3:SetCode(EFFECT_UPDATE_LEVEL) e3:SetCode(EFFECT_CHANGE_LEVEL)
e3:SetValue(10) e3:SetValue(10)
e3:SetReset(RESET_EVENT+RESETS_STANDARD) e3:SetReset(RESET_EVENT+RESETS_STANDARD)
tc:RegisterEffect(e3) c:RegisterEffect(e3)
--direct attack --direct attack
local e2=Effect.CreateEffect(c) local e2=Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_EQUIP) e2:SetType(EFFECT_TYPE_EQUIP)
e2:SetCode(EFFECT_DIRECT_ATTACK) e2:SetCode(EFFECT_DIRECT_ATTACK)
e2:SetCondition(cm.dircon) e2:SetCondition(cm.dircon)
e2:SetReset(RESET_EVENT+RESETS_STANDARD) e2:SetReset(RESET_EVENT+RESETS_STANDARD)
tc:RegisterEffect(e2) c:RegisterEffect(e2)
end end
end end
function cm.dircon(e) function cm.dircon(e)
......
...@@ -92,17 +92,17 @@ function cm.seqop(e,tp,eg,ep,ev,re,r,rp) ...@@ -92,17 +92,17 @@ function cm.seqop(e,tp,eg,ep,ev,re,r,rp)
if tc and tc:IsLocation(LOCATION_MZONE) then if tc and tc:IsLocation(LOCATION_MZONE) then
local e3=Effect.CreateEffect(c) local e3=Effect.CreateEffect(c)
e3:SetType(EFFECT_TYPE_EQUIP) e3:SetType(EFFECT_TYPE_EQUIP)
e3:SetCode(EFFECT_UPDATE_LEVEL) e3:SetCode(EFFECT_CHANGE_LEVEL)
e3:SetValue(10) e3:SetValue(10)
e3:SetReset(RESET_EVENT+RESETS_STANDARD) e3:SetReset(RESET_EVENT+RESETS_STANDARD)
tc:RegisterEffect(e3) c:RegisterEffect(e3)
--indestructable --indestructable
local e5=Effect.CreateEffect(c) local e5=Effect.CreateEffect(c)
e5:SetType(EFFECT_TYPE_EQUIP) e5:SetType(EFFECT_TYPE_EQUIP)
e5:SetCode(EFFECT_INDESTRUCTABLE_EFFECT) e5:SetCode(EFFECT_INDESTRUCTABLE_EFFECT)
e5:SetValue(1) e5:SetValue(1)
e2:SetReset(RESET_EVENT+RESETS_STANDARD) e5:SetReset(RESET_EVENT+RESETS_STANDARD)
tc:RegisterEffect(e5) c:RegisterEffect(e5)
end end
end end
......
...@@ -46,7 +46,7 @@ function cm.op(e,tp,eg,ep,ev,re,r,rp) ...@@ -46,7 +46,7 @@ function cm.op(e,tp,eg,ep,ev,re,r,rp)
local ct=Duel.GetOperatedGroup():GetFirst() local ct=Duel.GetOperatedGroup():GetFirst()
if ct:IsSetCard(0x412) and Duel.GetLocationCount(tp,LOCATION_MZONE)>0 if ct:IsSetCard(0x412) and Duel.GetLocationCount(tp,LOCATION_MZONE)>0
and Duel.IsExistingMatchingCard(aux.NecroValleyFilter(cm.spfilter),tp,LOCATION_GRAVE,0,1,nil,e,tp) and Duel.IsExistingMatchingCard(aux.NecroValleyFilter(cm.spfilter),tp,LOCATION_GRAVE,0,1,nil,e,tp)
and Duel.SelectYesNo(tp,aux.Stringid(m,1)) then and Duel.SelectYesNo(tp,aux.Stringid(m,0)) then
Duel.BreakEffect() Duel.BreakEffect()
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON)
local g=Duel.SelectMatchingCard(tp,aux.NecroValleyFilter(cm.spfilter),tp,LOCATION_GRAVE,0,1,1,nil,e,tp) local g=Duel.SelectMatchingCard(tp,aux.NecroValleyFilter(cm.spfilter),tp,LOCATION_GRAVE,0,1,1,nil,e,tp)
......
...@@ -29,6 +29,7 @@ function cm.actcfilter(c) ...@@ -29,6 +29,7 @@ function cm.actcfilter(c)
return c:IsSetCard(0x412) and c:IsFaceup() and c:IsType(TYPE_XYZ) return c:IsSetCard(0x412) and c:IsFaceup() and c:IsType(TYPE_XYZ)
end end
function cm.activate(e,tp,eg,ep,ev,re,r,rp) function cm.activate(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_ATOHAND) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_ATOHAND)
local g=Duel.SelectMatchingCard(tp,cm.thfilter,tp,LOCATION_DECK,0,1,1,nil) local g=Duel.SelectMatchingCard(tp,cm.thfilter,tp,LOCATION_DECK,0,1,1,nil)
if g:GetCount()>0 then if g:GetCount()>0 then
......
...@@ -29,6 +29,7 @@ function cm.actcfilter(c) ...@@ -29,6 +29,7 @@ function cm.actcfilter(c)
return c:IsSetCard(0x412) and c:IsFaceup() and c:IsType(TYPE_XYZ) return c:IsSetCard(0x412) and c:IsFaceup() and c:IsType(TYPE_XYZ)
end end
function cm.activate(e,tp,eg,ep,ev,re,r,rp) function cm.activate(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
local tc=Duel.GetFirstTarget() local tc=Duel.GetFirstTarget()
if tc:IsRelateToEffect(e) and Duel.SpecialSummonStep(tc,0,tp,tp,false,false,POS_FACEUP) then if tc:IsRelateToEffect(e) and Duel.SpecialSummonStep(tc,0,tp,tp,false,false,POS_FACEUP) then
local e1=Effect.CreateEffect(e:GetHandler()) local e1=Effect.CreateEffect(e:GetHandler())
......
...@@ -33,6 +33,7 @@ function cm.target(e,tp,eg,ep,ev,re,r,rp,chk) ...@@ -33,6 +33,7 @@ function cm.target(e,tp,eg,ep,ev,re,r,rp,chk)
end end
end end
function cm.activate(e,tp,eg,ep,ev,re,r,rp) function cm.activate(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
if Duel.NegateActivation(ev) and re:GetHandler():IsRelateToEffect(re) then if Duel.NegateActivation(ev) and re:GetHandler():IsRelateToEffect(re) then
Duel.Destroy(eg,REASON_EFFECT) Duel.Destroy(eg,REASON_EFFECT)
end end
......
...@@ -92,11 +92,11 @@ function s.seqop(e,tp,eg,ep,ev,re,r,rp) ...@@ -92,11 +92,11 @@ function s.seqop(e,tp,eg,ep,ev,re,r,rp)
local tc=c:GetFirstCardTarget() local tc=c:GetFirstCardTarget()
if tc and tc:IsLocation(LOCATION_MZONE) then if tc and tc:IsLocation(LOCATION_MZONE) then
local e3=Effect.CreateEffect(c) local e3=Effect.CreateEffect(c)
e3:SetType(EFFECT_TYPE_SINGLE) e3:SetType(EFFECT_TYPE_EQUIP)
e3:SetCode(EFFECT_CHANGE_LEVEL) e3:SetCode(EFFECT_CHANGE_LEVEL)
e3:SetValue(10) e3:SetValue(10)
e3:SetReset(RESET_EVENT+RESETS_STANDARD) e3:SetReset(RESET_EVENT+RESETS_STANDARD)
tc:RegisterEffect(e3) c:RegisterEffect(e3)
--cannot be target --cannot be target
local e7=Effect.CreateEffect(c) local e7=Effect.CreateEffect(c)
e7:SetType(EFFECT_TYPE_SINGLE) e7:SetType(EFFECT_TYPE_SINGLE)
...@@ -105,11 +105,11 @@ function s.seqop(e,tp,eg,ep,ev,re,r,rp) ...@@ -105,11 +105,11 @@ function s.seqop(e,tp,eg,ep,ev,re,r,rp)
e7:SetRange(LOCATION_MZONE) e7:SetRange(LOCATION_MZONE)
e7:SetValue(aux.imval1) e7:SetValue(aux.imval1)
e7:SetReset(RESET_EVENT+RESETS_STANDARD) e7:SetReset(RESET_EVENT+RESETS_STANDARD)
tc:RegisterEffect(e7) c:RegisterEffect(e7)
local e8=e7:Clone() local e8=e7:Clone()
e8:SetCode(EFFECT_CANNOT_BE_EFFECT_TARGET) e8:SetCode(EFFECT_CANNOT_BE_EFFECT_TARGET)
e8:SetValue(aux.tgoval) e8:SetValue(aux.tgoval)
tc:RegisterEffect(e8) c:RegisterEffect(e8)
end end
end end
......
...@@ -16,11 +16,10 @@ function s.filter(c,e,tp) ...@@ -16,11 +16,10 @@ function s.filter(c,e,tp)
return c:IsCanBeSpecialSummoned(e,0,tp,false,false) and Duel.IsExistingMatchingCard(s.eqfilter,tp,LOCATION_DECK+LOCATION_GRAVE,0,1,nil,c) return c:IsCanBeSpecialSummoned(e,0,tp,false,false) and Duel.IsExistingMatchingCard(s.eqfilter,tp,LOCATION_DECK+LOCATION_GRAVE,0,1,nil,c)
end end
function s.eqfilter(c,tc) function s.eqfilter(c,tc)
return not c:IsRace(tc:GetRace()) and not c:IsAttribute(tc:GetAttribute()) and c:IsSetCard(0x412) return (not c:IsRace(tc:GetRace())) and (not c:IsAttribute(tc:GetAttribute())) and c:IsSetCard(0x412)
end end
function s.target(e,tp,eg,ep,ev,re,r,rp,chk) function s.target(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.GetLocationCount(tp,LOCATION_MZONE)>0 if chk==0 then return Duel.GetLocationCount(tp,LOCATION_MZONE)>0 and Duel.IsExistingMatchingCard(s.filter,tp,LOCATION_HAND,0,1,nil,e,tp) end
and Duel.IsExistingMatchingCard(s.filter,tp,LOCATION_HAND,0,1,nil,e,tp) end
Duel.SetOperationInfo(0,CATEGORY_TOHAND,nil,1,tp,LOCATION_DECK) Duel.SetOperationInfo(0,CATEGORY_TOHAND,nil,1,tp,LOCATION_DECK)
end end
function s.filter2(c,e,tp) function s.filter2(c,e,tp)
......
...@@ -23,6 +23,7 @@ function s.initial_effect(c) ...@@ -23,6 +23,7 @@ function s.initial_effect(c)
e2:SetCode(EVENT_CHAINING) e2:SetCode(EVENT_CHAINING)
e2:SetProperty(EFFECT_FLAG_DAMAGE_STEP+EFFECT_FLAG_DAMAGE_CAL) e2:SetProperty(EFFECT_FLAG_DAMAGE_STEP+EFFECT_FLAG_DAMAGE_CAL)
e2:SetRange(LOCATION_MZONE) e2:SetRange(LOCATION_MZONE)
e1:SetCountLimit(1,id+10000)
e2:SetCondition(s.negcon) e2:SetCondition(s.negcon)
e2:SetTarget(s.negtg) e2:SetTarget(s.negtg)
e2:SetOperation(s.negop) e2:SetOperation(s.negop)
...@@ -44,7 +45,7 @@ function s.thop(e,tp,eg,ep,ev,re,r,rp) ...@@ -44,7 +45,7 @@ function s.thop(e,tp,eg,ep,ev,re,r,rp)
if g:IsExists(s.thfilter,1,nil,e,tp) and Duel.SelectYesNo(tp,aux.Stringid(id,1)) then if g:IsExists(s.thfilter,1,nil,e,tp) and Duel.SelectYesNo(tp,aux.Stringid(id,1)) then
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON)
local sg=g:FilterSelect(tp,s.thfilter,1,1,nil,e,tp) local sg=g:FilterSelect(tp,s.thfilter,1,1,nil,e,tp)
Duel.SpecialSummon(sg,0,tp,tp,false,false,POS_FACEUP) Duel.SpecialSummon(sg,0,tp,tp,false,false,POS_FACEUP)
g:Sub(sg) g:Sub(sg)
end end
Duel.Destroy(g,REASON_EFFECT) Duel.Destroy(g,REASON_EFFECT)
...@@ -53,7 +54,7 @@ end ...@@ -53,7 +54,7 @@ end
function s.negcon(e,tp,eg,ep,ev,re,r,rp) function s.negcon(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler() local c=e:GetHandler()
if c:IsStatus(STATUS_BATTLE_DESTROYED) or not re:IsHasProperty(EFFECT_FLAG_CARD_TARGET) then return false end if c:IsStatus(STATUS_BATTLE_DESTROYED) then return false end
if not re:IsHasProperty(EFFECT_FLAG_CARD_TARGET) then return true end if not re:IsHasProperty(EFFECT_FLAG_CARD_TARGET) then return true end
local g=Duel.GetChainInfo(ev,CHAININFO_TARGET_CARDS) local g=Duel.GetChainInfo(ev,CHAININFO_TARGET_CARDS)
return g and not g:IsContains(c) return g and not g:IsContains(c)
...@@ -74,7 +75,7 @@ function s.negop(e,tp,eg,ep,ev,re,r,rp) ...@@ -74,7 +75,7 @@ function s.negop(e,tp,eg,ep,ev,re,r,rp)
if g:GetCount()>0 and Duel.Destroy(g,REASON_EFFECT)~=0 then if g:GetCount()>0 and Duel.Destroy(g,REASON_EFFECT)~=0 then
if Duel.NegateActivation(ev) and re:GetHandler():IsRelateToEffect(re) then if Duel.NegateActivation(ev) and re:GetHandler():IsRelateToEffect(re) then
Duel.Destroy(eg,REASON_EFFECT) Duel.Destroy(eg,REASON_EFFECT)
end end
end end
end end
\ No newline at end of file
...@@ -36,7 +36,7 @@ function s.checkop2(e,tp,eg,ep,ev,re,r,rp) ...@@ -36,7 +36,7 @@ function s.checkop2(e,tp,eg,ep,ev,re,r,rp)
local tc=eg:GetFirst() local tc=eg:GetFirst()
while tc do while tc do
local tp=tc:GetPreviousControler() local tp=tc:GetPreviousControler()
if tc:GetPreviousPosition()&POS_FACEUP~=0 and tc:IsType(TYPE_MONSTER) and tc:IsRace(RACE_FIEND) and Duel.GetFlagEffect(tp,id)==0 then if tc:GetPreviousPosition()&POS_FACEUP~=0 and tc:IsType(TYPE_MONSTER) and tc:IsRace(RACE_FIEND) and Duel.GetFlagEffect(tp,id)==0 then
Duel.RegisterFlagEffect(tp,id,RESET_PHASE+PHASE_END,0,1) Duel.RegisterFlagEffect(tp,id,RESET_PHASE+PHASE_END,0,1)
Duel.RegisterFlagEffect(1-tp,id,RESET_PHASE+PHASE_END,0,1) Duel.RegisterFlagEffect(1-tp,id,RESET_PHASE+PHASE_END,0,1)
end end
...@@ -60,8 +60,8 @@ function s.regop(e,tp,eg,ep,ev,re,r,rp) ...@@ -60,8 +60,8 @@ function s.regop(e,tp,eg,ep,ev,re,r,rp)
Duel.RegisterEffect(e1,tp) Duel.RegisterEffect(e1,tp)
end end
function s.efilter(e,re) function s.efilter(e,re)
local tp=e:GetHandler() local tp=e:GetOwnerPlayer()
local rp=re:GetHandler() local rp=re:GetOwnerPlayer()
return rp==1-tp and ((re:GetActivateLocation()~=LOCATION_MZONE and re:GetActivateLocation()~=LOCATION_SZONE) and not re:IsHasType(EFFECT_TYPE_ACTIVATE)) return rp==1-tp and ((re:GetActivateLocation()~=LOCATION_MZONE and re:GetActivateLocation()~=LOCATION_SZONE) and not re:IsHasType(EFFECT_TYPE_ACTIVATE))
end end
......
...@@ -58,10 +58,10 @@ function s.spcost(e,tp,eg,ep,ev,re,r,rp,chk) ...@@ -58,10 +58,10 @@ function s.spcost(e,tp,eg,ep,ev,re,r,rp,chk)
Duel.SendtoDeck(c,nil,SEQ_DECKTOP,REASON_COST) Duel.SendtoDeck(c,nil,SEQ_DECKTOP,REASON_COST)
end end
function s.spfilter1(c,e,tp) function s.spfilter1(c,e,tp)
return c:IsType(TYPE_TUNER) and c:IsCanBeSpecialSummoned(e,0,tp,false,false) and c:IsCanBeEffectTarget(e) return c:IsRace(RACE_FIEND) and c:IsCanBeSpecialSummoned(e,0,tp,false,false) and c:IsCanBeEffectTarget(e)
end end
function s.fselect1(g,tp) function s.fselect1(g,tp)
return Duel.IsExistingMatchingCard(s.synfilter,tp,LOCATION_EXTRA,0,1,nil,g) return Duel.IsExistingMatchingCard(s.synfilter,tp,LOCATION_EXTRA,0,1,nil,g)
end end
function s.synfilter(c,g) function s.synfilter(c,g)
return c:IsType(TYPE_SYNCHRO) and c:IsRace(RACE_FIEND) and c:IsSynchroSummonable(nil,g,g:GetCount()-1,g:GetCount()-1) return c:IsType(TYPE_SYNCHRO) and c:IsRace(RACE_FIEND) and c:IsSynchroSummonable(nil,g,g:GetCount()-1,g:GetCount()-1)
...@@ -102,7 +102,7 @@ function s.spop2(e,tp,eg,ep,ev,re,r,rp) ...@@ -102,7 +102,7 @@ function s.spop2(e,tp,eg,ep,ev,re,r,rp)
Duel.RaiseEvent(e:GetHandler(),EVENT_ADJUST,nil,0,PLAYER_NONE,PLAYER_NONE,0) Duel.RaiseEvent(e:GetHandler(),EVENT_ADJUST,nil,0,PLAYER_NONE,PLAYER_NONE,0)
if og:FilterCount(Card.IsLocation,nil,LOCATION_MZONE)<g:GetCount() then return end if og:FilterCount(Card.IsLocation,nil,LOCATION_MZONE)<g:GetCount() then return end
local tg=Duel.GetMatchingGroup(s.synfilter,tp,LOCATION_EXTRA,0,nil,og) local tg=Duel.GetMatchingGroup(s.synfilter,tp,LOCATION_EXTRA,0,nil,og)
if og:GetCount()==g:GetCount() and tg:GetCount()>0 then if og:GetCount()==g:GetCount() and tg:GetCount()>0 then
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON)
local rg=tg:Select(tp,1,1,nil) local rg=tg:Select(tp,1,1,nil)
Duel.SynchroSummon(tp,rg:GetFirst(),nil,og,og:GetCount()-1,og:GetCount()-1) Duel.SynchroSummon(tp,rg:GetFirst(),nil,og,og:GetCount()-1,og:GetCount()-1)
......
...@@ -55,7 +55,7 @@ function c65050129.rfil(c) ...@@ -55,7 +55,7 @@ function c65050129.rfil(c)
return c:IsLevel(6) and c:IsSetCard(0x5da8) and bit.band(c:GetType(),0x81)==0x81 return c:IsLevel(6) and c:IsSetCard(0x5da8) and bit.band(c:GetType(),0x81)==0x81
end end
function c65050129.filter(c,e,tp) function c65050129.filter(c,e,tp)
return(c:IsCanBeSpecialSummoned(e,SUMMON_TYPE_RITUAL,tp,false,true) and c65050129.rfil(c) return c:IsCanBeSpecialSummoned(e,SUMMON_TYPE_RITUAL,tp,false,true) and c65050129.rfil(c)
end end
function c65050129.target(e,tp,eg,ep,ev,re,r,rp,chk) function c65050129.target(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then if chk==0 then
......
...@@ -68,8 +68,9 @@ function c65050131.target(e,tp,eg,ep,ev,re,r,rp,chk) ...@@ -68,8 +68,9 @@ function c65050131.target(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then if chk==0 then
local mg1=Duel.GetMatchingGroup(c65050131.rtfilter,tp,LOCATION_MZONE+LOCATION_GRAVE,0,e:GetHandler()) local mg1=Duel.GetMatchingGroup(c65050131.rtfilter,tp,LOCATION_MZONE+LOCATION_GRAVE,0,e:GetHandler())
local ft=Duel.GetLocationCount(tp,LOCATION_MZONE) local ft=Duel.GetLocationCount(tp,LOCATION_MZONE)
return c65050131.filter(e:GetHandler(),e,tp,mg1,ft) return c65050131.filter(e:GetHandler(),e,tp,mg1,ft) and Duel.GetFlagEffect(tp,65050131)==0
end end
Duel.RegisterFlagEffect(tp,65050131,RESET_CHAIN,0,1)
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,e:GetHandler(),1,0,0) Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,e:GetHandler(),1,0,0)
Duel.SetOperationInfo(0,CATEGORY_TODECK,nil,1,tp,LOCATION_GRAVE) Duel.SetOperationInfo(0,CATEGORY_TODECK,nil,1,tp,LOCATION_GRAVE)
end end
...@@ -79,7 +80,7 @@ function c65050131.activate(e,tp,eg,ep,ev,re,r,rp) ...@@ -79,7 +80,7 @@ function c65050131.activate(e,tp,eg,ep,ev,re,r,rp)
local mg=Duel.GetMatchingGroup(c65050131.rtfilter,tp,LOCATION_MZONE+LOCATION_GRAVE,0,e:GetHandler()) local mg=Duel.GetMatchingGroup(c65050131.rtfilter,tp,LOCATION_MZONE+LOCATION_GRAVE,0,e:GetHandler())
local ft=Duel.GetLocationCount(tp,LOCATION_MZONE) local ft=Duel.GetLocationCount(tp,LOCATION_MZONE)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON)
if c65050131.filter(tc,e,tp,mg1,ft) then if c65050131.filter(tc,e,tp,mg,ft) then
local mat=nil local mat=nil
if ft>0 then if ft>0 then
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TODECK) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TODECK)
......
...@@ -66,7 +66,7 @@ function c65050138.activate(e,tp,eg,ep,ev,re,r,rp) ...@@ -66,7 +66,7 @@ function c65050138.activate(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler() local c=e:GetHandler()
if not c:IsRelateToEffect(e) then return end if not c:IsRelateToEffect(e) then return end
if Duel.IsExistingMatchingCard(c65050138.filter,tp,LOCATION_ONFIELD,0,2,nil,e) then if Duel.IsExistingMatchingCard(c65050138.filter,tp,LOCATION_ONFIELD,0,2,nil,e) then
local g=Duel.SelectMatchingCard(tp,c65050138.filter,tp,LOCATION_MZONE,0,2,2,e:GetHandler(),e) local g=Duel.SelectMatchingCard(tp,c65050138.filter,tp,LOCATION_MZONE+LOCATION_GRAVE,0,2,2,e:GetHandler(),e)
if Duel.SendtoDeck(g,nil,2,REASON_EFFECT)==2 then if Duel.SendtoDeck(g,nil,2,REASON_EFFECT)==2 then
Duel.SpecialSummon(c,0,tp,tp,false,false,POS_FACEUP) Duel.SpecialSummon(c,0,tp,tp,false,false,POS_FACEUP)
end end
......
...@@ -9,7 +9,7 @@ function c71401003.initial_effect(c) ...@@ -9,7 +9,7 @@ function c71401003.initial_effect(c)
e2:SetType(EFFECT_TYPE_QUICK_O) e2:SetType(EFFECT_TYPE_QUICK_O)
e2:SetRange(LOCATION_SZONE) e2:SetRange(LOCATION_SZONE)
e2:SetCode(EVENT_FREE_CHAIN) e2:SetCode(EVENT_FREE_CHAIN)
e2:SetHintTiming(0,TIMINGS_CHECK_MONSTER) e2:SetHintTiming(0,TIMINGS_CHECK_MONSTER+TIMING_MAIN_END)
e2:SetCountLimit(1,71501003) e2:SetCountLimit(1,71501003)
e2:SetCondition(c71401003.con2) e2:SetCondition(c71401003.con2)
e2:SetCost(c71401003.cost2) e2:SetCost(c71401003.cost2)
......
...@@ -46,7 +46,6 @@ end ...@@ -46,7 +46,6 @@ end
function c71401018.cost2(e,tp,eg,ep,ev,re,r,rp,chk) function c71401018.cost2(e,tp,eg,ep,ev,re,r,rp,chk)
local g=Duel.GetDecktopGroup(tp,2) local g=Duel.GetDecktopGroup(tp,2)
if chk==0 then return g:FilterCount(Card.IsAbleToRemoveAsCost,nil,POS_FACEUP)==2 and Duel.GetCustomActivityCount(71401001,tp,ACTIVITY_CHAIN)==0 end if chk==0 then return g:FilterCount(Card.IsAbleToRemoveAsCost,nil,POS_FACEUP)==2 and Duel.GetCustomActivityCount(71401001,tp,ACTIVITY_CHAIN)==0 end
Duel.DiscardDeck(tp,3,REASON_COST)
Duel.DisableShuffleCheck() Duel.DisableShuffleCheck()
Duel.Remove(g,POS_FACEUP,REASON_COST) Duel.Remove(g,POS_FACEUP,REASON_COST)
yume.RegButterflyCostLimit(e,tp) yume.RegButterflyCostLimit(e,tp)
......
This diff is collapsed.
2023/12/15 13:04:11 2023/12/22 9:25:44
\ No newline at end of file \ 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