Commit 654846f0 authored by Nemo Ma's avatar Nemo Ma

Update 1122

Updated 362 cards
parent 0137425d
No preview for this file type
expansions/pics/79029214.jpg

48.2 KB | W: | H:

expansions/pics/79029214.jpg

48.8 KB | W: | H:

expansions/pics/79029214.jpg
expansions/pics/79029214.jpg
expansions/pics/79029214.jpg
expansions/pics/79029214.jpg
  • 2-up
  • Swipe
  • Onion skin
expansions/pics/9910036.jpg

46.7 KB | W: | H:

expansions/pics/9910036.jpg

47.1 KB | W: | H:

expansions/pics/9910036.jpg
expansions/pics/9910036.jpg
expansions/pics/9910036.jpg
expansions/pics/9910036.jpg
  • 2-up
  • Swipe
  • Onion skin
expansions/pics/9910057.jpg

45.7 KB | W: | H:

expansions/pics/9910057.jpg

47.1 KB | W: | H:

expansions/pics/9910057.jpg
expansions/pics/9910057.jpg
expansions/pics/9910057.jpg
expansions/pics/9910057.jpg
  • 2-up
  • Swipe
  • Onion skin
expansions/pics/9910213.jpg

50 KB | W: | H:

expansions/pics/9910213.jpg

49.5 KB | W: | H:

expansions/pics/9910213.jpg
expansions/pics/9910213.jpg
expansions/pics/9910213.jpg
expansions/pics/9910213.jpg
  • 2-up
  • Swipe
  • Onion skin
expansions/pics/9910215.jpg

46.3 KB | W: | H:

expansions/pics/9910215.jpg

48.1 KB | W: | H:

expansions/pics/9910215.jpg
expansions/pics/9910215.jpg
expansions/pics/9910215.jpg
expansions/pics/9910215.jpg
  • 2-up
  • Swipe
  • Onion skin
expansions/pics/9910220.jpg

51.2 KB | W: | H:

expansions/pics/9910220.jpg

51.2 KB | W: | H:

expansions/pics/9910220.jpg
expansions/pics/9910220.jpg
expansions/pics/9910220.jpg
expansions/pics/9910220.jpg
  • 2-up
  • Swipe
  • Onion skin
expansions/pics/9910222.jpg

49.6 KB | W: | H:

expansions/pics/9910222.jpg

49.5 KB | W: | H:

expansions/pics/9910222.jpg
expansions/pics/9910222.jpg
expansions/pics/9910222.jpg
expansions/pics/9910222.jpg
  • 2-up
  • Swipe
  • Onion skin
expansions/pics/9910224.jpg

41.5 KB | W: | H:

expansions/pics/9910224.jpg

41.7 KB | W: | H:

expansions/pics/9910224.jpg
expansions/pics/9910224.jpg
expansions/pics/9910224.jpg
expansions/pics/9910224.jpg
  • 2-up
  • Swipe
  • Onion skin
expansions/pics/9910225.jpg

53.6 KB | W: | H:

expansions/pics/9910225.jpg

53.7 KB | W: | H:

expansions/pics/9910225.jpg
expansions/pics/9910225.jpg
expansions/pics/9910225.jpg
expansions/pics/9910225.jpg
  • 2-up
  • Swipe
  • Onion skin
expansions/pics/9910237.jpg

47.8 KB | W: | H:

expansions/pics/9910237.jpg

48.7 KB | W: | H:

expansions/pics/9910237.jpg
expansions/pics/9910237.jpg
expansions/pics/9910237.jpg
expansions/pics/9910237.jpg
  • 2-up
  • Swipe
  • Onion skin
expansions/pics/9910454.jpg

42.9 KB | W: | H:

expansions/pics/9910454.jpg

42.6 KB | W: | H:

expansions/pics/9910454.jpg
expansions/pics/9910454.jpg
expansions/pics/9910454.jpg
expansions/pics/9910454.jpg
  • 2-up
  • Swipe
  • Onion skin
expansions/pics/9910551.jpg

49.3 KB | W: | H:

expansions/pics/9910551.jpg

49.3 KB | W: | H:

expansions/pics/9910551.jpg
expansions/pics/9910551.jpg
expansions/pics/9910551.jpg
expansions/pics/9910551.jpg
  • 2-up
  • Swipe
  • Onion skin
expansions/pics/9910552.jpg

52.7 KB | W: | H:

expansions/pics/9910552.jpg

52.2 KB | W: | H:

expansions/pics/9910552.jpg
expansions/pics/9910552.jpg
expansions/pics/9910552.jpg
expansions/pics/9910552.jpg
  • 2-up
  • Swipe
  • Onion skin
expansions/pics/9910553.jpg

48.8 KB | W: | H:

expansions/pics/9910553.jpg

48.5 KB | W: | H:

expansions/pics/9910553.jpg
expansions/pics/9910553.jpg
expansions/pics/9910553.jpg
expansions/pics/9910553.jpg
  • 2-up
  • Swipe
  • Onion skin
expansions/pics/9910554.jpg

49.8 KB | W: | H:

expansions/pics/9910554.jpg

49.9 KB | W: | H:

expansions/pics/9910554.jpg
expansions/pics/9910554.jpg
expansions/pics/9910554.jpg
expansions/pics/9910554.jpg
  • 2-up
  • Swipe
  • Onion skin
expansions/pics/9910558.jpg

43.4 KB | W: | H:

expansions/pics/9910558.jpg

43.4 KB | W: | H:

expansions/pics/9910558.jpg
expansions/pics/9910558.jpg
expansions/pics/9910558.jpg
expansions/pics/9910558.jpg
  • 2-up
  • Swipe
  • Onion skin
......@@ -32,11 +32,11 @@ function c65010042.thcon(e,tp,eg,ep,ev,re,r,rp)
return e:GetHandler():IsSummonType(SUMMON_TYPE_LINK)
end
function c65010042.thfil(c)
return c:IsRace(RACE_CYBERSE) and c:IsAbleToHand()
return c:IsFaceup() and c:IsRace(RACE_CYBERSE) and c:IsAbleToHand()
end
function c65010042.thtg(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
if chkc then return chkc:IsLocation(LOCATION_REMOVED) and chkc:IsControler(tp) and chkc:IsSetCard(0x3da0) and chkc:IsAbleToHand() end
if chk==0 then return Duel.IsExistingTarget(c65010042.thfil,tp,LOCATION_GRAVE,0,1,nil) end
if chkc then return chkc:IsLocation(LOCATION_REMOVED) and chkc:IsControler(tp) and c65010042.thfil(chkc) end
if chk==0 then return Duel.IsExistingTarget(c65010042.thfil,tp,LOCATION_REMOVED,0,1,nil) end
local g=Duel.SelectTarget(tp,c65010042.thfil,tp,LOCATION_REMOVED,0,1,1,nil)
Duel.SetOperationInfo(0,CATEGORY_TOHAND,g,1,tp,LOCATION_REMOVED)
end
......@@ -44,6 +44,7 @@ function c65010042.thop(e,tp,eg,ep,ev,re,r,rp)
local tc=Duel.GetFirstTarget()
if tc:IsRelateToEffect(e) then
Duel.SendtoHand(tc,tp,REASON_EFFECT)
Duel.ConfirmCards(1-tp,tc)
end
end
function c65010042.cfilter(c,tp)
......
......@@ -27,11 +27,11 @@ function c65020218.initial_effect(c)
local e4=Effect.CreateEffect(c)
e4:SetCategory(CATEGORY_ATKCHANGE+CATEGORY_DISABLE)
e4:SetType(EFFECT_TYPE_QUICK_O)
e4:SetProperty(EFFECT_FLAG_CARD_TARGET)
e4:SetProperty(EFFECT_FLAG_CARD_TARGET+EFFECT_FLAG_DAMAGE_STEP)
e4:SetCode(EVENT_FREE_CHAIN)
e4:SetRange(LOCATION_MZONE)
e4:SetCountLimit(1,65020318)
e4:SetHintTiming(0,TIMINGS_CHECK_MONSTER+TIMING_END_PHASE)
e4:SetHintTiming(TIMING_DAMAGE_STEP,TIMINGS_CHECK_MONSTER+TIMING_DAMAGE_STEP+TIMING_END_PHASE)
e4:SetTarget(c65020218.distg)
e4:SetOperation(c65020218.disop)
c:RegisterEffect(e4)
......
......@@ -80,12 +80,11 @@ function c79029048.cost(e,tp,eg,ep,ev,re,r,rp,chk)
end
function c79029048.tg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return true end
local lv=e:GetHandler():GetLevel()
Duel.Hint(HINT_SELECTMSG,tp,aux.Stringid(26082117,1))
e:SetLabel(Duel.AnnounceLevel(tp,1,8))
end
function c79029048.op(e,tp,eg,ep,ev,re,r,rp)
local g=Duel.GetMatchingGroup(Card.IsSetCard,tp,LOCATION_MZONE,0,0xa900)
local g=Duel.GetMatchingGroup(Card.IsSetCard,tp,LOCATION_MZONE,0,nil,0xa900)
local tc=g:GetFirst()
local c=e:GetHandler()
while tc do
......
......@@ -4,42 +4,31 @@ function c79029057.initial_effect(c)
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_ACTIVATE)
e1:SetCode(EVENT_FREE_CHAIN)
e1:SetCountLimit(1,79029057+EFFECT_COUNT_CODE_OATH)
e1:SetCost(c79029057.cost)
e1:SetCountLimit(1,79029057)
e1:SetTarget(c79029057.target)
e1:SetOperation(c79029057.operation)
c:RegisterEffect(e1)
--set
local e2=Effect.CreateEffect(c)
e2:SetCategory(CATEGORY_TODECK+CATEGORY_DRAW)
e2:SetCategory(CATEGORY_SEARCH)
e2:SetDescription(aux.Stringid(73594093,1))
e2:SetType(EFFECT_TYPE_IGNITION)
e2:SetRange(LOCATION_GRAVE)
e2:SetCountLimit(1,09029057)
e2:SetCost(aux.bfgcost)
e2:SetTarget(c79029057.settg)
e2:SetOperation(c79029057.setop)
c:RegisterEffect(e2)
end
function c79029057.cost(e,tp,eg,ep,ev,re,r,rp,chk)
e:SetLabel(1)
return true
end
function c79029057.desfilter(c,tc,ec)
return c:IsFaceup()
end
function c79029057.costfilter(c,ec,tp)
function c79029057.costfilter(c)
local lk=c:GetLink()
if not c:IsType(TYPE_LINK) or not c:IsSetCard(0xa900) then return false end
return Duel.IsExistingTarget(c79029057.desfilter,tp,LOCATION_ONFIELD,LOCATION_ONFIELD,lk,c,c,ec)
return c:IsFaceup() and c:IsSetCard(0xa900) and c:IsReleasable() and c:IsAbleToRemove() and c:IsType(TYPE_LINK) and Duel.IsExistingMatchingCard(Card.IsAbleToRemove,tp,0,LOCATION_EXTRA,1,nil)
end
function c79029057.target(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
local c=e:GetHandler()
if chkc then return chkc:IsOnField() and chkc~=c end
if chk==0 then
if e:GetLabel()==1 then
e:SetLabel(0)
return Duel.CheckReleaseGroup(tp,c79029057.costfilter,1,c,c,tp)
else return false end
end
e:SetLabel(0)
if chk==0 then return Duel.IsExistingMatchingCard(c79029057.costfilter,tp,LOCATION_MZONE,0,1,nil) end
end
function c79029057.operation(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_RELEASE)
local sg=Duel.SelectMatchingCard(tp,c79029057.costfilter,tp,LOCATION_MZONE,0,1,1,nil)
local lk=sg:GetFirst():GetLink()
Duel.Remove(sg,POS_FACEUP,REASON_COST)
......@@ -48,17 +37,15 @@ function c79029057.target(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
Duel.Remove(g,POS_FACEDOWN,REASON_EFFECT)
end
function c79029057.setfilter(c)
return c:IsSetCard(0xc90f) and c:IsSSetable()
return c:IsSetCard(0xc90e) and c:IsSSetable()
end
function c79029057.settg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(c79029057.setfilter,tp,LOCATION_DECK,0,1,nil) end
Duel.Remove(e:GetHandler(),POS_FACEUP,REASON_COST)
end
function c79029057.setop(e,tp,eg,ep,ev,re,r,rp)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SET)
local g=Duel.SelectMatchingCard(tp,c79029057.setfilter,tp,LOCATION_DECK,0,1,1,nil)
if g:GetCount()>0 then
Duel.SSet(tp,g:GetFirst())
Duel.ConfirmCards(1-tp,g)
end
end
\ No newline at end of file
end
--企鹅物流·行动-分头行动
function c79029057.initial_effect(c)
--Activate
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_ACTIVATE)
e1:SetCode(EVENT_FREE_CHAIN)
e1:SetCountLimit(1,79029057+EFFECT_COUNT_CODE_OATH)
e1:SetCost(c79029057.cost)
e1:SetTarget(c79029057.target)
c:RegisterEffect(e1)
--set
local e2=Effect.CreateEffect(c)
e2:SetCategory(CATEGORY_TODECK+CATEGORY_DRAW)
e2:SetDescription(aux.Stringid(73594093,1))
e2:SetType(EFFECT_TYPE_IGNITION)
e2:SetRange(LOCATION_GRAVE)
e2:SetTarget(c79029057.settg)
e2:SetOperation(c79029057.setop)
c:RegisterEffect(e2)
end
function c79029057.cost(e,tp,eg,ep,ev,re,r,rp,chk)
e:SetLabel(1)
return true
end
function c79029057.desfilter(c,tc,ec)
return c:IsFaceup()
end
function c79029057.costfilter(c,ec,tp)
local lk=c:GetLink()
if not c:IsType(TYPE_LINK) or not c:IsSetCard(0xa900) then return false end
return Duel.IsExistingTarget(c79029057.desfilter,tp,LOCATION_ONFIELD,LOCATION_ONFIELD,lk,c,c,ec)
end
function c79029057.target(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
local c=e:GetHandler()
if chkc then return chkc:IsOnField() and chkc~=c end
if chk==0 then
if e:GetLabel()==1 then
e:SetLabel(0)
return Duel.CheckReleaseGroup(tp,c79029057.costfilter,1,c,c,tp)
else return false end
end
e:SetLabel(0)
local sg=Duel.SelectMatchingCard(tp,c79029057.costfilter,tp,LOCATION_MZONE,0,1,1,nil)
local lk=sg:GetFirst():GetLink()
Duel.Remove(sg,POS_FACEUP,REASON_COST)
local x=Duel.GetMatchingGroup(aux.TRUE,tp,0,LOCATION_EXTRA,nil)
local g=x:RandomSelect(tp,lk)
Duel.Remove(g,POS_FACEDOWN,REASON_EFFECT)
end
function c79029057.setfilter(c)
return c:IsSetCard(0xc90e) and c:IsSSetable()
end
function c79029057.settg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(c79029057.setfilter,tp,LOCATION_DECK,0,1,nil) end
Duel.Remove(e:GetHandler(),POS_FACEUP,REASON_COST)
end
function c79029057.setop(e,tp,eg,ep,ev,re,r,rp)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SET)
local g=Duel.SelectMatchingCard(tp,c79029057.setfilter,tp,LOCATION_DECK,0,1,1,nil)
if g:GetCount()>0 then
Duel.SSet(tp,g:GetFirst())
Duel.ConfirmCards(1-tp,g)
end
end
\ No newline at end of file
......@@ -28,13 +28,13 @@ function c79029097.lzcon(e,tp,eg,ep,ev,re,r,rp)
end
function c79029097.lztg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.GetLocationCount(tp,LOCATION_MZONE)>0
and Duel.IsExistingMatchingCard(c79029097.filter,tp,LOCATION_GRAVE,0,1,nil,e,tp) end
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,1,tp,LOCATION_GRAVE)
and Duel.IsExistingMatchingCard(c79029097.filter,tp,LOCATION_GRAVE+LOCATION_HAND,0,1,nil,e,tp) end
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,1,tp,LOCATION_GRAVE+LOCATION_HAND)
end
function c79029097.lzop(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,c79029097.filter,tp,LOCATION_GRAVE,0,1,1,nil,e,tp)
local g=Duel.SelectMatchingCard(tp,c79029097.filter,tp,LOCATION_GRAVE+LOCATION_HAND,0,1,1,nil,e,tp)
local tc=g:GetFirst()
if tc then
Duel.SpecialSummon(tc,0,tp,tp,false,false,POS_FACEUP)
......
--罗德岛·先锋干员-极境
function c79029214.initial_effect(c)
aux.AddCodeList(c,0xa906)
c:SetUniqueOnField(1,0,79029214)
--Activate
local e1=Effect.CreateEffect(c)
e1:SetCategory(CATEGORY_SPECIAL_SUMMON)
......
......@@ -53,7 +53,7 @@ function c79029253.sscost(e,tp,eg,ep,ev,re,r,rp,chk)
Duel.SendtoGrave(e:GetHandler(),REASON_COST)
end
function c79029253.ssfil(c,e)
return c:IsSSetable() and (c:IsSetCard(0xb90d) or c:IsSetCard(0xc90e))
return c:IsSSetable(true) and (c:IsSetCard(0xb90d) or c:IsSetCard(0xc90e))
end
function c79029253.sstg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.GetMatchingGroupCount(c79029253.ssfil,tp,LOCATION_DECK,0,nil,e)>=1 end
......
......@@ -37,7 +37,7 @@ function c79029321.initial_effect(c)
c:RegisterEffect(e1)
end
function c79029321.filter(c,e,tp,re)
return c:GetPreviousControler()==tp and c:IsReason(REASON_COST) and c==re:GetHandler()
return c:GetPreviousControler()==tp and c:IsReason(REASON_COST) and c==re:GetHandler() and c:IsSetCard(0xa904)
end
function c79029321.thfil(c)
return c:IsSetCard(0xa904) and c:IsAbleToHand()
......
......@@ -87,7 +87,7 @@ function c79029326.filter(c,e,tp)
return c:IsType(TYPE_FUSION) and c:CheckFusionMaterial() and c:IsCanBeSpecialSummoned(e,SUMMON_TYPE_FUSION,tp,false,false) and Duel.GetLocationCountFromEx(tp,tp,nil,c)>0 and c:IsSetCard(0xa900)
end
function c79029326.thtg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return ux.MustMaterialCheck(nil,tp,EFFECT_MUST_BE_FMATERIAL)
if chk==0 then return aux.MustMaterialCheck(nil,tp,EFFECT_MUST_BE_FMATERIAL)
and Duel.IsExistingMatchingCard(c79029326.filter,tp,LOCATION_EXTRA,0,1,nil,e,tp)end
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,1,tp,LOCATION_EXTRA)
end
......
......@@ -57,7 +57,7 @@ end
function c79029327.condition(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
local rc=re:GetHandler()
return re:IsActiveType(TYPE_MONSTER) and rc~=c and not c:IsStatus(STATUS_BATTLE_DESTROYED) and Duel.IsChainNegatable(ev) and rc:GetControler()~=tp
return rc~=c and not c:IsStatus(STATUS_BATTLE_DESTROYED) and Duel.IsChainNegatable(ev) and rc:GetControler()~=tp
end
function c79029327.target(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return true end
......
......@@ -82,7 +82,7 @@ end
function c79029328.op(e,tp,eg,ep,ev,re,r,rp)
Debug.Message("可能有点热哦?")
Duel.Hint(HINT_SOUND,0,aux.Stringid(79029328,1))
local tc=Duel.SelectMatchingCard(tp,c79029328.fil,tp,LOCATION_DECK+LOCATION_GRAVE,0,1,99,nil,e,tp):GetFirst()
local tc=Duel.SelectMatchingCard(tp,c79029328.fil,tp,LOCATION_DECK+LOCATION_GRAVE,0,1,1,nil,e,tp):GetFirst()
Duel.Overlay(e:GetHandler(),tc)
local mg1=Duel.GetDecktopGroup(tp,tc:GetLink())
local mg2=Duel.GetDecktopGroup(1-tp,tc:GetLink())
......
......@@ -39,7 +39,7 @@ function c79029335.initial_effect(c)
end
end
function c79029335.filter(c,e,tp,re)
return c:GetPreviousControler()==tp and c:IsReason(REASON_COST) and c==re:GetHandler()
return c:GetPreviousControler()==tp and c:IsReason(REASON_COST) and c==re:GetHandler() and c:IsSetCard(0xa904)
end
function c79029335.con(e,tp,eg,ep,ev,re,r,rp)
return eg:IsExists(c79029335.filter,1,nil,e,tp,re)
......
......@@ -141,12 +141,14 @@ function c79029344.atkcon(e)
return Duel.GetCurrentPhase()==PHASE_DAMAGE_CAL
end
function c79029344.atktg(e,c)
if c:GetBattleTarget()==nil then return false end
return c:IsSetCard(0xa907) and c:GetBattleTarget():GetFlagEffect(79029344)~=0
end
function c79029344.atkval(e,c)
return c:GetAttack()*2
end
function c79029344.damtg(e,c)
if c:GetBattleTarget()==nil then return false end
return c:IsSetCard(0xa907) and c:GetBattleTarget():GetFlagEffect(79029344)~=0
end
function c79029344.efilter(e,te)
......@@ -161,6 +163,7 @@ function c79029344.val(e,c)
end
function c79029344.damcon(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
if c:GetBattleTarget()==nil then return false end
local a=Duel.GetAttacker()
local b=Duel.GetAttackTarget()
local g=Group.FromCards(a,b)
......
......@@ -70,6 +70,7 @@ function c79029347.operation(e,tp,eg,ep,ev,re,r,rp)
end
function c79029347.xcon(e,tp,eg,ep,ev,re,r,rp)
local tc=e:GetHandler():GetBattleTarget()
if tc==nil then return false end
local lv=e:GetHandler():GetMaterial():GetSum(Card.GetLevel)
return tc:IsLevelAbove(lv)
end
......@@ -137,7 +138,7 @@ function c79029347.RitualCheckAdditional(c,atk,greater_or_equal)
end
end
function c79029347.RitualUltimateFilter(c,filter,e,tp,m1,m2,attack_function,greater_or_equal,chk)
if bit.band(c:GetType(),0x81)~=0x81 or (filter and not filter(c,e,tp,chk)) or not c:IsCanBeSpecialSummoned(e,SUMMON_TYPE_RITUAL,tp,false,true) then return false end
if bit.band(c:GetType(),0x81)~=0x81 or (filter and not filter(c,e,tp,chk)) or not c:IsCanBeSpecialSummoned(e,SUMMON_TYPE_RITUAL,tp,false,true) or not c:IsCode(79029346) then return false end
local mg=m1:Filter(Card.IsCanBeRitualMaterial,c,c)
if m2 then
mg:Merge(m2)
......
--罗德岛·深夜故事会
function c79029348.initial_effect(c)
c:SetUniqueOnField(1,0,79029348)
--activate
local e0=Effect.CreateEffect(c)
e0:SetDescription(aux.Stringid(9212051,0))
e0:SetType(EFFECT_TYPE_ACTIVATE)
e0:SetCode(EVENT_FREE_CHAIN)
e0:SetHintTiming(0,TIMING_END_PHASE)
e0:SetTarget(c79029348.target)
c:RegisterEffect(e0)
--activate (return)
local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(9212051,1))
e1:SetType(EFFECT_TYPE_ACTIVATE)
e1:SetProperty(EFFECT_FLAG_CARD_TARGET)
e1:SetCode(EVENT_FREE_CHAIN)
e1:SetCountLimit(1,EFFECT_COUNT_CODE_SINGLE)
e1:SetHintTiming(0,TIMINGS_CHECK_MONSTER+TIMING_END_PHASE)
e1:SetCost(c79029348.slzcost)
e1:SetTarget(c79029348.slztg1)
e1:SetOperation(c79029348.slzop)
c:RegisterEffect(e1)
local e2=e1:Clone()
e2:SetType(EFFECT_TYPE_QUICK_O)
e2:SetRange(LOCATION_SZONE)
e2:SetTarget(c79029348.slztg2)
c:RegisterEffect(e2)
--todeck
local e2=Effect.CreateEffect(c)
e2:SetDescription(aux.Stringid(79029348,1))
e2:SetCategory(CATEGORY_TODECK+CATEGORY_RECOVER)
e2:SetProperty(EFFECT_FLAG_CARD_TARGET+EFFECT_FLAG_DAMAGE_STEP)
e2:SetHintTiming(0,TIMINGS_CHECK_MONSTER+TIMING_END_PHASE)
e2:SetType(EFFECT_TYPE_QUICK_O)
e2:SetCode(EVENT_FREE_CHAIN)
e2:SetRange(LOCATION_GRAVE)
e2:SetCountLimit(1,79029348)
e2:SetCost(aux.bfgcost)
e2:SetTarget(c79029348.rettg)
e2:SetOperation(c79029348.retop)
c:RegisterEffect(e2)
end
function c79029348.target(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return true end
local c=e:GetHandler()
--destroy
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
e1:SetProperty(EFFECT_FLAG_CANNOT_DISABLE)
e1:SetCode(EVENT_PHASE+PHASE_END)
e1:SetCountLimit(1)
e1:SetRange(LOCATION_SZONE)
e1:SetCondition(c79029348.descon)
e1:SetOperation(c79029348.desop)
e1:SetReset(RESET_EVENT+RESETS_STANDARD+RESET_PHASE+PHASE_END+RESET_SELF_TURN,3)
c:SetTurnCounter(0)
c:RegisterEffect(e1)
end
function c79029348.descon(e,tp,eg,ep,ev,re,r,rp)
return Duel.GetTurnPlayer()==tp
end
function c79029348.desop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
local ct=c:GetTurnCounter()
ct=ct+1
c:SetTurnCounter(ct)
if ct==3 then
Duel.Destroy(c,REASON_EFFECT)
end
end
function c79029348.cpfilter(c)
return (c:IsSetCard(0xb90d) or c:IsSetCard(0xc90e)) and c:IsAbleToGraveAsCost()
and c:CheckActivateEffect(true,true,false)~=nil
end
function c79029348.slzcost(e,tp,eg,ep,ev,re,r,rp,chk)
e:SetLabel(1)
if chk==0 then return e:GetHandler():GetFlagEffect(79029348)==0 end
e:GetHandler():RegisterFlagEffect(79029348,RESET_EVENT+RESETS_STANDARD+RESET_PHASE+PHASE_END,0,1)
end
function c79029348.slztg1(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then
if e:GetLabel()==0 then return false end
e:SetLabel(0)
return Duel.IsExistingMatchingCard(c79029348.cpfilter,tp,LOCATION_DECK,0,1,nil)
end
local c=e:GetHandler()
--destroy
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
e1:SetProperty(EFFECT_FLAG_CANNOT_DISABLE)
e1:SetCode(EVENT_PHASE+PHASE_END)
e1:SetCountLimit(1)
e1:SetRange(LOCATION_SZONE)
e1:SetCondition(c79029348.descon)
e1:SetOperation(c79029348.desop)
e1:SetReset(RESET_EVENT+RESETS_STANDARD+RESET_PHASE+PHASE_END+RESET_SELF_TURN,3)
c:SetTurnCounter(0)
c:RegisterEffect(e1)
e:SetLabel(0)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TOGRAVE)
local g=Duel.SelectMatchingCard(tp,c79029348.cpfilter,tp,LOCATION_DECK,0,1,1,nil)
local te,ceg,cep,cev,cre,cr,crp=g:GetFirst():CheckActivateEffect(false,true,true)
Duel.SendtoGrave(g,REASON_COST)
e:SetProperty(te:GetProperty())
local tg=te:GetTarget()
if tg then tg(e,tp,ceg,cep,cev,cre,cr,crp,1) end
te:SetLabelObject(e:GetLabelObject())
e:SetLabelObject(te)
Duel.ClearOperationInfo(0)
end
function c79029348.slztg2(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then
if e:GetLabel()==0 then return false end
e:SetLabel(0)
return Duel.IsExistingMatchingCard(c79029348.cpfilter,tp,LOCATION_DECK,0,1,nil)
end
e:SetLabel(0)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TOGRAVE)
local g=Duel.SelectMatchingCard(tp,c79029348.cpfilter,tp,LOCATION_DECK,0,1,1,nil)
local te,ceg,cep,cev,cre,cr,crp=g:GetFirst():CheckActivateEffect(false,true,true)
Duel.SendtoGrave(g,REASON_COST)
e:SetProperty(te:GetProperty())
local tg=te:GetTarget()
if tg then tg(e,tp,ceg,cep,cev,cre,cr,crp,1) end
te:SetLabelObject(e:GetLabelObject())
e:SetLabelObject(te)
Duel.ClearOperationInfo(0)
end
function c79029348.slzop(e,tp,eg,ep,ev,re,r,rp)
local te=e:GetLabelObject()
if te then
e:SetLabelObject(te:GetLabelObject())
local op=te:GetOperation()
if op then op(e,tp,eg,ep,ev,re,r,rp) end
end
end
function c79029348.filter(c)
return c:IsSetCard(0xa900) and c:IsType(TYPE_MONSTER) and c:IsAbleToDeck()
end
function c79029348.rettg(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
if chkc then return chkc:IsLocation(LOCATION_GRAVE) and chkc:IsControler(tp) and c79029348.filter(chkc) end
if chk==0 then return Duel.IsExistingTarget(c79029348.filter,tp,LOCATION_GRAVE,0,1,e:GetHandler()) end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TODECK)
local g=Duel.SelectTarget(tp,c79029348.filter,tp,LOCATION_GRAVE,0,1,99,e:GetHandler())
Duel.SetOperationInfo(0,CATEGORY_TODECK,g,g:GetCount(),0,0)
Duel.SetOperationInfo(0,CATEGORY_RECOVER,nil,0,tp,g:GetCount()*300)
end
function c79029348.retop(e,tp,eg,ep,ev,re,r,rp)
local g=Duel.GetChainInfo(0,CHAININFO_TARGET_CARDS):Filter(Card.IsRelateToEffect,nil,e)
local ct=Duel.SendtoDeck(g,nil,2,REASON_EFFECT)
if ct>0 then
Duel.Recover(tp,ct*300,REASON_EFFECT)
end
end
--罗德岛·近卫干员-杰克
function c79029349.initial_effect(c)
--SpecialSummon
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_FIELD)
e1:SetCode(EFFECT_SPSUMMON_PROC)
e1:SetProperty(EFFECT_FLAG_UNCOPYABLE)
e1:SetRange(LOCATION_DECK)
e1:SetCondition(c79029349.spcon)
e1:SetTarget(c79029349.sptg)
e1:SetCountLimit(1,79029349)
e1:SetOperation(c79029349.spop)
c:RegisterEffect(e1)
--limit
local e2=Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_SINGLE)
e2:SetCode(EFFECT_CANNOT_BE_XYZ_MATERIAL)
e2:SetProperty(EFFECT_FLAG_CANNOT_DISABLE+EFFECT_FLAG_UNCOPYABLE)
e2:SetValue(c79029349.limit)
c:RegisterEffect(e2)
--limit
local e2=Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_SINGLE)
e2:SetCode(EFFECT_CANNOT_BE_SYNCHRO_MATERIAL)
e2:SetProperty(EFFECT_FLAG_CANNOT_DISABLE+EFFECT_FLAG_UNCOPYABLE)
e2:SetValue(c79029349.limit)
c:RegisterEffect(e2)
--limit
local e2=Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_SINGLE)
e2:SetCode(EFFECT_CANNOT_BE_FUSION_MATERIAL)
e2:SetProperty(EFFECT_FLAG_CANNOT_DISABLE+EFFECT_FLAG_UNCOPYABLE)
e2:SetValue(c79029349.limit)
c:RegisterEffect(e2)
--limit
local e2=Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_SINGLE)
e2:SetCode(EFFECT_CANNOT_BE_LINK_MATERIAL)
e2:SetProperty(EFFECT_FLAG_CANNOT_DISABLE+EFFECT_FLAG_UNCOPYABLE)
e2:SetValue(c79029349.limit)
c:RegisterEffect(e2)
--effect gain
local e3=Effect.CreateEffect(c)
e3:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_CONTINUOUS)
e3:SetCode(EVENT_BE_MATERIAL)
e3:SetCondition(c79029349.efcon)
e3:SetOperation(c79029349.efop)
c:RegisterEffect(e3)
end
function c79029349.limit(e,c)
if not c then return false end
return not c:IsSetCard(0xa900)
end
function c79029349.spcon(e,c)
if c==nil then return true end
local tp=c:GetControler()
return Duel.GetMZoneCount(tp,g)>0 and Duel.IsExistingMatchingCard(aux.TRUE,tp,LOCATION_HAND,0,1,nil)
end
function c79029349.sptg(e,tp,eg,ep,ev,re,r,rp,chk,c)
local g=Duel.GetFieldGroup(tp,LOCATION_HAND,0)
if g then
g:KeepAlive()
e:SetLabelObject(g)
return true
else return false end
end
function c79029349.spop(e,tp,eg,ep,ev,re,r,rp,c)
local g=e:GetLabelObject()
Debug.Message("我来啦!")
Duel.Hint(HINT_SOUND,0,aux.Stringid(79029349,1))
Duel.SendtoGrave(g,REASON_COST+REASON_DISCARD)
g:DeleteGroup()
end
function c79029349.efcon(e,tp,eg,ep,ev,re,r,rp)
local ec=e:GetHandler():GetReasonCard()
return ec:IsSetCard(0xa900)
end
function c79029349.efop(e,tp,eg,ep,ev,re,r,rp)
Debug.Message("热身完毕!")
Duel.Hint(HINT_SOUND,0,aux.Stringid(79029349,2))
Duel.Hint(HINT_CARD,0,79029349)
local c=e:GetHandler()
local rc=c:GetReasonCard()
--
local e2=Effect.CreateEffect(rc)
e2:SetDescription(aux.Stringid(79029349,0))
e2:SetCategory(CATEGORY_NEGATE)
e2:SetType(EFFECT_TYPE_CONTINUOUS+EFFECT_TYPE_FIELD)
e2:SetCode(EVENT_CHAINING)
e2:SetProperty(EFFECT_FLAG_DAMAGE_STEP+EFFECT_FLAG_DAMAGE_CAL+EFFECT_FLAG_DELAY)
e2:SetRange(LOCATION_MZONE)
e2:SetCondition(c79029349.negcon)
e2:SetOperation(c79029349.negop)
e2:SetCountLimit(1)
e2:SetReset(RESET_EVENT+RESETS_STANDARD)
rc:RegisterEffect(e2)
rc:RegisterFlagEffect(79029349,RESET_EVENT+RESETS_STANDARD,EFFECT_FLAG_CLIENT_HINT,1,0,aux.Stringid(79029349,0))
end
function c79029349.negcon(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
local g=Duel.GetChainInfo(ev,CHAININFO_TARGET_CARDS)
if not g or not g:IsContains(c) then return false end
return Duel.IsExistingMatchingCard(Card.IsDiscardable,tp,LOCATION_HAND,0,1,e:GetHandler())
end
function c79029349.negop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
if Duel.SelectEffectYesNo(tp,e:GetHandler()) and Duel.DiscardHand(tp,Card.IsDiscardable,1,1,REASON_COST+REASON_DISCARD) then
Debug.Message("可不要小看我啦!")
Duel.Hint(HINT_SOUND,0,aux.Stringid(79029349,3))
Duel.NegateActivation(ev)
end
end
--罗德岛·医疗干员-絮雨
function c79029350.initial_effect(c)
--pendulum summon
aux.EnablePendulumAttribute(c)
--splimit
local e2=Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_FIELD)
e2:SetRange(LOCATION_PZONE)
e2:SetCode(EFFECT_CANNOT_SPECIAL_SUMMON)
e2:SetProperty(EFFECT_FLAG_PLAYER_TARGET+EFFECT_FLAG_CANNOT_DISABLE+EFFECT_FLAG_CANNOT_NEGATE)
e2:SetTargetRange(1,0)
e2:SetTarget(c79029350.splimit1)
c:RegisterEffect(e2)
--
local e1=Effect.CreateEffect(c)
e1:SetCategory(CATEGORY_REMOVE)
e1:SetType(EFFECT_TYPE_QUICK_O)
e1:SetCode(EVENT_FREE_CHAIN)
e1:SetHintTiming(0,TIMINGS_CHECK_MONSTER+TIMING_END_PHASE)
e1:SetRange(LOCATION_PZONE)
e1:SetCountLimit(1,79029350)
e1:SetTarget(c79029350.target)
e1:SetOperation(c79029350.activate)
c:RegisterEffect(e1)
--search
local e3=Effect.CreateEffect(c)
e3:SetCategory(CATEGORY_TOHAND+CATEGORY_SEARCH)
e3:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_O)
e3:SetCode(EVENT_SPSUMMON_SUCCESS)
e3:SetProperty(EFFECT_FLAG_DELAY)
e3:SetCountLimit(1,19029350)
e3:SetCost(c79029350.thcost)
e3:SetCondition(c79029350.thcon)
e3:SetTarget(c79029350.thtg)
e3:SetOperation(c79029350.thop)
c:RegisterEffect(e3)
--sp
local e2=Effect.CreateEffect(c)
e2:SetCategory(CATEGORY_SPECIAL_SUMMON)
e2:SetType(EFFECT_TYPE_IGNITION)
e2:SetCode(EVENT_FREE_CHAIN)
e2:SetRange(LOCATION_MZONE)
e2:SetCountLimit(1,09029350)
e2:SetCost(c79029350.spcost)
e2:SetTarget(c79029350.sptg)
e2:SetOperation(c79029350.spop)
c:RegisterEffect(e2)
--negate
local e2=Effect.CreateEffect(c)
e2:SetDescription(aux.Stringid(79029350,1))
e2:SetCategory(CATEGORY_NEGATE)
e2:SetType(EFFECT_TYPE_QUICK_O)
e2:SetCode(EVENT_CHAINING)
e2:SetProperty(EFFECT_FLAG_DAMAGE_STEP+EFFECT_FLAG_DAMAGE_CAL)
e2:SetRange(LOCATION_MZONE+LOCATION_HAND)
e2:SetCountLimit(1,39029350)
e2:SetCost(c79029350.zdiscost)
e2:SetTarget(c79029350.zdistg)
e2:SetOperation(c79029350.zdisop)
c:RegisterEffect(e2)
end
function c79029350.splimit1(e,c,tp,sumtp,sumpos)
return not c:IsSetCard(0xa900) and bit.band(sumtp,SUMMON_TYPE_PENDULUM)==SUMMON_TYPE_PENDULUM
end
function c79029350.filter(c)
local lv=c:GetLevel()
return c:IsType(TYPE_MONSTER) and c:IsAbleToRemove() and Duel.IsExistingTarget(c79029350.zfilter,tp,LOCATION_GRAVE,0,1,nil,lv)
end
function c79029350.zfilter(c,lv)
return c:IsType(TYPE_MONSTER) and c:IsAbleToRemove() and c:GetLevel()==lv
end
function c79029350.target(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
if chk==0 then return Duel.IsExistingTarget(c79029350.filter,tp,0,LOCATION_GRAVE,1,nil) end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_REMOVE)
local g=Duel.SelectTarget(tp,c79029350.filter,tp,0,LOCATION_GRAVE,1,1,nil)
local lv=g:GetFirst():GetLevel()
local xg=Duel.SelectTarget(tp,c79029350.zfilter,tp,LOCATION_GRAVE,0,1,1,nil,lv)
g:Merge(xg)
Duel.SetOperationInfo(0,CATEGORY_REMOVE,g,1,1-tp,LOCATION_GRAVE)
end
function c79029350.activate(e,tp,eg,ep,ev,re,r,rp)
local g=Duel.GetChainInfo(0,CHAININFO_TARGET_CARDS)
local tc=g:Filter(Card.IsControler,nil,1-tp):GetFirst()
if Duel.Remove(g,POS_FACEUP,REASON_EFFECT)~=0 and tc:IsLocation(LOCATION_REMOVED) then
Debug.Message("我熟悉这死亡的气息。")
Duel.Hint(HINT_SOUND,0,aux.Stringid(79029350,3))
local c=e:GetHandler()
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_FIELD)
e1:SetCode(EFFECT_DISABLE)
e1:SetTargetRange(LOCATION_MZONE,LOCATION_MZONE)
e1:SetTarget(c79029350.distg)
e1:SetLabelObject(tc)
e1:SetReset(RESET_PHASE+PHASE_END,2)
Duel.RegisterEffect(e1,tp)
local e2=Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
e2:SetCode(EVENT_CHAIN_SOLVING)
e2:SetCondition(c79029350.discon)
e2:SetOperation(c79029350.disop)
e2:SetLabelObject(tc)
e2:SetReset(RESET_PHASE+PHASE_END,2)
Duel.RegisterEffect(e2,tp)
end
end
function c79029350.distg(e,c)
local tc=e:GetLabelObject()
return c:IsOriginalCodeRule(tc:GetOriginalCodeRule())
end
function c79029350.discon(e,tp,eg,ep,ev,re,r,rp)
local tc=e:GetLabelObject()
return re:IsActiveType(TYPE_MONSTER) and re:GetHandler():IsOriginalCodeRule(tc:GetOriginalCodeRule())
end
function c79029350.disop(e,tp,eg,ep,ev,re,r,rp)
Duel.NegateEffect(ev)
end
function c79029350.thcon(e,tp,eg,ep,ev,re,r,rp)
return e:GetHandler():IsSummonType(SUMMON_TYPE_PENDULUM)
end
function c79029350.thcost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(Card.IsDiscardable,tp,LOCATION_HAND,0,1,e:GetHandler()) end
Duel.DiscardHand(tp,Card.IsDiscardable,1,1,REASON_COST+REASON_DISCARD)
end
function c79029350.thfilter(c)
return c:IsSetCard(0xa900) and c:IsAbleToHand() and c:IsType(TYPE_MONSTER)
end
function c79029350.thtg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(c79029350.thfilter,tp,LOCATION_DECK+LOCATION_GRAVE,0,1,nil) end
Duel.SetOperationInfo(0,CATEGORY_TOHAND,nil,1,tp,LOCATION_DECK+LOCATION_GRAVE)
end
function c79029350.thop(e,tp,eg,ep,ev,re,r,rp)
Debug.Message("请跟紧我,不要离得太远。")
Duel.Hint(HINT_SOUND,0,aux.Stringid(79029350,0))
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_ATOHAND)
local g=Duel.SelectMatchingCard(tp,c79029350.thfilter,tp,LOCATION_DECK+LOCATION_GRAVE,0,1,2,nil)
if g:GetCount()>0 then
Duel.SendtoHand(g,nil,REASON_EFFECT)
Duel.ConfirmCards(1-tp,g)
end
end
function c79029350.spfilter(c,e,tp)
local lv=c:GetLevel()
return c:IsSetCard(0xa900) and c:IsCanBeSpecialSummoned(e,0,tp,false,false) and c:IsLevelAbove(1) and Duel.IsExistingMatchingCard(c79029350.ccfilter,tp,LOCATION_EXTRA,0,lv,c)
end
function c79029350.ccfilter(c,lv)
return c:IsAbleToGraveAsCost() and c:IsFaceup() and c:IsSetCard(0xa900)
end
function c79029350.spcost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(c79029350.spfilter,tp,LOCATION_EXTRA,0,1,nil,e,tp) end
local tc=Duel.SelectMatchingCard(tp,c79029350.spfilter,tp,LOCATION_EXTRA,0,1,1,nil,e,tp):GetFirst()
local lv=tc:GetLevel()
local g=Duel.SelectMatchingCard(tp,c79029350.ccfilter,tp,LOCATION_EXTRA,0,lv,lv,nil,e,tp)
Duel.SendtoGrave(g,REASON_COST)
e:SetLabelObject(tc)
end
function c79029350.sptg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.GetLocationCount(tp,LOCATION_MZONE)>0 end
end
function c79029350.spop(e,tp,eg,ep,ev,re,r,rp)
local tc=e:GetLabelObject()
if Duel.GetLocationCount(tp,LOCATION_MZONE)<=0 then return false end
Debug.Message("不要害怕。")
Duel.Hint(HINT_SOUND,0,aux.Stringid(79029350,1))
Duel.SpecialSummon(tc,0,tp,tp,false,false,POS_FACEUP)
end
function c79029350.zdiscost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return e:GetHandler():IsAbleToGraveAsCost() end
Duel.SendtoGrave(e:GetHandler(),REASON_COST)
end
function c79029350.filterz(c)
return c:IsAbleToDeck()
end
function c79029350.zdistg(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
if chk==0 then return Duel.IsExistingMatchingCard(c79029350.filterz,tp,0,LOCATION_GRAVE+LOCATION_REMOVED,1,nil) end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TODECK)
local g=Duel.SelectMatchingCard(tp,c79029350.filterz,tp,0,LOCATION_GRAVE+LOCATION_REMOVED,1,1,nil)
Duel.SetTargetCard(g)
Duel.SetOperationInfo(0,CATEGORY_TODECK,g,1,1-tp,LOCATION_GRAVE+LOCATION_REMOVED)
end
function c79029350.zdisop(e,tp,eg,ep,ev,re,r,rp)
local tc=Duel.GetFirstTarget()
if Duel.SendtoDeck(tc,nil,2,REASON_EFFECT)~=0 and tc:IsLocation(LOCATION_DECK) then
Debug.Message("睡吧。愿所有人都能在雨声里做个好梦。")
Duel.Hint(HINT_SOUND,0,aux.Stringid(79029350,2))
local c=e:GetHandler()
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_FIELD)
e1:SetCode(EFFECT_DISABLE)
e1:SetTargetRange(LOCATION_MZONE,LOCATION_MZONE)
e1:SetTarget(c79029350.distgx)
e1:SetLabelObject(tc)
e1:SetReset(RESET_EVENT+RESET_CHAIN)
Duel.RegisterEffect(e1,tp)
local e2=Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
e2:SetCode(EVENT_CHAIN_SOLVING)
e2:SetCondition(c79029350.disconx)
e2:SetOperation(c79029350.disopx)
e2:SetLabelObject(tc)
e2:SetReset(RESET_EVENT+RESET_CHAIN)
Duel.RegisterEffect(e2,tp)
end
end
function c79029350.distgx(e,c)
local tc=e:GetLabelObject()
return c:IsOriginalCodeRule(tc:GetOriginalCodeRule())
end
function c79029350.disconx(e,tp,eg,ep,ev,re,r,rp)
local tc=e:GetLabelObject()
return re:GetHandler():IsOriginalCodeRule(tc:GetOriginalCodeRule())
end
function c79029350.disopx(e,tp,eg,ep,ev,re,r,rp)
Duel.NegateEffect(ev)
end
--维多利亚·先锋干员-苇草·生灵火花
function c79029351.initial_effect(c)
--pendulum summon
aux.EnablePendulumAttribute(c)
c:EnableReviveLimit()
--code
local e2=Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_SINGLE)
e2:SetProperty(EFFECT_FLAG_SINGLE_RANGE)
e2:SetCode(EFFECT_CHANGE_CODE)
e2:SetRange(LOCATION_MZONE+LOCATION_GRAVE+LOCATION_HAND)
e2:SetValue(79029014)
c:RegisterEffect(e2)
--to hand
local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(79029351,1))
e1:SetCategory(CATEGORY_SEARCH+CATEGORY_TOHAND)
e1:SetType(EFFECT_TYPE_IGNITION)
e1:SetCode(EVENT_FREE_CHAIN)
e1:SetRange(LOCATION_HAND)
e1:SetCountLimit(1,79029351)
e1:SetCost(c79029351.thcost)
e1:SetTarget(c79029351.thtg)
e1:SetOperation(c79029351.thop)
c:RegisterEffect(e1)
--sp suc
local e3=Effect.CreateEffect(c)
e3:SetDescription(aux.Stringid(79029351,2))
e3:SetCategory(CATEGORY_RECOVER+CATEGORY_TOGRAVE)
e3:SetType(EFFECT_TYPE_IGNITION)
e3:SetCode(EVENT_FREE_CHAIN)
e3:SetRange(LOCATION_MZONE)
e3:SetCountLimit(1,09029014)
e3:SetCost(c79029351.spcost)
e3:SetTarget(c79029351.sptg)
e3:SetOperation(c79029351.spop)
c:RegisterEffect(e3)
--to hand
local e4=Effect.CreateEffect(c)
e4:SetCategory(CATEGORY_TOHAND)
e4:SetType(EFFECT_TYPE_IGNITION)
e4:SetRange(LOCATION_EXTRA)
e4:SetCountLimit(1,19029351)
e4:SetCost(c79029351.thcost1)
e4:SetOperation(c79029351.thop1)
c:RegisterEffect(e4)
--Disable
local e2=Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_QUICK_O)
e2:SetCode(EVENT_FREE_CHAIN)
e2:SetRange(LOCATION_PZONE)
e2:SetCountLimit(1,29029351)
e2:SetHintTiming(0,TIMINGS_CHECK_MONSTER+TIMING_END_PHASE)
e2:SetCost(c79029351.poscost)
e2:SetTarget(c79029351.postg)
e2:SetOperation(c79029351.posop)
c:RegisterEffect(e2)
--disable
local e2=Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_FIELD)
e2:SetCode(EFFECT_DISABLE)
e2:SetRange(LOCATION_PZONE)
e2:SetTargetRange(0,LOCATION_MZONE)
e2:SetTarget(c79029351.distg)
c:RegisterEffect(e2)
end
function c79029351.atkfil(c)
return c:IsType(TYPE_RITUAL)
end
function c79029351.distg(e,c)
local tp=e:GetHandler():GetControler()
local atk=Duel.GetMatchingGroup(c79029351.atkfil,tp,LOCATION_MZONE,0,nil):GetSum(Card.GetAttack)
return c:IsAttackBelow(atk)
end
function c79029351.thcost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return not e:GetHandler():IsPublic() end
Duel.ConfirmCards(1-tp,e:GetHandler())
end
function c79029351.thfil(c)
return c:IsAbleToHand() and c:IsSetCard(0xb90d) and c:IsType(TYPE_RITUAL) and c:IsType(TYPE_SPELL)
end
function c79029351.thtg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(c79029351.thfil,tp,LOCATION_DECK,0,1,nil) end
local g=Duel.SelectMatchingCard(tp,c79029351.thfil,tp,LOCATION_DECK,0,1,1,nil)
Duel.SetTargetCard(g)
Duel.SetOperationInfo(0,CATEGORY_TOHAND,g,1,tp,LOCATION_DECK)
end
function c79029351.thop(e,tp,eg,ep,ev,re,r,rp)
Debug.Message("不会有其他人看到我在这吧......?")
Duel.Hint(HINT_SOUND,0,aux.Stringid(79029351,4))
local tc=Duel.GetFirstTarget()
if Duel.SendtoHand(tc,tp,REASON_EFFECT)~=0 and Duel.ConfirmCards(tp,tc)~=0 then
Duel.BreakEffect()
if Duel.GetLocationCount(tp,LOCATION_MZONE)>0 and Duel.IsPlayerCanSpecialSummonMonster(tp,79029352,0,0x4011,0,0,10,RACE_CYBERSE,ATTRIBUTE_FIRE) and Duel.IsExistingMatchingCard(Card.IsDiscardable,tp,LOCATION_HAND,0,2,nil) and Duel.SelectYesNo(tp,aux.Stringid(79029351,0)) then
Duel.DiscardHand(tp,Card.IsDiscardable,2,2,REASON_EFFECT,nil)
local token=Duel.CreateToken(tp,79029352)
Duel.SpecialSummon(token,0,tp,tp,false,false,POS_FACEUP)
Debug.Message("姐姐......")
Duel.Hint(HINT_SOUND,0,aux.Stringid(79029351,5))
end
end
end
function c79029351.desfilter(c)
return not c:IsLocation(LOCATION_SZONE) or c:GetSequence()<5
end
function c79029351.seqfilter(c,seq)
local loc=LOCATION_MZONE
if seq>8 then
loc=LOCATION_SZONE
seq=seq-8
end
if seq>=5 and seq<=7 then return false end
local cseq=c:GetSequence()
local cloc=c:GetLocation()
if cloc==LOCATION_SZONE and cseq>=5 then return false end
if cloc==LOCATION_MZONE and cseq>=5 and loc==LOCATION_MZONE
and (seq==1 and cseq==5 or seq==3 and cseq==6) then return true end
return cseq==seq or cloc==loc and math.abs(cseq-seq)==1
end
function c79029351.spcost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return true end
Duel.PayLPCost(tp,Duel.GetLP(tp)/2)
end
function c79029351.sptg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(c79029351.desfilter,tp,0,LOCATION_ONFIELD,1,nil) end
local filter=0
for i=0,16 do
if not Duel.IsExistingMatchingCard(c79029351.seqfilter,tp,0,LOCATION_ONFIELD,1,nil,i) then
filter=filter|1<<(i+16)
end
end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TARGET)
local flag=Duel.SelectField(tp,1,0,LOCATION_ONFIELD,filter)
local seq=math.log(flag>>16,2)
e:SetLabel(seq)
local g=Duel.GetMatchingGroup(c79029351.seqfilter,tp,0,LOCATION_ONFIELD,nil,seq)
Duel.SetOperationInfo(0,CATEGORY_TOGRAVE,g,1,0,0)
Duel.SetOperationInfo(0,CATEGORY_RECOVER,nil,0,tp,nil)
end
function c79029351.spop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
if not c:IsRelateToEffect(e) then return end
local seq=e:GetLabel()
local ct=Duel.GetMatchingGroupCount(c79029351.seqfilter,tp,0,LOCATION_ONFIELD,nil,seq)
local lg=Duel.GetMatchingGroup(Card.IsSetCard,tp,LOCATION_ONFIELD,0,nil,0xa900)
local xct=lg:GetClassCount(Card.GetCode)
if ct<=0 or xct<=0 then return end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TOGRAVE)
local g=Duel.SelectMatchingCard(tp,c79029351.seqfilter,tp,0,LOCATION_ONFIELD,xct,xct,nil,seq)
Debug.Message("只会剩下灰烬......")
Duel.Hint(HINT_SOUND,0,aux.Stringid(79029351,3))
Duel.HintSelection(g)
if Duel.SendtoGrave(g,REASON_EFFECT) then
Duel.Recover(tp,g:GetCount()*1000,REASON_EFFECT)
end
end
function c79029351.xccfil(c)
return c:IsAbleToHandAsCost() and c:IsSetCard(0xa900)
end
function c79029351.thcost1(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(c79029351.xccfil,tp,LOCATION_PZONE,0,1,nil) and e:GetHandler():IsAbleToHand() end
local g=Duel.SelectMatchingCard(tp,c79029351.xccfil,tp,LOCATION_PZONE,0,1,1,nil)
Duel.SendtoHand(g,nil,REASON_COST)
end
function c79029351.thop1(e,tp,eg,ep,ev,re,r,rp)
Debug.Message("就这样,我们去收割......")
Duel.Hint(HINT_SOUND,0,aux.Stringid(79029351,6))
Duel.SendtoHand(e:GetHandler(),tp,REASON_EFFECT)
end
function c79029351.sefil(c)
return c:IsSetCard(0xa900) and c:IsType(TYPE_MONSTER) and c:IsType(TYPE_RITUAL) and not c:IsPublic()
end
function c79029351.poscost(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
if chk==0 then return Duel.IsExistingMatchingCard(c79029351.sefil,tp,LOCATION_HAND,0,1,nil) end
local g=Duel.SelectMatchingCard(tp,c79029351.sefil,tp,LOCATION_HAND,0,1,1,nil)
Duel.ConfirmCards(1-tp,g)
end
function c79029351.postg(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
if chk==0 then return Duel.IsExistingMatchingCard(aux.TRUE,tp,0,LOCATION_ONFIELD,1,nil) end
local g=Duel.SelectMatchingCard(tp,aux.TRUE,tp,0,LOCATION_ONFIELD,1,1,nil)
Duel.SetTargetCard(g)
Duel.SetOperationInfo(0,CATEGORY_NEGATE,g,g:GetCount(),0,0)
end
function c79029351.posop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
local tc=Duel.GetFirstTarget()
if tc:IsRelateToEffect(e) then
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetCode(EFFECT_DISABLE)
e1:SetReset(RESET_EVENT+RESETS_STANDARD+RESET_PHASE+PHASE_END)
tc:RegisterEffect(e1)
local e2=Effect.CreateEffect(c)
e2:SetCode(EFFECT_DISABLE_EFFECT)
tc:RegisterEffect(e2)
Debug.Message("我......就是深池!")
Duel.Hint(HINT_SOUND,0,aux.Stringid(79029351,5))
end
end
--卡西米尔·重装干员-临光·耀骑士
function c79029353.initial_effect(c)
--synchro summon
aux.AddSynchroProcedure(c,aux.FilterBoolFunction(Card.IsSetCard,0xa900),aux.NonTuner(nil),1)
c:EnableReviveLimit()
--extra matrial
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_O)
e1:SetProperty(EFFECT_FLAG_DELAY)
e1:SetCode(EVENT_SPSUMMON_SUCCESS)
e1:SetTarget(c79029353.emtg)
e1:SetOperation(c79029353.emop)
c:RegisterEffect(e1)
--extra material
local e0=Effect.CreateEffect(c)
e0:SetType(EFFECT_TYPE_FIELD)
e0:SetProperty(EFFECT_FLAG_UNCOPYABLE+EFFECT_FLAG_IGNORE_IMMUNE)
e0:SetCode(EFFECT_EXTRA_LINK_MATERIAL)
e0:SetRange(LOCATION_EXTRA)
e0:SetTargetRange(0,LOCATION_MZONE)
e0:SetValue(c79029353.matval)
local e3=Effect.CreateEffect(c)
e3:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_GRANT)
e3:SetTargetRange(LOCATION_EXTRA,0)
e3:SetRange(LOCATION_MZONE+LOCATION_GRAVE+LOCATION_EXTRA+LOCATION_REMOVED)
e3:SetTarget(c79029353.mattg)
e3:SetLabelObject(e0)
c:RegisterEffect(e3)
--atk/def
local e3=Effect.CreateEffect(c)
e3:SetType(EFFECT_TYPE_SINGLE)
e3:SetProperty(EFFECT_FLAG_SINGLE_RANGE)
e3:SetRange(LOCATION_MZONE)
e3:SetCode(EFFECT_UPDATE_ATTACK)
e3:SetValue(1200)
e3:SetCondition(c79029353.effcon)
e3:SetLabel(1)
c:RegisterEffect(e3)
--destroy
local e2=Effect.CreateEffect(c)
e2:SetCategory(CATEGORY_DESTROY+CATEGORY_DAMAGE)
e2:SetType(EFFECT_TYPE_IGNITION)
e2:SetRange(LOCATION_MZONE)
e2:SetCountLimit(1)
e2:SetLabel(2)
e2:SetCondition(c79029353.effcon)
e2:SetTarget(c79029353.destg)
e2:SetOperation(c79029353.desop)
c:RegisterEffect(e2)
--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:SetValue(c79029353.efilter)
e5:SetCondition(c79029353.effcon)
e5:SetLabel(3)
c:RegisterEffect(e5)
--disable spsummon
local e6=Effect.CreateEffect(c)
e6:SetType(EFFECT_TYPE_FIELD)
e6:SetRange(LOCATION_MZONE)
e6:SetCode(EFFECT_CANNOT_SPECIAL_SUMMON)
e6:SetProperty(EFFECT_FLAG_PLAYER_TARGET)
e6:SetTargetRange(0,1)
e6:SetCondition(c79029353.effcon)
e6:SetLabel(4)
c:RegisterEffect(e6)
--direct attack
local e6=Effect.CreateEffect(c)
e6:SetType(EFFECT_TYPE_SINGLE)
e6:SetCode(EFFECT_DIRECT_ATTACK)
e6:SetCondition(c79029353.effcon)
e6:SetLabel(5)
c:RegisterEffect(e6)
--match kill
local e4=Effect.CreateEffect(c)
e4:SetType(EFFECT_TYPE_SINGLE)
e4:SetProperty(EFFECT_FLAG_CANNOT_DISABLE+EFFECT_FLAG_UNCOPYABLE)
e4:SetCode(EFFECT_MATCH_KILL)
e4:SetCondition(c79029353.effcon)
e4:SetLabel(6)
c:RegisterEffect(e4)
end
function c79029353.mattg(e,c)
return c:IsSetCard(0xa900) and c:IsType(TYPE_LINK)
end
function c79029353.mfil(c)
return c:GetFlagEffect(79029353)~=0
end
function c79029353.matval(e,lc,mg,c,tp)
if e:GetHandler()~=lc then return false,nil end
return true,not mg or not mg:IsExists(c79029353.mfil,mg:GetCount(),nil)
end
function c79029353.efffil(c,e)
return c:GetLinkedGroup():IsContains(e:GetHandler()) and c:IsSetCard(0xa900)
end
function c79029353.effcon(e,tp,eg,ep,ev,re,r,rp)
return Duel.GetMatchingGroupCount(c79029353.efffil,tp,LOCATION_ONFIELD,LOCATION_ONFIELD,nil,e)>=e:GetLabel()
end
function c79029353.efilter(e,te)
return te:GetOwner()~=e:GetOwner()
end
function c79029353.emtg(e,tp,eg,ep,ev,re,r,rp,chk)
local x=e:GetHandler():GetMaterialCount()
if chk==0 then return e:GetHandler():IsSummonType(SUMMON_TYPE_SYNCHRO) and x~=0 and Duel.IsExistingMatchingCard(aux.TRUE,tp,0,LOCATION_MZONE,1,nil) end
local g=Duel.SelectMatchingCard(tp,aux.TRUE,tp,0,LOCATION_MZONE,1,x,nil)
Duel.SetTargetCard(g)
end
function c79029353.emop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
local g=Duel.GetChainInfo(0,CHAININFO_TARGET_CARDS)
local tc=g:GetFirst()
while tc do
tc:RegisterFlagEffect(79029353,RESET_EVENT+RESETS_STANDARD,EFFECT_FLAG_CLIENT_HINT,1,0,aux.Stringid(79029353,0))
tc=g:GetNext()
end
end
function c79029353.filter(c,atk)
return c:IsFaceup() and c:IsAttackBelow(atk)
end
function c79029353.destg(e,tp,eg,ep,ev,re,r,rp,chk)
local c=e:GetHandler()
if chk==0 then return Duel.IsExistingMatchingCard(c79029353.filter,tp,0,LOCATION_MZONE,1,c,c:GetAttack()) end
local g=Duel.GetMatchingGroup(c79029353.filter,tp,0,LOCATION_MZONE,c,c:GetAttack())
Duel.SetOperationInfo(0,CATEGORY_DESTROY,g,g:GetCount(),0,0)
Duel.SetOperationInfo(0,CATEGORY_DAMAGE,nil,0,1-tp,g:GetCount()*500)
end
function c79029353.desop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
if not c:IsRelateToEffect(e) or c:IsFacedown() then return end
local g=Duel.GetMatchingGroup(c79029353.filter,tp,0,LOCATION_MZONE,aux.ExceptThisCard(e),c:GetAttack())
local ct=Duel.Destroy(g,REASON_EFFECT)
if ct>0 then
Duel.BreakEffect()
Duel.Damage(1-tp,ct*500,REASON_EFFECT)
end
end
--三首恶龙
function c79034300.initial_effect(c)
c:EnableReviveLimit()
--splimit
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)
--SpecialSummon
local e1=Effect.CreateEffect(c)
e1:SetCategory(CATEGORY_SPECIAL_SUMMON)
e1:SetType(EFFECT_TYPE_QUICK_O)
e1:SetCode(EVENT_FREE_CHAIN)
e1:SetHintTiming(0,TIMING_BATTLE_START+TIMING_BATTLE_STEP_END)
e1:SetRange(LOCATION_HAND)
e1:SetCountLimit(1,79034300)
e1:SetCost(c79034300.spcost)
e1:SetTarget(c79034300.sptg)
e1:SetOperation(c79034300.spop)
c:RegisterEffect(e1)
--to hand
local e2=Effect.CreateEffect(c)
e2:SetCategory(CATEGORY_TOHAND)
e2:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_O)
e2:SetCode(EVENT_SPSUMMON_SUCCESS)
e2:SetCountLimit(1,013000)
e2:SetTarget(c79034300.thtg)
e2:SetOperation(c79034300.thop)
c:RegisterEffect(e2)
--to tand
local e3=Effect.CreateEffect(c)
e3:SetCategory(CATEGORY_TOHAND)
e3:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_TRIGGER_F)
e3:SetRange(LOCATION_MZONE)
e3:SetCode(EVENT_PHASE+PHASE_BATTLE)
e3:SetCountLimit(1)
e3:SetTarget(c79034300.thtg1)
e3:SetOperation(c79034300.thop1)
c:RegisterEffect(e3)
Duel.AddCustomActivityCounter(79034300,ACTIVITY_SPSUMMON,c79034300.counterfilter)
end
function c79034300.counterfilter(c)
return c:GetAttack()==2300 and c:GetDefense()==2800
end
function c79034300.spcost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.GetCustomActivityCount(79034300,tp,ACTIVITY_SPSUMMON)==0 and Duel.GetLocationCount(tp,LOCATION_MZONE)>0 end
local e1=Effect.CreateEffect(e:GetHandler())
e1:SetType(EFFECT_TYPE_FIELD)
e1:SetCode(EFFECT_CANNOT_SPECIAL_SUMMON)
e1:SetProperty(EFFECT_FLAG_PLAYER_TARGET+EFFECT_FLAG_OATH)
e1:SetTargetRange(1,0)
e1:SetTarget(c79034300.splimit)
e1:SetReset(RESET_PHASE+PHASE_END)
Duel.RegisterEffect(e1,tp)
end
function c79034300.splimit(e,c,sump,sumtype,sumpos,targetp,se)
return not (c:GetAttack()==2300 and c:GetDefense()==2800)
end
function c79034300.sptg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return (Duel.GetCurrentPhase()>=PHASE_BATTLE_START and Duel.GetCurrentPhase()<=PHASE_BATTLE) and e:GetHandler():IsCanBeSpecialSummoned(e,0,tp,true,true) end
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,e:GetHandler(),1,tp,LOCATION_HAND)
end
function c79034300.spop(e,tp,eg,ep,ev,re,r,rp)
Duel.SpecialSummon(e:GetHandler(),0,tp,tp,true,true,POS_FACEUP)
end
function c79034300.thfil(c)
return c:IsAbleToHand() and c:IsAttack(2300) and c:IsDefense(2800) and c:IsLevel(7) and c:IsType(TYPE_TUNER) and not c:IsCode(79034300)
end
function c79034300.thtg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(c79034300.thfil,tp,LOCATION_DECK,0,1,nil) end
local g=Duel.SelectMatchingCard(tp,c79034300.thfil,tp,LOCATION_DECK,0,1,1,nil)
Duel.SetTargetCard(g)
Duel.SetOperationInfo(0,CATEGORY_TOHAND,g,1,tp,LOCATION_DECK)
end
function c79034300.thop(e,tp,eg,ep,ev,re,r,rp)
local tc=Duel.GetFirstTarget()
Duel.SendtoHand(tc,tp,REASON_EFFECT)
Duel.ConfirmCards(1-tp,tc)
end
function c79034300.thtg1(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return e:GetHandler():IsAbleToHand() end
Duel.SetOperationInfo(0,CATEGORY_TOHAND,e:GetHandler(),1,tp,LOCATION_MZONE)
end
function c79034300.thop1(e,tp,eg,ep,ev,re,r,rp)
Duel.SendtoHand(e:GetHandler(),nil,REASON_EFFECT)
end
--大地の化身
function c79034301.initial_effect(c)
c:EnableReviveLimit()
--splimit
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)
--SpecialSummon
local e1=Effect.CreateEffect(c)
e1:SetCategory(CATEGORY_SPECIAL_SUMMON)
e1:SetType(EFFECT_TYPE_QUICK_O)
e1:SetCode(EVENT_FREE_CHAIN)
e1:SetHintTiming(0,TIMING_BATTLE_START+TIMING_BATTLE_STEP_END)
e1:SetRange(LOCATION_HAND)
e1:SetCountLimit(1,79034301)
e1:SetCost(c79034301.spcost)
e1:SetTarget(c79034301.sptg)
e1:SetOperation(c79034301.spop)
c:RegisterEffect(e1)
--
local e2=Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_O)
e2:SetCode(EVENT_SPSUMMON_SUCCESS)
e2:SetCountLimit(1,013001)
e2:SetTarget(c79034301.atktg)
e2:SetOperation(c79034301.atkop)
c:RegisterEffect(e2)
--to tand
local e3=Effect.CreateEffect(c)
e3:SetCategory(CATEGORY_TOHAND)
e3:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_TRIGGER_F)
e3:SetRange(LOCATION_MZONE)
e3:SetCode(EVENT_PHASE+PHASE_BATTLE)
e3:SetCountLimit(1)
e3:SetTarget(c79034301.thtg1)
e3:SetOperation(c79034301.thop1)
c:RegisterEffect(e3)
end
function c79034301.counterfilter(c)
Duel.AddCustomActivityCounter(79034301,ACTIVITY_SPSUMMON,c79034301.counterfilter)
end
function c79034301.counterfilter(c)
return c:GetAttack()==2300 and c:GetDefense()==2800
end
function c79034301.spcost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.GetCustomActivityCount(79034301,tp,ACTIVITY_SPSUMMON)==0 and Duel.GetLocationCount(tp,LOCATION_MZONE)>0 end
local e1=Effect.CreateEffect(e:GetHandler())
e1:SetType(EFFECT_TYPE_FIELD)
e1:SetCode(EFFECT_CANNOT_SPECIAL_SUMMON)
e1:SetProperty(EFFECT_FLAG_PLAYER_TARGET+EFFECT_FLAG_OATH)
e1:SetTargetRange(1,0)
e1:SetTarget(c79034301.splimit)
e1:SetReset(RESET_PHASE+PHASE_END)
Duel.RegisterEffect(e1,tp)
end
function c79034301.splimit(e,c,sump,sumtype,sumpos,targetp,se)
return not (c:GetAttack()==2300 and c:GetDefense()==2800)
end
function c79034301.sptg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return (Duel.GetCurrentPhase()>=PHASE_BATTLE_START and Duel.GetCurrentPhase()<=PHASE_BATTLE) and e:GetHandler():IsCanBeSpecialSummoned(e,0,tp,true,true) end
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,e:GetHandler(),1,tp,LOCATION_HAND)
end
function c79034301.spop(e,tp,eg,ep,ev,re,r,rp)
Duel.SpecialSummon(e:GetHandler(),0,tp,tp,true,true,POS_FACEUP)
end
function c79034301.thtg1(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return e:GetHandler():IsAbleToHand() end
Duel.SetOperationInfo(0,CATEGORY_TOHAND,e:GetHandler(),1,tp,LOCATION_MZONE)
end
function c79034301.thop1(e,tp,eg,ep,ev,re,r,rp)
Duel.SendtoHand(e:GetHandler(),nil,REASON_EFFECT)
end
function c79034301.ckfil1(c)
return not c:IsAttribute(ATTRIBUTE_FIRE)
end
function c79034301.ckfil2(c)
return c:IsAttribute(ATTRIBUTE_FIRE)
end
function c79034301.atktg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(c79034301.ckfil1,tp,0,LOCATION_MZONE,1,nil) or Duel.IsExistingMatchingCard(c79034301.ckfil2,tp,LOCATION_MZONE,LOCATION_MZONE,1,nil) end
end
function c79034301.atkop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
local ag1=Duel.GetMatchingGroup(c79034301.ckfil1,tp,0,LOCATION_MZONE,nil)
local ag2=Duel.GetMatchingGroup(c79034301.ckfil2,tp,LOCATION_MZONE,LOCATION_MZONE,nil)
local tc1=ag1:GetFirst()
while tc1 do
--
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetProperty(EFFECT_FLAG_SINGLE_RANGE)
e1:SetCode(EFFECT_UPDATE_ATTACK)
e1:SetValue(-700)
e1:SetRange(LOCATION_MZONE)
e1:SetReset(RESET_EVENT+RESETS_STANDARD)
tc1:RegisterEffect(e1)
local e2=e1:Clone()
e2:SetCode(EFFECT_UPDATE_DEFENSE)
tc1:RegisterEffect(e2)
tc1=ag1:GetNext()
end
local tc2=ag2:GetFirst()
while tc2 do
--
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetProperty(EFFECT_FLAG_SINGLE_RANGE)
e1:SetCode(EFFECT_UPDATE_ATTACK)
e1:SetValue(300)
e1:SetRange(LOCATION_MZONE)
e1:SetReset(RESET_EVENT+RESETS_STANDARD)
tc2:RegisterEffect(e1)
tc2=ag2:GetNext()
end
end
--时拉比
function c79034302.initial_effect(c)
c:EnableReviveLimit()
--splimit
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)
--SpecialSummon
local e1=Effect.CreateEffect(c)
e1:SetCategory(CATEGORY_SPECIAL_SUMMON)
e1:SetType(EFFECT_TYPE_QUICK_O)
e1:SetCode(EVENT_FREE_CHAIN)
e1:SetHintTiming(0,TIMING_BATTLE_START+TIMING_BATTLE_STEP_END)
e1:SetRange(LOCATION_HAND)
e1:SetCountLimit(1,79034302)
e1:SetCost(c79034302.spcost)
e1:SetTarget(c79034302.sptg)
e1:SetOperation(c79034302.spop)
c:RegisterEffect(e1)
--to tand
local e3=Effect.CreateEffect(c)
e3:SetCategory(CATEGORY_TOHAND)
e3:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_TRIGGER_F)
e3:SetRange(LOCATION_MZONE)
e3:SetCode(EVENT_PHASE+PHASE_BATTLE)
e3:SetCountLimit(1)
e3:SetTarget(c79034302.thtg1)
e3:SetOperation(c79034302.thop1)
c:RegisterEffect(e3)
--synchro effect
local e2=Effect.CreateEffect(c)
e2:SetDescription(aux.Stringid(79034302,1))
e2:SetCategory(CATEGORY_SPECIAL_SUMMON)
e2:SetType(EFFECT_TYPE_QUICK_O)
e2:SetCode(EVENT_FREE_CHAIN)
e2:SetHintTiming(0,TIMINGS_CHECK_MONSTER+TIMING_MAIN_END)
e2:SetRange(LOCATION_MZONE)
e2:SetCondition(c79034302.sccon)
e2:SetTarget(c79034302.sctarg)
e2:SetOperation(c79034302.scop)
c:RegisterEffect(e2)
end
function c79034302.counterfilter(c)
Duel.AddCustomActivityCounter(79034302,ACTIVITY_SPSUMMON,c79034302.counterfilter)
end
function c79034302.counterfilter(c)
return c:GetAttack()==2300 and c:GetDefense()==2800
end
function c79034302.spcost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.GetCustomActivityCount(79034302,tp,ACTIVITY_SPSUMMON)==0 and Duel.GetLocationCount(tp,LOCATION_MZONE)>0 end
local e1=Effect.CreateEffect(e:GetHandler())
e1:SetType(EFFECT_TYPE_FIELD)
e1:SetCode(EFFECT_CANNOT_SPECIAL_SUMMON)
e1:SetProperty(EFFECT_FLAG_PLAYER_TARGET+EFFECT_FLAG_OATH)
e1:SetTargetRange(1,0)
e1:SetTarget(c79034302.splimit)
e1:SetReset(RESET_PHASE+PHASE_END)
Duel.RegisterEffect(e1,tp)
end
function c79034302.splimit(e,c,sump,sumtype,sumpos,targetp,se)
return not (c:GetAttack()==2300 and c:GetDefense()==2800)
end
function c79034302.sptg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return (Duel.GetCurrentPhase()>=PHASE_BATTLE_START and Duel.GetCurrentPhase()<=PHASE_BATTLE) and e:GetHandler():IsCanBeSpecialSummoned(e,0,tp,true,true) end
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,e:GetHandler(),1,tp,LOCATION_HAND)
end
function c79034302.spop(e,tp,eg,ep,ev,re,r,rp)
Duel.SpecialSummon(e:GetHandler(),0,tp,tp,true,true,POS_FACEUP)
end
function c79034302.thtg1(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return e:GetHandler():IsAbleToHand() end
Duel.SetOperationInfo(0,CATEGORY_TOHAND,e:GetHandler(),1,tp,LOCATION_MZONE)
end
function c79034302.thop1(e,tp,eg,ep,ev,re,r,rp)
Duel.SendtoHand(e:GetHandler(),nil,REASON_EFFECT)
end
function c79034302.sccon(e,tp,eg,ep,ev,re,r,rp)
return (Duel.GetCurrentPhase()>=PHASE_BATTLE_START and Duel.GetCurrentPhase()<=PHASE_BATTLE)
end
function c79034302.sctarg(e,tp,eg,ep,ev,re,r,rp,chk)
local c=e:GetHandler()
if chk==0 then return c:GetFlagEffect(79034302)==0
and Duel.IsExistingMatchingCard(Card.IsSynchroSummonable,tp,LOCATION_EXTRA,0,1,nil,c) end
c:RegisterFlagEffect(79034302,RESET_CHAIN,0,1)
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,1,tp,LOCATION_EXTRA)
end
function c79034302.scop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
if c:IsControler(1-tp) or not c:IsRelateToEffect(e) or c:IsFacedown() then return end
local g=Duel.GetMatchingGroup(Card.IsSynchroSummonable,tp,LOCATION_EXTRA,0,nil,c)
if g:GetCount()>0 then
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON)
local sg=g:Select(tp,1,1,nil)
Duel.SynchroSummon(tp,sg:GetFirst(),c)
end
end
--海洋与大地の调停者
function c79034303.initial_effect(c)
c:EnableReviveLimit()
--splimit
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)
--SpecialSummon
local e1=Effect.CreateEffect(c)
e1:SetCategory(CATEGORY_SPECIAL_SUMMON)
e1:SetType(EFFECT_TYPE_QUICK_O)
e1:SetCode(EVENT_FREE_CHAIN)
e1:SetHintTiming(0,TIMING_BATTLE_START+TIMING_BATTLE_STEP_END)
e1:SetRange(LOCATION_HAND)
e1:SetCountLimit(1,79034303)
e1:SetCost(c79034303.spcost)
e1:SetTarget(c79034303.sptg)
e1:SetOperation(c79034303.spop)
c:RegisterEffect(e1)
--to tand
local e3=Effect.CreateEffect(c)
e3:SetCategory(CATEGORY_TOHAND)
e3:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_TRIGGER_F)
e3:SetRange(LOCATION_MZONE)
e3:SetCode(EVENT_PHASE+PHASE_BATTLE)
e3:SetCountLimit(1)
e3:SetTarget(c79034303.thtg1)
e3:SetOperation(c79034303.thop1)
c:RegisterEffect(e3)
--to hand
local e2=Effect.CreateEffect(c)
e2:SetCategory(CATEGORY_TOHAND)
e2:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_O)
e2:SetCode(EVENT_SPSUMMON_SUCCESS)
e2:SetCountLimit(1,013003)
e2:SetCost(c79034303.thcost)
e2:SetTarget(c79034303.thtg)
e2:SetOperation(c79034303.thop)
c:RegisterEffect(e2)
end
function c79034303.counterfilter(c)
Duel.AddCustomActivityCounter(79034303,ACTIVITY_SPSUMMON,c79034303.counterfilter)
end
function c79034303.counterfilter(c)
return c:GetAttack()==2300 and c:GetDefense()==2800
end
function c79034303.spcost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.GetCustomActivityCount(79034303,tp,ACTIVITY_SPSUMMON)==0 and Duel.GetLocationCount(tp,LOCATION_MZONE)>0 end
local e1=Effect.CreateEffect(e:GetHandler())
e1:SetType(EFFECT_TYPE_FIELD)
e1:SetCode(EFFECT_CANNOT_SPECIAL_SUMMON)
e1:SetProperty(EFFECT_FLAG_PLAYER_TARGET+EFFECT_FLAG_OATH)
e1:SetTargetRange(1,0)
e1:SetTarget(c79034303.splimit)
e1:SetReset(RESET_PHASE+PHASE_END)
Duel.RegisterEffect(e1,tp)
end
function c79034303.splimit(e,c,sump,sumtype,sumpos,targetp,se)
return not (c:GetAttack()==2300 and c:GetDefense()==2800)
end
function c79034303.sptg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return (Duel.GetCurrentPhase()>=PHASE_BATTLE_START and Duel.GetCurrentPhase()<=PHASE_BATTLE) and e:GetHandler():IsCanBeSpecialSummoned(e,0,tp,true,true) end
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,e:GetHandler(),1,tp,LOCATION_HAND)
end
function c79034303.spop(e,tp,eg,ep,ev,re,r,rp)
Duel.SpecialSummon(e:GetHandler(),0,tp,tp,true,true,POS_FACEUP)
end
function c79034303.thtg1(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return e:GetHandler():IsAbleToHand() end
Duel.SetOperationInfo(0,CATEGORY_TOHAND,e:GetHandler(),1,tp,LOCATION_MZONE)
end
function c79034303.thop1(e,tp,eg,ep,ev,re,r,rp)
Duel.SendtoHand(e:GetHandler(),nil,REASON_EFFECT)
end
function c79034303.thfil(c)
return c:IsAbleToHand() and c:IsAttack(2300) and c:IsDefense(2800) and c:IsLevel(7) and c:IsType(TYPE_TUNER)
end
function c79034303.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
local tc=Duel.SelectMatchingCard(tp,Card.IsDiscardable,tp,LOCATION_HAND,0,1,1,nil):GetFirst()
e:SetLabelObject(tc)
Duel.SendtoGrave(tc,REASON_COST+REASON_DISCARD)
end
function c79034303.thtg(e,tp,eg,ep,ev,re,r,rp,chk)
local xc=e:GetLabelObject()
if chk==0 then return Duel.IsExistingMatchingCard(c79034303.thfil,tp,LOCATION_GRAVE,0,1,nil) end
local g=Duel.SelectMatchingCard(tp,c79034303.thfil,tp,LOCATION_GRAVE,0,1,1,xc)
Duel.SetTargetCard(g)
Duel.SetOperationInfo(0,CATEGORY_TOHAND,g,1,tp,LOCATION_DECK)
local xg=Duel.GetFieldGroup(tp,LOCATION_FZONE,LOCATION_FZONE)
if xg:GetCount()>0 then
Duel.SetOperationInfo(0,CATEGORY_DESTROY,xg,1,0,0)
end
end
function c79034303.thop(e,tp,eg,ep,ev,re,r,rp)
local tc=Duel.GetFirstTarget()
Duel.SendtoHand(tc,tp,REASON_EFFECT)
Duel.ConfirmCards(1-tp,tc)
local xg=Duel.GetFieldGroup(tp,LOCATION_FZONE,LOCATION_FZONE)
if xg:GetCount()>0 then
Duel.Destroy(xg,REASON_EFFECT)
end
end
--海洋の化身
function c79034304.initial_effect(c)
c:EnableReviveLimit()
--splimit
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)
--SpecialSummon
local e1=Effect.CreateEffect(c)
e1:SetCategory(CATEGORY_SPECIAL_SUMMON)
e1:SetType(EFFECT_TYPE_QUICK_O)
e1:SetCode(EVENT_FREE_CHAIN)
e1:SetHintTiming(0,TIMING_BATTLE_START+TIMING_BATTLE_STEP_END)
e1:SetRange(LOCATION_HAND)
e1:SetCountLimit(1,79034304)
e1:SetCost(c79034304.spcost)
e1:SetTarget(c79034304.sptg)
e1:SetOperation(c79034304.spop)
c:RegisterEffect(e1)
--
local e2=Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_O)
e2:SetCode(EVENT_SPSUMMON_SUCCESS)
e2:SetCountLimit(1,013004)
e2:SetTarget(c79034304.atktg)
e2:SetOperation(c79034304.atkop)
c:RegisterEffect(e2)
--to tand
local e3=Effect.CreateEffect(c)
e3:SetCategory(CATEGORY_TOHAND)
e3:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_TRIGGER_F)
e3:SetRange(LOCATION_MZONE)
e3:SetCode(EVENT_PHASE+PHASE_BATTLE)
e3:SetCountLimit(1)
e3:SetTarget(c79034304.thtg1)
e3:SetOperation(c79034304.thop1)
c:RegisterEffect(e3)
end
function c79034304.counterfilter(c)
Duel.AddCustomActivityCounter(79034304,ACTIVITY_SPSUMMON,c79034304.counterfilter)
end
function c79034304.counterfilter(c)
return c:GetAttack()==2300 and c:GetDefense()==2800
end
function c79034304.spcost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.GetCustomActivityCount(79034304,tp,ACTIVITY_SPSUMMON)==0 and Duel.GetLocationCount(tp,LOCATION_MZONE)>0 end
local e1=Effect.CreateEffect(e:GetHandler())
e1:SetType(EFFECT_TYPE_FIELD)
e1:SetCode(EFFECT_CANNOT_SPECIAL_SUMMON)
e1:SetProperty(EFFECT_FLAG_PLAYER_TARGET+EFFECT_FLAG_OATH)
e1:SetTargetRange(1,0)
e1:SetTarget(c79034304.splimit)
e1:SetReset(RESET_PHASE+PHASE_END)
Duel.RegisterEffect(e1,tp)
end
function c79034304.splimit(e,c,sump,sumtype,sumpos,targetp,se)
return not (c:GetAttack()==2300 and c:GetDefense()==2800)
end
function c79034304.sptg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return (Duel.GetCurrentPhase()>=PHASE_BATTLE_START and Duel.GetCurrentPhase()<=PHASE_BATTLE) and e:GetHandler():IsCanBeSpecialSummoned(e,0,tp,true,true) end
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,e:GetHandler(),1,tp,LOCATION_HAND)
end
function c79034304.spop(e,tp,eg,ep,ev,re,r,rp)
Duel.SpecialSummon(e:GetHandler(),0,tp,tp,true,true,POS_FACEUP)
end
function c79034304.thtg1(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return e:GetHandler():IsAbleToHand() end
Duel.SetOperationInfo(0,CATEGORY_TOHAND,e:GetHandler(),1,tp,LOCATION_MZONE)
end
function c79034304.thop1(e,tp,eg,ep,ev,re,r,rp)
Duel.SendtoHand(e:GetHandler(),nil,REASON_EFFECT)
end
function c79034304.ckfil1(c)
return not c:IsAttribute(ATTRIBUTE_WATER)
end
function c79034304.ckfil2(c)
return c:IsAttribute(ATTRIBUTE_WATER)
end
function c79034304.atktg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(c79034304.ckfil1,tp,0,LOCATION_MZONE,1,nil) or Duel.IsExistingMatchingCard(c79034304.ckfil2,tp,LOCATION_MZONE,LOCATION_MZONE,1,nil) end
end
function c79034304.atkop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
local ag1=Duel.GetMatchingGroup(c79034304.ckfil1,tp,0,LOCATION_MZONE,nil)
local ag2=Duel.GetMatchingGroup(c79034304.ckfil2,tp,LOCATION_MZONE,LOCATION_MZONE,nil)
local tc1=ag1:GetFirst()
while tc1 do
--
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetProperty(EFFECT_FLAG_SINGLE_RANGE)
e1:SetCode(EFFECT_UPDATE_ATTACK)
e1:SetValue(-700)
e1:SetRange(LOCATION_MZONE)
e1:SetReset(RESET_EVENT+RESETS_STANDARD)
tc1:RegisterEffect(e1)
local e2=e1:Clone()
e2:SetCode(EFFECT_UPDATE_DEFENSE)
tc1:RegisterEffect(e2)
tc1=ag1:GetNext()
end
local tc2=ag2:GetFirst()
while tc2 do
--
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetProperty(EFFECT_FLAG_SINGLE_RANGE)
e1:SetCode(EFFECT_UPDATE_ATTACK)
e1:SetValue(300)
e1:SetRange(LOCATION_MZONE)
e1:SetReset(RESET_EVENT+RESETS_STANDARD)
tc2:RegisterEffect(e1)
tc2=ag2:GetNext()
end
end
--雷吉艾斯
function c79034305.initial_effect(c)
c:SetSPSummonOnce(79034305)
c:EnableReviveLimit()
--splimit
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)
--SpecialSummon
local e1=Effect.CreateEffect(c)
e1:SetCategory(CATEGORY_SPECIAL_SUMMON)
e1:SetType(EFFECT_TYPE_QUICK_O)
e1:SetCode(EVENT_FREE_CHAIN)
e1:SetHintTiming(0,TIMING_BATTLE_START+TIMING_BATTLE_STEP_END)
e1:SetRange(LOCATION_HAND)
e1:SetCountLimit(1,79034305)
e1:SetCost(c79034305.spcost)
e1:SetTarget(c79034305.sptg)
e1:SetOperation(c79034305.spop)
c:RegisterEffect(e1)
--to tand
local e3=Effect.CreateEffect(c)
e3:SetCategory(CATEGORY_TOHAND)
e3:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_TRIGGER_F)
e3:SetRange(LOCATION_MZONE)
e3:SetCode(EVENT_PHASE+PHASE_BATTLE)
e3:SetCountLimit(1)
e3:SetTarget(c79034305.thtg1)
e3:SetOperation(c79034305.thop1)
c:RegisterEffect(e3)
--sp
local e2=Effect.CreateEffect(c)
e2:SetCategory(CATEGORY_SPECIAL_SUMMON+CATEGORY_TODECK)
e2:SetType(EFFECT_TYPE_QUICK_O)
e2:SetCode(EVENT_FREE_CHAIN)
e2:SetHintTiming(0,TIMINGS_CHECK_MONSTER+TIMING_MAIN_END)
e2:SetRange(LOCATION_MZONE)
e2:SetProperty(EFFECT_FLAG_CARD_TARGET)
e2:SetCountLimit(1,013005)
e2:SetCondition(c79034305.sccon)
e2:SetTarget(c79034305.sctarg)
e2:SetOperation(c79034305.scop)
c:RegisterEffect(e2)
end
function c79034305.counterfilter(c)
Duel.AddCustomActivityCounter(79034305,ACTIVITY_SPSUMMON,c79034305.counterfilter)
end
function c79034305.counterfilter(c)
return c:GetAttack()==2300 and c:GetDefense()==2800
end
function c79034305.spcost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.GetCustomActivityCount(79034305,tp,ACTIVITY_SPSUMMON)==0 and Duel.GetLocationCount(tp,LOCATION_MZONE)>0 end
local e1=Effect.CreateEffect(e:GetHandler())
e1:SetType(EFFECT_TYPE_FIELD)
e1:SetCode(EFFECT_CANNOT_SPECIAL_SUMMON)
e1:SetProperty(EFFECT_FLAG_PLAYER_TARGET+EFFECT_FLAG_OATH)
e1:SetTargetRange(1,0)
e1:SetTarget(c79034305.splimit)
e1:SetReset(RESET_PHASE+PHASE_END)
Duel.RegisterEffect(e1,tp)
end
function c79034305.splimit(e,c,sump,sumtype,sumpos,targetp,se)
return not (c:GetAttack()==2300 and c:GetDefense()==2800)
end
function c79034305.sptg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return (Duel.GetCurrentPhase()>=PHASE_BATTLE_START and Duel.GetCurrentPhase()<=PHASE_BATTLE) and e:GetHandler():IsCanBeSpecialSummoned(e,0,tp,true,true) end
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,e:GetHandler(),1,tp,LOCATION_HAND)
end
function c79034305.spop(e,tp,eg,ep,ev,re,r,rp)
Duel.SpecialSummon(e:GetHandler(),0,tp,tp,true,true,POS_FACEUP)
end
function c79034305.thtg1(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return e:GetHandler():IsAbleToHand() end
Duel.SetOperationInfo(0,CATEGORY_TOHAND,e:GetHandler(),1,tp,LOCATION_MZONE)
end
function c79034305.thop1(e,tp,eg,ep,ev,re,r,rp)
Duel.SendtoHand(e:GetHandler(),nil,REASON_EFFECT)
end
function c79034305.sccon(e,tp,eg,ep,ev,re,r,rp)
return (Duel.GetCurrentPhase()>=PHASE_BATTLE_START and Duel.GetCurrentPhase()<=PHASE_BATTLE)
end
function c79034305.xfil(c)
return c:IsAbleToDeck() and c:IsAttack(2300) and c:IsDefense(2800) and c:IsLevel(7) and c:IsType(TYPE_TUNER)
end
function c79034305.spfil(c,e,tp)
return c:IsCode(79034306,79034307) and Duel.GetLocationCount(tp,LOCATION_MZONE)>0
end
function c79034305.sctarg(e,tp,eg,ep,ev,re,r,rp,chk)
local c=e:GetHandler()
if chk==0 then return Duel.IsExistingTarget(c79034305.xfil,tp,LOCATION_MZONE,0,1,e:GetHandler()) and Duel.IsExistingMatchingCard(c79034305.spfil,tp,LOCATION_DECK,0,1,nil,e,tp) end
local g=Duel.SelectTarget(tp,c79034305.xfil,tp,LOCATION_MZONE,0,1,1,e:GetHandler())
Duel.SetOperationInfo(0,CATEGORY_TODECK,nil,1,tp,0)
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,1,tp,LOCATION_DECK)
end
function c79034305.scop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
local tc=Duel.GetFirstTarget()
if Duel.SendtoDeck(tc,nil,2,REASON_EFFECT)~=0 then
local sc=Duel.SelectMatchingCard(tp,c79034305.spfil,tp,LOCATION_DECK,0,1,1,nil,e,tp):GetFirst()
Duel.SpecialSummonStep(sc,0,tp,tp,true,false,POS_FACEUP)
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetProperty(EFFECT_FLAG_SINGLE_RANGE)
e1:SetCode(EFFECT_UPDATE_ATTACK)
e1:SetValue(-1000)
e1:SetRange(LOCATION_MZONE)
e1:SetReset(RESET_EVENT+RESETS_STANDARD)
sc:RegisterEffect(e1)
local e2=e1:Clone()
e2:SetCode(EFFECT_UPDATE_DEFENSE)
sc:RegisterEffect(e2)
Duel.SpecialSummonComplete()
end
end
--雷击洛克
function c79034306.initial_effect(c)
c:SetSPSummonOnce(79034306)
c:EnableReviveLimit()
--splimit
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)
--SpecialSummon
local e1=Effect.CreateEffect(c)
e1:SetCategory(CATEGORY_SPECIAL_SUMMON)
e1:SetType(EFFECT_TYPE_QUICK_O)
e1:SetCode(EVENT_FREE_CHAIN)
e1:SetHintTiming(0,TIMING_BATTLE_START+TIMING_BATTLE_STEP_END)
e1:SetRange(LOCATION_HAND)
e1:SetCountLimit(1,79034306)
e1:SetCost(c79034306.spcost)
e1:SetTarget(c79034306.sptg)
e1:SetOperation(c79034306.spop)
c:RegisterEffect(e1)
--to tand
local e3=Effect.CreateEffect(c)
e3:SetCategory(CATEGORY_TOHAND)
e3:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_TRIGGER_F)
e3:SetRange(LOCATION_MZONE)
e3:SetCode(EVENT_PHASE+PHASE_BATTLE)
e3:SetCountLimit(1)
e3:SetTarget(c79034306.thtg1)
e3:SetOperation(c79034306.thop1)
c:RegisterEffect(e3)
--sp
local e2=Effect.CreateEffect(c)
e2:SetCategory(CATEGORY_SPECIAL_SUMMON)
e2:SetType(EFFECT_TYPE_QUICK_O)
e2:SetCode(EVENT_FREE_CHAIN)
e2:SetHintTiming(0,TIMINGS_CHECK_MONSTER+TIMING_MAIN_END)
e2:SetRange(LOCATION_MZONE)
e2:SetCountLimit(1,013006)
e2:SetCondition(c79034306.sccon)
e2:SetTarget(c79034306.sctarg)
e2:SetOperation(c79034306.scop)
c:RegisterEffect(e2)
end
function c79034306.counterfilter(c)
Duel.AddCustomActivityCounter(79034306,ACTIVITY_SPSUMMON,c79034306.counterfilter)
end
function c79034306.counterfilter(c)
return c:GetAttack()==2300 and c:GetDefense()==2800
end
function c79034306.spcost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.GetCustomActivityCount(79034306,tp,ACTIVITY_SPSUMMON)==0 and Duel.GetLocationCount(tp,LOCATION_MZONE)>0 end
local e1=Effect.CreateEffect(e:GetHandler())
e1:SetType(EFFECT_TYPE_FIELD)
e1:SetCode(EFFECT_CANNOT_SPECIAL_SUMMON)
e1:SetProperty(EFFECT_FLAG_PLAYER_TARGET+EFFECT_FLAG_OATH)
e1:SetTargetRange(1,0)
e1:SetTarget(c79034306.splimit)
e1:SetReset(RESET_PHASE+PHASE_END)
Duel.RegisterEffect(e1,tp)
end
function c79034306.splimit(e,c,sump,sumtype,sumpos,targetp,se)
return not (c:GetAttack()==2300 and c:GetDefense()==2800)
end
function c79034306.sptg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return (Duel.GetCurrentPhase()>=PHASE_BATTLE_START and Duel.GetCurrentPhase()<=PHASE_BATTLE) and e:GetHandler():IsCanBeSpecialSummoned(e,0,tp,true,true) end
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,e:GetHandler(),1,tp,LOCATION_HAND)
end
function c79034306.spop(e,tp,eg,ep,ev,re,r,rp)
Duel.SpecialSummon(e:GetHandler(),0,tp,tp,true,true,POS_FACEUP)
end
function c79034306.thtg1(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return e:GetHandler():IsAbleToHand() end
Duel.SetOperationInfo(0,CATEGORY_TOHAND,e:GetHandler(),1,tp,LOCATION_MZONE)
end
function c79034306.thop1(e,tp,eg,ep,ev,re,r,rp)
Duel.SendtoHand(e:GetHandler(),nil,REASON_EFFECT)
end
function c79034306.sccon(e,tp,eg,ep,ev,re,r,rp)
return (Duel.GetCurrentPhase()>=PHASE_BATTLE_START and Duel.GetCurrentPhase()<=PHASE_BATTLE)
end
function c79034306.xfil(c)
return c:IsAbleToDeck() and c:IsAttack(2300) and c:IsDefense(2800) and c:IsLevel(7) and c:IsType(TYPE_TUNER)
end
function c79034306.spfil(c,e,tp)
return c:IsCode(79034305,79034307) and Duel.GetLocationCount(tp,LOCATION_MZONE)>0
end
function c79034306.sctarg(e,tp,eg,ep,ev,re,r,rp,chk)
local c=e:GetHandler()
if chk==0 then return Duel.IsExistingTarget(c79034306.xfil,tp,LOCATION_MZONE,0,1,e:GetHandler()) and Duel.IsExistingMatchingCard(c79034306.spfil,tp,LOCATION_DECK,0,1,nil,e,tp) end
local g=Duel.SelectTarget(tp,c79034306.xfil,tp,LOCATION_MZONE,0,1,1,e:GetHandler())
Duel.SetOperationInfo(0,CATEGORY_TODECK,nil,1,tp,0)
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,1,tp,LOCATION_DECK)
end
function c79034306.scop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
local tc=Duel.GetFirstTarget()
if Duel.SendtoDeck(tc,nil,2,REASON_EFFECT)~=0 then
local sc=Duel.SelectMatchingCard(tp,c79034306.spfil,tp,LOCATION_DECK,0,1,1,nil,e,tp):GetFirst()
Duel.SpecialSummonStep(sc,0,tp,tp,true,false,POS_FACEUP)
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetProperty(EFFECT_FLAG_SINGLE_RANGE)
e1:SetCode(EFFECT_UPDATE_ATTACK)
e1:SetValue(-1000)
e1:SetRange(LOCATION_MZONE)
e1:SetReset(RESET_EVENT+RESETS_STANDARD)
sc:RegisterEffect(e1)
local e2=e1:Clone()
e2:SetCode(EFFECT_UPDATE_DEFENSE)
sc:RegisterEffect(e2)
Duel.SpecialSummonComplete()
end
end
--雷吉斯奇鲁
function c79034307.initial_effect(c)
c:SetSPSummonOnce(79034307)
c:EnableReviveLimit()
--splimit
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)
--SpecialSummon
local e1=Effect.CreateEffect(c)
e1:SetCategory(CATEGORY_SPECIAL_SUMMON)
e1:SetType(EFFECT_TYPE_QUICK_O)
e1:SetCode(EVENT_FREE_CHAIN)
e1:SetHintTiming(0,TIMING_BATTLE_START+TIMING_BATTLE_STEP_END)
e1:SetRange(LOCATION_HAND)
e1:SetCountLimit(1,79034307)
e1:SetCost(c79034307.spcost)
e1:SetTarget(c79034307.sptg)
e1:SetOperation(c79034307.spop)
c:RegisterEffect(e1)
--to tand
local e3=Effect.CreateEffect(c)
e3:SetCategory(CATEGORY_TOHAND)
e3:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_TRIGGER_F)
e3:SetRange(LOCATION_MZONE)
e3:SetCode(EVENT_PHASE+PHASE_BATTLE)
e3:SetCountLimit(1)
e3:SetTarget(c79034307.thtg1)
e3:SetOperation(c79034307.thop1)
c:RegisterEffect(e3)
--sp
local e2=Effect.CreateEffect(c)
e2:SetCategory(CATEGORY_SPECIAL_SUMMON+CATEGORY_TODECK)
e2:SetType(EFFECT_TYPE_QUICK_O)
e2:SetCode(EVENT_FREE_CHAIN)
e2:SetHintTiming(0,TIMINGS_CHECK_MONSTER+TIMING_MAIN_END)
e2:SetRange(LOCATION_MZONE)
e2:SetProperty(EFFECT_FLAG_CARD_TARGET)
e2:SetCountLimit(1,013007)
e2:SetCondition(c79034307.sccon)
e2:SetTarget(c79034307.sctarg)
e2:SetOperation(c79034307.scop)
c:RegisterEffect(e2)
end
function c79034307.counterfilter(c)
Duel.AddCustomActivityCounter(79034307,ACTIVITY_SPSUMMON,c79034307.counterfilter)
end
function c79034307.counterfilter(c)
return c:GetAttack()==2300 and c:GetDefense()==2800
end
function c79034307.spcost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.GetCustomActivityCount(79034307,tp,ACTIVITY_SPSUMMON)==0 and Duel.GetLocationCount(tp,LOCATION_MZONE)>0 end
local e1=Effect.CreateEffect(e:GetHandler())
e1:SetType(EFFECT_TYPE_FIELD)
e1:SetCode(EFFECT_CANNOT_SPECIAL_SUMMON)
e1:SetProperty(EFFECT_FLAG_PLAYER_TARGET+EFFECT_FLAG_OATH)
e1:SetTargetRange(1,0)
e1:SetTarget(c79034307.splimit)
e1:SetReset(RESET_PHASE+PHASE_END)
Duel.RegisterEffect(e1,tp)
end
function c79034307.splimit(e,c,sump,sumtype,sumpos,targetp,se)
return not (c:GetAttack()==2300 and c:GetDefense()==2800)
end
function c79034307.sptg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return (Duel.GetCurrentPhase()>=PHASE_BATTLE_START and Duel.GetCurrentPhase()<=PHASE_BATTLE) and e:GetHandler():IsCanBeSpecialSummoned(e,0,tp,true,true) end
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,e:GetHandler(),1,tp,LOCATION_HAND)
end
function c79034307.spop(e,tp,eg,ep,ev,re,r,rp)
Duel.SpecialSummon(e:GetHandler(),0,tp,tp,true,true,POS_FACEUP)
end
function c79034307.thtg1(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return e:GetHandler():IsAbleToHand() end
Duel.SetOperationInfo(0,CATEGORY_TOHAND,e:GetHandler(),1,tp,LOCATION_MZONE)
end
function c79034307.thop1(e,tp,eg,ep,ev,re,r,rp)
Duel.SendtoHand(e:GetHandler(),nil,REASON_EFFECT)
end
function c79034307.sccon(e,tp,eg,ep,ev,re,r,rp)
return (Duel.GetCurrentPhase()>=PHASE_BATTLE_START and Duel.GetCurrentPhase()<=PHASE_BATTLE)
end
function c79034307.xfil(c)
return c:IsAbleToDeck() and c:IsAttack(2300) and c:IsDefense(2800) and c:IsLevel(7) and c:IsType(TYPE_TUNER)
end
function c79034307.spfil(c,e,tp)
return c:IsCode(79034306,79034305) and Duel.GetLocationCount(tp,LOCATION_MZONE)>0
end
function c79034307.sctarg(e,tp,eg,ep,ev,re,r,rp,chk)
local c=e:GetHandler()
if chk==0 then return Duel.IsExistingTarget(c79034307.xfil,tp,LOCATION_MZONE,0,1,e:GetHandler()) and Duel.IsExistingMatchingCard(c79034307.spfil,tp,LOCATION_DECK,0,1,nil,e,tp) end
local g=Duel.SelectTarget(tp,c79034307.xfil,tp,LOCATION_MZONE,0,1,1,e:GetHandler())
Duel.SetOperationInfo(0,CATEGORY_TODECK,nil,1,tp,0)
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,1,tp,LOCATION_DECK)
end
function c79034307.scop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
local tc=Duel.GetFirstTarget()
if Duel.SendtoDeck(tc,nil,2,REASON_EFFECT)~=0 then
local sc=Duel.SelectMatchingCard(tp,c79034307.spfil,tp,LOCATION_DECK,0,1,1,nil,e,tp):GetFirst()
Duel.SpecialSummonStep(sc,0,tp,tp,true,false,POS_FACEUP)
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetProperty(EFFECT_FLAG_SINGLE_RANGE)
e1:SetCode(EFFECT_UPDATE_ATTACK)
e1:SetValue(-1000)
e1:SetRange(LOCATION_MZONE)
e1:SetReset(RESET_EVENT+RESETS_STANDARD)
sc:RegisterEffect(e1)
local e2=e1:Clone()
e2:SetCode(EFFECT_UPDATE_DEFENSE)
sc:RegisterEffect(e2)
Duel.SpecialSummonComplete()
end
end
--裂空の访问者
function c79034308.initial_effect(c)
c:EnableReviveLimit()
--splimit
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)
--SpecialSummon
local e1=Effect.CreateEffect(c)
e1:SetCategory(CATEGORY_SPECIAL_SUMMON)
e1:SetType(EFFECT_TYPE_QUICK_O)
e1:SetCode(EVENT_FREE_CHAIN)
e1:SetHintTiming(0,TIMING_BATTLE_START+TIMING_BATTLE_STEP_END)
e1:SetRange(LOCATION_HAND)
e1:SetCountLimit(1,79034308)
e1:SetCost(c79034308.spcost)
e1:SetTarget(c79034308.sptg)
e1:SetOperation(c79034308.spop)
c:RegisterEffect(e1)
--to tand
local e3=Effect.CreateEffect(c)
e3:SetCategory(CATEGORY_TOHAND)
e3:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_TRIGGER_F)
e3:SetRange(LOCATION_MZONE)
e3:SetCode(EVENT_PHASE+PHASE_BATTLE)
e3:SetCountLimit(1)
e3:SetTarget(c79034308.thtg1)
e3:SetOperation(c79034308.thop1)
c:RegisterEffect(e3)
--xyz
local e3=Effect.CreateEffect(c)
e3:SetCategory(CATEGORY_SPECIAL_SUMMON)
e3:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_TRIGGER_O)
e3:SetCode(EVENT_BATTLED)
e3:SetRange(LOCATION_MZONE)
e3:SetCondition(c79034308.descon)
e3:SetTarget(c79034308.destg)
e3:SetOperation(c79034308.desop)
c:RegisterEffect(e3)
--xyzlimit
local e2=Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_SINGLE)
e2:SetCode(EFFECT_CANNOT_BE_XYZ_MATERIAL)
e2:SetProperty(EFFECT_FLAG_CANNOT_DISABLE+EFFECT_FLAG_UNCOPYABLE)
e2:SetValue(c79034308.xyzlimit)
c:RegisterEffect(e2)
end
function c79034308.xyzlimit(e,c)
if not c then return false end
return not (c:IsAttack(2300) and c:IsDefense(2800))
end
function c79034308.counterfilter(c)
Duel.AddCustomActivityCounter(79034308,ACTIVITY_SPSUMMON,c79034308.counterfilter)
end
function c79034308.counterfilter(c)
return c:GetAttack()==2300 and c:GetDefense()==2800
end
function c79034308.spcost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.GetCustomActivityCount(79034308,tp,ACTIVITY_SPSUMMON)==0 and Duel.GetLocationCount(tp,LOCATION_MZONE)>0 end
local e1=Effect.CreateEffect(e:GetHandler())
e1:SetType(EFFECT_TYPE_FIELD)
e1:SetCode(EFFECT_CANNOT_SPECIAL_SUMMON)
e1:SetProperty(EFFECT_FLAG_PLAYER_TARGET+EFFECT_FLAG_OATH)
e1:SetTargetRange(1,0)
e1:SetTarget(c79034308.splimit)
e1:SetReset(RESET_PHASE+PHASE_END)
Duel.RegisterEffect(e1,tp)
end
function c79034308.splimit(e,c,sump,sumtype,sumpos,targetp,se)
return not (c:GetAttack()==2300 and c:GetDefense()==2800)
end
function c79034308.sptg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return (Duel.GetCurrentPhase()>=PHASE_BATTLE_START and Duel.GetCurrentPhase()<=PHASE_BATTLE) and e:GetHandler():IsCanBeSpecialSummoned(e,0,tp,true,true) end
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,e:GetHandler(),1,tp,LOCATION_HAND)
end
function c79034308.spop(e,tp,eg,ep,ev,re,r,rp)
Duel.SpecialSummon(e:GetHandler(),0,tp,tp,true,true,POS_FACEUP)
end
function c79034308.thtg1(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return e:GetHandler():IsAbleToHand() end
Duel.SetOperationInfo(0,CATEGORY_TOHAND,e:GetHandler(),1,tp,LOCATION_MZONE)
end
function c79034308.thop1(e,tp,eg,ep,ev,re,r,rp)
Duel.SendtoHand(e:GetHandler(),nil,REASON_EFFECT)
end
function c79034308.descon(e,tp,eg,ep,ev,re,r,rp)
local a=Duel.GetAttacker()
local d=Duel.GetAttackTarget()
if not d then return false end
if d:IsControler(tp) then a,d=d,a end
return d:IsControler(1-tp)
end
function c79034308.xyzfilter(c,sg)
return c:IsXyzSummonable(sg,1,1)
end
function c79034308.destg(e,tp,eg,ep,ev,re,r,rp,chk)
local sg=Group.FromCards(e:GetHandler())
local xyzg=Duel.GetMatchingGroup(c79034308.xyzfilter,tp,LOCATION_EXTRA,0,nil,sg)
if chk==0 then return xyzg:GetCount()>0 end
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,1,tp,LOCATION_EXTRA)
end
function c79034308.desop(e,tp,eg,ep,ev,re,r,rp)
local sg=Group.FromCards(e:GetHandler())
local xyzg=Duel.GetMatchingGroup(c79034308.xyzfilter,tp,LOCATION_EXTRA,0,nil,sg)
if xyzg:GetCount()>0 then
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON)
local xyz=xyzg:Select(tp,1,1,nil):GetFirst()
Duel.XyzSummon(tp,xyz,sg)
end
end
--裂空の访问者-速度形态
function c79034309.initial_effect(c)
c:EnableReviveLimit()
--xyz summon
aux.AddXyzProcedure(c,nil,7,5,c79034309.ovfilter,aux.Stringid(79034309,0))
c:EnableReviveLimit()
--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.xyzlimit)
c:RegisterEffect(e1)
--direct attack
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetCode(EFFECT_DIRECT_ATTACK)
c:RegisterEffect(e1)
--to tand
local e3=Effect.CreateEffect(c)
e3:SetCategory(CATEGORY_TOHAND)
e3:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_TRIGGER_F)
e3:SetRange(LOCATION_MZONE)
e3:SetCode(EVENT_PHASE+PHASE_BATTLE)
e3:SetCountLimit(1)
e3:SetTarget(c79034309.thtg1)
e3:SetOperation(c79034309.thop1)
c:RegisterEffect(e3)
end
function c79034309.ovfilter(c)
return c:IsFaceup() and c:IsCode(79034308)
end
function c79034309.ckfil(c)
return c:IsAbleToHand() and c:IsCode(79034308)
end
function c79034309.thtg1(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return e:GetHandler():IsAbleToExtra() and Duel.IsExistingMatchingCard(c79034309.ckfil,tp,LOCATION_GRAVE,0,1,nil) end
Duel.SetOperationInfo(0,CATEGORY_TOEXTRA,e:GetHandler(),1,tp,LOCATION_MZONE)
Duel.SetOperationInfo(0,CATEGORY_TOHAND,e:GetHandler(),1,tp,LOCATION_GRAVE)
end
function c79034309.thop1(e,tp,eg,ep,ev,re,r,rp)
if Duel.SendtoHand(e:GetHandler(),nil,REASON_EFFECT) then
local g=Duel.SelectMatchingCard(tp,c79034309.ckfil,tp,LOCATION_GRAVE,0,1,1,nil)
Duel.SendtoHand(g,tp,REASON_EFFECT)
end
end
--裂空の访问者-防御形态
function c79034310.initial_effect(c)
c:EnableReviveLimit()
--xyz summon
aux.AddXyzProcedure(c,nil,7,5,c79034310.ovfilter,aux.Stringid(79034310,0))
c:EnableReviveLimit()
--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.xyzlimit)
c:RegisterEffect(e1)
--to tand
local e3=Effect.CreateEffect(c)
e3:SetCategory(CATEGORY_TOHAND)
e3:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_TRIGGER_F)
e3:SetRange(LOCATION_MZONE)
e3:SetCode(EVENT_PHASE+PHASE_BATTLE)
e3:SetCountLimit(1)
e3:SetTarget(c79034310.thtg1)
e3:SetOperation(c79034310.thop1)
c:RegisterEffect(e3)
--
local e4=Effect.CreateEffect(c)
e4:SetType(EFFECT_TYPE_SINGLE)
e4:SetProperty(EFFECT_FLAG_SINGLE_RANGE)
e4:SetCode(EFFECT_UPDATE_ATTACK)
e4:SetValue(500)
e4:SetRange(LOCATION_MZONE)
c:RegisterEffect(e4)
--
local e4=Effect.CreateEffect(c)
e4:SetType(EFFECT_TYPE_SINGLE)
e4:SetProperty(EFFECT_FLAG_SINGLE_RANGE)
e4:SetCode(EFFECT_CANNOT_ATTACK)
e4:SetRange(LOCATION_MZONE)
c:RegisterEffect(e4)
--
local e5=Effect.CreateEffect(c)
e5:SetType(EFFECT_TYPE_FIELD)
e5:SetCode(EFFECT_MUST_ATTACK)
e5:SetRange(LOCATION_MZONE)
e5:SetTargetRange(0,LOCATION_MZONE)
c:RegisterEffect(e5)
local e2=e5:Clone()
e2:SetCode(EFFECT_MUST_ATTACK_MONSTER)
e2:SetValue(c79034310.atklimit)
e2:SetRange(LOCATION_MZONE)
e2:SetTargetRange(0,LOCATION_MZONE)
c:RegisterEffect(e2)
end
function c79034310.ovfilter(c)
return c:IsFaceup() and c:IsCode(79034308)
end
function c79034310.ckfil(c)
return c:IsAbleToHand() and c:IsCode(79034308)
end
function c79034310.thtg1(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return e:GetHandler():IsAbleToExtra() and Duel.IsExistingMatchingCard(c79034310.ckfil,tp,LOCATION_GRAVE,0,1,nil) end
Duel.SetOperationInfo(0,CATEGORY_TOEXTRA,e:GetHandler(),1,tp,LOCATION_MZONE)
Duel.SetOperationInfo(0,CATEGORY_TOHAND,e:GetHandler(),1,tp,LOCATION_GRAVE)
end
function c79034310.thop1(e,tp,eg,ep,ev,re,r,rp)
if Duel.SendtoHand(e:GetHandler(),nil,REASON_EFFECT) then
local g=Duel.SelectMatchingCard(tp,c79034310.ckfil,tp,LOCATION_GRAVE,0,1,1,nil)
Duel.SendtoHand(g,tp,REASON_EFFECT)
end
end
function c79034310.atklimit(e,c)
return c==e:GetHandler()
end
--裂空の访问者-攻击形态
function c79034311.initial_effect(c)
c:EnableReviveLimit()
--xyz summon
aux.AddXyzProcedure(c,nil,7,5,c79034311.ovfilter,aux.Stringid(79034311,0))
c:EnableReviveLimit()
--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.xyzlimit)
c:RegisterEffect(e1)
--to tand
local e3=Effect.CreateEffect(c)
e3:SetCategory(CATEGORY_TOHAND)
e3:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_TRIGGER_F)
e3:SetRange(LOCATION_MZONE)
e3:SetCode(EVENT_PHASE+PHASE_BATTLE)
e3:SetCountLimit(1)
e3:SetTarget(c79034311.thtg1)
e3:SetOperation(c79034311.thop1)
c:RegisterEffect(e3)
--battle
local e4=Effect.CreateEffect(c)
e4:SetType(EFFECT_TYPE_QUICK_O)
e4:SetProperty(EFFECT_FLAG_CARD_TARGET)
e4:SetCode(EVENT_FREE_CHAIN)
e4:SetRange(LOCATION_MZONE)
e4:SetCountLimit(1,79034311)
e4:SetTarget(c79034311.batg)
e4:SetOperation(c79034311.baop)
c:RegisterEffect(e4)
end
function c79034311.ovfilter(c)
return c:IsFaceup() and c:IsCode(79034308)
end
function c79034311.ckfil(c)
return c:IsAbleToHand() and c:IsCode(79034308)
end
function c79034311.thtg1(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return e:GetHandler():IsAbleToExtra() and Duel.IsExistingMatchingCard(c79034311.ckfil,tp,LOCATION_GRAVE,0,1,nil) end
Duel.SetOperationInfo(0,CATEGORY_TOEXTRA,e:GetHandler(),1,tp,LOCATION_MZONE)
Duel.SetOperationInfo(0,CATEGORY_TOHAND,e:GetHandler(),1,tp,LOCATION_GRAVE)
end
function c79034311.thop1(e,tp,eg,ep,ev,re,r,rp)
if Duel.SendtoHand(e:GetHandler(),nil,REASON_EFFECT) then
local g=Duel.SelectMatchingCard(tp,c79034311.ckfil,tp,LOCATION_GRAVE,0,1,1,nil)
Duel.SendtoHand(g,tp,REASON_EFFECT)
end
end
function c79034311.batg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingTarget(aux.TRUE,tp,0,LOCATION_MZONE,1,nil) and (Duel.GetCurrentPhase()>=PHASE_BATTLE_START and Duel.GetCurrentPhase()<=PHASE_BATTLE) end
local tc=Duel.SelectTarget(tp,aux.TRUE,tp,0,LOCATION_MZONE,1,1,nil)
end
function c79034311.baop(e,tp,eg,ep,ev,re,r,rp)
local tc=Duel.GetFirstTarget()
if tc:IsRelateToEffect(e) then
Duel.CalculateDamage(e:GetHandler(),tc)
end
end
......@@ -32,7 +32,7 @@ function c9910036.cost(e,tp,eg,ep,ev,re,r,rp,chk)
if not Duel.IsExistingMatchingCard(c9910036.filter2,tp,LOCATION_MZONE,LOCATION_MZONE,1,nil) then rt=rt-1 end
if not Duel.IsExistingMatchingCard(c9910036.filter3,tp,LOCATION_SZONE,LOCATION_SZONE,1,c) then rt=rt-1 end
if not Duel.IsExistingMatchingCard(c9910036.filter4,tp,LOCATION_SZONE,LOCATION_SZONE,1,c) then rt=rt-1 end
local cg=Duel.GetMatchingGroup(c9910036.costfilter,tp,LOCATION_HAND,0,nil)
local cg=Duel.GetMatchingGroup(c9910036.costfilter,tp,LOCATION_HAND+LOCATION_DECK,0,nil)
local ct=cg:GetClassCount(Card.GetCode)
if chk==0 then return rt>0 and ct>0 end
local ctt={}
......
......@@ -14,12 +14,10 @@ function c9910057.initial_effect(c)
e2:SetType(EFFECT_TYPE_IGNITION)
e2:SetCountLimit(1,9910057)
e2:SetRange(LOCATION_HAND)
e2:SetCondition(c9910057.thcon)
e2:SetCost(c9910057.thcost)
e2:SetTarget(c9910057.thtg)
e2:SetOperation(c9910057.thop)
c:RegisterEffect(e2)
Duel.AddCustomActivityCounter(9910057,ACTIVITY_SPSUMMON,c9910057.counterfilter)
--return to hand
local e3=Effect.CreateEffect(c)
e3:SetCategory(CATEGORY_TOHAND)
......@@ -31,33 +29,16 @@ function c9910057.initial_effect(c)
e3:SetOperation(c9910057.operation)
c:RegisterEffect(e3)
end
function c9910057.counterfilter(c)
return c:IsRace(RACE_FAIRY)
end
function c9910057.cfilter(c)
return c:IsFaceup() and c:IsRace(RACE_FAIRY)
end
function c9910057.thcon(e,tp,eg,ep,ev,re,r,rp)
return not Duel.IsExistingMatchingCard(c9910057.cfilter,tp,LOCATION_MZONE,0,1,nil)
end
function c9910057.thcost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.GetCustomActivityCount(9910057,tp,ACTIVITY_SPSUMMON)==0
and e:GetHandler():IsDiscardable() end
local e1=Effect.CreateEffect(e:GetHandler())
e1:SetType(EFFECT_TYPE_FIELD)
e1:SetProperty(EFFECT_FLAG_PLAYER_TARGET+EFFECT_FLAG_OATH)
e1:SetCode(EFFECT_CANNOT_SPECIAL_SUMMON)
e1:SetReset(RESET_PHASE+PHASE_END)
e1:SetTargetRange(1,0)
e1:SetTarget(c9910057.splimit)
Duel.RegisterEffect(e1,tp)
Duel.SendtoGrave(e:GetHandler(),REASON_COST+REASON_DISCARD)
local c=e:GetHandler()
if chk==0 then return c:IsDiscardable() end
Duel.SendtoGrave(c,REASON_COST+REASON_DISCARD)
end
function c9910057.splimit(e,c)
return not c:IsRace(RACE_FAIRY)
end
function c9910057.spfilter(c,e,tp)
return c:IsAttack(0) and c:IsDefense(1000) and c:IsType(TYPE_TUNER)
return c:IsDefense(1000) and c:IsRace(RACE_FAIRY) and c:IsType(TYPE_TUNER)
and c:IsCanBeSpecialSummoned(e,0,tp,false,false)
end
function c9910057.thtg(e,tp,eg,ep,ev,re,r,rp,chk)
......@@ -68,6 +49,14 @@ function c9910057.thtg(e,tp,eg,ep,ev,re,r,rp,chk)
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,1,0,LOCATION_DECK)
end
function c9910057.thop(e,tp,eg,ep,ev,re,r,rp)
local e1=Effect.CreateEffect(e:GetHandler())
e1:SetType(EFFECT_TYPE_FIELD)
e1:SetCode(EFFECT_CANNOT_SPECIAL_SUMMON)
e1:SetProperty(EFFECT_FLAG_PLAYER_TARGET)
e1:SetTargetRange(1,0)
e1:SetTarget(c9910057.splimit)
e1:SetReset(RESET_PHASE+PHASE_END)
Duel.RegisterEffect(e1,tp)
local g=Duel.GetMatchingGroup(c9910057.spfilter,tp,LOCATION_DECK,0,nil,e,tp)
if Duel.GetLocationCount(tp,LOCATION_MZONE)<=0 or g:GetClassCount(Card.GetCode)<3 then return end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_CONFIRM)
......@@ -80,6 +69,9 @@ function c9910057.thop(e,tp,eg,ep,ev,re,r,rp)
Duel.ShuffleDeck(tp)
end
end
function c9910057.splimit(e,c)
return not c:IsRace(RACE_FAIRY)
end
function c9910057.target(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
if chkc then return chkc:IsOnField() and chkc:IsAbleToHand() end
if chk==0 then return true end
......
......@@ -2,55 +2,37 @@
function c9910213.initial_effect(c)
--recover
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_ACTIVATE)
e1:SetDescription(aux.Stringid(9910213,0))
e1:SetCategory(CATEGORY_RECOVER+CATEGORY_SEARCH+CATEGORY_TOHAND)
e1:SetProperty(EFFECT_FLAG_PLAYER_TARGET)
e1:SetType(EFFECT_TYPE_ACTIVATE)
e1:SetCode(EVENT_FREE_CHAIN)
e1:SetCountLimit(1,9910213+EFFECT_COUNT_CODE_OATH)
e1:SetTarget(c9910213.target)
e1:SetOperation(c9910213.activate)
c:RegisterEffect(e1)
--spsummon
local e2=Effect.CreateEffect(c)
e2:SetCategory(CATEGORY_SPECIAL_SUMMON)
e2:SetType(EFFECT_TYPE_IGNITION)
e2:SetRange(LOCATION_GRAVE)
e2:SetDescription(aux.Stringid(9910213,1))
e2:SetCategory(CATEGORY_TOHAND+CATEGORY_SPECIAL_SUMMON)
e2:SetType(EFFECT_TYPE_ACTIVATE)
e2:SetProperty(EFFECT_FLAG_CARD_TARGET)
e2:SetCountLimit(1,9910213)
e2:SetCondition(aux.exccon)
e2:SetCost(aux.bfgcost)
e2:SetTarget(c9910213.sptg)
e2:SetOperation(c9910213.spop)
e2:SetCode(EVENT_FREE_CHAIN)
e2:SetCountLimit(1,9910213+EFFECT_COUNT_CODE_OATH)
e2:SetCost(c9910213.cost)
e2:SetTarget(c9910213.target2)
e2:SetOperation(c9910213.activate2)
c:RegisterEffect(e2)
end
function c9910213.filter(c)
return c:IsSetCard(0x955) and not c:IsCode(9910213)
function c9910213.thfilter(c)
return c:IsSetCard(0x955) and c:IsAbleToHand() and not c:IsCode(9910213)
end
function c9910213.target(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(c9910213.filter,tp,LOCATION_DECK,0,1,nil) end
Duel.SetTargetPlayer(tp)
Duel.SetTargetParam(1000)
if chk==0 then return Duel.IsExistingMatchingCard(c9910213.thfilter,tp,LOCATION_DECK,0,1,nil) end
Duel.SetOperationInfo(0,CATEGORY_RECOVER,nil,0,tp,1000)
Duel.SetOperationInfo(0,CATEGORY_TOHAND,nil,1,tp,LOCATION_DECK)
end
function c9910213.activate(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 e1=Effect.CreateEffect(e:GetHandler())
e1:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
e1:SetCode(EVENT_PHASE+PHASE_END)
e1:SetCountLimit(1)
e1:SetCondition(c9910213.thcon)
e1:SetOperation(c9910213.thop)
e1:SetReset(RESET_PHASE+PHASE_END)
Duel.RegisterEffect(e1,p)
end
function c9910213.thfilter(c)
return c:IsSetCard(0x955) and c:IsAbleToHand() and not c:IsCode(9910213)
end
function c9910213.thcon(e,tp,eg,ep,ev,re,r,rp)
return Duel.IsExistingMatchingCard(c9910213.thfilter,tp,LOCATION_DECK,0,1,nil)
end
function c9910213.thop(e,tp,eg,ep,ev,re,r,rp)
Duel.Hint(HINT_CARD,0,9910213)
if Duel.Recover(tp,1000,REASON_EFFECT)<=0 then return end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_ATOHAND)
local g=Duel.SelectMatchingCard(tp,c9910213.thfilter,tp,LOCATION_DECK,0,1,1,nil)
if g:GetCount()>0 then
......@@ -58,20 +40,30 @@ function c9910213.thop(e,tp,eg,ep,ev,re,r,rp)
Duel.ConfirmCards(1-tp,g)
end
end
function c9910213.cost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.CheckLPCost(tp,1000) end
Duel.PayLPCost(tp,1000)
end
function c9910213.spfilter(c,e,tp)
return c:IsLevelBelow(4) and c:IsSetCard(0x955) and c:IsCanBeSpecialSummoned(e,0,tp,false,false)
return c:IsLevelBelow(4) and c:IsSetCard(0x955) and (c:IsAbleToHand() or (Duel.GetLocationCount(tp,LOCATION_MZONE)>0 and c:IsCanBeSpecialSummoned(e,0,tp,false,false)))
end
function c9910213.sptg(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
function c9910213.target2(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
if chkc then return chkc:IsControler(tp) and chkc:IsLocation(LOCATION_GRAVE) and c9910213.spfilter(chkc,e,tp) end
if chk==0 then return Duel.GetLocationCount(tp,LOCATION_MZONE)>0
and Duel.IsExistingTarget(c9910213.spfilter,tp,LOCATION_GRAVE,0,1,nil,e,tp) end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON)
if chk==0 then return Duel.IsExistingTarget(c9910213.spfilter,tp,LOCATION_GRAVE,0,1,nil,e,tp) end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TARGET)
local g=Duel.SelectTarget(tp,c9910213.spfilter,tp,LOCATION_GRAVE,0,1,1,nil,e,tp)
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,g,1,0,0)
Duel.SetOperationInfo(0,CATEGORY_TOHAND,g,0,0,0)
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,g,0,0,0)
end
function c9910213.spop(e,tp,eg,ep,ev,re,r,rp)
function c9910213.activate2(e,tp,eg,ep,ev,re,r,rp)
local tc=Duel.GetFirstTarget()
if tc:IsRelateToEffect(e) then
Duel.SpecialSummon(tc,0,tp,tp,false,false,POS_FACEUP)
if Duel.GetLocationCount(tp,LOCATION_MZONE)>0 and tc:IsCanBeSpecialSummoned(e,0,tp,false,false)
and (not tc:IsAbleToHand() or Duel.SelectOption(tp,1190,1152)==1) then
Duel.SpecialSummon(tc,0,tp,tp,false,false,POS_FACEUP)
else
Duel.SendtoHand(tc,nil,REASON_EFFECT)
Duel.ConfirmCards(1-tp,tc)
end
end
end
......@@ -2,14 +2,25 @@
function c9910215.initial_effect(c)
--Activate
local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(9910215,0))
e1:SetCategory(CATEGORY_DESTROY)
e1:SetType(EFFECT_TYPE_ACTIVATE)
e1:SetProperty(EFFECT_FLAG_CARD_TARGET)
e1:SetCode(EVENT_FREE_CHAIN)
e1:SetCountLimit(1,9910215+EFFECT_COUNT_CODE_OATH)
e1:SetCondition(c9910215.condition)
e1:SetTarget(c9910215.target)
e1:SetOperation(c9910215.activate)
c:RegisterEffect(e1)
--Activate
local e2=Effect.CreateEffect(c)
e2:SetDescription(aux.Stringid(9910215,1))
e2:SetCategory(CATEGORY_HANDES+CATEGORY_DESTROY)
e2:SetType(EFFECT_TYPE_ACTIVATE)
e2:SetCode(EVENT_FREE_CHAIN)
e2:SetCountLimit(1,9910215+EFFECT_COUNT_CODE_OATH)
e2:SetOperation(c9910215.activate2)
c:RegisterEffect(e2)
end
function c9910215.cfilter(c)
return c:GetSequence()<5 and (c:IsFacedown() or not c:IsRace(RACE_PSYCHO))
......@@ -25,24 +36,67 @@ function c9910215.target(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
local g=Duel.SelectTarget(tp,Card.IsFaceup,tp,LOCATION_ONFIELD,LOCATION_ONFIELD,1,1,c)
Duel.SetOperationInfo(0,CATEGORY_DESTROY,g,1,0,0)
end
function c9910215.cfilter2(c)
return c:IsFaceup() and c:IsSetCard(0x955)
end
function c9910215.activate(e,tp,eg,ep,ev,re,r,rp)
local tc=Duel.GetFirstTarget()
if tc:IsRelateToEffect(e) and Duel.Destroy(tc,REASON_EFFECT)>0 then
local g1=Duel.GetMatchingGroup(aux.TRUE,tp,LOCATION_MZONE,0,nil)
local g2=Duel.GetMatchingGroup(aux.TRUE,tp,0,LOCATION_MZONE,nil)
if g2:GetCount()>0 and g1:FilterCount(c9910215.cfilter2,nil)>0
and Duel.SelectYesNo(tp,aux.Stringid(9910215,0)) then
Duel.BreakEffect()
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_DESTROY)
local sg1=g1:Select(tp,1,1,nil)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_DESTROY)
local sg2=g2:Select(tp,1,1,nil)
sg1:Merge(sg2)
Duel.HintSelection(sg1)
Duel.Destroy(sg1,REASON_EFFECT)
end
if tc:IsRelateToEffect(e) then
Duel.Destroy(tc,REASON_EFFECT)
end
end
function c9910215.activate2(e,tp,eg,ep,ev,re,r,rp)
local e1=Effect.CreateEffect(e:GetHandler())
e1:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
e1:SetCode(EVENT_CHAINING)
e1:SetReset(RESET_PHASE+PHASE_END)
e1:SetOperation(c9910215.chainop)
Duel.RegisterEffect(e1,tp)
local e2=Effect.CreateEffect(e:GetHandler())
e2:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
e2:SetCode(EVENT_CHAINING)
e2:SetReset(RESET_PHASE+PHASE_END)
e2:SetOperation(c9910215.chop)
e2:SetLabel(0)
Duel.RegisterEffect(e2,tp)
local e3=Effect.CreateEffect(e:GetHandler())
e3:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
e3:SetCode(EVENT_CHAIN_END)
e3:SetReset(RESET_PHASE+PHASE_END)
e3:SetCondition(c9910215.descon)
e3:SetOperation(c9910215.desop)
e3:SetLabelObject(e2)
Duel.RegisterEffect(e3,tp)
end
function c9910215.chainop(e,tp,eg,ep,ev,re,r,rp)
if Duel.GetCurrentChain()==1 then
Duel.SetChainLimit(c9910215.chainlm)
end
end
function c9910215.chainlm(e,rp,tp)
return tp==rp
end
function c9910215.chop(e,tp,eg,ep,ev,re,r,rp)
if Duel.GetCurrentChain()==2 and re and rp==tp then
e:SetLabel(1)
end
end
function c9910215.descon(e,tp,eg,ep,ev,re,r,rp)
local res=e:GetLabelObject():GetLabel()
e:GetLabelObject():SetLabel(0)
return res==1
end
function c9910215.cfilter(c)
return c:IsSetCard(0x955) and c:IsDiscardable()
end
function c9910215.desop(e,tp,eg,ep,ev,re,r,rp)
local dg=Duel.GetFieldGroup(tp,0,LOCATION_ONFIELD)
if Duel.IsExistingMatchingCard(c9910215.cfilter,tp,LOCATION_HAND,0,1,nil)
and dg:GetCount()>0 and Duel.SelectYesNo(tp,aux.Stringid(9910215,2)) then
Duel.Hint(HINT_CARD,0,9910215)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_DISCARD)
local g=Duel.SelectMatchingCard(tp,c9910215.cfilter,tp,LOCATION_HAND,0,1,1,nil)
if Duel.SendtoGrave(g,REASON_EFFECT+REASON_DISCARD)==0 then return end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_DESTROY)
local sg=dg:Select(tp,1,1,nil)
Duel.HintSelection(sg)
Duel.Destroy(sg,REASON_EFFECT)
end
end
......@@ -7,76 +7,75 @@ function c9910220.initial_effect(c)
local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(9910220,0))
e1:SetCategory(CATEGORY_SPECIAL_SUMMON)
e1:SetProperty(EFFECT_FLAG_CARD_TARGET)
e1:SetType(EFFECT_TYPE_QUICK_O)
e1:SetCode(EVENT_FREE_CHAIN)
e1:SetHintTiming(0,TIMINGS_CHECK_MONSTER+TIMING_MAIN_END)
e1:SetRange(LOCATION_MZONE)
e1:SetCountLimit(1,9910220)
e1:SetCondition(c9910220.lkcon)
e1:SetCost(c9910220.lkcost)
e1:SetTarget(c9910220.lktg)
e1:SetOperation(c9910220.lkop)
c:RegisterEffect(e1)
--special summon
--draw
local e2=Effect.CreateEffect(c)
e2:SetDescription(aux.Stringid(9910220,1))
e2:SetCategory(CATEGORY_SPECIAL_SUMMON)
e2:SetCategory(CATEGORY_DRAW+CATEGORY_RELEASE)
e2:SetType(EFFECT_TYPE_QUICK_O)
e2:SetCode(EVENT_FREE_CHAIN)
e2:SetHintTiming(0,TIMING_END_PHASE)
e2:SetCode(EVENT_CHAINING)
e2:SetRange(LOCATION_MZONE)
e2:SetCountLimit(1,9910221)
e2:SetCondition(c9910220.spcon)
e2:SetCost(c9910220.spcost)
e2:SetTarget(c9910220.sptg)
e2:SetOperation(c9910220.spop)
e2:SetCondition(c9910220.drcon)
e2:SetTarget(c9910220.drtg)
e2:SetOperation(c9910220.drop)
c:RegisterEffect(e2)
end
function c9910220.lkcon(e,tp,eg,ep,ev,re,r,rp)
return Duel.GetTurnPlayer()~=tp
and (Duel.GetCurrentPhase()==PHASE_MAIN1 or Duel.GetCurrentPhase()==PHASE_MAIN2)
end
function c9910220.lkcost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(Card.IsDiscardable,tp,LOCATION_HAND,0,1,e:GetHandler()) end
Duel.DiscardHand(tp,Card.IsDiscardable,1,1,REASON_COST+REASON_DISCARD)
end
function c9910220.lkfilter(c)
return c:IsLinkSummonable(nil)
return c:IsFaceup() and c:IsSetCard(0x955)
and Duel.IsExistingMatchingCard(Card.IsLinkSummonable,tp,LOCATION_EXTRA,0,1,nil,nil,c)
end
function c9910220.lktg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(c9910220.lkfilter,tp,LOCATION_EXTRA,0,1,nil) end
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,1,0,0)
local c=e:GetHandler()
if chkc then return chkc:IsLocation(LOCATION_MZONE) and chkc:IsControler(tp) and c9910220.lkfilter(chkc) and chkc~=c end
if chk==0 then return Duel.IsExistingTarget(c9910220.lkfilter,tp,LOCATION_MZONE,0,1,nil) end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_FACEUP)
Duel.SelectTarget(tp,c9910220.lkfilter,tp,LOCATION_MZONE,0,1,1,nil)
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,1,tp,LOCATION_EXTRA)
end
function c9910220.lkop(e,tp,eg,ep,ev,re,r,rp)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON)
local g=Duel.SelectMatchingCard(tp,c9910220.lkfilter,tp,LOCATION_EXTRA,0,1,1,nil)
local tc=g:GetFirst()
if tc then
Duel.LinkSummon(tp,tc,nil)
local tc=Duel.GetFirstTarget()
local tg=Duel.GetMatchingGroup(Card.IsLinkSummonable,tp,LOCATION_EXTRA,0,nil,nil,tc)
if tc:IsRelateToEffect(e) and tc:IsFaceup() and tg:GetCount()>0 then
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON)
local sg=tg:Select(tp,1,1,nil)
local sc=sg:GetFirst()
Duel.LinkSummon(tp,sc,nil,tc)
end
end
function c9910220.spcon(e,tp,eg,ep,ev,re,r,rp)
return e:GetHandler():IsSummonType(SUMMON_TYPE_LINK)
end
function c9910220.spcost(e,tp,eg,ep,ev,re,r,rp,chk)
function c9910220.drcon(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
if chk==0 then return c:IsAbleToRemoveAsCost() end
Duel.Remove(c,POS_FACEUP,REASON_COST)
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 c9910220.spfilter(c,e,tp,ec)
return c:IsLinkBelow(2) and c:IsSetCard(0x955) and not c:IsCode(9910220)
and c:IsCanBeSpecialSummoned(e,0,tp,false,false) and Duel.GetLocationCountFromEx(tp,tp,ec,c)>0
end
function c9910220.sptg(e,tp,eg,ep,ev,re,r,rp,chk)
local c=e:GetHandler()
if chk==0 then return Duel.IsExistingMatchingCard(c9910220.spfilter,tp,LOCATION_EXTRA,0,1,nil,e,tp,c) end
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,1,tp,LOCATION_EXTRA)
function c9910220.drtg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsPlayerCanDraw(tp,1) end
Duel.SetTargetPlayer(tp)
Duel.SetTargetParam(1)
Duel.SetOperationInfo(0,CATEGORY_DRAW,nil,0,tp,1)
end
function c9910220.spop(e,tp,eg,ep,ev,re,r,rp)
function c9910220.drop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON)
local g=Duel.SelectMatchingCard(tp,c9910220.spfilter,tp,LOCATION_EXTRA,0,1,1,nil,e,tp,c)
if g:GetCount()>0 then
Duel.SpecialSummon(g,0,tp,tp,false,false,POS_FACEUP)
local p,d=Duel.GetChainInfo(0,CHAININFO_TARGET_PLAYER,CHAININFO_TARGET_PARAM)
if Duel.Draw(p,d,REASON_EFFECT)~=0 and c:IsRelateToEffect(e) and c:IsReleasableByEffect()
and Duel.IsPlayerCanDraw(tp,1) and Duel.SelectYesNo(tp,aux.Stringid(9910220,2)) then
Duel.BreakEffect()
if Duel.Release(c,REASON_EFFECT)~=0 then
Duel.Draw(tp,1,REASON_EFFECT)
end
end
end
......@@ -5,7 +5,6 @@ function c9910222.initial_effect(c)
e1:SetCategory(CATEGORY_SPECIAL_SUMMON)
e1:SetType(EFFECT_TYPE_IGNITION)
e1:SetRange(LOCATION_HAND)
e1:SetCountLimit(1,9910222)
e1:SetCondition(c9910222.spcon)
e1:SetTarget(c9910222.sptg)
e1:SetOperation(c9910222.spop)
......
......@@ -4,8 +4,9 @@ function c9910223.initial_effect(c)
local e1=Effect.CreateEffect(c)
e1:SetCategory(CATEGORY_ATKCHANGE+CATEGORY_DESTROY+CATEGORY_DAMAGE)
e1:SetType(EFFECT_TYPE_ACTIVATE)
e1:SetProperty(EFFECT_FLAG_CARD_TARGET)
e1:SetProperty(EFFECT_FLAG_CARD_TARGET+EFFECT_FLAG_DAMAGE_STEP)
e1:SetCode(EVENT_FREE_CHAIN)
e1:SetHintTiming(TIMING_DAMAGE_STEP,TIMING_DAMAGE_STEP+TIMINGS_CHECK_MONSTER)
e1:SetCondition(c9910223.condition)
e1:SetCost(c9910223.cost)
e1:SetTarget(c9910223.target)
......
......@@ -5,14 +5,13 @@ function c9910224.initial_effect(c)
e1:SetCategory(CATEGORY_SPECIAL_SUMMON+CATEGORY_TOGRAVE)
e1:SetType(EFFECT_TYPE_ACTIVATE)
e1:SetCode(EVENT_FREE_CHAIN)
e1:SetCountLimit(1,9910224)
e1:SetCondition(c9910224.condition)
e1:SetTarget(c9910224.target)
e1:SetOperation(c9910224.activate)
c:RegisterEffect(e1)
--to deck
--draw & to deck
local e2=Effect.CreateEffect(c)
e2:SetCategory(CATEGORY_TODECK)
e2:SetCategory(CATEGORY_DRAW+CATEGORY_TODECK)
e2:SetType(EFFECT_TYPE_IGNITION)
e2:SetProperty(EFFECT_FLAG_CARD_TARGET)
e2:SetRange(LOCATION_GRAVE)
......@@ -57,16 +56,23 @@ function c9910224.tdfilter(c)
return c:IsSetCard(0x955) and c:IsAbleToDeck()
end
function c9910224.tdtg(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
if chkc then return chkc:IsControler(tp) and chkc:IsLocation(LOCATION_GRAVE) and c9910224.tdfilter(chkc)
and not chkc==e:GetHandler() end
if chk==0 then return Duel.IsExistingTarget(c9910224.tdfilter,tp,LOCATION_GRAVE,0,1,e:GetHandler()) end
local c=e:GetHandler()
if chkc then return chkc:IsControler(tp) and chkc:IsLocation(LOCATION_GRAVE) and c9910224.tdfilter(chkc) and chkc~=c end
if chk==0 then return Duel.IsPlayerCanDraw(tp,1)
and Duel.IsExistingTarget(c9910224.tdfilter,tp,LOCATION_GRAVE,0,1,c) end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TODECK)
local g=Duel.SelectTarget(tp,c9910224.tdfilter,tp,LOCATION_GRAVE,0,1,1,e:GetHandler())
Duel.SetOperationInfo(0,CATEGORY_TODECK,g,1,0,0)
Duel.SelectTarget(tp,c9910224.tdfilter,tp,LOCATION_GRAVE,0,1,1,c)
Duel.SetOperationInfo(0,CATEGORY_DRAW,nil,0,tp,1)
Duel.SetOperationInfo(0,CATEGORY_TODECK,nil,0,tp,2)
end
function c9910224.tdop(e,tp,eg,ep,ev,re,r,rp)
local tc=Duel.GetFirstTarget()
if tc:IsRelateToEffect(e) then
Duel.SendtoDeck(tc,nil,2,REASON_EFFECT)
if Duel.Draw(tp,1,REASON_EFFECT)==0 then return end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TODECK)
local g=Duel.SelectMatchingCard(tp,Card.IsAbleToDeck,tp,LOCATION_HAND,0,1,1,nil)
if tc:IsRelateToEffect(e) then g:AddCard(tc) end
if g:GetCount()>0 then
Duel.BreakEffect()
Duel.SendtoDeck(g,nil,2,REASON_EFFECT)
end
end
......@@ -52,7 +52,7 @@ function c9910225.atkop(e,tp,eg,ep,ev,re,r,rp)
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetCode(EFFECT_UPDATE_ATTACK)
e1:SetValue(atk*600)
e1:SetValue(atk*250)
e1:SetReset(RESET_EVENT+RESETS_STANDARD+RESET_DISABLE)
c:RegisterEffect(e1)
end
......@@ -60,13 +60,13 @@ function c9910225.atkop2(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetCode(EFFECT_EXTRA_ATTACK_MONSTER)
e1:SetCode(EFFECT_EXTRA_ATTACK)
e1:SetValue(c:GetMaterialCount()-1)
e1:SetReset(RESET_EVENT+RESETS_STANDARD+RESET_DISABLE)
c:RegisterEffect(e1)
end
function c9910225.discon(e,tp,eg,ep,ev,re,r,rp)
return ep==1-tp and re:IsActiveType(TYPE_MONSTER) and Duel.IsChainNegatable(ev)
return re:IsActiveType(TYPE_MONSTER) and Duel.IsChainNegatable(ev)
and not e:GetHandler():IsStatus(STATUS_BATTLE_DESTROYED)
end
function c9910225.distg(e,tp,eg,ep,ev,re,r,rp,chk)
......
......@@ -6,17 +6,22 @@ function c9910237.initial_effect(c)
e1:SetType(EFFECT_TYPE_ACTIVATE)
e1:SetCode(EVENT_FREE_CHAIN)
e1:SetProperty(EFFECT_FLAG_CARD_TARGET)
e1:SetCountLimit(1,9910237+EFFECT_COUNT_CODE_OATH)
e1:SetCondition(c9910237.condition)
e1:SetTarget(c9910237.target)
e1:SetOperation(c9910237.operation)
c:RegisterEffect(e1)
end
function c9910237.cfilter(c)
return c:GetSequence()<5 and (c:IsFacedown() or not c:IsRace(RACE_PSYCHO))
end
function c9910237.condition(e,tp,eg,ep,ev,re,r,rp)
return not Duel.IsExistingMatchingCard(c9910237.cfilter,tp,LOCATION_MZONE,0,1,nil)
--to grave
local e2=Effect.CreateEffect(c)
e2:SetCategory(CATEGORY_TOGRAVE+CATEGORY_TODECK)
e2:SetType(EFFECT_TYPE_QUICK_O)
e2:SetCode(EVENT_FREE_CHAIN)
e2:SetRange(LOCATION_GRAVE)
e2:SetProperty(EFFECT_FLAG_CARD_TARGET)
e2:SetHintTiming(0,TIMINGS_CHECK_MONSTER+TIMING_END_PHASE)
e2:SetCountLimit(1,9910237)
e2:SetCost(aux.bfgcost)
e2:SetTarget(c9910237.tgtg)
e2:SetOperation(c9910237.tgop)
c:RegisterEffect(e2)
end
function c9910237.filter(c,e,tp)
return c:IsFaceup() and c:IsSetCard(0x955) and c:IsAbleToDeck()
......@@ -46,16 +51,31 @@ function c9910237.operation(e,tp,eg,ep,ev,re,r,rp)
end
end
end
local e1=Effect.CreateEffect(e:GetHandler())
e1:SetType(EFFECT_TYPE_FIELD)
e1:SetCode(EFFECT_CANNOT_ACTIVATE)
e1:SetProperty(EFFECT_FLAG_PLAYER_TARGET)
e1:SetTargetRange(1,0)
e1:SetValue(c9910237.actlimit)
e1:SetReset(RESET_PHASE+PHASE_END)
Duel.RegisterEffect(e1,tp)
end
function c9910237.actlimit(e,re,rp)
local rc=re:GetHandler()
return re:IsActiveType(TYPE_MONSTER) and not rc:IsAttribute(ATTRIBUTE_WIND)
end
function c9910237.lvfilter(c,tp)
local lv=c:GetLevel()
return lv>0 and c:IsAttribute(ATTRIBUTE_WIND)
and Duel.IsExistingMatchingCard(c9910237.tgfilter,tp,LOCATION_DECK,0,1,nil,lv)
end
function c9910237.tgfilter(c,lv)
return c:IsSetCard(0x955) and not c:IsLevel(lv) and c:IsLevelAbove(1) and c:IsType(TYPE_MONSTER) and c:IsAbleToGrave()
end
function c9910237.tgtg(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
if chkc then return chkc:IsLocation(LOCATION_GRAVE) and chkc:IsControler(tp) and c9910237.lvfilter(chkc,tp) end
if chk==0 then return Duel.IsExistingTarget(c9910237.lvfilter,tp,LOCATION_GRAVE,0,1,nil,tp) end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TODECK)
local g=Duel.SelectTarget(tp,c9910237.lvfilter,tp,LOCATION_GRAVE,0,1,1,nil,tp)
Duel.SetOperationInfo(0,CATEGORY_TODECK,g,1,0,0)
Duel.SetOperationInfo(0,CATEGORY_TOGRAVE,nil,1,tp,LOCATION_DECK)
end
function c9910237.tgop(e,tp,eg,ep,ev,re,r,rp)
local tc=Duel.GetFirstTarget()
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TOGRAVE)
local g=Duel.SelectMatchingCard(tp,c9910237.tgfilter,tp,LOCATION_DECK,0,1,1,nil,tc:GetLevel())
if g:GetCount()>0 then
local gc=g:GetFirst()
if Duel.SendtoGrave(gc,REASON_EFFECT)~=0 and tc:IsRelateToEffect(e) then
Duel.SendtoDeck(tc,nil,2,REASON_EFFECT)
end
end
end
--积聚希望的韶光
function c9910454.initial_effect(c)
c:EnableCounterPermit(0x1950)
c:EnableCounterPermit(0x950)
--Activate
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_ACTIVATE)
......@@ -12,40 +12,34 @@ function c9910454.initial_effect(c)
e2:SetType(EFFECT_TYPE_IGNITION)
e2:SetRange(LOCATION_SZONE)
e2:SetCountLimit(1,9910454)
e2:SetCondition(c9910454.drcon)
e2:SetCost(c9910454.drcost)
e2:SetTarget(c9910454.drtg)
e2:SetOperation(c9910454.drop)
c:RegisterEffect(e2)
end
function c9910454.drcon(e,tp,eg,ep,ev,re,r,rp)
return Duel.GetFieldGroupCount(tp,LOCATION_HAND,0)>2
function c9910454.drcost(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 c9910454.drtg(e,tp,eg,ep,ev,re,r,rp,chk)
local ct=Duel.GetCounter(tp,1,0,0x1950)+3-Duel.GetFieldGroupCount(tp,LOCATION_HAND,0)
if chk==0 then return (ct<=0 or Duel.IsPlayerCanDraw(tp,ct))
and Duel.IsExistingMatchingCard(Card.IsAbleToDeck,tp,LOCATION_HAND,0,1,nil) end
Duel.SetOperationInfo(0,CATEGORY_TODECK,nil,1,tp,LOCATION_HAND)
local ct=Duel.GetCounter(tp,1,0,0x950)+1
if chk==0 then return Duel.IsPlayerCanDraw(tp,ct) end
Duel.SetOperationInfo(0,CATEGORY_DRAW,nil,0,tp,1)
end
function c9910454.drop(e,tp,eg,ep,ev,re,r,rp)
if not e:GetHandler():IsRelateToEffect(e) then return end
local ct=Duel.GetCounter(tp,1,0,0x950)+1
if Duel.Draw(tp,ct,REASON_EFFECT)==0 then return end
local g=Duel.GetFieldGroup(tp,LOCATION_HAND,0)
if Duel.SendtoDeck(g,nil,0,REASON_EFFECT)~=0 then
local og=g:Filter(Card.IsLocation,nil,LOCATION_DECK)
if og:IsExists(Card.IsControler,1,nil,tp) then Duel.ShuffleDeck(tp) end
if og:IsExists(Card.IsControler,1,nil,1-tp) then Duel.ShuffleDeck(1-tp) end
Duel.BreakEffect()
local ct=Duel.GetCounter(tp,1,0,0x1950)+3
Duel.Draw(tp,ct,REASON_EFFECT)
local sg=Duel.GetOperatedGroup()
Duel.ConfirmCards(1-tp,sg)
if sg:GetClassCount(Card.GetCode)==sg:GetCount() then
if sg:IsExists(Card.IsSetCard,1,nil,0x9950) then
e:GetHandler():AddCounter(0x1950,1)
Duel.ShuffleHand(tp)
end
else
Duel.SendtoDeck(sg,nil,2,REASON_EFFECT)
if g:GetCount()<1 then return end
Duel.BreakEffect()
Duel.ConfirmCards(1-tp,g)
if g:GetClassCount(Card.GetCode)==g:GetCount() then
if g:IsExists(Card.IsSetCard,1,nil,0x9950) then
e:GetHandler():AddCounter(0x950,1)
Duel.ShuffleHand(tp)
end
else
Duel.SendtoDeck(g,nil,2,REASON_EFFECT)
end
end
--韶光歌后 玛丽亚·毕肖普
function c9910457.initial_effect(c)
c:EnableCounterPermit(0x1950)
c:EnableCounterPermit(0x950)
--fusion material
c:EnableReviveLimit()
aux.AddFusionProcFunFunRep(c,aux.FilterBoolFunction(Card.IsFusionSetCard,0x9950),c9910457.matfilter,2,63,true)
......@@ -53,17 +53,17 @@ function c9910457.adop(e,tp,eg,ep,ev,re,r,rp)
if c:GetMaterial():IsExists(c9910457.cfilter,1,nil,LOCATION_EXTRA) then ct=ct+1 end
if c:GetMaterial():IsExists(c9910457.cfilter,1,nil,LOCATION_REMOVED) then ct=ct+1 end
if c:GetMaterial():IsExists(c9910457.cfilter,1,nil,LOCATION_SZONE) then ct=ct+1 end
if ct>0 and c:IsCanAddCounter(0x1950,ct) then
if ct>0 and c:IsCanAddCounter(0x950,ct) then
Duel.Hint(HINT_CARD,0,9910457)
c:AddCounter(0x1950,ct)
c:AddCounter(0x950,ct)
end
end
function c9910457.discon(e,tp,eg,ep,ev,re,r,rp)
return rp==1-tp and not e:GetHandler():IsStatus(STATUS_BATTLE_DESTROYED) and Duel.IsChainNegatable(ev)
end
function c9910457.discost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return e:GetHandler():IsCanRemoveCounter(tp,0x1950,1,REASON_COST) end
e:GetHandler():RemoveCounter(tp,0x1950,1,REASON_COST)
if chk==0 then return e:GetHandler():IsCanRemoveCounter(tp,0x950,1,REASON_COST) end
e:GetHandler():RemoveCounter(tp,0x950,1,REASON_COST)
end
function c9910457.distg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return true end
......@@ -77,15 +77,15 @@ function c9910457.rctcon(e,tp,eg,ep,ev,re,r,rp)
end
function c9910457.rcttg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return true end
if not e:GetHandler():IsCanRemoveCounter(tp,0x1950,1,REASON_EFFECT) then
if not e:GetHandler():IsCanRemoveCounter(tp,0x950,1,REASON_EFFECT) then
Duel.SetOperationInfo(0,CATEGORY_DESTROY,e:GetHandler(),1,0,0)
end
end
function c9910457.rctop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
if c:IsFaceup() and c:IsRelateToEffect(e) then
if c:IsCanRemoveCounter(tp,0x1950,1,REASON_EFFECT) then
c:RemoveCounter(tp,0x1950,1,REASON_EFFECT)
if c:IsCanRemoveCounter(tp,0x950,1,REASON_EFFECT) then
c:RemoveCounter(tp,0x950,1,REASON_EFFECT)
else
Duel.Destroy(c,REASON_EFFECT)
end
......
--韶光的怀恋 希尔维娅
function c9910461.initial_effect(c)
c:EnableCounterPermit(0x1950)
c:EnableCounterPermit(0x950)
--synchro summon
aux.AddSynchroProcedure(c,aux.FilterBoolFunction(Card.IsAttribute,ATTRIBUTE_LIGHT),aux.NonTuner(nil),1)
c:EnableReviveLimit()
......@@ -28,16 +28,16 @@ function c9910461.ctcon(e,tp,eg,ep,ev,re,r,rp)
return e:GetHandler():IsSummonType(SUMMON_TYPE_SYNCHRO)
end
function c9910461.cttg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return e:GetHandler():IsCanAddCounter(0x1950,1) end
Duel.SetOperationInfo(0,CATEGORY_COUNTER,nil,1,0,0x1950)
if chk==0 then return e:GetHandler():IsCanAddCounter(0x950,1) end
Duel.SetOperationInfo(0,CATEGORY_COUNTER,nil,1,0,0x950)
end
function c9910461.ctop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
if c:IsRelateToEffect(e) and c:AddCounter(0x1950,1) and Duel.GetCounter(tp,1,0,0x1950)>0
if c:IsRelateToEffect(e) and c:AddCounter(0x950,1) and Duel.GetCounter(tp,1,0,0x950)>0
and Duel.IsExistingMatchingCard(Card.IsAbleToHand,tp,LOCATION_ONFIELD,LOCATION_ONFIELD,1,nil)
and Duel.SelectYesNo(tp,aux.Stringid(9910461,0)) then
Duel.BreakEffect()
local ct=Duel.GetCounter(tp,1,0,0x1950)
local ct=Duel.GetCounter(tp,1,0,0x950)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_RTOHAND)
local g=Duel.SelectMatchingCard(tp,Card.IsAbleToHand,tp,LOCATION_ONFIELD,LOCATION_ONFIELD,1,ct,nil)
Duel.HintSelection(g)
......
......@@ -12,18 +12,18 @@ function c9910462.initial_effect(c)
c:RegisterEffect(e1)
end
function c9910462.ctfilter(c)
return c:IsFaceup() and c:IsCanAddCounter(0x1950,1)
return c:IsFaceup() and c:IsCanAddCounter(0x950,1)
end
function c9910462.target(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
if chkc then return chkc:IsOnField() and chkc:IsControler(tp) and c9910462.ctfilter(chkc) end
if chk==0 then return Duel.IsExistingTarget(c9910462.ctfilter,tp,LOCATION_ONFIELD,0,1,nil) end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TARGET)
Duel.SelectTarget(tp,c9910462.ctfilter,tp,LOCATION_ONFIELD,0,1,1,nil)
Duel.SetOperationInfo(0,CATEGORY_COUNTER,nil,1,0,0x1950)
Duel.SetOperationInfo(0,CATEGORY_COUNTER,nil,1,0,0x950)
end
function c9910462.operation(e,tp,eg,ep,ev,re,r,rp)
local tc=Duel.GetFirstTarget()
if tc:IsFaceup() and tc:IsRelateToEffect(e) and tc:AddCounter(0x1950,1) and tc:IsType(TYPE_FUSION) then
if tc:IsFaceup() and tc:IsRelateToEffect(e) and tc:AddCounter(0x950,1) and tc:IsType(TYPE_FUSION) then
local e1=Effect.CreateEffect(e:GetHandler())
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetCode(EFFECT_IMMUNE_EFFECT)
......
--韶光的祈福 希尔维娅
function c9910463.initial_effect(c)
c:EnableCounterPermit(0x950)
--link summon
aux.AddLinkProcedure(c,c9910463.matfilter,3,99,c9910463.lcheck)
c:EnableReviveLimit()
--extra material
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_FIELD)
e1:SetProperty(EFFECT_FLAG_UNCOPYABLE+EFFECT_FLAG_IGNORE_IMMUNE)
e1:SetCode(EFFECT_EXTRA_LINK_MATERIAL)
e1:SetRange(LOCATION_EXTRA)
e1:SetTargetRange(0,LOCATION_MZONE)
e1:SetValue(c9910463.matval)
c:RegisterEffect(e1)
--special summon
local e2=Effect.CreateEffect(c)
e2:SetCategory(CATEGORY_SPECIAL_SUMMON+CATEGORY_COUNTER)
e2:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_F)
e2:SetCode(EVENT_SPSUMMON_SUCCESS)
e2:SetCondition(c9910463.condition)
e2:SetTarget(c9910463.target)
e2:SetOperation(c9910463.operation)
c:RegisterEffect(e2)
end
function c9910463.matfilter(c)
return c:IsSummonType(SUMMON_TYPE_SPECIAL)
end
function c9910463.lcheck(g)
local res=true
local loct={}
for i=1,6 do loct[i]=0 end
local tc=g:GetFirst()
while tc do
if tc:GetSummonLocation()==LOCATION_HAND then loct[1]=loct[1]+1
elseif tc:GetSummonLocation()==LOCATION_DECK then loct[2]=loct[2]+1
elseif tc:GetSummonLocation()==LOCATION_GRAVE then loct[3]=loct[3]+1
elseif tc:GetSummonLocation()==LOCATION_EXTRA then loct[4]=loct[4]+1
elseif tc:GetSummonLocation()==LOCATION_REMOVED then loct[5]=loct[5]+1
elseif tc:GetSummonLocation()==LOCATION_SZONE then loct[6]=loct[6]+1
else res=false end
tc=g:GetNext()
end
for i=1,6 do
if loct[i]>1 then res=false end
end
return res
end
function c9910463.matval(e,lc,mg,c,tp)
local ct=Duel.GetMatchingGroupCount(c9910463.sgfilter,tp,LOCATION_MZONE,0,nil)
if e:GetHandler()~=lc or ct==0 then return false,nil end
return true,not mg or not mg:IsExists(Card.IsControler,ct,nil,1-tp)
end
function c9910463.condition(e,tp,eg,ep,ev,re,r,rp)
return e:GetHandler():IsSummonType(SUMMON_TYPE_LINK)
end
function c9910463.spfilter(c,e,tp)
return c:IsSetCard(0x9950) and c:IsCanBeSpecialSummoned(e,0,tp,false,false,POS_FACEUP_DEFENSE)
and (c:IsLocation(LOCATION_GRAVE) and Duel.GetMZoneCount(tp)>0
or c:IsLocation(LOCATION_EXTRA) and Duel.GetLocationCountFromEx(tp,tp,nil,c)>0)
end
function c9910463.target(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(c9910463.spfilter,tp,LOCATION_GRAVE+LOCATION_EXTRA,0,1,nil,e,tp) end
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,1,tp,LOCATION_GRAVE+LOCATION_EXTRA)
end
function c9910463.operation(e,tp,eg,ep,ev,re,r,rp)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON)
local loc=LOCATION_ONFIELD
local g=Duel.SelectMatchingCard(tp,aux.NecroValleyFilter(c9910463.spfilter),tp,LOCATION_GRAVE+LOCATION_EXTRA,0,1,1,nil,e,tp)
if g:GetCount()>0 and Duel.SpecialSummon(g,0,tp,tp,false,false,POS_FACEUP_DEFENSE)~=0
and Duel.GetMatchingGroupCount(Card.IsCanAddCounter,tp,loc,loc,nil,0x950,1)>0 then
local ct=3
while ct>0 do
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_COUNTER)
local tc=Duel.SelectMatchingCard(tp,Card.IsCanAddCounter,tp,loc,loc,1,1,nil,0x950,1):GetFirst()
if not tc then break end
tc:AddCounter(0x950,1)
ct=ct-1
end
end
end
--偏移命运的韶光
function c9910464.initial_effect(c)
--confirm deck
local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(9910464,0))
e1:SetCategory(CATEGORY_TOGRAVE+CATEGORY_SEARCH+CATEGORY_TOHAND)
e1:SetType(EFFECT_TYPE_ACTIVATE)
e1:SetCode(EVENT_FREE_CHAIN)
e1:SetCountLimit(1,9910464+EFFECT_COUNT_CODE_OATH)
e1:SetTarget(c9910464.target)
e1:SetOperation(c9910464.activate)
c:RegisterEffect(e1)
--confirm extra
local e2=Effect.CreateEffect(c)
e2:SetDescription(aux.Stringid(9910464,1))
e2:SetCategory(CATEGORY_TOGRAVE+CATEGORY_SPECIAL_SUMMON)
e2:SetType(EFFECT_TYPE_ACTIVATE)
e2:SetCode(EVENT_FREE_CHAIN)
e2:SetCountLimit(1,9910464+EFFECT_COUNT_CODE_OATH)
e2:SetTarget(c9910464.target2)
e2:SetOperation(c9910464.activate2)
c:RegisterEffect(e2)
end
function c9910464.tgfilter(c)
return c:IsSetCard(0x9950) and c:IsAbleToGrave()
end
function c9910464.target(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.GetFieldGroupCount(tp,LOCATION_DECK,0)>0
and Duel.IsExistingMatchingCard(c9910464.tgfilter,tp,LOCATION_DECK,0,1,nil) end
Duel.SetOperationInfo(0,CATEGORY_TOGRAVE,nil,1,tp,LOCATION_DECK)
Duel.SetOperationInfo(0,CATEGORY_TOHAND,nil,0,tp,LOCATION_DECK)
end
function c9910464.thfilter(c)
return c:IsSetCard(0x9950) and c:IsAbleToHand()
end
function c9910464.activate(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
local g=Duel.GetFieldGroup(tp,LOCATION_DECK,0)
if g:GetCount()<1 then return end
Duel.ConfirmCards(tp,g)
Duel.ConfirmCards(1-tp,g)
if g:GetClassCount(Card.GetCode)==g:GetCount() and g:IsExists(c9910464.tgfilter,1,nil) then
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TOGRAVE)
local tg=g:FilterSelect(tp,c9910464.tgfilter,1,1,nil)
if tg:GetCount()>0 and Duel.SendtoGrave(tg,REASON_EFFECT)~=0
and Duel.IsExistingMatchingCard(c9910464.thfilter,tp,LOCATION_DECK,0,1,nil)
and Duel.SelectYesNo(tp,aux.Stringid(9910464,2)) then
Duel.BreakEffect()
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_ATOHAND)
local sg=Duel.SelectMatchingCard(tp,c9910464.thfilter,tp,LOCATION_DECK,0,1,1,nil)
Duel.SendtoHand(sg,nil,REASON_EFFECT)
Duel.ConfirmCards(1-tp,sg)
end
end
Duel.ShuffleDeck(tp)
end
function c9910464.spfilter(c,e,tp)
return c:IsSetCard(0x9950) and c:IsCanBeSpecialSummoned(e,0,tp,false,false)
end
function c9910464.target2(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.GetFieldGroupCount(tp,LOCATION_EXTRA,0)>0
and Duel.IsExistingMatchingCard(Card.IsAbleToGrave,tp,LOCATION_EXTRA,0,1,nil)
and Duel.IsExistingMatchingCard(c9910464.spfilter,tp,LOCATION_HAND,0,1,nil,e,tp) end
Duel.SetOperationInfo(0,CATEGORY_TOGRAVE,nil,1,tp,LOCATION_EXTRA)
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,1,tp,LOCATION_HAND)
end
function c9910464.activate2(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
local g=Duel.GetFieldGroup(tp,LOCATION_EXTRA,0)
if g:GetCount()<1 then return end
Duel.ConfirmCards(1-tp,g)
if g:GetClassCount(Card.GetCode)==g:GetCount() and g:IsExists(Card.IsAbleToGrave,1,nil) then
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TOGRAVE)
local tg=g:FilterSelect(tp,Card.IsAbleToGrave,1,1,nil)
if tg:GetCount()>0 and Duel.SendtoGrave(tg,REASON_EFFECT)~=0
and Duel.IsExistingMatchingCard(c9910464.spfilter,tp,LOCATION_HAND,0,1,nil,e,tp) then
Duel.BreakEffect()
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON)
local sg=Duel.SelectMatchingCard(tp,c9910464.spfilter,tp,LOCATION_HAND,0,1,1,nil,e,tp)
if sg:GetCount()>0 then
Duel.SpecialSummon(sg,0,tp,tp,false,false,POS_FACEUP)
end
end
end
end
......@@ -6,6 +6,7 @@ function c9910551.initial_effect(c)
e1:SetCode(EFFECT_SPSUMMON_PROC)
e1:SetProperty(EFFECT_FLAG_UNCOPYABLE)
e1:SetRange(LOCATION_HAND)
e1:SetCountLimit(1,9910550+EFFECT_COUNT_CODE_OATH)
e1:SetCondition(c9910551.spcon)
e1:SetOperation(c9910551.spop)
c:RegisterEffect(e1)
......@@ -50,7 +51,7 @@ function c9910551.thfilter(c)
return c:IsSetCard(0x3951) and c:IsAbleToHand()
end
function c9910551.rmfilter(c)
return c:IsSetCard(0x3951) and c:IsAbleToRemove() and not c:IsCode(9910551)
return c:IsSetCard(0x3951) and c:IsAbleToRemove()
end
function c9910551.thop(e,tp,eg,ep,ev,re,r,rp)
if Duel.GetFieldGroupCount(tp,LOCATION_DECK,0)<=4 then return end
......@@ -67,10 +68,10 @@ function c9910551.thop(e,tp,eg,ep,ev,re,r,rp)
Duel.ShuffleDeck(tp)
local g1=Duel.GetMatchingGroup(aux.NecroValleyFilter(c9910551.rmfilter),tp,LOCATION_GRAVE,0,nil)
local g2=Duel.GetMatchingGroup(Card.IsAbleToRemove,tp,LOCATION_MZONE,LOCATION_MZONE,nil)
if g1:GetCount()>0 and g2:GetCount()>0 and Duel.SelectYesNo(tp,aux.Stringid(9910551,2)) then
if g1:GetCount()>1 and g2:GetCount()>0 and Duel.SelectYesNo(tp,aux.Stringid(9910551,2)) then
Duel.BreakEffect()
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_REMOVE)
local sg1=g1:Select(tp,1,1,nil)
local sg1=g1:Select(tp,2,2,nil)
if Duel.Remove(sg1,POS_FACEUP,REASON_EFFECT)==0 then return end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_REMOVE)
local tc2=g2:Select(tp,1,1,nil):GetFirst()
......
......@@ -6,16 +6,15 @@ function c9910552.initial_effect(c)
e1:SetCode(EFFECT_SPSUMMON_PROC)
e1:SetProperty(EFFECT_FLAG_UNCOPYABLE)
e1:SetRange(LOCATION_HAND)
e1:SetCountLimit(1,9910550+EFFECT_COUNT_CODE_OATH)
e1:SetCondition(c9910552.spcon)
e1:SetOperation(c9910552.spop)
c:RegisterEffect(e1)
--to hand
local e2=Effect.CreateEffect(c)
e2:SetCategory(CATEGORY_TOHAND+CATEGORY_REMOVE+CATEGORY_DRAW+CATEGORY_HANDES)
e2:SetType(EFFECT_TYPE_QUICK_O)
e2:SetCategory(CATEGORY_TOGRAVE+CATEGORY_REMOVE+CATEGORY_DRAW)
e2:SetType(EFFECT_TYPE_IGNITION)
e2:SetProperty(EFFECT_FLAG_CARD_TARGET)
e2:SetCode(EVENT_FREE_CHAIN)
e2:SetHintTiming(0,TIMINGS_CHECK_MONSTER+TIMING_END_PHASE)
e2:SetRange(LOCATION_HAND)
e2:SetCountLimit(1,9910552)
e2:SetCost(c9910552.thcost)
......@@ -48,41 +47,20 @@ function c9910552.thcost(e,tp,eg,ep,ev,re,r,rp,chk)
end
function c9910552.thtg(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
if chkc then return chkc:IsOnField() and chkc:IsAbleToHand() end
if chk==0 then return Duel.IsExistingTarget(Card.IsAbleToHand,tp,LOCATION_ONFIELD,LOCATION_ONFIELD,1,nil) end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_ATOHAND)
if chk==0 then return Duel.IsExistingTarget(Card.IsAbleToGrave,tp,LOCATION_ONFIELD,LOCATION_ONFIELD,1,nil) end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TOGRAVE)
Duel.SelectTarget(tp,Card.IsAbleToHand,tp,LOCATION_ONFIELD,LOCATION_ONFIELD,1,1,nil)
Duel.SetOperationInfo(0,CATEGORY_TOHAND,g,1,0,0)
end
function c9910552.rmfilter(c)
return c:IsSetCard(0x3951) and c:IsAbleToRemove() and not c:IsCode(9910552)
Duel.SetOperationInfo(0,CATEGORY_TOGRAVE,g,1,0,0)
end
function c9910552.thop(e,tp,eg,ep,ev,re,r,rp)
local tc=Duel.GetFirstTarget()
if not tc or not tc:IsRelateToEffect(e) or Duel.SendtoHand(tc,tp,REASON_EFFECT)==0 then return end
local g=Duel.GetMatchingGroup(aux.NecroValleyFilter(c9910552.rmfilter),tp,LOCATION_GRAVE,0,nil)
if not tc or not tc:IsRelateToEffect(e) or Duel.SendtoGrave(tc,REASON_EFFECT)==0 then return end
local g=Duel.GetMatchingGroup(Card.IsAbleToRemove,tp,LOCATION_HAND,0,nil)
if g:GetCount()>0 and Duel.IsPlayerCanDraw(tp,1) and Duel.SelectYesNo(tp,aux.Stringid(9910552,1)) then
Duel.BreakEffect()
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_REMOVE)
local sg=g:Select(tp,1,1,nil)
if Duel.Remove(sg,POS_FACEUP,REASON_EFFECT)==0 then return end
if Duel.Draw(tp,1,REASON_EFFECT)==0 then return end
Duel.ShuffleHand(tp)
local e1=Effect.CreateEffect(e:GetHandler())
e1:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
e1:SetCode(EVENT_PHASE+PHASE_STANDBY)
e1:SetCountLimit(1)
e1:SetLabel(Duel.GetTurnCount()+1)
e1:SetCondition(c9910552.hacon)
e1:SetOperation(c9910552.haop)
e1:SetReset(RESET_PHASE+PHASE_END,2)
Duel.RegisterEffect(e1,tp)
Duel.Draw(tp,1,REASON_EFFECT)
end
end
function c9910552.hacon(e,tp,eg,ep,ev,re,r,rp)
return Duel.GetTurnCount()==e:GetLabel()
and Duel.IsExistingMatchingCard(Card.IsDiscardable,tp,LOCATION_HAND,0,1,nil)
end
function c9910552.haop(e,tp,eg,ep,ev,re,r,rp)
Duel.Hint(HINT_CARD,0,9910552)
Duel.DiscardHand(tp,aux.TRUE,1,1,REASON_EFFECT+REASON_DISCARD)
end
......@@ -6,6 +6,7 @@ function c9910553.initial_effect(c)
e1:SetCode(EFFECT_SPSUMMON_PROC)
e1:SetProperty(EFFECT_FLAG_UNCOPYABLE)
e1:SetRange(LOCATION_HAND)
e1:SetCountLimit(1,9910550+EFFECT_COUNT_CODE_OATH)
e1:SetCondition(c9910553.spcon)
e1:SetOperation(c9910553.spop)
c:RegisterEffect(e1)
......@@ -44,14 +45,13 @@ function c9910553.discost(e,tp,eg,ep,ev,re,r,rp,chk)
Duel.SendtoGrave(g,REASON_COST+REASON_DISCARD)
end
function c9910553.distg(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
if chkc then return chkc:IsLocation(LOCATION_MZONE) and chkc:IsFaceup() end
if chk==0 then return Duel.IsExistingTarget(Card.IsFaceup,tp,LOCATION_MZONE,LOCATION_MZONE,1,nil) end
if chkc then return chkc:IsLocation(LOCATION_MZONE) and chkc:IsControler(1-tp) and aux.disfilter1(chkc) end
if chk==0 then return Duel.IsExistingTarget(aux.disfilter1,tp,0,LOCATION_MZONE,1,nil) end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_FACEUP)
local g=Duel.SelectTarget(tp,Card.IsFaceup,tp,LOCATION_MZONE,LOCATION_MZONE,1,1,nil)
Duel.SetOperationInfo(0,CATEGORY_DISABLE,g,1,0,0)
Duel.SelectTarget(tp,aux.disfilter1,tp,0,LOCATION_MZONE,1,1,nil)
end
function c9910553.rmfilter(c)
return c:IsSetCard(0x3951) and c:IsAbleToRemove() and not c:IsCode(9910553)
return c:IsSetCard(0x3951) and c:IsAbleToRemove()
end
function c9910553.thfilter(c)
return c:IsSetCard(0x3951) and c:IsAbleToHand()
......@@ -59,17 +59,8 @@ end
function c9910553.disop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
local tc=Duel.GetFirstTarget()
if not tc:IsRelateToEffect(e) or not tc:IsFaceup() then return end
if not tc:IsRelateToEffect(e) or not tc:IsFaceup() or tc:IsDisabled() or tc:IsImmuneToEffect(e) then return end
Duel.NegateRelatedChain(tc,RESET_TURN_SET)
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetCode(EFFECT_UPDATE_ATTACK)
e1:SetReset(RESET_EVENT+RESETS_STANDARD+RESET_PHASE+PHASE_END)
e1:SetValue(-1000)
tc:RegisterEffect(e1)
local e2=e1:Clone()
e2:SetCode(EFFECT_UPDATE_DEFENSE)
tc:RegisterEffect(e2)
local e3=Effect.CreateEffect(c)
e3:SetType(EFFECT_TYPE_SINGLE)
e3:SetCode(EFFECT_DISABLE)
......@@ -83,10 +74,10 @@ function c9910553.disop(e,tp,eg,ep,ev,re,r,rp)
tc:RegisterEffect(e4)
local g1=Duel.GetMatchingGroup(aux.NecroValleyFilter(c9910553.rmfilter),tp,LOCATION_GRAVE,0,nil)
local g2=Duel.GetMatchingGroup(c9910553.thfilter,tp,LOCATION_DECK,0,nil)
if g1:GetCount()>0 and g2:GetCount()>0 and Duel.SelectYesNo(tp,aux.Stringid(9910553,1)) then
if g1:GetCount()>1 and g2:GetCount()>0 and Duel.SelectYesNo(tp,aux.Stringid(9910553,1)) then
Duel.BreakEffect()
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_REMOVE)
local sg1=g1:Select(tp,1,1,nil)
local sg1=g1:Select(tp,2,2,nil)
if Duel.Remove(sg1,POS_FACEUP,REASON_EFFECT)==0 then return end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_ATOHAND)
local sg2=g2:Select(tp,1,1,nil)
......
......@@ -6,6 +6,7 @@ function c9910554.initial_effect(c)
e1:SetCode(EFFECT_SPSUMMON_PROC)
e1:SetProperty(EFFECT_FLAG_UNCOPYABLE)
e1:SetRange(LOCATION_HAND)
e1:SetCountLimit(1,9910550+EFFECT_COUNT_CODE_OATH)
e1:SetCondition(c9910554.spcon)
e1:SetOperation(c9910554.spop)
c:RegisterEffect(e1)
......@@ -51,16 +52,16 @@ function c9910554.rmtg(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
Duel.SetOperationInfo(0,CATEGORY_REMOVE,g,g:GetCount(),1-tp,LOCATION_GRAVE)
end
function c9910554.rmfilter(c)
return c:IsSetCard(0x3951) and c:IsAbleToRemove() and not c:IsCode(9910554)
return c:IsSetCard(0x3951) and c:IsAbleToRemove()
end
function c9910554.rmop(e,tp,eg,ep,ev,re,r,rp)
local g=Duel.GetChainInfo(0,CHAININFO_TARGET_CARDS):Filter(Card.IsRelateToEffect,nil,e)
if g:GetCount()==0 or Duel.Remove(g,POS_FACEUP,REASON_EFFECT)==0 then return end
local g1=Duel.GetMatchingGroup(aux.NecroValleyFilter(c9910554.rmfilter),tp,LOCATION_GRAVE,0,nil)
if g1:GetCount()>0 and Duel.SelectYesNo(tp,aux.Stringid(9910554,1)) then
if g1:GetCount()>1 and Duel.SelectYesNo(tp,aux.Stringid(9910554,1)) then
Duel.BreakEffect()
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_REMOVE)
local sg1=g1:Select(tp,1,1,nil)
local sg1=g1:Select(tp,2,2,nil)
if Duel.Remove(sg1,POS_FACEUP,REASON_EFFECT)==0 then return end
local ct=Duel.GetMatchingGroupCount(Card.IsFaceup,tp,LOCATION_REMOVED,LOCATION_REMOVED,nil)
Duel.Recover(tp,ct*500,REASON_EFFECT)
......
......@@ -6,6 +6,7 @@ function c9910558.initial_effect(c)
e1:SetCode(EFFECT_SPSUMMON_PROC)
e1:SetProperty(EFFECT_FLAG_UNCOPYABLE)
e1:SetRange(LOCATION_HAND)
e1:SetCountLimit(1,9910550+EFFECT_COUNT_CODE_OATH)
e1:SetCondition(c9910558.spcon)
e1:SetOperation(c9910558.spop)
c:RegisterEffect(e1)
......@@ -52,14 +53,11 @@ end
function c9910558.chtg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsPlayerCanDiscardDeck(tp,3) end
end
function c9910558.rmfilter(c)
return c:IsSetCard(0x3951) and c:IsAbleToRemove() and not c:IsCode(9910558)
end
function c9910558.chop(e,tp,eg,ep,ev,re,r,rp)
local g=Group.CreateGroup()
Duel.ChangeTargetCard(ev,g)
Duel.ChangeChainOperation(ev,c9910558.repop)
local g1=Duel.GetMatchingGroup(aux.NecroValleyFilter(c9910558.rmfilter),tp,LOCATION_GRAVE,0,nil)
local g1=Duel.GetMatchingGroup(Card.IsAbleToRemove,tp,LOCATION_HAND,0,nil)
if g1:GetCount()>0 and Duel.IsPlayerCanDraw(tp,1) and Duel.SelectYesNo(tp,aux.Stringid(9910558,1)) then
Duel.BreakEffect()
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_REMOVE)
......
......@@ -226,7 +226,7 @@
!setname 0x9950 韶光
!setname 0xa950 桃绯
!setname 0xc950 远古造物
!counter 0x1950 韶光指示物
!counter 0x950 韶光指示物
!counter 0x4950 指示物(比武!)
!setname 0x952 战车道
!setname 0x953 幽鬼
......
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