Commit a5a99719 authored by JoyJ's avatar JoyJ
parents a54b58f1 cc0dc5dd
--封印されしエクゾディア
function c33396948.initial_effect(c)
--win
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
e1:SetProperty(EFFECT_FLAG_CANNOT_DISABLE+EFFECT_FLAG_UNCOPYABLE+EFFECT_FLAG_DELAY)
e1:SetCode(EVENT_TO_HAND)
e1:SetRange(LOCATION_HAND)
e1:SetCondition(function() return not IS_PICKING end)
e1:SetOperation(c33396948.operation)
c:RegisterEffect(e1)
end
function c33396948.check(g)
local a1=false
local a2=false
local a3=false
local a4=false
local a5=false
local tc=g:GetFirst()
while tc do
local code=tc:GetCode()
if code==8124921 then a1=true
elseif code==44519536 then a2=true
elseif code==70903634 then a3=true
elseif code==7902349 then a4=true
elseif code==33396948 then a5=true
end
tc=g:GetNext()
end
return a1 and a2 and a3 and a4 and a5
end
function c33396948.operation(e,tp,eg,ep,ev,re,r,rp)
local WIN_REASON_EXODIA = 0x10
local g1=Duel.GetFieldGroup(tp,LOCATION_HAND,0)
local g2=Duel.GetFieldGroup(tp,0,LOCATION_HAND)
local wtp=c33396948.check(g1)
local wntp=c33396948.check(g2)
if wtp and not wntp then
Duel.ConfirmCards(1-tp,g1)
Duel.Win(tp,WIN_REASON_EXODIA)
elseif not wtp and wntp then
Duel.ConfirmCards(tp,g2)
Duel.Win(1-tp,WIN_REASON_EXODIA)
elseif wtp and wntp then
Duel.ConfirmCards(1-tp,g1)
Duel.ConfirmCards(tp,g2)
Duel.Win(PLAYER_NONE,WIN_REASON_EXODIA)
end
end
local program={
{
player=0,
count=1,
},
{
player=1,
count=2,
},
{
player=0,
count=2,
},
{
player=1,
count=2,
},
{
player=0,
count=2,
},
{
player=1,
count=1,
},
{
player=1,
count=-1,
},
{
player=0,
count=-1,
},
}
local function init()
IS_PICKING=true
for _,task in ipairs(program) do
if task.count<0 then
local revCount=-task.count
local hg=Duel.SelectMatchingCard(task.player,Card.IsAbleToDeck,task.player,0,LOCATION_HAND,revCount,revCount,nil)
Duel.HintSelection(hg)
Duel.SendtoDeck(hg,nil,0,REASON_RULE)
Duel.ShuffleDeck(1-task.player)
Duel.Draw(1-task.player,revCount,REASON_RULE)
else
Duel.Hint(HINT_SELECTMSG,task.player,HINTMSG_ATOHAND)
local g=Duel.SelectMatchingCard(task.player,Card.IsAbleToHand,task.player,LOCATION_DECK,0,task.count,task.count,nil)
Duel.SendtoHand(g,task.player,REASON_RULE)
Duel.ConfirmCards(1-task.player,g)
end
end
Duel.ShuffleHand(0)
Duel.ShuffleHand(1)
IS_PICKING=false
end
function Auxiliary.PreloadUds()
--adjust
local e1=Effect.GlobalEffect()
e1:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
e1:SetProperty(EFFECT_FLAG_IGNORE_IMMUNE)
e1:SetCode(EVENT_ADJUST)
e1:SetOperation(function(e)
e:Reset()
init()
end)
Duel.RegisterEffect(e1,0)
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