Commit a122b69b authored by 未闻皂名's avatar 未闻皂名

2026/1/13 已发售卡片移至正式卡,新增:冥迹,月军团新卡

parent 76461170
No preview for this file type
No preview for this file type
...@@ -70,6 +70,7 @@ $legend_trap 1 ...@@ -70,6 +70,7 @@ $legend_trap 1
120277040 $legend_monster 1 -- 食魂者 巴祖 120277040 $legend_monster 1 -- 食魂者 巴祖
120285027 $legend_monster 1 -- 摩耳摩 120285027 $legend_monster 1 -- 摩耳摩
120291001 $legend_monster 1 -- 邪帝 盖乌斯 120291001 $legend_monster 1 -- 邪帝 盖乌斯
120300000 $legend_monster 1 -- 神兽王 巴巴罗斯
120109039 $legend_spell 1 -- 魔导师之力 120109039 $legend_spell 1 -- 魔导师之力
120140009 $legend_spell 1 -- 右手持盾左手持剑 120140009 $legend_spell 1 -- 右手持盾左手持剑
......
...@@ -320,7 +320,7 @@ function RushDuel.SendOpponentHandToGrave(tp, hint, min, max) ...@@ -320,7 +320,7 @@ function RushDuel.SendOpponentHandToGrave(tp, hint, min, max)
if #ops == 1 then if #ops == 1 then
ac = table.remove(ops) ac = table.remove(ops)
elseif #ops > 1 then elseif #ops > 1 then
Duel.Hint(HINT_SELECTMSG, tp, hint) Duel.Hint(HINT_SELECTMSG, tp, HINTMSG_OPERATE_COUNT)
ac = Duel.AnnounceNumber(tp, table.unpack(ops)) ac = Duel.AnnounceNumber(tp, table.unpack(ops))
end end
if ac > 0 then if ac > 0 then
...@@ -558,7 +558,7 @@ function RushDuel.CanDiscardDeck(desc, player, min, max, break_effect) ...@@ -558,7 +558,7 @@ function RushDuel.CanDiscardDeck(desc, player, min, max, break_effect)
if #ops == 1 then if #ops == 1 then
count = table.remove(ops) count = table.remove(ops)
elseif #ops > 1 then elseif #ops > 1 then
Duel.Hint(HINT_SELECTMSG, player, HINTMSG_TOGRAVE_COUNT) Duel.Hint(HINT_SELECTMSG, player, HINTMSG_OPERATE_COUNT)
count = Duel.AnnounceNumber(player, table.unpack(ops)) count = Duel.AnnounceNumber(player, table.unpack(ops))
end end
return Duel.DiscardDeck(player, count, REASON_EFFECT) return Duel.DiscardDeck(player, count, REASON_EFFECT)
......
...@@ -31,6 +31,7 @@ EFFECT_CANNOT_TO_DECK_EFFECT = 120274002 -- 不会因效果回到卡组·额外 ...@@ -31,6 +31,7 @@ EFFECT_CANNOT_TO_DECK_EFFECT = 120274002 -- 不会因效果回到卡组·额外
EFFECT_CANNOT_CHANGE_POSITION_EFFECT = 120277011 -- 不会因效果改变表示形式 EFFECT_CANNOT_CHANGE_POSITION_EFFECT = 120277011 -- 不会因效果改变表示形式
EFFECT_NO_COST_SEND_HAND_TO_GRAVE = 120294004 -- 不需要支付"把手卡送去墓地"的代价 EFFECT_NO_COST_SEND_HAND_TO_GRAVE = 120294004 -- 不需要支付"把手卡送去墓地"的代价
EFFECT_CANNOT_BE_RITUAL_MATERIAL = 120294063 -- 不能作为仪式术召唤的素材 EFFECT_CANNOT_BE_RITUAL_MATERIAL = 120294063 -- 不能作为仪式术召唤的素材
EFFECT_RITUAL_MATERIAL = 120300052 -- 额外的仪式素材
-- 标记 -- 标记
FLAG_SUMMON_TURN = 120000011 -- 召唤·特殊召唤的回合被盖放, 不再符合召唤·特殊召唤的回合的条件 FLAG_SUMMON_TURN = 120000011 -- 召唤·特殊召唤的回合被盖放, 不再符合召唤·特殊召唤的回合的条件
...@@ -48,12 +49,12 @@ HINTMSG_MAXSUMMON = Auxiliary.Stringid(120000000, 0) -- 极大召唤 ...@@ -48,12 +49,12 @@ HINTMSG_MAXSUMMON = Auxiliary.Stringid(120000000, 0) -- 极大召唤
HINTMSG_MAXMATERIAL = Auxiliary.Stringid(120000000, 1) -- 请选择要极大召唤的怪兽(3只) HINTMSG_MAXMATERIAL = Auxiliary.Stringid(120000000, 1) -- 请选择要极大召唤的怪兽(3只)
HINTMSG_FUSION_MATERIAL = Auxiliary.Stringid(120000000, 2) --请选择要作为融合术召唤的素材的卡 HINTMSG_FUSION_MATERIAL = Auxiliary.Stringid(120000000, 2) --请选择要作为融合术召唤的素材的卡
HINTMSG_RITUAL_MATERIAL = Auxiliary.Stringid(120000000, 3) -- 请选择要作为仪式术召唤的素材的卡 HINTMSG_RITUAL_MATERIAL = Auxiliary.Stringid(120000000, 3) -- 请选择要作为仪式术召唤的素材的卡
HINTMSG_OPERATE_COUNT = Auxiliary.Stringid(120000000, 4) -- 请选择要操作的数量
HINTMSG_ANNOUNCE_MONSTER = Auxiliary.Stringid(120000001, 0) -- 宣言常规怪兽 HINTMSG_ANNOUNCE_MONSTER = Auxiliary.Stringid(120000001, 0) -- 宣言常规怪兽
HINTMSG_ANNOUNCE_LEGEND = Auxiliary.Stringid(120000001, 1) -- 宣言传说怪兽 HINTMSG_ANNOUNCE_LEGEND = Auxiliary.Stringid(120000001, 1) -- 宣言传说怪兽
HINTMSG_SUMMON_TURN = Auxiliary.Stringid(120000002, 0) -- 在这个回合召唤 HINTMSG_SUMMON_TURN = Auxiliary.Stringid(120000002, 0) -- 在这个回合召唤
HINTMSG_SPSUMMON_TURN = Auxiliary.Stringid(120000002, 1) -- 在这个回合特殊召唤 HINTMSG_SPSUMMON_TURN = Auxiliary.Stringid(120000002, 1) -- 在这个回合特殊召唤
HINTMSG_EFFECT_USED = Auxiliary.Stringid(120000002, 2) -- 已使用过效果 HINTMSG_EFFECT_USED = Auxiliary.Stringid(120000002, 2) -- 已使用过效果
HINTMSG_TOGRAVE_COUNT = HINTMSG_TOGRAVE -- 请选择要送去墓地的数量
-- 异画卡: 复制Lua代码 -- 异画卡: 复制Lua代码
function RushDuel.AlternateCard(code) function RushDuel.AlternateCard(code)
......
...@@ -234,6 +234,22 @@ function RushDuel.GetRitualSummonData(e, tp, type, matfilter, spfilter, exfilter ...@@ -234,6 +234,22 @@ function RushDuel.GetRitualSummonData(e, tp, type, matfilter, spfilter, exfilter
table.insert(list, {nil, mg, sg}) table.insert(list, {nil, mg, sg})
ritualable = true ritualable = true
end end
local effects = {Duel.IsPlayerAffectedByEffect(tp, EFFECT_RITUAL_MATERIAL)}
for _, effect in ipairs(effects) do
local target = effect:GetTarget()
local mg2 = target(effect, e, tp, mg)
if RushDuel.RitualExtraMaterialFilter then
mg2 = mg2:Filter(RushDuel.RitualExtraMaterialFilter, nil, e, tp, mg2)
end
if #mg2 > 0 then
local mf = effect:GetValue()
local sg2 = Duel.GetMatchingGroup(RushDuel.RitualSpecialSummonFilter, tp, LOCATION_EXTRA, 0, nil, e, tp, pos, mg2, mf, gc, chkf, spfilter)
if #sg2 > 0 then
table.insert(list, {effect, mg2, sg2})
ritualable = true
end
end
end
return ritualable, list, chkf, gc return ritualable, list, chkf, gc
end end
-- 仪式召唤 - 进行仪式召唤 -- 仪式召唤 - 进行仪式召唤
......
...@@ -16,7 +16,7 @@ function cm.initial_effect(c) ...@@ -16,7 +16,7 @@ function cm.initial_effect(c)
e1:SetOperation(cm.operation) e1:SetOperation(cm.operation)
c:RegisterEffect(e1) c:RegisterEffect(e1)
end end
--Destroy
function cm.confilter1(c) function cm.confilter1(c)
return c:IsRace(RACE_DINOSAUR) return c:IsRace(RACE_DINOSAUR)
end end
......
local cm,m=GetID() local cm,m=GetID()
local list={120264030} local list={120264030}
cm.name="叛骨装剑 盖加斯贝尔格" cm.name="叛骨装剑 盖加斯瓦尔格尔"
function cm.initial_effect(c) function cm.initial_effect(c)
RD.AddCodeList(c,list) RD.AddCodeList(c,list)
--Atk Up --Atk Up
......
local cm,m=GetID() local cm,m=GetID()
local list={120264031} local list={120264031}
cm.name="叛骨装典 苏芙蕾鲁达" cm.name="叛骨装典 苏芙蕾楼罗"
function cm.initial_effect(c) function cm.initial_effect(c)
RD.AddCodeList(c,list) RD.AddCodeList(c,list)
--Damage --Damage
......
local cm,m=GetID() local cm,m=GetID()
cm.name="髑岩王 瓦尔斯特卢姆" cm.name="髑岩王 华劣斯托姆"
function cm.initial_effect(c) function cm.initial_effect(c)
--Fusion Material --Fusion Material
RD.AddFusionProcedure(c,cm.matfilter,cm.matfilter,cm.matfilter) RD.AddFusionProcedure(c,cm.matfilter,cm.matfilter,cm.matfilter)
......
local cm,m=GetID() local cm,m=GetID()
cm.name="髑岩骑士 莫尔德卢涅" cm.name="髑岩骑士 莫德纳"
function cm.initial_effect(c) function cm.initial_effect(c)
--Summon Procedure --Summon Procedure
RD.AddSummonProcedureOne(c,aux.Stringid(m,0),nil,cm.sumfilter) RD.AddSummonProcedureOne(c,aux.Stringid(m,0),nil,cm.sumfilter)
......
local cm,m=GetID() local cm,m=GetID()
local list={120264031} local list={120264031}
cm.name="叛骨之法" cm.name="叛骨之法"
function cm.initial_effect(c) function cm.initial_effect(c)
RD.AddCodeList(c,list) RD.AddCodeList(c,list)
--Change Code --Change Code
......
local cm,m=GetID() local cm,m=GetID()
local list={120264030,120264031} local list={120264030,120264031}
cm.name="叛骨装魂 梅尼尔" cm.name="叛骨装魂 梅尼尔"
function cm.initial_effect(c) function cm.initial_effect(c)
RD.AddCodeList(c,list) RD.AddCodeList(c,list)
--To Hand --To Hand
......
local cm,m=GetID() local cm,m=GetID()
local list={120298001,120264031} local list={120298001,120264031}
cm.name="骸骨反叛之旋风" cm.name="起死骸生的阵雨"
function cm.initial_effect(c) function cm.initial_effect(c)
RD.AddCodeList(c,list) RD.AddCodeList(c,list)
--Activate --Activate
......
local cm,m=GetID() local cm,m=GetID()
local list={120298002,120264030} local list={120298002,120264030}
cm.name="骸骨反叛之激岚" cm.name="起死骸生的暴风"
function cm.initial_effect(c) function cm.initial_effect(c)
RD.AddCodeList(c,list) RD.AddCodeList(c,list)
--Activate --Activate
......
local cm,m=GetID() local cm,m=GetID()
local list={120298016} local list={120298016}
cm.name="吹拂翼之骸骨反叛" cm.name="风吹的起死骸生"
function cm.initial_effect(c) function cm.initial_effect(c)
RD.AddCodeList(c,list) RD.AddCodeList(c,list)
--Activate --Activate
......
local cm,m=GetID() local cm,m=GetID()
local list={120298014,120264030,120264031} local list={120298014,120264030,120264031}
cm.name="最初之骸骨反叛" cm.name="初始的起死骸生"
function cm.initial_effect(c) function cm.initial_effect(c)
RD.AddCodeList(c,list) RD.AddCodeList(c,list)
--Activate --Activate
......
local cm,m=GetID() local cm,m=GetID()
local list={120298019} local list={120298019}
cm.name="火星心激情烈焰姐" cm.name="火星心激情灰烬姐姐"
function cm.initial_effect(c) function cm.initial_effect(c)
RD.AddCodeList(c,list) RD.AddCodeList(c,list)
--Atk Up --Atk Up
......
local cm,m=GetID() local cm,m=GetID()
local list={120145014,120120042,120105014} local list={120145014,120120042,120105014}
cm.name="火星心激情玛库玛" cm.name="火星心激情岩浆妈妈"
function cm.initial_effect(c) function cm.initial_effect(c)
RD.AddCodeList(c,list) RD.AddCodeList(c,list)
--Change Damage --Change Damage
......
local cm,m=GetID() local cm,m=GetID()
local list={120298022,120120042,120105014} local list={120298022,120120042,120105014}
cm.name="火星心烈焰姐" cm.name="火星心灰烬姐姐"
function cm.initial_effect(c) function cm.initial_effect(c)
RD.AddCodeList(c,list) RD.AddCodeList(c,list)
--Special Summon Procedure --Special Summon Procedure
......
local cm,m=GetID() local cm,m=GetID()
local list={120145014,120120042,120105014} local list={120145014,120120042,120105014}
cm.name="火星心玛库玛" cm.name="火星心岩浆妈妈"
function cm.initial_effect(c) function cm.initial_effect(c)
RD.AddCodeList(c,list) RD.AddCodeList(c,list)
--Position --Position
......
local cm,m=GetID() local cm,m=GetID()
local list={120145014,120298029} local list={120145014,120298029}
cm.name="近燐的派特" cm.name="磷近的火热骑士"
function cm.initial_effect(c) function cm.initial_effect(c)
RD.AddCodeList(c,list) RD.AddCodeList(c,list)
--Level Up --Level Up
......
local cm,m=GetID() local cm,m=GetID()
local list={120145014,120298028} local list={120145014,120298028}
cm.name="近燐的费艾玛" cm.name="磷近的火苗农民"
function cm.initial_effect(c) function cm.initial_effect(c)
RD.AddCodeList(c,list) RD.AddCodeList(c,list)
--Level Up --Level Up
......
local cm,m=GetID() local cm,m=GetID()
local list={120145014,120120042,120105014} local list={120145014,120120042,120105014}
cm.name="火星心密友" cm.name="火星心使魔"
function cm.initial_effect(c) function cm.initial_effect(c)
RD.AddCodeList(c,list) RD.AddCodeList(c,list)
--To Grave --To Grave
......
local cm,m=GetID() local cm,m=GetID()
local list={120298018,120298020} local list={120298018,120298020}
cm.name="耕地被破坏了很困恼!" cm.name="田地遭殃真伤脑筋!"
function cm.initial_effect(c) function cm.initial_effect(c)
RD.AddCodeList(c,list) RD.AddCodeList(c,list)
--Activate --Activate
......
local cm,m=GetID() local cm,m=GetID()
local list={120298018,120298019} local list={120298018,120298019}
cm.name="需要驱魔的圣水!" cm.name="想要点除魔的圣水!"
function cm.initial_effect(c) function cm.initial_effect(c)
RD.AddCodeList(c,list) RD.AddCodeList(c,list)
--Activate --Activate
......
local cm,m=GetID() local cm,m=GetID()
cm.name="火星心工" cm.name="火星心工作室"
function cm.initial_effect(c) function cm.initial_effect(c)
--Activate --Activate
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
......
local cm,m=GetID() local cm,m=GetID()
cm.name="剪大力独角仙" cm.name="剪大力独角仙"
function cm.initial_effect(c) function cm.initial_effect(c)
--Summon Procedure --Summon Procedure
RD.AddSummonProcedureZero(c,aux.Stringid(m,0),cm.sumcon) RD.AddSummonProcedureZero(c,aux.Stringid(m,0),cm.sumcon)
......
local cm,m=GetID() local cm,m=GetID()
local list={120298037} local list={120298037}
cm.name="集群的昆虫人类" cm.name="成群的昆虫人"
function cm.initial_effect(c) function cm.initial_effect(c)
RD.AddCodeList(c,list) RD.AddCodeList(c,list)
--To Hand --To Hand
......
local cm,m=GetID() local cm,m=GetID()
local list={120120008} local list={120120008}
cm.name="进化的幼虫宝宝" cm.name="进化的飞蛾宝宝"
function cm.initial_effect(c) function cm.initial_effect(c)
RD.AddCodeList(c,list) RD.AddCodeList(c,list)
--Change Code --Change Code
......
local cm,m=GetID() local cm,m=GetID()
cm.name="软玉虫笛" cm.name="软玉虫笛"
function cm.initial_effect(c) function cm.initial_effect(c)
--Activate --Activate
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
......
local cm,m=GetID() local cm,m=GetID()
cm.name="治愈之圣风 拉" cm.name="治愈之圣风 拉"
function cm.initial_effect(c) function cm.initial_effect(c)
--Special Summon Procedure --Special Summon Procedure
RD.AddHandSpecialSummonProcedure(c,aux.Stringid(m,0),cm.spcon,cm.sptg,cm.spop,nil,POS_FACEUP_DEFENSE) RD.AddHandSpecialSummonProcedure(c,aux.Stringid(m,0),cm.spcon,cm.sptg,cm.spop,nil,POS_FACEUP_DEFENSE)
......
local cm,m=GetID() local cm,m=GetID()
local list={120298045} local list={120298045}
cm.name="霜净马 雅步米" cm.name="霜净马 流镝马"
function cm.initial_effect(c) function cm.initial_effect(c)
RD.AddCodeList(c,list) RD.AddCodeList(c,list)
--Set --Set
......
...@@ -3,7 +3,7 @@ cm.name="神兽王 巴巴罗斯" ...@@ -3,7 +3,7 @@ cm.name="神兽王 巴巴罗斯"
function cm.initial_effect(c) function cm.initial_effect(c)
--Summon Procedure --Summon Procedure
RD.AddSummonProcedureZero(c,aux.Stringid(m,0),nil,cm.zeroop) RD.AddSummonProcedureZero(c,aux.Stringid(m,0),nil,cm.zeroop)
RD.AddSummonProcedureThree(c,aux.Stringid(m,1)) RD.AddSummonProcedureThree(c,aux.Stringid(m,1),nil,cm.sumfilter)
--Destroy --Destroy
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(m,2)) e1:SetDescription(aux.Stringid(m,2))
...@@ -27,6 +27,9 @@ function cm.zeroop(e,tp,eg,ep,ev,re,r,rp) ...@@ -27,6 +27,9 @@ function cm.zeroop(e,tp,eg,ep,ev,re,r,rp)
e1:SetReset(RESET_EVENT + 0xff0000) e1:SetReset(RESET_EVENT + 0xff0000)
c:RegisterEffect(e1) c:RegisterEffect(e1)
end end
function cm.sumfilter(c)
return c:IsFaceup() and c:IsAttribute(ATTRIBUTE_EARTH)
end
--Destroy --Destroy
function cm.condition(e,tp,eg,ep,ev,re,r,rp) function cm.condition(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler() local c=e:GetHandler()
......
local cm,m=GetID() local cm,m=GetID()
local list={120300009,120300008} local list={120255004,120300008}
cm.name="冥迹之审判者" cm.name="冥迹之审判者"
function cm.initial_effect(c) function cm.initial_effect(c)
RD.AddCodeList(c,list) RD.AddCodeList(c,list)
...@@ -28,12 +28,6 @@ function cm.spcon(e,c) ...@@ -28,12 +28,6 @@ function cm.spcon(e,c)
and Duel.IsExistingMatchingCard(cm.spconfilter,tp,LOCATION_ONFIELD,0,1,nil) and Duel.IsExistingMatchingCard(cm.spconfilter,tp,LOCATION_ONFIELD,0,1,nil)
end end
--Discard Deck --Discard Deck
function cm.thfilter1(c)
return c:IsCode(list[1],list[2],list[3]) and c:IsAbleToHand()
end
function cm.thfilter2(c)
return c:IsCode(list[4]) and c:IsAbleToHand()
end
function cm.tdfilter(c) function cm.tdfilter(c)
return c:IsRace(RACE_BEASTWARRIOR) and c:IsAbleToDeck() return c:IsRace(RACE_BEASTWARRIOR) and c:IsAbleToDeck()
end end
...@@ -45,7 +39,7 @@ function cm.operation(e,tp,eg,ep,ev,re,r,rp) ...@@ -45,7 +39,7 @@ function cm.operation(e,tp,eg,ep,ev,re,r,rp)
local e1,e2=RD.CreateLimitAttackCountEffect(e,aux.Stringid(m,2),2,tp,0,1,RESET_PHASE+PHASE_END+RESET_OPPO_TURN) local e1,e2=RD.CreateLimitAttackCountEffect(e,aux.Stringid(m,2),2,tp,0,1,RESET_PHASE+PHASE_END+RESET_OPPO_TURN)
e2:SetCondition(cm.atkcon) e2:SetCondition(cm.atkcon)
Duel.RegisterFlagEffect(1-tp,FLAG_MAX_ATTACK_TWICE_NEXT_TURN,RESET_PHASE+PHASE_END+RESET_OPPO_TURN,0,1) Duel.RegisterFlagEffect(1-tp,FLAG_MAX_ATTACK_TWICE_NEXT_TURN,RESET_PHASE+PHASE_END+RESET_OPPO_TURN,0,1)
RD.CanSelectAndDoAction(aux.Stringid(m,2),HINTMSG_TODECK,aux.NecroValleyFilter(cm.tdfilter),tp,LOCATION_GRAVE,0,3,3,nil,function(g) RD.CanSelectAndDoAction(aux.Stringid(m,3),HINTMSG_TODECK,aux.NecroValleyFilter(cm.tdfilter),tp,LOCATION_GRAVE,0,3,3,nil,function(g)
RD.SendToDeckAndExists(g,e,tp,REASON_EFFECT) RD.SendToDeckAndExists(g,e,tp,REASON_EFFECT)
end) end)
end end
......
...@@ -16,7 +16,7 @@ function cm.initial_effect(c) ...@@ -16,7 +16,7 @@ function cm.initial_effect(c)
end end
--Draw --Draw
function cm.costfilter(c) function cm.costfilter(c)
return c:IsAbleToDeckAsCost() return c:IsAbleToDeckOrExtraAsCost()
end end
function cm.condition(e,tp,eg,ep,ev,re,r,rp) function cm.condition(e,tp,eg,ep,ev,re,r,rp)
return Duel.GetFieldGroupCount(tp,LOCATION_DECK,0)>9 return Duel.GetFieldGroupCount(tp,LOCATION_DECK,0)>9
......
local cm,m=GetID() local cm,m=GetID()
local list={120252027} local list={120300052}
cm.name="月军团 希拉鼠" cm.name="月军团 希拉鼠"
function cm.initial_effect(c) function cm.initial_effect(c)
RD.AddCodeList(c,list) RD.AddCodeList(c,list)
......
...@@ -12,7 +12,7 @@ function cm.initial_effect(c) ...@@ -12,7 +12,7 @@ function cm.initial_effect(c)
e1:SetOperation(cm.operation) e1:SetOperation(cm.operation)
c:RegisterEffect(e1) c:RegisterEffect(e1)
end end
--Atk Down --Lock Attack
function cm.costfilter(c,e,tp) function cm.costfilter(c,e,tp)
return c:IsFaceup() and RD.IsCanChangePosition(c,e,tp,REASON_COST) return c:IsFaceup() and RD.IsCanChangePosition(c,e,tp,REASON_COST)
end end
...@@ -40,9 +40,9 @@ function cm.operation(e,tp,eg,ep,ev,re,r,rp) ...@@ -40,9 +40,9 @@ function cm.operation(e,tp,eg,ep,ev,re,r,rp)
tc:RegisterEffect(e1) tc:RegisterEffect(e1)
if not tc:IsImmuneToEffect(e) then if not tc:IsImmuneToEffect(e) then
tc:RegisterFlagEffect(FLAG_CANNOT_ATTACK_NEXT_TURN,RESET_EVENT+RESETS_STANDARD+RESET_PHASE+PHASE_END+RESET_OPPO_TURN,0,1) tc:RegisterFlagEffect(FLAG_CANNOT_ATTACK_NEXT_TURN,RESET_EVENT+RESETS_STANDARD+RESET_PHASE+PHASE_END+RESET_OPPO_TURN,0,1)
RD.CanSelectAndDoAction(aux.Stringid(m,2),HINTMSG_TODECK,aux.NecroValleyFilter(cm.tdfilter),tp,LOCATION_GRAVE,0,1,1,nil,function(g) RD.CanSelectAndDoAction(aux.Stringid(m,3),HINTMSG_TODECK,aux.NecroValleyFilter(cm.tdfilter),tp,LOCATION_GRAVE,0,1,1,nil,function(g)
local c=e:GetHandler() local c=e:GetHandler()
if RD.SendToDeckAndExists(g,e,tp,REASON_EFFECT) if RD.SendToDeckBottom(g,e,tp,REASON_EFFECT)~=0
and c:IsFaceup() and c:IsRelateToEffect(e) then and c:IsFaceup() and c:IsRelateToEffect(e) then
RD.AttachAtkDef(e,c,0,500,RESET_EVENT+RESETS_STANDARD+RESET_PHASE+PHASE_END+RESET_OPPO_TURN) RD.AttachAtkDef(e,c,0,500,RESET_EVENT+RESETS_STANDARD+RESET_PHASE+PHASE_END+RESET_OPPO_TURN)
end end
......
...@@ -17,7 +17,7 @@ end ...@@ -17,7 +17,7 @@ end
--Draw --Draw
function cm.costfilter(c) function cm.costfilter(c)
return (c:IsLocation(LOCATION_HAND) or (c:IsAttribute(ATTRIBUTE_EARTH) and c:IsRace(RACE_GALAXY))) return (c:IsLocation(LOCATION_HAND) or (c:IsAttribute(ATTRIBUTE_EARTH) and c:IsRace(RACE_GALAXY)))
and c:IsAbleToDeckAsCost() and c:IsAbleToDeckOrExtraAsCost()
end end
function cm.check(g) function cm.check(g)
return g:GetClassCount(Card.GetLocation)==g:GetCount() return g:GetClassCount(Card.GetLocation)==g:GetCount()
......
local cm,m=GetID()
cm.name="神月军团 阿鲁巴犬"
function cm.initial_effect(c)
RD.AddRitualProcedure(c)
--Cannot Special Summon
local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(m,0))
e1:SetType(EFFECT_TYPE_IGNITION)
e1:SetRange(LOCATION_MZONE)
e1:SetCondition(cm.condition)
e1:SetCost(cm.cost)
e1:SetOperation(cm.operation)
c:RegisterEffect(e1)
end
--Cannot Special Summon
function cm.confilter(c)
return c:IsType(TYPE_MONSTER)
end
function cm.costfilter(c,e,tp)
return c:IsFaceup() and RD.IsCanChangePosition(c,e,tp,REASON_COST)
end
function cm.condition(e,tp,eg,ep,ev,re,r,rp)
return RD.IsSpecialSummonMainPhase(e:GetHandler())
and not Duel.IsExistingMatchingCard(cm.confilter,tp,LOCATION_GRAVE,0,6,nil)
end
cm.cost=RD.CostChangePosition(cm.costfilter,1,1)
function cm.operation(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
if c:IsFaceup() and c:IsRelateToEffect(e) then
local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(m,1))
e1:SetType(EFFECT_TYPE_FIELD)
e1:SetCode(EFFECT_LIMIT_SPECIAL_SUMMON_POSITION)
e1:SetProperty(EFFECT_FLAG_PLAYER_TARGET+EFFECT_FLAG_CLIENT_HINT)
e1:SetRange(LOCATION_MZONE)
e1:SetTargetRange(0,1)
e1:SetTarget(cm.splimit)
e1:SetReset(RESET_EVENT+RESETS_STANDARD+RESET_PHASE+PHASE_END+RESET_OPPO_TURN)
c:RegisterEffect(e1)
end
end
function cm.splimit(e,c,tp,sumtp,sumpos)
return c:IsLocation(LOCATION_GRAVE) and c:IsLevelBelow(5) and (sumpos&POS_FACEUP)>0
end
\ No newline at end of file
local cm,m=GetID()
cm.name="神月军团 莫琪猫"
function cm.initial_effect(c)
RD.AddRitualProcedure(c)
--Destroy
local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(m,0))
e1:SetCategory(CATEGORY_DESTROY)
e1:SetType(EFFECT_TYPE_IGNITION)
e1:SetRange(LOCATION_MZONE)
e1:SetCost(cm.cost)
e1:SetTarget(cm.target)
e1:SetOperation(cm.operation)
c:RegisterEffect(e1)
end
--Destroy
function cm.costfilter(c)
if c:IsOnField() and not c:IsFaceup() then return false end
if c:IsLocation(LOCATION_GRAVE) and not c:IsType(TYPE_MONSTER) then return false end
return c:IsAbleToDeckOrExtraAsCost()
end
function cm.exfilter(c)
return c:IsType(TYPE_MONSTER)
end
function cm.desfilter(c)
return c:IsType(TYPE_SPELL+TYPE_TRAP)
end
cm.cost=RD.CostSendMatchToDeckSort(cm.costfilter,LOCATION_MZONE+LOCATION_GRAVE,3,3,true,SEQ_DECKBOTTOM,false,true)
function cm.target(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(nil,tp,0,LOCATION_MZONE,1,nil) end
local g=Duel.GetMatchingGroup(nil,tp,0,LOCATION_MZONE,nil)
Duel.SetOperationInfo(0,CATEGORY_DESTROY,g,1,0,0)
end
function cm.operation(e,tp,eg,ep,ev,re,r,rp)
RD.SelectAndDoAction(HINTMSG_DESTROY,nil,tp,0,LOCATION_MZONE,1,1,nil,function(g)
if Duel.Destroy(g,REASON_EFFECT)~=0
and Duel.IsExistingMatchingCard(cm.exfilter,tp,0,LOCATION_GRAVE,5,nil) then
RD.CanSelectAndDoAction(aux.Stringid(m,1),HINTMSG_DESTROY,cm.desfilter,tp,0,LOCATION_ONFIELD,1,1,nil,function(sg)
Duel.Destroy(sg,REASON_EFFECT)
end)
end
end)
end
\ No newline at end of file
local cm,m=GetID()
cm.name="神月军团 莉亚龙"
function cm.initial_effect(c)
RD.AddRitualProcedure(c)
--Atk Up
local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(m,0))
e1:SetCategory(CATEGORY_ATKCHANGE)
e1:SetType(EFFECT_TYPE_IGNITION)
e1:SetRange(LOCATION_MZONE)
e1:SetCondition(cm.condition)
e1:SetCost(cm.cost)
e1:SetOperation(cm.operation)
c:RegisterEffect(e1)
end
--Atk Up
function cm.confilter(c)
return c:IsType(TYPE_MONSTER)
end
function cm.costfilter(c)
return c:IsType(TYPE_MONSTER) and c:IsAbleToDeckOrExtraAsCost()
end
function cm.condition(e,tp,eg,ep,ev,re,r,rp)
local ct1=Duel.GetMatchingGroupCount(cm.confilter,tp,LOCATION_GRAVE,0,nil)
local ct2=Duel.GetMatchingGroupCount(cm.confilter,1-tp,LOCATION_GRAVE,0,nil)
return ct2>ct1
end
cm.cost=RD.CostSendGraveToDeckBottom(cm.costfilter,1,1)
function cm.operation(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
if c:IsFaceup() and c:IsRelateToEffect(e) then
local ct1=Duel.GetMatchingGroupCount(cm.confilter,tp,LOCATION_GRAVE,0,nil)
local ct2=Duel.GetMatchingGroupCount(cm.confilter,1-tp,LOCATION_GRAVE,0,nil)
local atk=math.abs(ct1-ct2)*100
RD.AttachAtkDef(e,c,atk,0,RESET_EVENT+RESETS_STANDARD+RESET_PHASE+PHASE_END+RESET_OPPO_TURN)
RD.AttachPierce(e,c,aux.Stringid(m,1),RESET_EVENT+RESETS_STANDARD+RESET_PHASE+PHASE_END+RESET_OPPO_TURN)
end
end
\ No newline at end of file
...@@ -27,7 +27,7 @@ function cm.activate(e,tp,eg,ep,ev,re,r,rp) ...@@ -27,7 +27,7 @@ function cm.activate(e,tp,eg,ep,ev,re,r,rp)
end end
if Duel.GetFlagEffect(tp,m)~=0 then return end if Duel.GetFlagEffect(tp,m)~=0 then return end
RD.CreateAttackLimitEffect(e,cm.atktg,tp,LOCATION_MZONE,0,RESET_PHASE+PHASE_END) RD.CreateAttackLimitEffect(e,cm.atktg,tp,LOCATION_MZONE,0,RESET_PHASE+PHASE_END)
RD.CreateRaceCannotAttackEffect(e,aux.Stringid(m,1),RACE_ALL-RACE_BEASTWARRIOR,tp,1,0,RESET_PHASE+PHASE_END) RD.CreateRaceCannotAttackEffect(e,aux.Stringid(m,3),RACE_ALL-RACE_BEASTWARRIOR,tp,1,0,RESET_PHASE+PHASE_END)
Duel.RegisterFlagEffect(tp,m,RESET_PHASE+PHASE_END,0,1) Duel.RegisterFlagEffect(tp,m,RESET_PHASE+PHASE_END,0,1)
end end
function cm.atktg(e,c) function cm.atktg(e,c)
......
local cm,m=GetID() local cm,m=GetID()
cm.name="心之朋友" cm.name="真心朋友"
function cm.initial_effect(c) function cm.initial_effect(c)
--Activate --Activate
local e1=RD.CreateRitualEffect(c,RITUAL_CURRENT_LEVEL_EQUAL,cm.matfilter,cm.spfilter,nil,0,0,nil,RushDuel.RitualToDeck,nil,cm.operation) local e1=RD.CreateRitualEffect(c,RITUAL_CURRENT_LEVEL_EQUAL,cm.matfilter,cm.spfilter,nil,0,0,nil,RD.RitualToDeck,nil,cm.operation)
e1:SetCategory(CATEGORY_SPECIAL_SUMMON) e1:SetCategory(CATEGORY_SPECIAL_SUMMON)
e1:SetType(EFFECT_TYPE_ACTIVATE) e1:SetType(EFFECT_TYPE_ACTIVATE)
e1:SetCode(EVENT_FREE_CHAIN) e1:SetCode(EVENT_FREE_CHAIN)
......
...@@ -10,6 +10,16 @@ function cm.initial_effect(c) ...@@ -10,6 +10,16 @@ function cm.initial_effect(c)
e1:SetCondition(cm.condition) e1:SetCondition(cm.condition)
c:RegisterEffect(e1) c:RegisterEffect(e1)
-- Ritual Expend -- Ritual Expend
local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(m,0))
e1:SetType(EFFECT_TYPE_FIELD)
e1:SetCode(EFFECT_RITUAL_MATERIAL)
e1:SetProperty(EFFECT_FLAG_PLAYER_TARGET)
e1:SetRange(LOCATION_FZONE)
e1:SetTargetRange(1,1)
e1:SetTarget(cm.target)
e1:SetOperation(cm.operation)
c:RegisterEffect(e1)
end end
--Activate --Activate
function cm.confilter(c) function cm.confilter(c)
...@@ -17,4 +27,21 @@ function cm.confilter(c) ...@@ -17,4 +27,21 @@ function cm.confilter(c)
end end
function cm.condition(e,tp,eg,ep,ev,re,r,rp) function cm.condition(e,tp,eg,ep,ev,re,r,rp)
return not Duel.IsExistingMatchingCard(cm.confilter,tp,LOCATION_GRAVE,0,5,nil) return not Duel.IsExistingMatchingCard(cm.confilter,tp,LOCATION_GRAVE,0,5,nil)
end
-- Fusion Expend
function cm.filter(c,e)
return c:IsRace(RACE_GALAXY) and c:IsAbleToDeck() and c:IsCanBeFusionMaterial()
and not c:IsImmuneToEffect(e)
end
function cm.target(e,te,tp,mg)
if te:GetHandler():IsCode(list[1]) then
local g=Duel.GetMatchingGroup(cm.filter,tp,LOCATION_GRAVE,0,nil,te)
g:Merge(mg)
return g
else
return Group.CreateGroup()
end
end
function cm.operation(e,te,tp,tc,mat,sumtype)
RD.RitualToDeck(tp,mat)
end end
\ No newline at end of file
...@@ -3,7 +3,7 @@ cm.name="伊思里亚的灵魂" ...@@ -3,7 +3,7 @@ cm.name="伊思里亚的灵魂"
function cm.initial_effect(c) function cm.initial_effect(c)
--Activate --Activate
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
e1:SetCategory(CATEGORY_ATKCHANGE) e1:SetCategory(CATEGORY_DRAW)
e1:SetType(EFFECT_TYPE_ACTIVATE) e1:SetType(EFFECT_TYPE_ACTIVATE)
e1:SetCode(EVENT_SUMMON_SUCCESS) e1:SetCode(EVENT_SUMMON_SUCCESS)
e1:SetProperty(EFFECT_FLAG_DAMAGE_STEP) e1:SetProperty(EFFECT_FLAG_DAMAGE_STEP)
...@@ -31,10 +31,10 @@ function cm.target(e,tp,eg,ep,ev,re,r,rp,chk) ...@@ -31,10 +31,10 @@ function cm.target(e,tp,eg,ep,ev,re,r,rp,chk)
end end
function cm.activate(e,tp,eg,ep,ev,re,r,rp) function cm.activate(e,tp,eg,ep,ev,re,r,rp)
RD.SelectAndDoAction(aux.Stringid(m,1),cm.filter,tp,0,LOCATION_MZONE,1,1,nil,function(g) RD.SelectAndDoAction(aux.Stringid(m,1),cm.filter,tp,0,LOCATION_MZONE,1,1,nil,function(g)
local e1=RD.AttachCannotTrigger(e,g:GetFirst(),aux.Stringid(m,3),RESET_EVENT+RESETS_STANDARD+RESET_PHASE+PHASE_END) local e1=RD.AttachCannotTrigger(e,g:GetFirst(),aux.Stringid(m,2),RESET_EVENT+RESETS_STANDARD+RESET_PHASE+PHASE_END)
e1:SetCondition(function(e) e1:SetCondition(function(e)
return e:GetHandlerPlayer()~=tp return e:GetHandlerPlayer()~=tp
end) end)
RD.CanDraw(aux.Stringid(m,2),tp,1) RD.CanDraw(aux.Stringid(m,3),tp,1)
end) end)
end end
\ No newline at end of file
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment