Commit 6dfa6062 authored by REIKAI's avatar REIKAI 💬

Merge branch '2023.09.17' into 'master'

2023.09.17

See merge request alstroemeria-silentlove/ygopro-222DIY-cards!20
parents f0bcbb56 ba36dc0f
...@@ -4,8 +4,8 @@ stages: ...@@ -4,8 +4,8 @@ stages:
variables: variables:
GIT_DEPTH: "1" GIT_DEPTH: "1"
LAST_UPDATE_DATE: "2023.08.06" LAST_UPDATE_DATE: "2023.09.03"
CURRENT_UPDATE_DATE: "2023.09.03" CURRENT_UPDATE_DATE: "2023.09.18"
redtext: redtext:
stage: prepare stage: prepare
......
No preview for this file type
...@@ -530,14 +530,13 @@ ...@@ -530,14 +530,13 @@
16104424 0 --天界士 刚严之伊欧 16104424 0 --天界士 刚严之伊欧
16104427 1 --天界法 索提拉 16104427 1 --天界法 索提拉
16105300 2 --这个是什么怪兽来着? 16105300 2 --这个是什么怪兽来着?
16107100 1 --侵略的G-神智
16107101 1 --G-神智的强欲 16107101 1 --G-神智的强欲
16107109 1 --升阶魔法 G-神智的统合 16107109 1 --升阶魔法 G-神智的统合
16107110 2 --G-神智的泛衍 16107110 2 --G-神智的泛衍
16107111 2 --G-神智的强制 16107111 2 --G-神智的强制
16107113 0 --G-神智的戒封 16107113 0 --G-神智的戒封
16107116 1 --G-神智龙 弗尔布雷·多雷克斯 16107116 1 --G-神智龙 弗尔布雷·多雷克斯
16107117 0 --G-神智主 16107117 1 --G-神智主
16107119 1 --最终龙理 Q.E.D.+ 16107119 1 --最终龙理 Q.E.D.+
16107121 0 --迷失在GODO的尽头 16107121 0 --迷失在GODO的尽头
16108100 0 --里魂的显化 16108100 0 --里魂的显化
...@@ -552,7 +551,7 @@ ...@@ -552,7 +551,7 @@
16114212 1 --圣夜仙精 梅莉莉丝 16114212 1 --圣夜仙精 梅莉莉丝
16114214 0 --仙精生命 16114214 0 --仙精生命
16114215 0 --仙精幻想 16114215 0 --仙精幻想
16114219 0 --仙精 16114219 0 --眼镜仙精 科莫利
16114221 1 --胜利仙精 布里 16114221 1 --胜利仙精 布里
16114222 0 --重生之仙精 16114222 0 --重生之仙精
16114225 1 --雪风仙精 查·优尼科斯 16114225 1 --雪风仙精 查·优尼科斯
...@@ -579,7 +578,6 @@ ...@@ -579,7 +578,6 @@
16149584 1 --超级英雄到来 16149584 1 --超级英雄到来
16150001 0 --大王百足虫 16150001 0 --大王百足虫
16150002 1 --大王兽使 16150002 1 --大王兽使
16150006 0 --天命托宣
16150007 0 --大王虫 大百足 16150007 0 --大王虫 大百足
16150008 1 --王命的集结 16150008 1 --王命的集结
16150011 1 --大王剑使 16150011 1 --大王剑使
...@@ -597,11 +595,8 @@ ...@@ -597,11 +595,8 @@
16161010 1 --卡多克·泽姆露普斯 16161010 1 --卡多克·泽姆露普斯
16162000 0 --宇宙人研究所 16162000 0 --宇宙人研究所
16170000 0 --龙皇异次元 16170000 0 --龙皇异次元
16172000 0 --大欲的招来
16170002 0 --暴风星云裂 16170002 0 --暴风星云裂
16170003 1 --狂雷金刚拳 16170003 1 --狂雷金刚拳
16172004 0 --禁时王
16172006 0 --大欲的魔龙
16199520 0 --华丽的降神 16199520 0 --华丽的降神
16199522 1 --王牌礼物 16199522 1 --王牌礼物
16199523 0 --暴发户的赠礼 16199523 0 --暴发户的赠礼
......
expansions/pics/50218325.jpg

76.7 KB | W: | H:

expansions/pics/50218325.jpg

77.2 KB | W: | H:

expansions/pics/50218325.jpg
expansions/pics/50218325.jpg
expansions/pics/50218325.jpg
expansions/pics/50218325.jpg
  • 2-up
  • Swipe
  • Onion skin
expansions/pics/50218335.jpg

81.2 KB | W: | H:

expansions/pics/50218335.jpg

81.1 KB | W: | H:

expansions/pics/50218335.jpg
expansions/pics/50218335.jpg
expansions/pics/50218335.jpg
expansions/pics/50218335.jpg
  • 2-up
  • Swipe
  • Onion skin
This diff is collapsed.
if not pcall(function() require("expansions/script/c15000000") end) then require("script/c15000000") end
local m=15005050
local cm=_G["c"..m]
cm.name="异闻鸣星-支原体"
function cm.initial_effect(c)
--flip
local e1=Effect.CreateEffect(c)
e1:SetCategory(CATEGORY_SPECIAL_SUMMON)
e1:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_FLIP+EFFECT_TYPE_TRIGGER_O)
e1:SetProperty(EFFECT_FLAG_DELAY)
e1:SetCountLimit(1,15005050)
e1:SetTarget(cm.target)
e1:SetOperation(cm.operation)
c:RegisterEffect(e1)
--change effect
local e2=Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_QUICK_O)
e2:SetCode(EVENT_FREE_CHAIN)
e2:SetRange(LOCATION_HAND)
e2:SetHintTiming(0,TIMINGS_CHECK_MONSTER+TIMING_MAIN_END)
e2:SetCountLimit(1,15005051)
e2:SetCost(cm.cecost)
e2:SetTarget(cm.cetg)
e2:SetOperation(cm.ceop)
c:RegisterEffect(e2)
if not Satl.hearogenehirp_global_effect then
Satl.hearogenehirp_global_effect=true
Satl.AddHearogenehirpAdding(c)
end
end
c15005050.chfilter=function(c)
return c:IsFacedown() and c:IsDefensePos() and c:IsType(TYPE_MONSTER)
end
c15005050.chacon=function(e,tp)
return Duel.GetFlagEffect(tp,15005050)~=0 and Duel.IsExistingMatchingCard(c15005050.chfilter,tp,LOCATION_MZONE,0,1,nil)
end
c15005050.chaop=function(e,tp)
if Duel.GetFlagEffect(tp,15005050)~=0 and Duel.IsExistingMatchingCard(cm.chfilter,tp,LOCATION_MZONE,0,1,nil) then
Duel.BreakEffect()
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_POSCHANGE)
local g=Duel.SelectMatchingCard(tp,c15005050.chfilter,tp,LOCATION_MZONE,0,1,1,nil)
local tc=g:GetFirst()
if tc then
local pos=Duel.SelectPosition(tp,tc,POS_FACEUP_ATTACK+POS_FACEUP_DEFENSE)
Duel.ChangePosition(tc,pos)
end
end
end
function cm.filter(c,e,tp)
return c:IsSetCard(0xaf3e) and not c:IsCode(15005050) and c:IsCanBeSpecialSummoned(e,0,tp,false,false,POS_FACEDOWN_DEFENSE)
end
function cm.target(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.GetLocationCount(tp,LOCATION_MZONE)>0
and Duel.IsExistingMatchingCard(cm.filter,tp,LOCATION_DECK+LOCATION_GRAVE,0,1,nil,e,tp) end
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,1,tp,LOCATION_DECK+LOCATION_GRAVE)
end
function cm.operation(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 tc=Duel.SelectMatchingCard(tp,aux.NecroValleyFilter(cm.filter),tp,LOCATION_DECK+LOCATION_GRAVE,0,1,1,nil,e,tp):GetFirst()
if not tc then return end
if Duel.SpecialSummon(tc,0,tp,tp,false,false,POS_FACEDOWN_DEFENSE)~=0 and tc:IsFacedown() then
Duel.ConfirmCards(1-tp,tc)
end
end
function cm.cecost(e,tp,eg,ep,ev,re,r,rp,chk)
local c=e:GetHandler()
if chk==0 then return c:IsAbleToGraveAsCost() end
Duel.SendtoGrave(c,REASON_COST)
end
function cm.cetg(e,tp,eg,ep,ev,re,r,rp,chk)
local c=e:GetHandler()
if chk==0 then return Duel.GetCurrentPhase()==PHASE_MAIN1 or Duel.GetCurrentPhase()==PHASE_MAIN2 end
end
function cm.ceop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
Duel.RegisterFlagEffect(tp,15005050,RESET_PHASE+PHASE_END,0,1)
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_FIELD)
e1:SetProperty(EFFECT_FLAG_PLAYER_TARGET+EFFECT_FLAG_CLIENT_HINT)
e1:SetCode(15005050)
e1:SetTargetRange(1,0)
e1:SetDescription(aux.Stringid(m,1))
e1:SetReset(RESET_PHASE+PHASE_END,1)
Duel.RegisterEffect(e1,tp)
end
\ No newline at end of file
if not pcall(function() require("expansions/script/c15000000") end) then require("script/c15000000") end
local m=15005052
local cm=_G["c"..m]
cm.name="异闻鸣星-衣原体"
function cm.initial_effect(c)
--flip
local e1=Effect.CreateEffect(c)
e1:SetCategory(CATEGORY_SEARCH+CATEGORY_TOHAND)
e1:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_FLIP+EFFECT_TYPE_TRIGGER_O)
e1:SetProperty(EFFECT_FLAG_DELAY)
e1:SetCountLimit(1,15005052)
e1:SetTarget(cm.target)
e1:SetOperation(cm.operation)
c:RegisterEffect(e1)
--change effect
local e2=Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_QUICK_O)
e2:SetCode(EVENT_FREE_CHAIN)
e2:SetRange(LOCATION_HAND)
e2:SetHintTiming(0,TIMINGS_CHECK_MONSTER+TIMING_MAIN_END)
e2:SetCountLimit(1,15005053)
e2:SetCost(cm.cecost)
e2:SetTarget(cm.cetg)
e2:SetOperation(cm.ceop)
c:RegisterEffect(e2)
if not Satl.hearogenehirp_global_effect then
Satl.hearogenehirp_global_effect=true
Satl.AddHearogenehirpAdding(c)
end
end
c15005052.chfilter=function(c)
return c:IsType(TYPE_MONSTER)
end
c15005052.chacon=function(e,tp)
return Duel.GetFlagEffect(tp,15005052)~=0 and Duel.IsExistingMatchingCard(c15005052.chfilter,tp,LOCATION_MZONE,LOCATION_MZONE,1,nil)
end
c15005052.chaop=function(e,tp)
if Duel.GetFlagEffect(tp,15005052)~=0 and Duel.IsExistingMatchingCard(cm.chfilter,tp,LOCATION_MZONE,LOCATION_MZONE,1,nil) then
Duel.BreakEffect()
local dg=Duel.GetMatchingGroup(cm.chfilter,tp,LOCATION_MZONE,LOCATION_MZONE,nil)
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
function cm.thfilter(c)
return c:IsSetCard(0xaf3e) and not c:IsCode(15005052) and c:IsAbleToHand()
end
function cm.target(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(cm.thfilter,tp,LOCATION_DECK+LOCATION_GRAVE,0,1,nil) end
Duel.SetOperationInfo(0,CATEGORY_TOHAND,nil,1,tp,LOCATION_DECK+LOCATION_GRAVE)
end
function cm.operation(e,tp,eg,ep,ev,re,r,rp)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_ATOHAND)
local g=Duel.SelectMatchingCard(tp,aux.NecroValleyFilter(cm.thfilter),tp,LOCATION_DECK+LOCATION_GRAVE,0,1,1,nil)
if g:GetCount()>0 then
Duel.SendtoHand(g,nil,REASON_EFFECT)
Duel.ConfirmCards(1-tp,g)
end
end
function cm.cecost(e,tp,eg,ep,ev,re,r,rp,chk)
local c=e:GetHandler()
if chk==0 then return c:IsAbleToGraveAsCost() end
Duel.SendtoGrave(c,REASON_COST)
end
function cm.cetg(e,tp,eg,ep,ev,re,r,rp,chk)
local c=e:GetHandler()
if chk==0 then return Duel.GetCurrentPhase()==PHASE_MAIN1 or Duel.GetCurrentPhase()==PHASE_MAIN2 end
end
function cm.ceop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
Duel.RegisterFlagEffect(tp,15005052,RESET_PHASE+PHASE_END,0,1)
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_FIELD)
e1:SetProperty(EFFECT_FLAG_PLAYER_TARGET+EFFECT_FLAG_CLIENT_HINT)
e1:SetCode(15005052)
e1:SetTargetRange(1,0)
e1:SetDescription(aux.Stringid(m,1))
e1:SetReset(RESET_PHASE+PHASE_END,1)
Duel.RegisterEffect(e1,tp)
end
\ No newline at end of file
if not pcall(function() require("expansions/script/c15000000") end) then require("script/c15000000") end
local m=15005054
local cm=_G["c"..m]
cm.name="异闻鸣星-立克次氏体"
function cm.initial_effect(c)
--flip
local e1=Effect.CreateEffect(c)
e1:SetCategory(CATEGORY_DRAW+CATEGORY_TODECK)
e1:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_FLIP+EFFECT_TYPE_TRIGGER_O)
e1:SetProperty(EFFECT_FLAG_DELAY)
e1:SetCountLimit(1,15005054)
e1:SetTarget(cm.target)
e1:SetOperation(cm.operation)
c:RegisterEffect(e1)
--change effect
local e2=Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_QUICK_O)
e2:SetCode(EVENT_FREE_CHAIN)
e2:SetRange(LOCATION_HAND)
e2:SetHintTiming(0,TIMINGS_CHECK_MONSTER+TIMING_MAIN_END)
e2:SetCountLimit(1,15005055)
e2:SetCost(cm.cecost)
e2:SetTarget(cm.cetg)
e2:SetOperation(cm.ceop)
c:RegisterEffect(e2)
if not Satl.hearogenehirp_global_effect then
Satl.hearogenehirp_global_effect=true
Satl.AddHearogenehirpAdding(c)
end
end
c15005054.chfilter=function(c,e,tp)
return c:IsSetCard(0xaf3e) and not c:IsCode(15005054) and c:IsCanBeSpecialSummoned(e,0,tp,false,false,POS_FACEDOWN_DEFENSE)
end
c15005054.chacon=function(e,tp)
return Duel.GetFlagEffect(tp,15005054)~=0 and Duel.GetLocationCount(tp,LOCATION_MZONE)>0 and Duel.IsExistingMatchingCard(c15005054.chfilter,tp,LOCATION_GRAVE+LOCATION_HAND,0,1,nil,e,tp)
end
c15005054.chaop=function(e,tp)
if Duel.GetLocationCount(tp,LOCATION_MZONE)<=0 then return end
Duel.BreakEffect()
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON)
local tc=Duel.SelectMatchingCard(tp,aux.NecroValleyFilter(c15005054.chfilter),tp,LOCATION_GRAVE+LOCATION_HAND,0,1,1,nil,e,tp):GetFirst()
if not tc then return end
if Duel.SpecialSummon(tc,0,tp,tp,false,false,POS_FACEDOWN_DEFENSE)~=0 and tc:IsFacedown() then
Duel.ConfirmCards(1-tp,tc)
end
end
function cm.target(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsPlayerCanDraw(tp,2) end
Duel.SetTargetPlayer(tp)
Duel.SetTargetParam(2)
Duel.SetOperationInfo(0,CATEGORY_DRAW,nil,0,tp,2)
Duel.SetOperationInfo(0,CATEGORY_TODECK,nil,0,tp,1)
end
function cm.operation(e,tp,eg,ep,ev,re,r,rp)
local p,d=Duel.GetChainInfo(0,CHAININFO_TARGET_PLAYER,CHAININFO_TARGET_PARAM)
if Duel.Draw(p,d,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 g:GetCount()>0 then
Duel.BreakEffect()
Duel.SendtoDeck(g,nil,SEQ_DECKBOTTOM,REASON_EFFECT)
end
end
function cm.cecost(e,tp,eg,ep,ev,re,r,rp,chk)
local c=e:GetHandler()
if chk==0 then return c:IsAbleToGraveAsCost() end
Duel.SendtoGrave(c,REASON_COST)
end
function cm.cetg(e,tp,eg,ep,ev,re,r,rp,chk)
local c=e:GetHandler()
if chk==0 then return Duel.GetCurrentPhase()==PHASE_MAIN1 or Duel.GetCurrentPhase()==PHASE_MAIN2 end
end
function cm.ceop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
Duel.RegisterFlagEffect(tp,15005054,RESET_PHASE+PHASE_END,0,1)
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_FIELD)
e1:SetProperty(EFFECT_FLAG_PLAYER_TARGET+EFFECT_FLAG_CLIENT_HINT)
e1:SetCode(15005054)
e1:SetTargetRange(1,0)
e1:SetDescription(aux.Stringid(m,1))
e1:SetReset(RESET_PHASE+PHASE_END,1)
Duel.RegisterEffect(e1,tp)
end
\ No newline at end of file
if not pcall(function() require("expansions/script/c15000000") end) then require("script/c15000000") end
local m=15005056
local cm=_G["c"..m]
cm.name="异闻鸣星-卡利斯托"
function cm.initial_effect(c)
--flip
local e1=Effect.CreateEffect(c)
e1:SetCategory(CATEGORY_TOHAND)
e1:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_FLIP+EFFECT_TYPE_TRIGGER_O)
e1:SetProperty(EFFECT_FLAG_CARD_TARGET+EFFECT_FLAG_DELAY)
e1:SetCountLimit(1,15005056)
e1:SetTarget(cm.target)
e1:SetOperation(cm.operation)
c:RegisterEffect(e1)
--change effect
local e2=Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_QUICK_O)
e2:SetCode(EVENT_FREE_CHAIN)
e2:SetRange(LOCATION_HAND)
e2:SetHintTiming(0,TIMINGS_CHECK_MONSTER+TIMING_MAIN_END)
e2:SetCountLimit(1,15005057)
e2:SetCost(cm.cecost)
e2:SetTarget(cm.cetg)
e2:SetOperation(cm.ceop)
c:RegisterEffect(e2)
if not Satl.hearogenehirp_global_effect then
Satl.hearogenehirp_global_effect=true
Satl.AddHearogenehirpAdding(c)
end
end
c15005056.chfilter=function(c)
return c:IsSetCard(0xaf3e) and not c:IsCode(15005056) and c:IsAbleToHand()
end
c15005056.chacon=function(e,tp)
return Duel.IsExistingMatchingCard(c15005056.chfilter,tp,LOCATION_DECK+LOCATION_GRAVE,0,1,nil)
end
c15005056.chaop=function(e,tp)
if Duel.GetFlagEffect(tp,15005056)~=0 and Duel.IsExistingMatchingCard(cm.chfilter,tp,LOCATION_DECK+LOCATION_GRAVE,0,1,nil) then
Duel.BreakEffect()
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_ATOHAND)
local g=Duel.SelectMatchingCard(tp,aux.NecroValleyFilter(c15005056.chfilter),tp,LOCATION_DECK+LOCATION_GRAVE,0,1,1,nil)
if g:GetCount()>0 then
Duel.SendtoHand(g,nil,REASON_EFFECT)
Duel.ConfirmCards(1-tp,g)
end
end
end
function cm.target(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
if chkc then return chkc:IsOnField() and chkc:IsControler(1-tp) and chkc:IsAbleToHand() end
if chk==0 then return Duel.IsExistingTarget(Card.IsAbleToHand,tp,0,LOCATION_ONFIELD,1,nil) end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_RTOHAND)
local g=Duel.SelectTarget(tp,Card.IsAbleToHand,tp,0,LOCATION_ONFIELD,1,1,nil)
Duel.SetOperationInfo(0,CATEGORY_TOHAND,g,1,0,0)
end
function cm.operation(e,tp,eg,ep,ev,re,r,rp)
local tc=Duel.GetFirstTarget()
if tc:IsRelateToEffect(e) then
Duel.SendtoHand(tc,nil,REASON_EFFECT)
end
end
function cm.cecost(e,tp,eg,ep,ev,re,r,rp,chk)
local c=e:GetHandler()
if chk==0 then return c:IsAbleToGraveAsCost() end
Duel.SendtoGrave(c,REASON_COST)
end
function cm.cetg(e,tp,eg,ep,ev,re,r,rp,chk)
local c=e:GetHandler()
if chk==0 then return Duel.GetCurrentPhase()==PHASE_MAIN1 or Duel.GetCurrentPhase()==PHASE_MAIN2 end
end
function cm.ceop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
Duel.RegisterFlagEffect(tp,15005056,RESET_PHASE+PHASE_END,0,1)
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_FIELD)
e1:SetProperty(EFFECT_FLAG_PLAYER_TARGET+EFFECT_FLAG_CLIENT_HINT)
e1:SetCode(15005056)
e1:SetTargetRange(1,0)
e1:SetDescription(aux.Stringid(m,1))
e1:SetReset(RESET_PHASE+PHASE_END,1)
Duel.RegisterEffect(e1,tp)
end
\ No newline at end of file
local m=15005058
local cm=_G["c"..m]
cm.name="异闻鸣宇"
function cm.initial_effect(c)
--Activate
local e0=Effect.CreateEffect(c)
e0:SetType(EFFECT_TYPE_ACTIVATE)
e0:SetCode(EVENT_FREE_CHAIN)
c:RegisterEffect(e0)
--position
local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(m,0))
e1:SetCategory(CATEGORY_POSITION)
e1:SetType(EFFECT_TYPE_IGNITION)
e1:SetProperty(EFFECT_FLAG_CARD_TARGET)
e1:SetRange(LOCATION_FZONE)
e1:SetCountLimit(1)
e1:SetTarget(cm.settg)
e1:SetOperation(cm.setop)
c:RegisterEffect(e1)
--position
local e2=Effect.CreateEffect(c)
e2:SetDescription(aux.Stringid(m,1))
e2:SetCategory(CATEGORY_POSITION)
e2:SetType(EFFECT_TYPE_IGNITION)
e2:SetProperty(EFFECT_FLAG_CARD_TARGET)
e2:SetRange(LOCATION_FZONE)
e2:SetCountLimit(1)
e2:SetTarget(cm.postg)
e2:SetOperation(cm.posop)
c:RegisterEffect(e2)
end
function cm.setfilter(c)
return c:IsFaceup() and c:IsCanTurnSet()
end
function cm.settg(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
if chkc then return chkc:IsLocation(LOCATION_MZONE) and cm.setfilter(chkc) end
if chk==0 then return Duel.IsExistingTarget(cm.setfilter,tp,LOCATION_MZONE,0,1,nil) end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_POSCHANGE)
local g=Duel.SelectTarget(tp,cm.setfilter,tp,LOCATION_MZONE,0,1,1,nil)
Duel.SetOperationInfo(0,CATEGORY_POSITION,g,1,0,0)
end
function cm.setop(e,tp,eg,ep,ev,re,r,rp)
local tc=Duel.GetFirstTarget()
if tc:IsFaceup() and tc:IsRelateToEffect(e) then
Duel.ChangePosition(tc,POS_FACEDOWN_DEFENSE)
end
end
function cm.posfilter(c)
return c:IsFacedown() and c:IsCanChangePosition()
end
function cm.postg(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
if chkc then return chkc:IsLocation(LOCATION_MZONE) and cm.posfilter(chkc) end
if chk==0 then return Duel.IsExistingTarget(cm.posfilter,tp,LOCATION_MZONE,0,1,nil) end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_POSCHANGE)
local g=Duel.SelectTarget(tp,cm.posfilter,tp,LOCATION_MZONE,0,1,1,nil)
Duel.SetOperationInfo(0,CATEGORY_POSITION,g,1,0,0)
end
function cm.posop(e,tp,eg,ep,ev,re,r,rp)
local tc=Duel.GetFirstTarget()
if tc:IsRelateToEffect(e) and not tc:IsPosition(POS_FACEUP_DEFENSE) then
Duel.ChangePosition(tc,POS_FACEUP_DEFENSE)
end
end
\ No newline at end of file
local m=15005059
local cm=_G["c"..m]
cm.name="异闻鸣宙-木卫凌木"
function cm.initial_effect(c)
--activate
local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(m,2))
e1:SetType(EFFECT_TYPE_ACTIVATE)
e1:SetCode(EVENT_FREE_CHAIN)
c:RegisterEffect(e1)
--spsummon
local e2=Effect.CreateEffect(c)
e2:SetDescription(aux.Stringid(m,0))
e2:SetCategory(CATEGORY_SPECIAL_SUMMON)
e2:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_TRIGGER_O)
e2:SetCode(EVENT_TO_GRAVE)
e2:SetRange(LOCATION_SZONE)
e2:SetProperty(EFFECT_FLAG_CARD_TARGET+EFFECT_FLAG_DELAY)
e2:SetCountLimit(1,m)
e2:SetTarget(cm.sptg)
e2:SetOperation(cm.spop)
c:RegisterEffect(e2)
--pos
local e3=Effect.CreateEffect(c)
e3:SetDescription(aux.Stringid(m,1))
e3:SetCategory(CATEGORY_POSITION)
e3:SetType(EFFECT_TYPE_QUICK_O)
e3:SetCode(EVENT_FREE_CHAIN)
e3:SetRange(LOCATION_SZONE)
e3:SetProperty(EFFECT_FLAG_CARD_TARGET)
e3:SetCountLimit(1,m)
e3:SetCost(cm.poscost)
e3:SetTarget(cm.postg)
e3:SetOperation(cm.posop)
c:RegisterEffect(e3)
end
function cm.filter(c,e,tp)
return c:GetReasonPlayer()==tp and c:IsReason(REASON_COST) and c:IsType(TYPE_FLIP) and c:IsType(TYPE_MONSTER) and c:IsCanBeEffectTarget(e) and c:IsCanBeSpecialSummoned(e,0,tp,false,false,POS_FACEDOWN_DEFENSE,tp)
end
function cm.sptg(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
if chkc then return false end
if chk==0 then return eg:IsExists(cm.filter,1,nil,e,tp)
and Duel.GetLocationCount(tp,LOCATION_MZONE)>0 end
local tg
local ag=eg:Filter(cm.filter,nil,e,tp)
if #ag==1 then
tg=ag:Clone()
else
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TARGET)
tg=ag:FilterSelect(tp,cm.filter,1,1,nil,e,tp)
end
Duel.SetTargetCard(tg)
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,tg,1,0,0)
end
function cm.spop(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_FACEDOWN_DEFENSE)
Duel.ConfirmCards(1-tp,tc)
end
end
function cm.poscost(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 cm.postg(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
if chkc then return chkc:IsLocation(LOCATION_MZONE) and chkc:IsControler(tp) and chkc:IsFacedown() end
if chk==0 then return Duel.IsExistingTarget(Card.IsFacedown,tp,LOCATION_MZONE,0,1,nil) end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_POSCHANGE)
local g=Duel.SelectTarget(tp,Card.IsFacedown,tp,LOCATION_MZONE,0,1,1,nil)
Duel.SetOperationInfo(0,CATEGORY_POSITION,g,1,0,0)
end
function cm.posop(e,tp,eg,ep,ev,re,r,rp)
local tc=Duel.GetFirstTarget()
if tc:IsRelateToEffect(e) and tc:IsFacedown() then
local pos1=0
if not tc:IsPosition(POS_FACEUP_ATTACK) then pos1=pos1+POS_FACEUP_ATTACK end
if not tc:IsPosition(POS_FACEUP_DEFENSE) then pos1=pos1+POS_FACEUP_DEFENSE end
local pos2=Duel.SelectPosition(tp,tc,pos1)
Duel.ChangePosition(tc,pos2)
end
end
\ No newline at end of file
local m=15005061
local cm=_G["c"..m]
cm.name="异闻鸣宙-木卫蚀"
function cm.initial_effect(c)
--Activate
local e1=Effect.CreateEffect(c)
e1:SetCategory(CATEGORY_DESTROY+CATEGORY_POSITION)
e1:SetType(EFFECT_TYPE_ACTIVATE)
e1:SetProperty(EFFECT_FLAG_CARD_TARGET)
e1:SetCode(EVENT_FREE_CHAIN)
e1:SetCountLimit(1,15005061+EFFECT_COUNT_CODE_OATH)
e1:SetCondition(cm.con)
e1:SetTarget(cm.tg)
e1:SetOperation(cm.op)
c:RegisterEffect(e1)
end
function cm.rmfilter(c)
return (c:IsSetCard(0xaf3e) or c:IsFacedown()) and c:IsType(TYPE_MONSTER)
end
function cm.con(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
return Duel.IsExistingMatchingCard(cm.rmfilter,tp,LOCATION_MZONE,0,1,nil)
end
function cm.tg(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
local c=e:GetHandler()
if chkc then return chkc:IsLocation(LOCATION_ONFIELD) and chkc:IsControler(1-tp) end
if chk==0 then return Duel.IsExistingTarget(aux.TRUE,tp,0,LOCATION_ONFIELD,1,nil) end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_DESTROY)
local g=Duel.SelectTarget(tp,aux.TRUE,tp,0,LOCATION_ONFIELD,1,1,nil)
Duel.SetOperationInfo(0,CATEGORY_DESTROY,g,1,1-tp,0)
Duel.SetOperationInfo(0,CATEGORY_POSITION,nil,1,tp,LOCATION_MZONE)
end
function cm.op(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
local tc=Duel.GetFirstTarget()
if tc:IsRelateToEffect(e) then
local x=Duel.Destroy(tc,REASON_EFFECT)
if x==0 then
local b1=Duel.IsExistingMatchingCard(Card.IsFacedown,tp,LOCATION_MZONE,0,1,nil)
local b2=Duel.IsExistingMatchingCard(Card.IsCanTurnSet,tp,LOCATION_MZONE,0,1,nil)
if not (b1 or b2) then return end
if not Duel.SelectYesNo(tp,aux.Stringid(m,0)) then return end
local s=0
if b1 and not b2 then
s=Duel.SelectOption(tp,aux.Stringid(m,1))
end
if not b1 and b2 then
s=Duel.SelectOption(tp,aux.Stringid(m,2))+1
end
if b1 and b2 then
s=Duel.SelectOption(tp,aux.Stringid(m,1),aux.Stringid(m,2))
end
Duel.BreakEffect()
if s==0 then
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_POSCHANGE)
local g=Duel.SelectMatchingCard(tp,Card.IsFacedown,tp,LOCATION_MZONE,0,1,1,nil)
if g:GetCount()>0 then
Duel.HintSelection(g)
Duel.ChangePosition(g:GetFirst(),POS_FACEUP_DEFENSE)
end
else
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_POSCHANGE)
local g=Duel.SelectMatchingCard(tp,Card.IsCanTurnSet,tp,LOCATION_MZONE,0,1,1,nil)
if g:GetCount()>0 then
Duel.HintSelection(g)
Duel.ChangePosition(g:GetFirst(),POS_FACEDOWN_DEFENSE)
end
end
end
end
end
\ No newline at end of file
local m=15005062
local cm=_G["c"..m]
cm.name="异闻鸣宙-轨道共振"
function cm.initial_effect(c)
--Activate
local e1=Effect.CreateEffect(c)
e1:SetCategory(CATEGORY_SPECIAL_SUMMON)
e1:SetType(EFFECT_TYPE_ACTIVATE)
e1:SetCode(EVENT_FREE_CHAIN)
e1:SetCountLimit(1,15005062+EFFECT_COUNT_CODE_OATH)
e1:SetCost(cm.cost)
e1:SetTarget(cm.target)
e1:SetOperation(cm.activate)
c:RegisterEffect(e1)
end
function cm.cost(e,tp,eg,ep,ev,re,r,rp,chk)
e:SetLabel(100)
return true
end
function cm.cfilter(c,e,tp)
local code=c:GetCode()
return c:IsType(TYPE_MONSTER) and (c:IsSetCard(0xaf3e) or c:IsType(TYPE_FLIP)) and c:IsAbleToGraveAsCost()
and Duel.IsExistingMatchingCard(cm.spfilter,tp,LOCATION_DECK+LOCATION_HAND,0,1,c,code,e,tp)
end
function cm.spfilter(c,code,e,tp)
return c:IsSetCard(0xaf3e) and c:IsType(TYPE_MONSTER) and c:IsCanBeSpecialSummoned(e,0,tp,false,false,POS_FACEDOWN_DEFENSE) and not c:IsCode(code)
end
function cm.target(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then
if e:GetLabel()~=100 then return false end
e:SetLabel(0)
return Duel.GetLocationCount(tp,LOCATION_MZONE)>-1
and Duel.IsExistingMatchingCard(cm.cfilter,tp,LOCATION_HAND+LOCATION_EXTRA,0,1,nil,e,tp)
end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TOGRAVE)
local g=Duel.SelectMatchingCard(tp,cm.cfilter,tp,LOCATION_HAND+LOCATION_EXTRA,0,1,1,nil,e,tp)
local tc=g:GetFirst()
e:SetLabel(tc:GetCode())
Duel.SendtoGrave(tc,REASON_COST)
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,1,tp,LOCATION_DECK+LOCATION_HAND)
end
function cm.activate(e,tp,eg,ep,ev,re,r,rp)
if Duel.GetLocationCount(tp,LOCATION_MZONE)<=0 then return end
local code=e:GetLabel()
if code==0 then return end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON)
local g=Duel.SelectMatchingCard(tp,cm.spfilter,tp,LOCATION_DECK+LOCATION_HAND,0,1,1,nil,code,e,tp)
if g:GetCount()>0 then
Duel.SpecialSummon(g,0,tp,tp,false,false,POS_FACEDOWN_DEFENSE)
Duel.ConfirmCards(1-tp,g)
end
end
\ No newline at end of file
if not pcall(function() require("expansions/script/c15000000") end) then require("script/c15000000") end
local m=15005063
local cm=_G["c"..m]
cm.name="异闻鸣月-欧安忒"
function cm.initial_effect(c)
Satl.AddHearogenehirpXyzProcedureLevelFree(c,cm.thfilter,nil,2,99)
c:EnableReviveLimit()
--destroy
local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(m,0))
e1:SetCategory(CATEGORY_DESTROY)
e1:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_F)
e1:SetCode(EVENT_BATTLE_START)
e1:SetCondition(cm.descon)
e1:SetTarget(cm.destg)
e1:SetOperation(cm.desop)
c:RegisterEffect(e1)
--destroy
local e2=Effect.CreateEffect(c)
e2:SetDescription(aux.Stringid(m,1))
e2:SetCategory(CATEGORY_POSITION)
e2:SetType(EFFECT_TYPE_QUICK_O)
e2:SetCode(EVENT_FREE_CHAIN)
e2:SetRange(LOCATION_MZONE)
e2:SetCountLimit(1,15005063)
e2:SetCost(cm.pocost)
e2:SetTarget(cm.potg)
e2:SetOperation(cm.poop)
c:RegisterEffect(e2)
end
function cm.thfilter(c,xyzc)
return c:IsXyzLevel(xyzc,1)
end
function cm.descon(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
local bc=c:GetBattleTarget()
return bc and (bc:IsPosition(POS_FACEUP_DEFENSE) or bc:IsPosition(POS_FACEDOWN_DEFENSE) or bc:IsDefensePos())
end
function cm.destg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return true end
Duel.SetOperationInfo(0,CATEGORY_DESTROY,e:GetHandler():GetBattleTarget(),1,0,0)
end
function cm.desop(e,tp,eg,ep,ev,re,r,rp)
local bc=e:GetHandler():GetBattleTarget()
if bc:IsRelateToBattle() then
Duel.Destroy(bc,REASON_EFFECT)
end
end
function cm.pocost(e,tp,eg,ep,ev,re,r,rp,chk)
local c=e:GetHandler()
if chk==0 then return c:CheckRemoveOverlayCard(tp,1,REASON_COST) end
local rt=Duel.GetMatchingGroupCount(Card.IsCanTurnSet,tp,LOCATION_MZONE,LOCATION_MZONE,nil)
local ct=c:RemoveOverlayCard(tp,1,rt,REASON_COST)
e:SetLabel(ct)
end
function cm.potg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(Card.IsCanTurnSet,tp,LOCATION_MZONE,LOCATION_MZONE,1,nil) end
local g=Duel.GetMatchingGroup(Card.IsCanTurnSet,tp,LOCATION_MZONE,LOCATION_MZONE,nil)
Duel.SetOperationInfo(0,CATEGORY_POSITION,g,e:GetLabel(),0,0)
end
function cm.poop(e,tp,eg,ep,ev,re,r,rp)
local ct=e:GetLabel()
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_POSCHANGE)
local g=Duel.SelectMatchingCard(tp,Card.IsCanTurnSet,tp,LOCATION_MZONE,LOCATION_MZONE,1,ct,nil)
if g:GetCount()>0 then
Duel.HintSelection(g)
Duel.ChangePosition(g,POS_FACEDOWN_DEFENSE)
end
end
\ No newline at end of file
if not pcall(function() require("expansions/script/c15000000") end) then require("script/c15000000") end
local m=15005064
local cm=_G["c"..m]
cm.name="异闻鸣月-阿玛尔塞"
function cm.initial_effect(c)
Satl.AddHearogenehirpXyzProcedureLevelFree(c,cm.thfilter,nil,2,99)
c:EnableReviveLimit()
--
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetProperty(EFFECT_FLAG_SINGLE_RANGE)
e1:SetRange(LOCATION_MZONE)
e1:SetCode(EFFECT_INDESTRUCTABLE_BATTLE)
e1:SetCondition(cm.indcon)
e1:SetValue(1)
c:RegisterEffect(e1)
local e2=e1:Clone()
e2:SetCode(EFFECT_INDESTRUCTABLE_EFFECT)
c:RegisterEffect(e2)
--spsummon
local e3=Effect.CreateEffect(c)
e3:SetCategory(CATEGORY_SPECIAL_SUMMON)
e3:SetType(EFFECT_TYPE_QUICK_O)
e3:SetCode(EVENT_FREE_CHAIN)
e3:SetRange(LOCATION_MZONE)
e3:SetCountLimit(1,15005064)
e3:SetCost(cm.spcost)
e3:SetTarget(cm.sptg)
e3:SetOperation(cm.spop)
c:RegisterEffect(e3)
end
function cm.thfilter(c,xyzc)
return c:IsXyzLevel(xyzc,1)
end
function cm.indcon(e)
return Duel.IsExistingMatchingCard(Card.IsSetCard,e:GetHandlerPlayer(),LOCATION_MZONE,0,1,e:GetHandler(),0xaf3e) or Duel.IsExistingMatchingCard(Card.IsFacedown,e:GetHandlerPlayer(),LOCATION_MZONE,0,1,e:GetHandler())
end
function cm.spcost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return e:GetHandler():CheckRemoveOverlayCard(tp,1,REASON_COST) end
e:GetHandler():RemoveOverlayCard(tp,1,1,REASON_COST)
end
function cm.filter(c,e,tp)
return (c:IsRank(1) or c:IsLevel(1)) and c:IsSetCard(0xaf3e) and c:IsType(TYPE_MONSTER) and c:IsCanBeSpecialSummoned(e,0,tp,false,false,POS_FACEDOWN_DEFENSE)
and Duel.GetMZoneCount(tp)>0
end
function cm.sptg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(cm.filter,tp,LOCATION_HAND+LOCATION_GRAVE,0,1,nil,e,tp) end
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,1,tp,LOCATION_HAND+LOCATION_GRAVE)
end
function cm.spop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON)
local g=Duel.SelectMatchingCard(tp,aux.NecroValleyFilter(cm.filter),tp,LOCATION_HAND+LOCATION_GRAVE,0,1,1,nil,e,tp)
if g:GetCount()>0 then
Duel.SpecialSummon(g,0,tp,tp,false,false,POS_FACEDOWN_DEFENSE)
Duel.ConfirmCards(1-tp,g)
end
end
\ No newline at end of file
local m=15005065
local cm=_G["c"..m]
cm.name="升阶魔法-自异闻鸣"
function cm.initial_effect(c)
--Activate
local e1=Effect.CreateEffect(c)
e1:SetCategory(CATEGORY_SPECIAL_SUMMON)
e1:SetType(EFFECT_TYPE_ACTIVATE)
e1:SetCode(EVENT_FREE_CHAIN)
e1:SetProperty(EFFECT_FLAG_CARD_TARGET)
e1:SetCountLimit(1,15005065+EFFECT_COUNT_CODE_OATH)
e1:SetTarget(cm.target)
e1:SetOperation(cm.activate)
c:RegisterEffect(e1)
--remove overlay replace
local e2=Effect.CreateEffect(c)
e2:SetDescription(aux.Stringid(m,1))
e2:SetType(EFFECT_TYPE_CONTINUOUS+EFFECT_TYPE_FIELD)
e2:SetCode(EFFECT_OVERLAY_REMOVE_REPLACE)
e2:SetRange(LOCATION_GRAVE)
--e2:SetCountLimit(1,15005066)
e2:SetCondition(cm.rcon)
e2:SetOperation(cm.rop)
c:RegisterEffect(e2)
end
function cm.filter1(c,e,tp)
return c:IsFaceup() and c:IsType(TYPE_XYZ) and c:IsRank(1)
and Duel.IsExistingMatchingCard(cm.filter2,tp,LOCATION_EXTRA,0,1,nil,e,tp,c)
and aux.MustMaterialCheck(c,tp,EFFECT_MUST_BE_XMATERIAL)
end
function cm.filter2(c,e,tp,mc)
return c:IsRank(10) and c:IsSetCard(0xaf3e) and mc:IsCanBeXyzMaterial(c)
and c:IsCanBeSpecialSummoned(e,SUMMON_TYPE_XYZ,tp,false,false) and Duel.GetLocationCountFromEx(tp,tp,mc,c)>0
end
function cm.target(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
if chkc then return chkc:IsControler(tp) and chkc:IsLocation(LOCATION_MZONE) and cm.filter1(chkc,e,tp) end
if chk==0 then return Duel.IsExistingTarget(cm.filter1,tp,LOCATION_MZONE,0,1,nil,e,tp) end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TARGET)
Duel.SelectTarget(tp,cm.filter1,tp,LOCATION_MZONE,0,1,1,nil,e,tp)
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,1,tp,LOCATION_EXTRA)
end
function cm.activate(e,tp,eg,ep,ev,re,r,rp)
local tc=Duel.GetFirstTarget()
if not aux.MustMaterialCheck(tc,tp,EFFECT_MUST_BE_XMATERIAL) then return end
if tc:IsFacedown() or not tc:IsRelateToEffect(e) or tc:IsControler(1-tp) or tc:IsImmuneToEffect(e) then return end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON)
local g=Duel.SelectMatchingCard(tp,cm.filter2,tp,LOCATION_EXTRA,0,1,1,nil,e,tp,tc)
local sc=g:GetFirst()
if sc then
local mg=tc:GetOverlayGroup()
if mg:GetCount()~=0 then
Duel.Overlay(sc,mg)
end
sc:SetMaterial(Group.FromCards(tc))
Duel.Overlay(sc,Group.FromCards(tc))
Duel.SpecialSummon(sc,SUMMON_TYPE_XYZ,tp,tp,false,false,POS_FACEUP)
sc:CompleteProcedure()
end
end
function cm.rcon(e,tp,eg,ep,ev,re,r,rp)
return bit.band(r,REASON_COST)~=0 and re:IsActivated() and re:IsActiveType(TYPE_XYZ) and re:GetHandler():IsSetCard(0xaf3e)
and re:GetHandler():GetOverlayCount()>=ev-1 and e:GetHandler():IsAbleToRemoveAsCost() and ep==e:GetOwnerPlayer()
end
function cm.rop(e,tp,eg,ep,ev,re,r,rp)
return Duel.Remove(e:GetHandler(),POS_FACEUP,REASON_COST)
end
\ No newline at end of file
local m=15005066
local cm=_G["c"..m]
cm.name="异闻鸣月·墨提斯"
function cm.initial_effect(c)
--xyz summon
aux.AddXyzProcedure(c,nil,10,3,nil,nil,99)
c:EnableReviveLimit()
--pos and negate activate
local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(m,0))
e1:SetCategory(CATEGORY_POSITION+CATEGORY_DISABLE)
e1:SetType(EFFECT_TYPE_QUICK_O)
e1:SetRange(LOCATION_MZONE)
e1:SetCode(EVENT_CHAINING)
e1:SetCondition(cm.condition)
e1:SetCost(cm.cost)
e1:SetTarget(cm.target)
e1:SetOperation(cm.operation)
c:RegisterEffect(e1)
--pos or material
local e2=Effect.CreateEffect(c)
e2:SetDescription(aux.Stringid(m,1))
e2:SetCategory(CATEGORY_POSITION)
e2:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_TRIGGER_O)
e2:SetProperty(EFFECT_FLAG_DELAY)
e2:SetRange(LOCATION_MZONE)
e2:SetCode(EVENT_CHANGE_POS)
e2:SetCountLimit(1)
e2:SetCondition(cm.con)
e2:SetTarget(cm.tg)
e2:SetOperation(cm.op)
c:RegisterEffect(e2)
end
function cm.condition(e,tp,eg,ep,ev,re,r,rp)
local loc=Duel.GetChainInfo(ev,CHAININFO_TRIGGERING_LOCATION)
return not e:GetHandler():IsStatus(STATUS_BATTLE_DESTROYED) and loc==LOCATION_MZONE and re:IsActiveType(TYPE_MONSTER) and re:GetHandler():IsCanTurnSet()
end
function cm.cost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return e:GetHandler():CheckRemoveOverlayCard(tp,1,REASON_COST) end
e:GetHandler():RemoveOverlayCard(tp,1,1,REASON_COST)
end
function cm.target(e,tp,eg,ep,ev,re,r,rp,chk)
local c=e:GetHandler()
if chk==0 then
local b1=Duel.GetFlagEffect(tp,15005065)==0
local b2=true
if Duel.GetFlagEffect(tp,15005065)~=0 then
for _,i in ipairs{Duel.GetFlagEffectLabel(tp,15005065)} do
if i==re:GetHandler():GetControler() then b2=false end
end
end
return c:GetFlagEffect(15005066)==0 and (b1 or b2)
end
c:RegisterFlagEffect(15005066,RESET_CHAIN,0,1)
Duel.RegisterFlagEffect(tp,15005065,RESET_PHASE+PHASE_END,0,1,re:GetHandler():GetControler())
Duel.SetOperationInfo(0,CATEGORY_POSITION,eg,1,0,0)
Duel.SetOperationInfo(0,CATEGORY_DISABLE,eg,1,0,0)
end
function cm.operation(e,tp,eg,ep,ev,re,r,rp)
local tc=re:GetHandler()
if tc:IsRelateToEffect(re) and tc:IsCanTurnSet() then
if Duel.ChangePosition(tc,POS_FACEDOWN_DEFENSE)~=0 and Duel.IsChainDisablable(ev) and Duel.SelectYesNo(tp,aux.Stringid(m,1)) then
Duel.BreakEffect()
Duel.NegateEffect(ev)
end
end
end
function cm.cfilter(c)
return c:IsPreviousPosition(POS_FACEUP) and c:IsFacedown() and c:IsLocation(LOCATION_MZONE)
end
function cm.mfilter(c)
return c:IsSetCard(0xaf3e) and c:IsType(TYPE_XYZ) and c:IsRank(1)
end
function cm.con(e,tp,eg,ep,ev,re,r,rp)
return eg:IsExists(cm.cfilter,1,nil)
and e:GetHandler():GetOverlayGroup():IsExists(cm.mfilter,1,nil)
end
function cm.tg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return true end
Duel.SetOperationInfo(0,CATEGORY_POSITION,eg,1,0,0)
end
function cm.tmfilter(c)
return c:IsCanOverlay() and c:IsFacedown()
end
function cm.op(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
local b1=Duel.IsExistingMatchingCard(Card.IsFacedown,tp,LOCATION_MZONE,LOCATION_MZONE,1,nil)
local b2=Duel.IsExistingMatchingCard(cm.tmfilter,tp,LOCATION_MZONE,LOCATION_MZONE,1,nil)
if not (c:IsRelateToChain() and c:IsType(TYPE_XYZ)) then b2=false end
local s=0
if b1 and not b2 then
s=Duel.SelectOption(tp,aux.Stringid(m,3))
end
if not b1 and b2 then
s=Duel.SelectOption(tp,aux.Stringid(m,4))+1
end
if b1 and b2 then
s=Duel.SelectOption(tp,aux.Stringid(m,3),aux.Stringid(m,4))
end
if s==0 then
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_POSCHANGE)
local g=Duel.SelectMatchingCard(tp,Card.IsFacedown,tp,LOCATION_MZONE,LOCATION_MZONE,1,1,nil)
if g:GetCount()>0 then
Duel.HintSelection(g)
Duel.ChangePosition(g:GetFirst(),POS_FACEUP_DEFENSE)
end
end
if s==1 then
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_XMATERIAL)
local mg=Duel.SelectMatchingCard(tp,cm.tmfilter,tp,LOCATION_MZONE,LOCATION_MZONE,1,1,nil)
if #mg>0 then
Duel.HintSelection(mg)
Duel.Overlay(c,mg)
end
end
end
\ No newline at end of file
if not pcall(function() require("expansions/script/c15000000") end) then require("script/c15000000") end
local m=15005067
local cm=_G["c"..m]
cm.name="异闻鸣星-希诺佩"
function cm.initial_effect(c)
--flip
local e1=Effect.CreateEffect(c)
e1:SetCategory(CATEGORY_SPECIAL_SUMMON)
e1:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_FLIP+EFFECT_TYPE_TRIGGER_O)
e1:SetProperty(EFFECT_FLAG_DELAY)
e1:SetCountLimit(1,15005057)
e1:SetTarget(cm.target)
e1:SetOperation(cm.operation)
c:RegisterEffect(e1)
--change effect
local e2=Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_QUICK_O)
e2:SetCode(EVENT_FREE_CHAIN)
e2:SetRange(LOCATION_HAND)
e2:SetHintTiming(0,TIMINGS_CHECK_MONSTER+TIMING_MAIN_END)
e2:SetCountLimit(1,15005058)
e2:SetCost(cm.cecost)
e2:SetTarget(cm.cetg)
e2:SetOperation(cm.ceop)
c:RegisterEffect(e2)
if not Satl.hearogenehirp_global_effect then
Satl.hearogenehirp_global_effect=true
Satl.AddHearogenehirpAdding(c)
end
end
c15005067.chacon=function(e,tp)
return Duel.GetFlagEffect(tp,15005067)~=0 and Duel.IsExistingMatchingCard(Card.IsCanTurnSet,tp,LOCATION_MZONE,LOCATION_MZONE,1,nil)
end
c15005067.chaop=function(e,tp)
if Duel.GetFlagEffect(tp,15005067)~=0 and Duel.IsExistingMatchingCard(cm.chfilter,tp,LOCATION_MZONE,0,1,nil) then
Duel.BreakEffect()
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_POSCHANGE)
local g=Duel.SelectMatchingCard(tp,Card.IsCanTurnSet,tp,LOCATION_MZONE,LOCATION_MZONE,1,1,nil)
if g:GetCount()>0 then
Duel.HintSelection(g)
Duel.ChangePosition(g:GetFirst(),POS_FACEDOWN_DEFENSE)
end
end
end
function cm.xyzfilter(c)
return c:IsSetCard(0xaf3e) and c:IsXyzSummonable(nil)
end
function cm.target(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(cm.xyzfilter,tp,LOCATION_EXTRA,0,1,nil) end
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,1,tp,LOCATION_EXTRA)
end
function cm.operation(e,tp,eg,ep,ev,re,r,rp)
local g=Duel.GetMatchingGroup(cm.xyzfilter,tp,LOCATION_EXTRA,0,nil)
if g:GetCount()>0 then
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON)
local tg=g:Select(tp,1,1,nil)
Duel.XyzSummon(tp,tg:GetFirst(),nil)
end
end
function cm.cecost(e,tp,eg,ep,ev,re,r,rp,chk)
local c=e:GetHandler()
if chk==0 then return c:IsAbleToGraveAsCost() end
Duel.SendtoGrave(c,REASON_COST)
end
function cm.cetg(e,tp,eg,ep,ev,re,r,rp,chk)
local c=e:GetHandler()
if chk==0 then return Duel.GetCurrentPhase()==PHASE_MAIN1 or Duel.GetCurrentPhase()==PHASE_MAIN2 end
end
function cm.ceop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
Duel.RegisterFlagEffect(tp,15005067,RESET_PHASE+PHASE_END,0,1)
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_FIELD)
e1:SetProperty(EFFECT_FLAG_PLAYER_TARGET+EFFECT_FLAG_CLIENT_HINT)
e1:SetCode(15005067)
e1:SetTargetRange(1,0)
e1:SetDescription(aux.Stringid(m,1))
e1:SetReset(RESET_PHASE+PHASE_END,1)
Duel.RegisterEffect(e1,tp)
end
\ No newline at end of file
local m=15005069
local cm=_G["c"..m]
cm.name="异闻鸣宙-复写体"
function cm.initial_effect(c)
--Activate
local e1=Effect.CreateEffect(c)
e1:SetCategory(CATEGORY_SPECIAL_SUMMON)
e1:SetType(EFFECT_TYPE_ACTIVATE)
e1:SetCode(EVENT_FREE_CHAIN)
e1:SetTarget(cm.target)
e1:SetOperation(cm.activate)
c:RegisterEffect(e1)
--spsummon
local e2=Effect.CreateEffect(c)
e2:SetDescription(aux.Stringid(m,1))
e2:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_O)
e2:SetCode(EVENT_SPSUMMON_SUCCESS)
e2:SetProperty(EFFECT_FLAG_DELAY)
e2:SetCountLimit(1,m)
e2:SetCondition(cm.pocon)
e2:SetTarget(cm.po1tg)
e2:SetOperation(cm.po1op)
c:RegisterEffect(e2)
local e3=Effect.CreateEffect(c)
e3:SetDescription(aux.Stringid(m,2))
e3:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_O)
e3:SetCode(EVENT_SPSUMMON_SUCCESS)
e3:SetProperty(EFFECT_FLAG_DELAY)
e3:SetCountLimit(1,m)
e3:SetCondition(cm.pocon)
e3:SetTarget(cm.po2tg)
e3:SetOperation(cm.po2op)
c:RegisterEffect(e3)
end
function cm.target(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.GetLocationCount(tp,LOCATION_MZONE)>0
and Duel.IsPlayerCanSpecialSummonMonster(tp,m,0xaf3e,TYPES_EFFECT_TRAP_MONSTER,600,1100,1,RACE_WINDBEAST,ATTRIBUTE_DARK) end
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,e:GetHandler(),1,0,0)
end
function cm.activate(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
if Duel.GetLocationCount(tp,LOCATION_MZONE)<=0
or not Duel.IsPlayerCanSpecialSummonMonster(tp,m,0xaf3e,TYPES_EFFECT_TRAP_MONSTER,600,1100,1,RACE_WINDBEAST,ATTRIBUTE_DARK) then return end
c:AddMonsterAttribute(TYPE_EFFECT+TYPE_TRAP)
Duel.SpecialSummon(c,SUMMON_VALUE_SELF,tp,tp,true,false,POS_FACEUP)
end
function cm.pocon(e,tp,eg,ep,ev,re,r,rp)
return e:GetHandler():GetSummonType()==SUMMON_TYPE_SPECIAL+SUMMON_VALUE_SELF
end
function cm.po1tg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(Card.IsFacedown,tp,LOCATION_MZONE,0,1,nil) end
local g=Duel.GetMatchingGroup(Card.IsFacedown,tp,LOCATION_MZONE,0,nil)
Duel.SetOperationInfo(0,CATEGORY_POSITION,g,1,0,0)
end
function cm.po1op(e,tp,eg,ep,ev,re,r,rp)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_POSCHANGE)
local g=Duel.SelectMatchingCard(tp,Card.IsFacedown,tp,LOCATION_MZONE,0,1,1,nil)
if g:GetCount()>0 then
Duel.HintSelection(g)
Duel.ChangePosition(g:GetFirst(),POS_FACEUP_DEFENSE)
end
end
function cm.po2tg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(Card.IsCanTurnSet,tp,LOCATION_MZONE,0,1,nil) end
local g=Duel.GetMatchingGroup(Card.IsFacedown,tp,LOCATION_MZONE,0,nil)
Duel.SetOperationInfo(0,CATEGORY_POSITION,g,1,0,0)
end
function cm.po2op(e,tp,eg,ep,ev,re,r,rp)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_POSCHANGE)
local g=Duel.SelectMatchingCard(tp,Card.IsCanTurnSet,tp,LOCATION_MZONE,0,1,1,nil)
if g:GetCount()>0 then
Duel.HintSelection(g)
Duel.ChangePosition(g:GetFirst(),POS_FACEDOWN_DEFENSE)
end
end
\ No newline at end of file
function c16101258.initial_effect(c) function c16101258.initial_effect(c)
--to hand --to hand
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(16101258,0)) e1:SetDescription(aux.Stringid(16101258,0))
e1:SetCategory(CATEGORY_TOHAND+CATEGORY_SPECIAL_SUMMON+CATEGORY_DECKDES) e1:SetCategory(CATEGORY_TOHAND+CATEGORY_SPECIAL_SUMMON+CATEGORY_DECKDES)
e1:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_TRIGGER_O) e1:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_TRIGGER_O)
e1:SetCode(EVENT_SUMMON_SUCCESS) e1:SetCode(EVENT_SUMMON_SUCCESS)
e1:SetProperty(EFFECT_FLAG_DELAY) e1:SetProperty(EFFECT_FLAG_DELAY)
e1:SetRange(LOCATION_MZONE) e1:SetRange(LOCATION_MZONE)
e1:SetCountLimit(1,16101258) e1:SetCountLimit(1,16101258)
e1:SetCondition(c16101258.thcon) e1:SetCondition(c16101258.thcon)
e1:SetTarget(c16101258.thtg) e1:SetTarget(c16101258.thtg)
e1:SetOperation(c16101258.spop) e1:SetOperation(c16101258.spop)
c:RegisterEffect(e1) c:RegisterEffect(e1)
local e2=e1:Clone() local e2=e1:Clone()
e2:SetCode(EVENT_SPSUMMON_SUCCESS) e2:SetCode(EVENT_SPSUMMON_SUCCESS)
c:RegisterEffect(e2) c:RegisterEffect(e2)
local e3=e1:Clone() local e3=e1:Clone()
e3:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_O) e3:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_O)
e3:SetCode(EVENT_BE_BATTLE_TARGET) e3:SetCode(EVENT_BE_BATTLE_TARGET)
e3:SetCondition(c16101258.thcon2) e3:SetCondition(c16101258.thcon2)
c:RegisterEffect(e3) c:RegisterEffect(e3)
--spsummon --spsummon
local e4=Effect.CreateEffect(c) local e4=Effect.CreateEffect(c)
e4:SetDescription(aux.Stringid(16101258,2)) e4:SetDescription(aux.Stringid(16101258,2))
e4:SetCategory(CATEGORY_SPECIAL_SUMMON) e4:SetCategory(CATEGORY_SPECIAL_SUMMON)
e4:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_TRIGGER_O) e4:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_TRIGGER_O)
e4:SetCode(EVENT_PHASE+PHASE_END) e4:SetCode(EVENT_PHASE+PHASE_END)
e4:SetRange(LOCATION_HAND) e4:SetRange(LOCATION_HAND)
e4:SetCountLimit(1,20003028) e4:SetCountLimit(1,16101258+100)
e4:SetCondition(c16101258.spcon2) e4:SetCondition(c16101258.spcon2)
e4:SetTarget(c16101258.sptg2) e4:SetTarget(c16101258.sptg2)
e4:SetOperation(c16101258.spop2) e4:SetOperation(c16101258.spop2)
c:RegisterEffect(e4) c:RegisterEffect(e4)
end end
function c16101258.cfilter(c,sp) function c16101258.cfilter(c,sp)
return c:IsSummonPlayer(sp) return c:IsSummonPlayer(sp)
end end
function c16101258.thcon(e,tp,eg,ep,ev,re,r,rp) function c16101258.thcon(e,tp,eg,ep,ev,re,r,rp)
return eg:IsExists(c16101258.cfilter,1,nil,1-tp) return eg:IsExists(c16101258.cfilter,1,nil,1-tp)
end end
function c16101258.thcon2(e,tp,eg,ep,ev,re,r,rp) function c16101258.thcon2(e,tp,eg,ep,ev,re,r,rp)
return Duel.GetAttacker():IsControler(1-tp) return Duel.GetAttacker():IsControler(1-tp)
end end
function c16101258.thtg(e,tp,eg,ep,ev,re,r,rp,chk) function c16101258.thtg(e,tp,eg,ep,ev,re,r,rp,chk)
local c=e:GetHandler() local c=e:GetHandler()
if chk==0 then return c:IsAbleToHand() end if chk==0 then return c:IsAbleToHand() end
Duel.SetOperationInfo(0,CATEGORY_TOHAND,c,1,0,0) Duel.SetOperationInfo(0,CATEGORY_TOHAND,c,1,0,0)
end end
function c16101258.check(c,e,tp) function c16101258.check(c,e,tp)
return not c:IsCode(m) and c:IsLevelBelow(2) and c:IsRace(RACE_BEAST) and c:IsCanBeSpecialSummoned(e,0,tp,false,false) return not c:IsCode(m) and c:IsLevelBelow(2) and c:IsRace(RACE_BEAST) and c:IsCanBeSpecialSummoned(e,0,tp,false,false)
end end
function c16101258.spop(e,tp) function c16101258.spop(e,tp)
local c = e:GetHandler() local c = e:GetHandler()
if c:IsRelateToEffect(e) and Duel.SendtoHand(c,nil,REASON_EFFECT)>0 then if c:IsRelateToEffect(e) and Duel.SendtoHand(c,nil,REASON_EFFECT)>0 then
local sg = Duel.GetMatchingGroup(c16101258.check,tp,LOCATION_GRAVE,0,nil,e,tp) local sg = Duel.GetMatchingGroup(c16101258.check,tp,LOCATION_GRAVE,0,nil,e,tp)
if Duel.GetLocationCount(tp,LOCATION_MZONE)>1 and not Duel.IsPlayerAffectedByEffect(tp,59822133) and sg:GetCount()>1 and Duel.SelectYesNo(tp,aux.Stringid(16101258,1)) then if Duel.GetLocationCount(tp,LOCATION_MZONE)>1 and not Duel.IsPlayerAffectedByEffect(tp,59822133) and sg:GetCount()>1 and Duel.SelectYesNo(tp,aux.Stringid(16101258,1)) then
Duel.BreakEffect() Duel.BreakEffect()
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON)
local g = sg:Select(tp,2,2,nil) local g = sg:Select(tp,2,2,nil)
Duel.SpecialSummon(g,0,tp,tp,false,false,POS_FACEUP) Duel.SpecialSummon(g,0,tp,tp,false,false,POS_FACEUP)
end end
end end
end end
function c16101258.spcon2(e,tp,eg,ep,ev,re,r,rp) function c16101258.spcon2(e,tp,eg,ep,ev,re,r,rp)
return Duel.GetTurnPlayer()==tp return Duel.GetTurnPlayer()==tp
end end
function c16101258.sptg2(e,tp,eg,ep,ev,re,r,rp,chk) function c16101258.sptg2(e,tp,eg,ep,ev,re,r,rp,chk)
local c=e:GetHandler() local c=e:GetHandler()
if chk==0 then return Duel.GetLocationCount(tp,LOCATION_MZONE)>0 and c:IsCanBeSpecialSummoned(e,0,tp,false,false) end if chk==0 then return Duel.GetLocationCount(tp,LOCATION_MZONE)>0 and c:IsCanBeSpecialSummoned(e,0,tp,false,false) end
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,c,1,0,0) Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,c,1,0,0)
end end
function c16101258.spop2(e,tp,eg,ep,ev,re,r,rp) function c16101258.spop2(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler() local c=e:GetHandler()
if c:IsRelateToEffect(e) then if c:IsRelateToEffect(e) then
Duel.SpecialSummon(c,0,tp,tp,false,false,POS_FACEUP) Duel.SpecialSummon(c,0,tp,tp,false,false,POS_FACEUP)
end end
end end
...@@ -110,6 +110,7 @@ function cm.operation(e,tp) ...@@ -110,6 +110,7 @@ function cm.operation(e,tp)
local cost=te:GetCost() local cost=te:GetCost()
if cost then cost(te,tep,eg,ep,ev,re,r,rp,1) end if cost then cost(te,tep,eg,ep,ev,re,r,rp,1) end
Duel.RaiseEvent(tc,4179255,te,0,tp,tp,Duel.GetCurrentChain()) Duel.RaiseEvent(tc,4179255,te,0,tp,tp,Duel.GetCurrentChain())
Duel.AdjustAll()
if Duel.IsExistingMatchingCard(cm.rllfilter,tp,LOCATION_ONFIELD,0,1,nil,tp) and Duel.SelectYesNo(tp,aux.Stringid(m,3)) then if Duel.IsExistingMatchingCard(cm.rllfilter,tp,LOCATION_ONFIELD,0,1,nil,tp) and Duel.SelectYesNo(tp,aux.Stringid(m,3)) then
Duel.ShuffleDeck(tp) Duel.ShuffleDeck(tp)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_RELEASE) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_RELEASE)
......
...@@ -106,7 +106,7 @@ function cm.op3(e,tp,eg,ep,ev,re,r,rp) ...@@ -106,7 +106,7 @@ function cm.op3(e,tp,eg,ep,ev,re,r,rp)
if tc then if tc then
Duel.MoveToField(tc,tp,tp,LOCATION_PZONE,POS_FACEUP,true) Duel.MoveToField(tc,tp,tp,LOCATION_PZONE,POS_FACEUP,true)
if tc:IsLocation(LOCATION_PZONE) if tc:IsLocation(LOCATION_PZONE)
and Duel.GetLocationCount(tp,LOCATION_MZONE)>0 and Duel.SelectYesNo(tp,aux.Stringid(m,0)) then and Duel.GetLocationCount(tp,LOCATION_MZONE)>0 and Duel.SelectYesNo(tp,aux.Stringid(m,0)) then
if not tc:IsCanBeSpecialSummoned(e,0,tp,false,false,POS_FACEUP) or Duel.SelectOption(tp,1152,1151)==1 then if not tc:IsCanBeSpecialSummoned(e,0,tp,false,false,POS_FACEUP) or Duel.SelectOption(tp,1152,1151)==1 then
local s1=tc:IsSummonable(true,nil) local s1=tc:IsSummonable(true,nil)
local s2=tc:IsMSetable(true,nil) local s2=tc:IsMSetable(true,nil)
......
...@@ -109,14 +109,14 @@ function cm.op(e,tp,eg,ep,ev,re,r,rp) ...@@ -109,14 +109,14 @@ function cm.op(e,tp,eg,ep,ev,re,r,rp)
local e1=Effect.CreateEffect(e:GetHandler()) local e1=Effect.CreateEffect(e:GetHandler())
e1:SetType(EFFECT_TYPE_SINGLE) e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetCode(EFFECT_DISABLE) e1:SetCode(EFFECT_DISABLE)
e1:SetReset(RESET_EVENT+0x17a0000+RESET_PHASE+PHASE_END) e1:SetReset(RESET_EVENT+0x17a0000)
tc1:RegisterEffect(e1) tc1:RegisterEffect(e1)
local e2=Effect.CreateEffect(e:GetHandler()) local e2=Effect.CreateEffect(e:GetHandler())
e2:SetType(EFFECT_TYPE_SINGLE) e2:SetType(EFFECT_TYPE_SINGLE)
e2:SetCode(EFFECT_DISABLE_EFFECT) e2:SetCode(EFFECT_DISABLE_EFFECT)
e2:SetReset(RESET_EVENT+0x17a0000+RESET_PHASE+PHASE_END) e2:SetReset(RESET_EVENT+0x17a0000)
tc1:RegisterEffect(e2) tc1:RegisterEffect(e2)
tc1:RegisterFlagEffect(m,RESET_EVENT+0x17a0000+RESET_PHASE+PHASE_END,EFFECT_FLAG_CLIENT_HINT,1,0,aux.Stringid(m,0)) tc1:RegisterFlagEffect(m,RESET_EVENT+0x17a0000,EFFECT_FLAG_CLIENT_HINT,1,0,aux.Stringid(m,0))
end end
end end
tc1=g:GetNext() tc1=g:GetNext()
...@@ -152,14 +152,14 @@ function cm.doitdis(e,tp) ...@@ -152,14 +152,14 @@ function cm.doitdis(e,tp)
local e1=Effect.CreateEffect(e:GetHandler()) local e1=Effect.CreateEffect(e:GetHandler())
e1:SetType(EFFECT_TYPE_SINGLE) e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetCode(EFFECT_DISABLE) e1:SetCode(EFFECT_DISABLE)
e1:SetReset(RESET_EVENT+0x17a0000+RESET_PHASE+PHASE_END) e1:SetReset(RESET_EVENT+0x17a0000)
tc1:RegisterEffect(e1) tc1:RegisterEffect(e1)
local e2=Effect.CreateEffect(e:GetHandler()) local e2=Effect.CreateEffect(e:GetHandler())
e2:SetType(EFFECT_TYPE_SINGLE) e2:SetType(EFFECT_TYPE_SINGLE)
e2:SetCode(EFFECT_DISABLE_EFFECT) e2:SetCode(EFFECT_DISABLE_EFFECT)
e2:SetReset(RESET_EVENT+0x17a0000+RESET_PHASE+PHASE_END) e2:SetReset(RESET_EVENT+0x17a0000)
tc1:RegisterEffect(e2) tc1:RegisterEffect(e2)
tc1:RegisterFlagEffect(m,RESET_EVENT+0x17a0000+RESET_PHASE+PHASE_END,EFFECT_FLAG_CLIENT_HINT,1,0,aux.Stringid(m,0)) tc1:RegisterFlagEffect(m,RESET_EVENT+0x17a0000,EFFECT_FLAG_CLIENT_HINT,1,0,aux.Stringid(m,0))
end end
end end
tc1=g1:GetNext() tc1=g1:GetNext()
......
...@@ -194,6 +194,6 @@ function cm.nameop(e,tp,eg,ep,ev,re,r,rp) ...@@ -194,6 +194,6 @@ function cm.nameop(e,tp,eg,ep,ev,re,r,rp)
local ac=Duel.GetChainInfo(0,CHAININFO_TARGET_PARAM) local ac=Duel.GetChainInfo(0,CHAININFO_TARGET_PARAM)
local c=e:GetHandler() local c=e:GetHandler()
if c:IsRelateToEffect(e) and c:IsFaceup() then if c:IsRelateToEffect(e) and c:IsFaceup() then
c:CopyEffect(ac,RESET_EVENT+RESETS_STANDARD+RESET_PHASE+PHASE_END,2) c:CopyEffect(ac,RESET_EVENT+RESETS_STANDARD+RESET_PHASE+PHASE_END,1)
end end
end end
\ No newline at end of file
...@@ -56,7 +56,7 @@ function cm.initial_effect(c) ...@@ -56,7 +56,7 @@ function cm.initial_effect(c)
e7:SetRange(LOCATION_SZONE) e7:SetRange(LOCATION_SZONE)
e7:SetCost(cm.cost4) e7:SetCost(cm.cost4)
e7:SetOperation(cm.op4) e7:SetOperation(cm.op4)
--c:RegisterEffect(e7) c:RegisterEffect(e7)
end end
function cm.actcon(e,tp) function cm.actcon(e,tp)
return Duel.GetMatchingGroupCount(cm.gfilter,e:GetHandlerPlayer(),LOCATION_MZONE,0,nil)>0 return Duel.GetMatchingGroupCount(cm.gfilter,e:GetHandlerPlayer(),LOCATION_MZONE,0,nil)>0
......
--龙霸主仙精 Marinyan
Duel.LoadScript("c16199990.lua")
local m,cm=rk.set(16114260,"FAIRY",1)
function cm.initial_effect(c)
c:SetUniqueOnField(1,0,m)
--spsummon
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_FIELD)
e1:SetCode(EFFECT_SPSUMMON_PROC)
e1:SetRange(LOCATION_HAND)
e1:SetProperty(EFFECT_FLAG_UNCOPYABLE)
e1:SetCondition(cm.spcon)
c:RegisterEffect(e1)
--copy effect
local e2=Effect.CreateEffect(c)
e2:SetDescription(aux.Stringid(m,1))
e2:SetType(EFFECT_TYPE_IGNITION)
e2:SetRange(LOCATION_MZONE)
e2:SetProperty(EFFECT_FLAG_CARD_TARGET)
e2:SetCountLimit(1,m+1)
e2:SetCost(cm.cost)
e2:SetTarget(cm.copytg)
e2:SetOperation(cm.copyop)
c:RegisterEffect(e2)
end
function cm.spfilter(c,tp)
return c:IsFaceup() and rk.check(c,"RYUUHA")
end
function cm.spcon(e,c)
if c==nil then return true end
local tp=c:GetControler()
return Duel.IsExistingMatchingCard(cm.spfilter,tp,LOCATION_MZONE,0,1,nil,tp)
end
function cm.cost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.CheckLPCost(tp,500) end
Duel.PayLPCost(tp,500)
end
function cm.copyfilter(c,tp)
return c:IsType(TYPE_MONSTER) and c:IsRace(RACE_DRAGON) and not c:IsType(TYPE_TOKEN) and (c:IsFaceup() or (c:IsLocation(LOCATION_GRAVE) and not c:IsForbidden() and c:CheckUniqueOnField(tp)))
end
function cm.copytg(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
local c=e:GetHandler()
if chkc then return chkc:IsLocation(LOCATION_MZONE+LOCATION_GRAVE) and cm.copyfilter(chkc,tp) and chkc~=c and Duel.GetLocationCount(tp,LOCATION_SZONE)>0 end
if chk==0 then return Duel.IsExistingTarget(cm.copyfilter,tp,LOCATION_MZONE+LOCATION_GRAVE,0,1,c,tp) and Duel.GetLocationCount(tp,LOCATION_SZONE)>0 end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_FACEUP)
Duel.SelectTarget(tp,cm.copyfilter,tp,LOCATION_MZONE+LOCATION_GRAVE,0,1,1,c,tp)
end
function cm.copyop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
local tc=Duel.GetFirstTarget()
if tc and c:IsRelateToEffect(e) and c:IsFaceup() and tc:IsRelateToEffect(e) and (tc:IsFaceup() or tc:IsLocation(LOCATION_GRAVE)) then
if not Duel.Equip(tp,tc,c) then return end
Duel.BreakEffect()
--equip limit
local atk=tc:GetBaseAttack()
local def=tc:GetBaseDefense()
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetCode(EFFECT_EQUIP_LIMIT)
e1:SetProperty(EFFECT_FLAG_CANNOT_DISABLE)
e1:SetLabelObject(c)
e1:SetValue(cm.eqlimit)
e1:SetReset(RESET_EVENT+RESETS_STANDARD)
tc:RegisterEffect(e1)
--atk
local ge1=Effect.CreateEffect(c)
ge1:SetType(EFFECT_TYPE_SINGLE)
ge1:SetCode(EFFECT_UPDATE_ATTACK)
ge1:SetValue(atk)
ge1:SetReset(RESET_EVENT+RESETS_STANDARD+RESET_DISABLE)
c:RegisterEffect(ge1)
local ge2=ge1:Clone()
ge2:SetCode(EFFECT_UPDATE_DEFENSE)
ge2:SetValue(def)
c:RegisterEffect(ge2)
local code=tc:GetOriginalCodeRule()
if not tc:IsType(TYPE_TRAPMONSTER) then
cid=c:CopyEffect(code,RESET_EVENT+RESETS_STANDARD)
end
end
end
function cm.eqlimit(e,c)
return c==e:GetLabelObject()
end
\ No newline at end of file
--仙精的快乐回忆
Duel.LoadScript("c16199990.lua")
local m,cm=rk.set(16114262,"FAIRY")
function cm.initial_effect(c)
--search
local e0=Effect.CreateEffect(c)
e0:SetCategory(CATEGORY_TOHAND+CATEGORY_SEARCH)
e0:SetType(EFFECT_TYPE_ACTIVATE)
e0:SetCode(EVENT_FREE_CHAIN)
e0:SetCountLimit(1,m+EFFECT_COUNT_CODE_OATH)
c:RegisterEffect(e0)
--special summon
local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(m,1))
e1:SetCategory(CATEGORY_SPECIAL_SUMMON)
e1:SetType(EFFECT_TYPE_IGNITION)
e1:SetCountLimit(1)
e1:SetRange(LOCATION_SZONE)
e1:SetCost(cm.cost)
e1:SetTarget(cm.target)
e1:SetOperation(cm.operation)
c:RegisterEffect(e1)
--grave to field
local e2=Effect.CreateEffect(c)
e2:SetDescription(aux.Stringid(m,2))
e2:SetCategory(CATEGORY_TOHAND)
e2:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_TRIGGER_O)
e2:SetCode(EVENT_RECOVER)
e2:SetRange(LOCATION_SZONE)
e2:SetProperty(EFFECT_FLAG_DELAY+EFFECT_FLAG_CARD_TARGET)
e2:SetCountLimit(1)
e2:SetCondition(cm.tfcon)
e2:SetTarget(cm.tftg)
e2:SetOperation(cm.tfop)
c:RegisterEffect(e2)
if not cm.global_check then
cm.global_check=true
local ge1=Effect.CreateEffect(c)
ge1:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
ge1:SetCode(EVENT_TO_GRAVE)
ge1:SetOperation(cm.checkop)
Duel.RegisterEffect(ge1,0)
end
end
function cm.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 cm.target(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.GetFieldGroupCount(tp,0,LOCATION_HAND)>0 end
end
function cm.operation(e,tp,eg,ep,ev,re,r,rp,chk)
local hg=Duel.GetFieldGroup(tp,0,LOCATION_HAND)
if #hg==0 then return end
local tc=hg:RandomSelect(tp,1):GetFirst()
Duel.ConfirmCards(tp,tc)
if tc:IsType(TYPE_MONSTER) and tc:IsCanBeSpecialSummoned(e,0,tp,false,false) and Duel.GetLocationCount(1-tp,LOCATION_MZONE)>0 then
Duel.SpecialSummon(tc,0,tp,1-tp,false,false,POS_FACEUP)
end
end
function cm.checkop(e,tp,eg,ep,ev,re,r,rp)
for tc in aux.Next(eg) do
tc:RegisterFlagEffect(m,RESET_PHASE+PHASE_END+RESET_EVENT+RESETS_STANDARD,0,1)
end
end
function cm.tfcon(e,tp,eg,ep,ev,re,r,rp)
return ep==tp
end
function cm.tffilter(c,tp)
return c:IsType(TYPE_SPELL+TYPE_TRAP) and c:GetFlagEffect(m)>0 and c:IsType(TYPE_CONTINUOUS) and rk.check(c,"FAIRY") and not c:IsForbidden() and c:CheckUniqueOnField(tp)
end
function cm.tftg(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
if chkc then return chkc:IsLocation(LOCATION_GRAVE) and chkc:IsControler(tp) and cm.tffilter(chkc,tp) end
if chk==0 then return Duel.GetLocationCount(tp,LOCATION_SZONE)>0 and Duel.IsExistingTarget(cm.tffilter,tp,LOCATION_GRAVE,0,1,nil,tp) end
Duel.Hint(HINT_OPSELECTED,1-tp,e:GetDescription())
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TOFIELD)
local g=Duel.SelectTarget(tp,cm.tffilter,tp,LOCATION_GRAVE,0,1,1,nil,tp)
Duel.SetOperationInfo(0,CATEGORY_LEAVE_GRAVE,g,1,0,0)
end
function cm.tfop(e,tp,eg,ep,ev,re,r,rp)
local tc=Duel.GetFirstTarget()
if tc:IsRelateToEffect(e) then
Duel.MoveToField(tc,tp,tp,LOCATION_SZONE,POS_FACEUP,true)
end
end
\ No newline at end of file
...@@ -98,7 +98,7 @@ function cm.mtdo() ...@@ -98,7 +98,7 @@ function cm.mtdo()
end end
end end
function cm.check(c) function cm.check(c)
return c:IsAbleToHand() and aux.IsCodeListed(c,16172004) and Duel.IsExistingMatchingCard(Card.IsAbleToRemove,0,LOCATION_ONFIELD,LOCATION_ONFIELD,1,c) and c:IsFaceup() return c:IsAbleToHand() and not c:IsCode(m) and aux.IsCodeListed(c,16172004) and Duel.IsExistingMatchingCard(Card.IsAbleToRemove,0,LOCATION_ONFIELD,LOCATION_ONFIELD,1,c) and c:IsFaceup()
end end
function cm.rmtg(e,tp,eg,ep,ev,re,r,rp,chk,chkc) function cm.rmtg(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
if chkc then return chkc:IsAbleToHand() and cm.check(chkc) end if chkc then return chkc:IsAbleToHand() and cm.check(chkc) end
......
--
local m=16199998
local cm=_G["c"..m]
function cm.initial_effect(c)
--activate
local e1=Effect.CreateEffect(c)
e1:SetCategory(CATEGORY_SPECIAL_SUMMON)
e1:SetType(EFFECT_TYPE_ACTIVATE)
e1:SetCode(EVENT_FREE_CHAIN)
e1:SetProperty(EFFECT_FLAG_CARD_TARGET)
e1:SetTarget(cm.target)
e1:SetOperation(cm.activate)
c:RegisterEffect(e1)
end
function cm.ffilter(c,e,tp)
return c:IsFaceup() and Duel.IsExistingMatchingCard(cm.spfilter,tp,LOCATION_DECK,0,1,nil,c,e,tp)
end
function cm.spfilter(c,fc,e,tp)
return aux.IsCodeListed(c,fc:GetCode()) and Duel.IsExistingMatchingCard(cm.spfilter2,tp,LOCATION_DECK,0,1,nil,c,e,tp,fc)
end
function cm.spfilter2(c,fc,e,tp,tc)
return aux.IsCodeListed(fc,c:GetCode()) and not c:IsCode(tc:GetCode()) and c:IsCanBeSpecialSummoned(e,0,tp,false,false)
end
function cm.target(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.GetLocationCount(tp,LOCATION_MZONE)>0 and Duel.IsExistingTarget(cm.ffilter,tp,LOCATION_MZONE,0,1,nil,e,tp) end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TARGET)
local sg=Duel.SelectTarget(tp,cm.ffilter,tp,LOCATION_MZONE,0,1,1,nil,e,tp)
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,1,tp,LOCATION_DECK)
end
function cm.activate(e,tp,eg,ep,ev,re,r,rp)
if Duel.GetLocationCount(tp,LOCATION_MZONE)<=0 then return end
local fc=Duel.GetFirstTarget()
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_CONFIRM)
local tc=Duel.SelectMatchingCard(tp,cm.spfilter,tp,LOCATION_DECK,0,1,1,nil,fc,e,tp):GetFirst()
if tc then
Duel.ConfirmCards(1-tp,tc)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON)
local g=Duel.SelectMatchingCard(tp,cm.spfilter2,tp,LOCATION_DECK,0,1,1,nil,tc,e,tp,fc)
if g:GetCount()>0 then
Duel.SpecialSummon(g,0,tp,tp,false,false,POS_FACEUP)
end
end
end
\ No newline at end of file
...@@ -55,7 +55,7 @@ function s.cost(e,tp,eg,ep,ev,re,r,rp,chk) ...@@ -55,7 +55,7 @@ function s.cost(e,tp,eg,ep,ev,re,r,rp,chk)
end end
end end
function s.tdestg(e,tp,eg,ep,ev,re,r,rp,chk,chkc) function s.tdestg(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
local g=Duel.GetMatchingGroup(aux.TRUE,tp,0,LOCATION_MZONE,nil) local g=Duel.GetMatchingGroup(aux.TRUE,tp,0,LOCATION_ONFIELD,nil)
local rg=Duel.GetMatchingGroup(Card.IsDiscardable,tp,LOCATION_HAND,0,nil) local rg=Duel.GetMatchingGroup(Card.IsDiscardable,tp,LOCATION_HAND,0,nil)
if chkc then return false end if chkc then return false end
if chk==0 then if chk==0 then
......
...@@ -65,7 +65,7 @@ function s.distgf(c,rc) ...@@ -65,7 +65,7 @@ function s.distgf(c,rc)
return rc:GetAttribute()&c:GetAttribute()~=0 return rc:GetAttribute()&c:GetAttribute()~=0
end end
function s.indval1(e,c) function s.indval1(e,c)
return c:GetOverlayGroup():IsExists(s.distgf,1,nil,c:GetBattleTarget()) return e:GetHandler():GetOverlayGroup():IsExists(s.distgf,1,nil,c)
end end
function s.efilter(e,te) function s.efilter(e,te)
return te:GetHandler():IsType(TYPE_MONSTER) and te:GetOwnerPlayer()~=e:GetHandlerPlayer() and e:GetHandler():GetOverlayGroup():IsExists(s.distgf,1,nil,te:GetHandler()) return te:GetHandler():IsType(TYPE_MONSTER) and te:GetOwnerPlayer()~=e:GetHandlerPlayer() and e:GetHandler():GetOverlayGroup():IsExists(s.distgf,1,nil,te:GetHandler())
......
...@@ -3,7 +3,7 @@ if c23000400 then return end ...@@ -3,7 +3,7 @@ if c23000400 then return end
c23000400=c23000400 or {} c23000400=c23000400 or {}
local m = 23000400 local m = 23000400
local bm = _G["c"..m] local bm = _G["c"..m]
local Version_Number=20230421 local Version_Number=20230906
local tcode=0x364 local tcode=0x364
--Instructions about how to use this --Instructions about how to use this
--[[ --[[
...@@ -332,6 +332,7 @@ end ...@@ -332,6 +332,7 @@ end
function bm.x.op(loc,filter_func) function bm.x.op(loc,filter_func)
return function(e,tp,eg,ep,ev,re,r,rp) return function(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler() local c=e:GetHandler()
if not c:IsRelateToEffect(e) then return end
local g=Duel.GetMatchingGroup(bm.x.spfilter,tp,loc,0,nil,e,tp,c) local g=Duel.GetMatchingGroup(bm.x.spfilter,tp,loc,0,nil,e,tp,c)
if filter_func then g=g:Filter(filter_func,nil,e) end if filter_func then g=g:Filter(filter_func,nil,e) end
if #g>0 and aux.MustMaterialCheck(nil,tp,EFFECT_MUST_BE_XMATERIAL) then if #g>0 and aux.MustMaterialCheck(nil,tp,EFFECT_MUST_BE_XMATERIAL) then
...@@ -404,7 +405,7 @@ function bm.matfilter1(c,syncard,tp) ...@@ -404,7 +405,7 @@ function bm.matfilter1(c,syncard,tp)
if syncard:IsOriginalCodeRule(23000630) and not c:IsCode(23000640) then return false end if syncard:IsOriginalCodeRule(23000630) and not c:IsCode(23000640) then return false end
if c:IsFacedown() and not c:GetEquipTarget() then return false end if c:IsFacedown() and not c:GetEquipTarget() then return false end
if bm.othermatfilter(c) and c:IsLocation(sz) then return true end if bm.othermatfilter(c) and c:IsLocation(sz) then return true end
return (c:IsSetCard(tcode) or syncard:IsOriginalCodeRule(23000640,23000650)) and c:IsSynchroType(TYPE_TUNER) and c:IsCanBeSynchroMaterial(syncard) and (c:IsFaceup() or not c:IsLocation(LOCATION_MZONE)) return (c:IsSetCard(tcode) or syncard:IsOriginalCodeRule(23000640,23000650)) and c:IsTuner() and c:IsCanBeSynchroMaterial(syncard) and (c:IsFaceup() or not c:IsLocation(LOCATION_MZONE))
end end
function bm.matfilter2(c,syncard) function bm.matfilter2(c,syncard)
if syncard:IsOriginalCodeRule(23000630) and not c:IsSynchroType(TYPE_SYNCHRO) then return false end if syncard:IsOriginalCodeRule(23000630) and not c:IsSynchroType(TYPE_SYNCHRO) then return false end
...@@ -439,10 +440,10 @@ function bm.s.con(e,c,tuner,mg) ...@@ -439,10 +440,10 @@ function bm.s.con(e,c,tuner,mg)
g2=mg:Filter(bm.matfilter2,nil,c) g2=mg:Filter(bm.matfilter2,nil,c)
g3=g2:Clone() g3=g2:Clone()
else else
local mpg=Duel.GetMatchingGroup(nil,tp,mz+sz,mz,nil) local mpg=Duel.GetMatchingGroup(nil,tp,mz+sz,0,nil)
g1=mpg:Filter(bm.matfilter1,nil,c,tp) g1=mpg:Filter(bm.matfilter1,nil,c,tp)
g2=mpg:Filter(bm.matfilter2,nil,c) g2=mpg:Filter(bm.matfilter2,nil,c)
g3=Duel.GetMatchingGroup(bm.matfilter2,tp,LOCATION_MZONE+LOCATION_HAND,LOCATION_MZONE,nil,c) g3=Duel.GetMatchingGroup(bm.matfilter2,tp,mz+hz,0,nil,c)
end end
local lv=c:GetLevel() local lv=c:GetLevel()
local sg=nil local sg=nil
...@@ -464,10 +465,10 @@ function bm.s.tg(e,tp,eg,ep,ev,re,r,rp,chk,c,tuner,mg) ...@@ -464,10 +465,10 @@ function bm.s.tg(e,tp,eg,ep,ev,re,r,rp,chk,c,tuner,mg)
g2=mg:Filter(bm.matfilter2,nil,c) g2=mg:Filter(bm.matfilter2,nil,c)
g3=g2:Clone() g3=g2:Clone()
else else
local mpg=Duel.GetMatchingGroup(nil,tp,mz+sz,mz,nil) local mpg=Duel.GetMatchingGroup(nil,tp,mz+sz,0,nil)
g1=mpg:Filter(bm.matfilter1,nil,c,tp) g1=mpg:Filter(bm.matfilter1,nil,c,tp)
g2=mpg:Filter(bm.matfilter2,nil,c) g2=mpg:Filter(bm.matfilter2,nil,c)
g3=Duel.GetMatchingGroup(bm.matfilter2,tp,LOCATION_MZONE+LOCATION_HAND,LOCATION_MZONE,nil,c) g3=Duel.GetMatchingGroup(bm.matfilter2,tp,mz+hz,0,nil,c)
end end
local pe=Duel.IsPlayerAffectedByEffect(tp,EFFECT_MUST_BE_SMATERIAL) local pe=Duel.IsPlayerAffectedByEffect(tp,EFFECT_MUST_BE_SMATERIAL)
local lv=c:GetLevel() local lv=c:GetLevel()
......
--统合骑士团的棱镜
if not pcall(function() require("expansions/script/c23000400") end) then
if not pcall(function() require("script/c23000400") end) then
require("c23000400")
end
end
local m1=23000400
local bm = _G["c"..m1]
local tcode=0x364
local m=23000450
local cm = _G["c"..m]
function cm.initial_effect(c)
--link summon
aux.AddLinkProcedure(c,aux.FilterBoolFunction(Card.IsLinkSetCard,tcode),1)
c:EnableReviveLimit()
--xyz
local e1=Effect.CreateEffect(c)
e1:SetCategory(CATEGORY_SPECIAL_SUMMON)
e1:SetType(EFFECT_TYPE_IGNITION)
e1:SetRange(LOCATION_MZONE)
e1:SetTarget(bm.x.tg(ex,cm.xyzf))
e1:SetOperation(bm.x.op(ex,cm.xyzf))
c:RegisterEffect(e1)
--overlay
local e3=Effect.CreateEffect(c)
e3:SetDescription(aux.Stringid(20424878,1))
e3:SetType(EFFECT_TYPE_IGNITION)
e3:SetProperty(EFFECT_FLAG_CARD_TARGET)
e3:SetRange(LOCATION_GRAVE)
e3:SetCountLimit(1,id)
e3:SetTarget(cm.ovtg)
e3:SetOperation(cm.ovop)
c:RegisterEffect(e3)
end
function cm.xyzf(c)
return c:IsSetCard(tcode) and c:IsRank(4)
end
function cm.ovfilter(c)
return c:IsFaceup() and c:IsSetCard(tcode) and c:IsType(TYPE_XYZ)
end
function cm.ovtg(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
if chkc then return chkc:IsLocation(LOCATION_MZONE) and chkc:IsControler(tp) and cm.ovfilter(chkc) and chkc~=e:GetHandler() end
if chk==0 then return Duel.IsExistingTarget(cm.ovfilter,tp,LOCATION_MZONE,0,1,e:GetHandler())
and e:GetHandler():IsCanOverlay() end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TARGET)
Duel.SelectTarget(tp,cm.ovfilter,tp,LOCATION_MZONE,0,1,1,e:GetHandler())
if e:GetHandler():IsLocation(LOCATION_GRAVE) then
Duel.SetOperationInfo(0,CATEGORY_LEAVE_GRAVE,e:GetHandler(),1,0,0)
end
end
function cm.ovop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
local tc=Duel.GetFirstTarget()
if c:IsRelateToEffect(e) and tc:IsRelateToEffect(e) and not c:IsImmuneToEffect(e) then
Duel.Overlay(tc,Group.FromCards(c))
end
end
--小白兔的外包 --小白兔的外包
if not pcall(function() require("expansions/script/c10199990") end) then require("script/c10199990") end if not pcall(function() require("expansions/script/c10199990") end) then require("script/c10199990") end
\ No newline at end of file local s = { }
LittleRabbit = { }
function LittleRabbit.TunerFilter(c)
return c:IsAttack(150) and c:IsDefense(2050) and c:IsType(TYPE_TUNER)
end
function LittleRabbit.SpecialSummonFun(c, id)
local e1 = Scl.CreateQuickOptionalEffect(c, "ActivateEffect",
"SpecialSummon", {1,id + 100}, "SpecialSummon", nil, "GY",
s.spscon,nil,
{"~Target", "SpecialSummon", Scl.IsCanBeSpecialSummonedNormaly2}, s.spsop)
return e1
end
function s.spscon(e,tp,eg,ep,ev,re,r,rp,chk)
local loc , ap = Duel.GetChainInfo(ev,CHAININFO_TRIGGERING_LOCATION,CHAININFO_TRIGGERING_PLAYER)
return re:IsHasCategory(CATEGORY_SPECIAL_SUMMON) and ap == tp and loc & (LOCATION_HAND+LOCATION_ONFIELD) ~= 0
end
function s.spsop(e,tp)
local _, c = Scl.GetActivateCard()
if not c or Duel.SpecialSummon(c, 0, tp, tp, false, false, POS_FACEUP) <= 0 then return end
c:RegisterFlagEffect(c:GetOriginalCodeRule(), RESETS_SCL, 0, 1)
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
e1:SetCode(EVENT_CHAIN_END)
e1:SetCondition(s.tdcon2)
e1:SetOperation(s.tdop2)
e1:SetLabelObject(c)
Duel.RegisterEffect(e1,tp)
end
function s.tdcon2(e)
e:Reset()
return e:GetLabelObject():GetFlagEffect(e:GetHandler():GetOriginalCodeRule()) > 0
end
function s.tdop2(e,tp)
Scl.HintCard(e:GetLabelObject():GetOriginalCodeRule())
Duel.SendtoDeck(e:GetLabelObject(),nil,2,REASON_EFFECT)
end
\ No newline at end of file
--晶导算使 自增普拉斯
-------------------------------------check---------------------------
VHisc_JDSS=VHisc_JDSS or {}
function VHisc_JDSS.addcheck(c)
if not VHisc_JDSS.global_check then
VHisc_JDSS.global_check=true
local ge1=Effect.CreateEffect(c)
ge1:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
ge1:SetCode(EVENT_SPSUMMON_SUCCESS)
ge1:SetOperation(VHisc_JDSS.checkop)
Duel.RegisterEffect(ge1,0)
end
end
function VHisc_JDSS.checkop(e,tp,eg,ep,ev,re,r,rp)
local tc=eg:GetFirst()
while tc do
if tc:GetReasonEffect() and tc:GetReasonEffect():IsHasType(EFFECT_TYPE_ACTIONS) and tc:GetReasonEffect():GetHandler().SetCard_JDSS then
tc:RegisterFlagEffect(33201401,RESET_EVENT+RESETS_STANDARD,EFFECT_FLAG_CLIENT_HINT,1,0,aux.Stringid( 33201401,1))
end
tc=eg:GetNext()
end
end
-----------------------------card effect-----------------------------------
function c33201401.initial_effect(c)
--pendulum summon
aux.EnablePendulumAttribute(c)
VHisc_JDSS.addcheck(c)
--spsummon
local e0=Effect.CreateEffect(c)
e0:SetDescription(aux.Stringid(33201401,0))
e0:SetCategory(CATEGORY_SPECIAL_SUMMON)
e0:SetType(EFFECT_TYPE_IGNITION)
e0:SetRange(LOCATION_PZONE)
e0:SetCountLimit(1,33201401)
e0:SetCondition(c33201401.tdcon1)
e0:SetTarget(c33201401.sptg)
e0:SetOperation(c33201401.spop)
c:RegisterEffect(e0)
local e5=e0:Clone()
e5:SetType(EFFECT_TYPE_QUICK_O)
e5:SetProperty(EFFECT_FLAG_DAMAGE_STEP)
e5:SetCode(EVENT_FREE_CHAIN)
e5:SetHintTiming(TIMING_DAMAGE_STEP,TIMING_DAMAGE_STEP+TIMINGS_CHECK_MONSTER)
e5:SetCondition(c33201401.tdcon2)
c:RegisterEffect(e5)
--to hand
local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(33201401,1))
e1:SetCategory(CATEGORY_TOHAND+CATEGORY_SEARCH)
e1:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_O)
e1:SetProperty(EFFECT_FLAG_DELAY)
e1:SetCode(EVENT_SUMMON_SUCCESS)
e1:SetCountLimit(1,33201401+10000)
e1:SetTarget(c33201401.thtg)
e1:SetOperation(c33201401.thop)
c:RegisterEffect(e1)
local e2=e1:Clone()
e2:SetCode(EVENT_SPSUMMON_SUCCESS)
c:RegisterEffect(e2)
--spsummon
local e4=Effect.CreateEffect(c)
e4:SetDescription(aux.Stringid(33201401,2))
e4:SetCategory(CATEGORY_SEARCH+CATEGORY_TOHAND)
e4:SetType(EFFECT_TYPE_IGNITION)
e4:SetRange(LOCATION_MZONE)
e4:SetCountLimit(1)
e4:SetCondition(c33201401.thcon1)
e4:SetTarget(c33201401.thtg1)
e4:SetOperation(c33201401.thop1)
c:RegisterEffect(e4)
end
c33201401.SetCard_JDSS=true
function c33201401.tdcon1(e,tp,eg,ep,ev,re,r,rp)
return not Duel.IsPlayerAffectedByEffect(tp,33201408)
end
function c33201401.tdcon2(e,tp,eg,ep,ev,re,r,rp)
return aux.dscon() and Duel.IsPlayerAffectedByEffect(tp,33201408)
end
function c33201401.filter1(c,e,tp)
return c:IsLevelAbove(0)
and Duel.IsExistingMatchingCard(c33201401.filter2,tp,LOCATION_HAND,0,1,c,e,tp,c:GetLevel())
end
function c33201401.filter2(c,e,tp,lv)
return c:IsLevelAbove(0)
and Duel.IsExistingMatchingCard(c33201401.spfilter,tp,LOCATION_DECK,0,1,nil,e,tp,c:GetLevel()+lv)
end
function c33201401.spfilter(c,e,tp,lv)
return c.SetCard_JDSS and c:IsLevel(lv)
and c:IsCanBeSpecialSummoned(e,0,tp,false,false)
end
function c33201401.sptg(e,tp,eg,ep,ev,re,r,rp,chk)
if chkc then return false end
if chk==0 then return Duel.GetLocationCount(tp,LOCATION_MZONE)>0
and Duel.IsExistingMatchingCard(c33201401.filter1,tp,LOCATION_HAND,0,1,nil,e,tp) end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_CONFIRM)
local g1=Duel.SelectMatchingCard(tp,c33201401.filter1,tp,LOCATION_HAND,0,1,1,nil,e,tp)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_CONFIRM)
local g2=Duel.SelectMatchingCard(tp,c33201401.filter2,tp,LOCATION_HAND,0,1,1,g1:GetFirst(),e,tp,g1:GetFirst():GetLevel())
g1:Merge(g2)
Duel.ConfirmCards(1-tp,g1)
Duel.ShuffleHand(tp)
--
local x=0
local y=0
local tc=g1:GetFirst()
while tc do
y=tc:GetOriginalLevel()
x=x+y
tc=g1:GetNext()
end
e:SetLabel(x)
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,1,tp,LOCATION_DECK)
end
function c33201401.spop(e,tp,eg,ep,ev,re,r,rp)
local lv=e:GetLabel()
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON)
local sg=Duel.SelectMatchingCard(tp,c33201401.spfilter,tp,LOCATION_DECK,0,1,1,nil,e,tp,lv)
if #sg>0 then
Duel.SpecialSummon(sg,0,tp,tp,false,false,POS_FACEUP)
sg:GetFirst():RegisterFlagEffect(33201401,RESET_EVENT+RESETS_STANDARD,EFFECT_FLAG_CLIENT_HINT,1,0,aux.Stringid(33201401,1))
end
end
--
function c33201401.thfilter(c)
return c.SetCard_JDSS and not c:IsCode(33201401) and c:IsAbleToHand()
end
function c33201401.thtg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(c33201401.thfilter,tp,LOCATION_DECK+LOCATION_EXTRA,0,1,nil) end
Duel.SetOperationInfo(0,CATEGORY_TOHAND,nil,1,tp,LOCATION_DECK+LOCATION_EXTRA)
end
function c33201401.thop(e,tp,eg,ep,ev,re,r,rp)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_ATOHAND)
local g=Duel.SelectMatchingCard(tp,c33201401.thfilter,tp,LOCATION_DECK+LOCATION_EXTRA,0,1,1,nil)
if g:GetCount()>0 then
Duel.SendtoHand(g,nil,REASON_EFFECT)
Duel.ConfirmCards(1-tp,g)
end
end
--
function c33201401.thcon1(e,tp,eg,ep,ev,re,r,rp)
return e:GetHandler():GetFlagEffect(33201401)~=0
end
function c33201401.thfilter1(c)
return c:IsCode(33201401) and c:IsAbleToHand()
end
function c33201401.thtg1(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
if chk==0 then return Duel.IsExistingMatchingCard(c33201401.thfilter1,tp,LOCATION_DECK,0,1,nil) end
Duel.SetOperationInfo(0,CATEGORY_TOHAND,nil,1,tp,LOCATION_DECK)
end
function c33201401.thop1(e,tp,eg,ep,ev,re,r,rp)
local tg=Duel.GetFirstMatchingCard(c33201401.thfilter1,tp,LOCATION_DECK,0,nil)
if tg then
Duel.SendtoHand(tg,nil,REASON_EFFECT)
Duel.ConfirmCards(1-tp,tg)
end
end
--晶导算使 差值麦纳斯
xpcall(function() require("expansions/script/c33201401") end,function() require("script/c33201401") end)
function c33201402.initial_effect(c)
--pendulum summon
aux.EnablePendulumAttribute(c)
--spsummon
local e0=Effect.CreateEffect(c)
e0:SetDescription(aux.Stringid(33201402,0))
e0:SetCategory(CATEGORY_SPECIAL_SUMMON)
e0:SetType(EFFECT_TYPE_IGNITION)
e0:SetRange(LOCATION_PZONE)
e0:SetCountLimit(1,33201402)
e0:SetCondition(c33201402.tdcon1)
e0:SetTarget(c33201402.sptg)
e0:SetOperation(c33201402.spop)
c:RegisterEffect(e0)
local e5=e0:Clone()
e5:SetType(EFFECT_TYPE_QUICK_O)
e5:SetProperty(EFFECT_FLAG_DAMAGE_STEP)
e5:SetCode(EVENT_FREE_CHAIN)
e5:SetHintTiming(TIMING_DAMAGE_STEP,TIMING_DAMAGE_STEP+TIMINGS_CHECK_MONSTER)
e5:SetCondition(c33201402.tdcon2)
c:RegisterEffect(e5)
--to hand
local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(33201402,1))
e1:SetCategory(CATEGORY_ATKCHANGE)
e1:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_O)
e1:SetProperty(EFFECT_FLAG_DELAY+EFFECT_FLAG_CARD_TARGET)
e1:SetCode(EVENT_SUMMON_SUCCESS)
e1:SetCountLimit(1,33201402+10000)
e1:SetTarget(c33201402.atktg)
e1:SetOperation(c33201402.atkop)
c:RegisterEffect(e1)
local e2=e1:Clone()
e2:SetCode(EVENT_SPSUMMON_SUCCESS)
c:RegisterEffect(e2)
--spsummon
local e4=Effect.CreateEffect(c)
e4:SetDescription(aux.Stringid(33201402,2))
e4:SetType(EFFECT_TYPE_QUICK_O)
e4:SetCode(EVENT_CHAINING)
e4:SetProperty(EFFECT_FLAG_DAMAGE_STEP+EFFECT_FLAG_DAMAGE_CAL)
e4:SetRange(LOCATION_MZONE)
e4:SetCountLimit(1)
e4:SetCondition(c33201402.descon)
e4:SetTarget(c33201402.destg)
e4:SetOperation(c33201402.desop)
c:RegisterEffect(e4)
VHisc_JDSS.addcheck(c)
end
c33201402.SetCard_JDSS=true
function c33201402.tdcon1(e,tp,eg,ep,ev,re,r,rp)
return not Duel.IsPlayerAffectedByEffect(tp,33201408)
end
function c33201402.tdcon2(e,tp,eg,ep,ev,re,r,rp)
return aux.dscon() and Duel.IsPlayerAffectedByEffect(tp,33201408)
end
function c33201402.filter1(c,e,tp)
return c:IsLevelAbove(0)
and Duel.IsExistingMatchingCard(c33201402.filter2,tp,LOCATION_HAND,0,1,c,e,tp,c:GetLevel())
end
function c33201402.filter2(c,e,tp,lv)
return c:IsLevelAbove(0)
and Duel.IsExistingMatchingCard(c33201402.spfilter,tp,LOCATION_DECK,0,1,nil,e,tp,math.abs(c:GetLevel()-lv))
end
function c33201402.spfilter(c,e,tp,lv)
return c.SetCard_JDSS and c:IsLevel(lv)
and c:IsCanBeSpecialSummoned(e,0,tp,false,false)
end
function c33201402.sptg(e,tp,eg,ep,ev,re,r,rp,chk)
if chkc then return false end
if chk==0 then return Duel.GetLocationCount(tp,LOCATION_MZONE)>0
and Duel.IsExistingMatchingCard(c33201402.filter1,tp,LOCATION_HAND,0,1,nil,e,tp) end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_CONFIRM)
local g1=Duel.SelectMatchingCard(tp,c33201402.filter1,tp,LOCATION_HAND,0,1,1,nil,e,tp)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_CONFIRM)
local g2=Duel.SelectMatchingCard(tp,c33201402.filter2,tp,LOCATION_HAND,0,1,1,g1:GetFirst(),e,tp,g1:GetFirst():GetLevel())
g1:Merge(g2)
Duel.ConfirmCards(1-tp,g1)
Duel.ShuffleHand(tp)
--
local x=math.abs(g1:GetFirst():GetOriginalLevel()-g1:GetNext():GetOriginalLevel())
e:SetLabel(x)
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,1,tp,LOCATION_DECK)
end
function c33201402.spop(e,tp,eg,ep,ev,re,r,rp)
local lv=e:GetLabel()
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON)
local sg=Duel.SelectMatchingCard(tp,c33201402.spfilter,tp,LOCATION_DECK,0,1,1,nil,e,tp,lv)
if #sg>0 then
Duel.SpecialSummon(sg,0,tp,tp,false,false,POS_FACEUP)
end
end
--
function c33201402.releasefilter(c)
return c.SetCard_JDSS and c:IsFaceup()
end
function c33201402.atktg(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
if chkc then return chkc:IsLocation(LOCATION_MZONE) and chkc:IsControler(tp) and c33201402.releasefilter(chkc) end
if chk==0 then return Duel.IsExistingTarget(c33201402.releasefilter,tp,LOCATION_MZONE,0,1,nil) and Duel.IsExistingMatchingCard(Card.IsFaceup,tp,0,LOCATION_MZONE,1,nil) end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TARGET)
local g=Duel.SelectTarget(tp,c33201402.releasefilter,tp,LOCATION_MZONE,0,1,1,nil)
end
function c33201402.atkop(e,tp,eg,ep,ev,re,r,rp)
local tc=Duel.GetFirstTarget()
if tc and tc:IsRelateToEffect(e) then
local g=Duel.GetMatchingGroup(Card.IsFaceup,tp,0,LOCATION_MZONE,nil)
for tc1 in aux.Next(g) do
local e1=Effect.CreateEffect(e:GetHandler())
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetCode(EFFECT_UPDATE_ATTACK)
e1:SetReset(RESET_EVENT+RESETS_STANDARD)
e1:SetValue(-tc:GetAttack())
tc1:RegisterEffect(e1)
end
end
end
--
function c33201402.descon(e,tp,eg,ep,ev,re,r,rp)
return e:GetHandler():GetFlagEffect(33201401)~=0 and ep==1-tp and re:IsActiveType(TYPE_MONSTER) and re:GetHandler():IsLocation(LOCATION_HAND+LOCATION_ONFIELD) and re:GetHandler():GetAttack()<e:GetHandler():GetAttack() and not e:GetHandler():IsStatus(STATUS_BATTLE_DESTROYED)
end
function c33201402.destg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return true end
Duel.SetOperationInfo(0,CATEGORY_DESTROY,eg,1,0,0)
end
function c33201402.desop(e,tp,eg,ep,ev,re,r,rp)
if re:GetHandler():IsRelateToEffect(re) then
Duel.Destroy(eg,REASON_EFFECT)
end
end
\ No newline at end of file
--
xpcall(function() require("expansions/script/c33201401") end,function() require("script/c33201401") end)
function c33201403.initial_effect(c)
--pendulum summon
aux.EnablePendulumAttribute(c)
VHisc_JDSS.addcheck(c)
--spsummon
local e0=Effect.CreateEffect(c)
e0:SetDescription(aux.Stringid(33201403,0))
e0:SetCategory(CATEGORY_SPECIAL_SUMMON)
e0:SetType(EFFECT_TYPE_IGNITION)
e0:SetRange(LOCATION_PZONE)
e0:SetCountLimit(1,33201403)
e0:SetCondition(c33201403.tdcon1)
e0:SetTarget(c33201403.sptg)
e0:SetOperation(c33201403.spop)
c:RegisterEffect(e0)
local e5=e0:Clone()
e5:SetType(EFFECT_TYPE_QUICK_O)
e5:SetProperty(EFFECT_FLAG_DAMAGE_STEP)
e5:SetCode(EVENT_FREE_CHAIN)
e5:SetHintTiming(TIMING_DAMAGE_STEP,TIMING_DAMAGE_STEP+TIMINGS_CHECK_MONSTER)
e5:SetCondition(c33201403.tdcon2)
c:RegisterEffect(e5)
--to hand
local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(33201403,1))
e1:SetCategory(CATEGORY_TOHAND+CATEGORY_SEARCH)
e1:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_O)
e1:SetProperty(EFFECT_FLAG_DELAY)
e1:SetCode(EVENT_SUMMON_SUCCESS)
e1:SetCountLimit(1,33201403+10000)
e1:SetCost(c33201403.spcost1)
e1:SetTarget(c33201403.sptg1)
e1:SetOperation(c33201403.spop1)
c:RegisterEffect(e1)
local e2=e1:Clone()
e2:SetCode(EVENT_SPSUMMON_SUCCESS)
c:RegisterEffect(e2)
--
local e4=Effect.CreateEffect(c)
e4:SetDescription(aux.Stringid(33201403,2))
e4:SetCategory(CATEGORY_ATKCHANGE+CATEGORY_DISABLE)
e4:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_TRIGGER_O)
e4:SetRange(LOCATION_MZONE)
e4:SetCode(EVENT_SPSUMMON_SUCCESS)
e4:SetCountLimit(1)
e4:SetCondition(c33201403.descon)
e4:SetTarget(c33201403.destg)
e4:SetOperation(c33201403.desop)
c:RegisterEffect(e4)
end
c33201403.SetCard_JDSS=true
function c33201403.tdcon1(e,tp,eg,ep,ev,re,r,rp)
return not Duel.IsPlayerAffectedByEffect(tp,33201408)
end
function c33201403.tdcon2(e,tp,eg,ep,ev,re,r,rp)
return aux.dscon() and Duel.IsPlayerAffectedByEffect(tp,33201408)
end
function c33201403.filter1(c,e,tp)
return c:IsLevelAbove(0)
and Duel.IsExistingMatchingCard(c33201403.filter2,tp,LOCATION_HAND,0,1,c,e,tp,c:GetLevel())
end
function c33201403.filter2(c,e,tp,lv)
--if not math.mod(lv,c:GetLevel())==0 then return end
return c:IsLevelAbove(0)
and Duel.IsExistingMatchingCard(c33201403.spfilter,tp,LOCATION_DECK,0,1,nil,e,tp,lv/c:GetLevel())
end
function c33201403.spfilter(c,e,tp,lv)
return c.SetCard_JDSS and c:IsLevel(lv)
and c:IsCanBeSpecialSummoned(e,0,tp,false,false)
end
function c33201403.sptg(e,tp,eg,ep,ev,re,r,rp,chk)
if chkc then return false end
if chk==0 then return Duel.GetLocationCount(tp,LOCATION_MZONE)>0
and Duel.IsExistingMatchingCard(c33201403.filter1,tp,LOCATION_HAND,0,1,nil,e,tp) end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_CONFIRM)
local g1=Duel.SelectMatchingCard(tp,c33201403.filter1,tp,LOCATION_HAND,0,1,1,nil,e,tp)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_CONFIRM)
local g2=Duel.SelectMatchingCard(tp,c33201403.filter2,tp,LOCATION_HAND,0,1,1,g1:GetFirst(),e,tp,g1:GetFirst():GetLevel())
g1:Merge(g2)
Duel.ConfirmCards(1-tp,g1)
Duel.ShuffleHand(tp)
--
local x=0
local y=0
local tc=g1:GetFirst():GetOriginalLevel()
local tc2=g1:GetNext():GetOriginalLevel()
if tc<tc2 then
x=tc2/tc
else
x=tc/tc2
end
e:SetLabel(x)
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,1,tp,LOCATION_DECK)
end
function c33201403.spop(e,tp,eg,ep,ev,re,r,rp)
local lv=e:GetLabel()
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON)
local sg=Duel.SelectMatchingCard(tp,c33201403.spfilter,tp,LOCATION_DECK,0,1,1,nil,e,tp,lv)
if #sg>0 then
Duel.SpecialSummon(sg,0,tp,tp,false,false,POS_FACEUP)
end
end
--
function c33201403.thfilter(c)
return c.SetCard_JDSS and not c:IsCode(33201403) and c:IsAbleToHand()
end
function c33201403.spcost1(e,tp,eg,ep,ev,re,r,rp,chk)
e:SetLabel(100)
if chk==0 then return true end
end
function c33201403.costfilter(c,e,tp)
return c:IsFaceup() and c:GetOriginalLevel()>0 and Duel.IsExistingMatchingCard(c33201403.spfilter1,tp,LOCATION_DECK,0,2,nil,c,e,tp)
and Duel.GetMZoneCount(tp,c)>1
end
function c33201403.spfilter1(c,tc,e,tp)
return c.SetCard_JDSS and c:GetOriginalLevel()==tc:GetOriginalLevel()/2 and c:IsCanBeSpecialSummoned(e,0,tp,false,false)
end
function c33201403.sptg1(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then
if e:GetLabel()~=100 then return false end
e:SetLabel(0)
return Duel.IsExistingMatchingCard(c33201403.costfilter,tp,LOCATION_MZONE+LOCATION_PZONE,0,1,nil,e,tp) and not Duel.IsPlayerAffectedByEffect(tp,59822133)
end
e:SetLabel(0)
local g=Duel.SelectMatchingCard(tp,c33201403.costfilter,tp,LOCATION_MZONE+LOCATION_PZONE,0,1,1,nil,e,tp)
Duel.Release(g,REASON_COST)
Duel.SetTargetCard(g)
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,2,tp,LOCATION_DECK+LOCATION_EXTRA)
end
function c33201403.spop1(e,tp,eg,ep,ev,re,r,rp)
if Duel.IsPlayerAffectedByEffect(tp,59822133) then return end
if Duel.GetLocationCount(tp,LOCATION_MZONE)<2 then return end
local c=e:GetHandler()
local tc=Duel.GetFirstTarget()
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON)
local sg=Duel.GetMatchingGroup(c33201403.spfilter1,tp,LOCATION_DECK+LOCATION_EXTRA,0,nil,tc,e,tp)
if sg:GetCount()==0 then return end
local hg=sg:Select(tp,1,1,nil)
sg:RemoveCard(hg:GetFirst())
sg=sg:Filter(Card.IsCode,nil,hg:GetFirst():GetCode())
if sg:GetCount()>0 then
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON)
local tg=sg:Select(tp,1,1,nil)
hg:Merge(tg)
Duel.SpecialSummon(hg,0,tp,tp,false,false,POS_FACEUP)
end
end
--
function c33201403.descon(e,tp,eg,ep,ev,re,r,rp)
return e:GetHandler():GetFlagEffect(33201401)~=0 and eg:IsExists(c33201403.cfilter,1,nil,1-tp) and rp==1-tp
end
function c33201403.destg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return eg:IsExists(c33201403.cfilter,1,nil) end
Duel.SetOperationInfo(0,CATEGORY_DISABLE,eg,eg:GetCount(),0,0)
end
function c33201403.cfilter(c)
return c:IsSummonLocation(LOCATION_EXTRA)
end
function c33201403.filter(c,e)
return c:IsFaceup() and c:IsType(TYPE_EFFECT) and c33201403.cfilter(c) and c:IsRelateToEffect(e)
end
function c33201403.desop(e,tp,eg,ep,ev,re,r,rp)
local g=eg:Filter(c33201403.filter,nil,e)
local tc=g:GetFirst()
while tc do
local atk=tc:GetAttack()
local e1=Effect.CreateEffect(e:GetHandler())
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetCode(EFFECT_SET_ATTACK_FINAL)
e1:SetReset(RESET_EVENT+RESETS_STANDARD)
e1:SetValue(0)
tc:RegisterEffect(e1)
local e2=Effect.CreateEffect(e:GetHandler())
e2:SetType(EFFECT_TYPE_SINGLE)
e2:SetCode(EFFECT_DISABLE)
e2:SetReset(RESET_EVENT+RESETS_STANDARD+RESET_PHASE+PHASE_END)
tc:RegisterEffect(e2)
local e3=Effect.CreateEffect(e:GetHandler())
e3:SetType(EFFECT_TYPE_SINGLE)
e3:SetCode(EFFECT_DISABLE_EFFECT)
e3:SetReset(RESET_EVENT+RESETS_STANDARD+RESET_PHASE+PHASE_END)
tc:RegisterEffect(e3)
tc=g:GetNext()
end
end
--晶导算使 倍联姆缇普莱
xpcall(function() require("expansions/script/c33201401") end,function() require("script/c33201401") end)
function c33201404.initial_effect(c)
--pendulum summon
aux.EnablePendulumAttribute(c)
VHisc_JDSS.addcheck(c)
--spsummon
local e0=Effect.CreateEffect(c)
e0:SetDescription(aux.Stringid(33201404,0))
e0:SetCategory(CATEGORY_SPECIAL_SUMMON)
e0:SetType(EFFECT_TYPE_IGNITION)
e0:SetRange(LOCATION_PZONE)
e0:SetCountLimit(1,33201404)
e0:SetCondition(c33201404.tdcon1)
e0:SetTarget(c33201404.sptg)
e0:SetOperation(c33201404.spop)
c:RegisterEffect(e0)
local e5=e0:Clone()
e5:SetType(EFFECT_TYPE_QUICK_O)
e5:SetProperty(EFFECT_FLAG_DAMAGE_STEP)
e5:SetCode(EVENT_FREE_CHAIN)
e5:SetHintTiming(TIMING_DAMAGE_STEP,TIMING_DAMAGE_STEP+TIMINGS_CHECK_MONSTER)
e5:SetCondition(c33201404.tdcon2)
c:RegisterEffect(e5)
local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(33201404,1))
e1:SetCategory(CATEGORY_ATKCHANGE)
e1:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_O)
e1:SetProperty(EFFECT_FLAG_DELAY)
e1:SetCode(EVENT_SUMMON_SUCCESS)
e1:SetProperty(EFFECT_FLAG_CARD_TARGET)
e1:SetCountLimit(1,33201404+10000)
e1:SetTarget(c33201404.sptg1)
e1:SetOperation(c33201404.spop1)
c:RegisterEffect(e1)
local e2=e1:Clone()
e2:SetCode(EVENT_SPSUMMON_SUCCESS)
c:RegisterEffect(e2)
--Destroy
local e4=Effect.CreateEffect(c)
e4:SetDescription(aux.Stringid(33201404,2))
e4:SetType(EFFECT_TYPE_QUICK_O)
e4:SetCode(EVENT_FREE_CHAIN)
e4:SetCountLimit(1)
e4:SetRange(LOCATION_MZONE)
e4:SetHintTiming(0,TIMINGS_CHECK_MONSTER+TIMING_END_PHASE)
e4:SetCondition(c33201404.stcon)
e4:SetCost(c33201404.stcost)
e4:SetTarget(c33201404.sttg)
e4:SetOperation(c33201404.stop)
c:RegisterEffect(e4)
end
c33201404.SetCard_JDSS=true
function c33201404.tdcon1(e,tp,eg,ep,ev,re,r,rp)
return not Duel.IsPlayerAffectedByEffect(tp,33201408)
end
function c33201404.tdcon2(e,tp,eg,ep,ev,re,r,rp)
return aux.dscon() and Duel.IsPlayerAffectedByEffect(tp,33201408)
end
function c33201404.filter1(c,e,tp)
return c:IsLevelAbove(0)
and Duel.IsExistingMatchingCard(c33201404.filter2,tp,LOCATION_HAND,0,1,c,e,tp,c:GetLevel())
end
function c33201404.filter2(c,e,tp,lv)
--if not math.mod(lv,c:GetLevel())==0 then return end
return c:IsLevelAbove(0)
and Duel.IsExistingMatchingCard(c33201404.spfilter,tp,LOCATION_DECK,0,1,nil,e,tp,lv*c:GetLevel())
end
function c33201404.spfilter(c,e,tp,lv)
return c.SetCard_JDSS and c:IsLevel(lv)
and c:IsCanBeSpecialSummoned(e,0,tp,false,false)
end
function c33201404.sptg(e,tp,eg,ep,ev,re,r,rp,chk)
if chkc then return false end
if chk==0 then return Duel.GetLocationCount(tp,LOCATION_MZONE)>0
and Duel.IsExistingMatchingCard(c33201404.filter1,tp,LOCATION_HAND,0,1,nil,e,tp) end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_CONFIRM)
local g1=Duel.SelectMatchingCard(tp,c33201404.filter1,tp,LOCATION_HAND,0,1,1,nil,e,tp)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_CONFIRM)
local g2=Duel.SelectMatchingCard(tp,c33201404.filter2,tp,LOCATION_HAND,0,1,1,g1:GetFirst(),e,tp,g1:GetFirst():GetLevel())
g1:Merge(g2)
Duel.ConfirmCards(1-tp,g1)
Duel.ShuffleHand(tp)
--
local x=0
local y=0
local tc=g1:GetFirst():GetOriginalLevel()
local tc2=g1:GetNext():GetOriginalLevel()
if tc<tc2 then
x=tc2/tc
else
x=tc*tc2
end
e:SetLabel(x)
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,1,tp,LOCATION_DECK)
end
function c33201404.spop(e,tp,eg,ep,ev,re,r,rp)
local lv=e:GetLabel()
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON)
local sg=Duel.SelectMatchingCard(tp,c33201404.spfilter,tp,LOCATION_DECK,0,1,1,nil,e,tp,lv)
if #sg>0 then
Duel.SpecialSummon(sg,0,tp,tp,false,false,POS_FACEUP)
end
end
--
function c33201404.desfilter(c)
return c:IsFaceup() and c:IsLevelAbove(0)
end
function c33201404.sptg1(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
if chkc then return chkc:IsLocation(LOCATION_PZONE+LOCATION_MZONE) and c33201404.desfilter(chkc) end
if chk==0 then return true end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TARGET)
local g=Duel.SelectTarget(tp,c33201404.desfilter,tp,LOCATION_PZONE+LOCATION_MZONE,LOCATION_PZONE+LOCATION_MZONE,1,1,nil)
end
function c33201404.spop1(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_SET_ATTACK_FINAL)
e1:SetValue(c:GetLevel()*tc:GetLevel()*100)
e1:SetReset(RESET_EVENT+RESETS_STANDARD+RESET_DISABLE)
c:RegisterEffect(e1)
end
end
--
function c33201404.stcon(e,tp,eg,ep,ev,re,r,rp)
return e:GetHandler():GetFlagEffect(33201401)~=0
end
function c33201404.refilter(c)
return c:IsFaceup() and c:GetOriginalType()&TYPE_PENDULUM~=0
end
function c33201404.stcost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(c33201404.refilter,tp,LOCATION_PZONE,0,1,nil) end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_RELEASE)
local g=Duel.SelectMatchingCard(tp,c33201404.refilter,tp,LOCATION_PZONE,0,1,1,nil)
e:SetLabel(g:GetFirst():GetLevel())
Duel.Release(g,REASON_COST)
end
function c33201404.thfilter(c,lv)
return c:IsFaceup() and c.SetCard_JDSS and c:IsType(TYPE_PENDULUM) and c:GetOriginalLevel()~=lv and not c:IsForbidden()
end
function c33201404.sttg(e,tp,eg,ep,ev,re,r,rp,chk)
local lv=e:GetLabel()
if chk==0 then return Duel.IsExistingMatchingCard(c33201404.thfilter,tp,LOCATION_EXTRA,0,1,nil,lv) end
end
function c33201404.stop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
local lv=e:GetLabel()
if (Duel.CheckLocation(tp,LOCATION_PZONE,0) or Duel.CheckLocation(tp,LOCATION_PZONE,1)) then
Duel.Hint(HINT_SELECTMSG,tp,aux.Stringid(33201404,3))
local g=Duel.SelectMatchingCard(tp,c33201404.thfilter,tp,LOCATION_EXTRA,0,1,1,nil,lv)
if g:GetCount()>0 then
Duel.MoveToField(g:GetFirst(),tp,tp,LOCATION_PZONE,POS_FACEUP,true)
end
end
end
\ No newline at end of file
--晶导算使 逻辑与门
xpcall(function() require("expansions/script/c33201401") end,function() require("script/c33201401") end)
function c33201405.initial_effect(c)
--pendulum summon
aux.EnablePendulumAttribute(c)
VHisc_JDSS.addcheck(c)
--pendulum set
local e0=Effect.CreateEffect(c)
e0:SetCategory(CATEGORY_SPECIAL_SUMMON)
e0:SetType(EFFECT_TYPE_IGNITION)
e0:SetRange(LOCATION_PZONE)
e0:SetCountLimit(1,32201405)
e0:SetCondition(c33201405.tdcon1)
e0:SetTarget(c33201405.sptg)
e0:SetOperation(c33201405.spop)
c:RegisterEffect(e0)
local e5=e0:Clone()
e5:SetType(EFFECT_TYPE_QUICK_O)
e5:SetProperty(EFFECT_FLAG_DAMAGE_STEP)
e5:SetCode(EVENT_FREE_CHAIN)
e5:SetHintTiming(TIMING_DAMAGE_STEP,TIMING_DAMAGE_STEP+TIMINGS_CHECK_MONSTER)
e5:SetCondition(c33201405.tdcon2)
c:RegisterEffect(e5)
--spsummon
local e1=Effect.CreateEffect(c)
e1:SetCategory(CATEGORY_DESTROY)
e1:SetType(EFFECT_TYPE_IGNITION)
e1:SetRange(LOCATION_HAND)
e1:SetCountLimit(1,33201405+10000)
e1:SetCondition(c33201405.sdcon)
e1:SetTarget(c33201405.sdtg)
e1:SetOperation(c33201405.sdop)
c:RegisterEffect(e1)
--
local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(33201405,2))
e1:SetCategory(CATEGORY_DESTROY)
e1:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_TRIGGER_O)
e1:SetCode(EVENT_SPSUMMON_SUCCESS)
e1:SetRange(LOCATION_MZONE)
e1:SetProperty(EFFECT_FLAG_DELAY)
e1:SetCountLimit(1,33201405+20000)
e1:SetCondition(c33201405.descon)
e1:SetTarget(c33201405.destg)
e1:SetOperation(c33201405.desop)
c:RegisterEffect(e1)
end
c33201405.SetCard_JDSS=true
function c33201405.tdcon1(e,tp,eg,ep,ev,re,r,rp)
return not Duel.IsPlayerAffectedByEffect(tp,33201408)
end
function c33201405.tdcon2(e,tp,eg,ep,ev,re,r,rp)
return aux.dscon() and Duel.IsPlayerAffectedByEffect(tp,33201408)
end
function c33201405.cfilter1(c,e,tp,scale)
return c.SetCard_JDSS and c:GetLeftScale()==scale and c:IsCanBeSpecialSummoned(e,0,tp,false,false)
end
function c33201405.pencon(e,tp,eg,ep,ev,re,r,rp)
local scale=e:GetHandler():GetLeftScale()
return Duel.IsExistingMatchingCard(c33201405.cfilter1,tp,LOCATION_PZONE,0,1,e:GetHandler(),e,tp,scale)
end
function c33201405.sptg(e,tp,eg,ep,ev,re,r,rp,chk)
local c=e:GetHandler()
local scale=e:GetHandler():GetLeftScale()
if chk==0 then return Duel.GetLocationCount(tp,LOCATION_MZONE)>0
and Duel.IsExistingMatchingCard(c33201405.cfilter1,tp,LOCATION_PZONE,0,1,c,e,tp,scale) end
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,g,1,0,0)
end
function c33201405.spop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
local scale=e:GetHandler():GetLeftScale()
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON)
local sg=Duel.SelectMatchingCard(tp,c33201405.cfilter1,tp,LOCATION_PZONE,0,1,1,c,e,tp,scale)
if #sg>0 then
Duel.SpecialSummon(sg,0,tp,tp,false,false,POS_FACEUP)
end
end
--
function c33201405.c3filter(c)
return c:IsType(TYPE_PENDULUM) and c:IsFaceup()
end
function c33201405.sdcon(e,tp,eg,ep,ev,re,r,rp)
local g=Duel.GetMatchingGroup(c33201405.c3filter,e:GetHandlerPlayer(),LOCATION_PZONE,0,nil)
if g:GetCount()~=2 then return false end
local cc=g:GetFirst()
local lsc=cc:GetLeftScale()
local dc=g:GetNext()
local l2sc=dc:GetLeftScale()
return lsc==l2sc and Duel.GetLocationCount(e:GetHandlerPlayer(),LOCATION_MZONE)>0
end
function c33201405.sdtg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.GetLocationCount(tp,LOCATION_MZONE)>0
and e:GetHandler():IsCanBeSpecialSummoned(e,0,tp,false,false) and Duel.IsExistingMatchingCard(Card.IsAbleToHand,tp,LOCATION_PZONE,0,1,e:GetHandler()) end
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,e:GetHandler(),1,0,0)
Duel.SetOperationInfo(0,CATEGORY_TOHAND,nil,1,tp,LOCATION_PZONE)
end
function c33201405.sdop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
if not c:IsRelateToEffect(e) then return end
if Duel.SpecialSummon(c,0,tp,tp,false,false,POS_FACEUP)~=0 then
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_RTOHAND)
local tc=Duel.SelectMatchingCard(tp,Card.IsAbleToHand,tp,LOCATION_PZONE,0,1,1,e:GetHandler()):GetFirst()
if tc then
Duel.SendtoHand(tc,nil,REASON_EFFECT)
end
end
end
--
function c33201405.cfilter(c,scale)
return c:IsFaceup()
and c.SetCard_JDSS and c:GetLeftScale()==scale
end
function c33201405.descon(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
local scale=c:GetLeftScale()
return eg:IsExists(c33201405.cfilter,1,c,scale) and re and re:GetHandler().SetCard_JDSS
end
function c33201405.destg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(nil,tp,LOCATION_ONFIELD,LOCATION_ONFIELD,1,nil) end
local g=Duel.GetMatchingGroup(nil,tp,LOCATION_ONFIELD,LOCATION_ONFIELD,nil)
Duel.SetOperationInfo(0,CATEGORY_DESTROY,g,1,0,0)
end
function c33201405.desop(e,tp,eg,ep,ev,re,r,rp)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_DESTROY)
local g=Duel.SelectMatchingCard(tp,nil,tp,LOCATION_ONFIELD,LOCATION_ONFIELD,1,1,nil)
if #g>0 then
Duel.HintSelection(g)
Duel.Destroy(g,REASON_EFFECT)
end
end
--晶导算使 逻辑与门
xpcall(function() require("expansions/script/c33201401") end,function() require("script/c33201401") end)
function c33201406.initial_effect(c)
--pendulum summon
VHisc_JDSS.addcheck(c)
aux.EnablePendulumAttribute(c)
--pendulum set
local e0=Effect.CreateEffect(c)
e0:SetCategory(CATEGORY_SPECIAL_SUMMON)
e0:SetType(EFFECT_TYPE_IGNITION)
e0:SetRange(LOCATION_PZONE)
e0:SetCountLimit(1,33201406)
e0:SetCondition(c33201406.tdcon1)
e0:SetTarget(c33201406.sptg)
e0:SetOperation(c33201406.spop)
c:RegisterEffect(e0)
local e5=e0:Clone()
e5:SetType(EFFECT_TYPE_QUICK_O)
e5:SetProperty(EFFECT_FLAG_DAMAGE_STEP)
e5:SetCode(EVENT_FREE_CHAIN)
e5:SetHintTiming(TIMING_DAMAGE_STEP,TIMING_DAMAGE_STEP+TIMINGS_CHECK_MONSTER)
e5:SetCondition(c33201406.tdcon2)
c:RegisterEffect(e5)
--spsummon
local e1=Effect.CreateEffect(c)
e1:SetCategory(CATEGORY_DESTROY)
e1:SetType(EFFECT_TYPE_IGNITION)
e1:SetRange(LOCATION_HAND)
e1:SetCountLimit(1,33201406+10000)
e1:SetCondition(c33201406.sdcon)
e1:SetTarget(c33201406.sdtg)
e1:SetOperation(c33201406.sdop)
c:RegisterEffect(e1)
--
local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(33201406,2))
e1:SetCategory(CATEGORY_DESTROY)
e1:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_TRIGGER_O)
e1:SetCode(EVENT_SPSUMMON_SUCCESS)
e1:SetRange(LOCATION_MZONE)
e1:SetProperty(EFFECT_FLAG_DELAY)
e1:SetCountLimit(1,33201406+20000)
e1:SetCondition(c33201406.descon)
e1:SetTarget(c33201406.destg)
e1:SetOperation(c33201406.desop)
c:RegisterEffect(e1)
end
c33201406.SetCard_JDSS=true
function c33201406.tdcon1(e,tp,eg,ep,ev,re,r,rp)
return not Duel.IsPlayerAffectedByEffect(tp,33201408)
end
function c33201406.tdcon2(e,tp,eg,ep,ev,re,r,rp)
return aux.dscon() and Duel.IsPlayerAffectedByEffect(tp,33201408)
end
function c33201406.cfilter1(c,e,tp,scale)
return c.SetCard_JDSS and c:GetLeftScale()~=scale and c:IsCanBeSpecialSummoned(e,0,tp,false,false)
end
function c33201406.pencon(e,tp,eg,ep,ev,re,r,rp)
local scale=e:GetHandler():GetLeftScale()
return Duel.IsExistingMatchingCard(c33201406.cfilter1,tp,LOCATION_PZONE,0,1,e:GetHandler(),e,tp,scale)
end
function c33201406.sptg(e,tp,eg,ep,ev,re,r,rp,chk)
local c=e:GetHandler()
local scale=e:GetHandler():GetLeftScale()
if chk==0 then return Duel.GetLocationCount(tp,LOCATION_MZONE)>0
and Duel.IsExistingMatchingCard(c33201406.cfilter1,tp,LOCATION_PZONE,0,1,c,e,tp,scale) end
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,g,1,0,0)
end
function c33201406.spop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
local scale=e:GetHandler():GetLeftScale()
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON)
local sg=Duel.SelectMatchingCard(tp,c33201406.cfilter1,tp,LOCATION_PZONE,0,1,1,c,e,tp,scale)
if #sg>0 then
Duel.SpecialSummon(sg,0,tp,tp,false,false,POS_FACEUP)
sg:GetFirst():RegisterFlagEffect(33201401,RESET_EVENT+RESETS_STANDARD,EFFECT_FLAG_CLIENT_HINT,1,0,aux.Stringid(33201401,1))
end
end
--
function c33201406.c3filter(c)
return c:IsType(TYPE_PENDULUM) and c:IsFaceup()
end
function c33201406.sdcon(e,tp,eg,ep,ev,re,r,rp)
local g=Duel.GetMatchingGroup(c33201406.c3filter,e:GetHandlerPlayer(),LOCATION_PZONE,0,nil)
if g:GetCount()~=2 then return false end
local cc=g:GetFirst()
local lsc=cc:GetLeftScale()
local dc=g:GetNext()
local l2sc=dc:GetLeftScale()
return lsc~=l2sc and Duel.GetLocationCount(e:GetHandlerPlayer(),LOCATION_MZONE)>0
end
function c33201406.sdtg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.GetLocationCount(tp,LOCATION_MZONE)>0
and e:GetHandler():IsCanBeSpecialSummoned(e,0,tp,false,false) and Duel.IsExistingMatchingCard(Card.IsAbleToHand,tp,LOCATION_PZONE,0,1,e:GetHandler()) end
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,e:GetHandler(),1,0,0)
Duel.SetOperationInfo(0,CATEGORY_TOHAND,nil,1,tp,LOCATION_PZONE)
end
function c33201406.sdop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
if not c:IsRelateToEffect(e) then return end
if Duel.SpecialSummon(c,0,tp,tp,false,false,POS_FACEUP)~=0 then
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_RTOHAND)
local tc=Duel.SelectMatchingCard(tp,Card.IsAbleToHand,tp,LOCATION_PZONE,0,1,1,e:GetHandler()):GetFirst()
if tc then
Duel.SendtoHand(tc,nil,REASON_EFFECT)
end
end
end
--
function c33201406.cfilter(c,scale)
return c:IsFaceup()
and c.SetCard_JDSS and c:GetLeftScale()~=scale
end
function c33201406.descon(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
local scale=c:GetLeftScale()
return eg:IsExists(c33201406.cfilter,1,c,scale) and re and re:GetHandler().SetCard_JDSS
end
function c33201406.destg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(nil,tp,LOCATION_ONFIELD,LOCATION_ONFIELD,1,nil) end
local g=Duel.GetMatchingGroup(nil,tp,LOCATION_ONFIELD,LOCATION_ONFIELD,nil)
Duel.SetOperationInfo(0,CATEGORY_DESTROY,g,1,0,0)
end
function c33201406.desop(e,tp,eg,ep,ev,re,r,rp)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_DESTROY)
local g=Duel.SelectMatchingCard(tp,nil,tp,LOCATION_ONFIELD,LOCATION_ONFIELD,1,1,nil)
if #g>0 then
Duel.HintSelection(g)
Duel.Destroy(g,REASON_EFFECT)
end
end
--晶导算使 逻辑或门
xpcall(function() require("expansions/script/c33201401") end,function() require("script/c33201401") end)
function c33201407.initial_effect(c)
--pendulum summon
aux.EnablePendulumAttribute(c)
VHisc_JDSS.addcheck(c)
--scale change
local e0=Effect.CreateEffect(c)
e0:SetDescription(aux.Stringid(33201407,0))
e0:SetType(EFFECT_TYPE_IGNITION)
e0:SetRange(LOCATION_PZONE)
e0:SetCountLimit(1)
e0:SetCondition(c33201407.tdcon1)
e0:SetTarget(c33201407.sctg)
e0:SetOperation(c33201407.scop)
c:RegisterEffect(e0)
local e5=e0:Clone()
e5:SetType(EFFECT_TYPE_QUICK_O)
e5:SetProperty(EFFECT_FLAG_DAMAGE_STEP)
e5:SetCode(EVENT_FREE_CHAIN)
e5:SetHintTiming(TIMING_DAMAGE_STEP,TIMING_DAMAGE_STEP+TIMINGS_CHECK_MONSTER)
e5:SetCondition(c33201407.tdcon2)
c:RegisterEffect(e5)
--cannot target
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_FIELD)
e1:SetProperty(EFFECT_FLAG_IGNORE_IMMUNE)
e1:SetCode(EFFECT_CANNOT_BE_EFFECT_TARGET)
e1:SetRange(LOCATION_PZONE)
e1:SetTargetRange(LOCATION_MZONE,0)
e1:SetTarget(c33201407.tgtg)
e1:SetValue(1)
c:RegisterEffect(e1)
--spsummon
local e2=Effect.CreateEffect(c)
e2:SetDescription(aux.Stringid(33201407,1))
e2:SetCategory(CATEGORY_SPECIAL_SUMMON+CATEGORY_RELEASE+CATEGORY_TODECK)
e2:SetType(EFFECT_TYPE_IGNITION)
e2:SetRange(LOCATION_EXTRA)
e2:SetProperty(EFFECT_FLAG_CARD_TARGET)
e2:SetCountLimit(1,33201407)
e2:SetCondition(c33201407.spcon1)
e2:SetTarget(c33201407.sptg1)
e2:SetOperation(c33201407.spop1)
c:RegisterEffect(e2)
--Destroy
local e3=Effect.CreateEffect(c)
e3:SetDescription(aux.Stringid(33201407,2))
e3:SetCategory(CATEGORY_DISABLE)
e3:SetType(EFFECT_TYPE_QUICK_O)
e3:SetCode(EVENT_FREE_CHAIN)
e3:SetCountLimit(1)
e3:SetRange(LOCATION_MZONE)
e3:SetHintTiming(0,TIMING_EQUIP+TIMING_END_PHASE)
e3:SetCondition(c33201407.discon)
e3:SetTarget(c33201407.distg)
e3:SetOperation(c33201407.disop)
c:RegisterEffect(e3)
end
c33201407.SetCard_JDSS=true
function c33201407.tdcon1(e,tp,eg,ep,ev,re,r,rp)
return not Duel.IsPlayerAffectedByEffect(tp,33201408)
end
function c33201407.tdcon2(e,tp,eg,ep,ev,re,r,rp)
return aux.dscon() and Duel.IsPlayerAffectedByEffect(tp,33201408)
end
function c33201407.sctg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return e:GetHandler():GetLeftScale()~=0 end
end
function c33201407.scop(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_UPDATE_LSCALE)
e1:SetValue(0)
e1:SetReset(RESET_EVENT+RESETS_STANDARD+RESET_DISABLE+RESET_PHASE+PHASE_END)
c:RegisterEffect(e1)
local e2=e1:Clone()
e2:SetCode(EFFECT_UPDATE_RSCALE)
c:RegisterEffect(e2)
end
--
function c33201407.tgtg(e,c)
local g=Duel.GetMatchingGroup(aux.TRUE,e:GetHandlerPlayer(),LOCATION_PZONE,0,nil)
return c:GetLeftScale()==g:GetFirst():GetLeftScale() or c:GetLeftScale()==g:GetNext():GetLeftScale()
end
--
function c33201407.spcon1(e,tp,eg,ep,ev,re,r,rp)
return e:GetHandler():IsFaceup()
end
function c33201407.relfilter(c,sc,tp)
return c:IsReleasableByEffect() and c:IsType(TYPE_PENDULUM) and Duel.IsExistingMatchingCard(c33201407.tefilter,tp,LOCATION_EXTRA,0,1,sc,c:GetLeftScale())
end
function c33201407.tefilter(c,scale)
return c:IsType(TYPE_PENDULUM) and c:IsFaceup() and c:GetLeftScale()==scale and c.SetCard_JDSS and c:IsAbleToDeck()
end
function c33201407.tefilter2(c,tc,scale)
return c~=tc and c:IsType(TYPE_PENDULUM) and c:IsFaceup() and c:GetLeftScale()==scale and c.SetCard_JDSS and c:IsAbleToDeck()
end
function c33201407.sptg1(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
local c=e:GetHandler()
if chkc then return chkc:IsLocation(LOCATION_PZONE) end
if chk==0 then return Duel.IsExistingTarget(c33201407.relfilter,tp,LOCATION_PZONE,0,1,nil,e:GetHandler(),tp) and c:IsCanBeSpecialSummoned(e,0,tp,false,false) and Duel.GetLocationCountFromEx(tp,tp,nil,c)>0 end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_RELEASE)
local g=Duel.SelectTarget(tp,c33201407.relfilter,tp,LOCATION_PZONE,0,1,1,nil,e:GetHandler(),tp)
Duel.SetOperationInfo(0,CATEGORY_RELEASE,g,1,0,0)
Duel.SetOperationInfo(0,CATEGORY_TODECK,nil,1,0,0)
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,e:GetHandler(),1,0,0)
end
function c33201407.spop1(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
local tc=Duel.GetFirstTarget()
if tc:IsRelateToEffect(e) and c:IsRelateToEffect(e) and Duel.Release(tc,REASON_EFFECT)~=0 then
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TODECK)
local g=Duel.SelectMatchingCard(tp,c33201407.tefilter2,tp,LOCATION_EXTRA,0,1,1,c,tc,tc:GetLeftScale())
if Duel.SendtoDeck(g,nil,SEQ_DECKSHUFFLE,REASON_EFFECT)~=0 then
Duel.SpecialSummon(e:GetHandler(),0,tp,tp,false,false,POS_FACEUP)
local e1=Effect.CreateEffect(e:GetHandler())
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetCode(EFFECT_LEAVE_FIELD_REDIRECT)
e1:SetProperty(EFFECT_FLAG_CANNOT_DISABLE)
e1:SetReset(RESET_EVENT+RESETS_REDIRECT)
e1:SetValue(LOCATION_REMOVED)
e:GetHandler():RegisterEffect(e1,true)
end
end
end
--
function c33201407.discon(e,tp,eg,ep,ev,re,r,rp)
return e:GetHandler():GetFlagEffect(33201401)~=0
end
function c33201407.disfilter(c)
return c:IsFaceup() and c:IsType(TYPE_SPELL+TYPE_TRAP) and not c:IsDisabled()
end
function c33201407.distg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(c33201407.disfilter,tp,LOCATION_ONFIELD,LOCATION_ONFIELD,1,nil) end
Duel.SetOperationInfo(0,CATEGORY_DISABLE,nil,1,0,LOCATION_SZONE)
end
function c33201407.disop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_DISABLE)
local g=Duel.SelectMatchingCard(tp,c33201407.disfilter,tp,LOCATION_ONFIELD,LOCATION_ONFIELD,1,1,nil)
Duel.HintSelection(g)
local tc=g:GetFirst()
if #g>0 then
Duel.NegateRelatedChain(tc,RESET_TURN_SET)
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetProperty(EFFECT_FLAG_CANNOT_DISABLE)
e1:SetCode(EFFECT_DISABLE)
e1:SetReset(RESET_EVENT+RESETS_STANDARD+RESET_PHASE+PHASE_END)
tc:RegisterEffect(e1)
local e2=Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_SINGLE)
e2:SetProperty(EFFECT_FLAG_CANNOT_DISABLE)
e2:SetCode(EFFECT_DISABLE_EFFECT)
e2:SetValue(RESET_TURN_SET)
e2:SetReset(RESET_EVENT+RESETS_STANDARD+RESET_PHASE+PHASE_END)
tc:RegisterEffect(e2)
if tc:IsType(TYPE_TRAPMONSTER) then
local e3=Effect.CreateEffect(c)
e3:SetType(EFFECT_TYPE_SINGLE)
e3:SetProperty(EFFECT_FLAG_CANNOT_DISABLE)
e3:SetCode(EFFECT_DISABLE_TRAPMONSTER)
e3:SetReset(RESET_EVENT+RESETS_STANDARD+RESET_PHASE+PHASE_END)
tc:RegisterEffect(e3)
end
end
end
--晶导算使 多通道读写DDRX
function c33201408.initial_effect(c)
--link summon
aux.AddLinkProcedure(c,aux.FilterBoolFunction(Card.IsLinkType,TYPE_EFFECT),2,99,c33201408.lcheck)
c:EnableReviveLimit()
--atkup
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetProperty(EFFECT_FLAG_SINGLE_RANGE)
e1:SetCode(EFFECT_UPDATE_ATTACK)
e1:SetRange(LOCATION_MZONE)
e1:SetValue(c33201408.atkval)
c:RegisterEffect(e1)
--cannot attack
local e2=Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_FIELD)
e2:SetCode(EFFECT_CANNOT_ATTACK)
e2:SetRange(LOCATION_MZONE)
e2:SetTargetRange(LOCATION_MZONE,LOCATION_MZONE)
e2:SetTarget(c33201408.antg)
c:RegisterEffect(e2)
--
local e3=Effect.CreateEffect(c)
e3:SetType(EFFECT_TYPE_FIELD)
e3:SetProperty(EFFECT_FLAG_PLAYER_TARGET)
e3:SetCode(33201408)
e3:SetRange(LOCATION_MZONE)
e3:SetTargetRange(1,0)
c:RegisterEffect(e3)
end
c33201408.SetCard_JDSS=true
function c33201408.lcheck(g,lc)
return g:IsExists(c33201408.lfilter,1,nil)
end
function c33201408.lfilter(c)
return c.SetCard_JDSS
end
function c33201408.atkval(e,c)
local g=e:GetHandler():GetLinkedGroup():Filter(Card.IsFaceup,nil)
return g:GetSum(Card.GetBaseAttack)
end
function c33201408.antg(e,c)
return e:GetHandler():GetLinkedGroup():IsContains(c)
end
--晶导算使 二极晶体管
local m=33201409
local cm=_G["c"..m]
xpcall(function() require("expansions/script/c33201401") end,function() require("script/c33201401") end)
function cm.initial_effect(c)
--pendulum summon
aux.EnablePendulumAttribute(c)
VHisc_JDSS.addcheck(c)
--disable search
local e0=Effect.CreateEffect(c)
e0:SetType(EFFECT_TYPE_FIELD)
e0:SetCode(EFFECT_CANNOT_TO_HAND)
e0:SetRange(LOCATION_PZONE)
e0:SetProperty(EFFECT_FLAG_PLAYER_TARGET)
e0:SetTargetRange(1,0)
e0:SetTarget(aux.TargetBoolFunction(Card.IsLocation,LOCATION_EXTRA))
c:RegisterEffect(e0)
--tohand
local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(m,0))
e1:SetCategory(CATEGORY_TOHAND)
e1:SetType(EFFECT_TYPE_IGNITION)
e1:SetRange(LOCATION_PZONE)
e1:SetCountLimit(1,m)
e1:SetCondition(cm.tdcon1)
e1:SetTarget(cm.thtg)
e1:SetOperation(cm.thop)
c:RegisterEffect(e1)
local e6=e1:Clone()
e6:SetType(EFFECT_TYPE_QUICK_O)
e6:SetProperty(EFFECT_FLAG_DAMAGE_STEP)
e6:SetCode(EVENT_FREE_CHAIN)
e6:SetHintTiming(TIMING_DAMAGE_STEP,TIMING_DAMAGE_STEP+TIMINGS_CHECK_MONSTER)
e6:SetCondition(cm.tdcon2)
c:RegisterEffect(e6)
--ignore
local e2=Effect.CreateEffect(c)
e2:SetDescription(aux.Stringid(m,1))
e2:SetType(EFFECT_TYPE_QUICK_O)
e2:SetCode(EVENT_CHAINING)
e2:SetProperty(EFFECT_FLAG_DAMAGE_STEP+EFFECT_FLAG_DAMAGE_CAL)
e2:SetRange(LOCATION_MZONE)
e2:SetCountLimit(1,m+10000)
e2:SetCondition(cm.condition)
e2:SetTarget(cm.target)
e2:SetOperation(cm.operation)
c:RegisterEffect(e2)
--disable spsummon
local e3=Effect.CreateEffect(c)
e3:SetType(EFFECT_TYPE_FIELD)
e3:SetRange(LOCATION_MZONE)
e3:SetCode(EFFECT_CANNOT_SPECIAL_SUMMON)
e3:SetProperty(EFFECT_FLAG_PLAYER_TARGET)
e3:SetCondition(cm.econ)
e3:SetTargetRange(0,1)
e3:SetTarget(cm.sumlimit)
c:RegisterEffect(e3)
--remove
local e4=Effect.CreateEffect(c)
e4:SetType(EFFECT_TYPE_FIELD)
e4:SetProperty(EFFECT_FLAG_SET_AVAILABLE+EFFECT_FLAG_IGNORE_IMMUNE)
e4:SetRange(LOCATION_MZONE)
e4:SetCode(EFFECT_TO_HAND_REDIRECT)
e4:SetTargetRange(0,LOCATION_ONFIELD+LOCATION_GRAVE)
e4:SetCondition(cm.econ)
e4:SetValue(LOCATION_REMOVED)
c:RegisterEffect(e4)
local e5=Effect.CreateEffect(c)
e5:SetType(EFFECT_TYPE_FIELD)
e5:SetProperty(EFFECT_FLAG_SET_AVAILABLE+EFFECT_FLAG_IGNORE_IMMUNE)
e5:SetRange(LOCATION_MZONE)
e5:SetCode(EFFECT_TO_DECK_REDIRECT)
e5:SetTargetRange(0,LOCATION_ONFIELD+LOCATION_GRAVE)
e5:SetCondition(cm.econ)
e5:SetValue(LOCATION_REMOVED)
c:RegisterEffect(e5)
end
c33201409.SetCard_JDSS=true
function cm.tdcon1(e,tp,eg,ep,ev,re,r,rp)
return not Duel.IsPlayerAffectedByEffect(tp,33201408)
end
function cm.tdcon2(e,tp,eg,ep,ev,re,r,rp)
return aux.dscon() and Duel.IsPlayerAffectedByEffect(tp,33201408)
end
--e1
function cm.thfilter(c,code)
return c.SetCard_JDSS and c:IsType(TYPE_MONSTER) and c:IsAbleToHand() and not c:IsCode(code)
end
function cm.tdfilter(c,tp)
return c.SetCard_JDSS and c:IsType(TYPE_PENDULUM) and c:IsAbleToExtra() and Duel.IsExistingMatchingCard(cm.thfilter,tp,LOCATION_DECK,0,1,nil,c:GetCode())
end
function cm.thtg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(cm.tdfilter,tp,LOCATION_HAND,0,1,nil,tp) end
Duel.SetOperationInfo(0,CATEGORY_TOHAND,nil,1,tp,LOCATION_DECK)
end
function cm.thop(e,tp,eg,ep,ev,re,r,rp)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SELECT)
local g=Duel.SelectMatchingCard(tp,cm.tdfilter,tp,LOCATION_HAND,0,1,1,nil,tp)
if g:GetCount()>0 then
local code=g:GetFirst():GetCode()
Duel.SendtoExtraP(g,nil,REASON_EFFECT)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_ATOHAND)
local thg=Duel.SelectMatchingCard(tp,cm.thfilter,tp,LOCATION_DECK,0,1,1,nil,code)
Duel.SendtoHand(thg,nil,REASON_EFFECT)
end
end
--e2
function cm.condition(e,tp,eg,ep,ev,re,r,rp)
return ep==1-tp and re:IsActiveType(TYPE_MONSTER) and Duel.IsChainNegatable(ev)
and not e:GetHandler():IsStatus(STATUS_BATTLE_DESTROYED)
end
function cm.target(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return true end
end
function cm.operation(e,tp,eg,ep,ev,re,r,rp)
local sg=Duel.GetMatchingGroup(aux.TRUE,tp,LOCATION_MZONE,0,nil)
if sg:GetCount()==0 then return end
for tc in aux.Next(sg) do
local e1=Effect.CreateEffect(e:GetHandler())
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetProperty(EFFECT_FLAG_SINGLE_RANGE)
e1:SetRange(LOCATION_MZONE)
e1:SetCode(EFFECT_IMMUNE_EFFECT)
e1:SetReset(RESET_EVENT+RESETS_STANDARD)
e1:SetLabelObject(re)
e1:SetValue(cm.efilter)
tc:RegisterEffect(e1)
end
end
function cm.efilter(e,te)
local ige=e:GetLabelObject()
return te==ige
end
--e345
function cm.sumlimit(e,c,sump,sumtype,sumpos,targetp,se)
return c:IsLocation(LOCATION_GRAVE) and c:IsType(TYPE_MONSTER)
end
function cm.econ(e,tp,eg,ep,ev,re,r,rp)
return e:GetHandler():GetFlagEffect(33201401)~=0
end
\ No newline at end of file
...@@ -43,7 +43,7 @@ end ...@@ -43,7 +43,7 @@ end
function cm.spfilter2(c,e,tp) function cm.spfilter2(c,e,tp)
return (c:IsSetCard(0x341) or c:IsAttribute(ATTRIBUTE_WATER)) return (c:IsSetCard(0x341) or c:IsAttribute(ATTRIBUTE_WATER))
and ( (c:IsLocation(LOCATION_EXTRA) and c:IsFaceup() and Duel.GetLocationCountFromEx(tp,tp,nil,c)>0 ) and ( (c:IsLocation(LOCATION_EXTRA) and c:IsFaceup() and Duel.GetLocationCountFromEx(tp,tp,nil,c)>0 )
or (c:IsLocation(LOCATION_HAND++LOCATION_GRAVE) and Duel.GetLocationCount(tp,LOCATION_MZONE)>0) ) or (c:IsLocation(LOCATION_HAND+LOCATION_GRAVE) and Duel.GetLocationCount(tp,LOCATION_MZONE)>0) )
and c:IsCanBeSpecialSummoned(e,0,tp,false,false,POS_FACEUP) and c:IsCanBeSpecialSummoned(e,0,tp,false,false,POS_FACEUP)
end end
function cm.ckfilter(c) function cm.ckfilter(c)
......
...@@ -58,20 +58,20 @@ function c50218325.filter(c) ...@@ -58,20 +58,20 @@ function c50218325.filter(c)
return c:IsType(TYPE_SPELL+TYPE_TRAP) return c:IsType(TYPE_SPELL+TYPE_TRAP)
end end
function c50218325.target(e,tp,eg,ep,ev,re,r,rp,chk,chkc) function c50218325.target(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
local c=e:GetHandler()
if chkc then return chkc:IsOnField() and c50218325.filter(chkc) end if chkc then return chkc:IsOnField() and c50218325.filter(chkc) end
if chk==0 then return Duel.IsExistingTarget(c50218325.filter,tp,LOCATION_ONFIELD,LOCATION_ONFIELD,1,nil) end if chk==0 then return Duel.IsExistingTarget(c50218325.filter,tp,LOCATION_ONFIELD,LOCATION_ONFIELD,1,e:GetHandler()) end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_DESTROY) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_DESTROY)
local g=Duel.SelectTarget(tp,c50218325.filter,tp,LOCATION_ONFIELD,LOCATION_ONFIELD,1,1,nil) local g=Duel.SelectTarget(tp,c50218325.filter,tp,LOCATION_ONFIELD,LOCATION_ONFIELD,1,1,e:GetHandler())
Duel.SetOperationInfo(0,CATEGORY_DESTROY,e:GetHandler(),1,0,0) g:AddCard(c)
Duel.SetOperationInfo(0,CATEGORY_DESTROY,g,1,0,0) Duel.SetOperationInfo(0,CATEGORY_DESTROY,g,2,0,0)
end end
function c50218325.operation(e,tp,eg,ep,ev,re,r,rp) function c50218325.operation(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler() local c=e:GetHandler()
if c:IsRelateToEffect(e) and Duel.Destroy(c,REASON_EFFECT)>0 then local tc=Duel.GetFirstTarget()
local tc=Duel.GetFirstTarget() if c:IsRelateToEffect(e) and tc:IsRelateToEffect(e) then
if tc:IsRelateToEffect(e) then local g=Group.FromCards(c,tc)
Duel.Destroy(tc,REASON_EFFECT) Duel.Destroy(g,REASON_EFFECT)
end
end end
end end
function c50218325.actcon(e,tp,eg,ep,ev,re,r,rp) function c50218325.actcon(e,tp,eg,ep,ev,re,r,rp)
......
...@@ -95,12 +95,13 @@ function c50218335.dcon(e,tp,eg,ep,ev,re,r,rp) ...@@ -95,12 +95,13 @@ function c50218335.dcon(e,tp,eg,ep,ev,re,r,rp)
return e:GetHandler():IsSummonType(SUMMON_TYPE_RITUAL) return e:GetHandler():IsSummonType(SUMMON_TYPE_RITUAL)
end end
function c50218335.dtg(e,tp,eg,ep,ev,re,r,rp,chk) function c50218335.dtg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(Card.IsAbleToRemove,tp,0,LOCATION_DECK,5,nil) end if chk==0 then return Duel.GetDecktopGroup(1-tp,5):FilterCount(Card.IsAbleToRemove,nil)==5 end
Duel.SetOperationInfo(0,CATEGORY_REMOVE,nil,0,1-tp,5,LOCATION_DECK) Duel.SetOperationInfo(0,CATEGORY_REMOVE,nil,5,1-tp,LOCATION_DECK)
end end
function c50218335.dop(e,tp,eg,ep,ev,re,r,rp) function c50218335.dop(e,tp,eg,ep,ev,re,r,rp)
if Duel.GetFieldGroupCount(1-tp,0,LOCATION_DECK)==0 then return end
local g=Duel.GetDecktopGroup(1-tp,5) local g=Duel.GetDecktopGroup(1-tp,5)
if chk==0 then return g:FilterCount(Card.IsAbleToRemove,nil)==5 end Duel.DisableShuffleCheck()
Duel.Remove(g,POS_FACEDOWN,REASON_EFFECT) Duel.Remove(g,POS_FACEDOWN,REASON_EFFECT)
end end
function c50218335.drtg(e,tp,eg,ep,ev,re,r,rp,chk) function c50218335.drtg(e,tp,eg,ep,ev,re,r,rp,chk)
......
...@@ -60,20 +60,20 @@ function c50218340.filter(c) ...@@ -60,20 +60,20 @@ function c50218340.filter(c)
return c:IsFaceup() return c:IsFaceup()
end end
function c50218340.target(e,tp,eg,ep,ev,re,r,rp,chk,chkc) function c50218340.target(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
local c=e:GetHandler()
if chkc then return chkc:IsOnField() and c50218340.filter(chkc) end if chkc then return chkc:IsOnField() and c50218340.filter(chkc) end
if chk==0 then return Duel.IsExistingTarget(c50218340.filter,tp,LOCATION_MZONE,LOCATION_MZONE,1,nil) end if chk==0 then return Duel.IsExistingTarget(c50218340.filter,tp,LOCATION_MZONE,LOCATION_MZONE,1,nil) end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_DESTROY) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_DESTROY)
local g=Duel.SelectTarget(tp,c50218340.filter,tp,LOCATION_MZONE,LOCATION_MZONE,1,1,nil) local g=Duel.SelectTarget(tp,c50218340.filter,tp,LOCATION_MZONE,LOCATION_MZONE,1,1,nil)
Duel.SetOperationInfo(0,CATEGORY_DESTROY,e:GetHandler(),1,0,0) g:AddCard(c)
Duel.SetOperationInfo(0,CATEGORY_DESTROY,g,1,0,0) Duel.SetOperationInfo(0,CATEGORY_DESTROY,g,2,0,0)
end end
function c50218340.operation(e,tp,eg,ep,ev,re,r,rp) function c50218340.operation(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler() local c=e:GetHandler()
if c:IsRelateToEffect(e) and Duel.Destroy(c,REASON_EFFECT)>0 then local tc=Duel.GetFirstTarget()
local tc=Duel.GetFirstTarget() if c:IsRelateToEffect(e) and tc:IsRelateToEffect(e) then
if tc:IsRelateToEffect(e) then local g=Group.FromCards(c,tc)
Duel.Destroy(tc,REASON_EFFECT) Duel.Destroy(g,REASON_EFFECT)
end
end end
end end
function c50218340.actcon(e,tp,eg,ep,ev,re,r,rp) function c50218340.actcon(e,tp,eg,ep,ev,re,r,rp)
......
...@@ -6,12 +6,13 @@ function c71400034.initial_effect(c) ...@@ -6,12 +6,13 @@ function c71400034.initial_effect(c)
--link summon --link summon
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
e1:SetCategory(CATEGORY_SPECIAL_SUMMON) e1:SetCategory(CATEGORY_SPECIAL_SUMMON)
e1:SetType(EFFECT_TYPE_QUICK_O) e1:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_TRIGGER_O)
e1:SetCode(EVENT_FREE_CHAIN) e1:SetCode(EVENT_CHAINING)
e1:SetRange(LOCATION_FZONE) e1:SetRange(LOCATION_FZONE)
e1:SetProperty(EFFECT_FLAG_CARD_TARGET) e1:SetProperty(EFFECT_FLAG_DELAY)
e1:SetDescription(aux.Stringid(71400034,0)) e1:SetDescription(aux.Stringid(71400034,0))
e1:SetCountLimit(1) e1:SetCountLimit(1)
e1:SetCondition(c71400034.con1)
e1:SetTarget(c71400034.tg1) e1:SetTarget(c71400034.tg1)
e1:SetOperation(c71400034.op1) e1:SetOperation(c71400034.op1)
e1:SetCost(c71400034.cost1) e1:SetCost(c71400034.cost1)
...@@ -19,8 +20,9 @@ function c71400034.initial_effect(c) ...@@ -19,8 +20,9 @@ function c71400034.initial_effect(c)
--todeck --todeck
local e2=Effect.CreateEffect(c) local e2=Effect.CreateEffect(c)
e2:SetCategory(CATEGORY_TODECK+CATEGORY_REMOVE) e2:SetCategory(CATEGORY_TODECK+CATEGORY_REMOVE)
e2:SetType(EFFECT_TYPE_QUICK_O) e2:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_TRIGGER_O)
e2:SetCode(EVENT_CHAINING) e2:SetCode(EVENT_CHAINING)
e2:SetProperty(EFFECT_FLAG_DELAY)
e2:SetRange(LOCATION_FZONE) e2:SetRange(LOCATION_FZONE)
e2:SetCountLimit(1) e2:SetCountLimit(1)
e2:SetDescription(aux.Stringid(71400034,1)) e2:SetDescription(aux.Stringid(71400034,1))
...@@ -32,6 +34,9 @@ function c71400034.initial_effect(c) ...@@ -32,6 +34,9 @@ function c71400034.initial_effect(c)
--self to deck & activate field --self to deck & activate field
yume.AddYumeFieldGlobal(c,71400034,2) yume.AddYumeFieldGlobal(c,71400034,2)
end end
function c71400034.con1(e,tp,eg,ep,ev,re,r,rp)
return re:IsActiveType(TYPE_SPELL) and e:GetHandler():IsStatus(STATUS_EFFECT_ENABLED)
end
function c71400034.filter1c(c) function c71400034.filter1c(c)
return c:IsSetCard(0x714) and c:IsAbleToDeckOrExtraAsCost() return c:IsSetCard(0x714) and c:IsAbleToDeckOrExtraAsCost()
end end
...@@ -65,7 +70,7 @@ function c71400034.filter2c(c) ...@@ -65,7 +70,7 @@ function c71400034.filter2c(c)
return c:IsSetCard(0x7714) and c:IsType(TYPE_FIELD) and c:IsAbleToDeckAsCost() return c:IsSetCard(0x7714) and c:IsType(TYPE_FIELD) and c:IsAbleToDeckAsCost()
end end
function c71400034.con2(e,tp,eg,ep,ev,re,r,rp) function c71400034.con2(e,tp,eg,ep,ev,re,r,rp)
return re:IsActiveType(TYPE_MONSTER) return re:IsActiveType(TYPE_MONSTER) and e:GetHandler():IsStatus(STATUS_EFFECT_ENABLED)
end end
function c71400034.filter2(c) function c71400034.filter2(c)
return c:IsSetCard(0x714) and c:IsType(TYPE_LINK) and c:IsFaceup() return c:IsSetCard(0x714) and c:IsType(TYPE_LINK) and c:IsFaceup()
...@@ -74,13 +79,13 @@ function c71400034.filter2b(c,tp) ...@@ -74,13 +79,13 @@ function c71400034.filter2b(c,tp)
return c:IsAbleToRemove(tp) and not c71400034.filter2(c) return c:IsAbleToRemove(tp) and not c71400034.filter2(c)
end end
function c71400034.tg2(e,tp,eg,ep,ev,re,r,rp,chk) function c71400034.tg2(e,tp,eg,ep,ev,re,r,rp,chk)
rc=re:GetHandler() if chk==0 then return Duel.IsExistingMatchingCard(Card.IsAbleToDeck,tp,LOCATION_MZONE,LOCATION_MZONE,1,nil) end
if chk==0 then return rc:IsRelateToEffect(re) and rc:IsAbleToDeck() end local tdg=Duel.GetMatchingGroup(Card.IsAbleToDeck,tp,LOCATION_MZONE,LOCATION_MZONE,nil)
Duel.SetOperationInfo(0,CATEGORY_TODECK,rc,1,0,0) Duel.SetOperationInfo(0,CATEGORY_TODECK,tdg,1,0,0)
end end
function c71400034.op2(e,tp,eg,ep,ev,re,r,rp) function c71400034.op2(e,tp,eg,ep,ev,re,r,rp)
local rc=re:GetHandler() local tdg=Duel.SelectMatchingCard(tp,Card.IsAbleToDeck,tp,LOCATION_MZONE,LOCATION_MZONE,1,1,nil)
if rc:IsRelateToEffect(re) and Duel.SendtoDeck(rc,nil,2,REASON_EFFECT)==1 then if tdg:GetCount()==1 and Duel.SendtoDeck(tdg,nil,2,REASON_EFFECT)==1 then
local g=Duel.GetMatchingGroup(c71400034.filter2b,tp,LOCATION_ONFIELD,LOCATION_ONFIELD,e:GetHandler(),tp) local g=Duel.GetMatchingGroup(c71400034.filter2b,tp,LOCATION_ONFIELD,LOCATION_ONFIELD,e:GetHandler(),tp)
local lg=Duel.GetMatchingGroup(c71400034.filter2,tp,LOCATION_MZONE,LOCATION_MZONE,nil) local lg=Duel.GetMatchingGroup(c71400034.filter2,tp,LOCATION_MZONE,LOCATION_MZONE,nil)
if lg:GetCount()>0 and lg:GetSum(Card.GetLink)>=4 and g:GetCount()>0 and Duel.SelectYesNo(tp,aux.Stringid(71400034,2)) then if lg:GetCount()>0 and lg:GetSum(Card.GetLink)>=4 and g:GetCount()>0 and Duel.SelectYesNo(tp,aux.Stringid(71400034,2)) then
......
...@@ -49,9 +49,12 @@ function c71401010.cost2(e,tp,eg,ep,ev,re,r,rp,chk) ...@@ -49,9 +49,12 @@ function c71401010.cost2(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.GetCustomActivityCount(71401001,tp,ACTIVITY_CHAIN)==0 end if chk==0 then return Duel.GetCustomActivityCount(71401001,tp,ACTIVITY_CHAIN)==0 end
yume.RegButterflyCostLimit(e,tp) yume.RegButterflyCostLimit(e,tp)
end end
function c71401010.filter2(c,e,tp)
return c:IsCanBeSpecialSummoned(e,0,tp,false,false)
end
function c71401010.tg2(e,tp,eg,ep,ev,re,r,rp,chk) function c71401010.tg2(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return e:GetHandler():GetLinkedGroupCount()>0 and Duel.GetLocationCount(tp,LOCATION_MZONE)>0 if chk==0 then return e:GetHandler():GetLinkedGroupCount()>0 and Duel.GetLocationCount(tp,LOCATION_MZONE)>0
and Duel.IsExistingMatchingCard(Card.IsCanBeSpecialSummoned,tp,LOCATION_HAND,0,1,nil,e,tp) end and Duel.IsExistingMatchingCard(c71401010.filter2,tp,LOCATION_HAND,0,1,nil,e,tp) end
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,1,tp,LOCATION_HAND) Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,1,tp,LOCATION_HAND)
end end
function c71401010.op2(e,tp,eg,ep,ev,re,r,rp) function c71401010.op2(e,tp,eg,ep,ev,re,r,rp)
...@@ -60,7 +63,7 @@ function c71401010.op2(e,tp,eg,ep,ev,re,r,rp) ...@@ -60,7 +63,7 @@ function c71401010.op2(e,tp,eg,ep,ev,re,r,rp)
local lct=c:GetLinkedGroupCount() local lct=c:GetLinkedGroupCount()
if lct==0 then return end if lct==0 then return end
local ft=Duel.GetLocationCount(tp,LOCATION_MZONE) local ft=Duel.GetLocationCount(tp,LOCATION_MZONE)
local g=Duel.GetMatchingGroup(Card.IsCanBeSpecialSummoned,tp,LOCATION_HAND,0,nil,e,tp) local g=Duel.GetMatchingGroup(c71401010.filter2,tp,LOCATION_HAND,0,nil,e,tp)
if ft<=0 or g:GetCount()==0 then return end if ft<=0 or g:GetCount()==0 then return end
if Duel.IsPlayerAffectedByEffect(tp,59822133) then ft=1 end if Duel.IsPlayerAffectedByEffect(tp,59822133) then ft=1 end
local ct=math.min(g:GetClassCount(Card.GetAttribute),ft,lct) local ct=math.min(g:GetClassCount(Card.GetAttribute),ft,lct)
......
...@@ -23,7 +23,7 @@ function cm.initial_effect(c) ...@@ -23,7 +23,7 @@ function cm.initial_effect(c)
e2:SetDescription(aux.Stringid(m,0)) e2:SetDescription(aux.Stringid(m,0))
e2:SetCategory(CATEGORY_SPECIAL_SUMMON) e2:SetCategory(CATEGORY_SPECIAL_SUMMON)
e2:SetType(EFFECT_TYPE_IGNITION) e2:SetType(EFFECT_TYPE_IGNITION)
e2:SetCountLimit(1,m) e2:SetCountLimit(1,m+500)
e2:SetRange(LOCATION_MZONE) e2:SetRange(LOCATION_MZONE)
e2:SetCost(cm.cost) e2:SetCost(cm.cost)
e2:SetTarget(cm.target) e2:SetTarget(cm.target)
...@@ -70,9 +70,8 @@ function cm.operation(e,tp,eg,ep,ev,re,r,rp) ...@@ -70,9 +70,8 @@ function cm.operation(e,tp,eg,ep,ev,re,r,rp)
Duel.Hint(HINTMSG_SELECT,tp,HINTMSG_ATOHAND) Duel.Hint(HINTMSG_SELECT,tp,HINTMSG_ATOHAND)
local sg=g:Select(tp,1,1,nil) local sg=g:Select(tp,1,1,nil)
local tc=sg:GetFirst() local tc=sg:GetFirst()
local code=tc:GetCode()
if Duel.SendtoHand(tc,tp,REASON_EFFECT) then if Duel.SendtoHand(tc,tp,REASON_EFFECT) then
Duel.ConfirmCards(tc,1-tp) Duel.ConfirmCards(1-tp,tc)
Duel.BreakEffect() Duel.BreakEffect()
Duel.Recover(1-tp,2000,REASON_EFFECT) Duel.Recover(1-tp,2000,REASON_EFFECT)
local e1=Effect.CreateEffect(e:GetHandler()) local e1=Effect.CreateEffect(e:GetHandler())
...@@ -81,7 +80,7 @@ function cm.operation(e,tp,eg,ep,ev,re,r,rp) ...@@ -81,7 +80,7 @@ function cm.operation(e,tp,eg,ep,ev,re,r,rp)
e1:SetCode(EFFECT_CANNOT_ACTIVATE) e1:SetCode(EFFECT_CANNOT_ACTIVATE)
e1:SetTargetRange(1,0) e1:SetTargetRange(1,0)
e1:SetValue(cm.aclimit) e1:SetValue(cm.aclimit)
e1:SetLabel(code) e1:SetLabel(tc:GetCode())
e1:SetReset(RESET_PHASE+PHASE_END+RESET_SELF_TURN,2) e1:SetReset(RESET_PHASE+PHASE_END+RESET_SELF_TURN,2)
Duel.RegisterEffect(e1,tp) Duel.RegisterEffect(e1,tp)
end end
......
...@@ -131,6 +131,7 @@ function cm.actop(e,tp,eg,ep,ev,re,r,rp) ...@@ -131,6 +131,7 @@ function cm.actop(e,tp,eg,ep,ev,re,r,rp)
e1:SetCode(EVENT_PHASE+PHASE_BATTLE_START) e1:SetCode(EVENT_PHASE+PHASE_BATTLE_START)
e1:SetCategory(CATEGORY_RECOVER) e1:SetCategory(CATEGORY_RECOVER)
e1:SetCountLimit(1) e1:SetCountLimit(1)
e1:SetReset(RESET_PHASE+PHASE_END)
e1:SetOperation(cm.recop) e1:SetOperation(cm.recop)
Duel.RegisterEffect(e1,tp) Duel.RegisterEffect(e1,tp)
else else
......
--黑天蓝莓
function c88100103.initial_effect(c)
aux.AddXyzProcedureLevelFree(c,c88100103.mfilter,c88100103.xyzcheck,2,2)
c:EnableReviveLimit()
end
function c88100103.mfilter(c,xyzc)
return c:IsLevelAbove(1)
end
function c88100103.xyzcheck(g)
return g:GetClassCount(Card.GetLevel)==1
end
\ No newline at end of file
--逻辑蓝莓
function c88100104.initial_effect(c)
aux.AddLinkProcedure(c,c88100104.mfilter,2,2,c88100104.lcheck)
c:EnableReviveLimit()
end
function c88100104.mfilter(c)
return c:IsLevelAbove(1)
end
function c88100104.lcheck(g,lc)
return g:GetClassCount(Card.GetLevel)==1
end
\ No newline at end of file
--螺旋变升 蓝莓
function c88100105.initial_effect(c)
aux.AddXyzProcedureLevelFree(c,c88100105.mfilter,nil,3,3)
c:EnableReviveLimit()
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)
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetCode(EFFECT_MATERIAL_CHECK)
e1:SetValue(c88100105.valcheck)
c:RegisterEffect(e1)
local e2=Effect.CreateEffect(c)
e2:SetDescription(aux.Stringid(88100105,0))
e2:SetCategory(CATEGORY_DRAW)
e2:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_O)
e2:SetCode(EVENT_SPSUMMON_SUCCESS)
e2:SetProperty(EFFECT_FLAG_DELAY)
e2:SetCountLimit(1,88100105)
e2:SetCondition(c88100105.drcon)
e2:SetTarget(c88100105.drtg)
e2:SetOperation(c88100105.drop)
c:RegisterEffect(e2)
e1:SetLabelObject(e2)
local e3=Effect.CreateEffect(c)
e3:SetDescription(aux.Stringid(88100105,1))
e3:SetCategory(CATEGORY_DRAW)
e3:SetProperty(EFFECT_FLAG_CARD_TARGET)
e3:SetType(EFFECT_TYPE_QUICK_O)
e3:SetCode(EVENT_FREE_CHAIN)
e3:SetRange(LOCATION_MZONE)
e3:SetHintTiming(0,TIMING_STANDBY_PHASE+TIMING_END_PHASE+TIMING_TOGRAVE)
e3:SetCountLimit(1,88200105)
e3:SetTarget(c88100105.target)
e3:SetOperation(c88100105.operation)
c:RegisterEffect(e3)
local e4=Effect.CreateEffect(c)
e4:SetDescription(aux.Stringid(88100105,2))
e4:SetCategory(CATEGORY_SPECIAL_SUMMON)
e4:SetType(EFFECT_TYPE_QUICK_O)
e4:SetCode(EVENT_FREE_CHAIN)
e4:SetRange(LOCATION_MZONE)
e4:SetHintTiming(0,TIMING_END_PHASE)
e4:SetCountLimit(1,88300105)
e4:SetCondition(c88100105.spcon)
e4:SetTarget(c88100105.sptg)
e4:SetOperation(c88100105.spop)
c:RegisterEffect(e4)
end
function c88100105.mfilter(c,xyzc)
return c:IsRank(3)
end
function c88100105.valcheck(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
local flag=0
if c:GetMaterial():FilterCount(Card.IsAttribute,nil,ATTRIBUTE_DARK)>0 then flag=flag+1 end
if c:GetMaterial():FilterCount(Card.IsAttribute,nil,ATTRIBUTE_DEVINE)>0 then flag=flag+1 end
if c:GetMaterial():FilterCount(Card.IsAttribute,nil,ATTRIBUTE_EARTH)>0 then flag=flag+1 end
if c:GetMaterial():FilterCount(Card.IsAttribute,nil,ATTRIBUTE_FIRE)>0 then flag=flag+1 end
if c:GetMaterial():FilterCount(Card.IsAttribute,nil,ATTRIBUTE_LIGHT)>0 then flag=flag+1 end
if c:GetMaterial():FilterCount(Card.IsAttribute,nil,ATTRIBUTE_WATER)>0 then flag=flag+1 end
if c:GetMaterial():FilterCount(Card.IsAttribute,nil,ATTRIBUTE_WIND)>0 then flag=flag+1 end
e:GetLabelObject():SetLabel(flag)
end
function c88100105.drcon(e,tp,eg,ep,ev,re,r,rp)
return e:GetHandler():IsSummonType(SUMMON_TYPE_XYZ)
end
function c88100105.drtg(e,tp,eg,ep,ev,re,r,rp,chk)
local dr=e:GetLabel()
if chk==0 then return Duel.IsPlayerCanDraw(tp,dr) end
Duel.SetTargetPlayer(tp)
Duel.SetTargetParam(dr)
Duel.SetOperationInfo(0,CATEGORY_DRAW,nil,0,tp,dr)
end
function c88100105.drop(e,tp,eg,ep,ev,re,r,rp)
local p,d=Duel.GetChainInfo(0,CHAININFO_TARGET_PLAYER,CHAININFO_TARGET_PARAM)
Duel.Draw(p,d,REASON_EFFECT)
local turnp=Duel.GetTurnPlayer()
Duel.SkipPhase(turnp,PHASE_DRAW,RESET_PHASE+PHASE_END,1)
Duel.SkipPhase(turnp,PHASE_STANDBY,RESET_PHASE+PHASE_END,1)
Duel.SkipPhase(turnp,PHASE_MAIN1,RESET_PHASE+PHASE_END,1)
Duel.SkipPhase(turnp,PHASE_BATTLE,RESET_PHASE+PHASE_END,1,1)
Duel.SkipPhase(turnp,PHASE_MAIN2,RESET_PHASE+PHASE_END,1)
local e1=Effect.CreateEffect(e:GetHandler())
e1:SetProperty(EFFECT_FLAG_PLAYER_TARGET)
e1:SetType(EFFECT_TYPE_FIELD)
e1:SetCode(EFFECT_CANNOT_BP)
e1:SetTargetRange(1,0)
e1:SetReset(RESET_PHASE+PHASE_END)
Duel.RegisterEffect(e1,turnp)
end
function c88100105.filter(c)
return c:IsCanOverlay()
end
function c88100105.target(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
if chkc then return chkc:IsControler(1-tp) and chkc:IsLocation(LOCATION_GRAVE) and c88100105.filter(chkc) end
if chk==0 then return Duel.IsExistingTarget(c88100105.filter,tp,LOCATION_GRAVE,LOCATION_GRAVE,1,nil) end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_XMATERIAL)
local g=Duel.SelectTarget(tp,c88100105.filter,tp,LOCATION_GRAVE,LOCATION_GRAVE,1,1,nil)
if Duel.GetCurrentPhase()==PHASE_STANDBY or Duel.GetCurrentPhase()==PHASE_END then
Duel.SetOperationInfo(0,CATEGORY_DRAW,nil,0,tp,1)
end
end
function c88100105.operation(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
local tc=Duel.GetFirstTarget()
if c:IsRelateToEffect(e) and tc:IsRelateToEffect(e) and not tc:IsImmuneToEffect(e) then
Duel.Overlay(c,Group.FromCards(tc))
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_FIELD)
e1:SetCode(EFFECT_DISABLE)
e1:SetTargetRange(LOCATION_ONFIELD,LOCATION_ONFIELD)
e1:SetTarget(c88100105.distg)
e1:SetLabelObject(tc)
e1:SetReset(RESET_PHASE+PHASE_END)
Duel.RegisterEffect(e1,tp)
local e2=Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
e2:SetCode(EVENT_CHAIN_SOLVING)
e2:SetCondition(c88100105.discon)
e2:SetOperation(c88100105.disop)
e2:SetLabelObject(tc)
e2:SetReset(RESET_PHASE+PHASE_END)
Duel.RegisterEffect(e2,tp)
if (Duel.GetCurrentPhase()==PHASE_STANDBY or Duel.GetCurrentPhase()==PHASE_END) and Duel.SelectYesNo(tp,aux.Stringid(88100105,3)) then
Duel.Draw(tp,1,REASON_EFFECT)
end
end
end
function c88100105.distg(e,c)
local tc=e:GetLabelObject()
return c:IsOriginalCodeRule(tc:GetOriginalCodeRule())
end
function c88100105.discon(e,tp,eg,ep,ev,re,r,rp)
local tc=e:GetLabelObject()
return re:GetHandler():IsOriginalCodeRule(tc:GetOriginalCodeRule())
end
function c88100105.disop(e,tp,eg,ep,ev,re,r,rp)
Duel.NegateEffect(ev)
end
function c88100105.spcon(e,tp,eg,ep,ev,re,r,rp)
return e:GetHandler():GetOverlayCount()>4
end
function c88100105.spfilter(c,e,tp)
return c:IsRace(RACE_PLANT) and c:IsRankAbove(10) and (c:IsCanBeSpecialSummoned(e,0,tp,false,false) or c:IsCode(88100107) and c:IsCanBeSpecialSummoned(e,0,tp,true,false)) and Duel.GetLocationCountFromEx(tp,tp,nil,c)>0
end
function c88100105.sptg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(c88100105.spfilter,tp,LOCATION_EXTRA,0,1,nil,e,tp) end
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,1,tp,LOCATION_EXTRA)
end
function c88100105.spop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON)
local tc=Duel.SelectMatchingCard(tp,c88100105.spfilter,tp,LOCATION_EXTRA,0,1,1,nil,e,tp):GetFirst()
local sp=0
if tc and tc:GetCode()==88100107 then
if Duel.SpecialSummon(tc,0,tp,tp,true,false,POS_FACEUP)~=0 then
sp=1
end
elseif tc then
if Duel.SpecialSummon(tc,0,tp,tp,false,false,POS_FACEUP)~=0 then
sp=1
end
end
if sp==1 and c:IsRelateToEffect(e) then
local mg=c:GetOverlayGroup()
if mg:GetCount()~=0 then
Duel.Overlay(tc,mg)
end
Duel.Overlay(tc,Group.FromCards(c))
end
end
\ No newline at end of file
--我的名字,是蓝莓!
function c88100106.initial_effect(c)
local e1=Effect.CreateEffect(c)
e1:SetCategory(CATEGORY_SPECIAL_SUMMON)
e1:SetType(EFFECT_TYPE_ACTIVATE)
e1:SetCode(EVENT_FREE_CHAIN)
e1:SetCountLimit(1,88100106+EFFECT_COUNT_CODE_OATH)
e1:SetCost(c88100106.cost)
e1:SetTarget(c88100106.target)
e1:SetOperation(c88100106.activate)
c:RegisterEffect(e1)
end
function c88100106.lfilter(c)
return c:IsCode(88100105)
end
function c88100106.cost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(c88100106.lfilter,tp,LOCATION_EXTRA,0,1,nil) end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_CONFIRM)
local fc=Duel.SelectMatchingCard(tp,c88100106.lfilter,tp,LOCATION_EXTRA,0,1,1,nil):GetFirst()
Duel.ConfirmCards(1-tp,fc)
end
function c88100106.filter(c,e,tp)
return c:IsRace(RACE_PLANT) and c:IsRank(3) and c:IsCanBeSpecialSummoned(e,0,tp,false,false)
end
function c88100106.target(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.GetLocationCount(tp,LOCATION_MZONE)>0
and Duel.IsExistingMatchingCard(c88100106.filter,tp,LOCATION_EXTRA,0,1,nil,e,tp) end
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,1,tp,LOCATION_EXTRA)
end
function c88100106.activate(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
if Duel.GetLocationCount(tp,LOCATION_MZONE)<=0 then return end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON)
local tc=Duel.SelectMatchingCard(tp,c88100106.filter,tp,LOCATION_EXTRA,0,1,1,nil,e,tp):GetFirst()
if tc and Duel.SpecialSummonStep(tc,0,tp,tp,false,false,POS_FACEUP) 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:SetType(EFFECT_TYPE_SINGLE)
e2:SetCode(EFFECT_DISABLE_EFFECT)
e2:SetValue(RESET_TURN_SET)
e2:SetReset(RESET_EVENT+RESETS_STANDARD+RESET_PHASE+PHASE_END)
tc:RegisterEffect(e2)
local e3=Effect.CreateEffect(c)
e3:SetType(EFFECT_TYPE_SINGLE)
e3:SetProperty(EFFECT_FLAG_SINGLE_RANGE)
e3:SetCode(EFFECT_CANNOT_BE_FUSION_MATERIAL)
e3:SetValue(c88100106.fuslimit)
e3:SetRange(LOCATION_MZONE)
e3:SetReset(RESET_EVENT+RESETS_STANDARD+RESET_PHASE+PHASE_END)
e3:SetValue(1)
tc:RegisterEffect(e1)
local e4=e3:Clone()
e4:SetCode(EFFECT_CANNOT_BE_SYNCHRO_MATERIAL)
tc:RegisterEffect(e4)
local e5=e3:Clone()
e5:SetCode(EFFECT_CANNOT_BE_LINK_MATERIAL)
tc:RegisterEffect(e5)
local e6=Effect.CreateEffect(c)
e6:SetType(EFFECT_TYPE_FIELD)
e6:SetProperty(EFFECT_FLAG_PLAYER_TARGET)
e6:SetCode(EFFECT_CANNOT_ACTIVATE)
e6:SetTargetRange(1,0)
e3:SetValue(c88100106.aclimit)
e3:SetLabel(tc:GetCode())
e3:SetReset(RESET_PHASE+PHASE_END)
Duel.RegisterEffect(e3,tp)
end
Duel.SpecialSummonComplete()
end
function c88100106.fuslimit(e,c,st)
return st==SUMMON_TYPE_FUSION
end
function c88100106.aclimit(e,re,tp)
return re:GetHandler():IsCode(e:GetLabel())
end
\ No newline at end of file
--螺旋变升 奇迹☆蓝莓
function c88100107.initial_effect(c)
aux.AddXyzProcedureLevelFree(c,c88100107.mfilter,nil,6,6)
c:EnableReviveLimit()
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)
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetCode(EFFECT_IMMUNE_EFFECT)
e1:SetProperty(EFFECT_FLAG_SINGLE_RANGE)
e1:SetRange(LOCATION_MZONE)
e1:SetCondition(c88100107.imcon)
e1:SetValue(c88100107.efilter)
c:RegisterEffect(e1)
local e2=Effect.CreateEffect(c)
e2:SetDescription(aux.Stringid(88100107,0))
e2:SetCategory(CATEGORY_DISABLE)
e2:SetType(EFFECT_TYPE_QUICK_O)
e2:SetCode(EVENT_CHAINING)
e2:SetRange(LOCATION_MZONE)
e2:SetCondition(c88100107.discon)
e2:SetCost(c88100107.discost)
e2:SetTarget(c88100107.distg)
e2:SetOperation(c88100107.disop)
c:RegisterEffect(e2)
end
function c88100107.mfilter(c,xyzc)
return not c:IsLevel(12) and c:IsLevelAbove(1)
end
function c88100107.imcon(e)
return e:GetHandler():GetOverlayCount()>=6
end
function c88100107.efilter(e,te)
return not te:GetOwner():IsRank(12)
end
function c88100107.discon(e,tp,eg,ep,ev,re,r,rp)
return rp~=tp and re:GetHandler():IsRelateToEffect(re) and not e:GetHandler():IsStatus(STATUS_BATTLE_DESTROYED)
end
function c88100107.discost(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 c88100107.distg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return true end
Duel.SetOperationInfo(0,CATEGORY_DISABLE,eg,1,0,0)
end
function c88100107.disop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
local rc=re:GetHandler()
if c:IsRelateToEffect(e) and rc:IsRelateToEffect(re) and rc:IsCanOverlay() and c:IsType(TYPE_XYZ) then
rc:CancelToGrave()
local og=rc:GetOverlayGroup()
if og:GetCount()>0 then
Duel.SendtoGrave(og,REASON_RULE)
end
Duel.Overlay(c,Group.FromCards(rc))
if c:GetOverlayGroup():Filter(Card.IsFusionType,nil,TYPE_XYZ):GetClassCount(Card.GetCode)>3 and Duel.SelectYesNo(tp,aux.Stringid(88100107,1)) then
Duel.NegateEffect(ev)
end
end
end
\ No newline at end of file
...@@ -435,7 +435,9 @@ ...@@ -435,7 +435,9 @@
#廷达的信徒 401940250 150 0xf30-0xf3f #廷达的信徒 401940250 150 0xf30-0xf3f
!setname 0x6f30 混沌构想|非「混沌」 !setname 0x6f30 混沌构想|非「混沌」
!setname 0xcf30 苍白星海
!setname 0x6f31 虚实写笔 !setname 0x6f31 虚实写笔
!setname 0x9f31 陵薮层岩
!setname 0xf33 色带 !setname 0xf33 色带
!setname 0x1f33 色带神 !setname 0x1f33 色带神
!setname 0x1f35 报丧泣语 !setname 0x1f35 报丧泣语
...@@ -455,10 +457,9 @@ ...@@ -455,10 +457,9 @@
!setname 0x5f3d 夏之刻证兽 !setname 0x5f3d 夏之刻证兽
!setname 0x6f3d 秋之刻证兽 !setname 0x6f3d 秋之刻证兽
!setname 0x9f3d 冬之刻证兽 !setname 0x9f3d 冬之刻证兽
!setname 0x9f31 陵薮层岩
!setname 0xcf30 苍白星海
!setname 0x5f3e Pecftlcus !setname 0x5f3e Pecftlcus
!setname 0x6f3e Se7en !setname 0x6f3e Se7en
!setname 0xaf3e 异闻鸣
!setname 0x3f3f 死蔷薇 !setname 0x3f3f 死蔷薇
!setname 0x5f3f 异再神 !setname 0x5f3f 异再神
#AddCodeList(15002000) 神名浅海卡名记述 #AddCodeList(15002000) 神名浅海卡名记述
...@@ -761,6 +762,7 @@ ...@@ -761,6 +762,7 @@
!setname 0xc32a 苍岚水师 !setname 0xc32a 苍岚水师
!counter 0x32a 苍岚指示物 !counter 0x32a 苍岚指示物
!counter 0x132a 寒霜指示物 !counter 0x132a 寒霜指示物
#cm.SetCard_JDSS 晶导算使
#VHisc_BeastHell 殂世 #VHisc_BeastHell 殂世
#VHisc_CNTreasure 六合精工 #VHisc_CNTreasure 六合精工
#VHisc_DragonCovenant 龙契 #VHisc_DragonCovenant 龙契
......
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