Commit fb5758e4 authored by gg123gg's avatar gg123gg Committed by GitHub

Add files via upload

parent 41ec8995
--六曜 赤口的完红丘依儿 --六曜 赤口的完红丘依儿
function c12001018.initial_effect(c) function c12001018.initial_effect(c)
--pendulum summon --pendulum summon
aux.EnablePendulumAttribute(c) aux.EnablePendulumAttribute(c)
-- --
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(12001018,0)) e1:SetDescription(aux.Stringid(12001018,0))
e1:SetCategory(CATEGORY_SEARCH+CATEGORY_DECKDES) e1:SetCategory(CATEGORY_SEARCH+CATEGORY_DECKDES)
e1:SetType(EFFECT_TYPE_QUICK_O) e1:SetType(EFFECT_TYPE_QUICK_O)
e1:SetCode(EVENT_FREE_CHAIN) e1:SetCode(EVENT_FREE_CHAIN)
e1:SetHintTiming(0,0x1c0) e1:SetHintTiming(0,0x1c0)
e1:SetRange(LOCATION_HAND) e1:SetRange(LOCATION_HAND)
e1:SetCountLimit(1,12001018) e1:SetCountLimit(1,12001018)
e1:SetCost(c12001018.cost1) e1:SetCost(c12001018.cost1)
e1:SetOperation(c12001018.op1) e1:SetOperation(c12001018.op1)
c:RegisterEffect(e1) c:RegisterEffect(e1)
-- --
local e2=Effect.CreateEffect(c) local e2=Effect.CreateEffect(c)
e2:SetDescription(aux.Stringid(12001018,2)) e2:SetDescription(aux.Stringid(12001018,2))
e2:SetCategory(CATEGORY_TOGRAVE) e2:SetCategory(CATEGORY_REMOVE)
e2:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_O) e2:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_O)
e2:SetProperty(EFFECT_FLAG_CARD_TARGET+EFFECT_FLAG_DELAY) e2:SetProperty(EFFECT_FLAG_CARD_TARGET+EFFECT_FLAG_DELAY)
e2:SetCode(EVENT_TO_GRAVE) e2:SetCode(EVENT_TO_GRAVE)
e2:SetCountLimit(1,12001104) e2:SetCountLimit(1,12001104)
e2:SetCondition(c12001018.con2) e2:SetCondition(c12001018.con2)
e2:SetOperation(c12001018.op2) e2:SetCondition(c12001018.dstg)
c:RegisterEffect(e2) e2:SetOperation(c12001018.dsop)
-- c:RegisterEffect(e2)
end --
-- end
function c12001018.cost1(e,tp,eg,ep,ev,re,r,rp,chk) --
if chk==0 then return e:GetHandler():IsAbleToGraveAsCost() end function c12001018.cost1(e,tp,eg,ep,ev,re,r,rp,chk)
Duel.SendtoGrave(e:GetHandler(),REASON_COST) if chk==0 then return e:GetHandler():IsAbleToGraveAsCost() end
end Duel.SendtoGrave(e:GetHandler(),REASON_COST)
-- end
function c12001018.op1(e,tp,eg,ep,ev,re,r,rp) --
local c=e:GetHandler() function c12001018.op1(e,tp,eg,ep,ev,re,r,rp)
local e1_1=Effect.CreateEffect(c) local c=e:GetHandler()
e1_1:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS) local e1_1=Effect.CreateEffect(c)
e1_1:SetCode(EVENT_SPSUMMON_SUCCESS) e1_1:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
e1_1:SetLabelObject(c) e1_1:SetCode(EVENT_SPSUMMON_SUCCESS)
e1_1:SetCondition(c12001018.con1_1) e1_1:SetLabelObject(c)
e1_1:SetOperation(c12001018.op1_1) e1_1:SetCondition(c12001018.con1_1)
e1_1:SetReset(RESET_PHASE+PHASE_END) e1_1:SetOperation(c12001018.op1_1)
Duel.RegisterEffect(e1_1,tp) e1_1:SetReset(RESET_PHASE+PHASE_END)
-- Duel.RegisterEffect(e1_1,tp)
local e1_2=Effect.CreateEffect(c) --
e1_2:SetType(EFFECT_TYPE_CONTINUOUS+EFFECT_TYPE_FIELD) local e1_2=Effect.CreateEffect(c)
e1_2:SetCode(EVENT_SPSUMMON_SUCCESS) e1_2:SetType(EFFECT_TYPE_CONTINUOUS+EFFECT_TYPE_FIELD)
e1_2:SetCondition(c12001018.con1_2) e1_2:SetCode(EVENT_SPSUMMON_SUCCESS)
e1_2:SetOperation(c12001018.op1_2) e1_2:SetCondition(c12001018.con1_2)
e1_2:SetReset(RESET_PHASE+PHASE_END) e1_2:SetOperation(c12001018.op1_2)
Duel.RegisterEffect(e1_2,tp) e1_2:SetReset(RESET_PHASE+PHASE_END)
local e1_3=Effect.CreateEffect(c) Duel.RegisterEffect(e1_2,tp)
e1_3:SetType(EFFECT_TYPE_CONTINUOUS+EFFECT_TYPE_FIELD) local e1_3=Effect.CreateEffect(c)
e1_3:SetCode(EVENT_CHAIN_SOLVED) e1_3:SetType(EFFECT_TYPE_CONTINUOUS+EFFECT_TYPE_FIELD)
e1_3:SetLabelObject(c) e1_3:SetCode(EVENT_CHAIN_SOLVED)
e1_3:SetCondition(c12001018.con1_3) e1_3:SetLabelObject(c)
e1_3:SetOperation(c12001018.op1_3) e1_3:SetCondition(c12001018.con1_3)
e1_3:SetReset(RESET_PHASE+PHASE_END) e1_3:SetOperation(c12001018.op1_3)
Duel.RegisterEffect(e1_3,tp) e1_3:SetReset(RESET_PHASE+PHASE_END)
-- Duel.RegisterEffect(e1_3,tp)
end --
-- end
function c12001018.cfilter1_1(c,tp) --
return c:GetSummonPlayer()==1-tp function c12001018.cfilter1_1(c,tp)
end return c:GetSummonPlayer()==1-tp
function c12001018.con1_1(e,tp,eg,ep,ev,re,r,rp) end
return eg:IsExists(c12001018.cfilter1_1,1,nil,tp) function c12001018.con1_1(e,tp,eg,ep,ev,re,r,rp)
and (not re:IsHasType(EFFECT_TYPE_ACTIONS) or re:IsHasType(EFFECT_TYPE_CONTINUOUS)) return eg:IsExists(c12001018.cfilter1_1,1,nil,tp)
end and (not re:IsHasType(EFFECT_TYPE_ACTIONS) or re:IsHasType(EFFECT_TYPE_CONTINUOUS))
function c12001018.op1_1(e,tp,eg,ep,ev,re,r,rp) end
if not Duel.IsPlayerCanDiscardDeck(tp,1) then return end function c12001018.op1_1(e,tp,eg,ep,ev,re,r,rp)
if not Duel.SelectYesNo(tp,aux.Stringid(12001018,1)) then return end if not Duel.IsPlayerCanDiscardDeck(tp,1) then return end
Duel.ConfirmDecktop(tp,1) if not Duel.SelectYesNo(tp,aux.Stringid(12001018,1)) then return end
local g=Duel.GetDecktopGroup(tp,1) Duel.ConfirmDecktop(tp,1)
local tc=g:GetFirst() local g=Duel.GetDecktopGroup(tp,1)
local c=e:GetLabelObject() local tc=g:GetFirst()
if tc:IsSetCard(0xfb0) then local c=e:GetLabelObject()
Duel.DisableShuffleCheck() if tc:IsSetCard(0xfb0) then
Duel.SendtoGrave(tc,REASON_EFFECT+REASON_REVEAL) Duel.DisableShuffleCheck()
else Duel.SendtoGrave(tc,REASON_EFFECT+REASON_REVEAL)
if c:IsLocation(LOCATION_GRAVE) and tc:IsAbleToHand() then else
Duel.DisableShuffleCheck() Duel.DisableShuffleCheck()
Duel.SendtoDeck(tc,nil,1,REASON_EFFECT) Duel.MoveSequence(tc,1)
Duel.ShuffleHand(tp) Duel.ShuffleHand(tp)
else end
Duel.ShuffleDeck(tp) end
end --
end function c12001018.con1_2(e,tp,eg,ep,ev,re,r,rp)
end return eg:IsExists(c12001018.cfilter1_1,1,nil,tp)
-- and re:IsHasType(EFFECT_TYPE_ACTIONS) and not re:IsHasType(EFFECT_TYPE_CONTINUOUS)
function c12001018.con1_2(e,tp,eg,ep,ev,re,r,rp) end
return eg:IsExists(c12001018.cfilter1_1,1,nil,tp) function c12001018.op1_2(e,tp,eg,ep,ev,re,r,rp)
and re:IsHasType(EFFECT_TYPE_ACTIONS) and not re:IsHasType(EFFECT_TYPE_CONTINUOUS) Duel.RegisterFlagEffect(tp,12001018,RESET_CHAIN,0,1)
end end
--六曜 赤口的完红丘依儿 function c12001018.con1_3(e,tp,eg,ep,ev,re,r,rp)
function c12001018.initial_effect(c) return Duel.GetFlagEffect(tp,12001018)>0
--pendulum summon end
aux.EnablePendulumAttribute(c) function c12001018.op1_3(e,tp,eg,ep,ev,re,r,rp)
-- local n=Duel.GetFlagEffect(tp,12001018)
Duel.ResetFlagEffect(tp,12001018)
local e1=Effect.CreateEffect(c) while n>0 do
e1:SetDescription(aux.Stringid(12001018,0)) if not Duel.IsPlayerCanDiscardDeck(tp,1) then return end
e1:SetCategory(CATEGORY_SEARCH+CATEGORY_DECKDES) if not Duel.SelectYesNo(tp,aux.Stringid(12001018,1)) then return end
e1:SetType(EFFECT_TYPE_QUICK_O) Duel.ConfirmDecktop(tp,1)
e1:SetCode(EVENT_FREE_CHAIN) local g=Duel.GetDecktopGroup(tp,1)
e1:SetHintTiming(0,0x1c0) local tc=g:GetFirst()
e1:SetRange(LOCATION_HAND) local c=e:GetLabelObject()
e1:SetCountLimit(1,12001018) if tc:IsSetCard(0xfb0) then
e1:SetCost(c12001018.cost1) Duel.DisableShuffleCheck()
e1:SetOperation(c12001018.op1) Duel.SendtoGrave(tc,REASON_EFFECT+REASON_REVEAL)
c:RegisterEffect(e1) else
-- Duel.DisableShuffleCheck()
local e2=Effect.CreateEffect(c) Duel.MoveSequence(tc,1)
e2:SetDescription(aux.Stringid(12001018,2)) Duel.ShuffleDeck(tp)
e2:SetCategory(CATEGORY_TOGRAVE) end
e2:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_O) n=n-1
e2:SetProperty(EFFECT_FLAG_CARD_TARGET+EFFECT_FLAG_DELAY) end
e2:SetCode(EVENT_TO_GRAVE) end
e2:SetCountLimit(1,12001104) --
e2:SetCondition(c12001018.con2) function c12001018.con2(e,tp,eg,ep,ev,re,r,rp)
e2:SetCondition(c12001018.dstg) local c=e:GetHandler()
e2:SetOperation(c12001018.dsop) return c:IsPreviousLocation(LOCATION_DECK) and c:IsReason(REASON_REVEAL)
c:RegisterEffect(e2) end
-- --
end function c12001018.tfilter2(c)
-- return c:IsAbleToRemove()
function c12001018.cost1(e,tp,eg,ep,ev,re,r,rp,chk) end
if chk==0 then return e:GetHandler():IsAbleToGraveAsCost() end function c12001018.dstg(e,tp,eg,ep,ev,re,r,rp)
Duel.SendtoGrave(e:GetHandler(),REASON_COST) if chk==0 then return Duel.IsExistingMatchingCard(aux.TRUE,tp,0,LOCATION_MZONE,1,nil) end
end end
-- function c12001018.dsop(e,tp,eg,ep,ev,re,r,rp)
function c12001018.op1(e,tp,eg,ep,ev,re,r,rp) Duel.Hint(HINT_SELECTMSG,1-tp,HINTMSG_REMOVE)
local c=e:GetHandler() local g=Duel.SelectMatchingCard(1-tp,aux.TRUE,tp,0,LOCATION_MZONE,1,1,nil)
local e1_1=Effect.CreateEffect(c) local tc=g:GetFirst()
e1_1:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS) if tc:IsRelateToEffect(e) then
e1_1:SetCode(EVENT_SPSUMMON_SUCCESS) Duel.Remove(tc,POS_FACEUP,REASON_RULE)
e1_1:SetLabelObject(c) end
e1_1:SetCondition(c12001018.con1_1) end
e1_1:SetOperation(c12001018.op1_1)
e1_1:SetReset(RESET_PHASE+PHASE_END)
Duel.RegisterEffect(e1_1,tp)
--
local e1_2=Effect.CreateEffect(c)
e1_2:SetType(EFFECT_TYPE_CONTINUOUS+EFFECT_TYPE_FIELD)
e1_2:SetCode(EVENT_SPSUMMON_SUCCESS)
e1_2:SetCondition(c12001018.con1_2)
e1_2:SetOperation(c12001018.op1_2)
e1_2:SetReset(RESET_PHASE+PHASE_END)
Duel.RegisterEffect(e1_2,tp)
local e1_3=Effect.CreateEffect(c)
e1_3:SetType(EFFECT_TYPE_CONTINUOUS+EFFECT_TYPE_FIELD)
e1_3:SetCode(EVENT_CHAIN_SOLVED)
e1_3:SetLabelObject(c)
e1_3:SetCondition(c12001018.con1_3)
e1_3:SetOperation(c12001018.op1_3)
e1_3:SetReset(RESET_PHASE+PHASE_END)
Duel.RegisterEffect(e1_3,tp)
--
end
--
function c12001018.cfilter1_1(c,tp)
return c:GetSummonPlayer()==1-tp
end
function c12001018.con1_1(e,tp,eg,ep,ev,re,r,rp)
return eg:IsExists(c12001018.cfilter1_1,1,nil,tp)
and (not re:IsHasType(EFFECT_TYPE_ACTIONS) or re:IsHasType(EFFECT_TYPE_CONTINUOUS))
end
function c12001018.op1_1(e,tp,eg,ep,ev,re,r,rp)
if not Duel.IsPlayerCanDiscardDeck(tp,1) then return end
if not Duel.SelectYesNo(tp,aux.Stringid(12001018,1)) then return end
Duel.ConfirmDecktop(tp,1)
local g=Duel.GetDecktopGroup(tp,1)
local tc=g:GetFirst()
local c=e:GetLabelObject()
if tc:IsSetCard(0xfb0) then
Duel.DisableShuffleCheck()
Duel.SendtoGrave(tc,REASON_EFFECT+REASON_REVEAL)
else
Duel.DisableShuffleCheck()
Duel.MoveSequence(tc,1)
Duel.ShuffleHand(tp)
end
end
--
function c12001018.con1_2(e,tp,eg,ep,ev,re,r,rp)
return eg:IsExists(c12001018.cfilter1_1,1,nil,tp)
and re:IsHasType(EFFECT_TYPE_ACTIONS) and not re:IsHasType(EFFECT_TYPE_CONTINUOUS)
end
function c12001018.op1_2(e,tp,eg,ep,ev,re,r,rp)
Duel.RegisterFlagEffect(tp,12001018,RESET_CHAIN,0,1)
end
function c12001018.con1_3(e,tp,eg,ep,ev,re,r,rp)
return Duel.GetFlagEffect(tp,12001018)>0
end
function c12001018.op1_3(e,tp,eg,ep,ev,re,r,rp)
local n=Duel.GetFlagEffect(tp,12001018)
Duel.ResetFlagEffect(tp,12001018)
while n>0 do
if not Duel.IsPlayerCanDiscardDeck(tp,1) then return end
if not Duel.SelectYesNo(tp,aux.Stringid(12001018,1)) then return end
Duel.ConfirmDecktop(tp,1)
local g=Duel.GetDecktopGroup(tp,1)
local tc=g:GetFirst()
local c=e:GetLabelObject()
if tc:IsSetCard(0xfb0) then
Duel.DisableShuffleCheck()
Duel.SendtoGrave(tc,REASON_EFFECT+REASON_REVEAL)
else
Duel.DisableShuffleCheck()
Duel.MoveSequence(tc,1)
Duel.ShuffleDeck(tp)
end
n=n-1
end
end
--
function c12001018.con2(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
return c:IsPreviousLocation(LOCATION_DECK) and c:IsReason(REASON_REVEAL)
end
--
function c12001018.tfilter2(c)
return c:IsAbleToRemove()
end
function c12001018.dstg(e,tp,eg,ep,ev,re,r,rp)
if chk==0 then return Duel.IsExistingMatchingCard(aux.TRUE,tp,0,LOCATION_MZONE,1,nil) end
Duel.SetOperationInfo(0,CATEGORY_DESTROY,nil,1,0,LOCATION_MZONE)
end
function c12001018.dsop(e,tp,eg,ep,ev,re,r,rp)
Duel.Hint(HINT_SELECTMSG,1-tp,HINTMSG_REMOVE)
local g=Duel.SelectMatchingCard(1-tp,aux.TRUE,tp,0,LOCATION_MZONE,1,1,nil)
local tc=g:GetFirst()
if tc:IsRelateToEffect(e) then
Duel.Remove(tc,POS_FACEUP,REASON_RULE)
end
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