Commit 9d2b8915 authored by 聖園ミカ's avatar 聖園ミカ 🐟

vme50

parent 4d173a4e
No preview for this file type
--周子·浪迹天涯
function c81040000.initial_effect(c)
aux.AddRitualProcGreater(c,c81040000.ritual_filter)
local m=81040000
local cm=_G["c"..m]
Duel.LoadScript("c81000000.lua")
function cm.initial_effect(c)
aux.AddRitualProcGreater(c,cm.ritual_filter)
--to hand
local e1=Effect.CreateEffect(c)
e1:SetCategory(CATEGORY_TOHAND+CATEGORY_SEARCH)
......@@ -8,23 +11,23 @@ function c81040000.initial_effect(c)
e1:SetRange(LOCATION_GRAVE)
e1:SetCondition(aux.exccon)
e1:SetCost(aux.bfgcost)
e1:SetTarget(c81040000.thtg)
e1:SetOperation(c81040000.thop)
e1:SetTarget(cm.thtg)
e1:SetOperation(cm.thop)
c:RegisterEffect(e1)
end
function c81040000.ritual_filter(c)
function cm.ritual_filter(c)
return c:IsSetCard(0x81c) and c:IsType(TYPE_RITUAL)
end
function c81040000.thfilter(c)
function cm.thfilter(c)
return c:IsSetCard(0x81c) and c:IsType(TYPE_MONSTER) and c:IsAbleToHand()
end
function c81040000.thtg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(c81040000.thfilter,tp,LOCATION_DECK,0,1,nil) 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,0,1,nil) end
Duel.SetOperationInfo(0,CATEGORY_TOHAND,nil,1,tp,LOCATION_DECK)
end
function c81040000.thop(e,tp,eg,ep,ev,re,r,rp)
function cm.thop(e,tp,eg,ep,ev,re,r,rp)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_ATOHAND)
local g=Duel.SelectMatchingCard(tp,c81040000.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
Duel.SendtoHand(g,nil,REASON_EFFECT)
Duel.ConfirmCards(1-tp,g)
......
--周子·红叶秋风
function c81040003.initial_effect(c)
local e1=aux.AddRitualProcGreater2(c,c81040003.filter,LOCATION_HAND+LOCATION_GRAVE)
e1:SetCountLimit(1,81040003)
local m=81040003
local cm=_G["c"..m]
Duel.LoadScript("c81000000.lua")
function cm.initial_effect(c)
local e1=aux.AddRitualProcGreater2(c,cm.ritual_filter,LOCATION_HAND+LOCATION_GRAVE)
e1:SetCountLimit(1,m)
c:RegisterEffect(e1)
--to deck
local e6=Effect.CreateEffect(c)
e6:SetCategory(CATEGORY_TODECK)
e6:SetType(EFFECT_TYPE_IGNITION)
e6:SetProperty(EFFECT_FLAG_CARD_TARGET)
e6:SetRange(LOCATION_GRAVE)
e6:SetCountLimit(1,81040903)
e6:SetCondition(aux.exccon)
e6:SetCost(aux.bfgcost)
e6:SetTarget(c81040003.tdtg)
e6:SetOperation(c81040003.tdop)
c:RegisterEffect(e6)
local e2=Effect.CreateEffect(c)
e2:SetCategory(CATEGORY_TODECK)
e2:SetType(EFFECT_TYPE_IGNITION)
e2:SetProperty(EFFECT_FLAG_CARD_TARGET)
e2:SetRange(LOCATION_GRAVE)
e2:SetCountLimit(1,m+900)
e2:SetCondition(aux.exccon)
e2:SetCost(aux.bfgcost)
e2:SetTarget(cm.tdtg)
e2:SetOperation(cm.tdop)
c:RegisterEffect(e2)
end
function c81040003.filter(c)
function cm.ritual_filter(c)
return c:IsSetCard(0x81c)
end
function c81040003.tdfilter(c)
return not c:IsCode(81040003) and c:IsSetCard(0x81c) and c:IsAbleToDeck()
and (not e or c:IsCanBeEffectTarget(e))
and (not c:IsLocation(LOCATION_REMOVED) or c:IsFaceup())
function cm.tdfilter(c,e)
return not c:IsCode(m) and c:IsSetCard(0x81c) and c:IsAbleToDeck()
and (not e or c:IsCanBeEffectTarget(e)) and c:IsFaceupEx()
end
function c81040003.tdtg(e,tp,eg,ep,ev,re,r,rp,chk)
if chkc then return chkc:IsLocation(LOCATION_GRAVE+LOCATION_REMOVED) and chkc:IsControler(tp) and c81040003.tdfilter(chkc) end
if chk==0 then return Duel.IsExistingTarget(c81040003.tdfilter,tp,LOCATION_GRAVE+LOCATION_REMOVED,0,1,e:GetHandler()) end
function cm.tdtg(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
if chkc then return chkc:IsLocation(LOCATION_GRAVE+LOCATION_REMOVED) and chkc:IsControler(tp) and cm.tdfilter(chkc) end
if chk==0 then return Duel.IsExistingTarget(cm.tdfilter,tp,LOCATION_GRAVE,0,1,e:GetHandler()) end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TODECK)
local g=Duel.GetMatchingGroup(c81040003.tdfilter,tp,LOCATION_GRAVE+LOCATION_REMOVED,0,e:GetHandler(),e)
local sg=g:SelectSubGroup(tp,aux.dncheck,false,1,#g)
local g=Duel.GetMatchingGroup(cm.tdfilter,tp,LOCATION_GRAVE+LOCATION_REMOVED,0,e:GetHandler(),e)
aux.GCheckAdditional=aux.dncheck
local sg=g:SelectSubGroup(tp,aux.TRUE,false,1,#g)
aux.GCheckAdditional=nil
Duel.SetTargetCard(sg)
Duel.SetOperationInfo(0,CATEGORY_TODECK,sg,#sg,0,0)
end
function c81040003.tdop(e,tp,eg,ep,ev,re,r,rp)
function cm.tdop(e,tp,eg,ep,ev,re,r,rp)
local g=Duel.GetChainInfo(0,CHAININFO_TARGET_CARDS):Filter(Card.IsRelateToEffect,nil,e)
if g:GetCount()>0 then
Duel.SendtoDeck(g,nil,2,REASON_EFFECT)
Duel.SendtoDeck(g,nil,SEQ_DECKSHUFFLE,REASON_EFFECT)
end
end
......@@ -5,6 +5,7 @@ Duel.LoadScript("c81000000.lua")
function cm.initial_effect(c)
local e1=aux.AddRitualProcEqual2(c,cm.afilter,nil,cm.bfilter)
e1:SetCountLimit(1,m+EFFECT_COUNT_CODE_OATH)
c:RegisterEffect(e1)
--destroy replace
local e2=Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
......
--周子·自在休憩
function c81040014.initial_effect(c)
local m=81040014
local cm=_G["c"..m]
Duel.LoadScript("c81000000.lua")
function cm.initial_effect(c)
--Activate
local e1=aux.AddRitualProcEqual2(c,c81040014.filter,LOCATION_HAND+LOCATION_REMOVED)
e1:SetCountLimit(1,81040014)
local e1=aux.AddRitualProcEqual2(c,cm.filter,LOCATION_HAND+LOCATION_REMOVED)
e1:SetCountLimit(1,m)
c:RegisterEffect(e1)
--tograve
local e2=Effect.CreateEffect(c)
e2:SetCategory(CATEGORY_TOGRAVE)
e2:SetType(EFFECT_TYPE_IGNITION)
e2:SetProperty(EFFECT_FLAG_CARD_TARGET)
e2:SetRange(LOCATION_GRAVE)
e2:SetCountLimit(1,81040914)
e2:SetCountLimit(1,m+900)
e2:SetCondition(aux.exccon)
e2:SetCost(aux.bfgcost)
e2:SetTarget(c81040014.tgtg)
e2:SetOperation(c81040014.tgop)
e2:SetTarget(cm.tgtg)
e2:SetOperation(cm.tgop)
c:RegisterEffect(e2)
end
function c81040014.filter(c)
function cm.filter(c)
return c:IsSetCard(0x81c)
end
function c81040014.tgfilter(c)
function cm.tgfilter(c)
return c:IsFaceup() and c:IsSetCard(0x81c) and c:IsType(TYPE_MONSTER)
end
function c81040014.tgtg(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
if chkc then return chkc:IsLocation(LOCATION_REMOVED) and chkc:IsControler(tp) and c81040014.tgfilter(chkc) end
if chk==0 then return Duel.IsExistingTarget(c81040014.tgfilter,tp,LOCATION_REMOVED,0,1,nil) end
function cm.tgtg(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
if chkc then return chkc:IsLocation(LOCATION_REMOVED) and chkc:IsControler(tp) and cm.tgfilter(chkc) end
if chk==0 then return Duel.IsExistingTarget(cm.tgfilter,tp,LOCATION_REMOVED,0,1,nil) end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TOGRAVE)
local sg=Duel.SelectTarget(tp,c81040014.tgfilter,tp,LOCATION_REMOVED,0,1,1,nil)
local sg=Duel.SelectTarget(tp,cm.tgfilter,tp,LOCATION_REMOVED,0,1,1,nil)
Duel.SetOperationInfo(0,CATEGORY_TOGRAVE,sg,1,0,0)
end
function c81040014.tgop(e,tp,eg,ep,ev,re,r,rp)
function cm.tgop(e,tp,eg,ep,ev,re,r,rp)
local tc=Duel.GetFirstTarget()
if tc:IsRelateToEffect(e) then
Duel.SendtoGrave(tc,REASON_EFFECT+REASON_RETURN)
......
--周子·不散之约
function c81040035.initial_effect(c)
local m=81040035
local cm=_G["c"..m]
Duel.LoadScript("c81000000.lua")
function cm.initial_effect(c)
--Activate
local e0=Effect.CreateEffect(c)
e0:SetType(EFFECT_TYPE_ACTIVATE)
......@@ -10,10 +13,10 @@ function c81040035.initial_effect(c)
e1:SetCategory(CATEGORY_TOGRAVE+CATEGORY_DRAW)
e1:SetType(EFFECT_TYPE_IGNITION)
e1:SetRange(LOCATION_FZONE)
e1:SetCountLimit(1,81040035)
e1:SetCost(c81040035.cost)
e1:SetTarget(c81040035.drtg)
e1:SetOperation(c81040035.drop)
e1:SetCountLimit(1,m)
e1:SetCost(cm.cost)
e1:SetTarget(cm.drtg)
e1:SetOperation(cm.drop)
c:RegisterEffect(e1)
--Untargetable
local e2=Effect.CreateEffect(c)
......@@ -22,7 +25,7 @@ function c81040035.initial_effect(c)
e2:SetRange(LOCATION_FZONE)
e2:SetProperty(EFFECT_FLAG_IGNORE_IMMUNE)
e2:SetTargetRange(LOCATION_MZONE,0)
e2:SetTarget(c81040035.immtg)
e2:SetTarget(cm.immtg)
e2:SetValue(aux.tgoval)
c:RegisterEffect(e2)
--Indes
......@@ -35,63 +38,63 @@ function c81040035.initial_effect(c)
e4:SetCategory(CATEGORY_SEARCH+CATEGORY_TOHAND)
e4:SetType(EFFECT_TYPE_IGNITION)
e4:SetRange(LOCATION_GRAVE)
e4:SetCountLimit(1,81040935)
e4:SetCountLimit(1,m+900)
e4:SetCondition(aux.exccon)
e4:SetCost(c81040035.qhcost)
e4:SetTarget(c81040035.qhtg)
e4:SetOperation(c81040035.qhop)
e4:SetCost(cm.qhcost)
e4:SetTarget(cm.qhtg)
e4:SetOperation(cm.qhop)
c:RegisterEffect(e4)
end
function c81040035.cfilter(c)
function cm.cfilter(c)
return c:IsSetCard(0x81c) and c:IsDiscardable()
end
function c81040035.cost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(c81040035.cfilter,tp,LOCATION_HAND,0,1,nil) end
Duel.DiscardHand(tp,c81040035.cfilter,1,1,REASON_COST+REASON_DISCARD)
function cm.cost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(cm.cfilter,tp,LOCATION_HAND,0,1,nil) end
Duel.DiscardHand(tp,cm.cfilter,1,1,REASON_COST+REASON_DISCARD)
end
function c81040035.filter(c)
function cm.filter(c)
return c:IsSetCard(0x81c) and c:IsType(TYPE_MONSTER) and c:IsAbleToGrave()
end
function c81040035.drtg(e,tp,eg,ep,ev,re,r,rp,chk)
function cm.drtg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsPlayerCanDraw(tp,1)
and Duel.IsExistingMatchingCard(c81040035.filter,tp,LOCATION_DECK,0,1,nil) end
and Duel.IsExistingMatchingCard(cm.filter,tp,LOCATION_DECK,0,1,nil) end
Duel.SetOperationInfo(0,CATEGORY_TOGRAVE,nil,1,tp,LOCATION_DECK)
Duel.SetOperationInfo(0,CATEGORY_DRAW,nil,0,tp,1)
end
function c81040035.drop(e,tp,eg,ep,ev,re,r,rp)
function cm.drop(e,tp,eg,ep,ev,re,r,rp)
if not e:GetHandler():IsRelateToEffect(e) then return end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TOGRAVE)
local g=Duel.SelectMatchingCard(tp,c81040035.filter,tp,LOCATION_DECK,0,1,1,nil)
local g=Duel.SelectMatchingCard(tp,cm.filter,tp,LOCATION_DECK,0,1,1,nil)
if g:GetCount()>0 and Duel.SendtoGrave(g,REASON_EFFECT)~=0 and g:GetFirst():IsLocation(LOCATION_GRAVE) then
Duel.ShuffleDeck(tp)
Duel.BreakEffect()
Duel.Draw(tp,1,REASON_EFFECT)
end
end
function c81040035.immtg(e,c)
function cm.immtg(e,c)
return c:IsSummonType(SUMMON_TYPE_RITUAL) and c:IsLevel(9)
end
function c81040035.pfilter(c)
function cm.pfilter(c)
return c:IsSetCard(0x81c) and c:IsType(TYPE_MONSTER) and c:IsAbleToRemoveAsCost()
end
function c81040035.qhcost(e,tp,eg,ep,ev,re,r,rp,chk)
function cm.qhcost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return e:GetHandler():IsAbleToRemoveAsCost()
and Duel.IsExistingMatchingCard(c81040035.pfilter,tp,LOCATION_GRAVE,0,1,nil) end
and Duel.IsExistingMatchingCard(cm.pfilter,tp,LOCATION_GRAVE,0,1,nil) end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_REMOVE)
local g=Duel.SelectMatchingCard(tp,c81040035.pfilter,tp,LOCATION_GRAVE,0,1,1,nil)
local g=Duel.SelectMatchingCard(tp,cm.pfilter,tp,LOCATION_GRAVE,0,1,1,nil)
g:AddCard(e:GetHandler())
Duel.Remove(g,POS_FACEUP,REASON_COST)
end
function c81040035.qhfilter(c)
function cm.qhfilter(c)
return c:IsSetCard(0x81c) and c:IsType(TYPE_RITUAL) and c:IsType(TYPE_SPELL) and c:IsAbleToHand()
end
function c81040035.qhtg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(c81040035.qhfilter,tp,LOCATION_DECK,0,1,nil) end
function cm.qhtg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(cm.qhfilter,tp,LOCATION_DECK,0,1,nil) end
Duel.SetOperationInfo(0,CATEGORY_TOHAND,nil,1,tp,LOCATION_DECK)
end
function c81040035.qhop(e,tp,eg,ep,ev,re,r,rp)
function cm.qhop(e,tp,eg,ep,ev,re,r,rp)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_ATOHAND)
local g=Duel.SelectMatchingCard(tp,c81040035.qhfilter,tp,LOCATION_DECK,0,1,1,nil)
local g=Duel.SelectMatchingCard(tp,cm.qhfilter,tp,LOCATION_DECK,0,1,1,nil)
if g:GetCount()>0 then
Duel.SendtoHand(g,nil,REASON_EFFECT)
Duel.ConfirmCards(1-tp,g)
......
--周子·久别重逢
function c81040038.initial_effect(c)
local m=81040038
local cm=_G["c"..m]
Duel.LoadScript("c81000000.lua")
function cm.initial_effect(c)
--Activate
local e1=Effect.CreateEffect(c)
e1:SetCategory(CATEGORY_NEGATE+CATEGORY_REMOVE)
e1:SetType(EFFECT_TYPE_ACTIVATE)
e1:SetCode(EVENT_CHAINING)
e1:SetCondition(c81040038.condition)
e1:SetCost(c81040038.cost)
e1:SetTarget(c81040038.target)
e1:SetOperation(c81040038.activate)
e1:SetCondition(cm.condition)
e1:SetCost(cm.cost)
e1:SetTarget(cm.target)
e1:SetOperation(cm.activate)
c:RegisterEffect(e1)
end
function c81040038.cfilter(c)
function cm.cfilter(c)
return c:IsType(TYPE_MONSTER) and c:IsSetCard(0x81c) and c:IsAbleToRemoveAsCost()
end
function c81040038.condition(e,tp,eg,ep,ev,re,r,rp)
function cm.condition(e,tp,eg,ep,ev,re,r,rp)
return (re:IsActiveType(TYPE_MONSTER) or re:IsHasType(EFFECT_TYPE_ACTIVATE)) and Duel.IsChainNegatable(ev)
end
function c81040038.cost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(c81040038.cfilter,tp,LOCATION_GRAVE,0,1,nil) end
function cm.cost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(cm.cfilter,tp,LOCATION_GRAVE,0,1,nil) end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_REMOVE)
local g=Duel.SelectMatchingCard(tp,c81040038.cfilter,tp,LOCATION_GRAVE,0,1,1,nil)
local g=Duel.SelectMatchingCard(tp,cm.cfilter,tp,LOCATION_GRAVE,0,1,1,nil)
Duel.Remove(g,POS_FACEUP,REASON_COST)
end
function c81040038.target(e,tp,eg,ep,ev,re,r,rp,chk)
function cm.target(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return aux.nbcon(tp,re) end
Duel.SetOperationInfo(0,CATEGORY_NEGATE,eg,1,0,0)
if re:GetHandler():IsRelateToEffect(re) then
Duel.SetOperationInfo(0,CATEGORY_REMOVE,eg,1,0,0)
end
end
function c81040038.activate(e,tp,eg,ep,ev,re,r,rp)
function cm.activate(e,tp,eg,ep,ev,re,r,rp)
if Duel.NegateActivation(ev) and re:GetHandler():IsRelateToEffect(re) then
Duel.Remove(eg,POS_FACEUP,REASON_EFFECT)
end
......
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