Commit 8eb9bd9b authored by 未闻皂名's avatar 未闻皂名

2025/4/9 bug修复

parent 862ce325
Pipeline #34802 passed with stages
in 9 minutes and 28 seconds
......@@ -31,6 +31,7 @@ FLAG_SUMMON_TURN = 120000011 -- 召唤·特殊召唤的回合被盖放, 不再
FLAG_ATTACK_ANNOUNCED = 120000012 -- 已经进行了攻击宣言, 不能向怪兽攻击的效果失效
FLAG_ATTACH_EFFECT = 120000013 -- 通过效果赋予的效果, 不能重复叠加
FLAG_CANNOT_ATTACK_NEXT_TURN = 120231059 -- 下个回合不能攻击
FLAG_CANNOT_ATTACK_UNTIL_NEXT_TURN = 120247006 -- 直到下个回合,不能攻击
-- 提示信息
HINTMSG_MAXSUMMON = Auxiliary.Stringid(120000000, 0) -- 极大召唤
......
......@@ -139,11 +139,6 @@ end
function RushDuel.IsCanAttachAttackAll(card, value)
return RushDuel.IsCanAttack(card) and not RushDuel.IsHasAttachEffect(card, EFFECT_ATTACK_ALL)
end
-- 条件: 可否赋予效果 - 攻击宣言时, 对方不能把陷阱卡发动
function RushDuel.IsCanAttachAttackNotChainTrap(card)
local player = 1 - card:GetControler()
return RushDuel.IsPlayerCanActivateTrapBattle(player) and RushDuel.IsCanAttack(card) and not RushDuel.IsHasAttachEffect(card, EFFECT_ATTACK_NOT_CHAIN_TRAP)
end
-- 条件: 可否赋予效果 - 双重解放
function RushDuel.IsCanAttachDoubleTribute(card, value)
if Duel.IsPlayerAffectedByEffect(card:GetControler(), EFFECT_CANNOT_DOUBLE_TRIBUTE) then
......@@ -188,6 +183,11 @@ function RushDuel.IsCanAttachEffectIndes(card, player, value)
local effects = RushDuel.GetAttachEffects(card, EFFECT_INDESTRUCTABLE_EFFECT)
return RushDuel.CheckValueEffectIndesType(player, effects, value)
end
-- 条件: 可否赋予效果 - 攻击宣言时, 对方不能把陷阱卡发动
function RushDuel.IsCanAttachAttackNotChainTrap(card)
local player = 1 - card:GetControler()
return RushDuel.IsPlayerCanActivateTrapBattle(player) and RushDuel.IsCanAttack(card) and not RushDuel.IsHasAttachEffect(card, EFFECT_ATTACK_NOT_CHAIN_TRAP)
end
-- 条件: 可否赋予效果 - 永续效果无效化
function RushDuel.IsCanAttachDisableContinuous(card)
return RushDuel.IsHasContinuousEffect(card) and not card:IsHasEffect(EFFECT_DISABLE)
......
......@@ -242,11 +242,13 @@ function RushDuel.AddFusionProcedureRep(card, insf, sub, func, min, max, ...)
return
end
local vals = {...}
table.insert(vals, func)
for i = 1, min do
table.insert(vals, func)
end
-- 融合素材
local codes, funcs, unspecified = RushDuel.MakeFusionMaterial(card, table.unpack(vals))
RushDuel.SetFusionMaterialData(card, codes, #funcs + min - 1, #funcs + max - 1, unspecified)
return RushDuel.CreateFusionProcedure(card, insf, sub, funcs, func, max - 1, nil)
RushDuel.SetFusionMaterialData(card, codes, #funcs + min, #funcs + max, unspecified)
return RushDuel.CreateFusionProcedure(card, insf, sub, funcs, func, max - min, nil)
end
-- 手动添加融合素材列表
......
......@@ -17,7 +17,7 @@ function cm.initial_effect(c)
end
--Change Code
function cm.filter(c)
return c:IsFaceup() and c:IsLevelBelow(8)
return c:IsFaceup() and c:IsLevelBelow(8) and c:GetFlagEffect(FLAG_CANNOT_ATTACK_UNTIL_NEXT_TURN)==0
end
function cm.condition(e,tp,eg,ep,ev,re,r,rp)
return not e:GetHandler():IsCode(list[1])
......@@ -30,7 +30,11 @@ function cm.operation(e,tp,eg,ep,ev,re,r,rp)
RD.ChangeCode(e,c,list[1],reset)
RD.CanSelectAndDoAction(aux.Stringid(m,1),aux.Stringid(m,2),cm.filter,tp,0,LOCATION_MZONE,1,1,nil,function(g)
Duel.BreakEffect()
RD.AttachCannotAttack(e,g:GetFirst(),aux.Stringid(m,3),reset)
local tc=g:GetFirst()
RD.AttachCannotAttack(e,tc,aux.Stringid(m,3),reset)
if not tc:IsImmuneToEffect(e) then
tc:RegisterFlagEffect(FLAG_CANNOT_ATTACK_UNTIL_NEXT_TURN,reset,0,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