Commit 380293e4 authored by Huangnan's avatar Huangnan

Update c101202017.lua

parent a7a5a024
--白银之城的执事 阿里亚斯 --白銀の城の執事 アリアス
--Script by Dio0 & beyond
local s,id,o=GetID() local s,id,o=GetID()
function s.initial_effect(c) function s.initial_effect(c)
--specialsummon/set --special summon/set
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(101202017,0)) e1:SetDescription(aux.Stringid(id,0))
e1:SetCategory(CATEGORY_SPECIAL_SUMMON) e1:SetCategory(CATEGORY_SPECIAL_SUMMON)
e1:SetType(EFFECT_TYPE_QUICK_O) e1:SetType(EFFECT_TYPE_QUICK_O)
e1:SetCode(EVENT_FREE_CHAIN) e1:SetCode(EVENT_FREE_CHAIN)
e1:SetRange(LOCATION_HAND+LOCATION_MZONE) e1:SetRange(LOCATION_HAND+LOCATION_MZONE)
e1:SetCountLimit(1,101202017) e1:SetHintTiming(0,TIMINGS_CHECK_MONSTER+TIMING_MAIN_END)
e1:SetCost(s.tfcost) e1:SetCountLimit(1,id)
e1:SetCondition(s.tfcon) e1:SetCondition(s.tfcon)
e1:SetCost(s.tfcost)
e1:SetTarget(s.tftg) e1:SetTarget(s.tftg)
e1:SetOperation(s.tfop) e1:SetOperation(s.tfop)
c:RegisterEffect(e1) c:RegisterEffect(e1)
...@@ -20,7 +22,7 @@ function s.initial_effect(c) ...@@ -20,7 +22,7 @@ function s.initial_effect(c)
e2:SetType(EFFECT_TYPE_QUICK_O) e2:SetType(EFFECT_TYPE_QUICK_O)
e2:SetCode(EVENT_CHAINING) e2:SetCode(EVENT_CHAINING)
e2:SetRange(LOCATION_GRAVE) e2:SetRange(LOCATION_GRAVE)
e2:SetCountLimit(1,101202017+100) e2:SetCountLimit(1,id+o)
e2:SetCondition(s.spcon) e2:SetCondition(s.spcon)
e2:SetTarget(s.sptg) e2:SetTarget(s.sptg)
e2:SetOperation(s.spop) e2:SetOperation(s.spop)
...@@ -29,15 +31,16 @@ end ...@@ -29,15 +31,16 @@ end
function s.tfcon(e,tp,eg,ep,ev,re,r,rp) function s.tfcon(e,tp,eg,ep,ev,re,r,rp)
return Duel.GetCurrentPhase()==PHASE_MAIN1 or Duel.GetCurrentPhase()==PHASE_MAIN2 return Duel.GetCurrentPhase()==PHASE_MAIN1 or Duel.GetCurrentPhase()==PHASE_MAIN2
end end
function s.spfilter(c,e,tp) function s.tfcost(e,tp,eg,ep,ev,re,r,rp,chk)
return c:IsSetCard(0x17e) and c:IsCanBeSpecialSummoned(e,0,tp,false,false) local c=e:GetHandler()
if chk==0 then return c:IsAbleToGraveAsCost() end
Duel.SendtoGrave(c,REASON_COST)
end end
function s.setfilter(c) function s.setfilter(c)
return c:GetType()==TYPE_TRAP and c:IsSSetable() return c:GetType()==TYPE_TRAP and c:IsSSetable()
end end
function s.tfcost(e,tp,eg,ep,ev,re,r,rp,chk) function s.spfilter(c,e,tp)
if chk==0 then return e:GetHandler():IsAbleToGraveAsCost() end return c:IsSetCard(0x17e) and c:IsCanBeSpecialSummoned(e,0,tp,false,false)
Duel.SendtoGrave(e:GetHandler(),REASON_COST)
end end
function s.tftg(e,tp,eg,ep,ev,re,r,rp,chk) function s.tftg(e,tp,eg,ep,ev,re,r,rp,chk)
local b1=Duel.IsExistingMatchingCard(s.spfilter,tp,LOCATION_HAND,0,1,nil,e,tp) local b1=Duel.IsExistingMatchingCard(s.spfilter,tp,LOCATION_HAND,0,1,nil,e,tp)
...@@ -49,22 +52,7 @@ function s.tfop(e,tp,eg,ep,ev,re,r,rp) ...@@ -49,22 +52,7 @@ function s.tfop(e,tp,eg,ep,ev,re,r,rp)
local b1=Duel.IsExistingMatchingCard(s.spfilter,tp,LOCATION_HAND,0,1,nil,e,tp) and Duel.GetLocationCount(tp,LOCATION_MZONE)>0 local b1=Duel.IsExistingMatchingCard(s.spfilter,tp,LOCATION_HAND,0,1,nil,e,tp) and Duel.GetLocationCount(tp,LOCATION_MZONE)>0
local b2=Duel.IsExistingMatchingCard(s.setfilter,tp,LOCATION_HAND,0,1,nil) and Duel.GetLocationCount(tp,LOCATION_SZONE)>0 local b2=Duel.IsExistingMatchingCard(s.setfilter,tp,LOCATION_HAND,0,1,nil) and Duel.GetLocationCount(tp,LOCATION_SZONE)>0
if not (b1 or b2) then return end if not (b1 or b2) then return end
local off=1 local sel=aux.SelectFromOptions(tp,{b1,1152},{b2,1153})
local ops={}
local opval={}
if b1 then
ops[off]=2
opval[off-1]=1
off=off+1
end
if b2 then
ops[off]=1153
opval[off-1]=2
off=off+1
end
local op=Duel.SelectOption(tp,table.unpack(ops))
local sel=opval[op]
e:SetLabel(sel)
if sel==1 then if sel==1 then
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON)
local sg=Duel.SelectMatchingCard(tp,s.spfilter,tp,LOCATION_HAND,0,1,1,nil,e,tp) local sg=Duel.SelectMatchingCard(tp,s.spfilter,tp,LOCATION_HAND,0,1,1,nil,e,tp)
......
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