Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Sign in / Register
Toggle navigation
S
specials
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Locked Files
Issues
0
Issues
0
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
JoyJ
specials
Commits
51bd442c
Commit
51bd442c
authored
Mar 10, 2022
by
JoyJ
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
update srv5555 scripts
parent
97f7935f
Changes
4
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
275 additions
and
0 deletions
+275
-0
dc-srv5555/S2/special-14.7-OnePunchMan.lua
dc-srv5555/S2/special-14.7-OnePunchMan.lua
+88
-0
dc-srv5555/S2/special-14.8-Altergeist.lua
dc-srv5555/S2/special-14.8-Altergeist.lua
+89
-0
dc-srv5555/S2/special-14.9-CrackDefender.lua
dc-srv5555/S2/special-14.9-CrackDefender.lua
+22
-0
dc-srv5555/S2/special-14.A-GreatDebut.lua
dc-srv5555/S2/special-14.A-GreatDebut.lua
+76
-0
No files found.
dc-srv5555/S2/special-14.7-OnePunchMan.lua
0 → 100644
View file @
51bd442c
--村规决斗:一拳超人
--开局时,双方从卡组外将1张【神拳粉碎】(97570038)表侧表示从游戏中除外。
--这张【神拳粉碎】得到以下效果。
--①这个效果每名玩家在决斗中只能使用1次。这张卡被除外的状态下,自己主要阶段1开始时才能发动。这个效果不会被无效化。
--双方猜拳直到有一方败北。败北的玩家必须把自己场上·手卡·墓地的卡全部里侧表示除外。那之后,回合结束。
--细则:
--由于是带有不确定性的效果,因此王谷在场等情况下仍然可以发动并正常处理。
--由于是对玩家效果所以无视抗性。
CUNGUI
=
{}
function
Auxiliary
.
PreloadUds
()
--adjust
local
e1
=
Effect
.
GlobalEffect
()
e1
:
SetType
(
EFFECT_TYPE_FIELD
+
EFFECT_TYPE_CONTINUOUS
)
e1
:
SetProperty
(
EFFECT_FLAG_IGNORE_IMMUNE
)
e1
:
SetCode
(
EVENT_ADJUST
)
e1
:
SetOperation
(
CUNGUI
.
AdjustOperation
)
Duel
.
RegisterEffect
(
e1
,
0
)
end
function
CUNGUI
.
AdjustOperation
()
if
not
CUNGUI
.
INIT
then
CUNGUI
.
INIT
=
true
CUNGUI
.
RegisterCardRule
(
0
)
CUNGUI
.
RegisterCardRule
(
1
)
end
if
CUNGUI
.
RuleCard
[
0
]
and
(
not
CUNGUI
.
RuleCard
[
0
]:
IsLocation
(
LOCATION_REMOVED
)
or
not
CUNGUI
.
RuleCard
[
0
]:
IsFaceup
())
then
Duel
.
Remove
(
CUNGUI
.
RuleCard
[
0
],
POS_FACEUP
,
REASON_RULE
)
end
if
CUNGUI
.
RuleCard
[
1
]
and
not
CUNGUI
.
RuleCard
[
1
]:
IsLocation
(
LOCATION_REMOVED
)
then
Duel
.
Remove
(
CUNGUI
.
RuleCard
[
1
],
POS_FACEUP
,
REASON_RULE
)
end
if
CUNGUI
.
RuleCard
[
0
]
and
not
CUNGUI
.
RuleCard
[
0
]:
IsFaceup
()
then
Duel
.
ChangePosition
(
CUNGUI
.
RuleCard
[
0
],
POS_FACEUP
)
end
if
CUNGUI
.
RuleCard
[
1
]
and
not
CUNGUI
.
RuleCard
[
1
]:
IsFaceup
()
then
Duel
.
ChangePosition
(
CUNGUI
.
RuleCard
[
1
],
POS_FACEUP
)
end
end
CUNGUI
.
RuleCard
=
{}
CUNGUI
.
ForbiddenEffects
=
{}
CUNGUI
.
ForbiddenEffects
[
0
]
=
{}
CUNGUI
.
ForbiddenEffects
[
1
]
=
{}
function
CUNGUI
.
RegisterCardRule
(
tp
)
local
c
=
Duel
.
CreateToken
(
tp
,
97570038
)
Duel
.
Remove
(
c
,
POS_FACEUP
,
REASON_RULE
)
CUNGUI
.
RuleCard
[
tp
]
=
c
--forbid
local
e1
=
Effect
.
CreateEffect
(
c
)
e1
:
SetType
(
EFFECT_TYPE_IGNITION
)
e1
:
SetCountLimit
(
1
,
EFFECT_COUNT_CODE_DUEL
)
e1
:
SetProperty
(
EFFECT_FLAG_CANNOT_INACTIVATE
+
EFFECT_FLAG_CANNOT_NEGATE
+
EFFECT_FLAG_CANNOT_DISABLE
)
e1
:
SetRange
(
LOCATION_REMOVED
)
e1
:
SetCondition
(
CUNGUI
.
rulecond
)
e1
:
SetOperation
(
CUNGUI
.
ruleop
)
c
:
RegisterEffect
(
e1
)
end
function
CUNGUI
.
rulecond
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
return
Duel
.
GetCurrentPhase
()
==
PHASE_MAIN1
and
not
Duel
.
CheckPhaseActivity
()
end
function
CUNGUI
.
ruleop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
p
=
1
-
Duel
.
RockPaperScissors
()
local
g
=
Duel
.
GetFieldGroup
(
p
,
LOCATION_HAND
+
LOCATION_ONFIELD
+
LOCATION_GRAVE
)
Duel
.
Remove
(
g
,
POS_FACEDOWN
,
REASON_RULE
)
Duel
.
SkipPhase
(
tp
,
PHASE_MAIN1
,
RESET_PHASE
+
PHASE_END
,
1
)
local
e1
=
Effect
.
CreateEffect
(
e
:
GetHandler
())
e1
:
SetType
(
EFFECT_TYPE_FIELD
)
e1
:
SetProperty
(
EFFECT_FLAG_PLAYER_TARGET
)
e1
:
SetTargetRange
(
1
,
0
)
e1
:
SetCode
(
EFFECT_CANNOT_BP
)
e1
:
SetReset
(
RESET_PHASE
+
PHASE_END
)
Duel
.
RegisterEffect
(
e1
,
tp
)
end
dc-srv5555/S2/special-14.8-Altergeist.lua
0 → 100644
View file @
51bd442c
--村规决斗:怨灵缠身
--所有卡得到以下效果:
--这张卡在墓地的场合,从墓地把任意张卡除外才能发动。场上1只和那个数量相同等级的表侧表示的怪兽破坏。
--这个效果在对方回合也能发动。
--后攻多抽1张。
CUNGUI
=
{}
function
Auxiliary
.
PreloadUds
()
--adjust
local
e1
=
Effect
.
GlobalEffect
()
e1
:
SetType
(
EFFECT_TYPE_FIELD
+
EFFECT_TYPE_CONTINUOUS
)
e1
:
SetProperty
(
EFFECT_FLAG_IGNORE_IMMUNE
)
e1
:
SetCode
(
EVENT_ADJUST
)
e1
:
SetCountLimit
(
1
)
e1
:
SetOperation
(
CUNGUI
.
AdjustOperation
)
Duel
.
RegisterEffect
(
e1
,
0
)
end
CUNGUI
.
RegisteredMonsters
=
Group
.
CreateGroup
()
function
CUNGUI
.
AdjustOperation
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
g
=
Duel
.
GetMatchingGroup
(
nil
,
0
,
0x7f
,
0x7f
,
nil
)
g
:
ForEach
(
CUNGUI
.
RegisterMonsterSpecialEffects
)
if
not
CUNGUI
.
Init
then
CUNGUI
.
Init
=
true
Duel
.
Draw
(
1
,
1
,
REASON_RULE
)
end
end
function
CUNGUI
.
RegisterMonsterSpecialEffects
(
c
)
if
CUNGUI
.
RegisteredMonsters
:
IsContains
(
c
)
then
return
end
CUNGUI
.
RegisteredMonsters
:
AddCard
(
c
)
--instant(chain)
local
e2
=
Effect
.
CreateEffect
(
c
)
e2
:
SetDescription
(
aux
.
Stringid
(
6733059
,
1
))
e2
:
SetCategory
(
CATEGORY_DESTROY
)
e2
:
SetType
(
EFFECT_TYPE_QUICK_O
)
e2
:
SetRange
(
LOCATION_GRAVE
)
e2
:
SetCode
(
EVENT_FREE_CHAIN
)
e2
:
SetHintTiming
(
0
,
TIMINGS_CHECK_MONSTER
)
e2
:
SetCost
(
CUNGUI
.
cost
)
e2
:
SetOperation
(
CUNGUI
.
operation
)
c
:
RegisterEffect
(
e2
)
end
function
CUNGUI
.
cfilter
(
c
)
return
c
:
IsAbleToRemoveAsCost
()
end
function
CUNGUI
.
tfilter
(
c
,
lv
)
return
c
:
IsFaceup
()
and
c
:
IsLevelBelow
(
lv
)
end
function
CUNGUI
.
cost
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
if
chk
==
0
then
local
cg
=
Duel
.
GetMatchingGroup
(
CUNGUI
.
cfilter
,
tp
,
LOCATION_GRAVE
,
0
,
nil
)
local
tg
=
Duel
.
GetMatchingGroup
(
CUNGUI
.
tfilter
,
tp
,
LOCATION_MZONE
,
LOCATION_MZONE
,
nil
,
cg
:
GetCount
())
return
tg
:
GetCount
()
>
0
end
e
:
SetLabel
(
0
)
local
cg
=
Duel
.
GetMatchingGroup
(
CUNGUI
.
cfilter
,
tp
,
LOCATION_GRAVE
,
0
,
nil
)
local
tg
=
Duel
.
GetMatchingGroup
(
CUNGUI
.
tfilter
,
tp
,
LOCATION_MZONE
,
LOCATION_MZONE
,
nil
,
cg
:
GetCount
())
local
lvt
=
{}
local
tc
=
tg
:
GetFirst
()
while
tc
do
local
tlv
=
tc
:
GetLevel
()
lvt
[
tlv
]
=
tlv
tc
=
tg
:
GetNext
()
end
local
pc
=
1
for
i
=
1
,
12
do
if
lvt
[
i
]
then
lvt
[
i
]
=
nil
lvt
[
pc
]
=
i
pc
=
pc
+
1
end
end
lvt
[
pc
]
=
nil
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
aux
.
Stringid
(
6733059
,
2
))
local
lv
=
Duel
.
AnnounceNumber
(
tp
,
table.unpack
(
lvt
))
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_REMOVE
)
local
rg
=
cg
:
Select
(
tp
,
lv
,
lv
,
nil
)
Duel
.
Remove
(
rg
,
POS_FACEUP
,
REASON_COST
)
Duel
.
SetOperationInfo
(
0
,
CATEGORY_DESTROY
,
tg
,
1
,
0
,
0
)
Duel
.
SetTargetParam
(
lv
)
end
function
CUNGUI
.
dfilter
(
c
,
lv
)
return
c
:
IsFaceup
()
and
c
:
IsLevel
(
lv
)
end
function
CUNGUI
.
operation
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
local
lv
=
Duel
.
GetChainInfo
(
0
,
CHAININFO_TARGET_PARAM
)
if
lv
==
0
then
return
end
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_DESTROY
)
local
g
=
Duel
.
SelectMatchingCard
(
tp
,
CUNGUI
.
dfilter
,
tp
,
LOCATION_MZONE
,
LOCATION_MZONE
,
1
,
1
,
nil
,
lv
)
Duel
.
Destroy
(
g
,
REASON_EFFECT
)
end
dc-srv5555/S2/special-14.9-CrackDefender.lua
0 → 100644
View file @
51bd442c
--村规决斗:盗版卫士
--所有卡都具有全字段。
--所有卡都视为全种类卡(怪兽+魔法+陷阱+仪式+同调……),也视为任何一张特定卡。
--细则:
--并不意味着有特定卡的效果,也不意味着场上受到了那张卡的影响。
--因此例如【场上有“海”才能发动】的效果,即使有卡也仍然是不能发动的。
--另外,在绝大多数情况下,如果在怪兽区域就仍然只能视为怪兽,
--在魔法陷阱区域就仍然只能视为魔法陷阱。
--所以类似【自己场上有连接怪兽2只以上存在的场合才能发动】的效果,
--只会检查前场有没有2只(不管是不是连接怪兽的)怪兽,
--类似旋风的效果也只能破坏后场的卡。
--在极少数情况下可能有部分效果脱离这个限制?目前没有发现。
CUNGUI
=
{}
Card
.
IsSetCard
=
function
(
c
,
setname
)
return
true
end
Card
.
IsType
=
function
(
c
,
typ
)
return
true
end
Card
.
IsCode
=
function
(
c
,
...
)
return
true
end
function
Auxiliary
.
PreloadUds
()
end
dc-srv5555/S2/special-14.A-GreatDebut.lua
0 → 100644
View file @
51bd442c
--村规决斗:巅峰出道
--所有其他诱发效果的触发时点都变为【有怪兽(包括自己)召唤·反转召唤·特殊召唤成功时】。
--如果原本就是这三个时点触发的效果,则没有变化。
--会直接导致一部分对触发时点有所依赖的效果无法发动或处理。
local
OrigRegister
=
Card
.
RegisterEffect
CUNGUI
=
{}
CUNGUI
.
Registered
=
{}
Card
.
RegisterEffect
=
function
(
c
,
e
,
b
)
local
typ
=
e
:
GetType
()
if
not
CUNGUI
.
Registered
[
e
]
and
(
typ
&
(
EFFECT_TYPE_TRIGGER_O
+
EFFECT_TYPE_TRIGGER_F
))
>
0
and
e
:
GetOperation
()
~=
nil
then
local
code
=
e
:
GetCode
()
if
code
and
code
~=
EVENT_SUMMON_SUCCESS
and
code
~=
EVENT_SPSUMMON_SUCCESS
and
code
~=
EVENT_FLIP_SUMMON_SUCCESS
then
CUNGUI
.
Registered
[
e
]
=
true
e
:
SetCondition
(
aux
.
TRUE
)
e
:
SetCode
(
EVENT_SUMMON_SUCCESS
)
e
:
SetRange
(
LOCATION_ONFIELD
)
local
prop
=
e
:
GetProperty
()
or
0
prop
=
prop
|
EFFECT_FLAG_DELAY
e
:
SetProperty
(
prop
)
if
(
typ
|
EFFECT_TYPE_SINGLE
)
>
0
then
typ
=
typ
-
EFFECT_TYPE_SINGLE
typ
=
typ
|
EFFECT_TYPE_FIELD
end
if
(
typ
|
EFFECT_TYPE_ACTIONS
)
>
0
then
typ
=
typ
-
EFFECT_TYPE_ACTIONS
end
e
:
SetType
(
typ
)
local
xe
=
e
:
Clone
()
xe
:
SetCode
(
EVENT_SPSUMMON_SUCCESS
)
OrigRegister
(
c
,
xe
)
local
xe2
=
e
:
Clone
()
xe2
:
SetCode
(
EVENT_FLIP_SUMMON_SUCCESS
)
OrigRegister
(
c
,
xe2
)
local
xe3
=
e
:
Clone
()
typ
=
xe3
:
GetType
()
if
(
typ
&
EFFECT_TYPE_FIELD
)
>
0
then
if
(
typ
|
EFFECT_TYPE_ACTIONS
)
>
0
then
typ
=
typ
-
EFFECT_TYPE_ACTIONS
end
typ
=
typ
-
EFFECT_TYPE_FIELD
typ
=
typ
|
EFFECT_TYPE_SINGLE
end
xe3
:
SetType
(
typ
)
OrigRegister
(
c
,
xe3
)
local
xe4
=
xe2
:
Clone
()
typ
=
xe4
:
GetType
()
if
(
typ
&
EFFECT_TYPE_FIELD
)
>
0
then
if
(
typ
|
EFFECT_TYPE_ACTIONS
)
>
0
then
typ
=
typ
-
EFFECT_TYPE_ACTIONS
end
typ
=
typ
-
EFFECT_TYPE_FIELD
typ
=
typ
|
EFFECT_TYPE_SINGLE
end
xe4
:
SetType
(
typ
)
OrigRegister
(
c
,
xe4
)
local
xe5
=
xe
:
Clone
()
typ
=
xe5
:
GetType
()
if
(
typ
&
EFFECT_TYPE_FIELD
)
>
0
then
if
(
typ
|
EFFECT_TYPE_ACTIONS
)
>
0
then
typ
=
typ
-
EFFECT_TYPE_ACTIONS
end
typ
=
typ
-
EFFECT_TYPE_FIELD
typ
=
typ
|
EFFECT_TYPE_SINGLE
end
xe5
:
SetType
(
typ
)
OrigRegister
(
c
,
xe5
)
end
end
return
OrigRegister
(
c
,
e
,
b
)
end
function
Auxiliary
.
PreloadUds
()
end
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