Commit 233e1fa6 authored by Tachibana's avatar Tachibana

得得得得得

parent e06b6355
Pipeline #13181 passed with stages
in 35 minutes and 24 seconds
No preview for this file type
...@@ -131,6 +131,7 @@ ...@@ -131,6 +131,7 @@
10401154 1 --梦之海 10401154 1 --梦之海
10401167 0 --毒草 10401167 0 --毒草
#107 #107
10700031 1 --剑之艺术 千羽荧华
10701011 0 --幽府溟域 酆都城 10701011 0 --幽府溟域 酆都城
10710001 1 --LOLI控的诱捕器 10710001 1 --LOLI控的诱捕器
#109 #109
...@@ -917,6 +918,7 @@ ...@@ -917,6 +918,7 @@
33500933 0 --D.A.L 四糸乃·闪耀 33500933 0 --D.A.L 四糸乃·闪耀
33501019 1 --壶宇融合 33501019 1 --壶宇融合
33501024 0 --高原的魔女大人 33501024 0 --高原的魔女大人
33501037 0 --书馆的荣誉魔女
33501077 0 --神秘大魔法师 33501077 0 --神秘大魔法师
33501086 0 --孤立无援 33501086 0 --孤立无援
33501091 0 --鸢之歌 33501091 0 --鸢之歌
...@@ -1177,6 +1179,7 @@ ...@@ -1177,6 +1179,7 @@
#537 #537
53700002 2 --引怒雷 53700002 2 --引怒雷
53705018 0 --超极幻海袭 丰之黄金 53705018 0 --超极幻海袭 丰之黄金
53707016 0 --清响 抄染扉
53716001 0 --断片折光 幻想匿国 53716001 0 --断片折光 幻想匿国
53716004 0 --沉默于断片的处决 53716004 0 --沉默于断片的处决
53716005 0 --幻想执行者 53716005 0 --幻想执行者
......
--六天理·灭尽灭相
function c12301666.initial_effect(c)
Duel.EnableGlobalFlag(GLOBALFLAG_DECK_REVERSE_CHECK)
c:SetUniqueOnField(1,1,aux.FilterBoolFunction(Card.IsCode,12301666),LOCATION_MZONE)
c:EnableReviveLimit()
--connot special summon
local e0=Effect.CreateEffect(c)
e0:SetType(EFFECT_TYPE_SINGLE)
e0:SetProperty(EFFECT_FLAG_CANNOT_DISABLE+EFFECT_FLAG_UNCOPYABLE)
e0:SetCode(EFFECT_SPSUMMON_CONDITION)
e0:SetValue(aux.FALSE)
c:RegisterEffect(e0)
--sp
local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(12301666,0))
e1:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_TRIGGER_F)
e1:SetCategory(CATEGORY_SPECIAL_SUMMON)
e1:SetRange(LOCATION_DECK)
e1:SetCode(EVENT_MOVE)
e1:SetCondition(c12301666.spcon)
e1:SetCost(c12301666.spcs)
e1:SetTarget(c12301666.sptg)
e1:SetOperation(c12301666.spop)
c:RegisterEffect(e1)
--todeck
local e3=Effect.CreateEffect(c)
e3:SetType(EFFECT_TYPE_IGNITION)
e3:SetCategory(CATEGORY_TODECK)
e3:SetRange(LOCATION_HAND+LOCATION_MZONE)
e3:SetTarget(c12301666.tdtg)
e3:SetOperation(c12301666.tdop)
c:RegisterEffect(e3)
--immune
local e4=Effect.CreateEffect(c)
e4:SetType(EFFECT_TYPE_SINGLE)
e4:SetCode(EFFECT_IMMUNE_EFFECT)
e4:SetProperty(EFFECT_FLAG_SINGLE_RANGE)
e4:SetRange(LOCATION_MZONE)
e4:SetValue(c12301666.efilter)
c:RegisterEffect(e4)
--damage
local e5=Effect.CreateEffect(c)
e5:SetType(EFFECT_TYPE_SINGLE)
e5:SetCode(EFFECT_BOTH_BATTLE_DAMAGE)
c:RegisterEffect(e5)
end
--sp
function c12301666.spcon(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
return eg:IsExists(Card.IsPreviousLocation,1,nil,LOCATION_DECK) and c:GetSequence()==0 and c:IsFaceup()
end
function c12301666.spcs(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(Card.IsReleasable,tp,LOCATION_ONFIELD,LOCATION_ONFIELD,1,nil) end
local g=Duel.GetMatchingGroup(Card.IsReleasable,tp,LOCATION_ONFIELD,LOCATION_ONFIELD,nil)
local count=Duel.Release(g,REASON_COST)
e:SetLabel(count)
end
function c12301666.sptg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return true end
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,e:GetHandler(),1,tp,e:GetHandler():GetLocation())
end
function c12301666.spop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
if not c:IsRelateToEffect(e) or Duel.GetLocationCount(tp,LOCATION_MZONE)==0 then return end
if Duel.SpecialSummonStep(c,0,tp,tp,true,false,POS_FACEUP)~=0 then
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetCode(EFFECT_SET_BASE_ATTACK)
e1:SetValue(e:GetLabel()*600)
e1:SetReset(RESET_EVENT+RESETS_STANDARD+RESET_DISABLE)
c:RegisterEffect(e1)
local e2=e1:Clone()
e2:SetCode(EFFECT_SET_BASE_DEFENSE)
c:RegisterEffect(e2)
Duel.SpecialSummonComplete()
c:CompleteProcedure()
end
end
--td
function c12301666.tdtg(e,tp,eg,ep,ev,re,r,rp,chk)
local c=e:GetHandler()
local gtd=Duel.GetMatchingGroup(Card.IsAbleToDeck,tp,LOCATION_HAND+LOCATION_ONFIELD,0,nil)
if chk==0 then return gtd:GetCount()>0 end
Duel.SetOperationInfo(0,CATEGORY_TODECK,gtd,gtd:GetCount(),tp,LOCATION_HAND+LOCATION_ONFIELD)
end
function c12301666.tdop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
if not c:IsRelateToEffect(e) then return end
local che=nil
local tg=Duel.GetMatchingGroup(Card.IsAbleToDeck,tp,LOCATION_HAND+LOCATION_ONFIELD,0,nil)
if Duel.SendtoDeck(tg,nil,1,REASON_EFFECT)==0 then return end
local dg=tg:Filter(Card.IsLocation,nil,LOCATION_DECK)
if dg:GetCount()==0 then return end
Duel.BreakEffect()
local tc=dg:RandomSelect(1-tp,1):GetFirst()
Duel.ShuffleDeck(tp)
Duel.MoveSequence(tc,1)
Duel.ConfirmCards(tp,tc)
Duel.ConfirmCards(1-tp,tc)
tc:ReverseInDeck()
local fid=c:GetFieldID()
tc:RegisterFlagEffect(12301666,RESET_EVENT+RESETS_STANDARD,0,1,fid)
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
e1:SetCode(EVENT_PHASE+PHASE_END)
e1:SetCountLimit(1)
e1:SetProperty(EFFECT_FLAG_IGNORE_IMMUNE)
e1:SetLabel(fid)
e1:SetLabelObject(tc)
e1:SetCondition(c12301666.descon)
e1:SetOperation(c12301666.desop)
Duel.RegisterEffect(e1,tp)
end
function c12301666.descon(e,tp,eg,ep,ev,re,r,rp)
e:Reset()
local tc=e:GetLabelObject()
if tc:GetFlagEffectLabel(12301666)~=e:GetLabel() then
e:Reset()
return false
else return true end
end
function c12301666.desop(e,tp,eg,ep,ev,re,r,rp)
Duel.Destroy(e:GetLabelObject(),REASON_EFFECT)
end
function c12301666.efilter(e,te)
return te:GetOwner()~=e:GetOwner()
end
\ No newline at end of file
This source diff could not be displayed because it is too large. You can view the blob instead.
This diff is collapsed.
--晶属念灵体-感应
local m=35700201
local cm=_G["c"..m]
if not pcall(function() require("expansions/script/c35700200") end) then require("script/c35700200") end
function cm.initial_effect(c)
local e1 = {mask_crystal.T(c,"H",{"S","SP"},"SS")}
local e2 = {mask_crystal.SR_R(c)}
local e3 = mask_crystal.SR_D(c)
local e4 = mask_crystal.T(c,"M","E","S","CTL",{2,m})
end
\ No newline at end of file
--晶属念灵体-探索
local m=35700202
local cm=_G["c"..m]
if not pcall(function() require("expansions/script/c35700200") end) then require("script/c35700200") end
function cm.initial_effect(c)
local e1 = mask_crystal.T(c,"H","E","SS")
local e2 = {mask_crystal.SR_R(c)}
local e3 = mask_crystal.SR_D(c)
local e4 = {mask_crystal.T(c,"M",{"S","SP"},"S","CTL",{2,m})}
end
\ No newline at end of file
--晶属念灵体-构联
local m=35700203
local cm=_G["c"..m]
if not pcall(function() require("expansions/script/c35700200") end) then require("script/c35700200") end
function cm.initial_effect(c)
local e1 = mask_crystal.SS_L(c,mask_crystal.SS_L_val)
local e2 = {mask_crystal.T(c,{"H","G"},{"S","SP","E"},"SS",mask_crystal.SS_Cos,1)}
local e3 = {mask_crystal.SR_R(c)}
local e4 = mask_crystal.SR_D(c)
local e5 = {mask_crystal.T(c,"M",{"A","E"},"S",{"CTL","TG","OP"},{{2,m},cm.tg,cm.op})}
end
function cm.tgf(c)
return c:IsSetCard(0xb72) and c:IsAbleToHand()
end
function cm.filter(c,tp)
return c:GetType()==0x20002 and c:GetActivateEffect():IsActivatable(tp)
end
function cm.tg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(cm.tgf,tp,LOCATION_DECK+LOCATION_GRAVE,0,1,nil) end
Duel.SetOperationInfo(0,CATEGORY_TOHAND,nil,1,tp,LOCATION_DECK)
end
function cm.op(e,tp,eg,ep,ev,re,r,rp)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_ATOHAND)
local tc=Duel.SelectMatchingCard(tp,cm.tgf,tp,LOCATION_DECK+LOCATION_GRAVE,0,1,1,nil):GetFirst()
if tc then
if cm.filter(tc,tp) and Duel.SelectYesNo(tp,aux.Stringid(m,0)) then
Duel.MoveToField(tc,tp,tp,LOCATION_SZONE,POS_FACEUP,true)
local te=tc:GetActivateEffect()
local tep=tc:GetControler()
local cost=te:GetCost()
if cost then cost(te,tep,eg,ep,ev,re,r,rp,1) end
else
Duel.SendtoHand(tc,nil,REASON_EFFECT)
Duel.ConfirmCards(1-tp,tc)
end
end
end
\ No newline at end of file
--晶属念灵体-孕育
local m=35700204
local cm=_G["c"..m]
if not pcall(function() require("expansions/script/c35700200") end) then require("script/c35700200") end
function cm.initial_effect(c)
local e1 = mask_crystal.SS_L(c,mask_crystal.SS_L_val)
local e2 = {mask_crystal.T(c,{"H","G"},{"S","SP","E"},"SS",mask_crystal.SS_Cos,4)}
local e3 = {mask_crystal.SR_R(c)}
local e4 = mask_crystal.SR_D(c,mask_crystal.Zero_Equip)
local e5 = mask_crystal.SR(c,EFFECT_INDESTRUCTABLE_EFFECT)
local e6 = {mask_crystal.SR_V(c)}
local e7 = mask_crystal.Q(c,LOCATION_MZONE,nil,cm.con,"EOT","CTL",1)
end
function cm.con(e,tp,eg,ep,ev,re,r,rp)
local ec=e:GetLabelObject()
return (ec==nil or ec:GetFlagEffect(35700200)==0) and Duel.GetTurnPlayer()~=tp
end
\ No newline at end of file
--晶属念灵体-降临
local m=35700205
local cm=_G["c"..m]
if not pcall(function() require("expansions/script/c35700200") end) then require("script/c35700200") end
function cm.initial_effect(c)
Auxiliary.AddFusionProcMix(c,false,true,aux.FilterBoolFunction(Card.IsFusionCode,35700204),cm.fuf)
local e1 = mask_crystal.SS_L(c,mask_crystal.SS_L_EX_val)
local e2 = {mask_crystal.SR_R(c)}
local e3 = mask_crystal.SR_D(c,mask_crystal.Zero_Equip)
local e4 = mask_crystal.SR(c,EFFECT_INDESTRUCTABLE_EFFECT,mask_crystal.Zero_Equip)
local e5 = {mask_crystal.SR_V(c)}
local e6 = mask_crystal.Q(c,"M",nil,cm.con6,"EOT","CTL",1)
local e7 = mask_crystal.SR_D_R(c,cm.op7,cm.tgf7,REASON_EFFECT)
end
cm.material_setcode=0xb72
--fu
function cm.fuf(c,fc)
return c:IsType(TYPE_EQUIP) and c:GetOriginalType()&TYPE_MONSTER~=0
end
--e6
function cm.con6(e,tp,eg,ep,ev,re,r,rp)
local ec=e:GetLabelObject()
return (ec==nil or ec:GetFlagEffect(m)==0)
end
--e7
function cm.tgf7(c,e)
return c:IsDestructable(e)
end
function cm.op7(e,tp,eg,ep,ev,re,r,rp)
local g=e:GetLabelObject()
Duel.Destroy(g,REASON_EFFECT+REASON_REPLACE)
end
\ No newline at end of file
--晶属念灵体-绝对
local m=35700206
local cm=_G["c"..m]
if not pcall(function() require("expansions/script/c35700200") end) then require("script/c35700200") end
function cm.initial_effect(c)
Auxiliary.AddFusionProcMix(c,false,true,aux.FilterBoolFunction(Card.IsFusionCode,35700205),aux.FilterBoolFunction(Card.IsFusionSetCard,0xb72),cm.fuf)
local e1 = mask_crystal.SS_L(c,mask_crystal.SS_L_EX_val)
local e2 = {mask_crystal.SR_R(c)}
local e3 = mask_crystal.SR_D(c)
local e4 = mask_crystal.SR(c,EFFECT_INDESTRUCTABLE_EFFECT,LOCATION_MZONE,nil,1)
local e5 = {mask_crystal.SR_V(c)}
local e6 = mask_crystal.SR_D_R(c,cm.op6,cm.tgf6)
local e7 = mask_crystal.Q(c,"M",nil,nil,"EOT","CTL",1)
local e8 = {mask_crystal.T(c,"M",{"S","SP"},"EA","COS",cm.cos8)}
end
cm.material_setcode=0xb72
--fu
function cm.fuf(c,fc)
return c:IsType(TYPE_EQUIP) and c:GetOriginalType()&TYPE_MONSTER~=0
end
--e6
function cm.tgf6(c,e)
return c:IsAbleToGrave()
end
function cm.op6(e,tp,eg,ep,ev,re,r,rp)
local g=e:GetLabelObject()
Duel.SendtoGrave(g,REASON_EFFECT+REASON_REPLACE)
end
--e8
function cm.cos8(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return e:GetHandler():GetFlagEffect(m)<1 end
e:GetHandler():RegisterFlagEffect(m,RESET_EVENT+RESETS_STANDARD+RESET_PHASE+PHASE_END,0,1)
end
\ No newline at end of file
--晶属念灵体-神恩
local m=35700207
local cm=_G["c"..m]
if not pcall(function() require("expansions/script/c35700200") end) then require("script/c35700200") end
function cm.initial_effect(c)
aux.AddFusionProcCodeFunRep(c,35700206,cm.fuf,1,63,true,true)
local e1 = mask_crystal.SS_L(c,mask_crystal.SS_L_EX_val)
local e2 = {mask_crystal.SR_R(c)}
local e3 = mask_crystal.SR_D(c)
local e4 = mask_crystal.SR(c,EFFECT_IMMUNE_EFFECT,"M",nil,cm.val4)
local e5 = {mask_crystal.SR_V(c)}
local e6 = mask_crystal.SR_D_R(c,cm.op6,cm.tgf6)
local e7 = {mask_crystal.T(c,"M",{"S","SP","E"},"EA","COS",cm.cos7)}
local e8 = mask_crystal.CRE(c,{"TYP","COD",mask_crystal.tg["EO"]},{EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_O,EVENT_SPSUMMON_SUCCESS})
local e9 = mask_crystal.Q(c,"M",nil,nil,"EO","CTL",1)
local e10= mask_crystal.CRE(c,{"DES","TYP","CAT","PRO","RAN","CTL","TG","OP"},
{aux.Stringid(m,1),EFFECT_TYPE_IGNITION,CATEGORY_SPECIAL_SUMMON,EFFECT_FLAG_CARD_TARGET,LOCATION_MZONE,1,cm.tg10,cm.op10})
end
cm.material_setcode=0xb72
--fu
function cm.fuf_filter21(c)
return c:IsType(TYPE_EQUIP) and c:GetOriginalType()&TYPE_MONSTER~=0
end
function cm.fuf_filter1(c)
return not ((c:IsType(TYPE_EQUIP) and c:GetOriginalType()&TYPE_MONSTER~=0) or (c:IsType(TYPE_MONSTER) and c:IsFusionSetCard(0xb72)))
end
function cm.fuf_filter2(g)
local fg=g:Filter(Card.IsType,nil,TYPE_MONSTER):Filter(Card.IsFusionSetCard,nil,0xb72)
local sg=g:Filter(cm.fuf_filter21,nil)
local tol=0
local tc=sg:GetFirst()
while tc do
tc=Duel.CreateToken(0,tc:GetCode())
tol=tol+(tc:IsType(TYPE_XYZ) and tc:GetRank() or (tc:IsType(TYPE_LINK) and tc:GetLink() or tc:GetLevel()))
tc=sg:GetNext()
end
return fg:GetSum(Card.GetLevel)>=4 and tol>=12 and (#fg + #sg == #g)
end
function cm.fuf(c,fc,sub,mg,sg)
if not sg then return true end
return not sg:IsExists(cm.fuf_filter1,1,nil) and sg:CheckSubGroup(cm.fuf_filter2,1,99)
end
--e4
function cm.val4(e,te)
return te:GetOwner()~=e:GetOwner()
end
--e6
function cm.tgf6(c,e)
return c:IsAbleToRemove()
end
function cm.op6(e,tp,eg,ep,ev,re,r,rp)
local g=e:GetLabelObject()
Duel.Remove(g,POS_FACEDOWN,REASON_EFFECT+REASON_REPLACE)
end
--e7
function cm.cos7(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return e:GetHandler():GetFlagEffect(m)<1 end
e:GetHandler():RegisterFlagEffect(m,RESET_EVENT+RESETS_STANDARD+RESET_PHASE+PHASE_END,0,1)
end
--e10
function cm.tgf10(c,e,tp,g)
if c:IsFacedown() or c:GetOriginalType()&TYPE_MONSTER==0 then return end
return c:IsCanBeSpecialSummoned(e,0,tp,false,false) and Group.Equal(Group.__band(g,c),Group.FromCards(c))
end
function cm.tg10(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
local g=e:GetHandler():GetEquipGroup()
if chkc then return cm.tgf10(chkc,e,tp,g) end
if chk==0 then return Duel.IsExistingTarget(cm.tgf10,tp,LOCATION_SZONE,LOCATION_SZONE,1,nil,e,tp,g) and Duel.GetLocationCount(tp,LOCATION_MZONE)>0 end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON)
local g=Duel.SelectTarget(tp,cm.tgf10,tp,LOCATION_SZONE,LOCATION_SZONE,1,1,nil,e,tp,g)
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,1,0,0)
Duel.SetChainLimit(mask_crystal.Chain_Limit_Filter)
end
function cm.op10(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
if Duel.GetLocationCount(tp,LOCATION_MZONE)<=0 then return end
local tc=Duel.GetFirstTarget()
if not tc:IsRelateToEffect(e) then return end
if tc and Duel.SpecialSummon(tc,0,tp,tp,false,false,POS_FACEUP)>0 then
local e1=mask_crystal.CRE(c,{"TYP","COD","PRO","RES","VAL"},
{EFFECT_TYPE_SINGLE,EFFECT_LEAVE_FIELD_REDIRECT,EFFECT_FLAG_CANNOT_DISABLE,RESET_EVENT+RESETS_REDIRECT,1,LOCATION_REMOVED},true)
tc:RegisterEffect(e1)
end
end
\ No newline at end of file
--晶属念灵体-调配
local m=35700208
local cm=_G["c"..m]
if not pcall(function() require("expansions/script/c35700200") end) then require("script/c35700200") end
function cm.initial_effect(c)
local e1 = mask_crystal.SS_L(c,mask_crystal.SS_L_val)
local e2 = {mask_crystal.T(c,{"H","G"},{"S","SP","E"},"SS",mask_crystal.SS_Cos,1)}
local e3 = {mask_crystal.SR_R(c)}
local e4 = mask_crystal.SR_D(c)
local e5 = {mask_crystal.Trigger(c,"M",{"A","E"},"EO",{"CTL","TG","OP"},{{2,m},cm.tg,cm.op})}
local e6 = mask_crystal.CRE(c,{"TYP","COD","RAN","TRAN","TG","VAL"},{EFFECT_TYPE_FIELD,EFFECT_INDESTRUCTABLE_EFFECT,"M",{LOCATION_SZONE,0},1,cm.indtg,cm.indval})
end
--e5
function cm.tgf(c)
return c:IsSetCard(0xb72) and c:IsAbleToHand()
end
function cm.filter(c,tp)
return c:GetType()==0x20002 and c:GetActivateEffect():IsActivatable(tp)
end
function cm.tg(e,tp,eg,ep,ev,re,r,rp,chk)
local c=e:GetHandler()
if chk==0 then return Duel.GetLocationCount(tp,LOCATION_SZONE)>0 and Duel.IsExistingMatchingCard(Card.IsType,tp,LOCATION_GRAVE,LOCATION_GRAVE,1,nil,TYPE_MONSTER) end
Duel.SetOperationInfo(0,CATEGORY_EQUIP,nil,1,tp,LOCATION_GRAVE)
end
function cm.op(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
if Duel.GetLocationCount(tp,LOCATION_SZONE)<=0 then return end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_EQUIP)
local tc=Duel.SelectMatchingCard(tp,Card.IsType,tp,LOCATION_GRAVE,LOCATION_GRAVE,1,1,nil,TYPE_MONSTER):GetFirst()
if c:IsFacedown() or not c:IsRelateToEffect(e) then return end
if tc then
if not Duel.Equip(tp,tc,c) then return end
local e1 = mask_crystal.CRE(tc,{"TYP","COD","VAL","RES"},{EFFECT_TYPE_EQUIP,EFFECT_UPDATE_ATTACK,tc:GetBaseAttack(),RESET_EVENT+RESETS_STANDARD})
mask_crystal.Equip_Limit(c,tc)
end
end
--e6
function cm.indtg(e,c)
return mask_crystal.Origin_Monster(c)
end
function cm.indval(e,te)
return te:GetHandler():IsType(TYPE_EFFECT+TYPE_SPELL)
end
\ No newline at end of file
--晶属念灵体的粘附衍生
local m=35700210
local cm=_G["c"..m]
if not pcall(function() require("expansions/script/c35700200") end) then require("script/c35700200") end
mask_crystal=mask_crystal or {}
local mc=mask_crystal
function mc.CS(c,code)
--「」在自己场上只能有1张表侧表示存在。这张卡不会被这张卡以外的卡的效果破坏,回合结束时,自己场上没有「晶属念灵体」怪兽的场合这张卡破坏。
c:SetUniqueOnField(1,1,aux.FilterBoolFunction(Card.IsCode,code),LOCATION_SZONE)
aux.AddCodeList(code)
local e1 = mc.CRE(c,{"TYP","COD"},{EFFECT_TYPE_ACTIVATE,EVENT_FREE_CHAIN})
local e2 = mc.SR(c,EFFECT_INDESTRUCTABLE_EFFECT,"S",nil,mc.Indes_val)
local e3 = mc.SR(c,EFFECT_SELF_DESTROY,"S",mc.DesS_con,nil)
return e1,e2,e3
end
function mc.Q_S(c)
--自己·对方回合1次,可以发动。场上的这张卡返回卡组,从卡组选1张「晶属念灵体」魔法卡加入手卡。
return mc.Q(c,"S",nil,nil,"DS","CTL",1)
end
function mc.QF(c)
--每次自己场上的「晶属念灵体」怪兽被战斗·效果破坏的场合发动,对方场上的表侧表示怪兽全部放置1个念灵体指示物。
return mc.CRE(c,{"TYP","COD","CAT","PRO","RAN","CON","TG","OP"},
{EFFECT_TYPE_FIELD+EFFECT_TYPE_TRIGGER_F,EVENT_DESTROYED,CATEGORY_COUNTER,EFFECT_FLAG_DELAY,"S",mc.QF_con,mc.QF_tg,mc.QF_op})
end
---------------------------------------------------------------support function
function mc.Indes_val(e,re,tp)
return re:GetHandler()~=e:GetOwner()
end
function mc.DesS_con_f(c)
return c:IsFaceup() and c:IsSetCard(0xb72)
end
function mc.DesS_con(e)
return not Duel.IsExistingMatchingCard(mc.DesS_con_f,e:GetHandlerPlayer(),LOCATION_MZONE,0,1,nil) and Duel.GetCurrentPhase()==PHASE_END
end
function mc.QF_con_f(c,tp)
return c:IsPreviousLocation(LOCATION_MZONE) and c:IsPreviousControler(tp) and c:IsReason(REASON_BATTLE+REASON_EFFECT) and c:IsSetCard(0xb72)
end
function mc.QF_con(e,tp,eg,ep,ev,re,r,rp)
return eg:IsExists(mc.QF_con_f,1,nil,tp)
end
function mc.QF_tg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(Card.IsFaceup,tp,0,LOCATION_MZONE,1,nil) end
local g=Duel.GetMatchingGroup(Card.IsFaceup,tp,0,LOCATION_MZONE,nil)
Duel.SetOperationInfo(0,CATEGORY_COUNTER,g,1,0,0)
end
function mc.QF_op(e,tp,eg,ep,ev,re,r,rp)
local g=Duel.GetMatchingGroup(Card.IsFaceup,tp,0,LOCATION_MZONE,nil)
if #g==0 then return end
local tc=g:GetFirst()
for tc in aux.Next(g) do
tc:AddCounter(0x1b72,1)
end
end
---------------------------------------------------------------
if not cm then return end
function cm.initial_effect(c)
local e1 = {mc.CS(c,m)}
local e2 = mc.Q_S(c)
local e3 = mc.QF(c)
local e4 = mc.CRE(c,{"CAT","TYP","COD","PRO","RAN","CTL","CON","TG","OP"},
{CATEGORY_SPECIAL_SUMMON,EFFECT_TYPE_QUICK_O,EVENT_FREE_CHAIN,EFFECT_FLAG_CARD_TARGET,"S",{2,m},cm.con4,cm.tg4,cm.op4}
end
--e4
function cm.conf4(c)
return c:GetCounter(0x1b72)>=3
end
function cm.con4(e,tp,eg,ep,ev,re,r,rp)
return Duel.IsExistingMatchingCard(cm.conf4,tp,LOCATION_MZONE,LOCATION_MZONE,1,nil)
end
function cm.tgf4(c,e,tp)
return c:IsSetCard(0xb72) and c:IsCanBeSpecialSummoned(e,0,tp,true,false)
end
function cm.tg4(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
local count=Duel.GetMatchingGroupCount(cm.conf4,tp,LOCATION_MZONE,LOCATION_MZONE,nil)
if chkc then return chkc:IsLocation(LOCATION_GRAVE) and cm.tgf4(chkc,e,tp) end
if chk==0 then return Duel.GetLocationCount(tp,LOCATION_MZONE)>0 and Duel.GetLocationCount(tp,LOCATION_SZONE)>=count
and Duel.IsExistingTarget(cm.tgf4,tp,LOCATION_GRAVE,0,1,nil,e,tp) end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON)
local g=Duel.SelectTarget(tp,cm.tgf4,tp,LOCATION_GRAVE,0,1,1,nil,e,tp)
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,g,1,0,0)
Duel.SetOperationInfo(0,CATEGORY_EQUIP,nil,count,tp,0)
end
function cm.op4(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
local tc=Duel.GetFirstTarget()
if not (Duel.GetLocationCount(tp,LOCATION_MZONE)>0) then return end
local g=Duel.GetMatchingGroup(cm.conf4,tp,LOCATION_MZONE,LOCATION_MZONE,nil)
if tc:IsRelateToEffect(e) and Duel.SpecialSummon(tc,0,tp,tp,true,false,POS_FACEUP)>0 and #g>0 then
g=g:Select(tp,1,#g,nil)
local sc=g:GetFirst()
while sc and Duel.GetLocationCount(tp,LOCATION_SZONE)>0 do
if Duel.Equip(tp,sc,tc) then
mask_crystal.Equip_Limit(tc,sc)
end
sc=g:GetNext()
end
end
end
\ No newline at end of file
--晶属念灵体的融合吞噬
local m=35700211
local cm=_G["c"..m]
if not pcall(function() require("expansions/script/c35700200") end) then require("script/c35700200") end
function cm.initial_effect(c)
local e1=Effect.CreateEffect(c)
e1:SetCategory(CATEGORY_SPECIAL_SUMMON+CATEGORY_FUSION_SUMMON)
e1:SetType(EFFECT_TYPE_ACTIVATE)
e1:SetCode(EVENT_FREE_CHAIN)
e1:SetCondition(cm.con)
e1:SetTarget(cm.target)
e1:SetOperation(cm.activate)
c:RegisterEffect(e1)
local e2 = {mask_crystal.T(c,"G",{"S","SP"},"S",{"CTL","COS","TG","OP"},{{1,m},cm.cos2,cm.tg2,cm.op2})}
end
--e1
function cm.con(e,tp,eg,ep,ev,re,r,rp)
return Duel.GetTurnPlayer()==1-tp
end
function cm.exfilter1(c,e)
return cm.filter0(c) and c:IsCanBeFusionMaterial() and c:IsAbleToGrave() and not c:IsImmuneToEffect(e)
end
function cm.filter0(c)
return c:IsFaceup() and c:GetOriginalType()&TYPE_MONSTER==TYPE_MONSTER and c:IsType(TYPE_EQUIP)
end
function cm.filter1(c,e)
return c:IsAbleToGrave() and not c:IsImmuneToEffect(e)
end
function cm.filter2(c,e,tp,m,f,chkf)
return c:IsType(TYPE_FUSION) and aux.IsMaterialListSetCard(c,0xb72) and (not f or f(c))
and c:IsCanBeSpecialSummoned(e,SUMMON_TYPE_FUSION,tp,false,false) and c:CheckFusionMaterial(m,nil,chkf)
end
function cm.fcheck(tp,sg,fc)
return sg:IsExists(Card.IsFusionSetCard,1,nil,0xb72)
end
function cm.target(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then
local chkf=tp
local mg1=Duel.GetFusionMaterial(tp):Filter(Card.IsAbleToGrave,nil):Filter(Card.IsOnField,nil)
if Duel.IsExistingMatchingCard(cm.filter0,tp,LOCATION_SZONE,0,1,nil) then
local sg=Duel.GetMatchingGroup(cm.filter0,tp,LOCATION_SZONE,0,nil)
if sg:GetCount()>0 then
mg1:Merge(sg)
aux.FCheckAdditional=cm.fcheck
end
end
local res=Duel.IsExistingMatchingCard(cm.filter2,tp,LOCATION_EXTRA,0,1,nil,e,tp,mg1,nil,chkf)
aux.FCheckAdditional=nil
if not res then
local ce=Duel.GetChainMaterial(tp)
if ce~=nil then
local fgroup=ce:GetTarget()
local mg2=fgroup(ce,e,tp)
local mf=ce:GetValue()
res=Duel.IsExistingMatchingCard(cm.filter2,tp,LOCATION_EXTRA,0,1,nil,e,tp,mg2,mf,chkf)
end
end
return res
end
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,1,tp,LOCATION_EXTRA)
end
function cm.activate(e,tp,eg,ep,ev,re,r,rp)
local chkf=tp
local mg1=Duel.GetFusionMaterial(tp):Filter(cm.filter1,nil,e):Filter(Card.IsOnField,nil)
if Duel.IsExistingMatchingCard(cm.filter0,tp,LOCATION_SZONE,0,1,nil) then
local sg=Duel.GetMatchingGroup(cm.exfilter1,tp,LOCATION_SZONE,0,nil,e)
if sg:GetCount()>0 then
mg1:Merge(sg)
exmat=true
end
end
if exmat then
aux.FCheckAdditional=cm.fcheck
end
local sg1=Duel.GetMatchingGroup(cm.filter2,tp,LOCATION_EXTRA,0,nil,e,tp,mg1,nil,chkf)
aux.FCheckAdditional=nil
local mg2=nil
local sg2=nil
local ce=Duel.GetChainMaterial(tp)
if ce~=nil then
local fgroup=ce:GetTarget()
mg2=fgroup(ce,e,tp)
local mf=ce:GetValue()
sg2=Duel.GetMatchingGroup(cm.filter2,tp,LOCATION_EXTRA,0,nil,e,tp,mg2,mf,chkf)
end
if sg1:GetCount()>0 or (sg2~=nil and sg2:GetCount()>0) then
local sg=sg1:Clone()
if sg2 then sg:Merge(sg2) end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON)
local tg=sg:Select(tp,1,1,nil)
local tc=tg:GetFirst()
mg1:RemoveCard(tc)
if sg1:IsContains(tc) and (sg2==nil or not sg2:IsContains(tc) or not Duel.SelectYesNo(tp,ce:GetDescription())) then
if exmat then
aux.FCheckAdditional=cm.fcheck
end
local mat1=Duel.SelectFusionMaterial(tp,tc,mg1,nil,chkf)
aux.FCheckAdditional=nil
tc:SetMaterial(mat1)
local rg=mat1:Filter(Card.IsLocation,nil,LOCATION_SZONE)
mat1:Sub(rg)
Duel.SendtoGrave(mat1,REASON_EFFECT+REASON_MATERIAL+REASON_FUSION)
Duel.SendtoGrave(rg,REASON_EFFECT+REASON_MATERIAL+REASON_FUSION)
Duel.BreakEffect()
Duel.SpecialSummon(tc,SUMMON_TYPE_FUSION,tp,tp,false,false,POS_FACEUP)
else
local mat2=Duel.SelectFusionMaterial(tp,tc,mg2,nil,chkf)
local fop=ce:GetOperation()
fop(ce,e,tp,tc,mat2)
end
tc:CompleteProcedure()
end
end
--e2
function cm.cos2(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return e:GetHandler():IsAbleToDeckAsCost() end
Duel.SendtoDeck(e:GetHandler(),nil,2,REASON_COST)
end
function cm.tgf2(c,e,tp)
return c:IsSetCard(0xb72) and c:IsCanBeSpecialSummoned(e,0,tp,true,false) and c:IsType(TYPE_MONSTER)
end
function cm.tg2(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.GetLocationCount(tp,LOCATION_MZONE)>0
and Duel.IsExistingMatchingCard(cm.tgf2,tp,LOCATION_DECK+LOCATION_GRAVE+LOCATION_HAND,0,1,nil,e,tp) end
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,1,tp,LOCATION_DECK+LOCATION_GRAVE+LOCATION_HAND)
end
function cm.op2(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.tgf2),tp,LOCATION_DECK+LOCATION_GRAVE+LOCATION_HAND,0,1,1,nil,e,tp):GetFirst()
if tc then
Duel.SpecialSummon(tc,0,tp,tp,true,false,POS_FACEUP)
end
end
\ No newline at end of file
--晶属念灵体的融合缠结
local m=35700212
local cm=_G["c"..m]
if not pcall(function() require("expansions/script/c35700200") end) then require("script/c35700200") end
function cm.initial_effect(c)
local e1=Effect.CreateEffect(c)
e1:SetCategory(CATEGORY_SPECIAL_SUMMON+CATEGORY_FUSION_SUMMON)
e1:SetType(EFFECT_TYPE_ACTIVATE)
mask_crystal.con["S"](e1)
e1:SetCountLimit(1,m)
e1:SetTarget(cm.target)
e1:SetOperation(cm.activate)
c:RegisterEffect(e1)
local e2=e1:Clone()
mask_crystal.con["SP"](e2)
c:RegisterEffect(e2)
local e3=e1:Clone()
mask_crystal.con["E"](e3)
c:RegisterEffect(e3)
end
--e1
function cm.exfilter1(c,e)
return cm.filter0(c) and c:IsCanBeFusionMaterial() and c:IsAbleToGrave() and not c:IsImmuneToEffect(e)
end
function cm.filter0(c)
return c:IsFaceup() and c:GetOriginalType()&TYPE_MONSTER==TYPE_MONSTER and c:IsType(TYPE_EQUIP)
end
function cm.filter1(c,e)
return c:IsAbleToGrave() and not c:IsImmuneToEffect(e)
end
function cm.filter2(c,e,tp,m,f,chkf)
return c:IsType(TYPE_FUSION) and aux.IsMaterialListSetCard(c,0xb72) and (not f or f(c))
and c:IsCanBeSpecialSummoned(e,SUMMON_TYPE_FUSION,tp,true,false) and c:CheckFusionMaterial(m,nil,chkf)
end
function cm.fcheck(tp,sg,fc)
return sg:IsExists(Card.IsFusionSetCard,1,nil,0xb72)
end
function cm.target(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then
local chkf=tp
local mg1=Duel.GetFusionMaterial(tp):Filter(Card.IsOnField,nil)
if Duel.IsExistingMatchingCard(cm.filter0,tp,LOCATION_SZONE,0,1,nil) then
local sg=Duel.GetMatchingGroup(cm.filter0,tp,LOCATION_SZONE,0,nil)
if sg:GetCount()>0 then
mg1:Merge(sg)
aux.FCheckAdditional=cm.fcheck
end
end
local res=Duel.IsExistingMatchingCard(cm.filter2,tp,LOCATION_EXTRA,0,1,nil,e,tp,mg1,nil,chkf)
aux.FCheckAdditional=nil
if not res then
local ce=Duel.GetChainMaterial(tp)
if ce~=nil then
local fgroup=ce:GetTarget()
local mg2=fgroup(ce,e,tp)
local mf=ce:GetValue()
res=Duel.IsExistingMatchingCard(cm.filter2,tp,LOCATION_EXTRA,0,1,nil,e,tp,mg2,mf,chkf)
end
end
return res
end
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,1,tp,LOCATION_EXTRA)
end
function cm.activate(e,tp,eg,ep,ev,re,r,rp)
local chkf=tp
local mg1=Duel.GetFusionMaterial(tp):Filter(Card.IsOnField,nil):Filter(cm.filter1,nil,e)
if Duel.IsExistingMatchingCard(cm.filter0,tp,LOCATION_SZONE,0,1,nil) then
local sg=Duel.GetMatchingGroup(cm.exfilter1,tp,LOCATION_SZONE,0,nil,e)
if sg:GetCount()>0 then
mg1:Merge(sg)
exmat=true
end
end
if exmat then
aux.FCheckAdditional=cm.fcheck
end
local sg1=Duel.GetMatchingGroup(cm.filter2,tp,LOCATION_EXTRA,0,nil,e,tp,mg1,nil,chkf)
aux.FCheckAdditional=nil
local mg2=nil
local sg2=nil
local ce=Duel.GetChainMaterial(tp)
if ce~=nil then
local fgroup=ce:GetTarget()
mg2=fgroup(ce,e,tp)
local mf=ce:GetValue()
sg2=Duel.GetMatchingGroup(cm.filter2,tp,LOCATION_EXTRA,0,nil,e,tp,mg2,mf,chkf)
end
if sg1:GetCount()>0 or (sg2~=nil and sg2:GetCount()>0) then
local sg=sg1:Clone()
if sg2 then sg:Merge(sg2) end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON)
local tg=sg:Select(tp,1,1,nil)
local tc=tg:GetFirst()
mg1:RemoveCard(tc)
if sg1:IsContains(tc) and (sg2==nil or not sg2:IsContains(tc) or not Duel.SelectYesNo(tp,ce:GetDescription())) then
if exmat then
aux.FCheckAdditional=cm.fcheck
end
local mat1=Duel.SelectFusionMaterial(tp,tc,mg1,nil,chkf)
aux.FCheckAdditional=nil
tc:SetMaterial(mat1)
local rg=mat1:Filter(Card.IsLocation,nil,LOCATION_SZONE)
mat1:Sub(rg)
Duel.SendtoGrave(mat1,REASON_EFFECT+REASON_MATERIAL+REASON_FUSION)
Duel.SendtoGrave(rg,REASON_EFFECT+REASON_MATERIAL+REASON_FUSION)
Duel.BreakEffect()
Duel.SpecialSummon(tc,SUMMON_TYPE_FUSION,tp,tp,true,false,POS_FACEUP)
else
local mat2=Duel.SelectFusionMaterial(tp,tc,mg2,nil,chkf)
local fop=ce:GetOperation()
fop(ce,e,tp,tc,mat2)
end
tc:CompleteProcedure()
if Duel.IsExistingMatchingCard(nil,tp,LOCATION_MZONE,LOCATION_MZONE,1,tc) and Duel.GetLocationCount(tp,LOCATION_SZONE)>0
and Duel.SelectYesNo(tp,aux.Stringid(m,0)) then
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_EQUIP)
local sc=Duel.SelectMatchingCard(tp,nil,tp,LOCATION_MZONE,LOCATION_MZONE,1,1,tc):GetFirst()
if sc then
if not Duel.Equip(tp,sc,tc) then return end
mask_crystal.Equip_Limit(tc,sc)
end
end
end
end
\ No newline at end of file
--晶属念灵体的增乱爆发
local m=35700213
local cm=_G["c"..m]
if not pcall(function() require("expansions/script/c35700210") end) then require("script/c35700210") end
function cm.initial_effect(c)
local e1 = {mask_crystal.CS(c,m)}
local e2 = mask_crystal.Q_S(c)
local e3=Effect.CreateEffect(c)
e3:SetCategory(CATEGORY_SPECIAL_SUMMON)
e3:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_TRIGGER_O)
mask_crystal.con["SP"](e3)
e3:SetCountLimit(2,m)
e3:SetRange(LOCATION_SZONE)
e3:SetCondition(cm.con3)
e3:SetTarget(cm.tg3)
e3:SetOperation(cm.op3)
c:RegisterEffect(e3)
end
--e3
function cm.conf3(c,tp)
return c:IsSetCard(0xb72) and c:IsLevelAbove(4) and c:IsControler(tp) and c:IsType(TYPE_MONSTER)
end
function cm.con3(e,tp,eg,ep,ev,re,r,rp)
return eg:IsExists(cm.conf3,1,nil,tp)
end
function cm.tgf3(c,e,tp)
return c:IsSetCard(0xb72) and c:IsCanBeSpecialSummoned(e,0,tp,true,true) and c:IsLevelBelow(2) and c:IsType(TYPE_MONSTER)
end
function cm.tg3(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.GetLocationCount(tp,LOCATION_MZONE)>0 and Duel.IsExistingMatchingCard(cm.tgf3,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.op3(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.tgf3),tp,LOCATION_DECK+LOCATION_GRAVE,0,1,1,nil,e,tp):GetFirst()
if tc then
Duel.SpecialSummon(tc,0,tp,tp,true,false,POS_FACEUP)
end
end
\ No newline at end of file
--晶属念灵体的增乱爆发
local m=35700214
local cm=_G["c"..m]
if not pcall(function() require("expansions/script/c35700200") end) then require("script/c35700200") end
function cm.initial_effect(c)
c:SetUniqueOnField(1,1,aux.FilterBoolFunction(Card.IsCode,m),LOCATION_SZONE)
local e0=Effect.CreateEffect(c)
e0:SetType(EFFECT_TYPE_ACTIVATE)
e0:SetCode(EVENT_FREE_CHAIN)
c:RegisterEffect(e0)
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetCode(EFFECT_INDESTRUCTABLE_EFFECT)
e1:SetProperty(EFFECT_FLAG_SINGLE_RANGE)
e1:SetRange(LOCATION_SZONE)
e1:SetValue(cm.val1)
c:RegisterEffect(e1)
local e2=Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_SINGLE)
e2:SetProperty(EFFECT_FLAG_SINGLE_RANGE)
e2:SetRange(LOCATION_SZONE)
e2:SetCode(EFFECT_SELF_DESTROY)
e2:SetCondition(cm.con2)
c:RegisterEffect(e2)
local e3=Effect.CreateEffect(c)
e3:SetCategory(CATEGORY_SPECIAL_SUMMON)
e3:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_TRIGGER_O)
e3:SetCode(EVENT_SPSUMMON_SUCCESS)
e3:SetProperty(EFFECT_FLAG_DELAY)
e3:SetCountLimit(2,m)
e3:SetRange(LOCATION_SZONE)
e3:SetCondition(cm.con3)
e3:SetTarget(cm.tg3)
e3:SetOperation(cm.op3)
c:RegisterEffect(e3)
end
--e1
function cm.val1(e,re,tp)
return re:GetHandler()~=e:GetOwner()
end
--e2
function cm.conf2(c)
return c:IsFaceup() and c:IsSetCard(0xb72)
end
function cm.con2(e)
return not Duel.IsExistingMatchingCard(cm.conf2,e:GetHandlerPlayer(),LOCATION_MZONE,0,1,nil) and Duel.GetCurrentPhase()==PHASE_END
end
--e3
function cm.conf3(c,tp)
return c:IsSetCard(0xb72) and c:IsLevelAbove(8) and c:IsControler(tp) and c:IsType(TYPE_MONSTER)
end
function cm.con3(e,tp,eg,ep,ev,re,r,rp)
return eg:IsExists(cm.conf3,1,nil,tp)
end
function cm.tgf3(c,e,tp)
return c:IsSetCard(0xb72) and c:IsCanBeSpecialSummoned(e,0,tp,true,true) and c:IsLevelBelow(2) and c:IsType(TYPE_MONSTER)
end
function cm.tg3(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.GetLocationCount(tp,LOCATION_MZONE)>0 and Duel.IsExistingMatchingCard(cm.tgf3,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.op3(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.tgf3),tp,LOCATION_DECK+LOCATION_GRAVE,0,1,1,nil,e,tp):GetFirst()
if tc then
Duel.SpecialSummon(tc,0,tp,tp,true,false,POS_FACEUP)
end
end
\ No newline at end of file
--晶属念灵体的绝望初遇
local m=35700215
local cm=_G["c"..m]
if not pcall(function() require("expansions/script/c35700210") end) then require("script/c35700210") end
function cm.initial_effect(c)
local e1 = mask_crystal.CRE(c,{"CAT","TYP","COD","CTL","TG","OP"},{CATEGORY_SPECIAL_SUMMON+CATEGORY_EQUIP,EFFECT_TYPE_ACTIVATE,EVENT_FREE_CHAIN,{1,m+EFFECT_COUNT_CODE_DUEL},cm.tg,cm.op})
end
function cm.tgf3(c,e,tp)
return c:IsSetCard(0xb72) and c:IsCanBeSpecialSummoned(e,0,tp,true,true) and c:IsType(TYPE_MONSTER)
end
function cm.tg3(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.GetLocationCount(tp,LOCATION_MZONE)>0 and Duel.IsExistingMatchingCard(cm.tgf3,tp,LOCATION_HAND,0,1,nil,e,tp)
and Duel.IsExistingMatchingCard(Card.IsFaceup,tp,0,LOCATION_MZONE,2,nil) and Duel.GetLocationCount(tp,LOCATION_SZONE)>0 end
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,1,tp,LOCATION_HAND)
end
function cm.op3(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 c = e:GetHandler()
local tc=Duel.SelectMatchingCard(tp,cm.tgf3,tp,LOCATION_HAND,0,1,1,nil,e,tp):GetFirst()
if tc and Duel.SpecialSummon(tc,0,tp,tp,true,false,POS_FACEUP)>0 and Duel.IsExistingMatchingCard(Card.IsFaceup,tp,0,LOCATION_MZONE,2,nil)
and Duel.GetLocationCount(tp,LOCATION_SZONE)>0 then
Duel.BreakEffect()
local g=Duel.SelectMatchingCard(tp,Card.IsFaceup,tp,0,LOCATION_MZONE,2,2,nil):GetFirst()
local sc = g:GetFirst()
while sc do
if Duel.Equip(tp,sc,tc) then
local e1 = mask_crystal.CRE(sc,{"TYP","COD","VAL","RES"},{EFFECT_TYPE_EQUIP,EFFECT_UPDATE_ATTACK,sc:GetBaseAttack(),RESET_EVENT+RESETS_STANDARD})
mask_crystal.Equip_Limit(tc,sc)
end
sc=g:GetNext()
end
end
end
\ No newline at end of file
--晶属念灵体的干涉毁坏
local m=35700216
local cm=_G["c"..m]
if not pcall(function() require("expansions/script/c35700210") end) then require("script/c35700210") end
function cm.initial_effect(c)
local e1 = {mc.CS(c,m)}
local e2 = mc.Q_S(c)
local e3 = mc.QF(c)
local e4 = mc.CRE(c,{"CAT","TYP","COD","PRO","RAN","CTL","CON","COS","TG","OP"},
{CATEGORY_DISABLE,EFFECT_TYPE_QUICK_O,EVENT_CHAINING,"S",{2,m},cm.con4,cm.cos4,cm.tg4,cm.op4})
end
function cm.con4(e,tp,eg,ep,ev,re,r,rp)
return re:GetHandler():GetCounter(0x1b72)>=2
end
function cm.cos4(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return re:GetHandler():IsCanRemoveCounter(tp,0x1,1,REASON_COST) end
re:GetHandler():RemoveCounter(tp,0x1,1,REASON_COST)
end
function cm.tg4(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return not re:GetHandler():IsDisabled() end
Duel.SetOperationInfo(0,CATEGORY_DISABLE,eg,1,0,0)
end
function cm.op4(e,tp,eg,ep,ev,re,r,rp)
local tc = re:GetHandler()
Duel.NegateEffect(ev)
local e1=Effect.CreateEffect(tc)
e1:SetType(EFFECT_TYPE_FIELD)
e1:SetCode(EFFECT_CANNOT_TRIGGER)
e1:SetTargetRange(0,1)
e1:SetTarget(cm.distg)
e1:SetLabelObject(tc)
e1:SetReset(RESET_PHASE+PHASE_END)
Duel.RegisterEffect(e1,tp)
end
function cm.distg(e,c)
local tc=e:GetLabelObject()
return c:IsOriginalCodeRule(tc:GetOriginalCodeRule()) and (c:IsType(TYPE_EFFECT) or c:GetOriginalType()&TYPE_EFFECT~=0)
end
\ No newline at end of file
...@@ -829,7 +829,6 @@ ...@@ -829,7 +829,6 @@
#TwelveSMask 286114376 357 0xb70-0xb7f #TwelveSMask 286114376 357 0xb70-0xb7f
!setname 0xb71 翼战机 !setname 0xb71 翼战机
!setname 0x3b71 交锋翼战机 !setname 0x3b71 交锋翼战机
!setname 0xb72 晶属念灵体
!setname 0xb75 独行骑兵 !setname 0xb75 独行骑兵
!counter 0x1b72 念灵体指示物 !counter 0x1b72 念灵体指示物
......
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