Commit bf7236d4 authored by Tachibana's avatar Tachibana

ndyd

parent 201183f4
Pipeline #5305 passed with stages
in 49 minutes and 13 seconds
--幻量子呼唤者
if not pcall(function() require("expansions/script/c10199990") end) then require("script/c10199990") end
rsof.SelectHint=rshint.Select
local m=18007001
local cm=_G["c"..m]
if not rsv.PhantomQuantum then
......
......@@ -6,7 +6,7 @@ function c19500022.initial_effect(c)
e1:SetCategory(CATEGORY_TODECK+CATEGORY_DRAW)
e1:SetProperty(EFFECT_FLAG_CARD_TARGET)
e1:SetType(EFFECT_TYPE_IGNITION)
e1:SetRange(LOCATION_MZONE)
e1:SetRange(LOCATION_MZONE+LOCATION_GRAVE)
e1:SetCountLimit(1)
e1:SetCost(c19500022.cost)
e1:SetTarget(c19500022.tdtg)
......
......@@ -10,5 +10,5 @@ function Suyu_love.costhand(e,tp,eg,ep,ev,re,r,rp,chk)
end
function Suyu_love.locon(e,tp)
return Duel.IsExistingMatchingCard(Card.IsCode,tp,LOCATION_MZONE,0,nil,m)
return Duel.IsExistingMatchingCard(Card.IsCode,tp,LOCATION_MZONE,0,1,nil,m)
end
\ No newline at end of file
......@@ -62,9 +62,9 @@ end
function cm.sptg(e,tp,eg,ep,ev,re,r,rp,chk)
local l=0
if Suyu_love.locon(e,tp) then l=1 end
local g=Duel.GetMatchingGroupCount(cm.filter,tp,LOCATION_DECK,0,nil,l)
local ct=Duel.GetMatchingGroupCount(cm.filter,tp,LOCATION_DECK,0,nil,l)
if chk==0 then return Duel.GetLocationCount(tp,LOCATION_MZONE)>0
and Duel.IsExistingMatchingCard(cm.filter1,tp,LOCATION_HAND,0,1,nil,e,tp) and g>0 end
and Duel.IsExistingMatchingCard(cm.filter1,tp,LOCATION_HAND,0,1,nil,e,tp) and ct>0 end
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,1,tp,LOCATION_HAND)
Duel.SetOperationInfo(0,CATEGORY_TOHAND,nil,1,tp,LOCATION_DECK)
end
......@@ -76,9 +76,9 @@ function cm.spop(e,tp,eg,ep,ev,re,r,rp)
if Duel.SpecialSummon(g,0,tp,tp,false,false,POS_FACEUP)~=0 then
local l=0
if Suyu_love.locon(e,tp) then l=1 end
local g=Duel.GetMatchingGroup(cm.filter,tp,LOCATION_DECK,0,nil,l)
if #g>0 then
local sg=g:Select(tp,1,1,nil)
local zg=Duel.GetMatchingGroup(cm.filter,tp,LOCATION_DECK,0,nil,l)
if #zg>0 then
local sg=zg:Select(tp,1,1,nil)
Duel.SendtoHand(sg,nil,REASON_EFFECT)
Duel.ConfirmCards(1-tp,sg)
end
......
......@@ -38,19 +38,16 @@ function cm.cost(e,tp,eg,ep,ev,re,r,rp,chk)
local g=Duel.SelectMatchingCard(tp,Card.IsCode,tp,LOCATION_GRAVE,0,1,1,nil,code)
Duel.SendtoDeck(g,nil,2,REASON_COST)
end
function cm.filter(c,e,tp,chk)
return c:IsRace(RACE_WARRIOR) and c:IsLevelBelow(4) and (c:IsAbleToHand() or chk and c:IsCanBeSpecialSummoned(e,0,tp,false,false))
function cm.filter(c,e,tp)
local res=Suyu_love.locon(e,tp) and Duel.GetLocationCount(tp,LOCATION_MZONE)>0
return c:IsRace(RACE_WARRIOR) and c:IsLevelBelow(4) and (c:IsAbleToHand() or (res and c:IsCanBeSpecialSummoned(e,0,tp,false,false)))
end
function cm.thtg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return
local res=Suyu_love.locon(e,tp) and Duel.GetLocationCount(tp,LOCATION_MZONE)>0
return Duel.IsExistingMatchingCard(cm.filter,tp,LOCATION_DECK+LOCATION_GRAVE,0,1,nil,e,tp,res)
end
if chk==0 then return Duel.IsExistingMatchingCard(cm.filter,tp,LOCATION_DECK+LOCATION_GRAVE,0,1,nil,e,tp) end
end
function cm.thop(e,tp,eg,ep,ev,re,r,rp)
local res=Suyu_love.locon(e,tp) and Duel.GetLocationCount(tp,LOCATION_MZONE)>0
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_ATOHAND)
local tc=Duel.SelectMatchingCard(tp,cm.filter,tp,LOCATION_DECK+LOCATION_GRAVE,0,1,1,nil,e,tp,res):GetFirst()
local tc=Duel.SelectMatchingCard(tp,cm.filter,tp,LOCATION_DECK+LOCATION_GRAVE,0,1,1,nil,e,tp):GetFirst()
if tc then
if res and tc:IsCanBeSpecialSummoned(e,0,tp,false,false)
and (not tc:IsAbleToHand() or Duel.SelectOption(tp,1190,1152)==1) then
......@@ -73,12 +70,12 @@ function cm.spcost(e,tp,eg,ep,ev,re,r,rp,chk)
Duel.Release(g,REASON_COST)
end
function cm.sptg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return e:GetHandler():IsCanBeSpecialSummoned(e,0,tp,false,false,POS_FACEUP_DEFENSE) end
if chk==0 then return e:GetHandler():IsCanBeSpecialSummoned(e,0,tp,false,false,POS_FACEUP) end
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,e:GetHandler(),1,0,0)
end
function cm.spop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
if c:IsRelateToEffect(e) and Duel.SpecialSummon(c,0,tp,tp,false,false,POS_FACEUP_DEFENSE)~=0 then
if c:IsRelateToEffect(e) and Duel.SpecialSummon(c,0,tp,tp,false,false,POS_FACEUP)~=0 then
local hg=Duel.GetMatchingGroup(Card.IsSynchroSummonable,tp,LOCATION_EXTRA,0,nil,nil)
if hg:GetCount()>0 then
if Duel.SelectYesNo(tp,aux.Stringid(m,2)) then
......
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