Commit ba36dc0f authored by REIKAI's avatar REIKAI 💬

update 09.18

parent 43a31e76
Pipeline #23507 passed with stage
in 23 minutes and 5 seconds
......@@ -4,8 +4,8 @@ stages:
variables:
GIT_DEPTH: "1"
LAST_UPDATE_DATE: "2023.08.06"
CURRENT_UPDATE_DATE: "2023.09.03"
LAST_UPDATE_DATE: "2023.09.03"
CURRENT_UPDATE_DATE: "2023.09.18"
redtext:
stage: prepare
......
No preview for this file type
......@@ -530,14 +530,13 @@
16104424 0 --天界士 刚严之伊欧
16104427 1 --天界法 索提拉
16105300 2 --这个是什么怪兽来着?
16107100 1 --侵略的G-神智
16107101 1 --G-神智的强欲
16107109 1 --升阶魔法 G-神智的统合
16107110 2 --G-神智的泛衍
16107111 2 --G-神智的强制
16107113 0 --G-神智的戒封
16107116 1 --G-神智龙 弗尔布雷·多雷克斯
16107117 0 --G-神智主
16107117 1 --G-神智主
16107119 1 --最终龙理 Q.E.D.+
16107121 0 --迷失在GODO的尽头
16108100 0 --里魂的显化
......@@ -552,7 +551,7 @@
16114212 1 --圣夜仙精 梅莉莉丝
16114214 0 --仙精生命
16114215 0 --仙精幻想
16114219 0 --仙精
16114219 0 --眼镜仙精 科莫利
16114221 1 --胜利仙精 布里
16114222 0 --重生之仙精
16114225 1 --雪风仙精 查·优尼科斯
......@@ -579,7 +578,6 @@
16149584 1 --超级英雄到来
16150001 0 --大王百足虫
16150002 1 --大王兽使
16150006 0 --天命托宣
16150007 0 --大王虫 大百足
16150008 1 --王命的集结
16150011 1 --大王剑使
......@@ -597,11 +595,8 @@
16161010 1 --卡多克·泽姆露普斯
16162000 0 --宇宙人研究所
16170000 0 --龙皇异次元
16172000 0 --大欲的招来
16170002 0 --暴风星云裂
16170003 1 --狂雷金刚拳
16172004 0 --禁时王
16172006 0 --大欲的魔龙
16199520 0 --华丽的降神
16199522 1 --王牌礼物
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)
--to hand
local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(16101258,0))
e1:SetCategory(CATEGORY_TOHAND+CATEGORY_SPECIAL_SUMMON+CATEGORY_DECKDES)
e1:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_TRIGGER_O)
e1:SetCode(EVENT_SUMMON_SUCCESS)
e1:SetProperty(EFFECT_FLAG_DELAY)
e1:SetRange(LOCATION_MZONE)
e1:SetCountLimit(1,16101258)
e1:SetCondition(c16101258.thcon)
e1:SetTarget(c16101258.thtg)
e1:SetOperation(c16101258.spop)
c:RegisterEffect(e1)
local e2=e1:Clone()
e2:SetCode(EVENT_SPSUMMON_SUCCESS)
c:RegisterEffect(e2)
local e3=e1:Clone()
e3:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_O)
e3:SetCode(EVENT_BE_BATTLE_TARGET)
e3:SetCondition(c16101258.thcon2)
c:RegisterEffect(e3)
--spsummon
local e4=Effect.CreateEffect(c)
e4:SetDescription(aux.Stringid(16101258,2))
e4:SetCategory(CATEGORY_SPECIAL_SUMMON)
e4:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_TRIGGER_O)
e4:SetCode(EVENT_PHASE+PHASE_END)
e4:SetRange(LOCATION_HAND)
e4:SetCountLimit(1,20003028)
e4:SetCondition(c16101258.spcon2)
e4:SetTarget(c16101258.sptg2)
e4:SetOperation(c16101258.spop2)
c:RegisterEffect(e4)
--to hand
local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(16101258,0))
e1:SetCategory(CATEGORY_TOHAND+CATEGORY_SPECIAL_SUMMON+CATEGORY_DECKDES)
e1:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_TRIGGER_O)
e1:SetCode(EVENT_SUMMON_SUCCESS)
e1:SetProperty(EFFECT_FLAG_DELAY)
e1:SetRange(LOCATION_MZONE)
e1:SetCountLimit(1,16101258)
e1:SetCondition(c16101258.thcon)
e1:SetTarget(c16101258.thtg)
e1:SetOperation(c16101258.spop)
c:RegisterEffect(e1)
local e2=e1:Clone()
e2:SetCode(EVENT_SPSUMMON_SUCCESS)
c:RegisterEffect(e2)
local e3=e1:Clone()
e3:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_O)
e3:SetCode(EVENT_BE_BATTLE_TARGET)
e3:SetCondition(c16101258.thcon2)
c:RegisterEffect(e3)
--spsummon
local e4=Effect.CreateEffect(c)
e4:SetDescription(aux.Stringid(16101258,2))
e4:SetCategory(CATEGORY_SPECIAL_SUMMON)
e4:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_TRIGGER_O)
e4:SetCode(EVENT_PHASE+PHASE_END)
e4:SetRange(LOCATION_HAND)
e4:SetCountLimit(1,16101258+100)
e4:SetCondition(c16101258.spcon2)
e4:SetTarget(c16101258.sptg2)
e4:SetOperation(c16101258.spop2)
c:RegisterEffect(e4)
end
function c16101258.cfilter(c,sp)
return c:IsSummonPlayer(sp)
return c:IsSummonPlayer(sp)
end
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
function c16101258.thcon2(e,tp,eg,ep,ev,re,r,rp)
return Duel.GetAttacker():IsControler(1-tp)
return Duel.GetAttacker():IsControler(1-tp)
end
function c16101258.thtg(e,tp,eg,ep,ev,re,r,rp,chk)
local c=e:GetHandler()
if chk==0 then return c:IsAbleToHand() end
Duel.SetOperationInfo(0,CATEGORY_TOHAND,c,1,0,0)
local c=e:GetHandler()
if chk==0 then return c:IsAbleToHand() end
Duel.SetOperationInfo(0,CATEGORY_TOHAND,c,1,0,0)
end
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
function c16101258.spop(e,tp)
local c = e:GetHandler()
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)
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.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON)
local g = sg:Select(tp,2,2,nil)
Duel.SpecialSummon(g,0,tp,tp,false,false,POS_FACEUP)
end
end
local c = e:GetHandler()
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)
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.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON)
local g = sg:Select(tp,2,2,nil)
Duel.SpecialSummon(g,0,tp,tp,false,false,POS_FACEUP)
end
end
end
function c16101258.spcon2(e,tp,eg,ep,ev,re,r,rp)
return Duel.GetTurnPlayer()==tp
return Duel.GetTurnPlayer()==tp
end
function c16101258.sptg2(e,tp,eg,ep,ev,re,r,rp,chk)
local c=e:GetHandler()
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)
local c=e:GetHandler()
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)
end
function c16101258.spop2(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
if c:IsRelateToEffect(e) then
Duel.SpecialSummon(c,0,tp,tp,false,false,POS_FACEUP)
end
local c=e:GetHandler()
if c:IsRelateToEffect(e) then
Duel.SpecialSummon(c,0,tp,tp,false,false,POS_FACEUP)
end
end
......@@ -110,6 +110,7 @@ function cm.operation(e,tp)
local cost=te:GetCost()
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.AdjustAll()
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.Hint(HINT_SELECTMSG,tp,HINTMSG_RELEASE)
......
......@@ -106,7 +106,7 @@ function cm.op3(e,tp,eg,ep,ev,re,r,rp)
if tc then
Duel.MoveToField(tc,tp,tp,LOCATION_PZONE,POS_FACEUP,true)
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
local s1=tc:IsSummonable(true,nil)
local s2=tc:IsMSetable(true,nil)
......
......@@ -109,14 +109,14 @@ function cm.op(e,tp,eg,ep,ev,re,r,rp)
local e1=Effect.CreateEffect(e:GetHandler())
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetCode(EFFECT_DISABLE)
e1:SetReset(RESET_EVENT+0x17a0000+RESET_PHASE+PHASE_END)
e1:SetReset(RESET_EVENT+0x17a0000)
tc1:RegisterEffect(e1)
local e2=Effect.CreateEffect(e:GetHandler())
e2:SetType(EFFECT_TYPE_SINGLE)
e2:SetCode(EFFECT_DISABLE_EFFECT)
e2:SetReset(RESET_EVENT+0x17a0000+RESET_PHASE+PHASE_END)
e2:SetReset(RESET_EVENT+0x17a0000)
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
tc1=g:GetNext()
......@@ -152,14 +152,14 @@ function cm.doitdis(e,tp)
local e1=Effect.CreateEffect(e:GetHandler())
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetCode(EFFECT_DISABLE)
e1:SetReset(RESET_EVENT+0x17a0000+RESET_PHASE+PHASE_END)
e1:SetReset(RESET_EVENT+0x17a0000)
tc1:RegisterEffect(e1)
local e2=Effect.CreateEffect(e:GetHandler())
e2:SetType(EFFECT_TYPE_SINGLE)
e2:SetCode(EFFECT_DISABLE_EFFECT)
e2:SetReset(RESET_EVENT+0x17a0000+RESET_PHASE+PHASE_END)
e2:SetReset(RESET_EVENT+0x17a0000)
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
tc1=g1:GetNext()
......
......@@ -194,6 +194,6 @@ function cm.nameop(e,tp,eg,ep,ev,re,r,rp)
local ac=Duel.GetChainInfo(0,CHAININFO_TARGET_PARAM)
local c=e:GetHandler()
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
\ No newline at end of file
......@@ -56,7 +56,7 @@ function cm.initial_effect(c)
e7:SetRange(LOCATION_SZONE)
e7:SetCost(cm.cost4)
e7:SetOperation(cm.op4)
--c:RegisterEffect(e7)
c:RegisterEffect(e7)
end
function cm.actcon(e,tp)
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()
end
end
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
function cm.rmtg(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
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)
end
end
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)
if chkc then return false end
if chk==0 then
......
......@@ -65,7 +65,7 @@ function s.distgf(c,rc)
return rc:GetAttribute()&c:GetAttribute()~=0
end
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
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())
......
......@@ -3,7 +3,7 @@ if c23000400 then return end
c23000400=c23000400 or {}
local m = 23000400
local bm = _G["c"..m]
local Version_Number=20230421
local Version_Number=20230906
local tcode=0x364
--Instructions about how to use this
--[[
......@@ -332,6 +332,7 @@ end
function bm.x.op(loc,filter_func)
return function(e,tp,eg,ep,ev,re,r,rp)
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)
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
......@@ -404,7 +405,7 @@ function bm.matfilter1(c,syncard,tp)
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 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
function bm.matfilter2(c,syncard)
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)
g2=mg:Filter(bm.matfilter2,nil,c)
g3=g2:Clone()
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)
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
local lv=c:GetLevel()
local sg=nil
......@@ -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)
g3=g2:Clone()
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)
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
local pe=Duel.IsPlayerAffectedByEffect(tp,EFFECT_MUST_BE_SMATERIAL)
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
\ No newline at end of file
if not pcall(function() require("expansions/script/c10199990") end) then require("script/c10199990") end
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
function cm.spfilter2(c,e,tp)
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 )
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)
end
function cm.ckfilter(c)
......
......@@ -58,20 +58,20 @@ function c50218325.filter(c)
return c:IsType(TYPE_SPELL+TYPE_TRAP)
end
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 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)
local g=Duel.SelectTarget(tp,c50218325.filter,tp,LOCATION_ONFIELD,LOCATION_ONFIELD,1,1,nil)
Duel.SetOperationInfo(0,CATEGORY_DESTROY,e:GetHandler(),1,0,0)
Duel.SetOperationInfo(0,CATEGORY_DESTROY,g,1,0,0)
local g=Duel.SelectTarget(tp,c50218325.filter,tp,LOCATION_ONFIELD,LOCATION_ONFIELD,1,1,e:GetHandler())
g:AddCard(c)
Duel.SetOperationInfo(0,CATEGORY_DESTROY,g,2,0,0)
end
function c50218325.operation(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
if c:IsRelateToEffect(e) and Duel.Destroy(c,REASON_EFFECT)>0 then
local tc=Duel.GetFirstTarget()
if tc:IsRelateToEffect(e) then
Duel.Destroy(tc,REASON_EFFECT)
end
local tc=Duel.GetFirstTarget()
if c:IsRelateToEffect(e) and tc:IsRelateToEffect(e) then
local g=Group.FromCards(c,tc)
Duel.Destroy(g,REASON_EFFECT)
end
end
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)
return e:GetHandler():IsSummonType(SUMMON_TYPE_RITUAL)
end
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
Duel.SetOperationInfo(0,CATEGORY_REMOVE,nil,0,1-tp,5,LOCATION_DECK)
if chk==0 then return Duel.GetDecktopGroup(1-tp,5):FilterCount(Card.IsAbleToRemove,nil)==5 end
Duel.SetOperationInfo(0,CATEGORY_REMOVE,nil,5,1-tp,LOCATION_DECK)
end
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)
if chk==0 then return g:FilterCount(Card.IsAbleToRemove,nil)==5 end
Duel.DisableShuffleCheck()
Duel.Remove(g,POS_FACEDOWN,REASON_EFFECT)
end
function c50218335.drtg(e,tp,eg,ep,ev,re,r,rp,chk)
......
......@@ -60,20 +60,20 @@ function c50218340.filter(c)
return c:IsFaceup()
end
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 chk==0 then return Duel.IsExistingTarget(c50218340.filter,tp,LOCATION_MZONE,LOCATION_MZONE,1,nil) end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_DESTROY)
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)
Duel.SetOperationInfo(0,CATEGORY_DESTROY,g,1,0,0)
g:AddCard(c)
Duel.SetOperationInfo(0,CATEGORY_DESTROY,g,2,0,0)
end
function c50218340.operation(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
if c:IsRelateToEffect(e) and Duel.Destroy(c,REASON_EFFECT)>0 then
local tc=Duel.GetFirstTarget()
if tc:IsRelateToEffect(e) then
Duel.Destroy(tc,REASON_EFFECT)
end
local tc=Duel.GetFirstTarget()
if c:IsRelateToEffect(e) and tc:IsRelateToEffect(e) then
local g=Group.FromCards(c,tc)
Duel.Destroy(g,REASON_EFFECT)
end
end
function c50218340.actcon(e,tp,eg,ep,ev,re,r,rp)
......
......@@ -6,12 +6,13 @@ function c71400034.initial_effect(c)
--link summon
local e1=Effect.CreateEffect(c)
e1:SetCategory(CATEGORY_SPECIAL_SUMMON)
e1:SetType(EFFECT_TYPE_QUICK_O)
e1:SetCode(EVENT_FREE_CHAIN)
e1:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_TRIGGER_O)
e1:SetCode(EVENT_CHAINING)
e1:SetRange(LOCATION_FZONE)
e1:SetProperty(EFFECT_FLAG_CARD_TARGET)
e1:SetProperty(EFFECT_FLAG_DELAY)
e1:SetDescription(aux.Stringid(71400034,0))
e1:SetCountLimit(1)
e1:SetCondition(c71400034.con1)
e1:SetTarget(c71400034.tg1)
e1:SetOperation(c71400034.op1)
e1:SetCost(c71400034.cost1)
......@@ -19,8 +20,9 @@ function c71400034.initial_effect(c)
--todeck
local e2=Effect.CreateEffect(c)
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:SetProperty(EFFECT_FLAG_DELAY)
e2:SetRange(LOCATION_FZONE)
e2:SetCountLimit(1)
e2:SetDescription(aux.Stringid(71400034,1))
......@@ -32,6 +34,9 @@ function c71400034.initial_effect(c)
--self to deck & activate field
yume.AddYumeFieldGlobal(c,71400034,2)
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)
return c:IsSetCard(0x714) and c:IsAbleToDeckOrExtraAsCost()
end
......@@ -65,7 +70,7 @@ function c71400034.filter2c(c)
return c:IsSetCard(0x7714) and c:IsType(TYPE_FIELD) and c:IsAbleToDeckAsCost()
end
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
function c71400034.filter2(c)
return c:IsSetCard(0x714) and c:IsType(TYPE_LINK) and c:IsFaceup()
......@@ -74,13 +79,13 @@ function c71400034.filter2b(c,tp)
return c:IsAbleToRemove(tp) and not c71400034.filter2(c)
end
function c71400034.tg2(e,tp,eg,ep,ev,re,r,rp,chk)
rc=re:GetHandler()
if chk==0 then return rc:IsRelateToEffect(re) and rc:IsAbleToDeck() end
Duel.SetOperationInfo(0,CATEGORY_TODECK,rc,1,0,0)
if chk==0 then return Duel.IsExistingMatchingCard(Card.IsAbleToDeck,tp,LOCATION_MZONE,LOCATION_MZONE,1,nil) end
local tdg=Duel.GetMatchingGroup(Card.IsAbleToDeck,tp,LOCATION_MZONE,LOCATION_MZONE,nil)
Duel.SetOperationInfo(0,CATEGORY_TODECK,tdg,1,0,0)
end
function c71400034.op2(e,tp,eg,ep,ev,re,r,rp)
local rc=re:GetHandler()
if rc:IsRelateToEffect(re) and Duel.SendtoDeck(rc,nil,2,REASON_EFFECT)==1 then
local tdg=Duel.SelectMatchingCard(tp,Card.IsAbleToDeck,tp,LOCATION_MZONE,LOCATION_MZONE,1,1,nil)
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 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
......
......@@ -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
yume.RegButterflyCostLimit(e,tp)
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)
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)
end
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()
if lct==0 then return end
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 Duel.IsPlayerAffectedByEffect(tp,59822133) then ft=1 end
local ct=math.min(g:GetClassCount(Card.GetAttribute),ft,lct)
......
......@@ -23,7 +23,7 @@ function cm.initial_effect(c)
e2:SetDescription(aux.Stringid(m,0))
e2:SetCategory(CATEGORY_SPECIAL_SUMMON)
e2:SetType(EFFECT_TYPE_IGNITION)
e2:SetCountLimit(1,m)
e2:SetCountLimit(1,m+500)
e2:SetRange(LOCATION_MZONE)
e2:SetCost(cm.cost)
e2:SetTarget(cm.target)
......@@ -70,9 +70,8 @@ function cm.operation(e,tp,eg,ep,ev,re,r,rp)
Duel.Hint(HINTMSG_SELECT,tp,HINTMSG_ATOHAND)
local sg=g:Select(tp,1,1,nil)
local tc=sg:GetFirst()
local code=tc:GetCode()
if Duel.SendtoHand(tc,tp,REASON_EFFECT) then
Duel.ConfirmCards(tc,1-tp)
Duel.ConfirmCards(1-tp,tc)
Duel.BreakEffect()
Duel.Recover(1-tp,2000,REASON_EFFECT)
local e1=Effect.CreateEffect(e:GetHandler())
......@@ -81,7 +80,7 @@ function cm.operation(e,tp,eg,ep,ev,re,r,rp)
e1:SetCode(EFFECT_CANNOT_ACTIVATE)
e1:SetTargetRange(1,0)
e1:SetValue(cm.aclimit)
e1:SetLabel(code)
e1:SetLabel(tc:GetCode())
e1:SetReset(RESET_PHASE+PHASE_END+RESET_SELF_TURN,2)
Duel.RegisterEffect(e1,tp)
end
......
......@@ -131,6 +131,7 @@ function cm.actop(e,tp,eg,ep,ev,re,r,rp)
e1:SetCode(EVENT_PHASE+PHASE_BATTLE_START)
e1:SetCategory(CATEGORY_RECOVER)
e1:SetCountLimit(1)
e1:SetReset(RESET_PHASE+PHASE_END)
e1:SetOperation(cm.recop)
Duel.RegisterEffect(e1,tp)
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
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