Commit e733d340 authored by Nemo Ma's avatar Nemo Ma

Update 0112

parent a3e8b178
No preview for this file type
expansions/pics/9910115.jpg

38.5 KB | W: | H:

expansions/pics/9910115.jpg

38.9 KB | W: | H:

expansions/pics/9910115.jpg
expansions/pics/9910115.jpg
expansions/pics/9910115.jpg
expansions/pics/9910115.jpg
  • 2-up
  • Swipe
  • Onion skin
expansions/pics/9910122.jpg

43.1 KB | W: | H:

expansions/pics/9910122.jpg

43.3 KB | W: | H:

expansions/pics/9910122.jpg
expansions/pics/9910122.jpg
expansions/pics/9910122.jpg
expansions/pics/9910122.jpg
  • 2-up
  • Swipe
  • Onion skin
expansions/pics/9910123.jpg

37.3 KB | W: | H:

expansions/pics/9910123.jpg

38 KB | W: | H:

expansions/pics/9910123.jpg
expansions/pics/9910123.jpg
expansions/pics/9910123.jpg
expansions/pics/9910123.jpg
  • 2-up
  • Swipe
  • Onion skin
expansions/pics/9910132.jpg

43.7 KB | W: | H:

expansions/pics/9910132.jpg

44.4 KB | W: | H:

expansions/pics/9910132.jpg
expansions/pics/9910132.jpg
expansions/pics/9910132.jpg
expansions/pics/9910132.jpg
  • 2-up
  • Swipe
  • Onion skin
expansions/pics/9910153.jpg

46.7 KB | W: | H:

expansions/pics/9910153.jpg

47.7 KB | W: | H:

expansions/pics/9910153.jpg
expansions/pics/9910153.jpg
expansions/pics/9910153.jpg
expansions/pics/9910153.jpg
  • 2-up
  • Swipe
  • Onion skin
expansions/pics/9910155.jpg

43.8 KB | W: | H:

expansions/pics/9910155.jpg

44.1 KB | W: | H:

expansions/pics/9910155.jpg
expansions/pics/9910155.jpg
expansions/pics/9910155.jpg
expansions/pics/9910155.jpg
  • 2-up
  • Swipe
  • Onion skin
expansions/pics/9910209.jpg

46.1 KB | W: | H:

expansions/pics/9910209.jpg

46.7 KB | W: | H:

expansions/pics/9910209.jpg
expansions/pics/9910209.jpg
expansions/pics/9910209.jpg
expansions/pics/9910209.jpg
  • 2-up
  • Swipe
  • Onion skin
expansions/pics/9910216.jpg

45.3 KB | W: | H:

expansions/pics/9910216.jpg

45.6 KB | W: | H:

expansions/pics/9910216.jpg
expansions/pics/9910216.jpg
expansions/pics/9910216.jpg
expansions/pics/9910216.jpg
  • 2-up
  • Swipe
  • Onion skin
expansions/pics/9910230.jpg

51.1 KB | W: | H:

expansions/pics/9910230.jpg

50.9 KB | W: | H:

expansions/pics/9910230.jpg
expansions/pics/9910230.jpg
expansions/pics/9910230.jpg
expansions/pics/9910230.jpg
  • 2-up
  • Swipe
  • Onion skin
--漆黑的名侦探 弦卷心
function c65010023.initial_effect(c)
--fusion material
c:EnableReviveLimit()
aux.AddFusionProcFunRep(c,c65010023.matfilter,2,true)
aux.AddContactFusionProcedure(c,Card.IsReleasable,LOCATION_MZONE+LOCATION_HAND,0,Duel.Release,REASON_COST)
--spsummon condition
local e0=Effect.CreateEffect(c)
e0:SetType(EFFECT_TYPE_SINGLE)
e0:SetProperty(EFFECT_FLAG_CANNOT_DISABLE+EFFECT_FLAG_UNCOPYABLE)
e0:SetCode(EFFECT_SPSUMMON_CONDITION)
c:RegisterEffect(e0)
--immune
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetCode(EFFECT_CANNOT_BE_EFFECT_TARGET)
e1:SetProperty(EFFECT_FLAG_SINGLE_RANGE)
e1:SetRange(LOCATION_MZONE)
e1:SetValue(1)
c:RegisterEffect(e1)
local e2=e1:Clone()
e2:SetCode(EFFECT_INDESTRUCTABLE_EFFECT)
c:RegisterEffect(e2)
--negate / banish
local e3=Effect.CreateEffect(c)
e3:SetCategory(CATEGORY_NEGATE+CATEGORY_DESTROY+CATEGORY_ATKCHANGE)
e3:SetType(EFFECT_TYPE_QUICK_O)
e3:SetCode(EVENT_CHAINING)
e3:SetRange(LOCATION_MZONE)
e3:SetCondition(c65010023.disrmcon)
e3:SetCost(c65010023.disrmcost)
e3:SetTarget(c65010023.disrmtg)
e3:SetOperation(c65010023.disrmop)
c:RegisterEffect(e3)
end
function c65010023.matfilter(c)
return c:IsAttribute(ATTRIBUTE_DARK) and not c:IsType(TYPE_EFFECT)
end
function c65010023.disrmcost(e,tp,eg,ep,ev,re,r,rp,chk)
local c=e:GetHandler()
if chk==0 then return c:GetFlagEffect(65010023)==0 end
c:RegisterFlagEffect(65010023,RESET_CHAIN,0,1)
end
function c65010023.disrmcon(e,tp,eg,ep,ev,re,r,rp)
return re:GetHandlerPlayer()~=tp
end
function c65010023.disrmtg(e,tp,eg,ep,ev,re,r,rp,chk)
local b1=Duel.IsChainDisablable(ev) and Duel.GetFlagEffect(tp,65010023)==0
local b2=Duel.GetFlagEffect(tp,65010024)==0
local b3=Duel.GetFlagEffect(tp,65010025)==0
if chk==0 then return b1 or b2 or b3 end
end
function c65010023.filter(c)
return c:IsType(TYPE_MONSTER) and c:IsAbleToRemove()
end
function c65010023.disrmop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
local b1=Duel.IsChainDisablable(ev) and Duel.GetFlagEffect(tp,65010023)==0
local b2=Duel.GetFlagEffect(tp,65010024)==0
local b3=c:IsRelateToEffect(e) and c:IsFaceup() and Duel.GetFlagEffect(tp,65010025)==0
local op=0
if b1 and b2 and b3 then op=Duel.SelectOption(tp,aux.Stringid(65010023,0),aux.Stringid(65010023,1),aux.Stringid(65010023,2))
elseif b1 and b2 then op=Duel.SelectOption(tp,aux.Stringid(65010023,0),aux.Stringid(65010023,1))
elseif b1 and b3 then
op=Duel.SelectOption(tp,aux.Stringid(65010023,0),aux.Stringid(65010023,2))
if op==1 then op=2 end
elseif b2 and b3 then
op=Duel.SelectOption(tp,aux.Stringid(65010023,1),aux.Stringid(65010023,2))+1
elseif b1 then op=0
elseif b2 then op=1
elseif b3 then op=2
else return end
if op==0 then
if Duel.NegateEffect(ev) and re:GetHandler():IsRelateToEffect(re) then
Duel.Destroy(re:GetHandler(),REASON_EFFECT)
end
Duel.RegisterFlagEffect(tp,65010023,RESET_PHASE+PHASE_END,0,1)
elseif op==1 then
local e1=Effect.CreateEffect(e:GetHandler())
e1:SetType(EFFECT_TYPE_FIELD)
e1:SetProperty(EFFECT_FLAG_PLAYER_TARGET)
e1:SetCode(EFFECT_CANNOT_SPECIAL_SUMMON)
e1:SetReset(RESET_CHAIN)
e1:SetTargetRange(1,1)
Duel.RegisterEffect(e1,tp)
Duel.RegisterFlagEffect(tp,65010024,RESET_PHASE+PHASE_END,0,1)
elseif op==2 then
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetCode(EFFECT_UPDATE_ATTACK)
e1:SetValue(800)
e1:SetReset(RESET_EVENT+RESETS_STANDARD+RESET_DISABLE)
c:RegisterEffect(e1)
Duel.RegisterFlagEffect(tp,65010025,RESET_PHASE+PHASE_END,0,1)
end
end
\ No newline at end of file
--『二重之虹』户山香澄
function c65010026.initial_effect(c)
--fusion material
c:EnableReviveLimit()
aux.AddFusionProcFunRep(c,c65010026.ffilter,2,true)
aux.EnablePendulumAttribute(c,false)
--destroy
local e0=Effect.CreateEffect(c)
e0:SetCategory(CATEGORY_SPECIAL_SUMMON)
e0:SetType(EFFECT_TYPE_QUICK_O)
e0:SetRange(LOCATION_PZONE)
e0:SetCode(EVENT_FREE_CHAIN)
e0:SetHintTiming(TIMING_SPSUMMON,TIMING_BATTLE_START)
e0:SetCountLimit(1,65010026)
e0:SetCondition(c65010026.condition)
e0:SetCost(c65010026.cost)
e0:SetTarget(c65010026.target)
e0:SetOperation(c65010026.operation)
c:RegisterEffect(e0)
--negate
local e1=Effect.CreateEffect(c)
e1:SetCategory(CATEGORY_DISABLE)
e1:SetType(EFFECT_TYPE_QUICK_O)
e1:SetCode(EVENT_CHAINING)
e1:SetProperty(EFFECT_FLAG_DAMAGE_STEP)
e1:SetRange(LOCATION_MZONE)
e1:SetCountLimit(1,65010027)
e1:SetCondition(c65010026.discon)
e1:SetTarget(c65010026.distg)
e1:SetOperation(c65010026.disop)
c:RegisterEffect(e1)
--atk
local e2=Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_SINGLE)
e2:SetProperty(EFFECT_FLAG_SINGLE_RANGE)
e2:SetRange(LOCATION_MZONE)
e2:SetCode(EFFECT_SET_BASE_ATTACK)
e2:SetCondition(c65010026.atkcon)
e2:SetValue(2800)
c:RegisterEffect(e2)
local e3=e2:Clone()
e3:SetCode(EFFECT_SET_BASE_DEFENSE)
e3:SetValue(2000)
c:RegisterEffect(e3)
--pendulum
local e8=Effect.CreateEffect(c)
e8:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_O)
e8:SetCode(EVENT_DESTROYED)
e8:SetProperty(EFFECT_FLAG_DELAY)
e8:SetCondition(c65010026.pencon)
e8:SetTarget(c65010026.pentg)
e8:SetOperation(c65010026.penop)
c:RegisterEffect(e8)
end
function c65010026.atkcon(e,c)
return e:GetHandler():IsSummonType(SUMMON_TYPE_FUSION)
end
function c65010026.pencon(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
return c:IsPreviousLocation(LOCATION_MZONE) and c:IsFaceup() and c:IsLocation(LOCATION_EXTRA)
end
function c65010026.pentg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.CheckLocation(tp,LOCATION_PZONE,0) or Duel.CheckLocation(tp,LOCATION_PZONE,1) end
end
function c65010026.penop(e,tp,eg,ep,ev,re,r,rp)
if not Duel.CheckLocation(tp,LOCATION_PZONE,0) and not Duel.CheckLocation(tp,LOCATION_PZONE,1) then return false end
local c=e:GetHandler()
if c:IsRelateToEffect(e) then
Duel.MoveToField(c,tp,tp,LOCATION_SZONE,POS_FACEUP,true)
end
end
function c65010026.ffilter(c,fc,sub,mg,sg)
return not sg or sg:FilterCount(aux.TRUE,c)==0
or (sg:IsExists(Card.IsFusionAttribute,1,c,c:GetFusionAttribute())
and not sg:IsExists(Card.IsRace,1,c,c:GetRace())) or c:IsType(TYPE_TOKEN)
end
function c65010026.condition(e,tp,eg,ep,ev,re,r,rp)
local ph=Duel.GetCurrentPhase()
if Duel.GetTurnPlayer()==tp then
return ph==PHASE_MAIN1 or ph==PHASE_MAIN2
else
return (ph>=PHASE_BATTLE_START and ph<=PHASE_BATTLE)
end
end
function c65010026.cost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(Card.IsDiscardable,tp,LOCATION_HAND,0,1,nil) end
Duel.DiscardHand(tp,Card.IsAbleToGraveAsCost,1,1,REASON_COST+REASON_DISCARD)
end
function c65010026.target(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.GetLocationCount(tp,LOCATION_MZONE)>0
and e:GetHandler():IsCanBeSpecialSummoned(e,0,tp,false,false) end
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,e:GetHandler(),1,0,0)
end
function c65010026.operation(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)~=0 then
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetCode(EFFECT_LEAVE_FIELD_REDIRECT)
e1:SetProperty(EFFECT_FLAG_CANNOT_DISABLE)
e1:SetReset(RESET_EVENT+RESETS_REDIRECT)
e1:SetValue(LOCATION_REMOVED)
c:RegisterEffect(e1,true)
end
end
function c65010026.discon(e,tp,eg,ep,ev,re,r,rp)
local ex2,g2,gc2,dp2,dv2=Duel.GetOperationInfo(ev,CATEGORY_SPECIAL_SUMMON)
return ex2 and (bit.band(dv2,LOCATION_DECK)==LOCATION_DECK or bit.band(dv2,LOCATION_EXTRA)==LOCATION_EXTRA or bit.band(dv2,LOCATION_GRAVE)==LOCATION_GRAVE) and re:GetHandlerPlayer()~=tp
end
function c65010026.distg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return not re:GetHandler():IsStatus(STATUS_DISABLED) end
Duel.SetOperationInfo(0,CATEGORY_DISABLE,eg,1,0,0)
end
function c65010026.disop(e,tp,eg,ep,ev,re,r,rp)
Duel.NegateEffect(ev)
end
\ No newline at end of file
--『二重之虹』市谷有咲
function c65010028.initial_effect(c)
--fusion material
c:EnableReviveLimit()
aux.AddFusionProcFunRep(c,c65010028.ffilter,2,true)
aux.EnablePendulumAttribute(c,false)
--destroy
local e0=Effect.CreateEffect(c)
e0:SetCategory(CATEGORY_SPECIAL_SUMMON)
e0:SetType(EFFECT_TYPE_QUICK_O)
e0:SetRange(LOCATION_PZONE)
e0:SetCode(EVENT_FREE_CHAIN)
e0:SetHintTiming(TIMING_SPSUMMON,TIMING_BATTLE_START)
e0:SetCountLimit(1,65010028)
e0:SetCondition(c65010028.condition)
e0:SetCost(c65010028.cost)
e0:SetTarget(c65010028.target)
e0:SetOperation(c65010028.operation)
c:RegisterEffect(e0)
--negate
local e1=Effect.CreateEffect(c)
e1:SetCategory(CATEGORY_TODECK+CATEGORY_DAMAGE)
e1:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_TRIGGER_O)
e1:SetCode(EVENT_SUMMON_SUCCESS)
e1:SetRange(LOCATION_MZONE)
e1:SetProperty(EFFECT_FLAG_DELAY)
e1:SetCountLimit(1,65010027)
e1:SetCondition(c65010028.discon)
e1:SetTarget(c65010028.distg)
e1:SetOperation(c65010028.disop)
c:RegisterEffect(e1)
local e2=e1:Clone()
e2:SetCode(EVENT_SPSUMMON_SUCCESS)
c:RegisterEffect(e2)
--atk
--pendulum
local e8=Effect.CreateEffect(c)
e8:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_O)
e8:SetCode(EVENT_DESTROYED)
e8:SetProperty(EFFECT_FLAG_DELAY)
e8:SetCondition(c65010028.pencon)
e8:SetTarget(c65010028.pentg)
e8:SetOperation(c65010028.penop)
c:RegisterEffect(e8)
end
function c65010028.atkcon(e,c)
return e:GetHandler():IsSummonType(SUMMON_TYPE_FUSION)
end
function c65010028.pencon(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
return c:IsPreviousLocation(LOCATION_MZONE) and c:IsFaceup() and c:IsLocation(LOCATION_EXTRA)
end
function c65010028.pentg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.CheckLocation(tp,LOCATION_PZONE,0) or Duel.CheckLocation(tp,LOCATION_PZONE,1) end
end
function c65010028.penop(e,tp,eg,ep,ev,re,r,rp)
if not Duel.CheckLocation(tp,LOCATION_PZONE,0) and not Duel.CheckLocation(tp,LOCATION_PZONE,1) then return false end
local c=e:GetHandler()
if c:IsRelateToEffect(e) then
Duel.MoveToField(c,tp,tp,LOCATION_SZONE,POS_FACEUP,true)
end
end
function c65010028.ffilterfil(c,att,rac)
return c:IsAttribute(att) and c:IsRace(rac)
end
function c65010028.ffilter(c,fc,sub,mg,sg)
return not sg or sg:FilterCount(aux.TRUE,c)==0
or sg:IsExists(c65010028.ffilterfil,1,c,c:GetFusionAttribute(),c:GetRace())
or c:IsType(TYPE_TOKEN)
end
function c65010028.condition(e,tp,eg,ep,ev,re,r,rp)
local ph=Duel.GetCurrentPhase()
if Duel.GetTurnPlayer()==tp then
return ph==PHASE_MAIN1 or ph==PHASE_MAIN2
else
return (ph>=PHASE_BATTLE_START and ph<=PHASE_BATTLE)
end
end
function c65010028.cost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(Card.IsDiscardable,tp,LOCATION_HAND,0,1,nil) end
Duel.DiscardHand(tp,Card.IsAbleToGraveAsCost,1,1,REASON_COST+REASON_DISCARD)
end
function c65010028.target(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.GetLocationCount(tp,LOCATION_MZONE)>0
and e:GetHandler():IsCanBeSpecialSummoned(e,0,tp,false,false) end
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,e:GetHandler(),1,0,0)
end
function c65010028.operation(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)~=0 then
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetCode(EFFECT_LEAVE_FIELD_REDIRECT)
e1:SetProperty(EFFECT_FLAG_CANNOT_DISABLE)
e1:SetReset(RESET_EVENT+RESETS_REDIRECT)
e1:SetValue(LOCATION_REMOVED)
c:RegisterEffect(e1,true)
end
end
function c65010028.disconfil(c,tp)
return c:GetSummonPlayer()==1-tp and c:IsAbleToDeck() and c:IsAttackAbove(1)
end
function c65010028.discon(e,tp,eg,ep,ev,re,r,rp)
return eg:FilterCount(c65010028.disconfil,nil,tp)==1
end
function c65010028.distg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return true end
local g=eg:Filter(c65010028.disconfil,nil,tp)
Duel.SetTargetCard(eg)
Duel.SetOperationInfo(0,CATEGORY_TODECK,g,1,0,0)
Duel.SetChainLimit(aux.FALSE)
end
function c65010028.disop(e,tp,eg,ep,ev,re,r,rp)
local g=eg:Filter(c65010028.disconfil,nil,tp)
local tc=g:GetFirst()
if tc:IsRelateToEffect(e) and Duel.SendtoDeck(tc,nil,2,REASON_EFFECT) then
Duel.Damage(1-tp,tc:GetAttack(),REASON_EFFECT)
end
end
--『Hello Happy Time』弦卷心
function c65010030.initial_effect(c)
--fusion material
c:EnableReviveLimit()
aux.AddFusionProcFunRep(c,c65010030.ffilter,3,false)
aux.EnablePendulumAttribute(c,false)
--fusion!
local e1=Effect.CreateEffect(c)
e1:SetCategory(CATEGORY_REMOVE+CATEGORY_SPECIAL_SUMMON+CATEGORY_FUSION_SUMMON+CATEGORY_DESTROY)
e1:SetType(EFFECT_TYPE_IGNITION)
e1:SetRange(LOCATION_PZONE)
e1:SetCountLimit(1,65010030+EFFECT_COUNT_CODE_OATH)
e1:SetTarget(c65010030.target)
e1:SetOperation(c65010030.activate)
c:RegisterEffect(e1)
--remove
local e3=Effect.CreateEffect(c)
e3:SetDescription(aux.Stringid(65010030,0))
e3:SetCategory(CATEGORY_REMOVE)
e3:SetType(EFFECT_TYPE_QUICK_O)
e3:SetProperty(EFFECT_FLAG_CARD_TARGET)
e3:SetCode(EVENT_FREE_CHAIN)
e3:SetRange(LOCATION_MZONE)
e3:SetCountLimit(1,65010030)
e3:SetHintTiming(0,TIMINGS_CHECK_MONSTER+TIMING_END_PHASE)
e3:SetTarget(c65010030.rmtg)
e3:SetOperation(c65010030.rmop)
c:RegisterEffect(e3)
--pendulum
local e8=Effect.CreateEffect(c)
e8:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_O)
e8:SetCode(EVENT_DESTROYED)
e8:SetProperty(EFFECT_FLAG_DELAY)
e8:SetCondition(c65010030.pencon)
e8:SetTarget(c65010030.pentg)
e8:SetOperation(c65010030.penop)
c:RegisterEffect(e8)
end
function c65010030.filter0(c)
return c:IsAbleToRemove()
end
function c65010030.filter1(c,e)
return c:IsAbleToRemove() and not c:IsImmuneToEffect(e)
end
function c65010030.filter2(c,e,tp,m,f,chkf)
return c:IsType(TYPE_FUSION) and c:IsType(TYPE_PENDULUM) and (not f or f(c))
and c:IsCanBeSpecialSummoned(e,SUMMON_TYPE_FUSION,tp,false,false) and c:CheckFusionMaterial(m,nil,chkf)
end
function c65010030.filter3(c)
return c:IsType(TYPE_MONSTER) and c:IsCanBeFusionMaterial() and c:IsAbleToRemove() and c:IsFaceup() and c:IsType(TYPE_PENDULUM)
end
function c65010030.target(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then
local chkf=tp
local mg1=Duel.GetFusionMaterial(tp):Filter(c65010030.filter0,nil)
local mg2=Duel.GetMatchingGroup(c65010030.filter3,tp,LOCATION_EXTRA,0,nil)
mg1:Merge(mg2)
local res=Duel.IsExistingMatchingCard(c65010030.filter2,tp,LOCATION_EXTRA,0,1,nil,e,tp,mg1,nil,chkf)
if not res then
local ce=Duel.GetChainMaterial(tp)
if ce~=nil then
local fgroup=ce:GetTarget()
local mg3=fgroup(ce,e,tp)
local mf=ce:GetValue()
res=Duel.IsExistingMatchingCard(c65010030.filter2,tp,LOCATION_EXTRA,0,1,nil,e,tp,mg3,mf,chkf)
end
end
return res
end
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,1,tp,LOCATION_EXTRA)
Duel.SetOperationInfo(0,CATEGORY_REMOVE,nil,1,tp,LOCATION_ONFIELD+LOCATION_GRAVE+LOCATION_HAND)
end
function c65010030.activate(e,tp,eg,ep,ev,re,r,rp)
local chkf=tp
local mg1=Duel.GetFusionMaterial(tp):Filter(c65010030.filter1,nil,e)
local mg2=Duel.GetMatchingGroup(c65010030.filter3,tp,LOCATION_GRAVE,0,nil)
mg1:Merge(mg2)
local sg1=Duel.GetMatchingGroup(c65010030.filter2,tp,LOCATION_EXTRA,0,nil,e,tp,mg1,nil,chkf)
local mg3=nil
local sg2=nil
local ce=Duel.GetChainMaterial(tp)
if ce~=nil then
local fgroup=ce:GetTarget()
mg3=fgroup(ce,e,tp)
local mf=ce:GetValue()
sg2=Duel.GetMatchingGroup(c65010030.filter2,tp,LOCATION_EXTRA,0,nil,e,tp,mg3,mf,chkf)
end
if sg1:GetCount()>0 or (sg2~=nil and sg2:GetCount()>0) then
local sg=sg1:Clone()
if sg2 then sg:Merge(sg2) end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON)
local tg=sg:Select(tp,1,1,nil)
local tc=tg:GetFirst()
if sg1:IsContains(tc) and (sg2==nil or not sg2:IsContains(tc) or not Duel.SelectYesNo(tp,ce:GetDescription())) then
local mat1=Duel.SelectFusionMaterial(tp,tc,mg1,nil,chkf)
tc:SetMaterial(mat1)
Duel.Remove(mat1,POS_FACEUP,REASON_EFFECT+REASON_MATERIAL+REASON_FUSION)
Duel.BreakEffect()
Duel.SpecialSummon(tc,SUMMON_TYPE_FUSION,tp,tp,false,false,POS_FACEUP)
else
local mat2=Duel.SelectFusionMaterial(tp,tc,mg3,nil,chkf)
local fop=ce:GetOperation()
fop(ce,e,tp,tc,mat2)
end
tc:CompleteProcedure()
end
end
function c65010030.pencon(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
return c:IsPreviousLocation(LOCATION_MZONE) and c:IsFaceup()
end
function c65010030.pentg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.CheckLocation(tp,LOCATION_PZONE,0) or Duel.CheckLocation(tp,LOCATION_PZONE,1) end
end
function c65010030.penop(e,tp,eg,ep,ev,re,r,rp)
if not Duel.CheckLocation(tp,LOCATION_PZONE,0) and not Duel.CheckLocation(tp,LOCATION_PZONE,1) then return false end
local c=e:GetHandler()
if c:IsRelateToEffect(e) then
Duel.MoveToField(c,tp,tp,LOCATION_SZONE,POS_FACEUP,true)
end
end
function c65010030.ffilter(c)
return c:IsFusionAttribute(ATTRIBUTE_DARK) and not c:IsType(TYPE_TOKEN)
end
function c65010030.rmfilter1(c,tp)
local att=c:GetAttribute()
return c:IsType(TYPE_MONSTER) and (c:IsLocation(LOCATION_GRAVE) or c:IsFaceup()) and c:IsAbleToRemove()
and Duel.IsExistingMatchingCard(c65010030.rmfilter2,tp,0,LOCATION_MZONE,1,nil,att)
end
function c65010030.rmfilter2(c,att)
return c:IsFaceup() and c:IsAttribute(att) and c:IsAbleToRemove()
end
function c65010030.rmtg(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
if chkc then return chkc:IsLocation(LOCATION_MZONE+LOCATION_GRAVE) and chkc:IsControler(tp) and c65010030.rmfilter1(chkc,tp) end
if chk==0 then return Duel.IsExistingTarget(c65010030.rmfilter1,tp,LOCATION_MZONE+LOCATION_GRAVE,0,1,nil,tp) end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_REMOVE)
local g1=Duel.SelectTarget(tp,c65010030.rmfilter1,tp,LOCATION_MZONE+LOCATION_GRAVE,0,1,1,nil,tp)
local g2=Duel.GetMatchingGroup(c65010030.rmfilter2,tp,0,LOCATION_MZONE+LOCATION_GRAVE,nil,g1:GetFirst():GetAttribute())
local gr=false
if g1:GetFirst():IsLocation(LOCATION_GRAVE) then gr=true end
g1:Merge(g2)
if gr then
Duel.SetOperationInfo(0,CATEGORY_REMOVE,g1,g1:GetCount(),tp,LOCATION_GRAVE)
else
Duel.SetOperationInfo(0,CATEGORY_REMOVE,g1,g1:GetCount(),0,LOCATION_MZONE+LOCATION_GRAVE)
end
end
function c65010030.rmop(e,tp,eg,ep,ev,re,r,rp)
local tc=Duel.GetFirstTarget()
if tc and tc:IsRelateToEffect(e) then
local tg=Group.FromCards(tc)
if tc:IsFaceup() then
local g=Duel.GetMatchingGroup(c65010030.rmfilter2,tp,0,LOCATION_MZONE+LOCATION_GRAVE,nil,tc:GetAttribute())
tg:Merge(g)
end
Duel.Remove(tg,POS_FACEUP,REASON_EFFECT)
end
end
\ No newline at end of file
--璞玉雕琢 梅丽尔
function c9910070.initial_effect(c)
--fusion material
c:SetSPSummonOnce(9910070)
c:EnableReviveLimit()
aux.AddFusionProcFun2(c,c9910070.ffilter1,c9910070.ffilter2,true)
--spsummon condition
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetProperty(EFFECT_FLAG_CANNOT_DISABLE+EFFECT_FLAG_UNCOPYABLE)
e1:SetCode(EFFECT_SPSUMMON_CONDITION)
e1:SetValue(aux.fuslimit)
c:RegisterEffect(e1)
--special summon rule
local e2=Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_FIELD)
e2:SetCode(EFFECT_SPSUMMON_PROC)
e2:SetProperty(EFFECT_FLAG_UNCOPYABLE)
e2:SetRange(LOCATION_EXTRA)
e2:SetCondition(c9910070.spcon)
e2:SetOperation(c9910070.spop)
c:RegisterEffect(e2)
--tohand
local e3=Effect.CreateEffect(c)
e3:SetCategory(CATEGORY_DESTROY)
e3:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_O)
e3:SetCode(EVENT_SPSUMMON_SUCCESS)
e3:SetProperty(EFFECT_FLAG_DELAY)
e3:SetCost(c9910070.thcost)
e3:SetTarget(c9910070.thtg)
e3:SetOperation(c9910070.thop)
c:RegisterEffect(e3)
Duel.AddCustomActivityCounter(9910070,ACTIVITY_CHAIN,c9910070.chainfilter)
end
function c9910070.chainfilter(re,tp,cid)
return not (re:GetHandler():IsRace(RACE_FAIRY) and re:IsActiveType(TYPE_MONSTER)
and Duel.GetChainInfo(cid,CHAININFO_TRIGGERING_LOCATION)==LOCATION_HAND)
end
function c9910070.ffilter1(c)
return c:IsRace(RACE_FAIRY) and c:IsFusionAttribute(ATTRIBUTE_LIGHT)
end
function c9910070.ffilter2(c)
return c:IsRace(RACE_FAIRY) and c:IsFusionAttribute(ATTRIBUTE_DARK)
end
function c9910070.spfilter(c,fc,tp)
return c:IsAttribute(ATTRIBUTE_LIGHT+ATTRIBUTE_DARK) and c:IsReleasable()
and Duel.GetLocationCountFromEx(tp,tp,c,fc)>0 and c:IsCanBeFusionMaterial(fc,SUMMON_TYPE_SPECIAL)
end
function c9910070.spcon(e,c)
if c==nil then return true end
local tp=c:GetControler()
return Duel.GetCustomActivityCount(9910070,tp,ACTIVITY_CHAIN)~=0
and Duel.CheckReleaseGroup(tp,c9910070.spfilter,1,nil,c,tp)
end
function c9910070.spop(e,tp,eg,ep,ev,re,r,rp,c)
local g=Duel.SelectReleaseGroup(tp,c9910070.spfilter,1,1,nil,c,tp)
c:SetMaterial(g)
Duel.Release(g,REASON_COST)
end
function c9910070.thcost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(Card.IsDiscardable,tp,LOCATION_HAND,0,1,nil) end
Duel.DiscardHand(tp,Card.IsDiscardable,1,1,REASON_COST+REASON_DISCARD)
end
function c9910070.thfilter(c)
return c:IsCode(9910059) and c:IsAbleToHand()
end
function c9910070.thtg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return not e:GetHandler():IsType(TYPE_TUNER)
and Duel.IsExistingMatchingCard(c9910070.thfilter,tp,LOCATION_DECK,0,1,nil) end
Duel.SetOperationInfo(0,CATEGORY_TOHAND,nil,1,tp,LOCATION_DECK)
end
function c9910070.thop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_ATOHAND)
local g=Duel.SelectMatchingCard(tp,c9910070.thfilter,tp,LOCATION_DECK,0,1,1,nil)
if g:GetCount()>0 then
Duel.SendtoHand(g,nil,REASON_EFFECT)
Duel.ConfirmCards(1-tp,g)
end
if c:IsFaceup() and c:IsRelateToEffect(e) then
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetCode(EFFECT_ADD_TYPE)
e1:SetProperty(EFFECT_FLAG_CANNOT_DISABLE)
e1:SetValue(TYPE_TUNER)
e1:SetReset(RESET_EVENT+RESETS_STANDARD+RESET_PHASE+PHASE_END)
c:RegisterEffect(e1)
end
end
--月下花园恋人
function c9910071.initial_effect(c)
--synchro summon
aux.AddSynchroProcedure(c,nil,aux.NonTuner(Card.IsRace,RACE_FAIRY),1)
c:EnableReviveLimit()
--change attribute
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_O)
e1:SetCode(EVENT_SPSUMMON_SUCCESS)
e1:SetProperty(EFFECT_FLAG_DELAY)
e1:SetCondition(c9910071.attcon)
e1:SetTarget(c9910071.atttg)
e1:SetOperation(c9910071.attop)
c:RegisterEffect(e1)
--recover
local e2=Effect.CreateEffect(c)
e2:SetCategory(CATEGORY_RECOVER)
e2:SetType(EFFECT_TYPE_IGNITION)
e2:SetRange(LOCATION_MZONE)
e2:SetCountLimit(1,9910071)
e2:SetCost(c9910071.reccost)
e2:SetTarget(c9910071.rectg)
e2:SetOperation(c9910071.recop)
c:RegisterEffect(e2)
end
function c9910071.attcon(e,tp,eg,ep,ev,re,r,rp)
return e:GetHandler():IsSummonType(SUMMON_TYPE_SYNCHRO)
end
function c9910071.atttg(e,tp,eg,ep,ev,re,r,rp,chk)
local c=e:GetHandler()
if chk==0 then return c:IsFaceup() and not c:IsAttribute(ATTRIBUTE_DARK) end
end
function c9910071.attop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
if c:IsFaceup() and c:IsRelateToEffect(e) then
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetCode(EFFECT_CHANGE_ATTRIBUTE)
e1:SetValue(ATTRIBUTE_DARK)
e1:SetReset(RESET_EVENT+RESETS_STANDARD)
c:RegisterEffect(e1)
end
end
function c9910071.reccost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.CheckReleaseGroupEx(tp,Card.IsRace,1,nil,RACE_FAIRY) end
local g=Duel.SelectReleaseGroupEx(tp,Card.IsRace,1,2,nil,RACE_FAIRY)
local label=g:GetCount()*10
if g:IsExists(Card.IsAttribute,1,nil,ATTRIBUTE_LIGHT) then label=label+1 end
if g:IsExists(Card.IsAttribute,1,nil,ATTRIBUTE_DARK) then label=label+2 end
e:SetLabel(label)
Duel.Release(g,REASON_COST)
end
function c9910071.rectg(e,tp,eg,ep,ev,re,r,rp,chk)
local label=e:GetLabel()
local ct1=label//10
local ct2=label-ct1*10
if chk==0 then return true end
if ct2==1 then
e:SetCategory(CATEGORY_RECOVER+CATEGORY_TOHAND+CATEGORY_SEARCH)
elseif ct2==2 then
e:SetCategory(CATEGORY_RECOVER+CATEGORY_TODECK)
elseif ct2==3 then
e:SetCategory(CATEGORY_RECOVER+CATEGORY_TOHAND+CATEGORY_SEARCH+CATEGORY_TODECK)
end
Duel.SetTargetPlayer(tp)
Duel.SetTargetParam(ct1*1000)
Duel.SetOperationInfo(0,CATEGORY_RECOVER,nil,0,tp,ct1*1000)
end
function c9910071.thfilter(c)
return c:IsType(TYPE_TRAP) and c:IsType(TYPE_COUNTER) and c:IsAbleToHand()
end
function c9910071.recop(e,tp,eg,ep,ev,re,r,rp)
local p,d=Duel.GetChainInfo(0,CHAININFO_TARGET_PLAYER,CHAININFO_TARGET_PARAM)
Duel.Recover(p,d,REASON_EFFECT)
local label=e:GetLabel()
local ct1=label//10
local ct2=label-ct1*10
if (ct2==1 or ct2==3) and Duel.IsExistingMatchingCard(c9910071.thfilter,tp,LOCATION_DECK,0,1,nil)
and Duel.SelectYesNo(tp,aux.Stringid(9910071,0)) then
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_ATOHAND)
local g=Duel.SelectMatchingCard(tp,c9910071.thfilter,tp,LOCATION_DECK,0,1,1,nil)
if g:GetCount()>0 then
Duel.SendtoHand(g,nil,REASON_EFFECT)
Duel.ConfirmCards(1-tp,g)
end
end
if (ct2==2 or ct2==3) and Duel.GetFieldGroupCount(tp,0,LOCATION_HAND)>0
and Duel.SelectYesNo(tp,aux.Stringid(9910071,1)) then
local g=Duel.GetFieldGroup(tp,0,LOCATION_HAND):RandomSelect(tp,1)
Duel.SendtoDeck(g,nil,2,REASON_EFFECT)
end
end
--小仓朝阳
function c9910072.initial_effect(c)
--spsummon
local e1=Effect.CreateEffect(c)
e1:SetCategory(CATEGORY_SPECIAL_SUMMON)
e1:SetType(EFFECT_TYPE_IGNITION)
e1:SetRange(LOCATION_HAND)
e1:SetProperty(EFFECT_FLAG_CARD_TARGET)
e1:SetCountLimit(1,9910072)
e1:SetTarget(c9910072.sptg)
e1:SetOperation(c9910072.spop)
c:RegisterEffect(e1)
--level
local e2=Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_IGNITION)
e2:SetProperty(EFFECT_FLAG_CARD_TARGET)
e2:SetRange(LOCATION_MZONE)
e2:SetCountLimit(1)
e2:SetTarget(c9910072.lvtg)
e2:SetOperation(c9910072.lvop)
c:RegisterEffect(e2)
end
function c9910072.sptg(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
if chkc then return chkc:IsControler(tp) and chkc:IsLocation(LOCATION_MZONE) and chkc:IsFacedown() end
local c=e:GetHandler()
if chk==0 then return c:IsCanBeSpecialSummoned(e,0,tp,false,false)
and Duel.GetLocationCount(tp,LOCATION_MZONE)>0
and Duel.IsExistingTarget(Card.IsFacedown,tp,LOCATION_MZONE,0,1,nil) end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_FACEDOWN)
local g=Duel.SelectTarget(tp,Card.IsFacedown,tp,LOCATION_MZONE,0,1,1,nil)
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,c,1,0,0)
Duel.SetOperationInfo(0,CATEGORY_POSITION,g,1,0,0)
end
function c9910072.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)~=0 then
local tc=Duel.GetFirstTarget()
if tc:IsRelateToEffect(e) and tc:IsFacedown() then
Duel.ChangePosition(tc,POS_FACEUP_DEFENSE)
end
end
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_FIELD)
e1:SetCode(EFFECT_CANNOT_SPECIAL_SUMMON)
e1:SetProperty(EFFECT_FLAG_PLAYER_TARGET)
e1:SetTargetRange(1,0)
e1:SetTarget(c9910072.splimit)
e1:SetReset(RESET_PHASE+PHASE_END)
Duel.RegisterEffect(e1,tp)
end
function c9910072.splimit(e,c)
return not c:IsRace(RACE_FAIRY) and c:IsLocation(LOCATION_EXTRA)
end
function c9910072.lvfilter(c)
return c:IsFaceup() and c:IsRace(RACE_FAIRY) and not c:IsLevel(4) and c:IsLevelAbove(1)
end
function c9910072.lvtg(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
if chkc then return chkc:IsLocation(LOCATION_MZONE) and chkc:IsControler(tp) and c9910072.lvfilter(chkc) end
if chk==0 then return Duel.IsExistingTarget(c9910072.lvfilter,tp,LOCATION_MZONE,0,1,nil) end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_FACEUP)
Duel.SelectTarget(tp,c9910072.lvfilter,tp,LOCATION_MZONE,0,1,1,nil)
end
function c9910072.lvop(e,tp,eg,ep,ev,re,r,rp)
local tc=Duel.GetFirstTarget()
if tc:IsFaceup() and tc:IsRelateToEffect(e) then
local e1=Effect.CreateEffect(e:GetHandler())
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetProperty(EFFECT_FLAG_CANNOT_DISABLE)
e1:SetCode(EFFECT_CHANGE_LEVEL)
e1:SetValue(4)
e1:SetReset(RESET_EVENT+RESETS_STANDARD+RESET_PHASE+PHASE_END)
tc:RegisterEffect(e1)
end
end
......@@ -37,7 +37,7 @@ function c9910112.imcost(e,tp,eg,ep,ev,re,r,rp,chk)
end
function c9910112.ctfilter(c,tp)
local seq=c:GetSequence()
if seq>4 then return false end
if seq>4 or not c:IsFaceup() then return false end
return (seq>0 and Duel.CheckLocation(tp,LOCATION_MZONE,seq-1))
or (seq<4 and Duel.CheckLocation(tp,LOCATION_MZONE,seq+1))
end
......
......@@ -2,7 +2,7 @@
function c9910115.initial_effect(c)
--special summon
local e1=Effect.CreateEffect(c)
e1:SetCategory(CATEGORY_SPECIAL_SUMMON+CATEGORY_TODECK+CATEGORY_TOGRAVE)
e1:SetCategory(CATEGORY_SPECIAL_SUMMON+CATEGORY_TODECK+CATEGORY_DESTROY)
e1:SetType(EFFECT_TYPE_IGNITION)
e1:SetRange(LOCATION_HAND)
e1:SetCountLimit(1,9910115)
......@@ -32,9 +32,6 @@ function c9910115.sptg(e,tp,eg,ep,ev,re,r,rp,chk)
and c:IsCanBeSpecialSummoned(e,0,tp,false,false)
and c:IsAbleToDeck() end
end
function c9910115.tgfilter(c)
return c:IsFaceup() and c:IsAbleToGrave()
end
function c9910115.spop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
if Duel.GetFieldGroupCount(tp,LOCATION_DECK,0)==0 then return end
......@@ -57,12 +54,13 @@ function c9910115.spop(e,tp,eg,ep,ev,re,r,rp)
else
if not c:IsRelateToEffect(e) then return end
if Duel.SendtoDeck(c,nil,0,REASON_EFFECT)==0 then return end
local g=Duel.GetMatchingGroup(c9910115.tgfilter,tp,LOCATION_ONFIELD,LOCATION_ONFIELD,nil)
local g=Duel.GetMatchingGroup(Card.IsFaceup,tp,LOCATION_MZONE,LOCATION_MZONE,nil)
if g:GetCount()>0 and Duel.SelectYesNo(tp,aux.Stringid(9910115,0)) then
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TOGRAVE)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_DESTROY)
local sg=g:Select(tp,1,1,nil)
Duel.BreakEffect()
Duel.SendtoGrave(sg,REASON_EFFECT)
Duel.HintSelection(sg)
Duel.Destroy(sg,REASON_EFFECT)
end
end
end
......
......@@ -11,7 +11,7 @@ function c9910122.initial_effect(c)
c:RegisterEffect(e1)
--to deck
local e2=Effect.CreateEffect(c)
e2:SetCategory(CATEGORY_TODECK+CATEGORY_TOHAND)
e2:SetCategory(CATEGORY_TODECK+CATEGORY_RECOVER)
e2:SetType(EFFECT_TYPE_IGNITION)
e2:SetRange(LOCATION_GRAVE)
e2:SetCountLimit(1,9910122)
......@@ -73,15 +73,15 @@ function c9910122.tdfilter(c)
return c:IsSetCard(0x952) and c:IsType(TYPE_MONSTER) and c:IsAbleToDeck()
end
function c9910122.tdtg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(c9910122.tdfilter,tp,LOCATION_HAND+LOCATION_GRAVE,0,2,nil) end
Duel.SetOperationInfo(0,CATEGORY_TODECK,nil,2,tp,LOCATION_HAND+LOCATION_GRAVE)
if chk==0 then return Duel.IsExistingMatchingCard(c9910122.tdfilter,tp,LOCATION_GRAVE,0,2,nil) end
Duel.SetOperationInfo(0,CATEGORY_TODECK,nil,2,tp,LOCATION_GRAVE)
end
function c9910122.locfilter(c,sp)
return c:IsLocation(LOCATION_DECK) and c:IsControler(sp)
end
function c9910122.tdop(e,tp,eg,ep,ev,re,r,rp)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TODECK)
local g=Duel.SelectMatchingCard(tp,c9910122.tdfilter,tp,LOCATION_HAND+LOCATION_GRAVE,0,2,2,nil)
local g=Duel.SelectMatchingCard(tp,c9910122.tdfilter,tp,LOCATION_GRAVE,0,2,2,nil)
if g:GetCount()~=2 then return end
if Duel.SendtoDeck(g,nil,0,REASON_EFFECT)~=2 then return end
local ct=Duel.GetOperatedGroup():FilterCount(c9910122.locfilter,nil,tp)
......@@ -90,10 +90,7 @@ function c9910122.tdop(e,tp,eg,ep,ev,re,r,rp)
Duel.ConfirmDecktop(tp,1)
local tg=Duel.GetDecktopGroup(tp,1)
local tc=tg:GetFirst()
if tc:IsSetCard(0x952) and tc:IsType(TYPE_MONSTER) then
Duel.DisableShuffleCheck()
Duel.SendtoHand(tc,nil,REASON_EFFECT)
Duel.ConfirmCards(1-tp,tc)
Duel.ShuffleHand(tp)
if tc:IsSetCard(0x952) and tc:IsType(TYPE_MONSTER) and tc:GetAttack()>0 then
Duel.Recover(tp,tc:GetAttack(),REASON_EFFECT)
end
end
......@@ -2,7 +2,7 @@
function c9910123.initial_effect(c)
--special summon
local e1=Effect.CreateEffect(c)
e1:SetCategory(CATEGORY_SPECIAL_SUMMON+CATEGORY_TODECK+CATEGORY_TOGRAVE)
e1:SetCategory(CATEGORY_SPECIAL_SUMMON+CATEGORY_TODECK+CATEGORY_DESTROY)
e1:SetType(EFFECT_TYPE_IGNITION)
e1:SetRange(LOCATION_HAND)
e1:SetCountLimit(1,9910123)
......@@ -32,9 +32,6 @@ function c9910123.sptg(e,tp,eg,ep,ev,re,r,rp,chk)
and c:IsCanBeSpecialSummoned(e,0,tp,false,false)
and c:IsAbleToDeck() end
end
function c9910123.tgfilter(c)
return c:IsFacedown() and c:IsAbleToGrave()
end
function c9910123.spop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
if Duel.GetFieldGroupCount(tp,LOCATION_DECK,0)==0 then return end
......@@ -57,12 +54,13 @@ function c9910123.spop(e,tp,eg,ep,ev,re,r,rp)
else
if not c:IsRelateToEffect(e) then return end
if Duel.SendtoDeck(c,nil,0,REASON_EFFECT)==0 then return end
local g=Duel.GetMatchingGroup(c9910123.tgfilter,tp,LOCATION_ONFIELD,LOCATION_ONFIELD,nil)
local g=Duel.GetMatchingGroup(Card.IsFacedown,tp,LOCATION_SZONE,LOCATION_SZONE,nil)
if g:GetCount()>0 and Duel.SelectYesNo(tp,aux.Stringid(9910123,0)) then
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TOGRAVE)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_DESTROY)
local sg=g:Select(tp,1,1,nil)
Duel.BreakEffect()
Duel.SendtoGrave(sg,REASON_EFFECT)
Duel.HintSelection(sg)
Duel.Destroy(sg,REASON_EFFECT)
end
end
end
......
......@@ -2,8 +2,9 @@
function c9910132.initial_effect(c)
--special summon
local e1=Effect.CreateEffect(c)
e1:SetCategory(CATEGORY_SPECIAL_SUMMON+CATEGORY_TODECK+CATEGORY_TOHAND)
e1:SetCategory(CATEGORY_SPECIAL_SUMMON+CATEGORY_TODECK+CATEGORY_POSITION+CATEGORY_TOHAND)
e1:SetType(EFFECT_TYPE_IGNITION)
e1:SetProperty(EFFECT_FLAG_CARD_TARGET)
e1:SetRange(LOCATION_HAND)
e1:SetCountLimit(1,9910132)
e1:SetCost(c9910132.spcost)
......@@ -35,14 +36,19 @@ end
function c9910132.spcost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return not e:GetHandler():IsPublic() end
end
function c9910132.sptg(e,tp,eg,ep,ev,re,r,rp,chk)
function c9910132.filter(c)
return c:IsPosition(POS_FACEUP_ATTACK) and c:IsCanChangePosition() and c:IsAbleToHand()
end
function c9910132.sptg(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
local c=e:GetHandler()
if chkc then return chkc:IsControler(1-tp) and chkc:IsLocation(LOCATION_MZONE) and c9910132.filter(chkc) end
if chk==0 then return Duel.GetFieldGroupCount(tp,LOCATION_DECK,0)>0
and Duel.GetLocationCount(tp,LOCATION_MZONE)>0
and Duel.GetLocationCount(tp,LOCATION_SZONE)>0
and c:IsCanBeSpecialSummoned(e,0,tp,false,false)
and c:IsAbleToDeck()
and Duel.IsExistingMatchingCard(Card.IsAbleToHand,tp,0,LOCATION_MZONE,1,nil) end
and Duel.IsExistingTarget(c9910132.filter,tp,0,LOCATION_MZONE,1,nil) end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_ATTACK)
local g=Duel.SelectTarget(tp,c9910132.filter,tp,0,LOCATION_MZONE,1,1,nil)
end
function c9910132.spop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
......@@ -51,26 +57,18 @@ function c9910132.spop(e,tp,eg,ep,ev,re,r,rp)
local g=Duel.GetDecktopGroup(tp,1)
local tc=g:GetFirst()
if tc:IsSetCard(0x952) and tc:IsType(TYPE_MONSTER) then
if c:IsRelateToEffect(e) and Duel.SpecialSummon(c,0,tp,tp,false,false,POS_FACEUP)~=0
and not tc:IsForbidden() then
Duel.DisableShuffleCheck()
Duel.MoveToField(tc,tp,tp,LOCATION_SZONE,POS_FACEUP,true)
local e1=Effect.CreateEffect(c)
e1:SetCode(EFFECT_CHANGE_TYPE)
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetProperty(EFFECT_FLAG_CANNOT_DISABLE)
e1:SetReset(RESET_EVENT+RESETS_STANDARD-RESET_TURN_SET)
e1:SetValue(TYPE_SPELL+TYPE_CONTINUOUS)
tc:RegisterEffect(e1)
if c:IsRelateToEffect(e) and Duel.SpecialSummon(c,0,tp,tp,false,false,POS_FACEUP)~=0 then
local sc=Duel.GetFirstTarget()
if sc:IsRelateToEffect(e) then
Duel.ChangePosition(sc,POS_FACEUP_DEFENSE)
end
end
else
if not c:IsRelateToEffect(e) then return end
if Duel.SendtoDeck(c,nil,0,REASON_EFFECT)==0 then return end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_RTOHAND)
local sg=Duel.SelectMatchingCard(tp,Card.IsAbleToHand,tp,0,LOCATION_MZONE,1,1,nil)
if sg:GetCount()>0 then
Duel.BreakEffect()
Duel.SendtoHand(sg,nil,REASON_EFFECT)
local sc=Duel.GetFirstTarget()
if sc:IsRelateToEffect(e) then
Duel.SendtoHand(sc,nil,REASON_EFFECT)
end
end
end
......
......@@ -19,7 +19,6 @@ function c9910140.initial_effect(c)
e2:SetCode(EFFECT_UPDATE_ATTACK)
e2:SetProperty(EFFECT_FLAG_SINGLE_RANGE)
e2:SetRange(LOCATION_MZONE)
e2:SetCondition(c9910140.imcon)
e2:SetValue(c9910140.atkval)
c:RegisterEffect(e2)
--to deck
......@@ -53,9 +52,10 @@ function c9910140.imcon(e)
return e:GetHandler():GetOverlayGroup():IsExists(Card.IsSetCard,1,nil,0x952)
end
function c9910140.imfilter(e,te)
return te:GetOwnerPlayer()~=e:GetHandlerPlayer()
return te:GetOwnerPlayer()~=e:GetHandlerPlayer() and te:GetOwner()~=e:GetOwner()
end
function c9910140.atkval(e,c)
if not c:GetOverlayGroup():IsExists(Card.IsSetCard,1,nil,0x952) then return 0 end
return c:GetOverlayCount()*400
end
function c9910140.tdcost(e,tp,eg,ep,ev,re,r,rp,chk)
......
......@@ -5,6 +5,7 @@ function c9910153.initial_effect(c)
e1:SetCategory(CATEGORY_TOHAND+CATEGORY_SEARCH)
e1:SetType(EFFECT_TYPE_ACTIVATE)
e1:SetCode(EVENT_FREE_CHAIN)
e1:SetCountLimit(1,9910153+EFFECT_COUNT_CODE_OATH)
e1:SetTarget(c9910153.target)
e1:SetOperation(c9910153.activate)
c:RegisterEffect(e1)
......@@ -35,29 +36,32 @@ function c9910153.activate(e,tp,eg,ep,ev,re,r,rp)
if g:GetCount()>0 then
local tg=g:RandomSelect(1-tp,1)
Duel.ConfirmCards(1-tp,tg)
if tg:IsExists(c9910153.xyzfilter,1,nil) then
local tc=tg:GetFirst()
local sg=Duel.GetMatchingGroup(c9910153.thfilter,tp,LOCATION_DECK,0,nil,tc:GetRank())
if sg:GetCount()>0 and Duel.SelectYesNo(tp,aux.Stringid(9910153,0)) then
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_ATOHAND)
local ssg=sg:Select(tp,1,1,nil)
if Duel.SendtoHand(ssg,nil,REASON_EFFECT)==0 then return end
Duel.ConfirmCards(1-tp,ssg)
local e1=Effect.CreateEffect(e:GetHandler())
e1:SetType(EFFECT_TYPE_FIELD)
e1:SetCode(EFFECT_IMMUNE_EFFECT)
e1:SetTargetRange(LOCATION_MZONE,0)
e1:SetTarget(aux.TargetBoolFunction(Card.IsRace,RACE_MACHINE))
e1:SetValue(c9910153.efilter)
e1:SetReset(RESET_EVENT+RESETS_STANDARD+RESET_PHASE+PHASE_END)
Duel.RegisterEffect(e1,tp)
end
end
if not tg:IsExists(c9910153.xyzfilter,1,nil) then return end
local tc=tg:GetFirst()
local op=0
local sg=Duel.GetMatchingGroup(c9910153.thfilter,tp,LOCATION_DECK,0,nil,tc:GetRank())
if sg:GetCount()>0 then op=Duel.SelectOption(tp,aux.Stringid(9910153,0),aux.Stringid(9910153,1))
else op=Duel.SelectOption(tp,aux.Stringid(9910153,1))+1 end
if op==0 then
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_ATOHAND)
local ssg=sg:Select(tp,1,1,nil)
if Duel.SendtoHand(ssg,nil,REASON_EFFECT)==0 then return end
Duel.ConfirmCards(1-tp,ssg)
else
local e1=Effect.CreateEffect(e:GetHandler())
e1:SetType(EFFECT_TYPE_FIELD)
e1:SetCode(EFFECT_IMMUNE_EFFECT)
e1:SetTargetRange(LOCATION_MZONE,0)
e1:SetTarget(aux.TargetBoolFunction(Card.IsRace,RACE_MACHINE))
e1:SetValue(c9910153.efilter)
e1:SetReset(RESET_EVENT+RESETS_STANDARD+RESET_PHASE+PHASE_END)
Duel.RegisterEffect(e1,tp)
end
end
end
function c9910153.repfilter(c,tp)
return c:IsFaceup() and c:IsSetCard(0x952) and c:IsLocation(LOCATION_ONFIELD)
and c:IsControler(tp)
return c:IsFaceup() and c:IsSetCard(0x952) and c:IsLocation(LOCATION_MZONE)
and c:IsControler(tp) and c:IsReason(REASON_EFFECT) and not c:IsReason(REASON_REPLACE)
end
function c9910153.reptg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return e:GetHandler():IsAbleToRemove() and eg:IsExists(c9910153.repfilter,1,nil,tp) end
......
......@@ -7,6 +7,7 @@ function c9910155.initial_effect(c)
--material
local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(9910155,1))
e1:SetCategory(CATEGORY_DRAW)
e1:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_O)
e1:SetCode(EVENT_SPSUMMON_SUCCESS)
e1:SetProperty(EFFECT_FLAG_DELAY)
......@@ -34,16 +35,20 @@ function c9910155.xyzfilter(c)
and c:IsRace(RACE_MACHINE)
end
function c9910155.matg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(Card.IsSetCard,tp,LOCATION_DECK,0,1,nil,0x952) end
if chk==0 then return Duel.IsPlayerCanDraw(tp,1)
and Duel.IsExistingMatchingCard(Card.IsSetCard,tp,LOCATION_HAND,0,1,nil,0x952) end
Duel.Hint(HINT_OPSELECTED,1-tp,e:GetDescription())
Duel.SetOperationInfo(0,CATEGORY_DRAW,nil,0,tp,1)
end
function c9910155.maop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
if c:IsFacedown() or not c:IsRelateToEffect(e) then return end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_XMATERIAL)
local g=Duel.SelectMatchingCard(tp,Card.IsSetCard,tp,LOCATION_DECK,0,1,1,nil,0x952)
local g=Duel.SelectMatchingCard(tp,Card.IsSetCard,tp,LOCATION_HAND,0,1,1,nil,0x952)
if g:GetCount()>0 then
Duel.Overlay(c,g)
Duel.BreakEffect()
Duel.Draw(tp,1,REASON_EFFECT)
end
end
function c9910155.descon(e,tp,eg,ep,ev,re,r,rp)
......
--天空漫步者 日向晶也
function c9910209.initial_effect(c)
aux.EnableExtraDeckSummonCountLimit()
--set
--special summon
local e1=Effect.CreateEffect(c)
e1:SetCategory(CATEGORY_SPECIAL_SUMMON)
e1:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_O)
e1:SetCode(EVENT_SUMMON_SUCCESS)
e1:SetTarget(c9910209.settg)
e1:SetOperation(c9910209.setop)
e1:SetTarget(c9910209.sptg)
e1:SetOperation(c9910209.spop)
c:RegisterEffect(e1)
--to hand
local e2=Effect.CreateEffect(c)
e2:SetCategory(CATEGORY_TOHAND+CATEGORY_SEARCH)
e2:SetType(EFFECT_TYPE_QUICK_O)
e2:SetCode(EVENT_CHAINING)
e2:SetRange(LOCATION_MZONE+LOCATION_GRAVE)
e2:SetCountLimit(1,9910209)
e2:SetCondition(c9910209.thcon)
e2:SetCost(c9910209.thcost)
e2:SetTarget(c9910209.thtg)
e2:SetOperation(c9910209.thop)
c:RegisterEffect(e2)
end
function c9910209.setfilter(c)
return c:IsSetCard(0x955) and c:IsType(TYPE_SPELL+TYPE_TRAP) and c:IsSSetable()
function c9910209.filter(c,e,tp)
return c:IsSetCard(0x955) and c:IsCanBeSpecialSummoned(e,0,tp,false,false)
end
function c9910209.settg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(c9910209.setfilter,tp,LOCATION_DECK,0,1,nil) end
function c9910209.sptg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.GetLocationCount(tp,LOCATION_MZONE)>0
and Duel.IsExistingMatchingCard(c9910209.filter,tp,LOCATION_HAND,0,1,nil,e,tp) end
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,1,tp,LOCATION_HAND)
end
function c9910209.setop(e,tp,eg,ep,ev,re,r,rp)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SET)
local g=Duel.SelectMatchingCard(tp,c9910209.setfilter,tp,LOCATION_DECK,0,1,1,nil)
local tc=g:GetFirst()
if tc then
Duel.SSet(tp,tc)
Duel.ConfirmCards(1-tp,tc)
function c9910209.spop(e,tp,eg,ep,ev,re,r,rp)
if Duel.GetLocationCount(tp,LOCATION_MZONE)<=0 then return end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON)
local g=Duel.SelectMatchingCard(tp,c9910209.filter,tp,LOCATION_HAND,0,1,1,nil,e,tp)
if g:GetCount()>0 then
Duel.SpecialSummon(g,0,tp,tp,false,false,POS_FACEUP)
end
local e4=Effect.CreateEffect(e:GetHandler())
e4:SetType(EFFECT_TYPE_FIELD)
e4:SetCode(EFFECT_CANNOT_SPECIAL_SUMMON)
e4:SetProperty(EFFECT_FLAG_PLAYER_TARGET)
e4:SetTargetRange(1,0)
e4:SetTarget(c9910209.splimit)
e4:SetReset(RESET_PHASE+PHASE_END)
Duel.RegisterEffect(e4,tp)
local e5=Effect.CreateEffect(e:GetHandler())
e5:SetType(EFFECT_TYPE_FIELD)
e5:SetProperty(EFFECT_FLAG_PLAYER_TARGET)
e5:SetCode(EFFECT_CANNOT_SPECIAL_SUMMON)
e5:SetTargetRange(1,0)
e5:SetTarget(c9910209.splimit2)
e5:SetReset(RESET_PHASE+PHASE_END)
Duel.RegisterEffect(e5,tp)
local e6=Effect.CreateEffect(e:GetHandler())
e6:SetType(EFFECT_TYPE_CONTINUOUS+EFFECT_TYPE_FIELD)
e6:SetCode(EVENT_SPSUMMON_SUCCESS)
e6:SetOperation(c9910209.checkop)
e6:SetReset(RESET_PHASE+PHASE_END)
Duel.RegisterEffect(e6,tp)
local e7=Effect.CreateEffect(e:GetHandler())
e7:SetType(EFFECT_TYPE_FIELD)
e7:SetProperty(EFFECT_FLAG_PLAYER_TARGET)
e7:SetCode(92345028)
e7:SetTargetRange(1,0)
e7:SetReset(RESET_PHASE+PHASE_END)
Duel.RegisterEffect(e7,tp)
end
function c9910209.splimit(e,c)
return not c:IsSetCard(0x955)
function c9910209.thcon(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
if not re:IsHasProperty(EFFECT_FLAG_CARD_TARGET) then return false end
local g=Duel.GetChainInfo(ev,CHAININFO_TARGET_CARDS)
return g and g:IsContains(c)
end
function c9910209.splimit2(e,c,sump,sumtype,sumpos,targetp,se)
return c:IsLocation(LOCATION_EXTRA) and aux.ExtraDeckSummonCountLimit[sump]<=0
function c9910209.thcost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return e:GetHandler():IsAbleToDeckAsCost() end
Duel.SendtoDeck(e:GetHandler(),nil,2,REASON_COST)
end
function c9910209.cfilter(c,tp)
return c:GetSummonPlayer()==tp and c:IsPreviousLocation(LOCATION_EXTRA)
function c9910209.thfilter(c)
return c:IsSetCard(0x955) and c:IsType(TYPE_SPELL+TYPE_TRAP) and c:IsAbleToHand()
end
function c9910209.checkop(e,tp,eg,ep,ev,re,r,rp)
if eg:IsExists(c9910209.cfilter,1,nil,tp) then
aux.ExtraDeckSummonCountLimit[tp]=aux.ExtraDeckSummonCountLimit[tp]-1
end
if eg:IsExists(c9910209.cfilter,1,nil,1-tp) then
aux.ExtraDeckSummonCountLimit[1-tp]=aux.ExtraDeckSummonCountLimit[1-tp]-1
function c9910209.thtg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(c9910209.thfilter,tp,LOCATION_DECK,0,1,nil) end
Duel.SetOperationInfo(0,CATEGORY_TOHAND,nil,1,tp,LOCATION_DECK)
end
function c9910209.thop(e,tp,eg,ep,ev,re,r,rp)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_ATOHAND)
local g=Duel.SelectMatchingCard(tp,c9910209.thfilter,tp,LOCATION_DECK,0,1,1,nil)
if g:GetCount()>0 then
Duel.SendtoHand(g,nil,REASON_EFFECT)
Duel.ConfirmCards(1-tp,g)
end
end
......@@ -40,26 +40,43 @@ function c9910216.condition(e,tp,eg,ep,ev,re,r,rp)
and not Duel.IsExistingMatchingCard(c9910216.cfilter,tp,LOCATION_MZONE,0,1,nil)
end
function c9910216.target(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(Card.IsAbleToRemove,tp,0,LOCATION_HAND,1,nil,tp,POS_FACEDOWN) end
Duel.SetOperationInfo(0,CATEGORY_REMOVE,nil,1,1-tp,LOCATION_HAND)
if chk==0 then return Duel.IsExistingMatchingCard(Card.IsAbleToRemove,tp,0,LOCATION_HAND+LOCATION_ONFIELD+LOCATION_GRAVE,1,nil) end
Duel.SetOperationInfo(0,CATEGORY_REMOVE,nil,1,0,LOCATION_HAND+LOCATION_ONFIELD+LOCATION_GRAVE)
end
function c9910216.activate(e,tp,eg,ep,ev,re,r,rp)
local g=Duel.GetFieldGroup(1-tp,LOCATION_HAND,0)
local rs=g:RandomSelect(1-tp,1)
local card=rs:GetFirst()
if card==nil then return end
if Duel.Remove(card,POS_FACEDOWN,REASON_EFFECT)>0 and Duel.SelectYesNo(1-tp,aux.Stringid(9910216,0)) then
local g1=Duel.GetMatchingGroup(Card.IsAbleToRemove,tp,0,LOCATION_ONFIELD,nil)
local g2=Duel.GetMatchingGroup(Card.IsAbleToRemove,tp,0,LOCATION_GRAVE,nil)
local g3=Duel.GetMatchingGroup(Card.IsAbleToRemove,tp,0,LOCATION_HAND,nil)
local sg=Group.CreateGroup()
if g1:GetCount()>0 and ((g2:GetCount()==0 and g3:GetCount()==0) or Duel.SelectYesNo(tp,aux.Stringid(9910216,3))) then
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_REMOVE)
local sg1=g1:Select(tp,1,1,nil)
Duel.HintSelection(sg1)
sg:Merge(sg1)
end
if g2:GetCount()>0 and ((sg:GetCount()==0 and g3:GetCount()==0) or Duel.SelectYesNo(tp,aux.Stringid(9910216,4))) then
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_REMOVE)
local sg2=g2:Select(tp,1,1,nil)
Duel.HintSelection(sg2)
sg:Merge(sg2)
end
if g3:GetCount()>0 and (sg:GetCount()==0 or Duel.SelectYesNo(tp,aux.Stringid(9910216,5))) then
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_REMOVE)
local sg3=g3:RandomSelect(tp,1)
sg:Merge(sg3)
end
if Duel.Remove(sg,POS_FACEUP,REASON_EFFECT)>0 and Duel.SelectYesNo(1-tp,aux.Stringid(9910216,0)) then
Duel.BreakEffect()
if not Duel.IsPlayerCanDraw(1-tp,1) then Duel.Recover(1-tp,1000,REASON_EFFECT) return end
if not Duel.IsPlayerCanDraw(1-tp,1) then Duel.Recover(1-tp,3000,REASON_EFFECT) return end
if Duel.GetCurrentChain()>2 then
if Duel.SelectOption(tp,aux.Stringid(9910216,1),aux.Stringid(9910216,2))==0 then
Duel.Recover(1-tp,1000,REASON_EFFECT)
Duel.Recover(1-tp,3000,REASON_EFFECT)
else
Duel.Draw(1-tp,1,REASON_EFFECT)
end
else
if Duel.SelectOption(1-tp,aux.Stringid(9910216,1),aux.Stringid(9910216,2))==0 then
Duel.Recover(1-tp,1000,REASON_EFFECT)
Duel.Recover(1-tp,3000,REASON_EFFECT)
else
Duel.Draw(1-tp,1,REASON_EFFECT)
end
......
......@@ -8,7 +8,7 @@ function c9910230.initial_effect(c)
e1:SetCategory(CATEGORY_SPECIAL_SUMMON)
e1:SetType(EFFECT_TYPE_QUICK_O)
e1:SetCode(EVENT_CHAINING)
e1:SetRange(LOCATION_GRAVE)
e1:SetRange(LOCATION_MZONE+LOCATION_GRAVE)
e1:SetCountLimit(1,9910230)
e1:SetCondition(c9910230.spcon)
e1:SetTarget(c9910230.sptg)
......@@ -21,20 +21,19 @@ function c9910230.spcon(e,tp,eg,ep,ev,re,r,rp)
local g=Duel.GetChainInfo(ev,CHAININFO_TARGET_CARDS)
return g and g:IsContains(c)
end
function c9910230.spfilter(c,e,tp)
return c:IsSetCard(0x955) and c:IsCanBeSpecialSummoned(e,0,tp,false,false)
end
function c9910230.sptg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.GetLocationCount(tp,LOCATION_MZONE)>0
and e:GetHandler():IsCanBeSpecialSummoned(e,0,tp,false,false)
and Duel.IsExistingMatchingCard(Card.IsSetCard,tp,LOCATION_HAND,0,1,nil,0x955) end
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,e:GetHandler(),1,0,0)
and Duel.IsExistingMatchingCard(c9910230.spfilter,tp,LOCATION_HAND+LOCATION_GRAVE,0,1,nil,e,tp) end
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,1,tp,LOCATION_HAND+LOCATION_GRAVE)
end
function c9910230.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)~=0 then
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TOGRAVE)
local g=Duel.SelectMatchingCard(tp,Card.IsSetCard,tp,LOCATION_HAND,0,1,1,nil,0x955)
if Duel.GetLocationCount(tp,LOCATION_MZONE)>0 then
local g=Duel.SelectMatchingCard(tp,c9910230.spfilter,tp,LOCATION_HAND+LOCATION_GRAVE,0,1,1,nil,e,tp)
if g:GetCount()>0 then
Duel.BreakEffect()
Duel.SendtoGrave(g,REASON_EFFECT)
Duel.SpecialSummon(g,0,tp,tp,false,false,POS_FACEUP)
end
end
end
--明净驰骋 市之濑莉佳
function c9910232.initial_effect(c)
--link summon
aux.AddLinkProcedure(c,aux.FilterBoolFunction(Card.IsLinkType,TYPE_LINK),2,99,c9910232.lcheck)
c:EnableReviveLimit()
--immune
local e1=Effect.CreateEffect(c)
e1:SetProperty(EFFECT_FLAG_CARD_TARGET)
e1:SetType(EFFECT_TYPE_QUICK_O)
e1:SetCode(EVENT_FREE_CHAIN)
e1:SetRange(LOCATION_MZONE)
e1:SetCountLimit(1)
e1:SetTarget(c9910232.imtg)
e1:SetOperation(c9910232.imop)
c:RegisterEffect(e1)
--to deck
local e2=Effect.CreateEffect(c)
e2:SetCategory(CATEGORY_TODECK)
e2:SetType(EFFECT_TYPE_QUICK_O)
e2:SetCode(EVENT_CHAINING)
e2:SetRange(LOCATION_MZONE)
e2:SetCountLimit(1,9910232)
e2:SetCondition(c9910232.tdcon)
e2:SetTarget(c9910232.tdtg)
e2:SetOperation(c9910232.tdop)
c:RegisterEffect(e2)
end
function c9910232.lcheck(g)
return g:IsExists(Card.IsLinkMarker,1,nil,LINK_MARKER_BOTTOM)
and g:IsExists(Card.IsLinkMarker,1,nil,LINK_MARKER_LEFT)
and g:IsExists(Card.IsLinkMarker,1,nil,LINK_MARKER_BOTTOM_RIGHT)
end
function c9910232.filter(c)
return c:IsFaceup() and c:IsRace(RACE_PSYCHO)
end
function c9910232.imtg(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
local c=e:GetHandler()
if chkc then return chkc:IsLocation(LOCATION_MZONE) and chkc:IsControler(tp) and c9910232.filter(chkc) end
if chk==0 then return Duel.IsExistingTarget(c9910232.filter,tp,LOCATION_MZONE,0,1,nil) end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_FACEUP)
Duel.SelectTarget(tp,c9910232.filter,tp,LOCATION_MZONE,0,1,1,nil)
end
function c9910232.efilter(e,re)
return e:GetOwnerPlayer()~=re:GetOwnerPlayer() and re:IsActivated()
end
function c9910232.imop(e,tp,eg,ep,ev,re,r,rp)
local tc=Duel.GetFirstTarget()
if tc:IsRelateToEffect(e) and tc:IsFaceup() then
local e1=Effect.CreateEffect(e:GetHandler())
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetCode(EFFECT_IMMUNE_EFFECT)
e1:SetValue(c9910232.efilter)
e1:SetReset(RESET_EVENT+RESETS_STANDARD+RESET_PHASE+PHASE_END)
tc:RegisterEffect(e1)
end
end
function c9910232.tdcon(e,tp,eg,ep,ev,re,r,rp)
local race=Duel.GetChainInfo(ev,CHAININFO_TRIGGERING_RACE)
return race&RACE_PSYCHO>0 and re:GetHandler()~=e:GetHandler()
end
function c9910232.tdtg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(Card.IsAbleToDeck,tp,LOCATION_ONFIELD,LOCATION_ONFIELD,1,nil) end
local g=Duel.GetMatchingGroup(Card.IsAbleToDeck,tp,LOCATION_ONFIELD,LOCATION_ONFIELD,nil)
Duel.SetOperationInfo(0,CATEGORY_TODECK,g,1,0,0)
end
function c9910232.tdop(e,tp,eg,ep,ev,re,r,rp)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TODECK)
local g=Duel.SelectMatchingCard(tp,Card.IsAbleToDeck,tp,LOCATION_ONFIELD,LOCATION_ONFIELD,1,1,nil)
if g:GetCount()>0 then
Duel.HintSelection(g)
Duel.SendtoDeck(g,nil,2,REASON_EFFECT)
end
end
--天空漫步者-嬉戏
function c9910233.initial_effect(c)
--Activate
local e1=Effect.CreateEffect(c)
e1:SetCategory(CATEGORY_TODECK+CATEGORY_DRAW)
e1:SetProperty(EFFECT_FLAG_CARD_TARGET)
e1:SetType(EFFECT_TYPE_ACTIVATE)
e1:SetCode(EVENT_FREE_CHAIN)
e1:SetTarget(c9910233.target)
e1:SetOperation(c9910233.activate)
c:RegisterEffect(e1)
--recover
local e2=Effect.CreateEffect(c)
e2:SetCategory(CATEGORY_RECOVER)
e2:SetType(EFFECT_TYPE_IGNITION)
e2:SetRange(LOCATION_GRAVE)
e2:SetProperty(EFFECT_FLAG_CARD_TARGET)
e2:SetCountLimit(1,9910233)
e2:SetCost(aux.bfgcost)
e2:SetTarget(c9910233.rectg)
e2:SetOperation(c9910233.recop)
c:RegisterEffect(e2)
end
function c9910233.filter(c)
return c:IsType(TYPE_MONSTER) and c:IsSetCard(0x955) and c:IsAbleToDeck()
end
function c9910233.target(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
if chkc then return chkc:IsLocation(LOCATION_GRAVE) and chkc:IsControler(tp) and c9910233.filter(chkc) end
if chk==0 then return Duel.IsPlayerCanDraw(tp,2)
and Duel.IsExistingTarget(c9910233.filter,tp,LOCATION_GRAVE,0,5,nil) end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TODECK)
local g=Duel.SelectTarget(tp,c9910233.filter,tp,LOCATION_GRAVE,0,5,5,nil)
Duel.SetOperationInfo(0,CATEGORY_TODECK,g,g:GetCount(),0,0)
Duel.SetOperationInfo(0,CATEGORY_DRAW,nil,0,tp,2)
end
function c9910233.activate(e,tp,eg,ep,ev,re,r,rp)
local tg=Duel.GetChainInfo(0,CHAININFO_TARGET_CARDS):Filter(Card.IsRelateToEffect,nil,e)
if #tg==0 then return end
Duel.SendtoDeck(tg,nil,0,REASON_EFFECT)
local g=Duel.GetOperatedGroup()
if g:IsExists(Card.IsLocation,1,nil,LOCATION_DECK) then Duel.ShuffleDeck(tp) end
local ct=g:FilterCount(Card.IsLocation,nil,LOCATION_DECK+LOCATION_EXTRA)
if ct>0 then
Duel.BreakEffect()
Duel.Draw(tp,2,REASON_EFFECT)
end
end
function c9910233.recfilter(c)
return c:IsFaceup() and c:IsSetCard(0x955) and c:GetAttack()>0
end
function c9910233.rectg(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
if chkc then return chkc:IsControler(tp) and chkc:IsLocation(LOCATION_MZONE) and c9910233.recfilter(chkc) end
if chk==0 then return Duel.IsExistingTarget(c9910233.recfilter,tp,LOCATION_MZONE,0,1,nil) end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TARGET)
local g=Duel.SelectTarget(tp,c9910233.recfilter,tp,LOCATION_MZONE,0,1,1,nil)
Duel.SetOperationInfo(0,CATEGORY_RECOVER,nil,0,tp,g:GetFirst():GetAttack())
end
function c9910233.recop(e,tp,eg,ep,ev,re,r,rp)
local tc=Duel.GetFirstTarget()
if tc:IsRelateToEffect(e) and tc:IsFaceup() and tc:GetAttack()>0 then
Duel.Recover(tp,tc:GetAttack(),REASON_EFFECT)
end
end
--满开神树勇者 地守神-友奈
function c9910300.initial_effect(c)
--synchro summon
aux.AddSynchroMixProcedure(c,aux.NonTuner(nil),nil,nil,aux.Tuner(nil),2,99)
c:EnableReviveLimit()
--spsummon bgm
local e0=Effect.CreateEffect(c)
e0:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_CONTINUOUS)
e0:SetCode(EVENT_SPSUMMON_SUCCESS)
e0:SetOperation(c9910300.sumsuc)
c:RegisterEffect(e0)
--spsummon
local e1=Effect.CreateEffect(c)
e1:SetProperty(EFFECT_FLAG_CANNOT_DISABLE+EFFECT_FLAG_UNCOPYABLE)
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetCode(EFFECT_SPSUMMON_CONDITION)
e1:SetValue(aux.synlimit)
c:RegisterEffect(e1)
local e2=Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_SINGLE)
e2:SetCode(EFFECT_CANNOT_DISABLE_SPSUMMON)
e2:SetProperty(EFFECT_FLAG_CANNOT_DISABLE+EFFECT_FLAG_UNCOPYABLE)
c:RegisterEffect(e2)
--to deck
local e3=Effect.CreateEffect(c)
e3:SetCategory(CATEGORY_TODECK)
e3:SetType(EFFECT_TYPE_IGNITION)
e3:SetRange(LOCATION_MZONE)
e3:SetCountLimit(1)
e3:SetCondition(c9910300.tdcon)
e3:SetTarget(c9910300.tdtg)
e3:SetOperation(c9910300.tdop)
c:RegisterEffect(e3)
local e4=Effect.CreateEffect(c)
e4:SetType(EFFECT_TYPE_SINGLE)
e4:SetCode(EFFECT_MATERIAL_CHECK)
e4:SetValue(c9910300.valcheck)
e4:SetLabelObject(e3)
c:RegisterEffect(e4)
--immune
local e5=Effect.CreateEffect(c)
e5:SetType(EFFECT_TYPE_SINGLE)
e5:SetProperty(EFFECT_FLAG_SINGLE_RANGE)
e5:SetRange(LOCATION_MZONE)
e5:SetCode(EFFECT_IMMUNE_EFFECT)
e5:SetCondition(c9910300.imcon)
e5:SetValue(c9910300.imfilter)
c:RegisterEffect(e5)
local e6=Effect.CreateEffect(c)
e6:SetType(EFFECT_TYPE_SINGLE)
e6:SetCode(EFFECT_MATERIAL_CHECK)
e6:SetValue(c9910300.valcheck)
e6:SetLabelObject(e5)
c:RegisterEffect(e6)
--atkup
local e7=Effect.CreateEffect(c)
e7:SetType(EFFECT_TYPE_SINGLE)
e7:SetProperty(EFFECT_FLAG_SINGLE_RANGE)
e7:SetRange(LOCATION_MZONE)
e7:SetCode(EFFECT_UPDATE_ATTACK)
e7:SetValue(c9910300.atkval)
c:RegisterEffect(e7)
local e8=Effect.CreateEffect(c)
e8:SetType(EFFECT_TYPE_SINGLE)
e8:SetCode(EFFECT_MATERIAL_CHECK)
e8:SetValue(c9910300.valcheck)
e8:SetLabelObject(e7)
c:RegisterEffect(e8)
--remove
local e9=Effect.CreateEffect(c)
e9:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_TRIGGER_F)
e9:SetCategory(CATEGORY_REMOVE)
e9:SetCode(EVENT_PHASE+PHASE_END)
e9:SetRange(LOCATION_MZONE)
e9:SetCountLimit(1)
e9:SetCondition(c9910300.rmcon)
e9:SetTarget(c9910300.rmtg)
e9:SetOperation(c9910300.rmop)
c:RegisterEffect(e9)
local e10=Effect.CreateEffect(c)
e10:SetType(EFFECT_TYPE_SINGLE)
e10:SetCode(EFFECT_MATERIAL_CHECK)
e10:SetValue(c9910300.valcheck)
e10:SetLabelObject(e9)
c:RegisterEffect(e10)
end
function c9910300.sumsuc(e,tp,eg,ep,ev,re,r,rp)
Duel.Hint(HINT_MUSIC,0,aux.Stringid(9910300,1))
end
function c9910300.valcheck(e,c)
local g=c:GetMaterial()
local ct=g:FilterCount(Card.IsType,nil,TYPE_TUNER)
e:GetLabelObject():SetLabel(ct)
end
function c9910300.tdcon(e,tp,eg,ep,ev,re,r,rp)
return e:GetHandler():IsSummonType(SUMMON_TYPE_SYNCHRO) and e:GetLabel()>2
end
function c9910300.tdtg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(Card.IsAbleToDeck,tp,LOCATION_ONFIELD+LOCATION_GRAVE,LOCATION_ONFIELD+LOCATION_GRAVE,1,nil) end
Duel.SetOperationInfo(0,CATEGORY_DESTROY,nil,1,1-tp,LOCATION_MZONE)
end
function c9910300.tdop(e,tp,eg,ep,ev,re,r,rp)
local ct=e:GetLabel()
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TODECK)
local g=Duel.SelectMatchingCard(tp,Card.IsAbleToDeck,tp,LOCATION_ONFIELD+LOCATION_GRAVE,LOCATION_ONFIELD+LOCATION_GRAVE,1,ct,nil)
if g:GetCount()>0 then
Duel.HintSelection(g)
Duel.SendtoDeck(g,nil,2,REASON_EFFECT)
end
end
function c9910300.imcon(e)
return e:GetHandler():IsSummonType(SUMMON_TYPE_SYNCHRO) and e:GetLabel()>4
end
function c9910300.imfilter(e,te)
return te:GetOwnerPlayer()~=e:GetHandlerPlayer()
end
function c9910300.atkval(e,c)
local ph=Duel.GetCurrentPhase()
local tp=c:GetControler()
if Duel.GetTurnPlayer()~=tp or not e:GetHandler():IsSummonType(SUMMON_TYPE_SYNCHRO)
or e:GetLabel()<5 or ph<PHASE_BATTLE_START or ph>PHASE_BATTLE then return 0 end
return e:GetLabel()*3650
end
function c9910300.rmcon(e,tp,eg,ep,ev,re,r,rp)
return tp==Duel.GetTurnPlayer() and e:GetHandler():IsSummonType(SUMMON_TYPE_SYNCHRO) and e:GetLabel()>6
end
function c9910300.rmtg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return true end
Duel.SetOperationInfo(0,CATEGORY_REMOVE,nil,0,1-tp,LOCATION_HAND+LOCATION_DECK+LOCATION_EXTRA)
end
function c9910300.rmop(e,tp,eg,ep,ev,re,r,rp)
local ct=e:GetLabel()
local g1=Duel.GetMatchingGroup(Card.IsAbleToRemove,1-tp,LOCATION_HAND+LOCATION_EXTRA,0,nil,POS_FACEDOWN)
local g2=Duel.GetMatchingGroup(Card.IsAbleToRemove,1-tp,LOCATION_DECK,0,nil,POS_FACEDOWN)
if ct>=g1:GetCount()+g2:GetCount() then return end
if ct>=g1:GetCount() and not Duel.SelectYesNo(1-tp,aux.Stringid(9910300,0)) then
local rg=Duel.GetDecktopGroup(1-tp,g1:GetCount()+g2:GetCount()-ct)
Duel.DisableShuffleCheck()
Duel.Remove(rg,POS_FACEDOWN,REASON_EFFECT)
else
Duel.Hint(HINT_SELECTMSG,1-tp,HINTMSG_REMOVE)
local d=g1:GetCount()-ct
if d<=0 then d=1 end
local rg1=g1:Select(1-tp,d,g1:GetCount()+g2:GetCount()-ct,nil)
local rg2=Duel.GetDecktopGroup(1-tp,g1:GetCount()+g2:GetCount()-ct-rg1:GetCount())
rg1:Merge(rg2)
Duel.DisableShuffleCheck()
Duel.Remove(rg1,POS_FACEDOWN,REASON_EFFECT)
end
end
......@@ -34,6 +34,16 @@ function c9980400.initial_effect(c)
local e3=e1:Clone()
e3:SetCode(EVENT_SPSUMMON_SUCCESS)
c:RegisterEffect(e3)
--search
local e2=Effect.CreateEffect(c)
e2:SetCategory(CATEGORY_TOHAND+CATEGORY_SEARCH)
e2:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_O)
e2:SetCode(EVENT_REMOVE)
e2:SetProperty(EFFECT_FLAG_DELAY)
e2:SetCountLimit(1,99804001)
e2:SetTarget(c9980400.thtg)
e2:SetOperation(c9980400.thop)
c:RegisterEffect(e2)
--spsummon bgm
local e8=Effect.CreateEffect(c)
e8:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_CONTINUOUS)
......@@ -46,9 +56,8 @@ function c9980400.sumsuc(e,tp,eg,ep,ev,re,r,rp)
end
function c9980400.spcon(e,c)
if c==nil then return true end
local tp=c:GetControler()
return Duel.GetLocationCount(tp,LOCATION_MZONE)>0
and Duel.GetFieldGroupCount(tp,0,LOCATION_ONFIELD)>Duel.GetFieldGroupCount(tp,LOCATION_ONFIELD,0)
return Duel.GetFieldGroupCount(c:GetControler(),0,LOCATION_MZONE)>0
and Duel.GetLocationCount(c:GetControler(),LOCATION_MZONE)>0
end
function c9980400.filter(c)
return aux.IsCodeListed(c,9980400) and c:IsType(TYPE_SPELL+TYPE_TRAP) and c:IsAbleToHand()
......@@ -65,4 +74,19 @@ function c9980400.operation(e,tp,eg,ep,ev,re,r,rp)
Duel.ConfirmCards(1-tp,g)
end
Duel.Hint(HINT_MUSIC,0,aux.Stringid(9980400,1))
end
function c9980400.thfilter(c)
return aux.IsCodeListed(c,9980400) and c:IsType(TYPE_SPELL+TYPE_TRAP) and c:IsAbleToHand()
end
function c9980400.thtg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(c9980400.thfilter,tp,LOCATION_DECK,0,1,nil) end
Duel.SetOperationInfo(0,CATEGORY_TOHAND,nil,1,tp,LOCATION_DECK)
end
function c9980400.thop(e,tp,eg,ep,ev,re,r,rp)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_ATOHAND)
local g=Duel.SelectMatchingCard(tp,c9980400.thfilter,tp,LOCATION_DECK,0,1,1,nil)
if g:GetCount()>0 then
Duel.SendtoHand(g,nil,REASON_EFFECT)
Duel.ConfirmCards(1-tp,g)
end
end
\ No newline at end of file
......@@ -19,7 +19,7 @@ function c9980404.initial_effect(c)
end
c9980404.card_code_list={9980400}
function c9980404.filter(c)
return c:IsCode(9980400) and c:IsAbleToHand()
return ((c:IsCode(9980400)) or (aux.IsCodeListed(c,9980400) and c:IsType(TYPE_EQUIP)) and c:IsAbleToHand()
end
function c9980404.target(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(c9980404.filter,tp,LOCATION_DECK+LOCATION_GRAVE,0,1,nil) end
......
......@@ -87,7 +87,7 @@ function c9980408.operation(e,tp,eg,ep,ev,re,r,rp)
if tc then
Duel.Equip(tp,tc,c,true)
end
Duel.Hint(HINT_MUSIC,0,aux.Stringid(9980408,3))
Duel.Hint(HINT_MUSIC,0,aux.Stringid(9980408,4))
end
function c9980408.destg(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
if chkc then return chkc:IsOnField() and aux.disfilter1(chkc) end
......
......@@ -88,7 +88,7 @@ function c9980409.operation(e,tp,eg,ep,ev,re,r,rp)
if tc then
Duel.Equip(tp,tc,c,true)
end
Duel.Hint(HINT_MUSIC,0,aux.Stringid(9980409,2))
Duel.Hint(HINT_MUSIC,0,aux.Stringid(9980409,3))
end
function c9980409.negcon(e,tp,eg,ep,ev,re,r,rp)
return not e:GetHandler():IsStatus(STATUS_BATTLE_DESTROYED)
......
......@@ -87,7 +87,7 @@ function c9980410.operation(e,tp,eg,ep,ev,re,r,rp)
if tc then
Duel.Equip(tp,tc,c,true)
end
Duel.Hint(HINT_MUSIC,0,aux.Stringid(9980410,2))
Duel.Hint(HINT_MUSIC,0,aux.Stringid(9980410,3))
end
function c9980410.setfilter(c)
return c:IsFaceup() and c:IsCanTurnSet()
......
......@@ -105,10 +105,10 @@ function c9980412.initial_effect(c)
c:RegisterEffect(e8)
end
function c9980412.sumsuc(e,tp,eg,ep,ev,re,r,rp)
Duel.Hint(HINT_MUSIC,0,aux.Stringid(9980412,4))
Duel.Hint(HINT_MUSIC,0,aux.Stringid(9980412,5))
end
function c9980412.lcheck(g,lc)
return g:IsExists(Card.IsLinkSetCard,1,nil,0xbca) and g:IsExists(Card.IsLinkType,1,nil,TYPE_FUSION)
return g:IsExists(Card.IsLinkSetCard,1,nil,0xbca) and g:IsExists(Card.IsLinkType,1,nil,TYPE_FUSION+TYPE_LINK)
end
function c9980412.atkval(e,c)
return Duel.GetMatchingGroupCount(Card.IsType,c:GetControler(),LOCATION_GRAVE,LOCATION_GRAVE,nil,TYPE_MONSTER)*300
......
......@@ -74,7 +74,7 @@ function c9980413.initial_effect(c)
c:RegisterEffect(e8)
end
function c9980413.sumsuc(e,tp,eg,ep,ev,re,r,rp)
Duel.Hint(HINT_MUSIC,0,aux.Stringid(9980413,2))
Duel.Hint(HINT_MUSIC,0,aux.Stringid(9980413,4))
end
function c9980413.sprfilter(c)
return c:IsType(TYPE_MONSTER) and c:IsSetCard(0xbca) and c:IsType(TYPE_FUSION+TYPE_XYZ+TYPE_LINK+TYPE_SYNCHRO+TYPE_RITUAL) and c:IsAbleToRemoveAsCost()
......
......@@ -22,6 +22,17 @@ function c9980820.initial_effect(c)
e2:SetTarget(c9980820.atktg)
e2:SetOperation(c9980820.atkop)
c:RegisterEffect(e2)
--To hand
local e4=Effect.CreateEffect(c)
e4:SetCategory(CATEGORY_TOHAND)
e4:SetType(EFFECT_TYPE_IGNITION)
e4:SetProperty(EFFECT_FLAG_CARD_TARGET)
e4:SetRange(LOCATION_GRAVE)
e4:SetCountLimit(1,9980820)
e4:SetCost(c9980820.thcost)
e4:SetTarget(c9980820.thtg2)
e4:SetOperation(c9980820.thop2)
c:RegisterEffect(e4)
--spsummon bgm
local e8=Effect.CreateEffect(c)
e8:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_CONTINUOUS)
......@@ -71,3 +82,25 @@ function c9980820.atkop(e,tp,eg,ep,ev,re,r,rp)
Duel.Hint(HINT_MUSIC,0,aux.Stringid(9980820,2))
end
end
function c9980820.thcost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return e:GetHandler():IsAbleToDeckOrExtraAsCost() end
Duel.SendtoDeck(e:GetHandler(),nil,2,REASON_COST)
end
function c9980820.thfilter(c)
return c:IsSetCard(0xcbc1) and c:IsAbleToHand()
end
function c9980820.thtg(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
if chkc then return chkc:IsLocation(LOCATION_GRAVE+LOCATION_REMOVED) and chkc:IsControler(tp) and c9980820.thfilter(chkc) end
if chk==0 then return Duel.IsExistingTarget(c9980820.thfilter,tp,LOCATION_GRAVE+LOCATION_REMOVED,0,1,nil) end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_ATOHAND)
local g=Duel.SelectTarget(tp,c9980820.thfilter,tp,LOCATION_GRAVE+LOCATION_REMOVED,0,1,1,nil)
Duel.SetOperationInfo(0,CATEGORY_TOHAND,g,1,0,0)
end
function c9980820.thop(e,tp,eg,ep,ev,re,r,rp)
local tc=Duel.GetFirstTarget()
if tc:IsRelateToEffect(e) then
Duel.SendtoHand(tc,nil,REASON_EFFECT)
Duel.ConfirmCards(1-tp,tc)
Duel.Hint(HINT_MUSIC,0,aux.Stringid(9980820,2))
end
end
\ No newline at end of file
......@@ -48,7 +48,6 @@ function c9980822.initial_effect(c)
e2:SetCategory(CATEGORY_NEGATE+CATEGORY_DESTROY)
e2:SetType(EFFECT_TYPE_QUICK_O)
e2:SetCode(EVENT_CHAINING)
e2:SetProperty(EFFECT_FLAG_DAMAGE_STEP+EFFECT_FLAG_DAMAGE_CAL)
e2:SetRange(LOCATION_MZONE)
e2:SetCountLimit(1)
e2:SetCondition(c9980822.discon)
......
......@@ -5,7 +5,7 @@ function c9980827.initial_effect(c)
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetProperty(EFFECT_FLAG_SINGLE_RANGE)
e1:SetCode(EFFECT_CHANGE_CODE)
e1:SetRange(LOCATION_MZONE+LOCATION_GRAVE)
e1:SetRange(LOCATION_MZONE)
e1:SetValue(9980777)
c:RegisterEffect(e1)
--special summon
......
......@@ -23,7 +23,7 @@ function c9980834.initial_effect(c)
c:RegisterEffect(e2)
end
function c9980834.filter1(c,e,tp)
return c:IsSetCard(0xcbc1) and c:IsType(TYPE_XYZ) and c:IsCanBeSpecialSummoned(e,0,tp,false,false)
return c:IsRace(RACE_WARRIOR) and c:IsType(TYPE_XYZ) and c:IsCanBeSpecialSummoned(e,0,tp,false,false)
and Duel.IsExistingMatchingCard(c9980834.filter2,tp,LOCATION_EXTRA,0,1,nil,e,tp,c,c:GetRank()+2)
end
function c9980834.filter2(c,e,tp,mc,rk)
......
--飞电智能·Zero-One-闪耀突击蝗虫
function c9981216.initial_effect(c)
c:EnableReviveLimit()
aux.AddFusionProcCodeFun(c,9981215,aux.FilterBoolFunction(Card.IsFusionSetCard,0x5bc9),1,true,true)
aux.AddFusionProcCodeFun(c,9981216,aux.FilterBoolFunction(Card.IsFusionSetCard,0x5bc9),1,true,true)
aux.AddContactFusionProcedure(c,Card.IsAbleToRemoveAsCost,LOCATION_MZONE+LOCATION_GRAVE,0,Duel.Remove,POS_FACEUP,REASON_COST)
--spsummon condition
local e1=Effect.CreateEffect(c)
......@@ -51,8 +51,8 @@ function c9981216.initial_effect(c)
e8:SetRange(LOCATION_MZONE)
e8:SetCountLimit(2)
e8:SetCost(c9981216.tgcost)
e8:SetTarget(c9981215.tgtg)
e8:SetOperation(c9981215.tgop)
e8:SetTarget(c9981216.tgtg)
e8:SetOperation(c9981216.tgop)
c:RegisterEffect(e8)
--spsummon bgm
local e8=Effect.CreateEffect(c)
......@@ -82,11 +82,11 @@ function c9981216.tgcost(e,tp,eg,ep,ev,re,r,rp,chk)
local g=Duel.SelectMatchingCard(tp,c9981216.tgfilter,tp,LOCATION_ONFIELD,0,1,1,nil)
Duel.SendtoGrave(g,REASON_COST)
end
function c9981215.tgtg(e,tp,eg,ep,ev,re,r,rp,chk)
function c9981216.tgtg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.GetFieldGroupCount(tp,0,LOCATION_MZONE+LOCATION_HAND)>0 end
Duel.SetOperationInfo(0,CATEGORY_TOGRAVE,nil,1,0,LOCATION_MZONE+LOCATION_HAND)
end
function c9981215.tgop(e,tp,eg,ep,ev,re,r,rp)
function c9981216.tgop(e,tp,eg,ep,ev,re,r,rp)
local g=Duel.GetMatchingGroup(Card.IsType,1-tp,LOCATION_MZONE+LOCATION_HAND,0,nil,TYPE_MONSTER)
if g:GetCount()>0 then
Duel.Hint(HINT_SELECTMSG,1-tp,HINTMSG_TOGRAVE)
......@@ -94,7 +94,7 @@ function c9981215.tgop(e,tp,eg,ep,ev,re,r,rp)
Duel.HintSelection(sg)
Duel.SendtoGrave(sg,REASON_RULE)
end
Duel.Hint(HINT_MUSIC,0,aux.Stringid(9981215,1))
Duel.Hint(HINT_MUSIC,0,aux.Stringid(9981216,1))
end
function c9981216.thcon(e,tp,eg,ep,ev,re,r,rp)
return e:GetHandler():IsPreviousLocation(LOCATION_ONFIELD)
......
--飞电智能·Zero-One-破坏猛犸
function c9981222.initial_effect(c)
--synchro summon
aux.AddSynchroProcedure(c,aux.FilterBoolFunction(Card.IsSetCard,0x3bc9),aux.NonTuner(nil),1)
aux.AddSynchroProcedure(c,aux.FilterBoolFunction(Card.IsSetCard,0xbc9),aux.NonTuner(nil),1)
c:EnableReviveLimit()
--indes
local e2=Effect.CreateEffect(c)
......
......@@ -76,7 +76,6 @@ function c9981226.spop(e,tp,eg,ep,ev,re,r,rp)
end
end
end
end
function c9981226.destg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(aux.TRUE,tp,LOCATION_SZONE,0,1,e:GetHandler()) end
local g=Duel.GetMatchingGroup(aux.TRUE,tp,LOCATION_SZONE,0,e:GetHandler())
......
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