Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Sign in / Register
Toggle navigation
Y
ygopro-rush-duel
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Locked Files
Issues
5
Issues
5
List
Boards
Labels
Service Desk
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Security & Compliance
Security & Compliance
Dependency List
License Compliance
Packages
Packages
List
Container Registry
Analytics
Analytics
CI / CD
Code Review
Insights
Issues
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
MyCard
ygopro-rush-duel
Commits
3a347bdd
Commit
3a347bdd
authored
Oct 24, 2023
by
未闻皂名
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
2023/10/24 事务局调整
parent
23379d7e
Pipeline
#23835
passed with stages
in 7 minutes and 19 seconds
Changes
4
Pipelines
1
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
85 additions
and
73 deletions
+85
-73
script/RDBase.lua
script/RDBase.lua
+2
-0
script/RDCondition.lua
script/RDCondition.lua
+2
-2
script/RDRule.lua
script/RDRule.lua
+80
-70
script/c120246074.lua
script/c120246074.lua
+1
-1
No files found.
script/RDBase.lua
View file @
3a347bdd
...
@@ -18,6 +18,8 @@ EFFECT_CANNOT_DOUBLE_TRIBUTE = 120120029 -- 魔将 雅灭鲁拉 (不能使用:
...
@@ -18,6 +18,8 @@ EFFECT_CANNOT_DOUBLE_TRIBUTE = 120120029 -- 魔将 雅灭鲁拉 (不能使用:
EFFECT_PLAYER_CANNOT_ATTACK
=
120155054
-- 幻刃封锁 (对方不能攻击时不能发动)
EFFECT_PLAYER_CANNOT_ATTACK
=
120155054
-- 幻刃封锁 (对方不能攻击时不能发动)
EFFECT_PLAYER_RACE_CANNOT_ATTACK
=
120155055
-- 幻刃封锁 (不能选择不能攻击的种族)
EFFECT_PLAYER_RACE_CANNOT_ATTACK
=
120155055
-- 幻刃封锁 (不能选择不能攻击的种族)
FLAG_NOT_SUMMON_TURN
=
120000001
-- 召唤·特殊召唤的回合被盖放, 不再符合召唤·特殊召唤的回合的条件
-- 创建效果: 玩家对象的全局效果
-- 创建效果: 玩家对象的全局效果
function
RushDuel
.
CreatePlayerTargetGlobalEffect
(
code
,
value
)
function
RushDuel
.
CreatePlayerTargetGlobalEffect
(
code
,
value
)
local
e1
=
Effect
.
GlobalEffect
()
local
e1
=
Effect
.
GlobalEffect
()
...
...
script/RDCondition.lua
View file @
3a347bdd
...
@@ -7,11 +7,11 @@ function RushDuel.IsMaximumMode(card)
...
@@ -7,11 +7,11 @@ function RushDuel.IsMaximumMode(card)
end
end
-- 条件: 这张卡召唤的回合
-- 条件: 这张卡召唤的回合
function
RushDuel
.
IsSummonTurn
(
card
)
function
RushDuel
.
IsSummonTurn
(
card
)
return
card
:
IsReason
(
REASON_SUMMON
)
and
card
:
IsStatus
(
STATUS_SUMMON_TURN
)
return
card
:
IsReason
(
REASON_SUMMON
)
and
card
:
IsStatus
(
STATUS_SUMMON_TURN
)
and
card
:
GetFlagEffect
(
FLAG_NOT_SUMMON_TURN
)
==
0
end
end
-- 条件: 这张卡特殊召唤的回合
-- 条件: 这张卡特殊召唤的回合
function
RushDuel
.
IsSpecialSummonTurn
(
card
)
function
RushDuel
.
IsSpecialSummonTurn
(
card
)
return
card
:
IsReason
(
REASON_SPSUMMON
)
and
card
:
IsStatus
(
STATUS_SPSUMMON_TURN
)
return
card
:
IsReason
(
REASON_SPSUMMON
)
and
card
:
IsStatus
(
STATUS_SPSUMMON_TURN
)
and
card
:
GetFlagEffect
(
FLAG_NOT_SUMMON_TURN
)
==
0
end
end
-- 条件: 玩家的LP在 lp 以上
-- 条件: 玩家的LP在 lp 以上
function
RushDuel
.
IsLPAbove
(
player
,
lp
)
function
RushDuel
.
IsLPAbove
(
player
,
lp
)
...
...
script/RDRule.lua
View file @
3a347bdd
-- Rush Duel 规则
-- Rush Duel 规则
RushDuel
=
RushDuel
or
{}
RushDuel
=
RushDuel
or
{}
-- 初始化
-- 初始化
function
RushDuel
.
Init
()
function
RushDuel
.
Init
()
RushDuel
.
InitRule
()
RushDuel
.
InitRule
()
Duel
.
BreakEffect
=
function
()
Duel
.
BreakEffect
=
function
()
-- "那之后" 不打断时点
-- "那之后" 不打断时点
end
end
-- 决斗开始
-- 决斗开始
RushDuel
.
CreateFieldGlobalEffect
(
true
,
EVENT_PHASE_START
+
PHASE_DRAW
,
function
(
e
)
RushDuel
.
CreateFieldGlobalEffect
(
true
,
EVENT_PHASE_START
+
PHASE_DRAW
,
function
(
e
)
-- 先攻抽卡
-- 先攻抽卡
if
not
Auxiliary
.
Load2PickRule
then
if
not
Auxiliary
.
Load2PickRule
then
Duel
.
Draw
(
0
,
1
,
REASON_RULE
)
Duel
.
Draw
(
0
,
1
,
REASON_RULE
)
end
end
-- 传说卡
-- 传说卡
RushDuel
.
InitLegend
()
RushDuel
.
InitLegend
()
e
:
Reset
()
e
:
Reset
()
end
)
end
)
end
end
-- 初始化规则
-- 初始化规则
function
RushDuel
.
InitRule
()
function
RushDuel
.
InitRule
()
-- 禁用最左与最右列
-- 禁用最左与最右列
RushDuel
.
CreateFieldGlobalEffect
(
false
,
EFFECT_DISABLE_FIELD
,
function
(
e
,
tp
)
RushDuel
.
CreateFieldGlobalEffect
(
false
,
EFFECT_DISABLE_FIELD
,
function
(
e
,
tp
)
return
0x11711171
return
0x11711171
end
)
end
)
-- 抽卡阶段, 抽卡至5张, 超过5张时改为抽1张
-- 抽卡阶段, 抽卡至5张, 超过5张时改为抽1张
RushDuel
.
CreatePlayerTargetGlobalEffect
(
EFFECT_DRAW_COUNT
,
function
(
e
)
RushDuel
.
CreatePlayerTargetGlobalEffect
(
EFFECT_DRAW_COUNT
,
function
(
e
)
return
math.max
(
1
,
5
-
Duel
.
GetFieldGroupCount
(
Duel
.
GetTurnPlayer
(),
LOCATION_HAND
,
0
))
return
math.max
(
1
,
5
-
Duel
.
GetFieldGroupCount
(
Duel
.
GetTurnPlayer
(),
LOCATION_HAND
,
0
))
end
)
end
)
-- 跳过准备阶段
-- 跳过准备阶段
RushDuel
.
CreatePlayerTargetGlobalEffect
(
EFFECT_SKIP_SP
)
RushDuel
.
CreatePlayerTargetGlobalEffect
(
EFFECT_SKIP_SP
)
-- 召唤次数无限制
-- 召唤次数无限制
RushDuel
.
CreatePlayerTargetGlobalEffect
(
EFFECT_SET_SUMMON_COUNT_LIMIT
,
100
)
RushDuel
.
CreatePlayerTargetGlobalEffect
(
EFFECT_SET_SUMMON_COUNT_LIMIT
,
100
)
-- 场上的怪兽的效果强制1回合1次
-- 场上的怪兽的效果强制1回合1次
local
function
get_effect_owner_code
(
e
)
local
function
get_effect_owner_code
(
e
)
if
e
:
GetType
()
&
EFFECT_TYPE_XMATERIAL
==
EFFECT_TYPE_XMATERIAL
then
if
e
:
GetType
()
&
EFFECT_TYPE_XMATERIAL
==
EFFECT_TYPE_XMATERIAL
then
-- 极大怪兽的L/R部分的效果分开计算
-- 极大怪兽的L/R部分的效果分开计算
return
e
:
GetLabel
()
return
e
:
GetLabel
()
else
else
return
e
:
GetOwner
():
GetOriginalCode
()
return
e
:
GetOwner
():
GetOriginalCode
()
end
end
end
end
RushDuel
.
CreatePlayerTargetGlobalEffect
(
EFFECT_CANNOT_ACTIVATE
,
function
(
e
,
re
,
tp
)
RushDuel
.
CreatePlayerTargetGlobalEffect
(
EFFECT_CANNOT_ACTIVATE
,
function
(
e
,
re
,
tp
)
return
re
:
GetHandler
():
GetFlagEffect
(
get_effect_owner_code
(
re
))
~=
0
return
re
:
GetHandler
():
GetFlagEffect
(
get_effect_owner_code
(
re
))
~=
0
end
)
end
)
RushDuel
.
CreateFieldGlobalEffect
(
true
,
EVENT_CHAIN_SOLVING
,
function
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
RushDuel
.
CreateFieldGlobalEffect
(
true
,
EVENT_CHAIN_SOLVING
,
function
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
te
=
Duel
.
GetChainInfo
(
ev
,
CHAININFO_TRIGGERING_EFFECT
)
local
te
=
Duel
.
GetChainInfo
(
ev
,
CHAININFO_TRIGGERING_EFFECT
)
local
code
=
get_effect_owner_code
(
te
)
local
code
=
get_effect_owner_code
(
te
)
te
:
GetHandler
():
RegisterFlagEffect
(
code
,
RESET_EVENT
+
RESETS_STANDARD
+
RESET_PHASE
+
PHASE_END
,
0
,
1
)
te
:
GetHandler
():
RegisterFlagEffect
(
code
,
RESET_EVENT
+
RESETS_STANDARD
+
RESET_PHASE
+
PHASE_END
,
0
,
1
)
end
)
end
)
-- 同一时点只能发动一张陷阱卡
-- 同一时点只能发动一张陷阱卡
local
function
is_trap
(
e
)
local
function
is_trap
(
e
)
return
e
:
IsHasType
(
EFFECT_TYPE_ACTIVATE
)
and
e
:
IsActiveType
(
TYPE_TRAP
)
return
e
:
IsHasType
(
EFFECT_TYPE_ACTIVATE
)
and
e
:
IsActiveType
(
TYPE_TRAP
)
end
end
local
function
tarp_limit
(
e
,
rp
,
tp
)
local
function
tarp_limit
(
e
,
rp
,
tp
)
return
not
is_trap
(
e
)
return
not
is_trap
(
e
)
end
end
RushDuel
.
CreateFieldGlobalEffect
(
true
,
EVENT_CHAINING
,
function
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
RushDuel
.
CreateFieldGlobalEffect
(
true
,
EVENT_CHAINING
,
function
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
if
is_trap
(
re
)
then
if
is_trap
(
re
)
then
Duel
.
SetChainLimit
(
tarp_limit
)
Duel
.
SetChainLimit
(
tarp_limit
)
end
end
end
)
end
)
-- 跳过主要阶段2
-- 跳过主要阶段2
RushDuel
.
CreatePlayerTargetGlobalEffect
(
EFFECT_SKIP_M2
)
RushDuel
.
CreatePlayerTargetGlobalEffect
(
EFFECT_SKIP_M2
)
-- 手卡无限制
-- 手卡无限制
RushDuel
.
CreatePlayerTargetGlobalEffect
(
EFFECT_HAND_LIMIT
,
100
)
RushDuel
.
CreatePlayerTargetGlobalEffect
(
EFFECT_HAND_LIMIT
,
100
)
-- 极大怪兽
-- 极大怪兽
RushDuel
.
InitMaximum
()
RushDuel
.
InitMaximum
()
end
-- 调整: 召唤·特殊召唤的回合被盖放, 不再符合召唤·特殊召唤的回合的条件
local
function
is_turn_set
(
c
)
return
c
:
IsPreviousPosition
(
POS_FACEUP
)
and
c
:
IsFacedown
()
end
RushDuel
.
CreateFieldGlobalEffect
(
true
,
EVENT_CHANGE_POS
,
function
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
g
=
eg
:
Filter
()
g
:
ForEach
(
function
(
tc
)
tc
:
RegisterFlagEffect
(
FLAG_NOT_SUMMON_TURN
,
RESET_EVENT
+
RESETS_STANDARD
-
RESET_TURN_SET
,
0
,
1
)
end
)
end
)
end
script/c120246074.lua
View file @
3a347bdd
...
@@ -14,7 +14,7 @@ function cm.initial_effect(c)
...
@@ -14,7 +14,7 @@ function cm.initial_effect(c)
end
end
--Destroy
--Destroy
function
cm
.
costfilter
(
c
)
function
cm
.
costfilter
(
c
)
return
c
:
IsFaceup
()
and
c
:
IsRace
(
RACE_BEASTWARRIOR
)
and
c
:
IsAbleToGraveAsCost
()
return
c
:
IsFaceup
()
and
c
:
IsRace
(
RACE_BEASTWARRIOR
)
and
c
:
GetBaseAttack
()
>
0
and
c
:
IsAbleToGraveAsCost
()
end
end
function
cm
.
posfilter
(
c
)
function
cm
.
posfilter
(
c
)
return
RD
.
IsCanChangePosition
(
c
)
return
RD
.
IsCanChangePosition
(
c
)
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment