Commit c5786922 authored by REIKAI's avatar REIKAI 💬

Merge branch 'emergency' into 'master'

Emergency

See merge request alstroemeria-silentlove/ygopro-222DIY-cards!6
parents 9e0a2f90 47a162b1
No preview for this file type
...@@ -474,6 +474,7 @@ ...@@ -474,6 +474,7 @@
15002020 0 --墟伪的审判 15002020 0 --墟伪的审判
15003023 0 --虚空孔穴·格利扎 15003023 0 --虚空孔穴·格利扎
15004036 1 --东风欧洛斯的冷笑 15004036 1 --东风欧洛斯的冷笑
15004361 0 --来自苍白星海的哭泣
#161 #161
16101031 0 --真化超越 16101031 0 --真化超越
16101040 0 --圣者的牲祭 16101040 0 --圣者的牲祭
...@@ -816,10 +817,12 @@ ...@@ -816,10 +817,12 @@
30000205 0 --不灭的黑暗 30000205 0 --不灭的黑暗
30000220 1 --混沌的轮回 循环 30000220 1 --混沌的轮回 循环
30005005 1 --恶染侵覆 30005005 1 --恶染侵覆
30005010 0 --异神 灰
30005016 0 --森之妖精 萨堤尔Ⅱ 30005016 0 --森之妖精 萨堤尔Ⅱ
30005020 1 --心哀想 30005020 1 --心哀想
30005030 1 --懵懂的暗芽 30005030 1 --懵懂的暗芽
30005035 0 --仪死的供物 30005035 0 --仪死的供物
30005040 0 --异神 格
30005045 1 --异神 煞 30005045 1 --异神 煞
30005050 0 --虚冥幽魄 30005050 0 --虚冥幽魄
30005090 0 --告别前的叮嘱 30005090 0 --告别前的叮嘱
...@@ -828,6 +831,7 @@ ...@@ -828,6 +831,7 @@
30005105 0 --深红汇聚 30005105 0 --深红汇聚
30005110 0 --虚无中的陷阱 30005110 0 --虚无中的陷阱
30005115 1 --六魂招来 30005115 1 --六魂招来
30005125 0 --白蛇阴阳师 瑞灵
30005130 0 --耀辉机 时绽 30005130 0 --耀辉机 时绽
30005160 0 --次元镇压 30005160 0 --次元镇压
30005165 0 --恶魔的再生 30005165 0 --恶魔的再生
...@@ -837,6 +841,7 @@ ...@@ -837,6 +841,7 @@
30005195 1 --白厄 诺纷斯 30005195 1 --白厄 诺纷斯
30005200 0 --闪辉龙 凯旋龙 30005200 0 --闪辉龙 凯旋龙
30005205 0 --混沌二气 30005205 0 --混沌二气
30008806 0 --终极空隙机 时空裁定者
30052000 0 --克里斯汀·罗森塔尔 30052000 0 --克里斯汀·罗森塔尔
#305 #305
30553101 0 --创衍秘器 愚沌之核 30553101 0 --创衍秘器 愚沌之核
...@@ -875,6 +880,8 @@ ...@@ -875,6 +880,8 @@
30666670 0 --拟龙贵族·引导龙女 30666670 0 --拟龙贵族·引导龙女
30666700 0 --拟龙贵族·谋士龙女 30666700 0 --拟龙贵族·谋士龙女
30666725 1 --拟龙贵族·复仇龙女 30666725 1 --拟龙贵族·复仇龙女
30683110 0 --M·A·L·Hydra
30683425 0 --M·A·L——Null
#307 #307
30700001 0 --龙裔的新生者 30700001 0 --龙裔的新生者
30700003 1 --龙裔的祈祷者 30700003 1 --龙裔的祈祷者
...@@ -1241,6 +1248,7 @@ ...@@ -1241,6 +1248,7 @@
35700111 1 --翼战机动-紧急出击 35700111 1 --翼战机动-紧急出击
35700121 1 --原型翼战机-变核翼组 35700121 1 --原型翼战机-变核翼组
35700123 0 --原型翼战机-决战翼组 35700123 0 --原型翼战机-决战翼组
35700146 0 --无人翼战机-蜂巢思维翼组
35700155 1 --魔仙堡的幻蝶·美雪 35700155 1 --魔仙堡的幻蝶·美雪
35700156 1 --魔仙堡的梦蝶·美琪 35700156 1 --魔仙堡的梦蝶·美琪
#358 #358
...@@ -1295,6 +1303,7 @@ ...@@ -1295,6 +1303,7 @@
40009964 0 --最凶兽神 穷奇-逆 40009964 0 --最凶兽神 穷奇-逆
40010050 0 --击退者-怒堕龙-逆 40010050 0 --击退者-怒堕龙-逆
40010639 0 --黎明之出阵 40010639 0 --黎明之出阵
40010826 0 --葬空死团:“裂空神”阿凡伽达
#437 #437
43700016 0 --圣狮守卫者 43700016 0 --圣狮守卫者
#440 #440
...@@ -1829,9 +1838,14 @@ ...@@ -1829,9 +1838,14 @@
96010101 0 --针织布偶 96010101 0 --针织布偶
96010111 0 --圣诞布偶 96010111 0 --圣诞布偶
96010121 0 --甜筒布偶 96010121 0 --甜筒布偶
96012001 1 --无餍讨伐令
96012011 1 --讨伐赏金
96012081 0 --无餍爆发
96030002 0 --被驯服的猎犬 96030002 0 --被驯服的猎犬
96030003 0 --无心骑士 零度火焰 96030003 0 --无心骑士 零度火焰
96030004 0 --永远的满开雏菊 96030004 0 --永远的满开雏菊
96030042 0 --小不点勘探员
96030052 0 --四叶草在未来唯美盛开
#988 #988
98800006 1 --超古代的仪式 光之呼唤 98800006 1 --超古代的仪式 光之呼唤
98800012 1 --超古代的魔神 98800012 1 --超古代的魔神
......
local m=15000392
local cm=_G["c"..m]
cm.name="替身名-『南北战争』"
function cm.initial_effect(c)
--public
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_IGNITION)
e1:SetRange(LOCATION_HAND)
e1:SetCountLimit(1,15000392)
e1:SetOperation(cm.operation)
c:RegisterEffect(e1)
--CivilWar
local e4=Effect.CreateEffect(c)
e4:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
e4:SetRange(LOCATION_MZONE+LOCATION_HAND)
e4:SetCode(EFFECT_SEND_REPLACE)
e4:SetTarget(cm.reptg)
e4:SetValue(cm.repval)
c:RegisterEffect(e4)
local g=Group.CreateGroup()
g:KeepAlive()
e4:SetLabelObject(g)
--CivilWar
local e3=Effect.CreateEffect(c)
e3:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
e3:SetRange(LOCATION_MZONE+LOCATION_HAND)
e3:SetCode(EFFECT_SEND_REPLACE)
e3:SetTarget(cm.rep2tg)
e3:SetValue(cm.repval)
c:RegisterEffect(e3)
local ag=Group.CreateGroup()
ag:KeepAlive()
e3:SetLabelObject(ag)
end
function cm.operation(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
if not c:IsRelateToEffect(e) then return end
local fid=c:GetFieldID()
c:RegisterFlagEffect(15000391,RESET_EVENT+RESETS_STANDARD,EFFECT_FLAG_CLIENT_HINT,1,fid,66)
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetCode(EFFECT_PUBLIC)
e1:SetReset(RESET_EVENT+RESETS_STANDARD)
c:RegisterEffect(e1)
end
function cm.repfilter(c,e)
local p=c:GetControler()
if c:IsLocation(LOCATION_OVERLAY) then p=c:GetOverlayTarget():GetControler() end
return c:GetDestination()==LOCATION_GRAVE and c:IsType(TYPE_MONSTER)
and c:IsCanBeSpecialSummoned(e,0,p,false,false)
and Duel.GetMZoneCount(1-p,c,p)>0
and not c:IsLocation(LOCATION_MZONE)
end
function cm.reptg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return ((e:GetHandler():IsPublic() and e:GetHandler():IsLocation(LOCATION_HAND)) or e:GetHandler():IsLocation(LOCATION_MZONE))
and eg:IsExists(cm.repfilter,1,nil,e) and ((not re) or re~=e) end
if eg:IsExists(cm.repfilter,1,nil,e) and ((not re) or re~=e) then
local container=e:GetLabelObject()
container:Clear()
local g=eg:Filter(cm.repfilter,nil,e)
local g1=g:Filter(Card.IsControler,nil,0)
local g2=g:Filter(Card.IsControler,nil,1)
local ct1=g1:GetCount()
local ct2=g2:GetCount()
local ct=ct1+ct2
local tc=g:GetFirst()
while tc do
local p=tc:GetControler()
if tc:IsLocation(LOCATION_OVERLAY) then p=tc:GetOverlayTarget():GetControler() end
local ft=Duel.GetMZoneCount(1-p,tc,p)
if not ((p==0 and ft>=ct1) or (p==1 and ft>=ct2)) then return false end
tc=g:GetNext()
end
local ag=Group.CreateGroup()
local tc=g:GetFirst()
while tc do
local p=tc:GetControler()
if tc:IsLocation(LOCATION_OVERLAY) then p=tc:GetOverlayTarget():GetControler() end
if Duel.SpecialSummonStep(tc,0,p,1-p,false,false,POS_FACEUP) then ag:AddCard(tc) end
tc:RegisterFlagEffect(15000392,RESET_EVENT+0x1de0000+RESET_PHASE+PHASE_END,0,1)
tc=g:GetNext()
end
Duel.SpecialSummonComplete()
container:Merge(g)
local e1=Effect.CreateEffect(e:GetHandler())
e1:SetDescription(aux.Stringid(m,1))
e1:SetType(EFFECT_TYPE_CONTINUOUS+EFFECT_TYPE_FIELD)
e1:SetCode(EVENT_PHASE+PHASE_END)
e1:SetCountLimit(1)
e1:SetCondition(cm.tdcon)
e1:SetOperation(cm.tdop)
e1:SetReset(RESET_PHASE+PHASE_DRAW)
Duel.RegisterEffect(e1,tp)
return true
else return false end
end
function cm.rep2filter(c,e)
return c:GetDestination()==LOCATION_GRAVE and c:IsType(TYPE_MONSTER)
and c:IsControlerCanBeChanged()
and Duel.GetMZoneCount(1-c:GetControler(),c,c:GetControler())>0
and c:IsLocation(LOCATION_MZONE) and not c:IsLocation(LOCATION_OVERLAY)
end
function cm.rep2tg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return ((e:GetHandler():IsPublic() and e:GetHandler():IsLocation(LOCATION_HAND)) or e:GetHandler():IsLocation(LOCATION_MZONE))
and eg:IsExists(cm.rep2filter,1,nil,e) and ((not re) or re~=e) end
if eg:IsExists(cm.rep2filter,1,nil,e) and ((not re) or re~=e) then
local container=e:GetLabelObject()
container:Clear()
local g=eg:Filter(cm.rep2filter,nil,e)
local g1=g:Filter(Card.IsControler,nil,0)
local g2=g:Filter(Card.IsControler,nil,1)
local ct1=g1:GetCount()
local ct2=g2:GetCount()
local ct=ct1+ct2
local tc=g:GetFirst()
while tc do
local ft=Duel.GetMZoneCount(1-tc:GetControler(),tc,tc:GetControler())
if not ((tc:GetControler()==0 and ft>=ct1) or (tc:GetControler()==1 and ft>=ct2)) then return false end
tc=g:GetNext()
end
local ag=Group.CreateGroup()
local tc=g:GetFirst()
while tc do
local p=tc:GetControler()
if Duel.GetControl(tc,1-p)~=0 then ag:AddCard(tc) end
tc:RegisterFlagEffect(15000392,RESET_EVENT+0x1de0000+RESET_PHASE+PHASE_END,0,1)
tc=g:GetNext()
end
container:Merge(g)
local e1=Effect.CreateEffect(e:GetHandler())
e1:SetDescription(aux.Stringid(m,1))
e1:SetType(EFFECT_TYPE_CONTINUOUS+EFFECT_TYPE_FIELD)
e1:SetCode(EVENT_PHASE+PHASE_END)
e1:SetCountLimit(1)
e1:SetCondition(cm.tdcon)
e1:SetOperation(cm.tdop)
e1:SetReset(RESET_PHASE+PHASE_DRAW)
Duel.RegisterEffect(e1,tp)
return true
else return false end
end
function cm.repval(e,c)
return e:GetLabelObject():IsContains(c)
end
function cm.tdfilter(c)
return c:GetFlagEffect(15000392)~=0
end
function cm.tdcon(e,tp,eg,ep,ev,re,r,rp)
return Duel.IsExistingMatchingCard(cm.tdfilter,0,LOCATION_ONFIELD,LOCATION_ONFIELD,1,nil)
end
function cm.tdop(e,tp,eg,ep,ev,re,r,rp)
local g=Duel.GetMatchingGroup(cm.tdfilter,0,LOCATION_ONFIELD,LOCATION_ONFIELD,nil)
Duel.HintSelection(g)
Duel.SendtoDeck(g,nil,2,REASON_EFFECT)
end
\ No newline at end of file
local m=15000394
local cm=_G["c"..m]
cm.name="替身名-『白蛇』"
function cm.initial_effect(c)
c:EnableCounterPermit(0xf31)
--synchro summon
aux.AddSynchroProcedure(c,aux.FilterBoolFunction(Card.IsAttribute,ATTRIBUTE_DARK),aux.NonTuner(nil),1)
c:EnableReviveLimit()
--disable
local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(m,0))
e1:SetCategory(CATEGORY_ATKCHANGE+CATEGORY_DISABLE)
e1:SetType(EFFECT_TYPE_QUICK_O)
e1:SetCode(EVENT_FREE_CHAIN)
e1:SetProperty(EFFECT_FLAG_CARD_TARGET)
e1:SetRange(LOCATION_MZONE)
e1:SetCountLimit(1,m)
e1:SetTarget(cm.distg)
e1:SetOperation(cm.disop)
c:RegisterEffect(e1)
--gain
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:SetTarget(cm.gtg)
e2:SetOperation(cm.gop)
c:RegisterEffect(e2)
end
function cm.notfilter1(c)
return c:IsFaceup() and aux.NegateMonsterFilter(c) and not c:IsCode(15000394)
end
function cm.notfilter2(c)
return c:IsFaceup() and not c:IsCode(15000394)
end
function cm.distg(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
if chkc then return chkc:IsLocation(LOCATION_MZONE) and cm.notfilter1(chkc) end
if chk==0 then return Duel.IsExistingTarget(cm.notfilter1,tp,LOCATION_MZONE,LOCATION_MZONE,1,e:GetHandler()) and e:GetHandler():IsCanAddCounter(0xf31,1) end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_DISABLE)
local g=Duel.SelectTarget(tp,cm.notfilter1,tp,LOCATION_MZONE,LOCATION_MZONE,1,1,e:GetHandler())
Duel.SetOperationInfo(0,CATEGORY_DISABLE,g,1,0,0)
end
function cm.disop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
local tc=Duel.GetFirstTarget()
local dis=0
if c:IsFaceup() and c:IsRelateToEffect(e) and tc:IsFaceup() and tc:IsRelateToEffect(e)
and not tc:IsImmuneToEffect(e) then
if ((not tc:IsDisabled()) and (not tc:IsAttack(0))) then dis=1 end
c:SetCardTarget(tc)
Duel.NegateRelatedChain(tc,RESET_TURN_SET)
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetCode(EFFECT_SET_ATTACK_FINAL)
e1:SetValue(0)
e1:SetCondition(cm.rcon)
e1:SetReset(RESET_EVENT+RESETS_STANDARD)
tc:RegisterEffect(e1)
local e2=Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_SINGLE)
e2:SetCode(EFFECT_DISABLE)
e2:SetCondition(cm.rcon)
e2:SetReset(RESET_EVENT+RESETS_STANDARD)
tc:RegisterEffect(e2)
local e3=Effect.CreateEffect(c)
e3:SetType(EFFECT_TYPE_SINGLE)
e3:SetCode(EFFECT_DISABLE_EFFECT)
e3:SetValue(RESET_TURN_SET)
e3:SetCondition(cm.rcon)
e3:SetReset(RESET_EVENT+RESETS_STANDARD)
tc:RegisterEffect(e3)
if tc:IsType(TYPE_TRAPMONSTER) then
local e4=e2:Clone()
e4:SetCode(EFFECT_DISABLE_TRAPMONSTER)
tc:RegisterEffect(e4)
end
Duel.BreakEffect()
if tc:IsDisabled() and tc:IsAttack(0) and dis==1 and tc:IsType(TYPE_MONSTER) then
local code=tc:GetCode()
local e5=Effect.CreateEffect(c)
e5:SetType(EFFECT_TYPE_SINGLE)
e5:SetProperty(EFFECT_FLAG_SINGLE_RANGE)
e5:SetCode(15000394)
e5:SetRange(LOCATION_MZONE)
e5:SetLabel(code)
e5:SetReset(RESET_EVENT+RESETS_STANDARD+RESET_DISABLE)
c:RegisterEffect(e5)
local e6=Effect.CreateEffect(c)
e6:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
e6:SetCode(EVENT_ADJUST)
e6:SetRange(0xff)
e6:SetCondition(cm.regcon)
e6:SetOperation(cm.regop)
e6:SetLabelObject(e5)
e6:SetReset(RESET_EVENT+RESETS_STANDARD+RESET_DISABLE)
c:RegisterEffect(e6)
c:AddCounter(0xf31,1)
end
end
end
function cm.rcon(e)
return e:GetOwner():IsHasCardTarget(e:GetHandler())
end
function cm.regcon(e)
return e:GetHandler():IsLocation(LOCATION_SZONE) or e:GetHandler():GetCounter(0xf31)==0
end
function cm.regop(e)
local ce=e:GetLabelObject()
if ce then
ce:Reset()
e:Reset()
end
end
function cm.gtg(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
local c=e:GetHandler()
if chkc then return chkc:IsLocation(LOCATION_MZONE) end
if chk==0 then
return Duel.IsExistingTarget(cm.notfilter2,tp,LOCATION_MZONE,LOCATION_MZONE,1,c) and c:IsCanRemoveCounter(tp,0xf31,1,REASON_EFFECT) and c:IsHasEffect(15000394)
end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_FACEUP)
local g=Duel.SelectTarget(tp,cm.notfilter2,tp,LOCATION_MZONE,LOCATION_MZONE,1,1,c)
end
function cm.isinarray(t,val)
for _,v in ipairs(t) do
if v==val then return false end
end
return true
end
function cm.gop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
local tc=Duel.GetFirstTarget()
if tc and tc:IsRelateToEffect(e) and tc:IsFaceup() and c:IsCanRemoveCounter(tp,0xf31,1,REASON_EFFECT) and c:IsHasEffect(15000394) and not tc:IsImmuneToEffect(e) then
local codes={}
if c:IsHasEffect(15000394) then
for _,i in ipairs{c:IsHasEffect(15000394)} do
local code=i:GetLabel()
if code and cm.isinarray(codes,code) then table.insert(codes,code) end
end
end
table.sort(codes)
local afilter={codes[1],OPCODE_ISCODE}
if #codes>1 then
--or ... or c:IsCode(codes[i])
for i=2,#codes do
table.insert(afilter,codes[i])
table.insert(afilter,OPCODE_ISCODE)
table.insert(afilter,OPCODE_OR)
end
end
table.insert(afilter,TYPE_MONSTER)
table.insert(afilter,OPCODE_ISTYPE)
table.insert(afilter,OPCODE_AND)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_CODE)
local ac=Duel.AnnounceCard(tp,table.unpack(afilter))
if c:IsHasEffect(15000394) then
for _,i in ipairs{c:IsHasEffect(15000394)} do
local code=i:GetLabel()
if ac==code then
i:Reset()
break
end
end
end
if not c:RemoveCounter(tp,0xf31,1,REASON_EFFECT) then return end
Duel.BreakEffect()
c:SetCardTarget(tc)
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetProperty(EFFECT_FLAG_CANNOT_DISABLE)
e1:SetCode(EFFECT_CHANGE_CODE)
e1:SetValue(ac)
e1:SetCondition(cm.rcon)
e1:SetReset(RESET_EVENT+RESETS_STANDARD)
tc:RegisterEffect(e1)
local cid=tc:ReplaceEffect(ac,RESET_EVENT+RESETS_STANDARD)
--local cid=tc:CopyEffect(ac,RESET_EVENT+RESETS_STANDARD,1)
local e3=Effect.CreateEffect(c)
e3:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
e3:SetCode(EVENT_ADJUST)
e3:SetLabelObject(e1)
e3:SetLabel(cid)
e3:SetCondition(cm.rstcon)
e3:SetOperation(cm.rstop)
Duel.RegisterEffect(e3,tp)
if tc:IsType(TYPE_NORMAL) then
local e4=Effect.CreateEffect(c)
e4:SetType(EFFECT_TYPE_SINGLE)
e4:SetCode(EFFECT_REMOVE_TYPE)
e4:SetValue(TYPE_NORMAL)
e4:SetCondition(cm.rcon)
e4:SetReset(RESET_EVENT+RESETS_STANDARD)
tc:RegisterEffect(e4,true)
end
if not tc:IsType(TYPE_EFFECT) then
local e5=Effect.CreateEffect(c)
e5:SetType(EFFECT_TYPE_SINGLE)
e5:SetCode(EFFECT_ADD_TYPE)
e5:SetValue(TYPE_EFFECT)
e5:SetCondition(cm.rcon)
e5:SetReset(RESET_EVENT+RESETS_STANDARD)
tc:RegisterEffect(e5,true)
end
end
end
function cm.rstcon(e)
return not e:GetOwner():IsHasCardTarget(e:GetLabelObject():GetHandler())
end
function cm.rstop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetLabelObject():GetHandler()
if not c then e:Reset() return end
local cid=e:GetLabel()
if cid~=0 then
c:ResetEffect(cid,RESET_COPY)
c:ResetEffect(RESET_DISABLE,RESET_EVENT)
end
local e1=e:GetLabelObject()
if e1 then e1:Reset() end
Duel.HintSelection(Group.FromCards(c))
Duel.Hint(HINT_OPSELECTED,1-tp,e:GetDescription())
if c:IsLocation(LOCATION_HAND) then Duel.ShuffleHand(c:GetControler()) end
e:Reset()
end
\ No newline at end of file
local m=15000395
local cm=_G["c"..m]
cm.name="替身名-『脸部特写』"
function cm.initial_effect(c)
c:SetUniqueOnField(1,0,15000395)
--Activate
local e1=Effect.CreateEffect(c)
e1:SetCategory(CATEGORY_SPECIAL_SUMMON)
e1:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
e1:SetCode(EVENT_FREE_CHAIN)
e1:SetRange(LOCATION_HAND)
e1:SetCondition(cm.secon)
e1:SetTarget(cm.setg)
e1:SetOperation(cm.seop)
c:RegisterEffect(e1)
if not cm.Talking_Head_Check then
cm.Talking_Head_Check=true
_Talking_Head_AnnounceCard=Duel.AnnounceCard
function Duel.AnnounceCard(p,...)
local ap=p
if Duel.IsPlayerAffectedByEffect(p,15000395) then ap=1-p end
return _Talking_Head_AnnounceCard(ap,...)
end
_Talking_Head_AnnounceAttribute=Duel.AnnounceAttribute
function Duel.AnnounceAttribute(p,ct,attr)
local ap=p
if Duel.IsPlayerAffectedByEffect(p,15000395) then ap=1-p end
return _Talking_Head_AnnounceAttribute(ap,ct,attr)
end
_Talking_Head_AnnounceCoin=Duel.AnnounceCoin
function Duel.AnnounceCoin(p)
local ap=p
if Duel.IsPlayerAffectedByEffect(p,15000395) then ap=1-p end
return _Talking_Head_AnnounceCoin(ap)
end
_Talking_Head_AnnounceLevel=Duel.AnnounceLevel
function Duel.AnnounceLevel(p,min,max,...)
local ap=p
if not min then min=1 end
if not max then max=12 end
if Duel.IsPlayerAffectedByEffect(p,15000395) then ap=1-p end
return _Talking_Head_AnnounceLevel(ap,min,max,...)
end
_Talking_Head_AnnounceNumber=Duel.AnnounceNumber
function Duel.AnnounceNumber(p,num,...)
local ap=p
if Duel.IsPlayerAffectedByEffect(p,15000395) then ap=1-p end
return _Talking_Head_AnnounceNumber(ap,num,...)
end
_Talking_Head_AnnounceRace=Duel.AnnounceRace
function Duel.AnnounceRace(p,ct,rac)
local ap=p
if Duel.IsPlayerAffectedByEffect(p,15000395) then ap=1-p end
return _Talking_Head_AnnounceRace(ap,ct,rac)
end
_Talking_Head_AnnounceType=Duel.AnnounceType
function Duel.AnnounceType(p)
local ap=p
if Duel.IsPlayerAffectedByEffect(p,15000395) then ap=1-p end
return _Talking_Head_AnnounceType(ap)
end
end
end
function cm.secon(e,tp,eg,ep,ev,re,r,rp)
return Duel.GetCurrentChain()==0 and (Duel.GetCurrentPhase()==PHASE_MAIN1 or Duel.GetCurrentPhase()==PHASE_MAIN2) and Duel.GetTurnPlayer()==tp and Duel.GetLocationCount(1-tp,LOCATION_SZONE,tp,LOCATION_REASON_TOFIELD,0xe)>0 and e:GetHandler():CheckUniqueOnField(1-tp)
end
function cm.setg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return true end
end
function cm.seop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
if Duel.GetLocationCount(1-tp,LOCATION_SZONE,tp,LOCATION_REASON_TOFIELD,0xe)>0 then
Duel.ConfirmCards(1-tp,c)
if Duel.MoveToField(c,tp,1-tp,LOCATION_SZONE,POS_FACEUP,true,0xe) then
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetCode(EFFECT_CHANGE_TYPE)
e1:SetProperty(EFFECT_FLAG_CANNOT_DISABLE)
e1:SetValue(TYPE_SPELL+TYPE_CONTINUOUS)
e1:SetReset(RESET_EVENT+RESETS_STANDARD-RESET_TURN_SET)
c:RegisterEffect(e1)
--change effect type
local e2=Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_FIELD)
e2:SetProperty(EFFECT_FLAG_PLAYER_TARGET)
e2:SetCode(15000395)
e2:SetRange(LOCATION_SZONE)
e2:SetTargetRange(1,0)
e2:SetReset(RESET_EVENT+RESETS_STANDARD-RESET_TURN_SET)
c:RegisterEffect(e2)
end
end
end
\ No newline at end of file
--Fate/Grand Order·吉尔伽美什
local m=30610010
local cm=_G["c"..m]
function cm.initial_effect(c)
c:SetUniqueOnField(1,0,30610010)
c:EnableCounterPermit(0x1)
--special summon
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_FIELD)
e1:SetCode(EFFECT_SPSUMMON_PROC)
e1:SetProperty(EFFECT_FLAG_CANNOT_DISABLE+EFFECT_FLAG_UNCOPYABLE)
e1:SetRange(LOCATION_HAND)
e1:SetCondition(cm.spcon0)
c:RegisterEffect(e1)
--token
local e2=Effect.CreateEffect(c)
e2:SetCategory(CATEGORY_SPECIAL_SUMMON)
e2:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_O)
e2:SetCode(EVENT_BATTLE_DESTROYED)
e2:SetCountLimit(1,m+EFFECT_COUNT_CODE_DUEL)
e2:SetCost(cm.addcost)
e2:SetCondition(cm.con)
e2:SetTarget(cm.tg)
e2:SetOperation(cm.op)
c:RegisterEffect(e2)
Duel.AddCustomActivityCounter(m,ACTIVITY_SPSUMMON,cm.counterfilter)
--destroy
local e3=Effect.CreateEffect(c)
e3:SetDescription(aux.Stringid(m,4))
e3:SetCategory(CATEGORY_DESTROY)
e3:SetType(EFFECT_TYPE_QUICK_O)
e3:SetProperty(EFFECT_FLAG_DAMAGE_STEP+EFFECT_FLAG_DAMAGE_CAL+EFFECT_FLAG_CANNOT_INACTIVATE+EFFECT_FLAG_CANNOT_DISABLE+EFFECT_FLAG_CANNOT_NEGATE+EFFECT_FLAG_NO_TURN_RESET)
e3:SetHintTiming(0,TIMINGS_CHECK_MONSTER+TIMING_END_PHASE)
e3:SetCode(EVENT_FREE_CHAIN)
e3:SetRange(LOCATION_MZONE)
e3:SetCountLimit(1)
e3:SetCost(cm.descost)
e3:SetCondition(cm.descon)
e3:SetTarget(cm.destg)
e3:SetOperation(cm.desop)
c:RegisterEffect(e3)
--special summon
local e4=Effect.CreateEffect(c)
e4:SetDescription(aux.Stringid(m,2))
e4:SetType(EFFECT_TYPE_IGNITION)
e4:SetCountLimit(1)
e4:SetRange(LOCATION_MZONE)
e4:SetTarget(cm.target)
e4:SetOperation(cm.activate)
c:RegisterEffect(e4)
--atk
local e5=Effect.CreateEffect(c)
e5:SetDescription(aux.Stringid(m,3))
e5:SetCategory(CATEGORY_DECKDES+CATEGORY_ATKCHANGE)
e5:SetType(EFFECT_TYPE_IGNITION)
e5:SetCountLimit(1)
e5:SetRange(LOCATION_MZONE)
e5:SetTarget(cm.atktg)
e5:SetOperation(cm.atkop)
c:RegisterEffect(e5)
--Attribute Dark
local e7=Effect.CreateEffect(c)
e7:SetType(EFFECT_TYPE_SINGLE)
e7:SetProperty(EFFECT_FLAG_SINGLE_RANGE+EFFECT_FLAG_CANNOT_DISABLE+EFFECT_FLAG_CANNOT_NEGATE)
e7:SetCode(EFFECT_CHANGE_ATTRIBUTE)
e7:SetRange(LOCATION_MZONE+LOCATION_GRAVE)
e7:SetValue(ATTRIBUTE_DIVINE)
c:RegisterEffect(e7)
--Add counter
local e16=Effect.CreateEffect(c)
e16:SetType(EFFECT_TYPE_CONTINUOUS+EFFECT_TYPE_FIELD)
e16:SetCode(EVENT_CHAIN_SOLVING)
e16:SetProperty(EFFECT_FLAG_DELAY)
e16:SetRange(LOCATION_MZONE)
e16:SetOperation(cm.op0)
c:RegisterEffect(e16)
end
function cm.counterfilter(c)
return not c:IsSummonLocation(LOCATION_EXTRA)
end
function cm.spcon0(e,c)
if c==nil then return true end
local tp=c:GetControler()
local g=Duel.GetMatchingGroup(Card.IsFaceup,tp,LOCATION_MZONE,LOCATION_MZONE,nil)
if g:GetCount()==0 then return false end
local tg=g:GetMaxGroup(Card.GetAttack)
return Duel.GetLocationCount(tp,LOCATION_MZONE)>0 and tg:IsExists(Card.IsControler,1,nil,1-tp)
end
function cm.addcost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.GetCustomActivityCount(m,tp,ACTIVITY_SPSUMMON)==0 and Duel.IsCanRemoveCounter(tp,1,0,0x1,4,REASON_COST) end
local e1=Effect.CreateEffect(e:GetHandler())
e1:SetType(EFFECT_TYPE_FIELD)
e1:SetProperty(EFFECT_FLAG_PLAYER_TARGET+EFFECT_FLAG_OATH)
e1:SetCode(EFFECT_CANNOT_SPECIAL_SUMMON)
e1:SetReset(RESET_PHASE+PHASE_END)
e1:SetTargetRange(1,0)
e1:SetTarget(cm.splimit)
Duel.RegisterEffect(e1,tp)
Duel.RemoveCounter(tp,1,0,0x1,4,REASON_COST)
end
function cm.spcost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.GetCustomActivityCount(m,tp,ACTIVITY_SPSUMMON)==0 end
local e1=Effect.CreateEffect(e:GetHandler())
e1:SetType(EFFECT_TYPE_FIELD)
e1:SetProperty(EFFECT_FLAG_PLAYER_TARGET+EFFECT_FLAG_OATH)
e1:SetCode(EFFECT_CANNOT_SPECIAL_SUMMON)
e1:SetReset(RESET_PHASE+PHASE_END)
e1:SetTargetRange(1,0)
e1:SetTarget(cm.splimit)
Duel.RegisterEffect(e1,tp)
end
function cm.splimit(e,c)
return c:IsSummonLocation(LOCATION_EXTRA)
end
function cm.con(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
return c:IsReason(REASON_BATTLE+REASON_EFFECT)
end
function cm.tg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.GetLocationCount(tp,LOCATION_MZONE)>0 and e:GetHandler():IsCanBeSpecialSummoned(e,0,tp,false,false) end
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,e:GetHandler(),1,0,0)
end
function cm.op(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
Duel.Hint(HINT_SOUND,0,aux.Stringid(m,5))
Duel.SelectOption(tp,aux.Stringid(m,0))
Duel.SelectOption(1-tp,aux.Stringid(m,0))
c:RegisterFlagEffect(m,RESET_EVENT+RESETS_STANDARD+RESET_PHASE+PHASE_END,0,0)
c:RegisterFlagEffect(0,RESET_EVENT+RESETS_STANDARD+RESET_PHASE+PHASE_END,EFFECT_FLAG_CLIENT_HINT,1,0,aux.Stringid(m,1))
Duel.Hint(HINT_CARD,tp,30610011)
Duel.Hint(HINT_CARD,1-tp,30610011)
end
function cm.damfilter(c)
return c:GetCounter(0x1)>0
end
function cm.descost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.GetCounter(tp,1,1,0x1)>0 end
local g=Duel.GetMatchingGroup(cm.damfilter,tp,LOCATION_ONFIELD,0,nil)
local tc=g:GetFirst()
while tc do
local sct=tc:GetCounter(0x1)
tc:RemoveCounter(tp,0x1,sct,0)
tc=g:GetNext()
end
end
function cm.descon(e,tp,eg,ep,ev,re,r,rp)
return e:GetHandler():GetFlagEffect(m)~=0
end
function cm.destg(e,tp,eg,ep,ev,re,r,rp,chk)
local g=Duel.GetMatchingGroup(aux.TRUE,tp,0,LOCATION_ONFIELD,nil)
local g1=Duel.GetMatchingGroup(aux.TRUE,tp,0,LOCATION_SZONE,nil)
if chk==0 then return #g>0 end
Duel.SetOperationInfo(0,CATEGORY_TOGRAVE,g,#g,0,0,nil)
Duel.SetOperationInfo(0,CATEGORY_DESTROY,g1,#g,0,0,nil)
end
function cm.filter1(c)
return c:IsType(TYPE_FIELD) and c:IsFaceup()
end
function cm.desop(e,tp,eg,ep,ev,re,r,rp)
local g=Duel.GetMatchingGroup(aux.TRUE,tp,0,LOCATION_ONFIELD,nil)
local g1=Duel.GetMatchingGroup(aux.TRUE,tp,0,LOCATION_SZONE,nil)
local g0=Duel.GetMatchingGroup(cm.filter1,tp,LOCATION_ONFIELD,LOCATION_ONFIELD,nil)
local gt=g0+g
Duel.Hint(HINT_SOUND,0,aux.Stringid(m,6))
Duel.Hint(HINT_CARD,tp,30610011)
Duel.Hint(HINT_CARD,1-tp,30610011)
Duel.Hint(HINT_CARD,tp,30610012)
Duel.Hint(HINT_CARD,1-tp,30610012)
Duel.Hint(HINT_CARD,tp,30610013)
Duel.Hint(HINT_CARD,1-tp,30610013)
Duel.Hint(HINT_CARD,tp,30610014)
Duel.Hint(HINT_CARD,1-tp,30610014)
if Duel.IsExistingMatchingCard(cm.filter1,tp,LOCATION_ONFIELD,LOCATION_ONFIELD,1,nil) then
Duel.SendtoGrave(gt,REASON_RULE)
else
Duel.Destroy(g1,REASON_EFFECT)
end
end
function cm.target(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.GetFieldGroupCount(tp,LOCATION_DECK,0)>0 end
end
function cm.activate(e,tp,eg,ep,ev,re,r,rp)
local ct=math.min(10,Duel.GetFieldGroupCount(tp,LOCATION_DECK,0))
if ct>0 then
local t={}
for i=1,ct do
t[i]=i
end
local ac=1
if ct>1 then
Duel.Hint(HINT_SELECTMSG,tp,aux.Stringid(m,2))
ac=Duel.AnnounceNumber(tp,table.unpack(t))
end
Duel.SortDecktop(tp,tp,ac)
end
end
function cm.atktg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsPlayerCanDiscardDeck(tp,1) end
end
function cm.atkop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
if not Duel.IsPlayerCanDiscardDeck(tp,1) then return end
local ct=Duel.GetFieldGroupCount(tp,LOCATION_DECK,0)
if ct==0 then return end
if ct>3 then ct=3 end
local t={}
for i=1,ct do t[i]=i end
local ac=Duel.AnnounceNumber(tp,table.unpack(t))
Duel.ConfirmDecktop(tp,ac)
local g=Duel.GetDecktopGroup(tp,ac)
local sg=g:Filter(Card.IsSetCard,nil,0xac11)
local ct=sg:GetCount()
Duel.DisableShuffleCheck()
if Duel.SendtoGrave(sg,REASON_EFFECT+REASON_REVEAL)~=0 and c:IsFaceup() and c:IsRelateToEffect(e) then
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetCode(EFFECT_UPDATE_ATTACK)
e1:SetValue(ct*1000)
e1:SetReset(RESET_EVENT+RESETS_STANDARD+RESET_DISABLE)
c:RegisterEffect(e1)
end
ac=ac-sg:GetCount()
if ac>0 then
Duel.SortDecktop(tp,tp,ac)
for i=1,ac do
local mg=Duel.GetDecktopGroup(tp,1)
Duel.MoveSequence(mg:GetFirst(),SEQ_DECKBOTTOM)
end
end
end
function cm.op0(e,tp,eg,ep,ev,re,r,rp)
local c=re:GetHandler()
if re:IsHasType(EFFECT_TYPE_ACTIVATE) and re:IsActiveType(TYPE_SPELL) and c~=e:GetHandler() and rp==tp then
e:GetHandler():AddCounter(0x1,1)
end
end
--Fate/Grand Order·埃列什基伽勒
local m=30610015
local cm=_G["c"..m]
function cm.initial_effect(c)
c:SetUniqueOnField(1,0,30610015)
c:EnableCounterPermit(0x1)
--special summon
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_FIELD)
e1:SetCode(EFFECT_SPSUMMON_PROC)
e1:SetProperty(EFFECT_FLAG_CANNOT_DISABLE+EFFECT_FLAG_UNCOPYABLE)
e1:SetRange(LOCATION_HAND)
e1:SetCondition(cm.spcon0)
e1:SetOperation(cm.spop0)
c:RegisterEffect(e1)
--token
local e0=Effect.CreateEffect(c)
e0:SetDescription(aux.Stringid(m,0))
e0:SetType(EFFECT_TYPE_QUICK_O)
e0:SetCode(EVENT_FREE_CHAIN)
e0:SetHintTiming(0,TIMING_MAIN_END)
e0:SetRange(LOCATION_MZONE)
e0:SetCountLimit(1,m)
e0:SetCost(cm.addcost)
e0:SetTarget(cm.tg)
e0:SetOperation(cm.op)
c:RegisterEffect(e0)
Duel.AddCustomActivityCounter(m,ACTIVITY_SPSUMMON,cm.counterfilter)
--destroy
local e3=Effect.CreateEffect(c)
e3:SetDescription(aux.Stringid(m,2))
e3:SetCategory(CATEGORY_POSITION+CATEGORY_DEFCHANGE+CATEGORY_ATKCHANGE)
e3:SetType(EFFECT_TYPE_QUICK_O)
e3:SetProperty(EFFECT_FLAG_DAMAGE_STEP+EFFECT_FLAG_DAMAGE_CAL+EFFECT_FLAG_CANNOT_INACTIVATE+EFFECT_FLAG_CANNOT_DISABLE+EFFECT_FLAG_CANNOT_NEGATE)
e3:SetHintTiming(0,TIMINGS_CHECK_MONSTER+TIMING_END_PHASE)
e3:SetCode(EVENT_FREE_CHAIN)
e3:SetRange(LOCATION_MZONE)
e3:SetCountLimit(1)
e3:SetCost(cm.flcost)
e3:SetCondition(cm.flcon)
e3:SetTarget(cm.fltg)
e3:SetOperation(cm.flop)
c:RegisterEffect(e3)
--atk
local e4=Effect.CreateEffect(c)
e4:SetType(EFFECT_TYPE_SINGLE)
e4:SetCode(EFFECT_UPDATE_ATTACK)
e4:SetProperty(EFFECT_FLAG_SINGLE_RANGE)
e4:SetRange(LOCATION_MZONE)
e4:SetCondition(cm.atkcon)
e4:SetValue(1500)
c:RegisterEffect(e4)
--immune
local e5=Effect.CreateEffect(c)
e5:SetType(EFFECT_TYPE_SINGLE)
e5:SetCode(EFFECT_IMMUNE_EFFECT)
e5:SetProperty(EFFECT_FLAG_SINGLE_RANGE)
e5:SetRange(LOCATION_MZONE)
e5:SetCondition(cm.atkcon)
e5:SetValue(cm.efilter)
c:RegisterEffect(e5)
--act limit
local e6=Effect.CreateEffect(c)
e6:SetType(EFFECT_TYPE_FIELD)
e6:SetCode(EFFECT_CANNOT_TRIGGER)
e6:SetRange(LOCATION_MZONE)
e6:SetTargetRange(LOCATION_MZONE,LOCATION_MZONE)
e6:SetCondition(cm.atkcon)
e6:SetTarget(cm.disable)
e6:SetValue(1)
c:RegisterEffect(e6)
--Attribute Dark
local e7=Effect.CreateEffect(c)
e7:SetType(EFFECT_TYPE_SINGLE)
e7:SetProperty(EFFECT_FLAG_SINGLE_RANGE+EFFECT_FLAG_CANNOT_DISABLE+EFFECT_FLAG_CANNOT_NEGATE)
e7:SetCode(EFFECT_CHANGE_ATTRIBUTE)
e7:SetRange(LOCATION_MZONE+LOCATION_GRAVE)
e7:SetValue(ATTRIBUTE_DIVINE)
c:RegisterEffect(e7)
--Summon
local e8=Effect.CreateEffect(c)
e8:SetDescription(aux.Stringid(m,3))
e8:SetCategory(CATEGORY_SPECIAL_SUMMON)
e8:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_F)
e8:SetProperty(EFFECT_FLAG_DELAY)
e8:SetCode(EVENT_TO_GRAVE)
e8:SetCountLimit(1,m+1)
e8:SetCondition(cm.discon)
e8:SetTarget(cm.sptg)
e8:SetOperation(cm.spop)
c:RegisterEffect(e8)
--remove counter
local e13=Effect.CreateEffect(c)
e13:SetDescription(aux.Stringid(m,6))
e13:SetType(EFFECT_TYPE_TRIGGER_F+EFFECT_TYPE_FIELD)
e13:SetRange(LOCATION_MZONE)
e13:SetCode(EVENT_PHASE+PHASE_END)
e13:SetCountLimit(1)
e13:SetCondition(cm.rccon)
e13:SetOperation(cm.rcop)
c:RegisterEffect(e13)
--Add counter
local e16=Effect.CreateEffect(c)
e16:SetType(EFFECT_TYPE_CONTINUOUS+EFFECT_TYPE_FIELD)
e16:SetCode(EVENT_CHAIN_SOLVING)
e16:SetProperty(EFFECT_FLAG_DELAY)
e16:SetRange(LOCATION_MZONE)
e16:SetOperation(cm.op0)
c:RegisterEffect(e16)
end
function cm.counterfilter(c)
return not c:IsSummonLocation(LOCATION_EXTRA)
end
function cm.spcfilter(c)
return c:IsType(TYPE_FIELD) and not c:IsPublic()
end
function cm.spcon0(e,c)
if c==nil then return true end
local tp=c:GetControler()
return Duel.GetLocationCount(tp,LOCATION_MZONE)>0
and Duel.IsExistingMatchingCard(cm.spcfilter,tp,LOCATION_HAND,0,1,nil)
end
function cm.spop0(e,tp,eg,ep,ev,re,r,rp,c)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_CONFIRM)
local g=Duel.SelectMatchingCard(tp,cm.spcfilter,tp,LOCATION_HAND,0,1,1,nil)
Duel.ConfirmCards(1-tp,g)
Duel.ShuffleHand(tp)
end
function cm.addcost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.GetCustomActivityCount(m,tp,ACTIVITY_SPSUMMON)==0 and Duel.IsCanRemoveCounter(tp,1,0,0x1,3,REASON_COST) end
local e1=Effect.CreateEffect(e:GetHandler())
e1:SetType(EFFECT_TYPE_FIELD)
e1:SetProperty(EFFECT_FLAG_PLAYER_TARGET+EFFECT_FLAG_OATH)
e1:SetCode(EFFECT_CANNOT_SPECIAL_SUMMON)
e1:SetReset(RESET_PHASE+PHASE_END)
e1:SetTargetRange(1,0)
e1:SetTarget(cm.splimit)
Duel.RegisterEffect(e1,tp)
Duel.RemoveCounter(tp,1,0,0x1,3,REASON_COST)
end
function cm.splimit(e,c)
return c:IsSummonLocation(LOCATION_EXTRA)
end
function cm.tg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return true end
end
function cm.op(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
Duel.Hint(HINT_SOUND,0,aux.Stringid(m,4))
Duel.SelectOption(tp,aux.Stringid(m,0))
Duel.SelectOption(1-tp,aux.Stringid(m,0))
c:RegisterFlagEffect(m,RESET_EVENT+RESETS_STANDARD+RESET_PHASE+PHASE_END,0,0)
c:RegisterFlagEffect(0,RESET_EVENT+RESETS_STANDARD+RESET_PHASE+PHASE_END,EFFECT_FLAG_CLIENT_HINT,1,0,aux.Stringid(m,1))
Duel.Hint(HINT_CARD,tp,30610016)
Duel.Hint(HINT_CARD,1-tp,30610016)
end
function cm.flcost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.GetCustomActivityCount(m,tp,ACTIVITY_SPSUMMON)==0 and Duel.IsCanRemoveCounter(tp,1,0,0x1,5,REASON_COST) end
local e1=Effect.CreateEffect(e:GetHandler())
e1:SetType(EFFECT_TYPE_FIELD)
e1:SetProperty(EFFECT_FLAG_PLAYER_TARGET+EFFECT_FLAG_OATH)
e1:SetCode(EFFECT_CANNOT_SPECIAL_SUMMON)
e1:SetReset(RESET_PHASE+PHASE_END)
e1:SetTargetRange(1,0)
e1:SetTarget(cm.splimit)
Duel.RegisterEffect(e1,tp)
Duel.RemoveCounter(tp,1,0,0x1,5,REASON_COST)
end
function cm.flcon(e,tp,eg,ep,ev,re,r,rp)
return e:GetHandler():GetFlagEffect(m)~=0
end
function cm.flfilter(c,tp)
return c:IsCode(30610020) and c:GetActivateEffect():IsActivatable(tp,true,true)
end
function cm.fltg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(cm.flfilter,tp,LOCATION_DECK+LOCATION_HAND+LOCATION_GRAVE,0,1,nil,tp) end
if not Duel.CheckPhaseActivity() then e:SetLabel(1) else e:SetLabel(0) end
end
function cm.flop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
Duel.Hint(HINT_SELECTMSG,tp,aux.Stringid(m,0))
if e:GetLabel()==1 then Duel.RegisterFlagEffect(tp,m-1,RESET_CHAIN,0,1) end
local tc=Duel.SelectMatchingCard(tp,cm.flfilter,tp,LOCATION_DECK+LOCATION_HAND+LOCATION_GRAVE,0,1,1,nil,tp):GetFirst()
Duel.ResetFlagEffect(tp,m-1)
if tc then
local fc=Duel.GetFieldCard(tp,LOCATION_FZONE,0)
if fc then
Duel.SendtoGrave(fc,REASON_RULE)
Duel.BreakEffect()
end
Duel.MoveToField(tc,tp,tp,LOCATION_FZONE,POS_FACEUP,true)
local te=tc:GetActivateEffect()
te:UseCountLimit(tp,1,true)
local tep=tc:GetControler()
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())
end
Duel.BreakEffect()
Duel.Hint(HINT_SOUND,0,aux.Stringid(m,5))
Duel.Hint(HINT_CARD,tp,30610016)
Duel.Hint(HINT_CARD,1-tp,30610016)
Duel.Hint(HINT_CARD,tp,30610017)
Duel.Hint(HINT_CARD,1-tp,30610017)
Duel.Hint(HINT_CARD,tp,30610018)
Duel.Hint(HINT_CARD,1-tp,30610018)
Duel.Hint(HINT_CARD,tp,30610019)
Duel.Hint(HINT_CARD,1-tp,30610019)
local g=Duel.GetMatchingGroup(Card.IsFaceup,tp,LOCATION_MZONE,0,nil)
Duel.ChangePosition(g,POS_FACEUP_DEFENSE,true)
Duel.BreakEffect()
local tg1=Duel.GetMatchingGroup(Card.IsFaceup,tp,LOCATION_MZONE,0,nil)
local tcc=tg1:GetFirst()
while tcc do
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetCode(EFFECT_UPDATE_DEFENSE)
e1:SetValue(1500)
e1:SetReset(RESET_EVENT+RESETS_STANDARD)
tcc:RegisterEffect(e1)
tcc=tg1:GetNext()
end
Duel.BreakEffect()
local tg2=Duel.GetMatchingGroup(Card.IsFaceup,tp,0,LOCATION_MZONE,nil)
local tc=tg2:GetFirst()
while tc do
local e2=Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_SINGLE)
e2:SetCode(EFFECT_SET_ATTACK_FINAL)
e2:SetValue(0)
e2:SetReset(RESET_EVENT+RESETS_STANDARD)
tc:RegisterEffect(e2)
tc=tg2:GetNext()
end
end
function cm.atkfilter(c)
return c:IsFaceup() and c:IsCode(30610020)
end
function cm.atkcon(e)
local c=e:GetHandler()
return Duel.IsExistingMatchingCard(cm.atkfilter,tp,LOCATION_ONFIELD,LOCATION_ONFIELD,1,nil)
end
function cm.efilter(e,te)
return te:GetOwner()~=e:GetOwner()
end
function cm.discon(e)
local c=e:GetHandler()
return Duel.IsExistingMatchingCard(cm.atkfilter,tp,LOCATION_ONFIELD,0,1,nil)
end
function cm.disable(e,c)
return c:IsType(TYPE_EFFECT) and c~=e:GetHandler()
end
function cm.sptg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.GetLocationCount(tp,LOCATION_MZONE)>0
and e:GetHandler():IsCanBeSpecialSummoned(e,0,tp,false,false) end
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,e:GetHandler(),1,0,0)
end
function cm.spop(e,tp,eg,ep,ev,re,r,rp)
if e:GetHandler():IsRelateToEffect(e) then
Duel.SpecialSummon(e:GetHandler(),0,tp,tp,false,false,POS_FACEUP)
end
end
function cm.rccon(e,tp,eg,ep,ev,re,r,rp)
return Duel.GetTurnPlayer()==tp
end
function cm.rcop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
if c:IsFaceup() and c:IsRelateToEffect(e) then
if c:IsCanRemoveCounter(tp,0x1,6,REASON_EFFECT) then
c:RemoveCounter(tp,0x1,6,REASON_EFFECT)
else
Duel.SendtoDeck(c,nil,SEQ_DECKBOTTOM,REASON_RULE)
end
end
end
function cm.op0(e,tp,eg,ep,ev,re,r,rp)
local c=re:GetHandler()
if re:IsHasType(EFFECT_TYPE_ACTIVATE) and re:IsActiveType(TYPE_SPELL) and c~=e:GetHandler() and rp==tp then
e:GetHandler():AddCounter(0x1,2)
end
end
--苏美尔的冥界
local m=30610020
local cm=_G["c"..m]
function cm.initial_effect(c)
c:EnableCounterPermit(0x1)
--Activate
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_ACTIVATE)
e1:SetCode(EVENT_FREE_CHAIN)
c:RegisterEffect(e1)
--race
local e2=Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_FIELD)
e2:SetRange(LOCATION_FZONE)
e2:SetTargetRange(LOCATION_MZONE+LOCATION_GRAVE,LOCATION_MZONE+LOCATION_GRAVE)
e2:SetCode(EFFECT_CHANGE_RACE)
e2:SetCondition(cm.condition)
e2:SetValue(RACE_FIEND)
c:RegisterEffect(e2)
--remove counter
local e3=Effect.CreateEffect(c)
e3:SetType(EFFECT_TYPE_TRIGGER_F+EFFECT_TYPE_FIELD)
e3:SetRange(LOCATION_SZONE)
e3:SetCode(EVENT_PHASE+PHASE_END)
e3:SetCountLimit(1)
e3:SetCondition(cm.rccon)
e3:SetOperation(cm.rcop)
c:RegisterEffect(e3)
--
local e5=Effect.CreateEffect(c)
e5:SetType(EFFECT_TYPE_FIELD)
e5:SetCode(EFFECT_CHANGE_GRAVE_RACE)
e5:SetRange(LOCATION_FZONE)
e5:SetProperty(EFFECT_FLAG_PLAYER_TARGET)
e5:SetTargetRange(1,1)
e5:SetCondition(cm.condition)
e5:SetValue(RACE_FIEND)
c:RegisterEffect(e5)
--Add counter
local e6=Effect.CreateEffect(c)
e6:SetType(EFFECT_TYPE_CONTINUOUS+EFFECT_TYPE_FIELD)
e6:SetCode(EVENT_CHAIN_SOLVING)
e6:SetProperty(EFFECT_FLAG_DELAY)
e6:SetRange(LOCATION_FZONE)
e6:SetOperation(cm.op)
c:RegisterEffect(e6)
end
function cm.condition(e)
local tp=e:GetHandlerPlayer()
return not Duel.IsPlayerAffectedByEffect(tp,EFFECT_NECRO_VALLEY)
and not Duel.IsPlayerAffectedByEffect(1-tp,EFFECT_NECRO_VALLEY)
end
function cm.rccon(e,tp,eg,ep,ev,re,r,rp)
return Duel.GetTurnPlayer()==tp
end
function cm.rcop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
if c:IsFaceup() and c:IsRelateToEffect(e) then
if c:IsCanRemoveCounter(tp,0x1,10,REASON_EFFECT) then
c:RemoveCounter(tp,0x1,10,REASON_EFFECT)
else
Duel.Destroy(c,REASON_EFFECT)
end
end
end
function cm.op(e,tp,eg,ep,ev,re,r,rp)
local c=re:GetHandler()
if re:IsHasType(EFFECT_TYPE_ACTIVATE) and re:IsActiveType(TYPE_SPELL) and c~=e:GetHandler() and rp==tp then
e:GetHandler():AddCounter(0x1,3)
end
end
--
function c64000000.initial_effect(c)
--cannot special summon
local e1=Effect.CreateEffect(c)
e1:SetProperty(EFFECT_FLAG_CANNOT_DISABLE+EFFECT_FLAG_UNCOPYABLE)
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetCode(EFFECT_SPSUMMON_CONDITION)
e1:SetValue(aux.FALSE)
c:RegisterEffect(e1)
--summon with no tribute
local e2=Effect.CreateEffect(c)
e2:SetDescription(aux.Stringid(64000000,0))
e2:SetType(EFFECT_TYPE_SINGLE)
e2:SetCode(EFFECT_SUMMON_PROC)
e2:SetCondition(c64000000.ntcon)
c:RegisterEffect(e2)
local e7=e2:Clone()
e7:SetCode(EFFECT_SET_PROC)
c:RegisterEffect(e7)
--change atk
local e3=Effect.CreateEffect(c)
e3:SetType(EFFECT_TYPE_SINGLE)
e3:SetCode(EFFECT_SUMMON_COST)
e3:SetProperty(EFFECT_FLAG_CANNOT_DISABLE)
e3:SetOperation(c64000000.atkop)
c:RegisterEffect(e3)
--summon in hand
local e4=Effect.CreateEffect(c)
e4:SetCategory(CATEGORY_SUMMON)
e4:SetType(EFFECT_TYPE_IGNITION)
e4:SetRange(LOCATION_HAND)
e4:SetCountLimit(1,64000000)
e4:SetCondition(c64000000.smcon)
e4:SetOperation(c64000000.smop)
c:RegisterEffect(e4)
--search
local e5=Effect.CreateEffect(c)
e5:SetCategory(CATEGORY_TOHAND+CATEGORY_SEARCH)
e5:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_O)
e5:SetProperty(EFFECT_FLAG_DELAY)
e5:SetCode(EVENT_SUMMON_SUCCESS)
e5:SetCountLimit(1,64000007)
e5:SetTarget(c64000000.thtg)
e5:SetOperation(c64000000.thop)
c:RegisterEffect(e5)
local e6=e5:Clone()
e6:SetCode(EVENT_FLIP)
c:RegisterEffect(e6)
end
function c64000000.ntcon(e,c,minc)
if c==nil then return true end
return minc==0 and Duel.GetLocationCount(c:GetControler(),LOCATION_MZONE)>0
end
function c64000000.atkcon(e)
return e:GetHandler():GetMaterialCount()==0
end
function c64000000.atkop(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_ATTACK)
e1:SetProperty(EFFECT_FLAG_SINGLE_RANGE)
e1:SetRange(LOCATION_MZONE)
e1:SetCondition(c64000000.atkcon)
e1:SetValue(-600)
e1:SetReset(RESET_EVENT+0xff0000)
c:RegisterEffect(e1)
end
function c64000000.smfilter(c)
return c:GetOriginalRace()==RACE_INSECT
end
function c64000000.smcon(e,tp,eg,ep,ev,re,r,rp)
return (Duel.GetFieldGroupCount(tp,LOCATION_MZONE,0)==0 or Duel.IsExistingMatchingCard(c64000000.smfilter,tp,LOCATION_MZONE,0,1,nil))
end
function c64000000.smtg(e,tp,eg,ep,ev,re,r,rp,chk)
local c=e:GetHandler()
if chk==0 then return c:IsSummonable(true,nil) end
Duel.SetOperationInfo(0,CATEGORY_SUMMON,c,1,0,0)
end
function c64000000.smop(e,tp,eg,ep,ev,re,r,rp)
local tc=e:GetHandler()
if tc then
if tc:IsSummonable(true,nil) and (not tc:IsMSetable(true,nil)
or Duel.SelectPosition(tp,tc,POS_FACEUP_ATTACK+POS_FACEDOWN_DEFENSE)==POS_FACEUP_ATTACK) then
Duel.Summon(tp,tc,true,nil)
else Duel.MSet(tp,tc,true,nil)
end
end
end
function c64000000.thfilter(c)
return c:IsCode(64000001) and c:IsAbleToHand()
end
function c64000000.thtg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(c64000000.thfilter,tp,LOCATION_DECK+LOCATION_GRAVE,0,1,nil) end
Duel.SetOperationInfo(0,CATEGORY_TOHAND,nil,1,tp,LOCATION_DECK+LOCATION_GRAVE)
end
function c64000000.thop(e,tp,eg,ep,ev,re,r,rp)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_ATOHAND)
local g=Duel.SelectMatchingCard(tp,c64000000.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
\ No newline at end of file
--混蛾虫 沙丽雅
function c64000001.initial_effect(c)
--cannot special summon
local e1=Effect.CreateEffect(c)
e1:SetProperty(EFFECT_FLAG_CANNOT_DISABLE+EFFECT_FLAG_UNCOPYABLE)
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetCode(EFFECT_SPSUMMON_CONDITION)
e1:SetValue(aux.FALSE)
c:RegisterEffect(e1)
--summon with no tribute
local e2=Effect.CreateEffect(c)
e2:SetDescription(aux.Stringid(64000001,0))
e2:SetType(EFFECT_TYPE_SINGLE)
e2:SetCode(EFFECT_SUMMON_PROC)
e2:SetCondition(c64000001.ntcon)
c:RegisterEffect(e2)
local e7=e2:Clone()
e7:SetCode(EFFECT_SET_PROC)
c:RegisterEffect(e7)
--change atk
local e3=Effect.CreateEffect(c)
e3:SetType(EFFECT_TYPE_SINGLE)
e3:SetCode(EFFECT_SUMMON_COST)
e3:SetProperty(EFFECT_FLAG_CANNOT_DISABLE)
e3:SetOperation(c64000001.atkop)
c:RegisterEffect(e3)
--summon in hand
local e4=Effect.CreateEffect(c)
e4:SetCategory(CATEGORY_SUMMON)
e4:SetType(EFFECT_TYPE_IGNITION)
e4:SetRange(LOCATION_HAND)
e4:SetCountLimit(1,64000001)
e4:SetCondition(c64000001.smcon)
e4:SetOperation(c64000001.smop)
c:RegisterEffect(e4)
--search
local e5=Effect.CreateEffect(c)
e5:SetCategory(CATEGORY_TOHAND+CATEGORY_SEARCH)
e5:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_O)
e5:SetProperty(EFFECT_FLAG_DELAY)
e5:SetCode(EVENT_SUMMON_SUCCESS)
e5:SetCountLimit(1,64000008)
e5:SetTarget(c64000001.thtg)
e5:SetOperation(c64000001.thop)
c:RegisterEffect(e5)
local e6=e5:Clone()
e6:SetCode(EVENT_FLIP)
c:RegisterEffect(e6)
end
function c64000001.ntcon(e,c,minc)
if c==nil then return true end
return minc==0 and Duel.GetLocationCount(c:GetControler(),LOCATION_MZONE)>0
end
function c64000001.atkcon(e)
return e:GetHandler():GetMaterialCount()==0
end
function c64000001.atkop(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_ATTACK)
e1:SetProperty(EFFECT_FLAG_SINGLE_RANGE)
e1:SetRange(LOCATION_MZONE)
e1:SetCondition(c64000001.atkcon)
e1:SetValue(-600)
e1:SetReset(RESET_EVENT+0xff0000)
c:RegisterEffect(e1)
end
function c64000001.smfilter(c)
return c:GetOriginalRace()==RACE_INSECT
end
function c64000001.smcon(e,tp,eg,ep,ev,re,r,rp)
return (Duel.GetFieldGroupCount(tp,LOCATION_MZONE,0)==0 or Duel.IsExistingMatchingCard(c64000001.smfilter,tp,LOCATION_MZONE,0,1,nil))
end
function c64000001.smtg(e,tp,eg,ep,ev,re,r,rp,chk)
local c=e:GetHandler()
if chk==0 then return c:IsSummonable(true,nil) end
Duel.SetOperationInfo(0,CATEGORY_SUMMON,c,1,0,0)
end
function c64000001.smop(e,tp,eg,ep,ev,re,r,rp)
local tc=e:GetHandler()
if tc then
if tc:IsSummonable(true,nil) and (not tc:IsMSetable(true,nil)
or Duel.SelectPosition(tp,tc,POS_FACEUP_ATTACK+POS_FACEDOWN_DEFENSE)==POS_FACEUP_ATTACK) then
Duel.Summon(tp,tc,true,nil)
else Duel.MSet(tp,tc,true,nil)
end
end
end
function c64000001.thfilter(c)
return c:IsCode(64000000) and c:IsAbleToHand()
end
function c64000001.thtg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(c64000001.thfilter,tp,LOCATION_DECK+LOCATION_GRAVE,0,1,nil) end
Duel.SetOperationInfo(0,CATEGORY_TOHAND,nil,1,tp,LOCATION_DECK+LOCATION_GRAVE)
end
function c64000001.thop(e,tp,eg,ep,ev,re,r,rp)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_ATOHAND)
local g=Duel.SelectMatchingCard(tp,c64000001.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
\ No newline at end of file
--巨虫的伏击
function c64000002.initial_effect(c)
--to hand
local e1=Effect.CreateEffect(c)
e1:SetCategory(CATEGORY_SEARCH+CATEGORY_TOHAND)
e1:SetType(EFFECT_TYPE_ACTIVATE)
e1:SetCode(EVENT_FREE_CHAIN)
e1:SetCountLimit(1,64000002+EFFECT_COUNT_CODE_OATH)
e1:SetTarget(c64000002.thtg)
e1:SetOperation(c64000002.thop)
c:RegisterEffect(e1)
--to deck
local e2=Effect.CreateEffect(c)
e2:SetCategory(CATEGORY_TODECK)
e2:SetType(EFFECT_TYPE_QUICK_O)
e2:SetCode(EVENT_FREE_CHAIN)
e2:SetProperty(EFFECT_FLAG_CARD_TARGET)
e2:SetHintTiming(0,TIMING_BATTLE_START+TIMING_END_PHASE)
e2:SetRange(LOCATION_GRAVE)
e2:SetCondition(c64000002.tdcon)
e2:SetCost(aux.bfgcost)
e2:SetCountLimit(1,64000002)
e2:SetTarget(c64000002.tdtg)
e2:SetOperation(c64000002.tdop)
c:RegisterEffect(e2)
end
function c64000002.thfilter(c)
return c:IsLevelAbove(5) and c:IsRace(RACE_INSECT) and c:IsType(TYPE_MONSTER) and c:IsAbleToHand()
end
function c64000002.thtg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(c64000002.thfilter,tp,LOCATION_DECK+LOCATION_GRAVE,0,1,nil) end
Duel.SetOperationInfo(0,CATEGORY_TOHAND,nil,1,tp,LOCATION_DECK+LOCATION_GRAVE)
end
function c64000002.thop(e,tp,eg,ep,ev,re,r,rp)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_ATOHAND)
local g=Duel.SelectMatchingCard(tp,c64000002.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 c64000002.tdfilter(c)
return c:GetOriginalRace()==RACE_INSECT and c:IsLevelAbove(5)
end
function c64000002.tdcon(e,tp,eg,ep,ev,re,r,rp)
return Duel.IsExistingMatchingCard(c64000002.tdfilter,tp,LOCATION_MZONE,0,1,nil)and Duel.GetTurnCount()~=e:GetHandler():GetTurnID()
end
function c64000002.tdtg(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
if chkc then return chkc:IsLocation(LOCATION_ONFIELD+LOCATION_GRAVE+LOCATION_REMOVED) and chkc:IsControler(1-tp) and chkc:IsAbleToDeck() end
if chk==0 then return Duel.IsExistingTarget(Card.IsAbleToDeck,tp,0,LOCATION_ONFIELD+LOCATION_GRAVE+LOCATION_REMOVED,1,nil) end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TODECK)
local g=Duel.SelectTarget(tp,Card.IsAbleToDeck,tp,0,LOCATION_ONFIELD+LOCATION_GRAVE+LOCATION_REMOVED,1,1,nil)
Duel.SetOperationInfo(0,CATEGORY_TODECK,g,1,0,0)
end
function c64000002.tdop(e,tp,eg,ep,ev,re,r,rp)
local tc=Duel.GetFirstTarget()
if tc:IsRelateToEffect(e) then
Duel.DisableShuffleCheck()
Duel.SendtoDeck(tc,nil,SEQ_DECKBOTTOM,REASON_EFFECT)
end
end
\ No newline at end of file
--迷夜璃幻蛛
function c64000003.initial_effect(c)
aux.AddSynchroProcedure(c,nil,aux.NonTuner(nil),1)
c:EnableReviveLimit()
--spsummon
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_FIELD)
e1:SetProperty(EFFECT_FLAG_CANNOT_DISABLE+EFFECT_FLAG_UNCOPYABLE)
e1:SetCode(EFFECT_SPSUMMON_PROC)
e1:SetRange(LOCATION_EXTRA)
e1:SetCountLimit(1,64000003+EFFECT_COUNT_CODE_OATH)
e1:SetCondition(c64000003.hspcon)
e1:SetOperation(c64000003.hspop)
c:RegisterEffect(e1)
--immune
local e2=Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_SINGLE)
e2:SetProperty(EFFECT_FLAG_SINGLE_RANGE)
e2:SetRange(LOCATION_MZONE)
e2:SetCode(EFFECT_IMMUNE_EFFECT)
e2:SetValue(c64000003.efilter)
c:RegisterEffect(e2)
--negative
local e3=Effect.CreateEffect(c)
e3:SetCategory(CATEGORY_DISABLE)
e3:SetType(EFFECT_TYPE_QUICK_O)
e3:SetCode(EVENT_FREE_CHAIN)
e3:SetRange(LOCATION_MZONE)
e3:SetCost(c64000003.cost)
e3:SetCountLimit(1,64000010)
e3:SetHintTiming(0,TIMINGS_CHECK_MONSTER+TIMING_END_PHASE)
e3:SetOperation(c64000003.ngop)
c:RegisterEffect(e3)
end
function c64000003.hspfilter(c,tp,sc)
return c:IsLevelAbove(5) and c:GetOriginalRace()==RACE_INSECT and c:IsControler(tp) and Duel.GetLocationCountFromEx(tp,tp,c,sc)>0 and not c:IsCode(64000003)
end
function c64000003.hspcon(e,c)
if c==nil then return true end
return Duel.CheckReleaseGroup(c:GetControler(),c64000003.hspfilter,1,nil,c:GetControler(),c)
end
function c64000003.hspop(e,tp,eg,ep,ev,re,r,rp,c)
local sug=Duel.SelectReleaseGroup(tp,c64000003.hspfilter,1,1,nil,tp,c)
c:SetMaterial(sug)
Duel.Release(sug,REASON_COST)
end
function c64000003.efilter(e,te)
if te:GetOwner()==e:GetOwner() then return false end
if not te:IsHasProperty(EFFECT_FLAG_CARD_TARGET) then return true end
local tg=Duel.GetChainInfo(0,CHAININFO_TARGET_CARDS)
local mc=tg:GetCount()
if mc~=1 then return true end
return not tg or not tg:IsContains(e:GetHandler())
end
function c64000003.filter1(c)
return c:IsType(TYPE_SPELL+TYPE_TRAP) or (c:IsType(TYPE_MONSTER) and c:IsReleasable())
end
function c64000003.cost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(c64000003.filter1,tp,LOCATION_ONFIELD+LOCATION_HAND,0,1,e:GetHandler()) end
local fg=Duel.GetMatchingGroup(c64000003.filter1,tp,LOCATION_ONFIELD+LOCATION_HAND,0,e:GetHandler())
if fg:GetCount()==0 then return end
Duel.BreakEffect()
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_RELEASE)
local og=fg:Select(tp,1,1,nil)
Duel.HintSelection(og)
local nc=og:GetFirst()
Duel.Release(nc,REASON_COST)
end
function c64000003.ngop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
local g=Duel.GetMatchingGroup(Card.IsFaceup,tp,LOCATION_ONFIELD,LOCATION_ONFIELD,nil)
if g:GetCount()==0 then return end
Duel.BreakEffect()
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_FACEUP)
local sg=g:Select(tp,1,1,nil)
Duel.HintSelection(sg)
local tc=sg:GetFirst()
Duel.NegateRelatedChain(tc,RESET_TURN_SET)
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetCode(EFFECT_DISABLE)
tc:RegisterEffect(e1)
local e2=Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_SINGLE)
e2:SetCode(EFFECT_DISABLE_EFFECT)
e2:SetValue(RESET_TURN_SET)
tc:RegisterEffect(e2)
end
\ No newline at end of file
--灾临祸毒虫
function c64000004.initial_effect(c)
aux.AddFusionProcFunFun(c,c64000004.fusion,c64000004.fusion1,1)
c:EnableReviveLimit()
--spsummon
local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(64000004,1))
e1:SetType(EFFECT_TYPE_FIELD)
e1:SetProperty(EFFECT_FLAG_CANNOT_DISABLE+EFFECT_FLAG_UNCOPYABLE)
e1:SetCode(EFFECT_SPSUMMON_PROC)
e1:SetRange(LOCATION_EXTRA)
e1:SetCountLimit(1,64000004+EFFECT_COUNT_CODE_OATH)
e1:SetCondition(c64000004.hspcon)
e1:SetOperation(c64000004.hspop)
c:RegisterEffect(e1)
local e2=Effect.CreateEffect(c)
e2:SetDescription(aux.Stringid(64000004,0))
e2:SetType(EFFECT_TYPE_FIELD)
e2:SetProperty(EFFECT_FLAG_CANNOT_DISABLE+EFFECT_FLAG_UNCOPYABLE)
e2:SetCode(EFFECT_SPSUMMON_PROC)
e2:SetRange(LOCATION_EXTRA)
e2:SetCountLimit(1,64000004+EFFECT_COUNT_CODE_OATH)
e2:SetCondition(c64000004.hspcon1)
e2:SetOperation(c64000004.hspop1)
c:RegisterEffect(e2)
--immune
local e3=Effect.CreateEffect(c)
e3:SetType(EFFECT_TYPE_SINGLE)
e3:SetProperty(EFFECT_FLAG_SINGLE_RANGE)
e3:SetRange(LOCATION_MZONE)
e3:SetCode(EFFECT_IMMUNE_EFFECT)
e3:SetValue(c64000004.efilter)
c:RegisterEffect(e3)
--remove
local e3=Effect.CreateEffect(c)
e3:SetCategory(CATEGORY_REMOVE+CATEGORY_DRAW)
e3:SetType(EFFECT_TYPE_QUICK_O)
e3:SetCode(EVENT_FREE_CHAIN)
e3:SetRange(LOCATION_MZONE)
e3:SetCountLimit(1,64000011)
e3:SetHintTiming(0,TIMINGS_CHECK_MONSTER+TIMING_END_PHASE)
e3:SetCondition(c64000004.rmcon)
e3:SetTarget(c64000004.rmtg)
e3:SetOperation(c64000004.rmop)
c:RegisterEffect(e3)
end
function c64000004.fusion(c)
return c:GetOriginalRace()==RACE_INSECT and c:IsLevelAbove(5) and c:IsType(TYPE_MONSTER) and c:IsCanBeFusionMaterial(sc,SUMMON_TYPE_SPECIAL)
end
function c64000004.fusion1(c)
return c:GetOriginalRace()==RACE_INSECT and c:IsType(TYPE_MONSTER) and c:IsCanBeFusionMaterial(sc,SUMMON_TYPE_SPECIAL)
end
function c64000004.hspfilter(c,tp,sc)
return c:GetOriginalRace()==RACE_INSECT and c:IsLevelAbove(5) and c:IsType(TYPE_MONSTER) and c:IsLevelAbove(5)
and c:IsControler(tp) and Duel.GetLocationCountFromEx(tp,tp,c,sc)>0
end
function c64000004.hspfilter1(c,tp,sc)
return c:GetOriginalRace()==RACE_INSECT and c:IsType(TYPE_MONSTER) and c:IsControler(tp) and Duel.GetLocationCountFromEx(tp,tp,c,sc)>0
end
function c64000004.hspfilter2(c,tp,sc)
return c:IsType(TYPE_MONSTER)
end
function c64000004.hspcon(e,c)
if c==nil then return true end
local tp=c:GetControler()
local fu=Duel.GetMatchingGroup(c64000004.hspfilter2,tp,LOCATION_ONFIELD,0,1,nil,tp,c)
local fu1=Duel.GetMatchingGroup(c64000004.hspfilter2,tp,LOCATION_GRAVE,0,1,nil,tp,c)
return fu:IsExists(c64000004.hspfilter,1,nil,tp,g,c) and fu1:IsExists(c64000004.hspfilter1,1,nil,tp,g,c)
end
function c64000004.hspop(e,tp,eg,ep,ev,re,r,rp,c)
local fu=Duel.GetMatchingGroup(c64000004.hspfilter2,tp,LOCATION_ONFIELD,0,1,nil,tp,c)
local fu1=Duel.GetMatchingGroup(c64000004.hspfilter2,tp,LOCATION_GRAVE,0,1,nil,tp,c)
local eu=fu:FilterSelect(tp,c64000004.hspfilter,1,1,nil,tp,c)
local du=eu:GetFirst()
local eu1=fu1:FilterSelect(tp,c64000004.hspfilter1,1,1,nil,tp,c)
local du1=eu1:GetFirst()
if du:IsPosition(POS_FACEDOWN) then
Duel.ConfirmCards(1-tp,du) end
eu:Merge(eu1)
Duel.SendtoDeck(eu,nil,SEQ_DECKSHUFFLE,REASON_COST)
end
function c64000004.hspcon1(e,c)
if c==nil then return true end
local tp=c:GetControler()
local fu2=Duel.GetMatchingGroup(c64000004.hspfilter2,tp,LOCATION_ONFIELD,0,1,nil,tp,c)
local fu3=Duel.GetMatchingGroup(c64000004.hspfilter2,tp,LOCATION_GRAVE,0,1,nil,tp,c)
return fu3:IsExists(c64000004.hspfilter,1,nil,tp,g,c) and fu2:IsExists(c64000004.hspfilter1,1,nil,tp,g,c)
end
function c64000004.hspop1(e,tp,eg,ep,ev,re,r,rp,c)
local fu2=Duel.GetMatchingGroup(c64000004.hspfilter2,tp,LOCATION_ONFIELD,0,1,nil,tp,c)
local fu3=Duel.GetMatchingGroup(c64000004.hspfilter2,tp,LOCATION_GRAVE,0,1,nil,tp,c)
local eu2=fu2:FilterSelect(tp,c64000004.hspfilter1,1,1,nil,tp,c)
local du2=eu2:GetFirst()
local eu3=fu3:FilterSelect(tp,c64000004.hspfilter,1,1,nil,tp,c)
local du3=eu3:GetFirst()
if du2:IsPosition(POS_FACEDOWN) then
Duel.ConfirmCards(1-tp,du2) end
eu2:Merge(eu3)
Duel.SendtoDeck(eu2,nil,SEQ_DECKSHUFFLE,REASON_COST)
end
function c64000004.efilter(e,te)
if te:GetOwner()==e:GetOwner() then return false end
if not te:IsHasProperty(EFFECT_FLAG_CARD_TARGET) then return true end
local tg=Duel.GetChainInfo(0,CHAININFO_TARGET_CARDS)
local mc=tg:GetCount()
if mc~=1 then return true end
return not tg or not tg:IsContains(e:GetHandler())
end
function c64000004.rmcon(e,tp,eg,ep,ev,re,r,rp)
return Duel.GetFlagEffect(tp,64000004)==0
end
function c64000004.rmtg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsPlayerCanDraw(tp,1) end
Duel.SetTargetPlayer(tp)
Duel.SetTargetParam(1)
Duel.SetOperationInfo(0,CATEGORY_DRAW,nil,0,tp,1)
Duel.SetOperationInfo(0,CATEGORY_REMOVE,nil,0,tp,2)
end
function c64000004.rmfilter(c,e,tp)
return c:IsRace(RACE_INSECT)
end
function c64000004.rmfilter1(c,e,tp)
return c:IsAbleToRemove()
end
function c64000004.rmop(e,tp,eg,ep,ev,re,r,rp)
Duel.ConfirmDecktop(tp,5)
local g=Duel.GetDecktopGroup(tp,5)
local ct=g:FilterCount(c64000004.rmfilter,nil,e,tp)
local ct1=g:GetCount()
if ct>0
and Duel.SelectYesNo(tp,aux.Stringid(64000004,2)) then
Duel.DisableShuffleCheck()
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_REMOVE)
local rmg=Duel.SelectTarget(tp,c64000004.rmfilter1,tp,LOCATION_ONFIELD,LOCATION_ONFIELD,1,ct,e:GetHandler(),tp)
Duel.Remove(rmg,POS_FACEDOWN,REASON_EFFECT)
end
if ct1>0 then
Duel.SortDecktop(tp,tp,ct1)
for i=1,ct do
local mg=Duel.GetDecktopGroup(tp,1)
Duel.MoveSequence(mg:GetFirst(),SEQ_DECKTOP)
end
end
Duel.Draw(tp,1,REASON_EFFECT)
Duel.RegisterFlagEffect(tp,64000004,RESET_PHASE+PHASE_END,0,2)
end
\ No newline at end of file
--天魔幽女
function c64000005.initial_effect(c)
local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(64000005,0))
e1:SetCategory(CATEGORY_REMOVE)
e1:SetType(EFFECT_TYPE_QUICK_O)
e1:SetCode(EVENT_TO_GRAVE)
e1:SetRange(LOCATION_MZONE+LOCATION_HAND)
e1:SetProperty(EFFECT_FLAG_CARD_TARGET+EFFECT_FLAG_DAMAGE_STEP)
e1:SetCountLimit(1,64000005)
e1:SetCost(c64000005.cost)
e1:SetTarget(c64000005.target)
e1:SetOperation(c64000005.operation)
c:RegisterEffect(e1)
local e2=e1:Clone()
e2:SetDescription(aux.Stringid(64000005,1))
e2:SetCode(EVENT_RETURN_TO_GRAVE)
e2:SetCondition(c64000005.condition)
c:RegisterEffect(e2)
end
function c64000005.filter(c)
return c:IsPreviousLocation(LOCATION_REMOVED)
end
function c64000005.condition(e,tp,eg,ep,ev,re,r,rp)
return eg:IsExists(c64000005.filter,1,nil)
end
function c64000005.cost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return e:GetHandler():IsReleasable() end
Duel.Release(e:GetHandler(),REASON_COST)
end
function c64000005.target(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
if chkc then return chkc:IsLocation(LOCATION_GRAVE) and chkc:IsAbleToRemove() end
if chk==0 then return Duel.IsExistingTarget(Card.IsAbleToRemove,tp,LOCATION_GRAVE,LOCATION_GRAVE,1,nil) end
local ct=3
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_REMOVE)
local g=Duel.SelectTarget(tp,Card.IsAbleToRemove,tp,LOCATION_GRAVE,LOCATION_GRAVE,1,ct,nil)
Duel.SetOperationInfo(0,CATEGORY_REMOVE,g,g:GetCount(),0,0)
end
function c64000005.operation(e,tp,eg,ep,ev,re,r,rp)
local g=Duel.GetChainInfo(0,CHAININFO_TARGET_CARDS)
local tg=g:Filter(Card.IsRelateToEffect,nil,e)
if tg:GetCount()>0 then
Duel.Remove(tg,nil,nil,REASON_EFFECT)
end
end
--再诞的圣灵
function c64000006.initial_effect(c)
--link summon
aux.AddLinkProcedure(c,nil,2,2,c64000006.lcheck)
c:EnableReviveLimit()
--extra material
local e2=Effect.CreateEffect(c)
e2:SetDescription(aux.Stringid(64000006,0))
e2:SetType(EFFECT_TYPE_FIELD)
e2:SetProperty(EFFECT_FLAG_UNCOPYABLE+EFFECT_FLAG_IGNORE_IMMUNE+EFFECT_FLAG_CANNOT_DISABLE)
e2:SetCode(EFFECT_SPSUMMON_PROC)
e2:SetRange(LOCATION_EXTRA)
e2:SetCondition(c64000006.linkcon)
e2:SetOperation(c64000006.linkop)
e2:SetValue(SUMMON_TYPE_LINK)
local e3=Effect.CreateEffect(c)
e3:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_GRANT)
e3:SetRange(LOCATION_MZONE)
e3:SetTargetRange(LOCATION_EXTRA,0)
e3:SetTarget(c64000006.mattg)
e3:SetLabelObject(e2)
c:RegisterEffect(e3)
--spsummon
local e4=Effect.CreateEffect(c)
e4:SetCategory(CATEGORY_SPECIAL_SUMMON)
e4:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_O)
e4:SetCode(EVENT_SPSUMMON_SUCCESS)
e4:SetCountLimit(1,64000006)
e4:SetRange(LOCATION_MZONE)
e4:SetProperty(EFFECT_FLAG_CARD_TARGET)
e4:SetTarget(c64000006.sptg)
e4:SetOperation(c64000006.spop)
c:RegisterEffect(e4)
--link summon
local e5=Effect.CreateEffect(c)
e5:SetDescription(aux.Stringid(64000006,1))
e5:SetCategory(CATEGORY_SPECIAL_SUMMON)
e5:SetType(EFFECT_TYPE_QUICK_O)
e5:SetCode(EVENT_FREE_CHAIN)
e5:SetHintTiming(0,TIMINGS_CHECK_MONSTER+TIMING_MAIN_END+EFFECT_FLAG_DAMAGE_STEP)
e5:SetRange(LOCATION_MZONE)
e5:SetCountLimit(1,64000012)
e5:SetCondition(c64000006.lkcon)
e5:SetTarget(c64000006.lktg)
e5:SetOperation(c64000006.lkop)
c:RegisterEffect(e5)
--apply the effect
local e6=Effect.CreateEffect(c)
e6:SetDescription(aux.Stringid(64000006,2))
e6:SetCategory(CATEGORY_REMOVE)
e6:SetType(EFFECT_TYPE_QUICK_O)
e6:SetCode(EVENT_FREE_CHAIN)
e6:SetRange(LOCATION_MZONE)
e6:SetHintTiming(0,TIMINGS_CHECK_MONSTER+TIMING_END_PHASE+EFFECT_FLAG_DAMAGE_STEP)
e6:SetCountLimit(1,64000013)
e6:SetCondition(c64000006.effcon)
e6:SetTarget(c64000006.efftg)
e6:SetOperation(c64000006.effop)
c:RegisterEffect(e6)
local e7=Effect.CreateEffect(c)
e7:SetType(EFFECT_TYPE_SINGLE)
e7:SetCode(EFFECT_MATERIAL_CHECK)
e7:SetValue(c64000006.valcheck)
e7:SetLabelObject(e6)
c:RegisterEffect(e7)
end
function c64000006.lcheck(g,lc)
return g:IsExists(Card.IsLinkType,1,nil,TYPE_DUAL)
end
function c64000006.lmfilter(c,lc,tp,og,lmat)
return c:IsFaceup() and c:IsCanBeLinkMaterial(lc) and c:IsLinkCode(lc:GetCode()) and c:IsLinkType(TYPE_LINK)
and Duel.GetLocationCountFromEx(tp,tp,c,lc)>0 and aux.MustMaterialCheck(c,tp,EFFECT_MUST_BE_LMATERIAL)
and (not og or og:IsContains(c)) and (not lmat or lmat==c)
end
function c64000006.linkcon(e,c,og,lmat,min,max)
if c==nil then return true end
local tp=c:GetControler()
return Duel.IsExistingMatchingCard(c64000006.lmfilter,tp,LOCATION_MZONE,0,1,nil,c,tp,og,lmat)
end
function c64000006.linkop(e,tp,eg,ep,ev,re,r,rp,c,og,lmat,min,max)
local mg=Duel.SelectMatchingCard(tp,c64000006.lmfilter,tp,LOCATION_MZONE,0,1,1,nil,c,tp,og,lmat)
c:SetMaterial(mg)
Duel.SendtoGrave(mg,REASON_MATERIAL+REASON_LINK)
end
function c64000006.mattg(e,c)
return c:IsCode(64000006)
end
function c64000006.spfilter(c,e,sp)
return c:IsType(TYPE_DUAL) and c:IsCanBeSpecialSummoned(e,0,sp,false,false)
end
function c64000006.sptg(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
if chkc then return chkc:IsLocation(LOCATION_GRAVE) and chkc:IsControler(tp) and c64000006.spfilter(chkc,e,tp) end
if chk==0 then return Duel.GetLocationCount(tp,LOCATION_MZONE)>-1
and Duel.IsExistingTarget(c64000006.spfilter,tp,LOCATION_GRAVE,0,1,nil,e,tp) end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON)
local g=Duel.SelectTarget(tp,c64000006.spfilter,tp,LOCATION_GRAVE,0,1,1,nil,e,tp)
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,g,1,0,0)
end
function c64000006.spop(e,tp,eg,ep,ev,re,r,rp)
local tc=Duel.GetFirstTarget()
if tc:IsRelateToEffect(e) and Duel.SpecialSummonStep(tc,0,tp,tp,false,false,POS_FACEUP) then
tc:EnableDualState()
end
Duel.SpecialSummonComplete()
end
function c64000006.lkcon(e,tp,eg,ep,ev,re,r,rp)
return Duel.GetTurnPlayer()~=tp
and (Duel.GetCurrentPhase()==PHASE_MAIN1 or Duel.GetCurrentPhase()==PHASE_MAIN2 or (Duel.GetCurrentPhase()>=PHASE_BATTLE_START and Duel.GetCurrentPhase()<=PHASE_BATTLE))
end
function c64000006.lktg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(Card.IsLinkSummonable,tp,LOCATION_EXTRA,0,1,nil,nil,e:GetHandler()) end
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,1,tp,LOCATION_EXTRA)
end
function c64000006.lkop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
if c:IsControler(1-tp) or not c:IsRelateToEffect(e) or c:IsFacedown() then return end
local g=Duel.GetMatchingGroup(Card.IsLinkSummonable,tp,LOCATION_EXTRA,0,nil,nil,c)
if g:GetCount()>0 then
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON)
local sg=g:Select(tp,1,1,nil)
Duel.LinkSummon(tp,sg:GetFirst(),nil,c)
end
end
function c64000006.valcheck(e,c)
local vg=c:GetMaterial()
if vg:IsExists(Card.IsLinkCode,1,nil,64000006) then
e:GetLabelObject():SetLabel(1)
else
e:GetLabelObject():SetLabel(0)
end
end
function c64000006.effcon(e,tp,eg,ep,ev,re,r,rp)
return e:GetHandler():IsSummonType(SUMMON_TYPE_LINK) and e:GetLabel()==1
end
function c64000006.efftg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingTarget(nil,tp,LOCATION_ONFIELD,LOCATION_ONFIELD,1,e:GetHandler()) end
Duel.SetOperationInfo(0,CATEGORY_REMOVE,nil,0,tp,LOCATION_ONFIELD)
end
function c64000006.effop(e,tp,eg,ep,ev,re,r,rp)
local rmg=Duel.SelectTarget(tp,nil,tp,LOCATION_ONFIELD,LOCATION_ONFIELD,1,1,e:GetHandler())
Duel.Remove(rmg,POS_FACEDOWN,REASON_EFFECT)
end
\ No newline at end of file
--幻星彩河之魔女
function c64000007.initial_effect(c)
aux.AddLinkProcedure(c,nil,2,3,c64000007.lcheck)
c:EnableReviveLimit()
--immune
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetCode(EFFECT_IMMUNE_EFFECT)
e1:SetProperty(EFFECT_FLAG_SINGLE_RANGE+EFFECT_FLAG_SET_AVAILABLE+EFFECT_FLAG_IGNORE_IMMUNE)
e1:SetRange(LOCATION_ONFIELD)
e1:SetCondition(c64000007.efcon)
e1:SetValue(c64000007.efilter)
c:RegisterEffect(e1)
local e2=Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_GRANT)
e2:SetRange(LOCATION_MZONE)
e2:SetTargetRange(LOCATION_ONFIELD,0)
e2:SetTarget(c64000007.eftg)
e2:SetLabelObject(e1)
c:RegisterEffect(e2)
--P Summon
local e3=Effect.CreateEffect(c)
e3:SetDescription(aux.Stringid(64000007,0))
e3:SetCategory(CATEGORY_SPECIAL_SUMMON)
e3:SetType(EFFECT_TYPE_QUICK_O)
e3:SetCode(EVENT_FREE_CHAIN)
e3:SetRange(LOCATION_MZONE)
e3:SetHintTiming(0,TIMINGS_CHECK_MONSTER+TIMING_END_PHASE)
e3:SetCountLimit(1,64000013)
e3:SetCondition(c64000007.pcon)
e3:SetTarget(c64000007.ptg)
e3:SetOperation(c64000007.pop)
c:RegisterEffect(e3)
local e5=e3:Clone()
e5:SetCondition(c64000007.pcon1)
e5:SetOperation(c64000007.pop1)
c:RegisterEffect(e5)
local e6=e3:Clone()
e6:SetCondition(c64000007.pcon2)
e6:SetOperation(c64000007.pop2)
c:RegisterEffect(e6)
--change effect
local e4=Effect.CreateEffect(c)
e4:SetDescription(aux.Stringid(64000007,1))
e4:SetType(EFFECT_TYPE_QUICK_O)
e4:SetCode(EVENT_CHAINING)
e4:SetRange(LOCATION_MZONE)
e4:SetCountLimit(1,64000014)
e4:SetCondition(c64000007.chcon)
e4:SetTarget(c64000007.chtg)
e4:SetOperation(c64000007.chop)
c:RegisterEffect(e4)
end
function c64000007.efcon(e)
return e:GetHandler():GetSequence()<=7
end
function c64000007.lcheck(g)
return g:IsExists(Card.IsLinkType,1,nil,TYPE_PENDULUM)
end
function c64000007.eftg(e,c)
return (c:IsType(TYPE_PENDULUM) and c:IsLocation(LOCATION_PZONE)) or e:GetHandler():GetLinkedGroup():IsContains(c)
end
function c64000007.efilter(e,te)
if te:GetHandlerPlayer()==e:GetHandlerPlayer() then return false end
if not te:IsHasProperty(EFFECT_FLAG_CARD_TARGET) then return true end
local tg=Duel.GetChainInfo(0,CHAININFO_TARGET_CARDS)
local mc=tg:GetCount()
if mc~=1 then return true end
return not tg or not tg:IsContains(e:GetHandler())
end
function c64000007.pcon(e,tp,eg,ep,ev,re,r,rp)
return Duel.GetLocationCount(tp,LOCATION_PZONE)==0 and Duel.GetFlagEffect(tp,64000007)==0 and e:GetHandler():GetSequence()>4
end
function c64000007.pcon1(e,tp,eg,ep,ev,re,r,rp)
local a=Duel.GetLocationCount(tp,LOCATION_MZONE)
local b=Duel.GetFieldGroupCount(tp,LOCATION_MZONE,0)
if not b then return false end
if a+b~=5 then return false end
return Duel.GetLocationCount(tp,LOCATION_PZONE)==0 and Duel.GetFlagEffect(tp,64000007)==0
end
function c64000007.pcon2(e,tp,eg,ep,ev,re,r,rp)
local a1=Duel.GetLocationCount(tp,LOCATION_MZONE)
local b1=Duel.GetFieldGroupCount(tp,LOCATION_MZONE,0)
if not b1 then return false end
if a1+b1<=5 then return false end
return Duel.GetLocationCount(tp,LOCATION_PZONE)==0 and Duel.GetFlagEffect(tp,64000007)==0 and e:GetHandler():GetSequence()<=4
end
function c64000007.pfilter(c,e,tp)
local tc1=Duel.GetFieldCard(tp,LOCATION_PZONE,0)
local tc2=Duel.GetFieldCard(tp,LOCATION_PZONE,1)
if not tc1 or not tc2 then return false end
local scl1=tc1:GetLeftScale()
local scl2=tc2:GetRightScale()
if scl1>scl2 then scl1,scl2=scl2,scl1 end
local scl1=scl1+1
local scl2=scl2-1
return (c:IsLocation(LOCATION_HAND) or c:IsFaceup()) and c:IsType(TYPE_MONSTER)
and c:IsCanBeSpecialSummoned(e,SUMMON_TYPE_PENDULUM,tp,false,false,POS_FACEUP) and c:IsLevelAbove(scl1) and c:IsLevelBelow(scl2)
and (c:IsLocation(LOCATION_HAND) and Duel.GetLocationCount(tp,LOCATION_MZONE)>0
or c:IsLocation(LOCATION_EXTRA) and Duel.GetLocationCountFromEx(tp,tp,nil,c)>0)
end
function c64000007.ptg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(c64000007.pfilter,tp,LOCATION_HAND+LOCATION_EXTRA,0,1,nil,e,tp) end
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,1,tp,LOCATION_HAND+LOCATION_EXTRA)
end
function c64000007.pop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
local fff=0
local num=Duel.GetLocationCountFromEx(tp,tp,nil,c)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON)
local g=Duel.SelectMatchingCard(tp,c64000007.pfilter,tp,LOCATION_EXTRA,0,fff,num,nil,e,tp)
if g:GetCount()==0 then local fff=1 end
local num1=Duel.GetLocationCount(tp,LOCATION_MZONE)
local num1=num1-num
local g1=Duel.SelectMatchingCard(tp,c64000007.pfilter,tp,LOCATION_HAND,0,fff,num1,nil,e,tp)
Duel.SpecialSummon(g+g1,SUMMON_TYPE_PENDULUM,tp,tp,false,false,POS_FACEUP)
if c:IsRelateToEffect(e) then
Duel.RegisterFlagEffect(tp,64000007,RESET_PHASE+PHASE_END,0,2)
end
end
function c64000007.pop1(e,tp,eg,ep,ev,re,r,rp)
local fc=e:GetHandler()
local eee=0
local num2=Duel.GetLocationCountFromEx(tp,tp,nil,c)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON)
local g2=Duel.SelectMatchingCard(tp,c64000007.pfilter,tp,LOCATION_EXTRA,0,eee,num2,nil,e,tp)
if g2:GetCount()==0 then local eee=1 end
local num3=Duel.GetLocationCount(tp,LOCATION_MZONE)
local num3=num3-num2+1
local g3=Duel.SelectMatchingCard(tp,c64000007.pfilter,tp,LOCATION_HAND,0,eee,num3,nil,e,tp)
Duel.SpecialSummon(g2+g3,SUMMON_TYPE_PENDULUM,tp,tp,false,false,POS_FACEUP)
if fc:IsRelateToEffect(e) then
Duel.RegisterFlagEffect(tp,64000007,RESET_PHASE+PHASE_END,0,2)
end
end
function c64000007.pop2(e,tp,eg,ep,ev,re,r,rp)
local fc1=e:GetHandler()
local ddd=0
local num4=Duel.GetLocationCountFromEx(tp,tp,nil,c)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON)
local g4=Duel.SelectMatchingCard(tp,c64000007.pfilter,tp,LOCATION_EXTRA,0,ddd,num4,nil,e,tp)
if g4:GetCount()==0 then local ddd=1 end
local num5=Duel.GetLocationCount(tp,LOCATION_MZONE)
local num5=num5-num4
local g5=Duel.SelectMatchingCard(tp,c64000007.pfilter,tp,LOCATION_HAND,0,ddd,num5,nil,e,tp)
Duel.SpecialSummon(g4+g5,SUMMON_TYPE_PENDULUM,tp,tp,false,false,POS_FACEUP)
if fc1:IsRelateToEffect(e) then
Duel.RegisterFlagEffect(tp,64000007,RESET_PHASE+PHASE_END,0,2)
end
end
function c64000007.chcon(e,tp,eg,ep,ev,re,r,rp)
return ep==1-tp
end
function c64000007.chfilter(c,e,tp)
return c:IsFaceup() and c:IsType(TYPE_PENDULUM)
end
function c64000007.chtg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(c64000007.chfilter,tp,LOCATION_EXTRA,0,1,nil,REASON_EFFECT) end
end
function c64000007.chop(e,tp,eg,ep,ev,re,r,rp)
local g=Group.CreateGroup()
Duel.ChangeTargetCard(ev,g)
Duel.ChangeChainOperation(ev,c64000007.repop)
end
function c64000007.repop(e,tp,eg,ep,ev,re,r,rp)
Duel.Hint(HINT_SELECTMSG,1-tp,HINTMSG_DESTROY)
local des=Duel.SelectMatchingCard(1-tp,c64000007.chfilter,1-tp,LOCATION_EXTRA,0,1,1,nil)
if des then
Duel.Destroy(des,REASON_EFFECT) end
end
\ No newline at end of file
--黎乡微熏的少女
function c64000008.initial_effect(c)
--spsummon
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_FIELD)
e1:SetCode(EFFECT_SPSUMMON_PROC)
e1:SetProperty(EFFECT_FLAG_UNCOPYABLE)
e1:SetRange(LOCATION_HAND+LOCATION_GRAVE)
e1:SetCountLimit(1,64000008+EFFECT_COUNT_CODE_OATH)
e1:SetCondition(c64000008.spcon)
e1:SetOperation(c64000008.spop)
c:RegisterEffect(e1)
local e2=Effect.CreateEffect(c)
e2:SetCategory(CATEGORY_RECOVER)
e2:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_F)
e2:SetCode(EVENT_SUMMON_SUCCESS)
e2:SetProperty(EFFECT_FLAG_PLAYER_TARGET)
e2:SetTarget(c64000008.rectg)
e2:SetOperation(c64000008.recop)
c:RegisterEffect(e2)
local e3=e2:Clone()
e3:SetCode(EVENT_SPSUMMON_SUCCESS)
c:RegisterEffect(e3)
end
function c64000008.filter(c)
return c:IsFaceup() and c:IsType(TYPE_PENDULUM)
end
function c64000008.spcon(e,c)
if c==nil then return true end
local tp=c:GetControler()
return Duel.GetLocationCount(tp,LOCATION_MZONE)>0 and Duel.IsExistingMatchingCard(c64000008.filter,tp,LOCATION_EXTRA,0,1,nil)
end
function c64000008.spop(e,tp,eg,ep,ev,re,r,rp,chk)
local g=Duel.SelectMatchingCard(tp,c64000008.filter,tp,LOCATION_EXTRA,0,1,1,nil)
Duel.SendtoGrave(g,REASON_COST)
end
function c64000008.rectg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return true end
Duel.SetTargetPlayer(tp)
Duel.SetOperationInfo(0,CATEGORY_RECOVER,nil,0,tp,500)
end
function c64000008.recop(e,tp,eg,ep,ev,re,r,rp)
local p=Duel.GetChainInfo(0,CHAININFO_TARGET_PLAYER)
Duel.Recover(p,500,REASON_EFFECT)
end
\ No newline at end of file
--攝蜃喵
--Lua--星空璀璨之地
local m=64000009
local cm=_G["c"..m]
function cm.initial_effect(c)
--原本攻击力·守备力
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetProperty(EFFECT_FLAG_SINGLE_RANGE)
e1:SetCode(EFFECT_SET_BASE_ATTACK)
e1:SetRange(LOCATION_MZONE)
e1:SetValue(cm.atkval)
c:RegisterEffect(e1)
local e2=e1:Clone()
e2:SetCode(EFFECT_SET_BASE_DEFENSE)
c:RegisterEffect(e2)
--战效抗性,多次攻击
local e3=Effect.CreateEffect(c)
e3:SetType(EFFECT_TYPE_SINGLE)
e3:SetProperty(EFFECT_FLAG_SINGLE_RANGE)
e3:SetRange(LOCATION_MZONE)
e3:SetCode(EFFECT_INDESTRUCTABLE_COUNT)
e3:SetValue(cm.valcon)
e3:SetCountLimit(cm.atkval2)
c:RegisterEffect(e3)
local e4=Effect.CreateEffect(c)
e4:SetType(EFFECT_TYPE_SINGLE)
e4:SetProperty(EFFECT_FLAG_SINGLE_RANGE)
e4:SetRange(LOCATION_MZONE)
e4:SetCode(EFFECT_EXTRA_ATTACK)
e4:SetValue(cm.atkval3)
c:RegisterEffect(e4)
--战伤减半
local e5=Effect.CreateEffect(c)
e5:SetType(EFFECT_TYPE_SINGLE)
e5:SetCode(EFFECT_CHANGE_BATTLE_DAMAGE)
e5:SetValue(aux.ChangeBattleDamage(1,HALF_DAMAGE))
c:RegisterEffect(e5)
--summon with no tribute
local e0=Effect.CreateEffect(c)
e0:SetType(EFFECT_TYPE_SINGLE)
e0:SetCode(EFFECT_SPSUMMON_COST)
e0:SetProperty(EFFECT_FLAG_CANNOT_DISABLE+EFFECT_FLAG_UNCOPYABLE)
e0:SetCost(cm.cost)
e0:SetOperation(cm.sumsuc)
c:RegisterEffect(e0)
local e7=e0:Clone()
e7:SetCode(EFFECT_SUMMON_COST)
c:RegisterEffect(e7)
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_SUMMON_SUCCESS)
ge1:SetOperation(cm.checkop)
Duel.RegisterEffect(ge1,0)
local ge2=ge1:Clone()
ge2:SetCode(EVENT_SPSUMMON_SUCCESS)
Duel.RegisterEffect(ge2,0)
end
end
function cm.checkop(e,tp,eg,ep,ev,re,r,rp)
local tc=eg:GetFirst()
while tc do
Duel.RegisterFlagEffect(tc:GetSummonPlayer(),m,RESET_PHASE+PHASE_END,0,1)
tc=eg:GetNext()
end
end
function cm.atkval(e,c)
local c=e:GetHandler()
local cc1=Duel.GetTurnCount(c:GetControler())
local cc2=Duel.GetTurnCount(1-c:GetControler())
return (cc1+cc2)*1000
end
function cm.atkval2(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
local ct1=Duel.GetTurnCount(c:GetControler())
local ct2=Duel.GetTurnCount(1-c:GetControler())
local ctt=ct1+ct2
return ctt
end
function cm.atkval3(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
local ctt1=Duel.GetTurnCount(c:GetControler())
local ctt2=Duel.GetTurnCount(1-c:GetControler())
local ctta=ctt1+ctt2-1
return ctta
end
function cm.valcon(e,re,r,rp)
return bit.band(r,REASON_BATTLE+REASON_EFFECT)~=0
end
function cm.cost(e,c,tp)
local c=e:GetHandler()
local ctw1=Duel.GetTurnCount(c:GetControler())
local ctw2=Duel.GetTurnCount(1-c:GetControler())
local ctwt=ctw1+ctw2
return Duel.GetFlagEffect(tp,m)<ctwt
end
function cm.sumsuc(e,tp,eg,ep,ev,re,r,rp)
local e1=Effect.CreateEffect(e:GetHandler())
e1:SetType(EFFECT_TYPE_FIELD)
e1:SetCode(EFFECT_SET_SUMMON_COUNT_LIMIT)
e1:SetProperty(EFFECT_FLAG_PLAYER_TARGET)
e1:SetTargetRange(1,0)
e1:SetValue(cm.atkval2)
e1:SetReset(RESET_PHASE+PHASE_END)
Duel.RegisterEffect(e1,tp)
local e2=Effect.CreateEffect(e:GetHandler())
e2:SetType(EFFECT_TYPE_FIELD)
e2:SetCode(EFFECT_CANNOT_SUMMON)
e2:SetProperty(EFFECT_FLAG_PLAYER_TARGET)
e2:SetTargetRange(1,1)
e2:SetTarget(cm.limittg)
e2:SetReset(RESET_PHASE+PHASE_END)
Duel.RegisterEffect(e2,tp)
local e3=e2:Clone()
e3:SetCode(EFFECT_CANNOT_FLIP_SUMMON)
Duel.RegisterEffect(e3,tp)
local e4=e2:Clone()
e4:SetCode(EFFECT_CANNOT_SPECIAL_SUMMON)
Duel.RegisterEffect(e4,tp)
local e5=e2:Clone()
e5:SetCode(EFFECT_CANNOT_MSET)
Duel.RegisterEffect(e5,tp)
local e6=Effect.CreateEffect(e:GetHandler())
e6:SetType(EFFECT_TYPE_FIELD)
e6:SetCode(EFFECT_LEFT_SPSUMMON_COUNT)
e6:SetProperty(EFFECT_FLAG_PLAYER_TARGET)
e6:SetTargetRange(1,0)
e6:SetValue(cm.countval)
e6:SetReset(RESET_PHASE+PHASE_END)
Duel.RegisterEffect(e6,tp)
end
function cm.limittg(e,c,tp)
local c=e:GetHandler()
local ct01=Duel.GetTurnCount(c:GetControler())
local ct02=Duel.GetTurnCount(1-c:GetControler())
local ct0t=ct01+ct02
local t1,t2,t3=Duel.GetActivityCount(tp,ACTIVITY_SUMMON,ACTIVITY_FLIPSUMMON,ACTIVITY_SPSUMMON)
return t1+t2+t3>=ct0t
end
function cm.countval(e,re,tp)
local c=e:GetHandler()
local ct011=Duel.GetTurnCount(c:GetControler())
local ct012=Duel.GetTurnCount(1-c:GetControler())
local ct01t=ct011+ct012
local t1,t2,t3=Duel.GetActivityCount(tp,ACTIVITY_SUMMON,ACTIVITY_FLIPSUMMON,ACTIVITY_SPSUMMON)
if t1+t2+t3>=ct01t then return 0 else return ct01t-t1-t2-t3 end
end
--虚空幻象女巫
--Lua--星空璀璨之地
local m=64000010
local cm=_G["c"..m]
function cm.initial_effect(c)
--link summon
aux.AddLinkProcedure(c,nil,2,2,cm.lcheck)
c:EnableReviveLimit()
--coin
local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(m,0))
e1:SetCategory(CATEGORY_COIN+CATEGORY_DRAW+CATEGORY_SPECIAL_SUMMON)
e1:SetType(EFFECT_TYPE_QUICK_O)
e1:SetCode(EVENT_FREE_CHAIN)
e1:SetRange(LOCATION_MZONE)
e1:SetHintTiming(0,TIMINGS_CHECK_MONSTER+TIMING_END_PHASE)
e1:SetCountLimit(1,64000015)
e1:SetTarget(cm.cointg1)
e1:SetOperation(cm.coinop1)
c:RegisterEffect(e1)
--Set
local e2=Effect.CreateEffect(c)
e2:SetCategory(CATEGORY_REMOVE)
e2:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_TRIGGER_O)
e2:SetCode(EVENT_LEAVE_FIELD)
e2:SetProperty(EFFECT_FLAG_DELAY)
e2:SetRange(LOCATION_MZONE)
e2:SetCountLimit(1,64000016)
e2:SetCondition(cm.condition)
e2:SetTarget(cm.target)
e2:SetOperation(cm.operation)
c:RegisterEffect(e2)
end
function cm.lcheck(g)
return g:IsExists(Card.IsLinkType,1,nil,TYPE_PENDULUM)
end
cm.toss_coin=true
function cm.filter(c,e)
return c:IsType(TYPE_PENDULUM)
end
function cm.cointg1(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
if chk==0 then return Duel.GetFieldGroupCount(tp,LOCATION_DECK,0)>=2 and Duel.IsExistingMatchingCard(cm.filter,tp,LOCATION_ONFIELD+LOCATION_HAND,0,1,nil) end
Duel.SetOperationInfo(0,CATEGORY_COIN,nil,0,tp,1)
Duel.SetOperationInfo(0,CATEGORY_DRAW,nil,0,tp,2)
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,1,tp,LOCATION_DECK)
end
function cm.spfilter(c,e,tp)
return c:IsType(TYPE_PENDULUM) and (not c:IsForbidden() or (Duel.GetLocationCount(tp,LOCATION_MZONE)>0 and c:IsCanBeSpecialSummoned(e,0,tp,false,false)))
end
function cm.coinop1(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
local g2=Duel.GetMatchingGroup(cm.filter,tp,LOCATION_ONFIELD+LOCATION_HAND,0,1,nil)
if not c:IsRelateToEffect(e) or c:IsFacedown() then return end
local res=Duel.TossCoin(tp,1)
if res==1 and Duel.SelectYesNo(tp,aux.Stringid(m,3)) then
local ct=Duel.GetFieldGroupCount(tp,LOCATION_DECK,0)
if ct==0 then return end
local ac=1
if ct>1 then
if ct>5 then ct=5 end
local t={}
for i=1,ct do t[i]=i end
Duel.Hint(HINT_SELECTMSG,tp,aux.Stringid(m,0))
ac=Duel.AnnounceNumber(tp,table.unpack(t))
end
local g1=Duel.GetDecktopGroup(tp,ac)
Duel.ConfirmCards(tp,g1)
local op=0
if Duel.GetLocationCount(tp,LOCATION_MZONE)>0 then
op=Duel.SelectOption(tp,aux.Stringid(m,1),aux.Stringid(m,2))
else
op=Duel.SelectOption(tp,aux.Stringid(m,1))
end
if op==0 then
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SELECT)
local bg=g1:FilterSelect(tp,cm.spfilter,1,1,nil,e,tp)
local tc1=bg:GetFirst()
Duel.MoveToField(tc1,tp,tp,LOCATION_PZONE,POS_FACEUP,true)
else
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SELECT)
local tc=g1:FilterSelect(tp,cm.spfilter,1,1,nil,e,tp)
Duel.SpecialSummon(tc,0,tp,tp,false,false,POS_FACEUP)
end
elseif Duel.SelectYesNo(tp,aux.Stringid(m,4)) then
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_DESTROY)
local sg=g2:Select(tp,1,1,nil)
if sg:GetCount()>0 then
Duel.BreakEffect()
Duel.HintSelection(sg)
Duel.Destroy(sg,REASON_EFFECT)
Duel.Draw(tp,2,REASON_EFFECT)
end
end
end
function cm.condition(e,tp,eg,ep,ev,re,r,rp)
return eg:IsExists(Card.IsPreviousLocation,1,nil,LOCATION_ONFIELD)
end
function cm.target(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(Card.IsAbleToRemove,tp,LOCATION_ONFIELD,LOCATION_ONFIELD,1,nil) end
Duel.Hint(HINT_OPSELECTED,1-tp,e:GetDescription())
Duel.SetOperationInfo(0,CATEGORY_REMOVE,nil,1,nil,LOCATION_ONFIELD)
end
function cm.operation(e,tp,eg,ep,ev,re,r,rp)
local g=Duel.GetMatchingGroup(Card.IsAbleToRemove,tp,LOCATION_ONFIELD,LOCATION_ONFIELD,nil)
if g:GetCount()>0 then
local hg=Duel.GetFieldGroup(1-tp,LOCATION_DECK,0)
if Duel.IsChainDisablable(0) and hg:GetCount()>=5 and Duel.SelectYesNo(1-tp,aux.Stringid(m,3)) then
Duel.Hint(HINT_SELECTMSG,1-tp,aux.Stringid(m,5))
local dg=Duel.GetDecktopGroup(1-tp,5)
dg:FilterCount(Card.IsAbleToRemove,nil,1-tp,POS_FACEDOWN)
Duel.Remove(dg,POS_FACEDOWN,REASON_EFFECT)
Duel.NegateEffect(0)
return
end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_REMOVE)
local sg=g:Select(tp,1,1,nil)
Duel.HintSelection(sg)
Duel.Remove(sg,POS_FACEDOWN,REASON_EFFECT)
end
end
--炽焰咆哮虎
--Lua--星空璀璨之地
local m=64000011
local cm=_G["c"..m]
function cm.initial_effect(c)
--special summon
local e0=Effect.CreateEffect(c)
e0:SetType(EFFECT_TYPE_FIELD)
e0:SetCode(EFFECT_SPSUMMON_PROC)
e0:SetProperty(EFFECT_FLAG_UNCOPYABLE)
e0:SetRange(LOCATION_HAND)
e0:SetCondition(cm.spcon)
c:RegisterEffect(e0)
--spsummon
local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(m,0))
e1:SetCategory(CATEGORY_ATKCHANGE+CATEGORY_DEFCHANGE)
e1:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_F)
e1:SetCode(EVENT_SUMMON_SUCCESS)
e1:SetCountLimit(1)
e1:SetProperty(EFFECT_FLAG_DELAY)
e1:SetTarget(cm.atktg)
e1:SetOperation(cm.atkop)
c:RegisterEffect(e1)
local e2=e1:Clone()
e2:SetCode(EVENT_SPSUMMON_SUCCESS)
c:RegisterEffect(e2)
local e3=e1:Clone()
e3:SetCode(EVENT_FLIP)
c:RegisterEffect(e3)
--negate
local e4=Effect.CreateEffect(c)
e4:SetDescription(aux.Stringid(m,1))
e4:SetCategory(CATEGORY_NEGATE)
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(cm.discon)
e4:SetTarget(cm.distg)
e4:SetOperation(cm.disop)
c:RegisterEffect(e4)
end
function cm.spcon(e,c)
if c==nil then return true end
local tp=c:GetControler()
if Duel.GetLocationCount(tp,LOCATION_MZONE)<=0 then return false end
local g=Duel.GetMatchingGroup(Card.IsFaceup,tp,LOCATION_MZONE,LOCATION_MZONE,nil)
if g:GetCount()==0 then return false end
local tg=g:GetMaxGroup(Card.GetAttack)
local g1=Duel.GetMatchingGroup(Card.IsFaceup,tp,LOCATION_MZONE,0,nil)
local g2=Duel.GetMatchingGroup(Card.IsFaceup,tp,0,LOCATION_MZONE,nil)
return g1:GetSum(Card.GetAttack)<g2:GetSum(Card.GetAttack) or
(Duel.GetLocationCount(tp,LOCATION_MZONE)>0 and tg:IsExists(Card.IsControler,1,nil,1-tp))
end
function cm.atktg(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
if chk==0 then return true end
Duel.SetChainLimit(cm.chainlm)
end
function cm.chainlm(re,rp,tp)
return tp==rp or not re:GetHandler():IsType(TYPE_MONSTER)
end
function cm.atkop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
local tg=Duel.GetMatchingGroup(Card.IsFaceup,tp,0,LOCATION_MZONE,nil)
local tc=tg:GetFirst()
while tc do
local atk=tc:GetAttack()
local def=tc:GetDefense()
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetCode(EFFECT_SET_ATTACK_FINAL)
e1:SetValue(math.ceil(atk/2))
e1:SetReset(RESET_EVENT+RESETS_STANDARD)
tc:RegisterEffect(e1)
tc=tg:GetNext()
end
end
function cm.discon(e,tp,eg,ep,ev,re,r,rp)
return ep==1-tp and re:GetActivateLocation()==LOCATION_MZONE and re:IsActiveType(TYPE_MONSTER) and Duel.IsChainDisablable(ev)
end
function cm.distg(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_NEGATE,eg,1,0,0)
Duel.SetOperationInfo(0,CATEGORY_TOHAND,c,1,0,0)
end
function cm.disop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
if c:IsRelateToEffect(e) and Duel.SendtoHand(c,nil,REASON_EFFECT)~=0 and c:IsLocation(LOCATION_HAND) then
if Duel.NegateActivation(ev) and re:GetHandler():IsRelateToEffect(re) then
local tc=eg:GetFirst()
local e3=Effect.CreateEffect(e:GetHandler())
e3:SetType(EFFECT_TYPE_SINGLE)
e3:SetCode(EFFECT_SET_ATTACK_FINAL)
e3:SetReset(RESET_EVENT+RESETS_STANDARD)
e3:SetValue(tc:GetAttack()/2)
tc:RegisterEffect(e3)
end
end
end
\ No newline at end of file
--小章鱼 Tarako
function c64000012.initial_effect(c)
--summon in hand
local e1=Effect.CreateEffect(c)
e1:SetCategory(CATEGORY_SUMMON)
e1:SetType(EFFECT_TYPE_IGNITION)
e1:SetRange(LOCATION_HAND)
e1:SetCountLimit(1,64000017)
e1:SetCondition(c64000012.smcon)
e1:SetOperation(c64000012.smop)
c:RegisterEffect(e1)
--draw
local e2=Effect.CreateEffect(c)
e2:SetCategory(CATEGORY_DRAW)
e2:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_O)
e2:SetCode(EVENT_RELEASE)
e2:SetProperty(EFFECT_FLAG_DELAY+EFFECT_FLAG_DAMAGE_STEP)
e2:SetCountLimit(1,64000018)
e2:SetTarget(c64000012.drtg)
e2:SetOperation(c64000012.drop)
c:RegisterEffect(e2)
--effect gain
local e3=Effect.CreateEffect(c)
e3:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_CONTINUOUS)
e3:SetCode(EVENT_BE_MATERIAL)
e3:SetProperty(EFFECT_FLAG_EVENT_PLAYER)
e3:SetCondition(c64000012.efcon)
e3:SetOperation(c64000012.efop)
c:RegisterEffect(e3)
end
function c64000012.smcfilter(c)
return c:IsLevelAbove(5) and not c:IsPublic() and c:IsType(TYPE_MONSTER)
end
function c64000012.smcon(e,c)
if c==nil then return true end
return Duel.GetLocationCount(tp,LOCATION_MZONE)>0
and Duel.IsExistingMatchingCard(c64000012.smcfilter,tp,LOCATION_HAND,0,1,nil)
end
function c64000012.smop(e,tp,eg,ep,ev,re,r,rp,c)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_CONFIRM)
local g=Duel.SelectMatchingCard(tp,c64000012.smcfilter,tp,LOCATION_HAND,0,1,1,nil)
Duel.ConfirmCards(1-tp,g)
local tc=e:GetHandler()
if tc then
if tc:IsSummonable(true,nil) and (not tc:IsMSetable(true,nil)
or Duel.SelectPosition(tp,tc,POS_FACEUP_ATTACK+POS_FACEDOWN_DEFENSE)==POS_FACEUP_ATTACK) then
Duel.Summon(tp,tc,true,nil)
else Duel.MSet(tp,tc,true,nil)
end
end
end
function c64000012.drtg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsPlayerCanDraw(tp,1) end
Duel.SetTargetPlayer(tp)
Duel.SetTargetParam(1)
Duel.SetOperationInfo(0,CATEGORY_DRAW,nil,0,tp,1)
end
function c64000012.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)
end
function c64000012.efcon(e,tp,eg,ep,ev,re,r,rp)
return e:GetHandler():IsReason(REASON_SUMMON) and r==REASON_SUMMON
end
function c64000012.efop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
local rc=c:GetReasonCard()
local e1=Effect.CreateEffect(rc)
local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(64000012,0))
e1:SetProperty(EFFECT_FLAG_CLIENT_HINT)
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetCode(EFFECT_CANNOT_BE_EFFECT_TARGET)
e1:SetValue(aux.tgoval)
e1:SetCondition(c64000012.indcon)
e1:SetReset(RESET_EVENT+RESETS_STANDARD)
rc:RegisterEffect(e1)
end
function c64000012.indcon(e,tp,eg,ep,ev,re,r,rp)
return e:GetHandler():IsLocation(LOCATION_MZONE)
end
--寂夜的独鱼
function c64000013.initial_effect(c)
--cannot be material
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_FIELD)
e1:SetRange(LOCATION_MZONE)
e1:SetCode(EFFECT_CANNOT_BE_LINK_MATERIAL)
e1:SetProperty(EFFECT_FLAG_SET_AVAILABLE)
e1:SetTargetRange(LOCATION_MZONE+LOCATION_DECK+LOCATION_HAND,LOCATION_MZONE+LOCATION_DECK+LOCATION_HAND)
e1:SetValue(c64000013.sumlimit)
c:RegisterEffect(e1)
local e3=e1:Clone()
e3:SetCode(EFFECT_CANNOT_BE_FUSION_MATERIAL)
e3:SetValue(c64000013.fuslimit)
c:RegisterEffect(e3)
local e4=e1:Clone()
e4:SetCode(EFFECT_CANNOT_BE_SYNCHRO_MATERIAL)
c:RegisterEffect(e4)
local e5=e1:Clone()
e5:SetCode(EFFECT_CANNOT_BE_XYZ_MATERIAL)
c:RegisterEffect(e5)
--cannot release
local e2=Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_FIELD)
e2:SetRange(LOCATION_MZONE)
e2:SetCode(EFFECT_CANNOT_RELEASE)
e2:SetProperty(EFFECT_FLAG_PLAYER_TARGET)
e2:SetTargetRange(1,1)
c:RegisterEffect(e2)
end
function c64000013.sumlimit(e,c)
if not c then return false end
return true
end
function c64000013.fuslimit(e,c,sumtype)
if not c then return false end
return sumtype==SUMMON_TYPE_FUSION
end
\ No newline at end of file
--梦色抽奖喵
function c64000014.initial_effect(c)
aux.EnablePendulumAttribute(c)
local e1=Effect.CreateEffect(c)
e1:SetCategory(CATEGORY_DESTROY)
e1:SetType(EFFECT_TYPE_IGNITION)
e1:SetRange(LOCATION_PZONE)
e1:SetCountLimit(1,64000019)
e1:SetTarget(c64000014.thtg)
e1:SetOperation(c64000014.thop)
c:RegisterEffect(e1)
end
function c64000014.thfilter(c)
return c:IsType(TYPE_NORMAL) and c:IsType(TYPE_PENDULUM) and c:IsAbleToHand()
end
function c64000014.thtg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then
local g=Duel.GetMatchingGroup(c64000014.thfilter,tp,LOCATION_DECK,0,nil)
return g:GetClassCount(Card.GetCode)>=3
end
Duel.SetOperationInfo(0,CATEGORY_TOHAND,nil,1,0,LOCATION_DECK)
end
function c64000014.thop(e,tp,eg,ep,ev,re,r,rp)
local g=Duel.GetMatchingGroup(c64000014.thfilter,tp,LOCATION_DECK,0,nil)
if g:GetClassCount(Card.GetCode)>=3 then
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_CONFIRM)
local sg=g:SelectSubGroup(tp,aux.dncheck,false,3,3)
Duel.ConfirmCards(1-tp,sg)
local tg=sg:RandomSelect(1-tp,1)
tg:GetFirst():SetStatus(STATUS_TO_HAND_WITHOUT_CONFIRM,true)
Duel.SendtoHand(tg,nil,REASON_EFFECT)
Duel.SendtoDeck(sg-tg,nil,nil,REASON_EFFECT)
end
end
\ No newline at end of file
--梦色抽奖喵
function c64000015.initial_effect(c)
aux.EnablePendulumAttribute(c)
local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(64000015,0))
e1:SetCategory(CATEGORY_DESTROY)
e1:SetType(EFFECT_TYPE_IGNITION)
e1:SetRange(LOCATION_PZONE)
e1:SetCountLimit(1,64000020)
e1:SetTarget(c64000015.thtg)
e1:SetOperation(c64000015.thop)
c:RegisterEffect(e1)
local e2=Effect.CreateEffect(c)
e2:SetDescription(aux.Stringid(64000015,1))
e2:SetCategory(CATEGORY_DESTROY)
e2:SetType(EFFECT_TYPE_IGNITION)
e2:SetRange(LOCATION_PZONE)
e2:SetCountLimit(1,64000021)
e2:SetTarget(c64000015.sumtg)
e2:SetOperation(c64000015.sumop)
c:RegisterEffect(e2)
end
function c64000015.thfilter(c)
return c:IsType(TYPE_NORMAL) and c:IsType(TYPE_PENDULUM) and c:IsAbleToHand()
end
function c64000015.thtg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(c64000015.thfilter,tp,LOCATION_EXTRA+LOCATION_GRAVE,0,1,nil) end
Duel.SetOperationInfo(0,CATEGORY_TOHAND,nil,1,tp,LOCATION_EXTRA+LOCATION_GRAVE)
end
function c64000015.thop(e,tp,eg,ep,ev,re,r,rp)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_ATOHAND)
local g=Duel.SelectMatchingCard(tp,c64000015.thfilter,tp,LOCATION_EXTRA+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 c64000015.sumfilter(c)
return c:IsType(TYPE_NORMAL) and c:IsType(TYPE_PENDULUM) and c:IsSummonable(true,nil)
end
function c64000015.sumtg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(c64000015.sumfilter,tp,LOCATION_HAND,0,1,nil) end
Duel.SetOperationInfo(0,CATEGORY_SUMMON,nil,1,0,0)
end
function c64000015.sumop(e,tp,eg,ep,ev,re,r,rp)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SUMMON)
local g=Duel.SelectMatchingCard(tp,c64000015.sumfilter,tp,LOCATION_HAND,0,1,1,nil)
local tc=g:GetFirst()
if tc then
Duel.Summon(tp,tc,true,nil)
Duel.Destroy(e:GetHandler(),REASON_EFFECT)
end
end
\ No newline at end of file
--
function c64000016.initial_effect(c)
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_ACTIVATE)
e1:SetCode(EVENT_FREE_CHAIN)
c:RegisterEffect(e1)
--immune
local e2=Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_SINGLE)
e2:SetProperty(EFFECT_FLAG_SINGLE_RANGE)
e2:SetRange(LOCATION_FZONE)
e2:SetCode(EFFECT_IMMUNE_EFFECT)
e2:SetValue(c64000016.efilter)
c:RegisterEffect(e2)
--cannot activate
local e3=Effect.CreateEffect(c)
e3:SetType(EFFECT_TYPE_FIELD)
e3:SetCode(EFFECT_CANNOT_ACTIVATE)
e3:SetProperty(EFFECT_FLAG_PLAYER_TARGET)
e3:SetRange(LOCATION_FZONE)
e3:SetTargetRange(1,0)
e3:SetValue(c64000016.actlimit)
c:RegisterEffect(e3)
--cannot set
local e4=Effect.CreateEffect(c)
e4:SetType(EFFECT_TYPE_FIELD)
e4:SetCode(EFFECT_CANNOT_SSET)
e4:SetRange(LOCATION_FZONE)
e4:SetProperty(EFFECT_FLAG_PLAYER_TARGET)
e4:SetTargetRange(1,0)
e4:SetTarget(c64000016.setlimit)
c:RegisterEffect(e4)
--ntr
local e5=Effect.CreateEffect(c)
e5:SetCategory(CATEGORY_CONTROL)
e5:SetType(EFFECT_TYPE_IGNITION)
e5:SetRange(LOCATION_FZONE)
e5:SetProperty(EFFECT_FLAG_BOTH_SIDE)
e5:SetCountLimit(1)
e5:SetTarget(c64000016.cttg)
e5:SetOperation(c64000016.ctop)
c:RegisterEffect(e5)
end
function c64000016.actlimit(e,re,tp)
return re:IsActiveType(TYPE_FIELD) and re:IsHasType(EFFECT_TYPE_ACTIVATE)
end
function c64000016.setlimit(e,c,tp)
return c:IsType(TYPE_FIELD)
end
function c64000016.efilter(e,te)
if te:GetOwner()==e:GetOwner() then return false end
if not te:IsHasProperty(EFFECT_FLAG_CARD_TARGET) then return true end
local tg=Duel.GetChainInfo(0,CHAININFO_TARGET_CARDS)
local mc=tg:GetCount()
if mc~=1 then return true end
return not tg or not tg:IsContains(e:GetHandler())
end
function c64000016.filter(c)
return c:IsFaceup() and c:IsControlerCanBeChanged()
end
function c64000016.cttg(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
if chkc then return chkc:IsLocation(LOCATION_MZONE) and chkc:IsControler(1-tp) and chkc:IsControlerCanBeChanged() end
if chk==0 then return Duel.IsExistingTarget(c64000016.filter,tp,0,LOCATION_MZONE,1,nil) end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_CONTROL)
local g=Duel.SelectTarget(tp,c64000016.filter,tp,0,LOCATION_MZONE,1,1,nil)
Duel.SetOperationInfo(0,CATEGORY_CONTROL,g,1,0,0)
if e:IsHasType(EFFECT_TYPE_IGNITION) then
Duel.SetChainLimit(aux.FALSE)
end
end
function c64000016.ctop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
local tc=Duel.GetFirstTarget()
if tc:IsRelateToEffect(e) and Duel.GetControl(tc,tp,PHASE_END,1)~=0 then
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetCode(EFFECT_UNRELEASABLE_SUM)
e1:SetValue(1)
e1:SetReset(RESET_EVENT+RESETS_STANDARD-RESET_TURN_SET+RESET_PHASE+PHASE_END,1)
tc:RegisterEffect(e1)
local e6=Effect.CreateEffect(c)
e6:SetType(EFFECT_TYPE_SINGLE)
e6:SetCode(EFFECT_UNRELEASABLE_NONSUM)
e6:SetValue(1)
e6:SetReset(RESET_EVENT+RESETS_STANDARD-RESET_TURN_SET+RESET_PHASE+PHASE_END,1)
tc:RegisterEffect(e6)
local e2=Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_SINGLE)
e2:SetCode(EFFECT_CANNOT_BE_FUSION_MATERIAL)
e2:SetValue(1)
e2:SetReset(RESET_EVENT+RESETS_STANDARD-RESET_TURN_SET+RESET_PHASE+PHASE_END,1)
tc:RegisterEffect(e2)
local e3=Effect.CreateEffect(c)
e3:SetType(EFFECT_TYPE_SINGLE)
e3:SetCode(EFFECT_CANNOT_BE_LINK_MATERIAL)
e3:SetValue(1)
e3:SetReset(RESET_EVENT+RESETS_STANDARD-RESET_TURN_SET+RESET_PHASE+PHASE_END,1)
tc:RegisterEffect(e3)
local e4=Effect.CreateEffect(c)
e4:SetType(EFFECT_TYPE_SINGLE)
e4:SetCode(EFFECT_CANNOT_BE_SYNCHRO_MATERIAL)
e4:SetValue(1)
e4:SetReset(RESET_EVENT+RESETS_STANDARD-RESET_TURN_SET+RESET_PHASE+PHASE_END,1)
tc:RegisterEffect(e4)
local e5=Effect.CreateEffect(c)
e5:SetType(EFFECT_TYPE_SINGLE)
e5:SetCode(EFFECT_CANNOT_BE_XYZ_MATERIAL)
e5:SetValue(1)
e5:SetReset(RESET_EVENT+RESETS_STANDARD-RESET_TURN_SET+RESET_PHASE+PHASE_END,1)
tc:RegisterEffect(e5)
end
end
\ No newline at end of file
--墟梦塌落的轮舞
function c64000017.initial_effect(c)
--Activate
local e1=Effect.CreateEffect(c)
e1:SetCategory(CATEGORY_TOHAND)
e1:SetType(EFFECT_TYPE_ACTIVATE)
e1:SetCode(EVENT_FREE_CHAIN)
e1:SetHintTiming(TIMING_END_PHASE+TIMING_SSET)
e1:SetProperty(EFFECT_FLAG_CANNOT_INACTIVATE+EFFECT_FLAG_CANNOT_DISABLE+EFFECT_FLAG_CANNOT_NEGATE)
e1:SetCountLimit(1,64000017+EFFECT_COUNT_CODE_OATH)
e1:SetCost(c64000017.cost)
e1:SetTarget(c64000017.target)
e1:SetOperation(c64000017.activate)
c:RegisterEffect(e1)
end
function c64000017.filter(c)
return c:IsType(TYPE_SPELL+TYPE_TRAP) or (c:IsType(TYPE_MONSTER) and c:IsReleasable())
end
function c64000017.cost(e,tp,eg,ep,ev,re,r,rp,chk)
local g=Duel.GetDecktopGroup(tp,5)
if chk==0 then return Duel.CheckLPCost(tp,2000) and Duel.IsExistingMatchingCard(c64000017.filter,tp,LOCATION_ONFIELD+LOCATION_HAND,0,2,e:GetHandler()) and g:FilterCount(Card.IsAbleToRemoveAsCost,nil,POS_FACEDOWN)==5 end
local fg=Duel.GetMatchingGroup(c64000017.filter,tp,LOCATION_ONFIELD+LOCATION_HAND,0,e:GetHandler())
if fg:GetCount()<2 then return end
Duel.BreakEffect()
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_RELEASE)
local og=fg:Select(tp,2,2,nil)
Duel.HintSelection(og)
Duel.Release(og,REASON_COST)
Duel.PayLPCost(tp,2000)
Duel.DisableShuffleCheck()
Duel.Remove(g,POS_FACEDOWN,REASON_COST)
end
function c64000017.filter1(c)
return c:IsType(TYPE_SPELL+TYPE_TRAP) and c:IsAbleToHand()
end
function c64000017.target(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(c64000017.filter1,tp,0,LOCATION_ONFIELD,1,nil) end
Duel.SetOperationInfo(0,CATEGORY_TOHAND,nil,1,1-tp,LOCATION_ONFIELD)
if e:IsHasType(EFFECT_TYPE_ACTIVATE) then
Duel.SetChainLimit(aux.FALSE) end
end
function c64000017.activate(e,tp,eg,ep,ev,re,r,rp)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_RTOHAND)
local g=Duel.SelectMatchingCard(tp,c64000017.filter1,tp,0,LOCATION_ONFIELD,1,3,nil)
if g:GetCount()>0 then
Duel.SendtoHand(g,nil,REASON_EFFECT)
end
end
\ No newline at end of file
--蛇 神 判 !
function c64000018.initial_effect(c)
--negate
local e2=Effect.CreateEffect(c)
e2:SetCategory(CATEGORY_NEGATE+CATEGORY_DESTROY)
e2:SetType(EFFECT_TYPE_ACTIVATE)
e2:SetCode(EVENT_CHAINING)
e2:SetCondition(c64000018.discon)
e2:SetCost(c64000018.cost)
e2:SetTarget(c64000018.distg)
e2:SetOperation(c64000018.disop)
c:RegisterEffect(e2)
--disable spsummon
local e3=Effect.CreateEffect(c)
e3:SetCategory(CATEGORY_DISABLE_SUMMON+CATEGORY_DESTROY)
e3:SetType(EFFECT_TYPE_ACTIVATE)
e3:SetCode(EVENT_SUMMON)
e3:SetCondition(c64000018.dscon)
e3:SetCost(c64000018.cost)
e3:SetTarget(c64000018.dstg)
e3:SetOperation(c64000018.dsop)
c:RegisterEffect(e3)
local e4=e3:Clone()
e4:SetCode(EVENT_FLIP_SUMMON)
c:RegisterEffect(e4)
local e5=e3:Clone()
e5:SetCode(EVENT_SPSUMMON)
c:RegisterEffect(e5)
--negate attack
local e6=Effect.CreateEffect(c)
e6:SetType(EFFECT_TYPE_ACTIVATE)
e6:SetCode(EVENT_ATTACK_ANNOUNCE)
e6:SetCondition(c64000018.negcon)
e6:SetCost(c64000018.cost)
e6:SetOperation(c64000018.negop)
c:RegisterEffect(e6)
end
function c64000018.discon(e,tp,eg,ep,ev,re,r,rp)
return rp==1-tp and not e:GetHandler():IsStatus(STATUS_BATTLE_DESTROYED) and Duel.IsChainNegatable(ev)
end
function c64000018.distg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return true end
Duel.SetOperationInfo(0,CATEGORY_NEGATE,eg,1,0,0)
if re:GetHandler():IsDestructable() and re:GetHandler():IsRelateToEffect(re) then
Duel.SetOperationInfo(0,CATEGORY_DESTROY,eg,1,0,0)
end
end
function c64000018.disop(e,tp,eg,ep,ev,re,r,rp)
if Duel.NegateActivation(ev) and re:GetHandler():IsRelateToEffect(re) then
Duel.Destroy(eg,REASON_EFFECT)
end
end
function c64000018.filter(c)
return c:IsRace(RACE_REPTILE)
end
function c64000018.cost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.CheckReleaseGroupEx(tp,c64000018.filter,1,nil)
end
local c=Duel.SelectReleaseGroupEx(tp,c64000018.filter,1,1,nil)
Duel.Release(c,REASON_COST)
end
function c64000018.dscon(e,tp,eg,ep,ev,re,r,rp)
return ep==1-tp and Duel.GetCurrentChain()==0
end
function c64000018.dstg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return true end
Duel.SetOperationInfo(0,CATEGORY_DISABLE_SUMMON,eg,eg:GetCount(),0,0)
Duel.SetOperationInfo(0,CATEGORY_DESTROY,eg,eg:GetCount(),0,0)
end
function c64000018.dsop(e,tp,eg,ep,ev,re,r,rp)
Duel.NegateSummon(eg)
Duel.Destroy(eg,REASON_EFFECT)
end
function c64000018.negcon(e,tp,eg,ep,ev,re,r,rp)
return Duel.GetAttacker():IsControler(1-tp)
end
function c64000018.filter1(c)
return c:IsAttackPos()
end
function c64000018.negop(e,tp,eg,ep,ev,re,r,rp)
if Duel.NegateAttack() then
Duel.BreakEffect()
Duel.SkipPhase(1-tp,PHASE_BATTLE,RESET_PHASE+PHASE_BATTLE_STEP,1)
end
local g=Duel.GetMatchingGroup(c64000018.filter1,tp,0,LOCATION_MZONE,nil)
if g:GetCount()>0 then
Duel.Destroy(g,REASON_EFFECT)
end
end
--蛇神宠幸的圣女
function c64000019.initial_effect(c)
--special summon
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_FIELD)
e1:SetCode(EFFECT_SPSUMMON_PROC)
e1:SetProperty(EFFECT_FLAG_UNCOPYABLE)
e1:SetRange(LOCATION_HAND)
e1:SetCondition(c64000019.spcon)
c:RegisterEffect(e1)
--spsummon
local e2=Effect.CreateEffect(c)
e2:SetCategory(CATEGORY_SPECIAL_SUMMON)
e2:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_O)
e2:SetCode(EVENT_TO_GRAVE)
e2:SetProperty(EFFECT_FLAG_DELAY)
e2:SetCountLimit(1,64000022)
e2:SetTarget(c64000019.target)
e2:SetOperation(c64000019.activate)
c:RegisterEffect(e2)
end
function c64000019.spfilter(c)
return c:IsFaceup() and c:IsRace(RACE_REPTILE)
end
function c64000019.spcon(e,c)
if c==nil then return true end
local tp=c:GetControler()
return Duel.GetLocationCount(tp,LOCATION_MZONE)>0
and Duel.IsExistingMatchingCard(c64000019.spfilter,tp,LOCATION_MZONE,0,1,nil)
end
function c64000019.filter(c,e,tp)
return c:IsCanBeSpecialSummoned(e,SUMMON_VALUE_MONSTER_REBORN,tp,false,false) and c:IsRace(RACE_REPTILE)
end
function c64000019.target(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
if chkc then return chkc:IsLocation(LOCATION_GRAVE) and c64000019.filter(chkc,e,tp) end
if chk==0 then return Duel.GetLocationCount(tp,LOCATION_MZONE)>0
and Duel.IsExistingMatchingCard(c64000019.filter,tp,LOCATION_GRAVE,LOCATION_GRAVE,1,e:GetHandler(),e,tp) end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON)
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,g,1,0,0)
end
function c64000019.activate(e,tp,eg,ep,ev,re,r,rp)
local g=Duel.SelectMatchingCard(tp,c64000019.filter,tp,LOCATION_GRAVE,LOCATION_GRAVE,1,1,e:GetHandler(),e,tp)
Duel.SpecialSummon(g,SUMMON_VALUE_SELF,tp,tp,false,false,POS_FACEUP)
end
--雷切剑士 路易斯
function c64000020.initial_effect(c)
--summon in hand
local e1=Effect.CreateEffect(c)
e1:SetCategory(CATEGORY_SUMMON)
e1:SetType(EFFECT_TYPE_IGNITION)
e1:SetRange(LOCATION_HAND)
e1:SetCountLimit(1,64000023)
e1:SetCondition(c64000020.smcon)
e1:SetOperation(c64000020.smop)
c:RegisterEffect(e1)
--draw
local e2=Effect.CreateEffect(c)
e2:SetCategory(CATEGORY_DRAW)
e2:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_O)
e2:SetCode(EVENT_RELEASE)
e2:SetProperty(EFFECT_FLAG_DELAY+EFFECT_FLAG_DAMAGE_STEP)
e2:SetCountLimit(1,64000024)
e2:SetTarget(c64000020.drtg)
e2:SetOperation(c64000020.drop)
c:RegisterEffect(e2)
--effect gain
local e3=Effect.CreateEffect(c)
e3:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_CONTINUOUS)
e3:SetCode(EVENT_BE_MATERIAL)
e3:SetProperty(EFFECT_FLAG_EVENT_PLAYER)
e3:SetCondition(c64000020.efcon)
e3:SetOperation(c64000020.efop)
c:RegisterEffect(e3)
end
function c64000020.smcfilter(c)
return c:IsLevelAbove(5) and not c:IsPublic() and c:IsType(TYPE_MONSTER) and c:IsSummonableCard()
end
function c64000020.smcon(e,c)
if c==nil then return true end
return Duel.GetLocationCount(tp,LOCATION_MZONE)>0
and Duel.IsExistingMatchingCard(c64000020.smcfilter,tp,LOCATION_HAND,0,1,nil)
end
function c64000020.smop(e,tp,eg,ep,ev,re,r,rp,c)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_CONFIRM)
local g=Duel.SelectMatchingCard(tp,c64000020.smcfilter,tp,LOCATION_HAND,0,1,1,nil)
Duel.ConfirmCards(1-tp,g)
local tc=e:GetHandler()
if tc then
if tc:IsSummonable(true,nil) and (not tc:IsMSetable(true,nil)
or Duel.SelectPosition(tp,tc,POS_FACEUP_ATTACK+POS_FACEDOWN_DEFENSE)==POS_FACEUP_ATTACK) then
Duel.Summon(tp,tc,true,nil)
else Duel.MSet(tp,tc,true,nil)
end
end
end
function c64000020.drtg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsPlayerCanDraw(tp,1) end
Duel.SetTargetPlayer(tp)
Duel.SetTargetParam(1)
Duel.SetOperationInfo(0,CATEGORY_DRAW,nil,0,tp,1)
end
function c64000020.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)
end
function c64000020.efcon(e,tp,eg,ep,ev,re,r,rp)
return e:GetHandler():IsReason(REASON_SUMMON) and r==REASON_SUMMON
end
function c64000020.efop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
local rc=c:GetReasonCard()
local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(64000020,0))
e1:SetProperty(EFFECT_FLAG_CLIENT_HINT)
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetCode(EFFECT_INDESTRUCTABLE_COUNT)
e1:SetValue(1)
e1:SetCountLimit(2)
e1:SetCondition(c64000020.indcon)
e1:SetReset(RESET_EVENT+RESETS_STANDARD)
rc:RegisterEffect(e1)
end
function c64000020.indcon(e,tp,eg,ep,ev,re,r,rp)
return e:GetHandler():IsLocation(LOCATION_MZONE)
end
\ No newline at end of file
--白蛇巫
function c64000021.initial_effect(c)
--atk change
local e3=Effect.CreateEffect(c)
e3:SetDescription(aux.Stringid(64000021,1))
e3:SetCategory(CATEGORY_ATKCHANGE)
e3:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_O)
e3:SetCode(EVENT_SPSUMMON_SUCCESS)
e3:SetCondition(c64000021.con)
e3:SetCost(c64000021.atkcost)
e3:SetTarget(c64000021.atktg)
e3:SetOperation(c64000021.atkop)
c:RegisterEffect(e3)
local e2=e3:Clone()
e2:SetCode(EVENT_SUMMON_SUCCESS)
c:RegisterEffect(e2)
local e1=e3:Clone()
e1:SetCode(EVENT_FLIP)
c:RegisterEffect(e1)
--spsummon
local e4=Effect.CreateEffect(c)
e4:SetCategory(CATEGORY_SPECIAL_SUMMON)
e4:SetType(EFFECT_TYPE_IGNITION)
e4:SetRange(LOCATION_GRAVE)
e4:SetCondition(c64000021.con)
e4:SetCountLimit(1,64000025+EFFECT_COUNT_CODE_DUEL)
e4:SetCost(c64000021.cost)
e4:SetTarget(c64000021.tg)
e4:SetOperation(c64000021.op)
c:RegisterEffect(e4)
end
function c64000021.con(e,tp,eg,ep,ev,re,r,rp)
return Duel.GetFlagEffect(tp,64000021)==0
end
function c64000021.cost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsPlayerCanDiscardDeckAsCost(tp,3) end
Duel.DiscardDeck(tp,3,REASON_COST)
end
function c64000021.tg(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
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 c64000021.op(e,tp,eg,ep,ev,re,r,rp)
Duel.RegisterFlagEffect(tp,64000021,RESET_PHASE+PHASE_END,0,1)
local c=e:GetHandler()
Duel.SpecialSummon(c,0,tp,tp,false,false,POS_FACEUP)
end
function c64000021.cfilter(c)
return c:IsRace(RACE_REPTILE) and c:IsAbleToGraveAsCost()
end
function c64000021.atkcost(e,tp,eg,ep,ev,re,r,rp,chk)
e:SetLabel(1)
return true
end
function c64000021.atktg(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
if chk==0 then
if e:GetLabel()~=1 then return false end
e:SetLabel(0)
return Duel.IsExistingMatchingCard(c64000021.cfilter,tp,LOCATION_DECK,0,1,nil)
end
e:SetLabel(0)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TOGRAVE)
local g=Duel.SelectMatchingCard(tp,c64000021.cfilter,tp,LOCATION_DECK,0,1,1,nil)
Duel.SendtoGrave(g,REASON_COST)
e:SetLabelObject(g:GetFirst())
end
function c64000021.atkop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
local sc=e:GetLabelObject()
if c:IsRelateToEffect(e) and c:IsFaceup() then
local atk=sc:GetAttack()
local def=sc:GetDefense()
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetCode(EFFECT_UPDATE_DEFENSE)
e1:SetProperty(EFFECT_FLAG_CANNOT_DISABLE)
e1:SetReset(RESET_EVENT+RESETS_STANDARD+RESET_PHASE+PHASE_END+RESET_OPPO_TURN)
e1:SetValue(math.ceil(def/2))
c:RegisterEffect(e1)
local e2=Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_SINGLE)
e2:SetCode(EFFECT_UPDATE_ATTACK)
e2:SetProperty(EFFECT_FLAG_CANNOT_DISABLE)
e2:SetReset(RESET_EVENT+RESETS_STANDARD+RESET_PHASE+PHASE_END+RESET_OPPO_TURN)
e2:SetValue(math.ceil(atk/2))
c:RegisterEffect(e2)
end
Duel.RegisterFlagEffect(tp,64000021,RESET_PHASE+PHASE_END,0,1)
end
\ No newline at end of file
--幽海突戟皇
function c64000022.initial_effect(c)
c:EnableReviveLimit()
--immune
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetProperty(EFFECT_FLAG_SINGLE_RANGE)
e1:SetRange(LOCATION_MZONE)
e1:SetCode(EFFECT_IMMUNE_EFFECT)
e1:SetValue(c64000022.efilter)
c:RegisterEffect(e1)
--ATTRIBUTE_WATER
local e2=Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_SINGLE)
e2:SetProperty(EFFECT_FLAG_SINGLE_RANGE+EFFECT_FLAG_CANNOT_DISABLE)
e2:SetCode(EFFECT_CHANGE_ATTRIBUTE)
e2:SetRange(LOCATION_MZONE)
e2:SetValue(ATTRIBUTE_WATER+ATTRIBUTE_WIND)
c:RegisterEffect(e2)
--special summon
local e3=Effect.CreateEffect(c)
e3:SetType(EFFECT_TYPE_FIELD)
e3:SetCode(EFFECT_SPSUMMON_PROC)
e3:SetProperty(EFFECT_FLAG_CANNOT_DISABLE+EFFECT_FLAG_UNCOPYABLE)
e3:SetRange(LOCATION_EXTRA+LOCATION_HAND)
e3:SetCondition(c64000022.spcon)
e3:SetOperation(c64000022.spop)
c:RegisterEffect(e3)
--battle indes
local e4=Effect.CreateEffect(c)
e4:SetType(EFFECT_TYPE_SINGLE)
e4:SetProperty(EFFECT_FLAG_SINGLE_RANGE)
e4:SetRange(LOCATION_MZONE)
e4:SetCode(EFFECT_INDESTRUCTABLE_COUNT)
e4:SetCountLimit(1)
e4:SetValue(c64000022.valcon)
c:RegisterEffect(e4)
--Return to Hand
local e5=Effect.CreateEffect(c)
e5:SetCategory(CATEGORY_TOHAND)
e5:SetType(EFFECT_TYPE_QUICK_O)
e5:SetCode(EVENT_FREE_CHAIN)
e5:SetProperty(EFFECT_FLAG_CARD_TARGET)
e5:SetRange(LOCATION_MZONE)
e5:SetHintTiming(0,TIMINGS_CHECK_MONSTER+TIMING_END_PHASE)
e5:SetCountLimit(1)
e5:SetTarget(c64000022.thtg)
e5:SetOperation(c64000022.thop)
c:RegisterEffect(e5)
end
function c64000022.filter(c)
return c:IsAbleToHand()
end
function c64000022.thtg(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
if chkc then return chkc:IsOnField() end
if chk==0 then return Duel.IsExistingTarget(c64000022.filter,tp,LOCATION_ONFIELD,LOCATION_ONFIELD,1,e:GetHandler()) end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_RTOHAND)
local g=Duel.SelectTarget(tp,c64000022.filter,tp,LOCATION_ONFIELD,LOCATION_ONFIELD,1,1,e:GetHandler())
Duel.SetOperationInfo(0,CATEGORY_TOHAND,g,1,0,0)
end
function c64000022.thop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
local tc=Duel.GetFirstTarget()
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetCode(EFFECT_UPDATE_ATTACK)
e1:SetValue(500)
e1:SetReset(RESET_EVENT+RESETS_STANDARD)
c:RegisterEffect(e1)
local e2=Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_SINGLE)
e2:SetCode(EFFECT_UPDATE_DEFENSE)
e2:SetValue(500)
e2:SetReset(RESET_EVENT+RESETS_STANDARD)
c:RegisterEffect(e2)
if tc:IsRelateToEffect(e) then
Duel.SendtoHand(tc,nill,REASON_EFFECT)
end
end
function c64000022.valcon(e,re,r,rp)
return bit.band(r,REASON_BATTLE)~=0
end
function c64000022.efilter(e,te)
if te:GetOwner()==e:GetOwner() then return false end
if not te:IsHasProperty(EFFECT_FLAG_CARD_TARGET) then return true end
local tg=Duel.GetChainInfo(0,CHAININFO_TARGET_CARDS)
local mc=tg:GetCount()
if mc~=1 then return true end
return not tg or not tg:IsContains(e:GetHandler())
end
function c64000022.spfilter(c,att)
return c:IsAttribute(att) and c:IsAbleToRemoveAsCost()
end
function c64000022.spcon(e,c)
if c==nil then return true end
local tp=c:GetControler()
return c:IsLocation(LOCATION_HAND) and Duel.GetLocationCount(tp,LOCATION_MZONE)>0
and Duel.IsExistingMatchingCard(c64000022.spfilter,tp,LOCATION_GRAVE,0,1,nil,ATTRIBUTE_WATER)
and Duel.IsExistingMatchingCard(c64000022.spfilter,tp,LOCATION_GRAVE,0,1,nil,ATTRIBUTE_WIND)
end
function c64000022.spop(e,tp,eg,ep,ev,re,r,rp,c)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_REMOVE)
local g1=Duel.SelectMatchingCard(tp,c64000022.spfilter,tp,LOCATION_GRAVE,0,1,1,nil,ATTRIBUTE_WIND)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_REMOVE)
local g2=Duel.SelectMatchingCard(tp,c64000022.spfilter,tp,LOCATION_GRAVE,0,1,1,nil,ATTRIBUTE_WATER)
g1:Merge(g2)
Duel.Remove(g1,POS_FACEUP,REASON_COST)
end
\ No newline at end of file
--召引的雷灵
function c64000023.initial_effect(c)
--summon in hand
local e1=Effect.CreateEffect(c)
e1:SetCategory(CATEGORY_SUMMON)
e1:SetType(EFFECT_TYPE_IGNITION)
e1:SetRange(LOCATION_HAND)
e1:SetCountLimit(1,64000026)
e1:SetCondition(c64000023.smcon)
e1:SetOperation(c64000023.smop)
c:RegisterEffect(e1)
--roof
local e2=Effect.CreateEffect(c)
e2:SetCategory(CATEGORY_TOHAND+CATEGORY_SEARCH)
e2:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_O)
e2:SetProperty(EFFECT_FLAG_DELAY)
e2:SetCode(EVENT_SUMMON_SUCCESS)
e2:SetRange(LOCATION_MZONE)
e2:SetCountLimit(1,64000027)
e2:SetTarget(c64000023.target)
e2:SetOperation(c64000023.operation)
c:RegisterEffect(e2)
local e3=e2:Clone()
e3:SetCode(EVENT_FLIP)
c:RegisterEffect(e3)
local e4=e2:Clone()
e4:SetCode(EVENT_SPSUMMON_SUCCESS)
c:RegisterEffect(e4)
end
function c64000023.smfilter(c)
return c:GetOriginalRace()==RACE_THUNDER
end
function c64000023.smcon(e,tp,eg,ep,ev,re,r,rp)
return (Duel.GetFieldGroupCount(tp,LOCATION_MZONE,0)==0 or Duel.IsExistingMatchingCard(c64000023.smfilter,tp,LOCATION_MZONE,0,1,nil))
end
function c64000023.smtg(e,tp,eg,ep,ev,re,r,rp,chk)
local c=e:GetHandler()
if chk==0 then return c:IsSummonable(true,nil) end
Duel.SetOperationInfo(0,CATEGORY_SUMMON,c,1,0,0)
end
function c64000023.smop(e,tp,eg,ep,ev,re,r,rp)
local tc=e:GetHandler()
if tc then
if tc:IsSummonable(true,nil) and (not tc:IsMSetable(true,nil)
or Duel.SelectPosition(tp,tc,POS_FACEUP_ATTACK+POS_FACEDOWN_DEFENSE)==POS_FACEUP_ATTACK) then
Duel.Summon(tp,tc,true,nil)
else Duel.MSet(tp,tc,true,nil)
end
end
end
function c64000023.filter(c)
return c:IsRace(RACE_THUNDER) and c:IsAbleToHand()
end
function c64000023.target(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.GetFieldGroupCount(tp,LOCATION_DECK,0)>4 end
end
function c64000023.operation(e,tp,eg,ep,ev,re,r,rp)
if Duel.GetFieldGroupCount(tp,LOCATION_DECK,0)<5 then return end
local g=Duel.GetDecktopGroup(tp,5)
Duel.ConfirmCards(tp,g)
if g:IsExists(c64000023.filter,1,nil) and Duel.SelectYesNo(tp,aux.Stringid(64000023,0)) then
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_ATOHAND)
local sg=g:FilterSelect(tp,c64000023.filter,1,1,nil)
Duel.SendtoHand(sg,nil,REASON_EFFECT)
Duel.ConfirmCards(1-tp,sg)
end
end
\ No newline at end of file
--血咒的魔女
function c64000050.initial_effect(c)
--
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_QUICK_O)
e1:SetCode(EVENT_FREE_CHAIN)
e1:SetHintTiming(0,TIMING_STANDBY_PHASE)
e1:SetRange(LOCATION_HAND+LOCATION_MZONE)
e1:SetCountLimit(1,64000050)
e1:SetCost(c64000050.xxcost)
e1:SetTarget(c64000050.xxtg)
e1:SetOperation(c64000050.xxop)
c:RegisterEffect(e1)
end
function c64000050.xxcost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.CheckLPCost(tp,1500) and e:GetHandler():IsReleasable() end
Duel.PayLPCost(tp,1500)
Duel.Release(e:GetHandler(),REASON_COST)
end
function c64000050.xxtg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return true end
end
function c64000050.xxop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
e1:SetCode(EVENT_SUMMON_SUCCESS)
e1:SetCondition(c64000050.dacon)
e1:SetOperation(c64000050.daop)
e1:SetReset(RESET_PHASE+PHASE_END)
Duel.RegisterEffect(e1,tp)
local e2=e1:Clone()
e2:SetCode(EVENT_SPSUMMON_SUCCESS)
Duel.RegisterEffect(e2,tp)
end
function c64000050.dacfil(c,tp)
return c:IsSummonPlayer(1-tp)
end
function c64000050.dacon(e,tp,eg,ep,ev,re,r,rp)
return eg:IsExists(c64000050.dacfil,1,nil,tp)
end
function c64000050.daop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
local g=eg:Filter(c64000050.dacfil,nil,tp)
local atk=0
local tc=g:GetFirst()
while tc do
local a=tc:GetAttack()
local b=tc:GetDefense()
if b>a then a=b end
if a<0 then a=0 end
atk=atk+a
tc=g:GetNext()
end
if atk>0 then
Duel.Hint(HINT_CARD,0,64000050)
Duel.Damage(1-tp,atk/2,REASON_EFFECT)
end
end
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
--派对狂欢穆克拉
local m=7439201
local cm=_G["c"..m]
cm.named_with_party_time=1
function cm.Party_time(c)
local m=_G["c"..c:GetCode()]
return m and m.named_with_party_time
end
function cm.initial_effect(c)
--search
local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(m,0))
e1:SetCategory(CATEGORY_ATKCHANGE+CATEGORY_DEFCHANGE+CATEGORY_TOHAND+CATEGORY_SEARCH)
e1:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_F)
e1:SetCode(EVENT_SUMMON_SUCCESS)
e1:SetProperty(EFFECT_FLAG_DELAY)
e1:SetOperation(cm.atkop)
c:RegisterEffect(e1)
local e2=e1:Clone()
e2:SetCode(EVENT_SPSUMMON_SUCCESS)
c:RegisterEffect(e2)
--spsummon
local e5=Effect.CreateEffect(c)
e5:SetDescription(aux.Stringid(m,1))
e5:SetCategory(CATEGORY_SPECIAL_SUMMON)
e5:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_O)
e5:SetProperty(EFFECT_FLAG_DAMAGE_STEP+EFFECT_FLAG_DELAY)
e5:SetCode(EVENT_TO_GRAVE)
e5:SetCondition(cm.spcon)
e5:SetTarget(cm.sptg)
e5:SetOperation(cm.spop)
c:RegisterEffect(e5)
local e6=e5:Clone()
e6:SetCode(EVENT_REMOVE)
c:RegisterEffect(e6)
end
function cm.thfilter(c)
return cm.Party_time(c) and c:IsType(TYPE_TRAP) and c:IsAbleToHand()
end
function cm.cfilter(c)
return c:GetAttack()~=c:GetBaseAttack() and c:IsFaceup()
end
function cm.atkop(e,tp,eg,ep,ev,re,r,rp)
local count=5
local c=e:GetHandler()
while count>0 and Duel.IsExistingMatchingCard(Card.IsFaceup,tp,LOCATION_MZONE,LOCATION_MZONE,1,nil) do
if count<5 then Duel.BreakEffect() end
local g=Duel.GetMatchingGroup(Card.IsFaceup,tp,LOCATION_MZONE,LOCATION_MZONE,nil)
local tc=g:RandomSelect(0,1):GetFirst()
Duel.HintSelection(Group.FromCards(tc))
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetCode(EFFECT_UPDATE_ATTACK)
e1:SetProperty(EFFECT_FLAG_CANNOT_DISABLE)
e1:SetValue(500)
e1:SetReset(RESET_EVENT+RESETS_STANDARD)
tc:RegisterEffect(e1)
local e2=e1:Clone()
e2:SetCode(EFFECT_UPDATE_DEFENSE)
tc:RegisterEffect(e2)
Duel.AdjustInstantly()
count=count-1
end
local cg=Duel.GetMatchingGroup(cm.cfilter,tp,LOCATION_MZONE,LOCATION_MZONE,nil)
local g=Duel.GetMatchingGroup(cm.thfilter,c:GetOwner(),LOCATION_DECK,0,nil)
if count<5 and cg and cg:GetCount()>0 and
g:CheckSubGroup(aux.dncheck,cg:GetCount(),cg:GetCount()) and Duel.SelectYesNo(c:GetOwner(),aux.Stringid(m,3)) then
Duel.BreakEffect()
Duel.Hint(HINT_SELECTMSG,c:GetOwner(),HINTMSG_ATOHAND)
--local sg=Duel.SelectMatchingCard(c:GetOwner(),cm.thfilter,c:GetOwner(),LOCATION_DECK,0,cg:GetCount(),cg:GetCount(),nil)
local sg=g:SelectSubGroup(c:GetOwner(),aux.dncheck,false,cg:GetCount(),cg:GetCount())
if sg:GetCount()>0 then
Duel.SendtoHand(sg,c:GetOwner(),REASON_EFFECT)
Duel.ConfirmCards(1-c:GetOwner(),sg)
end
end
end
function cm.spcon(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
local b1=false
local b2=false
local b3=false
if re and re:GetHandler() then
b1=(re:GetHandler():GetControler()==1-c:GetOwner())
end
if c:GetReasonCard() then
b2=(c:GetReasonCard():GetControler()==1-c:GetOwner())
end
if c:GetReasonEffect() and c:GetReasonEffect():GetHandler() then
b3=(c:GetReasonEffect():GetHandler():GetControler()==1-c:GetOwner())
end
return (c:GetReasonPlayer()==1-c:GetOwner() or b1 or b2 or b3) and (not (Duel.GetCurrentPhase()>=PHASE_BATTLE_START and Duel.GetCurrentPhase()<=PHASE_BATTLE))
end
function cm.sptg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.GetLocationCount(tp,LOCATION_MZONE)>0
and e:GetHandler():IsCanBeSpecialSummoned(e,0,tp,false,false) end
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,e:GetHandler(),1,0,0)
end
function cm.spop(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
end
--派对狂欢穆克拉
local m=7439203
local cm=_G["c"..m]
cm.named_with_party_time=1
function cm.Party_time(c)
local m=_G["c"..c:GetCode()]
return m and m.named_with_party_time
end
function cm.initial_effect(c)
--token
local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(m,0))
e1:SetCategory(CATEGORY_ATKCHANGE+CATEGORY_DEFCHANGE+CATEGORY_TOGRAVE+CATEGORY_TOHAND+CATEGORY_SEARCH)
e1:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_F)
e1:SetCode(EVENT_SUMMON_SUCCESS)
e1:SetProperty(EFFECT_FLAG_DELAY)
e1:SetTarget(cm.tgtg)
e1:SetOperation(cm.tgop)
c:RegisterEffect(e1)
local e2=e1:Clone()
e2:SetCode(EVENT_SPSUMMON_SUCCESS)
c:RegisterEffect(e2)
--spsummon
local e5=Effect.CreateEffect(c)
e5:SetDescription(aux.Stringid(m,1))
e5:SetCategory(CATEGORY_SPECIAL_SUMMON)
e5:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_O)
e5:SetProperty(EFFECT_FLAG_DAMAGE_STEP+EFFECT_FLAG_DELAY)
e5:SetCode(EVENT_TO_GRAVE)
e5:SetCondition(cm.spcon)
e5:SetTarget(cm.sptg)
e5:SetOperation(cm.spop)
c:RegisterEffect(e5)
local e6=e5:Clone()
e6:SetCode(EVENT_REMOVE)
c:RegisterEffect(e6)
end
function cm.thfilter(c,lv)
return cm.Party_time(c) and c:IsAbleToHand() and c:IsType(TYPE_MONSTER) and c:IsLevel(lv)
end
function cm.tgtg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return true end
Duel.SetOperationInfo(0,CATEGORY_TOGRAVE,nil,1,1-tp,LOCATION_HAND)
end
function cm.tgop(e,tp,eg,ep,ev,re,r,rp)
local g=Duel.GetMatchingGroup(Card.IsType,1-tp,LOCATION_HAND,0,nil,TYPE_MONSTER)
if g:GetCount()>0 then
Duel.Hint(HINT_SELECTMSG,1-tp,HINTMSG_TOGRAVE)
local sg=g:Select(1-tp,1,1,nil)
Duel.HintSelection(sg)
Duel.SendtoGrave(sg,REASON_RULE)
local og=Duel.GetOperatedGroup()
if not og or og:GetCount()<=0 then return false end
local tc=og:GetFirst()
local c=e:GetHandler()
local atk=tc:GetAttack()
local def=tc:GetDefense()
if atk>0 then
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetCode(EFFECT_UPDATE_ATTACK)
e1:SetValue(atk)
e1:SetReset(RESET_EVENT+RESETS_STANDARD+RESET_DISABLE)
c:RegisterEffect(e1)
end
if def>0 then
local e2=Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_SINGLE)
e2:SetCode(EFFECT_UPDATE_DEFENSE)
e2:SetValue(def)
e2:SetReset(RESET_EVENT+RESETS_STANDARD+RESET_DISABLE)
c:RegisterEffect(e2)
end
if tc and Duel.IsExistingMatchingCard(cm.thfilter,c:GetOwner(),LOCATION_DECK,0,1,nil,tc:GetLevel())
and Duel.SelectYesNo(c:GetOwner(),aux.Stringid(m,3)) then
Duel.BreakEffect()
Duel.Hint(HINT_SELECTMSG,c:GetOwner(),HINTMSG_ATOHAND)
local sg=Duel.SelectMatchingCard(c:GetOwner(),cm.thfilter,c:GetOwner(),LOCATION_DECK,0,1,1,nil,tc:GetLevel())
if sg:GetCount()>0 then
Duel.SendtoHand(sg,c:GetOwner(),REASON_EFFECT)
Duel.ConfirmCards(1-c:GetOwner(),sg)
end
end
end
end
function cm.spcon(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
local b1=false
local b2=false
local b3=false
if re and re:GetHandler() then
b1=(pl==1-c:GetOwner())
end
if c:GetReasonCard() then
b2=(c:GetReasonCard():GetControler()==1-c:GetOwner())
end
if c:GetReasonEffect() and c:GetReasonEffect():GetHandler() then
b3=(c:GetReasonEffect():GetHandlerPlayer()==1-c:GetOwner())
end
return (c:GetReasonPlayer()==1-c:GetOwner() or b1 or b2 or b3) and (not (Duel.GetCurrentPhase()>=PHASE_BATTLE_START and Duel.GetCurrentPhase()<=PHASE_BATTLE))
end
function cm.sptg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.GetLocationCount(tp,LOCATION_MZONE)>0
and e:GetHandler():IsCanBeSpecialSummoned(e,0,tp,false,false) end
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,e:GetHandler(),1,0,0)
end
function cm.spop(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
end
--派对狂欢穆克拉
local m=7439205
local cm=_G["c"..m]
cm.named_with_party_time=1
function cm.Party_time(c)
local m=_G["c"..c:GetCode()]
return m and m.named_with_party_time
end
function cm.initial_effect(c)
--token
local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(m,0))
e1:SetCategory(CATEGORY_SPECIAL_SUMMON)
e1:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_F)
e1:SetCode(EVENT_SUMMON_SUCCESS)
e1:SetProperty(EFFECT_FLAG_DELAY)
e1:SetTarget(cm.sptg2)
e1:SetOperation(cm.spop2)
c:RegisterEffect(e1)
local e2=e1:Clone()
e2:SetCode(EVENT_SPSUMMON_SUCCESS)
c:RegisterEffect(e2)
--spsummon
local e5=Effect.CreateEffect(c)
e5:SetDescription(aux.Stringid(m,1))
e5:SetCategory(CATEGORY_SPECIAL_SUMMON)
e5:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_O)
e5:SetProperty(EFFECT_FLAG_DAMAGE_STEP+EFFECT_FLAG_DELAY)
e5:SetCode(EVENT_TO_GRAVE)
e5:SetCondition(cm.spcon)
e5:SetTarget(cm.sptg)
e5:SetOperation(cm.spop)
c:RegisterEffect(e5)
local e6=e5:Clone()
e6:SetCode(EVENT_REMOVE)
c:RegisterEffect(e6)
end
function cm.spfilter1(c,e,tp)
return cm.Party_time(c) and c:IsType(TYPE_MONSTER) and c:IsCanBeSpecialSummoned(e,0,tp,false,false)
end
function cm.spfilter2(c,e,tp)
return c:IsType(TYPE_MONSTER) and c:IsCanBeSpecialSummoned(e,0,tp,false,false) and Duel.IsExistingMatchingCard(cm.spfilter3,c:GetOwner(),LOCATION_MZONE,LOCATION_MZONE,2,nil,c:GetCode())
end
function cm.spfilter3(c,code)
return c:IsFaceup() and c:IsCode(code)
end
function cm.sptg2(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return true end
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,1,1-tp,LOCATION_HAND)
end
function cm.spop2(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
if Duel.GetLocationCount(c:GetOwner(),LOCATION_MZONE)<=0 then return end
Duel.Hint(HINT_SELECTMSG,c:GetOwner(),HINTMSG_SPSUMMON)
local g=Duel.SelectMatchingCard(c:GetOwner(),cm.spfilter1,c:GetOwner(),LOCATION_HAND,0,1,1,nil,e,c:GetOwner())
if g:GetCount()>0 and Duel.SpecialSummon(g,0,c:GetOwner(),c:GetOwner(),false,false,POS_FACEUP)>0 and Duel.GetLocationCount(c:GetOwner(),LOCATION_MZONE)>0
and Duel.IsExistingMatchingCard(cm.spfilter2,c:GetOwner(),LOCATION_DECK+LOCATION_HAND+LOCATION_GRAVE,0,1,nil,e,c:GetOwner()) and Duel.SelectYesNo(c:GetOwner(),aux.Stringid(m,3)) then
Duel.BreakEffect()
Duel.Hint(HINT_SELECTMSG,c:GetOwner(),HINTMSG_SPSUMMON)
local sg=Duel.SelectMatchingCard(c:GetOwner(),cm.spfilter2,c:GetOwner(),LOCATION_DECK+LOCATION_HAND+LOCATION_GRAVE,0,1,1,nil,e,c:GetOwner())
if sg:GetCount()>0 then
Duel.SpecialSummon(sg,0,c:GetOwner(),c:GetOwner(),false,false,POS_FACEUP)
end
end
end
function cm.spcon(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
local b1=false
local b2=false
local b3=false
if re and re:GetHandler() then
b1=(pl==1-c:GetOwner())
end
if c:GetReasonCard() then
b2=(c:GetReasonCard():GetControler()==1-c:GetOwner())
end
if c:GetReasonEffect() and c:GetReasonEffect():GetHandler() then
b3=(c:GetReasonEffect():GetHandlerPlayer()==1-c:GetOwner())
end
return (c:GetReasonPlayer()==1-c:GetOwner() or b1 or b2 or b3) and (not (Duel.GetCurrentPhase()>=PHASE_BATTLE_START and Duel.GetCurrentPhase()<=PHASE_BATTLE))
end
function cm.sptg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.GetLocationCount(tp,LOCATION_MZONE)>0
and e:GetHandler():IsCanBeSpecialSummoned(e,0,tp,false,false) end
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,e:GetHandler(),1,0,0)
end
function cm.spop(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
end
--派对狂欢穆克拉
local m=7439207
local cm=_G["c"..m]
cm.named_with_party_time=1
function cm.Party_time(c)
local m=_G["c"..c:GetCode()]
return m and m.named_with_party_time
end
function cm.initial_effect(c)
--token
local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(m,0))
e1:SetCategory(CATEGORY_SPECIAL_SUMMON)
e1:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_F)
e1:SetCode(EVENT_SUMMON_SUCCESS)
e1:SetProperty(EFFECT_FLAG_DELAY)
e1:SetTarget(cm.sptg2)
e1:SetOperation(cm.spop2)
c:RegisterEffect(e1)
local e2=e1:Clone()
e2:SetCode(EVENT_SPSUMMON_SUCCESS)
c:RegisterEffect(e2)
--spsummon
local e5=Effect.CreateEffect(c)
e5:SetDescription(aux.Stringid(m,1))
e5:SetCategory(CATEGORY_SPECIAL_SUMMON)
e5:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_O)
e5:SetProperty(EFFECT_FLAG_DAMAGE_STEP+EFFECT_FLAG_DELAY)
e5:SetCode(EVENT_TO_GRAVE)
e5:SetCondition(cm.spcon)
e5:SetTarget(cm.sptg)
e5:SetOperation(cm.spop)
c:RegisterEffect(e5)
local e6=e5:Clone()
e6:SetCode(EVENT_REMOVE)
c:RegisterEffect(e6)
end
function cm.spfilter1(c,e,tp)
return cm.Party_time(c) and c:IsType(TYPE_MONSTER) and c:IsCanBeSpecialSummoned(e,0,tp,false,false) and (c:IsLocation(LOCATION_HAND) or (c:IsLevelBelow(3) and c:IsLocation(LOCATION_DECK) and not Duel.IsExistingMatchingCard(cm.spfilter2,c:GetOwner(),LOCATION_MZONE,0,1,nil)))
end
function cm.spfilter2(c)
return c:IsFaceup() and c:IsLevelAbove(5)
end
function cm.sptg2(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return true end
if not Duel.IsExistingMatchingCard(cm.spfilter2,e:GetHandler():GetOwner(),LOCATION_MZONE,0,1,nil) then
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,1,e:GetHandler():GetOwner(),LOCATION_HAND+LOCATION_DECK)
else
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,1,e:GetHandler():GetOwner(),LOCATION_HAND)
end
end
function cm.spop2(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
if Duel.GetLocationCount(c:GetOwner(),LOCATION_MZONE)<=0 then return end
Duel.Hint(HINT_SELECTMSG,c:GetOwner(),HINTMSG_SPSUMMON)
local g=Duel.SelectMatchingCard(c:GetOwner(),cm.spfilter1,c:GetOwner(),LOCATION_HAND+LOCATION_DECK,0,1,1,nil,e,c:GetOwner())
if g:GetCount()>0 then
Duel.SpecialSummon(g,0,c:GetOwner(),c:GetOwner(),false,false,POS_FACEUP)
end
end
function cm.spcon(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
local b1=false
local b2=false
local b3=false
if re and re:GetHandler() then
b1=(pl==1-c:GetOwner())
end
if c:GetReasonCard() then
b2=(c:GetReasonCard():GetControler()==1-c:GetOwner())
end
if c:GetReasonEffect() and c:GetReasonEffect():GetHandler() then
b3=(c:GetReasonEffect():GetHandlerPlayer()==1-c:GetOwner())
end
return (c:GetReasonPlayer()==1-c:GetOwner() or b1 or b2 or b3) and (not (Duel.GetCurrentPhase()>=PHASE_BATTLE_START and Duel.GetCurrentPhase()<=PHASE_BATTLE))
end
function cm.sptg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.GetLocationCount(tp,LOCATION_MZONE)>0
and e:GetHandler():IsCanBeSpecialSummoned(e,0,tp,false,false) end
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,e:GetHandler(),1,0,0)
end
function cm.spop(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
end
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
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