Commit 6831678e authored by Tachibana's avatar Tachibana

rar

parent 79418b32
--可可莉柯特·布兰琪 --可可莉柯特·布兰琪
if not pcall(function() require("expansions/script/c10199990") end) then require("script/c10199990") end if not pcall(function() require("expansions/script/c33301000") end) then require("script/c33301000") end
local m,cm=rsof.DefineCard(33310100,"Cochrot") local m,cm=rscf.DefineCard(33310100,"Cochrot")
function cm.initial_effect(c) function cm.initial_effect(c)
c:EnableReviveLimit() c:EnableReviveLimit()
local e0=Effect.CreateEffect(c)
e0:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_CONTINUOUS)
e0:SetCode(EVENT_SPSUMMON_SUCCESS)
e0:SetProperty(EFFECT_FLAG_CANNOT_DISABLE+EFFECT_FLAG_CANNOT_NEGATE)
e0:SetOperation(cm.skipop)
c:RegisterEffect(e0)
local e1=rsef.SC(c,EVENT_SPSUMMON_SUCCESS,nil,nil,nil,rscon.sumtype("rit"),cm.atkop) local e1=rsef.SC(c,EVENT_SPSUMMON_SUCCESS,nil,nil,nil,rscon.sumtype("rit"),cm.atkop)
local e2,e3=rsef.SV_INDESTRUCTABLE(c,"battle,effect") local e2,e3=rsef.SV_INDESTRUCTABLE(c,"battle,effect")
local e4=rsef.RegisterClone(c,e3,"code",EFFECT_AVOID_BATTLE_DAMAGE) local e4=rsef.RegisterClone(c,e3,"code",EFFECT_AVOID_BATTLE_DAMAGE)
...@@ -20,9 +14,6 @@ local e0=Effect.CreateEffect(c) ...@@ -20,9 +14,6 @@ local e0=Effect.CreateEffect(c)
c:RegisterEffect(e5) c:RegisterEffect(e5)
local e6=rsef.STO(c,EVENT_REMOVE,{m,0},nil,nil,"de,dsp",nil,nil,rsop.target(cm.actfilter,nil,LOCATION_GRAVE+LOCATION_DECK),cm.actop) local e6=rsef.STO(c,EVENT_REMOVE,{m,0},nil,nil,"de,dsp",nil,nil,rsop.target(cm.actfilter,nil,LOCATION_GRAVE+LOCATION_DECK),cm.actop)
end end
function cm.skipop(e,tp,eg,ep,ev,re,r,rp)
Duel.Hint(HINT_MUSIC,0,aux.Stringid(33310100,0))
end
function cm.atkop(e,tp) function cm.atkop(e,tp)
local g=Duel.GetMatchingGroup(Card.IsFaceup,tp,0,LOCATION_MZONE,nil) local g=Duel.GetMatchingGroup(Card.IsFaceup,tp,0,LOCATION_MZONE,nil)
if #g<=0 then return end if #g<=0 then return end
...@@ -35,13 +26,13 @@ function cm.damcon(e,tp,eg,ep,ev,re,r,rp) ...@@ -35,13 +26,13 @@ function cm.damcon(e,tp,eg,ep,ev,re,r,rp)
return ep~=tp return ep~=tp
end end
function cm.damop(e,tp,eg,ep,ev,re,r,rp) function cm.damop(e,tp,eg,ep,ev,re,r,rp)
Duel.ChangeBattleDamage(1,ev*2) Duel.ChangeBattleDamage(ep,ev*2)
end end
function cm.actfilter(c,e,tp) function cm.actfilter(c,e,tp)
return c:IsCode(33310101) and c:GetActivateEffect() and c:GetActivateEffect():IsActivatable(tp,true,true) return c:IsCode(33310101) and c:GetActivateEffect() and c:GetActivateEffect():IsActivatable(tp,true,true)
end end
function cm.actop(e,tp) function cm.actop(e,tp)
rsof.SelectHint(tp,HINTMSG_TOFIELD) rshint.Select(tp,HINTMSG_TOFIELD)
local tc=Duel.SelectMatchingCard(tp,aux.NecroValleyFilter(cm.actfilter),tp,LOCATION_DECK+LOCATION_GRAVE,0,1,1,nil,e,tp):GetFirst() local tc=Duel.SelectMatchingCard(tp,aux.NecroValleyFilter(cm.actfilter),tp,LOCATION_DECK+LOCATION_GRAVE,0,1,1,nil,e,tp):GetFirst()
if not tc then return end if not tc then return end
Duel.MoveToField(tc,tp,tp,LOCATION_SZONE,POS_FACEUP,true) Duel.MoveToField(tc,tp,tp,LOCATION_SZONE,POS_FACEUP,true)
......
--恶魔的提线魔术 --恶魔的提线魔术
if not pcall(function() require("expansions/script/c10199990") end) then require("script/c10199990") end if not pcall(function() require("expansions/script/c33301000") end) then require("script/c33301000") end
local m,cm=rsof.DefineCard(33310101) local m,cm=rscf.DefineCard(33310101)
function cm.initial_effect(c) function cm.initial_effect(c)
local e1=rsef.ACT(c) local e1=rsef.ACT(c)
local e2=rsef.QO(c,nil,{m,0},{1,0x1},"tg",nil,LOCATION_SZONE,nil,nil,rsop.target2(cm.fun,cm.copyfilter,"tg",LOCATION_DECK+LOCATION_HAND),cm.copyop) local e2=rsef.QO(c,nil,{m,0},{1,0x1},"tg",nil,LOCATION_SZONE,nil,nil,rsop.target(cm.copyfilter,"tg",LOCATION_DECK),cm.copyop)
local e3=rsef.QO(c,nil,{m,1},{1,0x1},"dis",nil,LOCATION_SZONE,rscon.excard2(Card.IsType,LOCATION_MZONE,0,1,nil,TYPE_RITUAL),nil,rsop.target(aux.disfilter1,"dis",0,LOCATION_ONFIELD),cm.disop) local e3=rsef.QO(c,nil,{m,1},{1,0x1},"dis",nil,LOCATION_SZONE,rscon.excard2(Card.IsType,LOCATION_MZONE,0,1,nil,TYPE_RITUAL),nil,rsop.target(aux.disfilter1,"dis",0,LOCATION_ONFIELD),cm.disop)
local e4=rsef.QO(c,nil,{m,2},{1,0x1},nil,nil,LOCATION_SZONE,cm.skipcon,nil,nil,cm.skipop) local e4=rsef.QO(c,nil,{m,2},{1,0x1},nil,nil,LOCATION_SZONE,cm.skipcon,nil,nil,cm.skipop)
end end
...@@ -12,8 +12,8 @@ function cm.copyfilter(c,e,tp) ...@@ -12,8 +12,8 @@ function cm.copyfilter(c,e,tp)
return c:CheckActivateEffect(false,true,false)~=nil return c:CheckActivateEffect(false,true,false)~=nil
end end
function cm.copyop(e,tp) function cm.copyop(e,tp)
rsof.SelectHint(tp,"tg") rshint.Select(tp,"tg")
local tc=Duel.SelectMatchingCard(tp,cm.copyfilter,tp,LOCATION_DECK+LOCATION_HAND,0,1,1,nil):GetFirst() local tc=Duel.SelectMatchingCard(tp,cm.copyfilter,tp,LOCATION_DECK,0,1,1,nil):GetFirst()
if not tc or Duel.SendtoGrave(tc,REASON_EFFECT)<=0 or not tc:IsLocation(LOCATION_GRAVE) then return end if not tc or Duel.SendtoGrave(tc,REASON_EFFECT)<=0 or not tc:IsLocation(LOCATION_GRAVE) then return end
local te=tc:GetActivateEffect() local te=tc:GetActivateEffect()
local op=te:GetOperation() local op=te:GetOperation()
...@@ -21,17 +21,17 @@ function cm.copyop(e,tp) ...@@ -21,17 +21,17 @@ function cm.copyop(e,tp)
end end
function cm.disop(e,tp) function cm.disop(e,tp)
local c=e:GetHandler() local c=e:GetHandler()
rsof.SelectHint(tp,"dis") rshint.Select(tp,"dis")
local tc=Duel.SelectMatchingCard(tp,aux.disfilter1,tp,0,LOCATION_ONFIELD,1,1,nil):GetFirst() local tc=Duel.SelectMatchingCard(tp,aux.disfilter1,tp,0,LOCATION_ONFIELD,1,1,nil):GetFirst()
if not tc then return end if not tc then return end
Duel.HintSelection(rsgf.Mix2(tc)) Duel.HintSelection(rsgf.Mix2(tc))
local e1,e2=rsef.SV_LIMIT({c,tc},"dis,dise",nil,nil,rsreset.est_pend) local e1,e2=rsef.SV_LIMIT({c,tc},"dis,dise",nil,nil,rsreset.est)
Duel.AdjustInstantly(c) Duel.AdjustInstantly(c)
if tc:IsDisabled() and tc:IsType(TYPE_MONSTER) then if tc:IsDisabled() and tc:IsType(TYPE_MONSTER) then
local e3=rsef.SV_INDESTRUCTABLE({c,tc},"battle",nil,nil,rsreset.est_pend) local e3=rsef.SV_INDESTRUCTABLE({c,tc},"battle",nil,nil,rsreset.est)
local e4=Effect.CreateEffect(c) local e4=Effect.CreateEffect(c)
e4:SetType(EFFECT_TYPE_SINGLE) e4:SetType(EFFECT_TYPE_SINGLE)
e4:SetReset(rsreset.est_pend) e4:SetReset(rsreset.est)
e4:SetCode(EFFECT_MUST_ATTACK) e4:SetCode(EFFECT_MUST_ATTACK)
tc:RegisterEffect(e4) tc:RegisterEffect(e4)
end end
...@@ -42,7 +42,7 @@ end ...@@ -42,7 +42,7 @@ end
function cm.skipop(e,tp) function cm.skipop(e,tp)
local e1=Effect.CreateEffect(e:GetHandler()) local e1=Effect.CreateEffect(e:GetHandler())
e1:SetType(EFFECT_TYPE_CONTINUOUS+EFFECT_TYPE_FIELD) e1:SetType(EFFECT_TYPE_CONTINUOUS+EFFECT_TYPE_FIELD)
e1:SetCode(EVENT_CHAIN_END) e1:SetCode(EVENT_CHAIN_SOLVED)
e1:SetOperation(cm.skipop2) e1:SetOperation(cm.skipop2)
Duel.RegisterEffect(e1,tp) Duel.RegisterEffect(e1,tp)
end end
......
--睡美人的小憇 --睡美人的小憇
if not pcall(function() require("expansions/script/c10199990") end) then require("script/c10199990") end if not pcall(function() require("expansions/script/c33301000") end) then require("script/c33301000") end
local m,cm=rsof.DefineCard(33310102) local m,cm=rscf.DefineCard(33310102)
function cm.initial_effect(c) function cm.initial_effect(c)
local e1=rsef.ACT(c,nil,nil,nil,"sp,rm",nil,nil,nil,cm.tg,cm.act) local e1=rsef.ACT(c,nil,nil,nil,"sp,rm",nil,nil,nil,cm.tg,cm.act)
local e2=rsef.I(c,{m,0},{1,m},"td,th","tg",LOCATION_GRAVE,nil,nil,rstg.target({cm.tdfilter,"td",LOCATION_REMOVED },rsop.list(Card.IsAbleToHand,"th")),cm.tdop) local e2=rsef.I(c,{m,0},nil,"td,th","tg",LOCATION_GRAVE,nil,nil,rstg.target({cm.tdfilter,"td",LOCATION_REMOVED },rsop.list(Card.IsAbleToHand,"th")),cm.tdop)
end end
function cm.spfilter(c,e,tp) function cm.spfilter(c,e,tp)
return c:IsCanBeSpecialSummoned(e,SUMMON_TYPE_RITUAL,tp,false,true) and c:CheckSetCard("Cochrot") and Duel.IsExistingMatchingCard(cm.matfilter,tp,LOCATION_HAND+LOCATION_MZONE+LOCATION_GRAVE,0,1,c,c,e,tp) return c:IsCanBeSpecialSummoned(e,SUMMON_TYPE_RITUAL,tp,false,true) and c:CheckSetCard("Cochrot") and Duel.IsExistingMatchingCard(cm.matfilter,tp,LOCATION_HAND+LOCATION_MZONE+LOCATION_GRAVE,0,1,c,c,e,tp)
...@@ -26,10 +26,10 @@ function cm.tg(e,tp,eg,ep,ev,re,r,rp,chk) ...@@ -26,10 +26,10 @@ function cm.tg(e,tp,eg,ep,ev,re,r,rp,chk)
Duel.SetOperationInfo(0,CATEGORY_REMOVE,nil,0,tp,LOCATION_GRAVE) Duel.SetOperationInfo(0,CATEGORY_REMOVE,nil,0,tp,LOCATION_GRAVE)
end end
function cm.act(e,tp) function cm.act(e,tp)
rsof.SelectHint(tp,"sp") rshint.Select(tp,"sp")
local tc=Duel.SelectMatchingCard(tp,cm.spfilter,tp,LOCATION_HAND+LOCATION_DECK,0,1,1,nil,e,tp):GetFirst() local tc=Duel.SelectMatchingCard(tp,cm.spfilter,tp,LOCATION_HAND+LOCATION_DECK,0,1,1,nil,e,tp):GetFirst()
if not tc then return end if not tc then return end
rsof.SelectHint(tp,"res") rshint.Select(tp,"res")
local matc=Duel.SelectMatchingCard(tp,cm.matfilter,tp,LOCATION_HAND+LOCATION_MZONE+LOCATION_GRAVE,0,1,1,tc,tc,e,tp):GetFirst() local matc=Duel.SelectMatchingCard(tp,cm.matfilter,tp,LOCATION_HAND+LOCATION_MZONE+LOCATION_GRAVE,0,1,1,tc,tc,e,tp):GetFirst()
tc:SetMaterial(Group.FromCards(matc)) tc:SetMaterial(Group.FromCards(matc))
if matc:IsLocation(LOCATION_GRAVE) then if matc:IsLocation(LOCATION_GRAVE) then
......
--可可莉柯特·兽耳布偶 --可可莉柯特·兽耳布偶
if not pcall(function() require("expansions/script/c10199990") end) then require("script/c10199990") end if not pcall(function() require("expansions/script/c33301000") end) then require("script/c33301000") end
local m,cm=rsof.DefineCard(33310103,"Cochrot") local m,cm=rscf.DefineCard(33310103,"Cochrot")
function cm.initial_effect(c) function cm.initial_effect(c)
c:EnableReviveLimit() c:EnableReviveLimit()
local e1=rsef.I(c,{m,0},{1,m},"se,th,sp,dish,ga",nil,LOCATION_HAND,nil,nil,rsop.target({aux.FilterBoolFunction(Card.IsDiscardable,REASON_EFFECT),"dish",LOCATION_HAND },{cm.thfilter,"th",LOCATION_DECK }),cm.thop) local e1=rsef.I(c,{m,0},{1,m},"se,th,sp,dish,ga",nil,LOCATION_HAND,nil,nil,rsop.target({1,"dish" },{cm.thfilter,"th",LOCATION_DECK }),cm.thop)
local e2=rsef.FC(c,EVENT_SPSUMMON_SUCCESS) local e2=rsef.FC(c,EVENT_SPSUMMON_SUCCESS)
e2:SetOperation(cm.limitop) e2:SetOperation(cm.limitop)
local e3=rsef.RegisterClone(c,e2,"code",EVENT_SUMMON_SUCCESS) local e3=rsef.RegisterClone(c,e2,"code",EVENT_SUMMON_SUCCESS)
...@@ -16,17 +16,17 @@ end ...@@ -16,17 +16,17 @@ end
function cm.thfilter(c) function cm.thfilter(c)
return c:IsCode(33310102) and c:IsAbleToHand() return c:IsCode(33310102) and c:IsAbleToHand()
end end
function cm.thop(e,tp) function cm.thop(e,tp)
local ct=Duel.DiscardHand(tp,Card.IsDiscardable,1,1,REASON_EFFECT,nil,REASON_EFFECT) local ct=Duel.DiscardHand(tp,Card.IsDiscardable,1,1,REASON_EFFECT,nil,REASON_EFFECT)
if ct==0 then return end if ct==0 then return end
rsof.SelectHint(tp,"th") rshint.Select(tp,"th")
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<=0 or Duel.SendtoHand(g,nil,REASON_EFFECT)<=0 then return end if #g<=0 or Duel.SendtoHand(g,nil,REASON_EFFECT)<=0 then return end
Duel.ConfirmCards(1-tp,g) Duel.ConfirmCards(1-tp,g)
local sg=Duel.GetMatchingGroup(aux.NecroValleyFilter(cm.spfilter),tp,0,LOCATION_GRAVE,nil,e,tp) local sg=Duel.GetMatchingGroup(aux.NecroValleyFilter(cm.spfilter),tp,0,LOCATION_GRAVE,nil,e,tp)
if #sg>0 and Duel.SelectYesNo(tp,aux.Stringid(m,2)) then if #sg>0 and Duel.SelectYesNo(tp,aux.Stringid(m,2)) then
Duel.BreakEffect() Duel.BreakEffect()
rsof.SelectHint(tp,"sp") rshint.Select(tp,"sp")
local sc=sg:Select(tp,1,1,nil):GetFirst() local sc=sg:Select(tp,1,1,nil):GetFirst()
if Duel.SpecialSummon(sc,0,tp,1-tp,false,false,POS_FACEUP)>0 then if Duel.SpecialSummon(sc,0,tp,1-tp,false,false,POS_FACEUP)>0 then
local e1,e2=rsef.SV_LIMIT({e:GetHandler(),sc,true},"dis,dise",nil,nil,rsreset.est) local e1,e2=rsef.SV_LIMIT({e:GetHandler(),sc,true},"dis,dise",nil,nil,rsreset.est)
...@@ -64,14 +64,14 @@ function cm.limitop3(e,tp,eg,ep,ev,re,r,rp) ...@@ -64,14 +64,14 @@ function cm.limitop3(e,tp,eg,ep,ev,re,r,rp)
end end
e:GetHandler():ResetFlagEffect(m) e:GetHandler():ResetFlagEffect(m)
end end
function cm.chlimit(e,ep,eg,tp) function cm.chlimit(e,ep,tp)
return tp==ep return tp==ep
end end
function cm.thfilter2(c) function cm.thfilter2(c)
return c:IsAbleToHand() and c:GetType()&0x82==0x82 return c:IsAbleToHand() and c:GetType()&0x82==0x82
end end
function cm.thop2(e,tp) function cm.thop2(e,tp)
rsof.SelectHint(tp,"th") rshint.Select(tp,"th")
local g=Duel.SelectMatchingCard(tp,aux.NecroValleyFilter(cm.thfilter2),tp,LOCATION_GRAVE,0,1,1,nil) local g=Duel.SelectMatchingCard(tp,aux.NecroValleyFilter(cm.thfilter2),tp,LOCATION_GRAVE,0,1,1,nil)
rsof.SendtoHand(g) rsop.SendtoHand(g)
end end
\ No newline at end of file
--可 可 莉 柯 特 · 地 狱 尖 啸 --可可莉柯特·地狱尖啸
if not pcall(function() require("expansions/script/c10199990") end) then require("script/c10199990") end if not pcall(function() require("expansions/script/c33301000") end) then require("script/c33301000") end
local m,cm=rsof.DefineCard(33310104,"Cochrot") local m,cm=rscf.DefineCard(33310104,"Cochrot")
function cm.initial_effect(c) function cm.initial_effect(c)
c:EnableReviveLimit() c:EnableReviveLimit()
local e1=rsef.QO(c,nil,{m,0},{1,m},"se,th,rm,dish,ga",nil,LOCATION_HAND,nil,nil,rsop.target({aux.FilterBoolFunction(Card.IsDiscardable,REASON_EFFECT),"dish",LOCATION_HAND },{cm.thfilter,"th",LOCATION_DECK+LOCATION_GRAVE }),cm.thop) local e1=rsef.QO(c,nil,{m,0},{1,m},"se,th,rm,dish,ga",nil,LOCATION_HAND,nil,nil,rsop.target({1,"dish" },{cm.thfilter,"th",LOCATION_DECK }),cm.thop)
--act limit --act limit
local e2=Effect.CreateEffect(c) local e2=Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_FIELD) e2:SetType(EFFECT_TYPE_FIELD)
...@@ -22,16 +22,16 @@ end ...@@ -22,16 +22,16 @@ end
function cm.thop(e,tp) function cm.thop(e,tp)
local ct=Duel.DiscardHand(tp,Card.IsDiscardable,1,1,REASON_EFFECT,nil,REASON_EFFECT) local ct=Duel.DiscardHand(tp,Card.IsDiscardable,1,1,REASON_EFFECT,nil,REASON_EFFECT)
if ct==0 then return end if ct==0 then return end
rsof.SelectHint(tp,"th") rshint.Select(tp,"th")
local g=Duel.SelectMatchingCard(tp,cm.thfilter,tp,LOCATION_DECK+LOCATION_GRAVE,0,1,1,nil) local g=Duel.SelectMatchingCard(tp,cm.thfilter,tp,LOCATION_DECK,0,1,1,nil)
if #g<=0 or Duel.SendtoHand(g,nil,REASON_EFFECT)<=0 then return end if #g<=0 or Duel.SendtoHand(g,nil,REASON_EFFECT)<=0 then return end
Duel.ConfirmCards(1-tp,g) Duel.ConfirmCards(1-tp,g)
local rg=Duel.GetMatchingGroup(aux.NecroValleyFilter(Card.IsAbleToRemove),tp,LOCATION_GRAVE,0,nil) local rg=Duel.GetMatchingGroup(aux.NecroValleyFilter(Card.IsAbleToRemove),tp,LOCATION_GRAVE,0,nil)
if #rg>0 and Duel.SelectYesNo(tp,aux.Stringid(m,2)) then if #rg>0 and Duel.SelectYesNo(tp,aux.Stringid(m,2)) then
Duel.BreakEffect() Duel.BreakEffect()
rsof.SelectHint(tp,"rm") rshint.Select(tp,"rm")
rg=rg:Select(tp,1,1,nil) rg=rg:Select(tp,1,1,nil)
rsof.Remove(rg) rsop.Remove(rg)
end end
end end
function cm.con(e) function cm.con(e)
...@@ -42,7 +42,7 @@ function cm.aclimit(e,re,tp) ...@@ -42,7 +42,7 @@ function cm.aclimit(e,re,tp)
return not re:GetOwnerPlayer()~=e:GetOwnerPlayer() return not re:GetOwnerPlayer()~=e:GetOwnerPlayer()
end end
function cm.tdop(e,tp) function cm.tdop(e,tp)
rsof.SelectHint(tp,"td") rshint.Select(tp,"td")
local g=Duel.SelectMatchingCard(tp,aux.NecroValleyFilter(Card.IsAbleToDeck),tp,LOCATION_GRAVE+LOCATION_REMOVED,0,1,1,nil) local g=Duel.SelectMatchingCard(tp,aux.NecroValleyFilter(Card.IsAbleToDeck),tp,LOCATION_GRAVE+LOCATION_REMOVED,0,1,1,nil)
rsof.SendtoDeck(g) rsop.SendtoDeck(g)
end 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