Commit 1eb0a7ca authored by 未闻皂名's avatar 未闻皂名

2023/6/4 传说卡判断修改

parent 0b17799d
No preview for this file type
-- Rush Duel 赋予Buff
RushDuel = RushDuel or {}
-- 赋予: 改变卡名
function RushDuel.AttachCardCode(e, card, code, reset, forced)
return RushDuel.CreateSingleEffect(e, nil, card, EFFECT_CHANGE_CODE, code, reset, forced)
end
-- 赋予: 攻守升降
function RushDuel.AttachAtkDef(e, card, atk, def, reset, forced)
if atk ~= nil and atk ~= 0 then
......@@ -172,3 +168,9 @@ end
function RushDuel.ChangeRace(e, card, race, reset, forced)
return RushDuel.CreateSingleEffect(e, nil, card, EFFECT_CHANGE_RACE, race, reset, forced)
end
-- 赋予: 改变卡名
function RushDuel.ChangeCode(e, card, code, reset, forced)
-- 使用 LinkCode 来判断传说卡
RushDuel.CreateSingleEffect(e, nil, card, EFFECT_ADD_LINK_CODE, code, reset, forced)
return RushDuel.CreateSingleEffect(e, nil, card, EFFECT_CHANGE_CODE, code, reset, forced)
end
......@@ -420,6 +420,18 @@ function RushDuel.AdvanceSummonFlagOperation(e, tp, eg, ep, ev, re, r, rp)
e:GetHandler():RegisterFlagEffect(e:GetLabel(), RESET_EVENT + RESETS_STANDARD, 0, 1)
end
-- 添加记述卡牌列表
function RushDuel.AddCodeList(card, ...)
for _, list in ipairs {...} do
local type = aux.GetValueType(list)
if type == "number" then
aux.AddCodeList(card, list)
elseif type == "table" then
aux.AddCodeList(card, table.unpack(list))
end
end
end
-- 获取效果值列表
function RushDuel.GetEffectValues(card, code)
local effects = {card:IsHasEffect(code)}
......
-- Rush Duel 编号
RushDuel = RushDuel or {}
LEGEND_MONSTER = 120000000
LEGEND_SPELL = 120000001
LEGEND_TRAP = 120000002
RushDuel.LegendCodes = {
-- 青眼白龙
{120120000, 120198001, 120231001},
-- 真红眼黑龙
{120125001, 120203016, 120229101},
-- 黑魔术师
{120130000, 120203015},
-- 死者苏生
{120194004, 120195004},
-- 天使的施舍
{120196049, 120195005},
-- 海龙-泰达路斯
{120199000, 120239060}
}
-- 初始化传说卡
function RushDuel.InitLegend()
local g = Duel.GetMatchingGroup(Card.IsCode, 0, 0xff, 0xff, nil, LEGEND_MONSTER, LEGEND_SPELL, LEGEND_TRAP)
g:ForEach(function(c)
local code = RushDuel.GetLegendCode(c:GetOriginalCode())
local e1 = Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetCode(EFFECT_LEGEND_CARD)
e1:SetProperty(EFFECT_FLAG_SINGLE_RANGE + EFFECT_FLAG_CANNOT_DISABLE + EFFECT_FLAG_UNCOPYABLE + EFFECT_FLAG_SET_AVAILABLE)
e1:SetRange(0xff)
e1:SetValue(code)
c:RegisterEffect(e1, true)
-- 修改卡牌数据 (删除同名卡:传说卡)
c:SetCardData(2, code)
end)
end
-- 获取传说卡原卡名
function RushDuel.GetLegendCode(code)
for _, codes in ipairs(RushDuel.LegendCodes) do
for _, legend_code in ipairs(codes) do
if (code == legend_code) then
return codes[1]
end
end
end
return code
end
-- 条件: 是否为传说卡
function RushDuel.IsLegendCard(card)
return card:IsHasEffect(EFFECT_LEGEND_CARD)
end
-- 条件: 是否为同名卡
function RushDuel.IsSameCode(card1, card2)
return card1:IsLinkCode(card2:GetLinkCode())
end
\ No newline at end of file
......@@ -14,8 +14,7 @@ function RushDuel.Init()
Duel.Draw(0, 1, REASON_RULE)
end
-- 传说卡
local g = Duel.GetMatchingGroup(RushDuel.IsLegend, 0, 0xff, 0xff, nil)
g:ForEach(RushDuel.InitLegend)
RushDuel.InitLegend()
e:Reset()
end)
end
......@@ -69,16 +68,3 @@ function RushDuel.InitRule()
-- 极大怪兽
RushDuel.InitMaximum()
end
-- 初始化传说卡
function RushDuel.InitLegend(c)
local e1 = Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetCode(EFFECT_LEGEND_CARD)
e1:SetProperty(EFFECT_FLAG_SINGLE_RANGE + EFFECT_FLAG_CANNOT_DISABLE + EFFECT_FLAG_UNCOPYABLE + EFFECT_FLAG_SET_AVAILABLE)
e1:SetRange(0xff)
e1:SetValue(c:GetOriginalCode())
c:RegisterEffect(e1, true)
local e2 = e1:Clone()
e2:SetCode(EFFECT_ADD_FUSION_CODE)
c:RegisterEffect(e2, true)
end
local m=120125002
local list={120125001}
local cm=_G["c"..m]
cm.name="黑龙之雏"
function cm.initial_effect(c)
RD.AddCodeList(c,LEGEND_RED_EYES_BLACK_DRAGON)
RD.AddCodeList(c,list)
--Special Summon
local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(m,0))
......@@ -16,7 +17,7 @@ function cm.initial_effect(c)
end
--Special Summon
function cm.spfilter(c,e,tp)
return RD.IsLegendCode(c,LEGEND_RED_EYES_BLACK_DRAGON) and RD.IsCanBeSpecialSummoned(c,e,tp,POS_FACEUP)
return c:IsLinkCode(list[1]) and RD.IsCanBeSpecialSummoned(c,e,tp,POS_FACEUP)
end
cm.cost=RD.CostSendSelfToGrave()
function cm.target(e,tp,eg,ep,ev,re,r,rp,chk)
......
local m=120125003
local list={120125001}
local cm=_G["c"..m]
cm.name="黑炎弹"
function cm.initial_effect(c)
RD.AddCodeList(c,LEGEND_RED_EYES_BLACK_DRAGON)
RD.AddCodeList(c,list)
--Activate
local e1=Effect.CreateEffect(c)
e1:SetCategory(CATEGORY_DAMAGE)
......@@ -16,7 +17,7 @@ function cm.initial_effect(c)
end
--Activate
function cm.confilter(c)
return c:IsFaceup() and RD.IsLegendCode(c,LEGEND_RED_EYES_BLACK_DRAGON)
return c:IsFaceup() and c:IsLinkCode(list[1])
end
function cm.condition(e,tp,eg,ep,ev,re,r,rp)
return Duel.IsExistingMatchingCard(cm.confilter,tp,LOCATION_MZONE,0,1,nil)
......@@ -33,5 +34,5 @@ function cm.activate(e,tp,eg,ep,ev,re,r,rp)
Duel.RegisterFlagEffect(tp,m,RESET_PHASE+PHASE_END,0,1)
end
function cm.atktg(e,c)
return RD.IsLegendCode(c,LEGEND_RED_EYES_BLACK_DRAGON)
return c:IsCode(list[1])
end
\ No newline at end of file
local m=120130040
local list={120130000}
local cm=_G["c"..m]
cm.name="千把刀"
function cm.initial_effect(c)
RD.AddCodeList(c,LEGEND_DARK_MAGICIAN)
RD.AddCodeList(c,list)
--Activate
local e1=Effect.CreateEffect(c)
e1:SetCategory(CATEGORY_DESTROY)
......@@ -15,7 +16,7 @@ function cm.initial_effect(c)
end
--Activate
function cm.confilter(c)
return c:IsFaceup() and RD.IsLegendCode(c,LEGEND_DARK_MAGICIAN)
return c:IsFaceup() and c:IsLinkCode(list[1])
end
function cm.condition(e,tp,eg,ep,ev,re,r,rp)
return Duel.IsExistingMatchingCard(cm.confilter,tp,LOCATION_MZONE,0,1,nil)
......
local m=120130041
local list={120130000}
local cm=_G["c"..m]
cm.name="黑·魔·导"
function cm.initial_effect(c)
RD.AddCodeList(c,LEGEND_DARK_MAGICIAN)
RD.AddCodeList(c,list)
--Activate
local e1=Effect.CreateEffect(c)
e1:SetCategory(CATEGORY_DESTROY)
......@@ -15,7 +16,7 @@ function cm.initial_effect(c)
end
--Activate
function cm.confilter(c)
return c:IsFaceup() and RD.IsLegendCode(c,LEGEND_DARK_MAGICIAN)
return c:IsFaceup() and c:IsLinkCode(list[1])
end
function cm.desfilter(c)
return c:IsType(TYPE_SPELL+TYPE_TRAP)
......
......@@ -17,7 +17,7 @@ function cm.initial_effect(c)
end
--Draw
function cm.setfilter(c)
return RD.IsLegendCode(c,list[1]) and c:IsSSetable()
return c:IsLinkCode(list[1]) and c:IsSSetable()
end
function cm.condition(e,tp,eg,ep,ev,re,r,rp)
return Duel.GetFieldGroupCount(tp,0,LOCATION_HAND)==0
......
......@@ -20,7 +20,7 @@ function cm.spfilter(c,e,tp)
return c:IsLevelBelow(6) and RD.IsCanBeSpecialSummoned(c,e,tp,POS_FACEUP)
end
function cm.exfilter(c)
return RD.IsLegendCode(c,list[1])
return c:IsLinkCode(list[1])
end
cm.cost=RD.CostSendSelfToGrave()
function cm.target(e,tp,eg,ep,ev,re,r,rp,chk)
......
......@@ -15,7 +15,7 @@ function cm.initial_effect(c)
end
--Activate
function cm.thfilter(c)
return RD.IsLegendCode(c,list[1]) and c:IsAbleToHand()
return c:IsLinkCode(list[1]) and c:IsAbleToHand()
end
function cm.condition(e,tp,eg,ep,ev,re,r,rp)
local tc=Duel.GetAttacker()
......
......@@ -21,7 +21,7 @@ function cm.spfilter(c,e,tp)
return c:IsLevelAbove(7) and c:IsRace(RACE_WARRIOR) and RD.IsCanBeSpecialSummoned(c,e,tp,POS_FACEUP)
end
function cm.costcheck(g,e,tp)
return g:GetClassCount(RD.GetCardCode,nil)==g:GetCount()
return g:GetClassCount(Card.GetLinkCode,nil)==g:GetCount()
and Duel.IsExistingMatchingCard(cm.spfilter,tp,LOCATION_GRAVE,0,1,g,e,tp)
end
cm.cost=RD.CostSendGraveSubToDeckBottom(cm.costfilter,cm.costcheck,2,2)
......
......@@ -16,7 +16,7 @@ function cm.initial_effect(c)
end
--Activate
function cm.confilter(c)
return c:IsFaceup() and (RD.IsLegendCode(c,list[1])
return c:IsFaceup() and (c:IsLinkCode(list[1])
or (c:IsType(TYPE_NORMAL) and c:IsLevelAbove(7) and c:IsRace(RACE_FIEND)))
end
function cm.filter(c)
......
......@@ -16,7 +16,7 @@ function cm.initial_effect(c)
end
--Activate
function cm.confilter(c,tp)
return (RD.IsLegendCode(c,list[1]) or c:GetPreviousCodeOnField()==list[1] or (
return (c:IsLinkCode(list[1]) or c:GetPreviousCodeOnField()==list[1] or (
RD.IsPreviousType(c,TYPE_NORMAL) and c:GetPreviousLevelOnField()>=7 and RD.IsPreviousRace(c,RACE_FIEND)
)) and RD.IsPreviousControler(c,tp) and c==Duel.GetAttackTarget()
end
......
......@@ -20,7 +20,7 @@ function cm.initial_effect(c)
end
--Activate
function cm.confilter1(c)
return c:IsFaceup() and (RD.IsLegendCode(c,list[1])
return c:IsFaceup() and (c:IsLinkCode(list[1])
or (c:IsType(TYPE_NORMAL) and c:IsLevelAbove(7) and c:IsRace(RACE_FIEND)))
end
function cm.confilter2(c,tp)
......
local m=120181002
local list={120130000}
local cm=_G["c"..m]
cm.name="黑魔术少女"
function cm.initial_effect(c)
RD.AddCodeList(c,LEGEND_DARK_MAGICIAN)
RD.AddCodeList(c,list)
--Atk Up
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE)
......@@ -14,7 +15,7 @@ function cm.initial_effect(c)
end
--Atk Up
function cm.filter(c)
return RD.IsLegendCode(c,LEGEND_DARK_MAGICIAN)
return c:IsLinkCode(list[1])
end
function cm.atkval(e,c)
return Duel.GetMatchingGroupCount(cm.filter,c:GetControler(),LOCATION_GRAVE,LOCATION_GRAVE,nil)*500
......
......@@ -29,7 +29,7 @@ function cm.operation(e,tp,eg,ep,ev,re,r,rp)
if c:IsFaceup() and c:IsRelateToEffect(e) then
RD.AttachAtkDef(e,c,300,0,RESET_EVENT+RESETS_STANDARD+RESET_DISABLE+RESET_PHASE+PHASE_END)
local g=Duel.GetMatchingGroup(cm.exfilter,tp,LOCATION_GRAVE,0,nil,e,tp)
if g:GetClassCount(RD.GetCardCode)>=4 then
if g:GetClassCount(Card.GetLinkCode)>=4 then
RD.CanSelectAndSpecialSummon(aux.Stringid(m,1),aux.NecroValleyFilter(cm.spfilter),tp,LOCATION_GRAVE,0,1,1,nil,e,POS_FACEUP)
end
end
......
......@@ -19,7 +19,7 @@ function cm.confilter(c)
return c:IsFaceup() and c:IsAttribute(ATTRIBUTE_WIND)
end
function cm.exfilter(c)
return c:IsFaceup() and RD.IsLegendCode(c,list[1])
return c:IsFaceup() and c:IsLinkCode(list[1])
end
function cm.condition(e,tp,eg,ep,ev,re,r,rp)
return Duel.IsExistingMatchingCard(cm.confilter,tp,LOCATION_MZONE,0,2,nil)
......
......@@ -21,7 +21,7 @@ function cm.costfilter(c)
return c:IsRace(RACE_DINOSAUR) and c:IsAbleToDeckOrExtraAsCost()
end
function cm.exfilter(c)
return RD.IsLegendCode(c,list[3])
return c:IsLinkCode(list[3])
end
function cm.thfilter(c)
return c:IsType(TYPE_SPELL) and c:IsAbleToHand()
......
local m=120203027
local list={120181002}
local list={120130000,120181002}
local cm=_G["c"..m]
cm.name="黑·魔·导·响·弹"
function cm.initial_effect(c)
RD.AddCodeList(c,LEGEND_DARK_MAGICIAN,list)
RD.AddCodeList(c,list)
--Activate
local e1=Effect.CreateEffect(c)
e1:SetCategory(CATEGORY_ATKCHANGE)
......@@ -18,7 +18,7 @@ function cm.filter(c)
return c:IsFaceup() and c:IsLevelAbove(6) and c:IsAttribute(ATTRIBUTE_DARK) and c:IsRace(RACE_SPELLCASTER)
end
function cm.exfilter(c)
return c:IsFaceup() and (RD.IsLegendCode(c,LEGEND_DARK_MAGICIAN) or c:IsCode(list[1]))
return c:IsFaceup() and (c:IsLinkCode(list[1]) or c:IsCode(list[2]))
end
function cm.target(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(cm.filter,tp,LOCATION_MZONE,0,1,nil) end
......
local m=120203028
local list={120120000}
local cm=_G["c"..m]
cm.name="毁灭之爆裂疾风弹"
function cm.initial_effect(c)
RD.AddCodeList(c,LEGEND_BLUE_EYES_WHITE_DRAGON)
RD.AddCodeList(c,list)
--Activate
local e1=Effect.CreateEffect(c)
e1:SetCategory(CATEGORY_DESTROY)
......@@ -15,7 +16,7 @@ function cm.initial_effect(c)
end
--Activate
function cm.confilter(c)
return c:IsFaceup() and RD.IsLegendCode(c,LEGEND_BLUE_EYES_WHITE_DRAGON)
return c:IsFaceup() and c:IsLinkCode(list[1])
end
function cm.condition(e,tp,eg,ep,ev,re,r,rp)
return Duel.IsExistingMatchingCard(cm.confilter,tp,LOCATION_MZONE,0,1,nil)
......@@ -34,5 +35,5 @@ function cm.activate(e,tp,eg,ep,ev,re,r,rp)
Duel.RegisterFlagEffect(tp,m,RESET_PHASE+PHASE_END,0,1)
end
function cm.atktg(e,c)
return RD.IsLegendCode(c,LEGEND_BLUE_EYES_WHITE_DRAGON)
return c:IsLinkCode(list[1])
end
\ No newline at end of file
......@@ -20,7 +20,7 @@ function cm.filter(c)
return c:IsFaceup() and c:IsLevelBelow(8)
end
function cm.tdfilter(c)
return RD.IsLegendCode(c,list[1]) and c:IsAbleToDeck()
return c:IsLinkCode(list[1]) and c:IsAbleToDeck()
end
cm.cost=RD.CostSendSelfToGrave()
function cm.target(e,tp,eg,ep,ev,re,r,rp,chk)
......
local m=120203040
local list={120120000}
local cm=_G["c"..m]
cm.name="正义的同伴 海马侠"
function cm.initial_effect(c)
RD.AddCodeList(c,LEGEND_BLUE_EYES_WHITE_DRAGON)
RD.AddCodeList(c,list)
--Special Summon
local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(m,0))
......@@ -16,7 +17,7 @@ function cm.initial_effect(c)
end
--Special Summon
function cm.spfilter(c,e,tp)
return RD.IsLegendCode(c,LEGEND_BLUE_EYES_WHITE_DRAGON) and RD.IsCanBeSpecialSummoned(c,e,tp,POS_FACEUP)
return c:IsLinkCode(list[1]) and RD.IsCanBeSpecialSummoned(c,e,tp,POS_FACEUP)
end
cm.cost=RD.CostSendSelfToGrave()
function cm.target(e,tp,eg,ep,ev,re,r,rp,chk)
......
local m=120203053
local list={120125001}
local cm=_G["c"..m]
cm.name="黑龙的怒号"
function cm.initial_effect(c)
RD.AddCodeList(c,LEGEND_RED_EYES_BLACK_DRAGON)
RD.AddCodeList(c,list)
--Activate
local e1=Effect.CreateEffect(c)
e1:SetCategory(CATEGORY_ATKCHANGE+CATEGORY_DEFCHANGE+CATEGORY_TODECK+CATEGORY_GRAVE_ACTION)
......@@ -21,7 +22,7 @@ function cm.filter(c)
return c:IsFaceup() and c:IsType(TYPE_NORMAL) and c:IsRace(RACE_DRAGON)
end
function cm.exfilter(c)
return c:IsFaceup() and RD.IsLegendCode(c,LEGEND_RED_EYES_BLACK_DRAGON)
return c:IsFaceup() and c:IsLinkCode(list[1])
end
function cm.tdfilter(c)
return c:IsType(TYPE_SPELL) and c:IsAbleToDeck()
......
......@@ -15,7 +15,7 @@ function cm.initial_effect(c)
end
--Activate
function cm.filter(c,tp)
return c:IsFaceup() and (RD.IsLegendCode(c,list[1]) or c:IsRace(RACE_THUNDER))
return c:IsFaceup() and (c:IsLinkCode(list[1]) or c:IsRace(RACE_THUNDER))
and Duel.IsExistingMatchingCard(cm.desfilter,tp,0,LOCATION_MZONE,1,nil,c:GetAttack())
end
function cm.desfilter(c,atk)
......
......@@ -19,7 +19,7 @@ function cm.costfilter(c)
return c:IsType(TYPE_MONSTER) and c:IsAbleToDeckOrExtraAsCost()
end
function cm.exfilter(c)
return RD.IsLegendCode(c,list[1])
return c:IsLinkCode(list[1])
end
function cm.condition(e,tp,eg,ep,ev,re,r,rp)
return Duel.GetAttacker():IsControler(1-tp)
......
......@@ -20,7 +20,7 @@ function cm.costfilter(c)
return c:IsType(TYPE_MONSTER) and c:IsAbleToDeckOrExtraAsCost()
end
function cm.exfilter(c)
return c:IsCode(list[1]) or RD.IsLegendCode(c,list[2])
return c:IsCode(list[1]) or c:IsLinkCode(list[2])
end
cm.cost=RD.CostSendGraveToDeck(cm.costfilter,5,5)
function cm.target(e,tp,eg,ep,ev,re,r,rp,chk)
......
local m=120218006
local cm=_G["c"..m]
cm.name="极奏之小提琴马赫毗奥"
function cm.initial_effect(c)
--Atk Up
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:SetValue(cm.atkval)
c:RegisterEffect(e1)
end
--Atk Up
function cm.filter(c)
return c:IsFaceup() and c:IsType(TYPE_NORMAL)
end
function cm.atkval(e,c)
local ct1=c:GetEquipCount()
local ct2=Duel.GetMatchingGroupCount(cm.filter,c:GetControler(),0,LOCATION_MZONE,nil)
return (ct1+ct2)*500
end
\ No newline at end of file
......@@ -23,7 +23,7 @@ function cm.sumcon(e,c,minc)
if c==nil then return true end
local tp=c:GetControler()
local g=Duel.GetMatchingGroup(Card.IsAttribute,tp,LOCATION_GRAVE,0,nil,ATTRIBUTE_DARK)
if g:GetClassCount(RD.GetCardCode)<4 then return false end
if g:GetClassCount(Card.GetLinkCode)<4 then return false end
local mg=Duel.GetMatchingGroup(cm.matfilter,tp,LOCATION_MZONE,LOCATION_MZONE,nil,tp)
return c:IsLevelAbove(7) and minc<=1 and Duel.CheckTribute(c,1,1,mg)
end
......
......@@ -18,7 +18,7 @@ function cm.costfilter(c)
return c:IsLevel(6) and RD.IsDefense(c,500) and c:IsAbleToDeckOrExtraAsCost()
end
function cm.costcheck(g)
return g:GetClassCount(RD.GetCardCode)==g:GetCount()
return g:GetClassCount(Card.GetLinkCode)==g:GetCount()
end
cm.cost=RD.CostSendGraveSubToDeck(cm.costfilter,cm.costcheck,4,4)
function cm.target(e,tp,eg,ep,ev,re,r,rp,chk)
......
......@@ -19,7 +19,7 @@ end
--Atk Up
cm.indval=RD.ValueEffectIndesType(TYPE_MONSTER+TYPE_SPELL+TYPE_TRAP,TYPE_MONSTER+TYPE_SPELL+TYPE_TRAP)
function cm.thfilter(c)
return RD.IsLegendCode(c,list[3]) and c:IsAbleToHand()
return c:IsLinkCode(list[3]) and c:IsAbleToHand()
end
cm.cost=RD.CostSendHandToGrave(Card.IsAbleToGraveAsCost,1,1)
function cm.operation(e,tp,eg,ep,ev,re,r,rp)
......
......@@ -18,7 +18,7 @@ function cm.spfilter(c,e,tp)
return c:IsLevel(4) and c:IsRace(RACE_SPELLCASTER) and RD.IsCanBeSpecialSummoned(c,e,tp,POS_FACEUP)
end
function cm.upfilter(c)
return c:IsFaceup() and RD.IsLegendCode(c,list[1])
return c:IsFaceup() and c:IsLinkCode(list[1])
end
function cm.target(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.GetMZoneCount(tp)>0
......
......@@ -29,7 +29,7 @@ function cm.posfilter(c)
return c:IsAttackPos() and RD.IsCanChangePosition(c)
end
function cm.poscheck(g)
return g:IsExists(RD.IsLegendCode,1,nil,list[1])
return g:IsExists(Card.IsLinkCode,1,nil,list[1])
end
function cm.condition(e,tp,eg,ep,ev,re,r,rp)
return eg:IsExists(cm.confilter,1,nil,1-tp)
......
local m=120232004
local list={120130000}
local cm=_G["c"..m]
cm.name="黑魔术少女"
function cm.initial_effect(c)
RD.AddCodeList(c,LEGEND_DARK_MAGICIAN)
RD.AddCodeList(c,list)
--Atk Up
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE)
......@@ -14,7 +15,7 @@ function cm.initial_effect(c)
end
--Atk Up
function cm.filter(c)
return RD.IsLegendCode(c,LEGEND_DARK_MAGICIAN)
return c:IsLinkCode(list[1])
end
function cm.atkval(e,c)
return Duel.GetMatchingGroupCount(cm.filter,c:GetControler(),LOCATION_GRAVE,LOCATION_GRAVE,nil)*500
......
......@@ -40,7 +40,7 @@ function cm.operation(e,tp,eg,ep,ev,re,r,rp)
if RD.Draw() and Duel.IsExistingMatchingCard(cm.exfilter,tp,LOCATION_GRAVE,0,1,nil) then
local c=e:GetHandler()
if c:IsFaceup() and c:IsRelateToEffect(e) then
RD.AttachCardCode(e,c,list[3],RESET_EVENT+RESETS_STANDARD+RESET_DISABLE+RESET_PHASE+PHASE_END)
RD.ChangeCode(e,c,list[3],RESET_EVENT+RESETS_STANDARD+RESET_DISABLE+RESET_PHASE+PHASE_END)
end
end
end
\ No newline at end of file
......@@ -38,8 +38,8 @@ function cm.operation(e,tp,eg,ep,ev,re,r,rp)
local tc=Duel.GetOperatedGroup():GetFirst()
local c=e:GetHandler()
if c:IsFaceup() and c:IsRelateToEffect(e) and tc:IsFaceup() then
local code=RD.GetCardCode(tc)
RD.AttachCardCode(e,c,code,RESET_EVENT+RESETS_STANDARD+RESET_DISABLE+RESET_PHASE+PHASE_END)
local code=tc:GetLinkCode()
RD.ChangeCode(e,c,code,RESET_EVENT+RESETS_STANDARD+RESET_DISABLE+RESET_PHASE+PHASE_END)
end
end
end
\ No newline at end of file
......@@ -33,7 +33,7 @@ end
function cm.operation(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
if c:IsFaceup() and c:IsRelateToEffect(e) then
RD.AttachCardCode(e,c,list[1],RESET_EVENT+RESETS_STANDARD+RESET_DISABLE+RESET_PHASE+PHASE_END)
RD.ChangeCode(e,c,list[1],RESET_EVENT+RESETS_STANDARD+RESET_DISABLE+RESET_PHASE+PHASE_END)
if Duel.GetFieldGroupCount(tp,LOCATION_DECK,0)<4 then return end
Duel.BreakEffect()
local sg,g=RD.RevealDeckTopAndCanSelect(tp,4,aux.Stringid(m,1),HINTMSG_ATOHAND,cm.thfilter,1,1)
......
......@@ -34,7 +34,7 @@ end
function cm.operation(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
if c:IsFaceup() and c:IsRelateToEffect(e) then
RD.AttachCardCode(e,c,list[1],RESET_EVENT+RESETS_STANDARD+RESET_DISABLE+RESET_PHASE+PHASE_END)
RD.ChangeCode(e,c,list[1],RESET_EVENT+RESETS_STANDARD+RESET_DISABLE+RESET_PHASE+PHASE_END)
Duel.BreakEffect()
if RD.SendDeckTopToGraveAndExists(tp,3) then
local og=Duel.GetOperatedGroup()
......
......@@ -18,7 +18,7 @@ function cm.costfilter(c)
return c:IsRace(RACE_CELESTIALWARRIOR)
end
function cm.costcheck(g)
return g:GetClassCount(RD.GetCardCode)==g:GetCount()
return g:GetClassCount(Card.GetLinkCode)==g:GetCount()
end
cm.cost=RD.CostShowGroupExtra(cm.costfilter,cm.costcheck,1,5,Group.GetCount)
function cm.target(e,tp,eg,ep,ev,re,r,rp,chk)
......
......@@ -17,7 +17,7 @@ function cm.costfilter(c)
return c:IsRace(RACE_CELESTIALWARRIOR)
end
function cm.costcheck(g)
return g:GetClassCount(RD.GetCardCode)==g:GetCount()
return g:GetClassCount(Card.GetLinkCode)==g:GetCount()
end
cm.cost=RD.CostShowGroupExtra(cm.costfilter,cm.costcheck,1,5,Group.GetCount)
function cm.operation(e,tp,eg,ep,ev,re,r,rp)
......
......@@ -21,7 +21,7 @@ function cm.thfilter(c)
return c:IsLevelBelow(4) and c:IsRace(RACE_GALAXY) and c:IsAbleToHand()
end
function cm.exfilter(c)
return RD.IsLegendCode(c,list[3])
return c:IsLinkCode(list[3])
end
function cm.spfilter(c,e,tp)
return c:IsLevel(8) and RD.IsCanBeSpecialSummoned(c,e,tp,POS_FACEUP)
......
......@@ -26,7 +26,7 @@ function cm.tdfilter(c)
return c:IsFaceup() and c:IsLevelBelow(8) and c:IsAbleToDeck()
end
function cm.check(g)
return g:GetClassCount(RD.GetCardCode)==g:GetCount()
return g:GetClassCount(Card.GetLinkCode)==g:GetCount()
end
cm.cost=RD.CostSendGraveToDeck(cm.costfilter,2,2)
function cm.target(e,tp,eg,ep,ev,re,r,rp,chk)
......
local m=120238000
local list={120238029}
local list={120125001,120238029}
local cm=_G["c"..m]
cm.name="流星黑龙"
function cm.initial_effect(c)
RD.AddCodeList(c,LEGEND_RED_EYES_BLACK_DRAGON,list)
RD.AddCodeList(c,list)
--Fusion Material
RD.AddFusionProcedure(c,LEGEND_RED_EYES_BLACK_DRAGON,list[1])
RD.AddFusionProcedure(c,list[1],list[2])
end
\ No newline at end of file
local m=120238012
local list={120181002}
local list={120130000,120181002}
local cm=_G["c"..m]
cm.name="黑魔术师的幕帘"
function cm.initial_effect(c)
RD.AddCodeList(c,LEGEND_DARK_MAGICIAN,list)
RD.AddCodeList(c,list)
--To Hand
local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(m,0))
......@@ -17,7 +17,7 @@ function cm.initial_effect(c)
end
--To Hand
function cm.thfilter(c)
return (RD.IsLegendCode(c,LEGEND_DARK_MAGICIAN) or c:IsCode(list[1])) and c:IsAbleToHand()
return (c:IsLinkCode(list[1]) or c:IsCode(list[2])) and c:IsAbleToHand()
end
cm.cost=RD.CostPayLP(700)
function cm.target(e,tp,eg,ep,ev,re,r,rp,chk)
......
......@@ -18,7 +18,7 @@ function cm.initial_effect(c)
end
--Atk Down
function cm.filter(c)
return RD.IsLegendCode(c,list[1],list[2])
return c:IsLinkCode(list[1],list[2])
end
function cm.condition(e,tp,eg,ep,ev,re,r,rp)
return Duel.IsExistingMatchingCard(cm.filter,tp,LOCATION_GRAVE,0,1,nil)
......
......@@ -20,7 +20,7 @@ function cm.costfilter(c,e,tp)
return c:IsAbleToDeckOrExtraAsCost() and Duel.GetMZoneCount(tp,c)>0
end
function cm.spfilter(c,e,tp)
return RD.IsLegendCode(c,list[1]) and RD.IsCanBeSpecialSummoned(c,e,tp,POS_FACEUP)
return c:IsLinkCode(list[1]) and RD.IsCanBeSpecialSummoned(c,e,tp,POS_FACEUP)
end
cm.cost=RD.CostSendMZoneToDeckBottom(cm.costfilter,1,1,true)
function cm.target(e,tp,eg,ep,ev,re,r,rp,chk)
......
......@@ -17,7 +17,7 @@ function cm.initial_effect(c)
end
--Discard Deck
function cm.thfilter(c)
return RD.IsLegendCode(c,list[1]) and c:IsAbleToHand()
return c:IsLinkCode(list[1]) and c:IsAbleToHand()
end
function cm.condition(e,tp,eg,ep,ev,re,r,rp)
return RD.IsSummonTurn(e:GetHandler())
......
......@@ -16,7 +16,7 @@ function cm.initial_effect(c)
end
--Set
function cm.confilter(c)
return RD.IsLegendCode(c,list[1])
return c:IsLinkCode(list[1])
end
function cm.setfilter(c)
return c:IsType(TYPE_TRAP) and c:IsSSetable()
......
......@@ -17,7 +17,7 @@ function cm.initial_effect(c)
end
--Destroy
function cm.confilter(c)
return RD.IsLegendCode(c,list[1])
return c:IsLinkCode(list[1])
end
function cm.filter(c)
return c:IsFaceup() and c:IsLevelBelow(8)
......
......@@ -17,7 +17,7 @@ function cm.initial_effect(c)
end
--Activate
function cm.confilter(c)
return c:IsFaceup() and RD.IsLegendCode(c,list[1])
return c:IsFaceup() and c:IsLinkCode(list[1])
end
function cm.costfilter(c)
return c:IsRace(RACE_FIEND) and c:IsAbleToGraveAsCost()
......
......@@ -38,7 +38,7 @@ cm.cost=RD.CostSendOnFieldToGrave(cm.costfilter,1,1,true)
function cm.operation(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
if c:IsFaceup() and c:IsRelateToEffect(e) then
RD.AttachCardCode(e,c,list[1],RESET_EVENT+RESETS_STANDARD+RESET_DISABLE+RESET_PHASE+PHASE_END)
RD.ChangeCode(e,c,list[1],RESET_EVENT+RESETS_STANDARD+RESET_DISABLE+RESET_PHASE+PHASE_END)
RD.CanSelectAndSpecialSummon(aux.Stringid(m,2),aux.NecroValleyFilter(cm.spfilter),tp,LOCATION_GRAVE,0,1,1,nil,e,POS_FACEUP,true)
end
end
\ No newline at end of file
......@@ -31,7 +31,8 @@ function cm.operation(e,tp,eg,ep,ev,re,r,rp)
if c:IsFaceup() and c:IsRelateToEffect(e) then
local filter=RD.Filter(cm.filter,c:GetCode())
RD.SelectAndDoAction(aux.Stringid(m,1),aux.NecroValleyFilter(filter),tp,LOCATION_GRAVE,0,1,1,nil,function(g)
RD.AttachCardCode(e,c,g:GetFirst():GetCode(),RESET_EVENT+RESETS_STANDARD+RESET_DISABLE+RESET_PHASE+PHASE_END)
local code=g:GetFirst():GetLinkCode()
RD.ChangeCode(e,c,code,RESET_EVENT+RESETS_STANDARD+RESET_DISABLE+RESET_PHASE+PHASE_END)
end)
end
end
\ No newline at end of file
......@@ -33,7 +33,7 @@ function cm.operation(e,tp,eg,ep,ev,re,r,rp)
if c:IsFaceup() and c:IsRelateToEffect(e) then
RD.AttachAtkDef(e,c,500,0,RESET_EVENT+RESETS_STANDARD+RESET_DISABLE+RESET_PHASE+PHASE_END)
if Duel.IsExistingMatchingCard(cm.exfilter,tp,LOCATION_GRAVE,0,1,nil) then
RD.AttachCardCode(e,c,list[1],RESET_EVENT+RESETS_STANDARD+RESET_DISABLE+RESET_PHASE+PHASE_END)
RD.ChangeCode(e,c,list[1],RESET_EVENT+RESETS_STANDARD+RESET_DISABLE+RESET_PHASE+PHASE_END)
end
end
end)
......
-- Load Rush Duel
Duel.LoadScript("RDBase.lua")
Duel.LoadScript("RDCode.lua")
Duel.LoadScript("RDLegend.lua")
Duel.LoadScript("RDRule.lua")
Duel.LoadScript("RDMaximum.lua")
Duel.LoadScript("RDFunction.lua")
......
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