Commit a964b6a6 authored by Nemo Ma's avatar Nemo Ma

list

parent aafa6994
...@@ -78,6 +78,11 @@ ...@@ -78,6 +78,11 @@
130005119 0 130005119 0
130005120 0 130005120 0
# #
22050210 0
30000007 0
31400012 0
65020203 0
#
810001 0 810001 0
810002 0 810002 0
810003 0 810003 0
...@@ -1168,6 +1173,10 @@ ...@@ -1168,6 +1173,10 @@
117681594 0 117681594 0
115284026 0 115284026 0
#limit #limit
#
22050180 1
33403513 1
#
31400038 1 31400038 1
65000000 1 65000000 1
77770010 1 77770010 1
......
No preview for this file type
--恶鬼切目
local m=14010146
local cm=_G["c"..m]
function cm.initial_effect(c)
--handeffect
local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(m,0))
e1:SetType(EFFECT_TYPE_QUICK_O)
e1:SetRange(LOCATION_HAND)
e1:SetCode(EVENT_FREE_CHAIN)
e1:SetHintTiming(0x3c0)
e1:SetProperty(EFFECT_FLAG_DAMAGE_STEP)
e1:SetCountLimit(1,m)
e1:SetCondition(function(e,tp,eg,ep,ev,re,r,rp)
return not Duel.CheckEvent(EVENT_CHAINING)
end)
e1:SetCost(cm.ForbiddenCost(cm.DescriptionCost()))
e1:SetTarget(cm.CopySpellNormalTarget)
e1:SetOperation(cm.CopyOperation)
c:RegisterEffect(e1)
local e2=e1:Clone()
e2:SetCode(EVENT_CHAINING)
e2:SetCondition(aux.TRUE)
c:RegisterEffect(e2)
--graveeffect
local e3=Effect.CreateEffect(c)
e3:SetDescription(aux.Stringid(m,1))
e3:SetCategory(CATEGORY_TOHAND+CATEGORY_SEARCH)
e3:SetType(EFFECT_TYPE_QUICK_O)
e3:SetRange(LOCATION_GRAVE)
e3:SetCode(EVENT_FREE_CHAIN)
e3:SetHintTiming(0x3c0)
e3:SetCountLimit(1,m+1000)
e3:SetCost(aux.bfgcost)
e3:SetTarget(cm.thtg)
e3:SetOperation(cm.thop)
c:RegisterEffect(e3)
local e4=Effect.CreateEffect(c)
e4:SetDescription(aux.Stringid(m,2))
e4:SetCategory(CATEGORY_TOHAND+CATEGORY_SEARCH)
e4:SetProperty(EFFECT_FLAG_CARD_TARGET)
e4:SetType(EFFECT_TYPE_QUICK_O)
e4:SetRange(LOCATION_GRAVE)
e4:SetCode(EVENT_FREE_CHAIN)
e4:SetHintTiming(0x3c0)
e4:SetCountLimit(1,m+1000)
e4:SetCost(cm.spcost)
e4:SetTarget(cm.sptg)
e4:SetOperation(cm.spop)
c:RegisterEffect(e4)
end
function cm.ForbiddenCost(costf)
return function(e,tp,eg,ep,ev,re,r,rp,chk)
e:SetLabel(1)
if not costf then return true end
return costf(e,tp,eg,ep,ev,re,r,rp,chk)
end
end
function cm.DescriptionCost(costf)
return function(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return (not costf or costf(e,tp,eg,ep,ev,re,r,rp,0)) end
Duel.Hint(HINT_OPSELECTED,1-tp,e:GetDescription())
if costf then costf(e,tp,eg,ep,ev,re,r,rp,1) end
end
end
cm.cache={}
function cm.CheckDiscard(c,e,tp,eg,ep,ev,re,r,rp)
local code=c:GetOriginalCode()
if cm.cache[code] then return cm.cache[code]==1 end
local eset={}
local temp=Card.RegisterEffect
Card.RegisterEffect=function(tc,te,f)
if (te:GetRange()&LOCATION_HAND)>0 and te:IsHasType(0x7e0) then
table.insert(eset,te:Clone())
end
return temp(tc,te,f)
end
local tempc=cm.IgnoreActionCheck(Duel.CreateToken,c:GetControler(),code)
Card.RegisterEffect=temp
local found=false
for _,te in ipairs(eset) do
local cost=te:GetCost()
if cost then
local mt=getmetatable(tempc)
local temp_=Effect.GetHandler
Effect.GetHandler=function(e)
if e==te then return tempc end
return temp_(e)
end
mt.IsDiscardable=function(tc,...)
if tempc==tc then found=true end
return Card.IsDiscardable(tc,...)
end
pcall(function()
cost(te,tp,eg,ep,ev,re,r,rp,0)
end)
mt.IsDiscardable=nil
Effect.GetHandler=temp_
end
end
cm.cache[code]=(found and 1 or 0)
return found
end
function cm.IgnoreActionCheck(f,...)
Duel.DisableActionCheck(true)
local cr=coroutine.create(f)
local ret={}
while coroutine.status(cr)~="dead" do
local sret={coroutine.resume(cr,...)}
for i=2,#sret do
table.insert(ret,sret[i])
end
end
Duel.DisableActionCheck(false)
return table.unpack(ret)
end
function cm.GetHandEffect(c)
cm.urara_cache=cm.urara_cache or {}
local code=c:GetOriginalCode()
if cm.urara_cache[code] then return cm.urara_cache[code] end
local eset={}
local temp=Card.RegisterEffect
Card.RegisterEffect=function(tc,e,f)
if (e:GetRange()&LOCATION_HAND)>0 and e:IsHasType(0x7e0) then
table.insert(eset,e:Clone())
end
return temp(tc,e,f)
end
cm.IgnoreActionCheck(Duel.CreateToken,c:GetControler(),code)
Card.RegisterEffect=temp
cm.urara_cache[code]=eset
return eset
end
function cm.CheckHandEffect(c,sec,e,tp,eg,ep,ev,re,r,rp)
local eset=cm.GetHandEffect(c)
if #eset==0 then return false end
local ee,teg,tep,tev,tre,tr,trp
for _,te in ipairs(eset) do
local tres=false
local code=te:GetCode()
if code~=EVENT_CHAINING and code~=EVENT_FREE_CHAIN then
tres,teg,tep,tev,tre,tr,trp=Duel.CheckEvent(code,true)
elseif sec or code==EVENT_FREE_CHAIN then
tres=true
teg,tep,tev,tre,tr,trp=eg,ep,ev,re,r,rp
end
if tres then
local con=te:GetCondition()
local tg=te:GetTarget()
if cm.ProtectedRun(con,e,tp,teg,tep,tev,tre,tr,trp) and cm.ProtectedRun(tg,e,tp,teg,tep,tev,tre,tr,trp,0) then
ee=te
break
end
end
end
if ee then
return true,ee,teg,tep,tev,tre,tr,trp
else
return false
end
end
function cm.CopySpellNormalFilter(c,sec,e,tp,eg,ep,ev,re,r,rp)
local te=cm.GetHandEffect(c)
return c:IsType(TYPE_MONSTER) and cm.CheckDiscard(c,e,tp,eg,ep,ev,re,r,rp) and not c:IsCode(m)
and c:IsAbleToGraveAsCost() and cm.CheckHandEffect(c,sec,e,tp,eg,ep,ev,re,r,rp)
end
function cm.CopySpellNormalTarget(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
if chkc then
local te=e:GetLabelObject()
local tg=te:GetTarget()
return te:IsHasProperty(EFFECT_FLAG_CARD_TARGET) and cm.ProtectedRun(tg,e,tp,eg,ep,ev,re,r,rp,0,chkc)
end
local c=e:GetHandler()
local og=Duel.GetFieldGroup(tp,LOCATION_DECK,0)
local sec=(e:GetCode()==EVENT_CHAINING)
if chk==0 then
if e:GetLabel()==0 then return false end
e:SetLabel(0)
return og:IsExists(cm.CopySpellNormalFilter,1,nil,sec,e,tp,eg,ep,ev,re,r,rp) and c:IsDiscardable()
end
Duel.SendtoGrave(c,REASON_COST+REASON_DISCARD)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TOGRAVE)
local g=og:FilterSelect(tp,cm.CopySpellNormalFilter,1,1,nil,sec,e,tp,eg,ep,ev,re,r,rp)
local _,te,ceg,cep,cev,cre,cr,crp=cm.CheckHandEffect(g:GetFirst(),sec,e,tp,eg,ep,ev,re,r,rp)
Duel.SendtoGrave(g,REASON_COST)
e:SetCategory(te:GetCategory())
e:SetProperty(te:GetProperty())
e:SetLabel(te:GetLabel())
local tg=te:GetTarget()
cm.ProtectedRun(tg,e,tp,ceg,cep,cev,cre,cr,crp,1)
te:SetLabelObject(e:GetLabelObject())
e:SetLabelObject(te)
local ex=Effect.GlobalEffect()
ex:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
ex:SetCode(EVENT_CHAIN_END)
ex:SetLabelObject(e)
ex:SetOperation(function(e)
e:GetLabelObject():SetLabel(0)
ex:Reset()
end)
Duel.RegisterEffect(ex,tp)
end
function cm.CopyOperation(e,tp,eg,ep,ev,re,r,rp)
local te=e:GetLabelObject()
if not te then return end
e:SetLabelObject(te:GetLabelObject())
local op=te:GetOperation()
if te:IsHasType(EFFECT_TYPE_ACTIVATE) then
e:GetHandler():ReleaseEffectRelation(e)
end
cm.ProtectedRun(op,e,tp,eg,ep,ev,re,r,rp)
end
function cm.ProtectedRun(f,...)
if not f then return true end
local params={...}
local ret={}
local res_test=pcall(function()
ret={f(table.unpack(params))}
end)
if not res_test then return false end
return table.unpack(ret)
end
function cm.thfilter(c)
return c:IsType(TYPE_TUNER) and c:IsAttack(0) and c:IsDefense(1800) and c:IsAbleToHand() and not c:IsCode(m)
end
function cm.thtg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(cm.thfilter,tp,LOCATION_DECK+LOCATION_GRAVE,0,1,nil) end
Duel.SetOperationInfo(0,CATEGORY_TOHAND,nil,1,tp,LOCATION_DECK+LOCATION_GRAVE)
end
function cm.thop(e,tp,eg,ep,ev,re,r,rp)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_ATOHAND)
local g=Duel.SelectMatchingCard(tp,aux.NecroValleyFilter(cm.thfilter),tp,LOCATION_DECK+LOCATION_GRAVE,0,1,1,nil)
if #g>0 then
Duel.SendtoHand(g,nil,REASON_EFFECT)
Duel.ConfirmCards(1-tp,g)
end
end
function cm.spcost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return e:GetHandler():IsAbleToRemoveAsCost()
and Duel.IsExistingMatchingCard(cm.spfilter,tp,LOCATION_GRAVE,0,1,e:GetHandler(),e,tp) end
Duel.Remove(e:GetHandler(),POS_FACEUP,REASON_COST)
end
function cm.filter(c)
return c:IsSpecialSummonable(SUMMON_TYPE_LINK)
end
function cm.spfilter(c,e,tp)
return c:IsType(TYPE_TUNER) and c:IsAttack(0) and c:IsDefense(1800) and c:IsCanBeSpecialSummoned(e,0,tp,false,false)
end
function cm.sptg(e,tp,eg,ep,ev,re,r,rp,chk)
if chkc then return chkc:IsControler(tp) and chkc:IsLocation(LOCATION_GRAVE) and cm.spfilter(chkc,e,tp) end
if chk==0 then return Duel.IsExistingTarget(cm.spfilter,tp,LOCATION_GRAVE,0,1,nil,e,tp) end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON)
local g=Duel.SelectTarget(tp,cm.spfilter,tp,LOCATION_GRAVE,0,1,1,nil,e,tp)
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,g,1,0,0)
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,1,tp,LOCATION_EXTRA)
end
function cm.spop(e,tp,eg,ep,ev,re,r,rp)
local tc=Duel.GetFirstTarget()
if tc and tc:IsRelateToEffect(e) then
if Duel.SpecialSummon(tc,0,tp,tp,false,false,POS_FACEUP)~=0 then
local b1=Duel.IsExistingMatchingCard(Card.IsSynchroSummonable,tp,LOCATION_EXTRA,0,1,nil,nil)
local b2=Duel.IsExistingMatchingCard(Card.IsXyzSummonable,tp,LOCATION_EXTRA,0,1,nil,nil)
local b3=Duel.IsExistingMatchingCard(cm.filter,tp,LOCATION_EXTRA,0,1,nil)
if b1 or b2 or b3 then
if not Duel.SelectYesNo(tp,aux.Stringid(m,3)) then return end
else
return
end
local off=1
local ops,opval={},{}
if b1 then
ops[off]=aux.Stringid(m,4)
opval[off-1]=1
off=off+1
end
if b2 then
ops[off]=aux.Stringid(m,5)
opval[off-1]=2
off=off+1
end
if b3 then
ops[off]=aux.Stringid(m,6)
opval[off-1]=3
off=off+1
end
local op=Duel.SelectOption(tp,table.unpack(ops))
local sel=opval[op]
if sel==1 then
local g=Duel.GetMatchingGroup(Card.IsSynchroSummonable,tp,LOCATION_EXTRA,0,nil,nil)
if g:GetCount()>0 then
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON)
local sg=g:Select(tp,1,1,nil)
Duel.SynchroSummon(tp,sg:GetFirst(),nil)
end
elseif sel==2 then
local g=Duel.GetMatchingGroup(Card.IsXyzSummonable,tp,LOCATION_EXTRA,0,nil,nil)
if g:GetCount()>0 then
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON)
local tg=g:Select(tp,1,1,nil)
Duel.XyzSummon(tp,tg:GetFirst(),nil)
end
else
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON)
local g=Duel.SelectMatchingCard(tp,cm.filter,tp,LOCATION_EXTRA,0,1,1,nil)
local tc=g:GetFirst()
if tc then
Duel.SpecialSummonRule(tp,tc,SUMMON_TYPE_LINK)
end
end
end
end
end
\ No newline at end of file
--破名椛
local m=14010147
local cm=_G["c"..m]
function cm.initial_effect(c)
--limit
local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(m,0))
e1:SetType(EFFECT_TYPE_QUICK_O)
e1:SetCode(EVENT_FREE_CHAIN)
e1:SetHintTiming(0,TIMINGS_CHECK_MONSTER)
e1:SetRange(LOCATION_HAND)
e1:SetCountLimit(1,m)
e1:SetCost(cm.cost)
e1:SetTarget(cm.target)
e1:SetOperation(cm.operation)
c:RegisterEffect(e1)
end
function cm.cost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return e:GetHandler():IsDiscardable() end
Duel.SendtoGrave(e:GetHandler(),REASON_COST+REASON_DISCARD)
end
function cm.target(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return true end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_CODE)
local ac=Duel.AnnounceCard(tp)
Duel.SetTargetParam(ac)
Duel.SetOperationInfo(0,CATEGORY_ANNOUNCE,nil,0,tp,ANNOUNCE_CARD)
end
function cm.operation(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
local ac=Duel.GetChainInfo(0,CHAININFO_TARGET_PARAM)
e:GetHandler():SetHint(CHINT_CARD,ac)
--splimit
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_FIELD)
e1:SetCode(EFFECT_CANNOT_SPECIAL_SUMMON)
e1:SetProperty(EFFECT_FLAG_PLAYER_TARGET)
e1:SetTargetRange(1,1)
e1:SetTarget(cm.splimit)
e1:SetLabel(ac)
e1:SetReset(RESET_PHASE+PHASE_END)
Duel.RegisterEffect(e1,tp)
--actlimit
local e2=Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_FIELD)
e2:SetCode(EFFECT_CANNOT_ACTIVATE)
e2:SetProperty(EFFECT_FLAG_PLAYER_TARGET)
e2:SetTargetRange(1,1)
e2:SetLabel(ac)
e2:SetValue(cm.aclimit)
e2:SetReset(RESET_PHASE+PHASE_END)
Duel.RegisterEffect(e2,tp)
end
function cm.splimit(e,c,sump,sumtype,sumpos,targetp,se)
return c:IsCode(e:GetLabel())
end
function cm.aclimit(e,re,tp)
return re:GetHandler():IsCode(e:GetLabel())
end
\ No newline at end of file
--亡都祭
local m=14010148
local cm=_G["c"..m]
function cm.initial_effect(c)
--tograve
local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(m,0))
e1:SetCategory(CATEGORY_TOGRAVE)
e1:SetType(EFFECT_TYPE_QUICK_O)
e1:SetCode(EVENT_FREE_CHAIN)
e1:SetHintTiming(0,TIMING_END_PHASE)
e1:SetRange(LOCATION_HAND)
e1:SetCountLimit(1,m)
e1:SetCost(cm.cost)
e1:SetCondition(cm.condition)
e1:SetTarget(cm.target)
e1:SetOperation(cm.operation)
c:RegisterEffect(e1)
end
function cm.cost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return e:GetHandler():IsDiscardable() end
Duel.SendtoGrave(e:GetHandler(),REASON_COST+REASON_DISCARD)
end
function cm.condition(e,tp,eg,ep,ev,re,r,rp)
return Duel.IsExistingMatchingCard(Card.IsFaceup,tp,0,LOCATION_FZONE,1,nil)
end
function cm.target(e,tp,eg,ep,ev,re,r,rp,chk)
local g=Duel.GetMatchingGroup(Card.IsAbleToGrave,tp,LOCATION_ONFIELD,LOCATION_ONFIELD,nil)
if chk==0 then return #g>0 end
Duel.SetOperationInfo(0,CATEGORY_TOGRAVE,g,#g,tp,LOCATION_ONFIELD)
end
function cm.operation(e,tp,eg,ep,ev,re,r,rp)
local g=Duel.GetMatchingGroup(Card.IsAbleToGrave,tp,LOCATION_ONFIELD,LOCATION_ONFIELD,nil)
Duel.SendtoGrave(g,REASON_EFFECT)
end
\ No newline at end of file
--虚拟水神战士
if not pcall(function() require("expansions/script/c65010201") end) then require("script/c65010201") end
local m,cm=rscf.DefineCard(65010212,"VrAqua")
function cm.initial_effect(c)
--summon with no tribute
local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(m,0))
e1:SetProperty(EFFECT_FLAG_CANNOT_DISABLE+EFFECT_FLAG_UNCOPYABLE)
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetCode(EFFECT_SUMMON_PROC)
e1:SetValue(1)
e1:SetCondition(cm.con)
c:RegisterEffect(e1)
local e2=rsef.STF(c,EVENT_SUMMON_SUCCESS,{m,1},{1,m},"tg,atk",nil,nil,nil,rsop.target(cm.tgfilter,"tg",LOCATION_MZONE+LOCATION_HAND,0,1,1,c),cm.tgop)
local e3=rsef.QO(c,nil,{m,2},{1,m+100},"rec","ptg",LOCATION_MZONE,rscon.phase("mp1_o","mp2_o"),nil,rsop.target(100,"rec"),cm.recop)
end
function cm.cfilter(c)
return c:IsFacedown() or not c:IsRace(RACE_CYBERSE)
end
function cm.con(e)
return not Duel.IsExistingMatchingCard(cm.cfilter,e:GetHandlerPlayer(),LOCATION_MZONE,0,1,nil)
end
function cm.tgfilter(c)
return c:IsAbleToGrave() and rsva.IsSetM(c)
end
function cm.tgop(e,tp)
if rsop.SelectToGrave(tp,cm.tgfilter,tp,LOCATION_HAND+LOCATION_MZONE,0,1,1,aux.ExceptThisCard(e),{})<=0 then return end
local c=rscf.GetFaceUpSelf(e)
if not c then return end
Duel.BreakEffect()
local e1,e2=rscf.QuickBuff(c,"atk+,def+",1000,"reset",{rsreset.est_pend+RESET_DISABLE+RESET_SELF_TURN,2})
local e3=rsef.SV_INDESTRUCTABLE(c,"battle",1,nil,{rsreset.est_pend+RESET_SELF_TURN,2},"cd")
local e3=rsef.SV_INDESTRUCTABLE(c,"effect",aux.indoval,nil,{rsreset.est_pend+RESET_SELF_TURN,2},"cd")
end
function cm.recop(e,tp,eg,ep,ev,re,r,rp)
local p,d=Duel.GetChainInfo(0,CHAININFO_TARGET_PLAYER,CHAININFO_TARGET_PARAM)
Duel.Recover(p,d,REASON_EFFECT)
end
--友希兰
if not pcall(function() require("expansions/script/c10199990") end) then require("script/c10199990") end
local m,cm=rscf.DefineCard(65020215)
function cm.initial_effect(c)
local e1=rscf.SetSummonCondition(c,nil,rsval.spconbe)
local e2=rsef.FTO(c,EVENT_SUMMON_SUCCESS,{m,0},{1,m},"sp,atk,def","de",LOCATION_HAND,cm.spcon,nil,rsop.target2(cm.fun,rscf.spfilter2(),"sp"),cm.spop)
local e5=rsef.RegisterClone(c,e2,"code",EVENT_SPSUMMON_SUCCESS)
local e3=rsef.SV_INDESTRUCTABLE(c,"battle")
local e4=rsef.QO_NEGATE(c,"neg",nil,"des",LOCATION_MZONE,rscon.negcon(cm.filter))
end
function cm.spcon(e,tp,eg)
local tc=eg:GetFirst()
return #eg==1 and tc:GetSummonPlayer() ~= tp and tc:IsFaceup()
end
function cm.fun(g,e,tp,eg)
Duel.SetTargetCard(eg)
end
function cm.spop(e,tp,eg)
local c=rscf.GetSelf(e)
local tc=rscf.GetTargetCard(Card.IsFaceup)
if c and rssf.SpecialSummon(c)>0 and tc then
local code=tc:GetOriginalCode()
local ba=tc:GetBaseAttack()
local bd=tc:GetBaseDefense()
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetProperty(EFFECT_FLAG_CANNOT_DISABLE)
e1:SetReset(RESET_EVENT+RESETS_STANDARD)
e1:SetCode(EFFECT_CHANGE_CODE)
e1:SetValue(code)
c:RegisterEffect(e1)
local e2=Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_SINGLE)
e2:SetProperty(EFFECT_FLAG_CANNOT_DISABLE)
e2:SetReset(RESET_EVENT+RESETS_STANDARD)
e2:SetLabelObject(e1)
e2:SetCode(EFFECT_SET_BASE_ATTACK)
e2:SetValue(ba)
c:RegisterEffect(e2)
local e3=rsef.RegisterClone(c,e2,"code",EFFECT_SET_BASE_DEFENSE,"value",bd)
local cid=c:CopyEffect(code,RESET_EVENT+RESETS_STANDARD,1)
end
end
function cm.filter(e,tp,re,rp)
return re:IsActiveType(TYPE_MONSTER) and re:GetHandler():IsAttack(e:GetHandler():GetAttack())
end
\ No newline at end of file
function c89380006.initial_effect(c)
c:SetUniqueOnField(1,1,89380006)
local e1=Effect.CreateEffect(c)
e1:SetCategory(CATEGORY_TOHAND)
e1:SetType(EFFECT_TYPE_QUICK_O)
e1:SetCode(EVENT_FREE_CHAIN)
e1:SetProperty(EFFECT_FLAG_CARD_TARGET)
e1:SetRange(LOCATION_HAND)
e1:SetCost(c89380006.spcost)
e1:SetTarget(c89380006.target)
e1:SetOperation(c89380006.operation)
c:RegisterEffect(e1)
local e2=Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_IGNITION)
e2:SetRange(LOCATION_SZONE)
e2:SetProperty(EFFECT_FLAG_CARD_TARGET)
e2:SetCondition(c89380006.drcon)
e2:SetCost(c89380006.drcost)
e2:SetTarget(c89380006.drtarget)
e2:SetOperation(c89380006.drop)
c:RegisterEffect(e2)
end
function c89380006.spcost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return e:GetHandler():IsDiscardable() end
Duel.SendtoGrave(e:GetHandler(),REASON_COST+REASON_DISCARD)
end
function c89380006.spfilter(c)
return c:IsSetCard(0xcc00) and not c:IsCode(89380006) and c:IsAbleToHand()
end
function c89380006.target(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
if chkc then return chkc:IsLocation(LOCATION_GRAVE) and chkc:IsControler(tp) and c89380006.spfilter(chkc) end
if chk==0 then return Duel.IsExistingTarget(c89380006.spfilter,tp,LOCATION_GRAVE,0,1,nil) end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_ATOHAND)
local g=Duel.SelectTarget(tp,c89380006.spfilter,tp,LOCATION_GRAVE,0,1,1,nil)
Duel.SetOperationInfo(0,CATEGORY_TOHAND,g,1,0,0)
end
function c89380006.eqfilter(c)
return c:IsCode(89380009) and c:IsFaceup()
end
function c89380006.operation(e,tp,eg,ep,ev,re,r,rp)
local tc=Duel.GetFirstTarget()
if tc:IsRelateToEffect(e) then
Duel.SendtoHand(tc,nil,REASON_EFFECT)
end
local c=e:GetHandler()
if Duel.IsExistingMatchingCard(c89380006.eqfilter,tp,LOCATION_MZONE,0,1,nil) and Duel.GetLocationCount(tp,LOCATION_SZONE)>0 and c:IsLocation(LOCATION_GRAVE) and c:CheckUniqueOnField(tp) and not c:IsForbidden() and Duel.SelectYesNo(tp,aux.Stringid(89380006,0)) then
Duel.BreakEffect()
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_EQUIP)
local g=Duel.SelectMatchingCard(tp,c89380006.eqfilter,tp,LOCATION_MZONE,0,1,1,nil)
if not (g and Duel.Equip(tp,c,g:GetFirst(),false)) then return end
local e1=Effect.CreateEffect(g:GetFirst())
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetProperty(EFFECT_FLAG_OWNER_RELATE)
e1:SetCode(EFFECT_EQUIP_LIMIT)
e1:SetReset(RESET_EVENT+RESETS_STANDARD)
e1:SetValue(c89380006.eqlimit)
c:RegisterEffect(e1)
end
end
function c89380006.eqlimit(e,c)
return e:GetOwner()==c
end
function c89380006.drcon(e,tp,eg,ep,ev,re,r,rp)
return e:GetHandler():IsType(TYPE_EQUIP)
end
function c89380006.drcost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return e:GetHandler():IsAbleToGraveAsCost() end
Duel.SendtoGrave(e:GetHandler(),REASON_COST)
end
function c89380006.drfilter(c,tp)
return c:IsSetCard(0xcc00) and not c:IsCode(89380006) and c:CheckUniqueOnField(tp) and not c:IsForbidden()
end
function c89380006.drtarget(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
if chkc then return chkc:IsLocation(LOCATION_GRAVE) and chkc:IsControler(tp) and c89380006.drfilter(chkc,tp) end
if chk==0 then return Duel.IsExistingTarget(c89380006.drfilter,tp,LOCATION_GRAVE,0,1,nil,tp) end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_EQUIP)
local g=Duel.SelectTarget(tp,c89380006.drfilter,tp,LOCATION_GRAVE,0,1,1,nil,tp)
Duel.SetOperationInfo(0,CATEGORY_LEAVE_GRAVE,nil,1,tp,0)
end
function c89380006.drop(e,tp,eg,ep,ev,re,r,rp)
local tc=Duel.GetFirstTarget()
if tc:IsRelateToEffect(e) and Duel.IsExistingMatchingCard(c89380006.eqfilter,tp,LOCATION_MZONE,0,1,nil) and Duel.GetLocationCount(tp,LOCATION_SZONE)>0 then
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_EQUIP)
local g=Duel.SelectMatchingCard(tp,c89380006.eqfilter,tp,LOCATION_MZONE,0,1,1,nil)
if not (g and Duel.Equip(tp,tc,g:GetFirst(),false)) then return end
local e1=Effect.CreateEffect(g:GetFirst())
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetProperty(EFFECT_FLAG_OWNER_RELATE)
e1:SetCode(EFFECT_EQUIP_LIMIT)
e1:SetReset(RESET_EVENT+RESETS_STANDARD)
e1:SetValue(c89380006.eqlimit)
tc:RegisterEffect(e1)
end
end
\ No newline at end of file
...@@ -236,6 +236,7 @@ ...@@ -236,6 +236,7 @@
!counter 0x956 指示物(神树勇者的庭院) !counter 0x956 指示物(神树勇者的庭院)
!setname 0x957 星幽 !setname 0x957 星幽
!setname 0x3951 甜心机仆 !setname 0x3951 甜心机仆
!setname 0x5951 虹彩偶像
#篁楠 10 0x200-0x20f #篁楠 10 0x200-0x20f
...@@ -358,6 +359,9 @@ ...@@ -358,6 +359,9 @@
!setname 0xcc01 博丽(博麗) !setname 0xcc01 博丽(博麗)
!setname 0xcc02 魔理沙 !setname 0xcc02 魔理沙
!counter 0xcc10 翻车鱼指示物 !counter 0xcc10 翻车鱼指示物
!setname 0xcc30 暴噬星皇 インペルード
!counter 0xcc30 暴噬星皇指示物
#廷达的信徒 150 0xf30-0xf3f #廷达的信徒 150 0xf30-0xf3f
!setname 0xf34 星拟 !setname 0xf34 星拟
...@@ -415,4 +419,4 @@ ...@@ -415,4 +419,4 @@
#紫宵 (PurpleNightfall) 114 0x970-0x97f #紫宵 (PurpleNightfall) 114 0x970-0x97f
!setname 0x97a 虚诞 !setname 0x97a 虚诞
#??? #???
\ 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