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

2024/2/10 已发售的卡片移至正式卡,更新翻译,永续效果与赋予效果的新调整更新

parent c0264686
Pipeline #25391 passed with stages
in 7 minutes and 41 seconds
No preview for this file type
No preview for this file type
...@@ -20,6 +20,7 @@ EFFECT_PLAYER_RACE_CANNOT_ATTACK = 120155055 -- 幻刃封锁 (不能选择不能 ...@@ -20,6 +20,7 @@ EFFECT_PLAYER_RACE_CANNOT_ATTACK = 120155055 -- 幻刃封锁 (不能选择不能
FLAG_SUMMON_TURN = 120000011 -- 召唤·特殊召唤的回合被盖放, 不再符合召唤·特殊召唤的回合的条件 FLAG_SUMMON_TURN = 120000011 -- 召唤·特殊召唤的回合被盖放, 不再符合召唤·特殊召唤的回合的条件
FLAG_ATTACK_ANNOUNCED = 120000012 -- 已经进行了攻击宣言, 不能向怪兽攻击的效果失效 FLAG_ATTACK_ANNOUNCED = 120000012 -- 已经进行了攻击宣言, 不能向怪兽攻击的效果失效
FLAG_ATTACH_EFFECT = 120000013 -- 通过效果赋予的效果, 不能重复叠加
-- 创建效果: 玩家对象的全局效果 -- 创建效果: 玩家对象的全局效果
function RushDuel.CreatePlayerTargetGlobalEffect(code, value) function RushDuel.CreatePlayerTargetGlobalEffect(code, value)
...@@ -282,13 +283,14 @@ function RushDuel.CreateSingleEffect(e, desc, card, code, value, reset, forced) ...@@ -282,13 +283,14 @@ function RushDuel.CreateSingleEffect(e, desc, card, code, value, reset, forced)
local e1 = Effect.CreateEffect(e:GetHandler()) local e1 = Effect.CreateEffect(e:GetHandler())
e1:SetType(EFFECT_TYPE_SINGLE) e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetCode(code) e1:SetCode(code)
if value ~= nil then
e1:SetValue(value)
end
if desc ~= nil then if desc ~= nil then
e1:SetDescription(desc) e1:SetDescription(desc)
e1:SetProperty(EFFECT_FLAG_CLIENT_HINT) e1:SetProperty(EFFECT_FLAG_CLIENT_HINT)
end end
e1:SetLabel(FLAG_ATTACH_EFFECT)
if value ~= nil then
e1:SetValue(value)
end
if reset ~= nil then if reset ~= nil then
e1:SetReset(reset) e1:SetReset(reset)
end end
...@@ -352,9 +354,21 @@ function RushDuel.AddContinuousEffect(c, ...) ...@@ -352,9 +354,21 @@ function RushDuel.AddContinuousEffect(c, ...)
end end
end end
-- 获取附加的效果
function RushDuel.GetAttachEffects(card, code)
local effects = {card:IsHasEffect(code)}
local attachs = {}
for i, effect in ipairs(effects) do
if effect:GetLabel() == FLAG_ATTACH_EFFECT then
table.insert(attachs, effect)
end
end
return attachs
end
-- 获取效果值列表 -- 获取效果值列表
function RushDuel.GetEffectValues(card, code) function RushDuel.GetEffectValues(card, code)
local effects = {card:IsHasEffect(code)} local effects = RushDuel.GetAttachEffects(card, code)
local values = {} local values = {}
for i, effect in ipairs(effects) do for i, effect in ipairs(effects) do
values[i] = effect:GetValue() values[i] = effect:GetValue()
......
...@@ -80,13 +80,17 @@ end ...@@ -80,13 +80,17 @@ end
function RushDuel.IsCanAttack(card) function RushDuel.IsCanAttack(card)
return not card:IsHasEffect(EFFECT_CANNOT_ATTACK) return not card:IsHasEffect(EFFECT_CANNOT_ATTACK)
end end
-- 条件: 被赋予了效果
function RushDuel.IsHasAttachEffect(card, code)
return #RushDuel.GetAttachEffects(card, code) ~= 0
end
-- 条件: 可否赋予效果 - 直接攻击 -- 条件: 可否赋予效果 - 直接攻击
function RushDuel.IsCanAttachDirectAttack(card) function RushDuel.IsCanAttachDirectAttack(card)
return RushDuel.IsCanAttack(card) and not card:IsHasEffect(EFFECT_DIRECT_ATTACK) and not card:IsHasEffect(EFFECT_CANNOT_DIRECT_ATTACK) return RushDuel.IsCanAttack(card) and not card:IsHasEffect(EFFECT_CANNOT_DIRECT_ATTACK) and not RushDuel.IsHasAttachEffect(card, EFFECT_DIRECT_ATTACK)
end end
-- 条件: 可否赋予效果 - 贯通 -- 条件: 可否赋予效果 - 贯通
function RushDuel.IsCanAttachPierce(card) function RushDuel.IsCanAttachPierce(card)
return RushDuel.IsCanAttack(card) and not card:IsHasEffect(EFFECT_PIERCE) return RushDuel.IsCanAttack(card) and not RushDuel.IsHasAttachEffect(card, EFFECT_PIERCE)
end end
-- 条件: 可否赋予效果 - 多次攻击 -- 条件: 可否赋予效果 - 多次攻击
function RushDuel.IsCanAttachExtraAttack(card, value) function RushDuel.IsCanAttachExtraAttack(card, value)
...@@ -116,7 +120,7 @@ function RushDuel.IsCanAttachExtraAttackMonster(card, value) ...@@ -116,7 +120,7 @@ function RushDuel.IsCanAttachExtraAttackMonster(card, value)
end end
-- 条件: 可否赋予效果 - 全体攻击 -- 条件: 可否赋予效果 - 全体攻击
function RushDuel.IsCanAttachAttackAll(card, value) function RushDuel.IsCanAttachAttackAll(card, value)
return RushDuel.IsCanAttack(card) return RushDuel.IsCanAttack(card) and not RushDuel.IsHasAttachEffect(card, EFFECT_ATTACK_ALL)
end end
-- 条件: 可否赋予效果 - 双重解放 -- 条件: 可否赋予效果 - 双重解放
function RushDuel.IsCanAttachDoubleTribute(card, value) function RushDuel.IsCanAttachDoubleTribute(card, value)
......
local m=120109037
local cm=_G["c"..m]
cm.name="虚空噬骸兵·神威镇魂鹰巨人"
function cm.initial_effect(c)
--Summon Procedure
RD.AddSummonProcedureThree(c,aux.Stringid(m,0))
end
local m=120257000 local m=120257000
local list={120145000,120125001} local list={120145000,120125001}
local cm=_G["c"..m] local cm=_G["c"..m]
cm.name="恶魔黑龙" cm.name="暗黑魔龙"
function cm.initial_effect(c) function cm.initial_effect(c)
RD.AddCodeList(c,list) RD.AddCodeList(c,list)
--Fusion Material --Fusion Material
......
local m=120257006 local m=120257006
local list={120257048} local list={120257048}
local cm=_G["c"..m] local cm=_G["c"..m]
cm.name="高天班卓琴盗贼" cm.name="高天班卓琴盗贼"
function cm.initial_effect(c) function cm.initial_effect(c)
RD.AddCodeList(c,list) RD.AddCodeList(c,list)
--Summon Procedure --Summon Procedure
......
local m=120257007 local m=120257007
local list={120257048} local list={120257048}
local cm=_G["c"..m] local cm=_G["c"..m]
cm.name="高天迪安·凯特" cm.name="高天之神童 迪安·凯特"
function cm.initial_effect(c) function cm.initial_effect(c)
RD.AddCodeList(c,list) RD.AddCodeList(c,list)
--Summon Procedure --Summon Procedure
......
local m=120257014 local m=120257014
local cm=_G["c"..m] local cm=_G["c"..m]
cm.name="最爱骰子钥匙·卡拉梅尔" cm.name="骰子小钥心·铠甲小奶糖"
function cm.initial_effect(c) function cm.initial_effect(c)
--Act Limit --Act Limit
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
......
local m=120257015 local m=120257015
local cm=_G["c"..m] local cm=_G["c"..m]
cm.name="最爱骰子钥匙·敏娜" cm.name="骰子小钥心·小全"
function cm.initial_effect(c) function cm.initial_effect(c)
--Atk Up --Atk Up
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
......
local m=120257016 local m=120257016
local cm=_G["c"..m] local cm=_G["c"..m]
cm.name="骰子炸药女孩·奇洛莉" cm.name="骰子炸药少女·小掷"
function cm.initial_effect(c) function cm.initial_effect(c)
--Dice --Dice
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
......
local m=120257017 local m=120257017
local list={120257041} local list={120257041}
local cm=_G["c"..m] local cm=_G["c"..m]
cm.name="接合科技嵌套骑士坦克" cm.name="接合科技寄命蟹保安军"
function cm.initial_effect(c) function cm.initial_effect(c)
RD.AddCodeList(c,list) RD.AddCodeList(c,list)
--Special Summon --Special Summon
......
local m=120257018 local m=120257018
local list={120257017} local list={120257017}
local cm=_G["c"..m] local cm=_G["c"..m]
cm.name="暗冥接合科技暴君" cm.name="暗冥接合科技机械暴君"
function cm.initial_effect(c) function cm.initial_effect(c)
RD.AddCodeList(c,list) RD.AddCodeList(c,list)
Duel.AddCustomActivityCounter(m,ACTIVITY_CHAIN,cm.chainfilter) Duel.AddCustomActivityCounter(m,ACTIVITY_CHAIN,cm.chainfilter)
......
local m=120257019 local m=120257019
local cm=_G["c"..m] local cm=_G["c"..m]
cm.name="电狮子磁带" cm.name="电狮子 起电范德"
function cm.initial_effect(c) function cm.initial_effect(c)
--Discard Deck --Discard Deck
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
......
local m=120257020 local m=120257020
local list={120196050} local list={120196050}
local cm=_G["c"..m] local cm=_G["c"..m]
cm.name="蒸汽燕宝石" cm.name="蒸汽燕 引擎詹姆斯"
function cm.initial_effect(c) function cm.initial_effect(c)
RD.AddCodeList(c,list) RD.AddCodeList(c,list)
--Special Summon --Special Summon
......
local m=120257021
local cm=_G["c"..m]
cm.name="深渊杀戮者·提亚玛特女王"
function cm.initial_effect(c)
--Draw
local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(m,0))
e1:SetCategory(CATEGORY_DRAW+CATEGORY_SEARCH+CATEGORY_TOHAND)
e1:SetType(EFFECT_TYPE_IGNITION)
e1:SetProperty(EFFECT_FLAG_PLAYER_TARGET)
e1:SetRange(LOCATION_MZONE)
e1:SetCost(cm.cost)
e1:SetTarget(cm.target)
e1:SetOperation(cm.operation)
c:RegisterEffect(e1)
end
--Draw
function cm.costfilter(c)
return c:IsType(TYPE_MONSTER) and c:IsAbleToDeckOrExtraAsCost()
end
function cm.exfilter(c)
return c:IsType(TYPE_MAXIMUM) and c:IsRace(RACE_SEASERPENT)
end
function cm.thfilter(c)
return c:IsLevelAbove(7) and c:IsRace(RACE_SEASERPENT) and c:IsAbleToHand()
end
function cm.costcheck(g,e,tp)
return g:IsExists(cm.exfilter,1,nil)
end
cm.cost=RD.CostSendGraveSubToDeck(cm.costfilter,cm.costcheck,1,3)
function cm.target(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsPlayerCanDraw(tp,1) end
RD.TargetDraw(tp,1)
end
function cm.operation(e,tp,eg,ep,ev,re,r,rp)
if RD.Draw()~=0 and Duel.GetFieldGroupCount(tp,LOCATION_DECK,0)>4 and Duel.SelectYesNo(tp,aux.Stringid(m,1)) then
local sg,g=RD.RevealDeckTopAndCanSelect(tp,5,aux.Stringid(m,2),HINTMSG_ATOHAND,cm.thfilter,1,3)
if sg:GetCount()>0 then
Duel.DisableShuffleCheck()
RD.SendToHandAndExists(sg,1-tp)
Duel.ShuffleHand(tp)
end
local ct=g:GetCount()
if ct>0 then
Duel.SortDecktop(tp,tp,ct)
RD.SendDeckTopToBottom(tp,ct)
end
end
end
\ No newline at end of file
local m=120257023 local m=120257023
local list={120249022} local list={120249022}
local cm=_G["c"..m] local cm=_G["c"..m]
cm.name="秘密基地守护神 误射小姐" cm.name="秘密基地守护神 打偏小姐"
function cm.initial_effect(c) function cm.initial_effect(c)
RD.AddCodeList(c,list) RD.AddCodeList(c,list)
--Tribute --Tribute
......
local m=120257024 local m=120257024
local list={120105001} local list={120105001}
local cm=_G["c"..m] local cm=_G["c"..m]
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 m=120257030 local m=120257030
local list={120230001} local list={120230001}
local cm=_G["c"..m] local cm=_G["c"..m]
cm.name="弹射宝贝龟" cm.name="弹射龟"
function cm.initial_effect(c) function cm.initial_effect(c)
RD.AddCodeList(c,list) RD.AddCodeList(c,list)
--To Deck --To Deck
......
local m=120257031 local m=120257031
local cm=_G["c"..m] local cm=_G["c"..m]
cm.name="动物魔法使·魔女" cm.name="魔力动物魔女"
function cm.initial_effect(c) function cm.initial_effect(c)
--Draw --Draw
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
......
local m=120257041 local m=120257041
local list={120257017,120222025,120249023} local list={120257017,120222025,120249023}
local cm=_G["c"..m] local cm=_G["c"..m]
cm.name="接合科技三恐龙基地" cm.name="接合科技三恐龙基地"
function cm.initial_effect(c) function cm.initial_effect(c)
RD.AddCodeList(c,list) RD.AddCodeList(c,list)
--Fusion Material --Fusion Material
......
local m=120257042 local m=120257042
local list={120235001,120226023} local list={120235001,120226023}
local cm=_G["c"..m] local cm=_G["c"..m]
cm.name="超级气斗士弓手" cm.name="超级谱气斗士·炽弓手"
function cm.initial_effect(c) function cm.initial_effect(c)
RD.AddCodeList(c,list) RD.AddCodeList(c,list)
--Fusion Material --Fusion Material
......
local m=120257043
local list={120228024,120253012}
local cm=_G["c"..m]
cm.name="华蝶风彩之预言乐句酷炫盗贼"
function cm.initial_effect(c)
RD.AddCodeList(c,list)
--Fusion Material
RD.AddFusionProcedure(c,list[1],list[2])
--Destroy
local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(m,0))
e1:SetCategory(CATEGORY_DESTROY+CATEGORY_TODECK+CATEGORY_GRAVE_ACTION+CATEGORY_ATKCHANGE+CATEGORY_DRAW)
e1:SetType(EFFECT_TYPE_IGNITION)
e1:SetRange(LOCATION_MZONE)
e1:SetTarget(cm.target)
e1:SetOperation(cm.operation)
c:RegisterEffect(e1)
end
--Destroy
function cm.filter(c)
return c:IsFaceup() and c:IsLevelBelow(8)
end
function cm.tdfilter(c)
return c:IsType(TYPE_MONSTER) and c:IsAbleToDeck()
end
function cm.target(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(cm.filter,tp,0,LOCATION_MZONE,1,nil) end
local g=Duel.GetMatchingGroup(cm.filter,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,cm.filter,tp,0,LOCATION_MZONE,1,1,nil,function(g)
if Duel.Destroy(g,REASON_EFFECT)~=0 then
local mg=Duel.GetMatchingGroup(aux.NecroValleyFilter(cm.tdfilter),tp,0,LOCATION_GRAVE,nil)
if mg:GetCount()>0 and Duel.IsPlayerCanDraw(tp,1)
and Duel.SelectYesNo(tp,aux.Stringid(m,1)) and RD.SendToDeckAndExists(mg) then
local c=e:GetHandler()
if c:IsFaceup() and c:IsRelateToEffect(e) then
RD.AttachAtkDef(e,c,1200,0,RESET_EVENT+RESETS_STANDARD+RESET_PHASE+PHASE_END)
Duel.Draw(tp,1,REASON_EFFECT)
end
end
end
end)
end
\ No newline at end of file
local m=120257046
local list={120235023,120235021}
local cm=_G["c"..m]
cm.name="苍救之晦冥 尼卢克利塔"
function cm.initial_effect(c)
RD.AddCodeList(c,list)
--Fusion Material
RD.AddFusionProcedure(c,list[1],list[2])
--Pierce
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_FIELD)
e1:SetCode(EFFECT_PIERCE)
e1:SetRange(LOCATION_MZONE)
e1:SetTargetRange(LOCATION_MZONE,0)
e1:SetTarget(cm.prctg)
c:RegisterEffect(e1)
--Continuous Effect
RD.AddContinuousEffect(c,e1)
end
--Pierce
function cm.prctg(e,c)
return c:GetEquipCount()>0 and (c:IsRace(RACE_CELESTIALWARRIOR) or c:IsRace(RACE_WARRIOR+RACE_FAIRY))
end
\ No newline at end of file
local m=120257052
local list={120239049,120254053}
local cm=_G["c"..m]
cm.name="深渊海兽地图绘制"
function cm.initial_effect(c)
RD.AddCodeList(c,list)
--Change Code
RD.EnableChangeCode(c,list[1],LOCATION_GRAVE)
--Activate
local e1=Effect.CreateEffect(c)
e1:SetCategory(CATEGORY_RECOVER+CATEGORY_TOHAND+CATEGORY_GRAVE_ACTION)
e1:SetType(EFFECT_TYPE_ACTIVATE)
e1:SetCode(EVENT_FREE_CHAIN)
e1:SetProperty(EFFECT_FLAG_PLAYER_TARGET)
e1:SetTarget(cm.target)
e1:SetOperation(cm.activate)
c:RegisterEffect(e1)
end
--Activate
function cm.filter(c)
return c:IsFaceup() and c:IsRace(RACE_SEASERPENT)
end
function cm.thfilter(c)
return c:IsCode(list[2]) and c:IsAbleToHand()
end
function cm.target(e,tp,eg,ep,ev,re,r,rp,chk)
local rec=Duel.GetMatchingGroupCount(cm.filter,tp,LOCATION_MZONE,0,nil)*300
if chk==0 then return rec>0 end
RD.TargetRecover(tp,rec)
end
function cm.activate(e,tp,eg,ep,ev,re,r,rp)
local rec=Duel.GetMatchingGroupCount(cm.filter,tp,LOCATION_MZONE,0,nil)*300
if RD.Recover(nil,rec)~=0 then
RD.CanSelectAndDoAction(aux.Stringid(m,1),HINTMSG_ATOHAND,aux.NecroValleyFilter(cm.thfilter),tp,LOCATION_GRAVE,0,1,1,nil,function(g)
Duel.BreakEffect()
RD.SendToHandAndExists(g,1-tp)
end)
end
end
\ No newline at end of file
local m=120257053 local m=120257053
local cm=_G["c"..m] local cm=_G["c"..m]
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 m=120257054 local m=120257054
local cm=_G["c"..m] local cm=_G["c"..m]
cm.name="秘密搜查车 雷鸟" cm.name="秘密搜查车 三电雷鸟"
function cm.initial_effect(c) function cm.initial_effect(c)
--Activate --Activate
RD.RegisterEquipEffect(c,nil,nil,cm.target) RD.RegisterEquipEffect(c,nil,nil,cm.target)
......
local m=120257061 local m=120257061
local cm=_G["c"..m] local cm=_G["c"..m]
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 m=120257064 local m=120257064
local list={120196050,120253066} local list={120196050,120253066}
local cm=_G["c"..m] local cm=_G["c"..m]
cm.name="融合族防御" cm.name="融合防卫术"
function cm.initial_effect(c) function cm.initial_effect(c)
RD.AddCodeList(c,list) RD.AddCodeList(c,list)
--Activate --Activate
......
...@@ -15,10 +15,10 @@ function cm.initial_effect(c) ...@@ -15,10 +15,10 @@ function cm.initial_effect(c)
end end
--Activate --Activate
function cm.confilter(c) function cm.confilter(c)
return c:IsFaceup() and c:IsAttackable(ATTRIBUTE_LIGHT) and c:IsRace(RACE_REPTILE) return c:IsFaceup() and c:IsAttribute(ATTRIBUTE_LIGHT) and c:IsRace(RACE_REPTILE)
end end
function cm.costfilter(c) function cm.costfilter(c)
return c:IsAttackable(ATTRIBUTE_LIGHT) and c:IsRace(RACE_REPTILE) and c:IsAbleToDeckOrExtraAsCost() return c:IsAttribute(ATTRIBUTE_LIGHT) and c:IsRace(RACE_REPTILE) and 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.GetMatchingGroupCount(cm.confilter,tp,LOCATION_MZONE,0,nil)==3 return Duel.GetMatchingGroupCount(cm.confilter,tp,LOCATION_MZONE,0,nil)==3
......
local m=120260025 local m=120260025
local list={120260001,120260002,120260003} local list={120260001,120260002,120260003}
local cm=_G["c"..m] local cm=_G["c"..m]
cm.name="结束的战士 磁石战士" cm.name="团结的战士 电磁武神"
function cm.initial_effect(c) function cm.initial_effect(c)
RD.AddCodeList(c,list) RD.AddCodeList(c,list)
--Fusion Material --Fusion Material
......
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