Commit 797e8d65 authored by 聖園ミカ's avatar 聖園ミカ 🐟

54188

parent e6923d1f
Pipeline #31062 passed with stage
in 27 minutes and 52 seconds
No preview for this file type
......@@ -7,17 +7,16 @@ function cm.initial_effect(c)
--xyz summon
aux.AddXyzProcedure(c,cm.mfilter,1,2)
c:EnableReviveLimit()
--special summon (hand)
--tograve
local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(m,0))
e1:SetCategory(CATEGORY_SPECIAL_SUMMON)
e1:SetCategory(CATEGORY_TOGRAVE)
e1:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_O)
e1:SetCode(EVENT_SPSUMMON_SUCCESS)
e1:SetProperty(EFFECT_FLAG_DELAY)
e1:SetCountLimit(1,m)
e1:SetCondition(cm.spcon1)
e1:SetTarget(cm.sptg1)
e1:SetOperation(cm.spop1)
e1:SetCondition(cm.tgcon)
e1:SetTarget(cm.tgtg)
e1:SetOperation(cm.tgop)
c:RegisterEffect(e1)
--
local e3=Sr_skyland.speffect(c,m)
......@@ -33,21 +32,20 @@ end
function cm.spcon(e,tp,eg,ep,ev,re,r,rp)
return eg:IsExists(cm.conffil,1,nil,tp)
end
function cm.spcon1(e,tp,eg,ep,ev,re,r,rp)
function cm.tgcon(e,tp,eg,ep,ev,re,r,rp)
return e:GetHandler():IsSummonType(SUMMON_TYPE_XYZ)
end
function cm.spfilter1(c,e,tp)
function cm.tgfilter(c)
return srre.check_set_SkyLand(c) and c:IsAbleToGrave()
end
function cm.sptg1(e,tp,eg,ep,ev,re,r,rp,chk)
local c=e:GetHandler()
if chk==0 then return Duel.IsExistingMatchingCard(cm.spfilter1,tp,LOCATION_DECK,0,1,nil) end
function cm.tgtg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(cm.tgfilter,tp,LOCATION_DECK,0,1,nil) end
Duel.SetOperationInfo(0,CATEGORY_TOGRAVE,nil,1,tp,LOCATION_DECK)
end
function cm.spop1(e,tp,eg,ep,ev,re,r,rp)
function cm.tgop(e,tp,eg,ep,ev,re,r,rp)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TOGRAVE)
local g=Duel.SelectMatchingCard(tp,cm.spfilter1,tp,LOCATION_DECK,0,1,1,nil)
if g:GetCount()>0 then
local g=Duel.SelectMatchingCard(tp,cm.tgfilter,tp,LOCATION_DECK,0,1,1,nil)
if g:GetCount()>0 then
Duel.SendtoGrave(g,REASON_EFFECT)
end
end
......@@ -116,17 +116,16 @@ function c21520090.op2(e,tp,eg,ep,ev,re,r,rp)
Duel.Remove(sg,POS_FACEDOWN,REASON_EFFECT)
end
function c21520090.tg3(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(Card.IsAbleToRemove,tp,0,LOCATION_DECK,1,nil) end
Duel.SetOperationInfo(0,CATEGORY_REMOVE,nil,1,1-tp,LOCATION_DECK)
if chk==0 then return Duel.GetDecktopGroup(1-tp,2):FilterCount(Card.IsAbleToRemove,nil)==2 end
Duel.SetOperationInfo(0,CATEGORY_REMOVE,nil,2,1-tp,LOCATION_DECK)
Duel.SetChainLimit(aux.FALSE)
end
function c21520090.op3(e,tp,eg,ep,ev,re,r,rp)
local ct=Duel.GetFieldGroupCount(tp,0,LOCATION_DECK)
if ct==0 then return end
if Duel.GetFieldGroupCount(tp,0,LOCATION_DECK)>2 then ct=2 end
local sg=Duel.GetDecktopGroup(1-tp,ct)
Duel.DisableShuffleCheck()
Duel.Remove(sg,POS_FACEDOWN,REASON_EFFECT)
local g=Duel.GetDecktopGroup(1-tp,2)
if #g>0 then
Duel.DisableShuffleCheck()
Duel.Remove(g,POS_FACEUP,REASON_EFFECT)
end
end
function c21520090.tg4(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(Card.IsAbleToRemove,tp,0,LOCATION_HAND,1,nil) end
......@@ -137,7 +136,7 @@ function c21520090.op4(e,tp,eg,ep,ev,re,r,rp)
local g=Duel.GetMatchingGroup(Card.IsAbleToRemove,tp,0,LOCATION_HAND,nil)
if g:GetCount()<=0 then return end
local sg=g:RandomSelect(tp,1)
-- Duel.HintSelection(sg)
-- Duel.HintSelection(sg)
Duel.Remove(sg,POS_FACEDOWN,REASON_EFFECT)
local ct=Duel.GetMatchingGroupCount(Card.IsFacedown,tp,0,LOCATION_REMOVED,nil)
if ct>0 then Duel.Damage(1-tp,ct*800,REASON_EFFECT) end
......
--天球的观测者
Duel.LoadScript("c10199990.lua")
local m,cm=rscf.DefineCard(30556820)
function cm.initial_effect(c)
local e1=rsef.ACT(c,nil,nil,{1,m},nil,nil,nil,nil,rsop.target(aux.TRUE,nil,LOCATION_DECK),cm.act)
local e2=rsef.QO(c,nil,{m,2},{1,m},"th,dr",nil,LOCATION_SZONE,rscon.phmp,nil,cm.tg,cm.op)
end
function cm.act(e,tp)
if not aux.ExceptThisCard(e) then return end
local ct,og,tc=rsop.SelectToDeck(tp,aux.TRUE,tp,LOCATION_DECK,0,1,1,nil,{1-tp,2,REASON_EFFECT })
if tc then
tc:ReverseInDeck()
end
end
function cm.tg(e,tp,eg,ep,ev,re,r,rp,chk)
local g=Duel.GetMatchingGroup(Card.IsFaceup,tp,0,LOCATION_DECK,nil)
local b1=g:IsExists(Card.IsAbleToHand,1,nil)
local b2=Duel.IsPlayerCanDraw(tp,#g)
if chk==0 then return #g>0 and (b1 or b2) end
end
function cm.op(e,tp)
if not aux.ExceptThisCard(e) then return end
local g=Duel.GetMatchingGroup(Card.IsFaceup,tp,0,LOCATION_DECK,nil)
if #g<=0 then return end
Duel.ConfirmCards(1-tp,g)
local b1=g:IsExists(Card.IsAbleToHand,1,nil)
local b2=Duel.IsPlayerCanDraw(tp,#g)
if not b1 and not b2 then return end
local op=rsop.SelectOption(1-tp,b1,{m,0},b2,{m,1})
if op==1 then
Duel.SendtoHand(g,tp,REASON_EFFECT)
Duel.ConfirmCards(1-tp,g)
else
Duel.Draw(tp,#g,REASON_EFFECT)
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