Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Sign in / Register
Toggle navigation
P
pre-release-database-cdb
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
Vury Leo
pre-release-database-cdb
Commits
fb9ebfe9
Commit
fb9ebfe9
authored
Mar 29, 2025
by
wind2009
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Fix 星辰
parent
5d7a84b9
Changes
2
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
204 additions
and
2 deletions
+204
-2
script/c100236006.lua
script/c100236006.lua
+102
-1
script/c100236007.lua
script/c100236007.lua
+102
-1
No files found.
script/c100236006.lua
View file @
fb9ebfe9
...
@@ -23,11 +23,12 @@ function s.initial_effect(c)
...
@@ -23,11 +23,12 @@ function s.initial_effect(c)
e2
:
SetLabelObject
(
e1
)
e2
:
SetLabelObject
(
e1
)
c
:
RegisterEffect
(
e2
)
c
:
RegisterEffect
(
e2
)
--special summon
--special summon
local
custom_code
=
s
.
RegisterMergedEvent_ToSingleCard
(
c
,
id
,
EVENT_TO_GRAVE
)
local
e3
=
Effect
.
CreateEffect
(
c
)
local
e3
=
Effect
.
CreateEffect
(
c
)
e3
:
SetDescription
(
aux
.
Stringid
(
id
,
1
))
e3
:
SetDescription
(
aux
.
Stringid
(
id
,
1
))
e3
:
SetCategory
(
CATEGORY_SPECIAL_SUMMON
)
e3
:
SetCategory
(
CATEGORY_SPECIAL_SUMMON
)
e3
:
SetType
(
EFFECT_TYPE_FIELD
+
EFFECT_TYPE_TRIGGER_O
)
e3
:
SetType
(
EFFECT_TYPE_FIELD
+
EFFECT_TYPE_TRIGGER_O
)
e3
:
SetCode
(
EVENT_TO_GRAVE
)
e3
:
SetCode
(
custom_code
)
e3
:
SetRange
(
LOCATION_GRAVE
)
e3
:
SetRange
(
LOCATION_GRAVE
)
e3
:
SetProperty
(
EFFECT_FLAG_DELAY
)
e3
:
SetProperty
(
EFFECT_FLAG_DELAY
)
e3
:
SetCountLimit
(
1
,
id
+
o
)
e3
:
SetCountLimit
(
1
,
id
+
o
)
...
@@ -36,6 +37,106 @@ function s.initial_effect(c)
...
@@ -36,6 +37,106 @@ function s.initial_effect(c)
e3
:
SetOperation
(
s
.
spop
)
e3
:
SetOperation
(
s
.
spop
)
c
:
RegisterEffect
(
e3
)
c
:
RegisterEffect
(
e3
)
end
end
function
s
.
RegisterMergedEvent_ToSingleCard
(
c
,
code
,
events
)
local
g
=
Group
.
CreateGroup
()
g
:
KeepAlive
()
local
mt
=
getmetatable
(
c
)
local
seed
=
0
if
type
(
events
)
==
"table"
then
for
_
,
event
in
ipairs
(
events
)
do
seed
=
seed
+
event
end
else
seed
=
events
end
while
(
mt
[
seed
]
==
true
)
do
seed
=
seed
+
1
end
mt
[
seed
]
=
true
local
event_code_single
=
(
code
~
(
seed
<<
16
))
|
EVENT_CUSTOM
if
type
(
events
)
==
"table"
then
for
_
,
event
in
ipairs
(
events
)
do
s
.
RegisterMergedEvent_ToSingleCard_AddOperation
(
c
,
g
,
event
,
event_code_single
)
end
else
s
.
RegisterMergedEvent_ToSingleCard_AddOperation
(
c
,
g
,
events
,
event_code_single
)
end
--listened to again
local
e3
=
Effect
.
CreateEffect
(
c
)
e3
:
SetType
(
EFFECT_TYPE_SINGLE
+
EFFECT_TYPE_CONTINUOUS
)
e3
:
SetProperty
(
EFFECT_FLAG_CANNOT_DISABLE
+
EFFECT_FLAG_SET_AVAILABLE
)
e3
:
SetCode
(
EVENT_MOVE
)
e3
:
SetLabelObject
(
g
)
e3
:
SetOperation
(
s
.
ThisCardMovedToPublicResetCheck_ToSingleCard
)
c
:
RegisterEffect
(
e3
)
return
event_code_single
end
function
s
.
RegisterMergedEvent_ToSingleCard_AddOperation
(
c
,
g
,
event
,
event_code_single
)
local
e1
=
Effect
.
CreateEffect
(
c
)
e1
:
SetType
(
EFFECT_TYPE_FIELD
+
EFFECT_TYPE_CONTINUOUS
)
e1
:
SetCode
(
event
)
e1
:
SetProperty
(
EFFECT_FLAG_CANNOT_DISABLE
+
EFFECT_FLAG_SET_AVAILABLE
)
e1
:
SetRange
(
0xff
)
e1
:
SetLabel
(
event_code_single
)
e1
:
SetLabelObject
(
g
)
e1
:
SetOperation
(
s
.
MergedDelayEventCheck1_ToSingleCard
)
c
:
RegisterEffect
(
e1
)
local
ec
=
{
EVENT_CHAIN_ACTIVATING
,
EVENT_BREAK_EFFECT
,
EVENT_CHAIN_SOLVING
,
EVENT_CHAIN_SOLVED
,
EVENT_CHAIN_END
,
EVENT_SUMMON
,
EVENT_SPSUMMON
}
for
_
,
code
in
ipairs
(
ec
)
do
local
ce
=
e1
:
Clone
()
ce
:
SetCode
(
code
)
ce
:
SetOperation
(
s
.
MergedDelayEventCheck2_ToSingleCard
)
c
:
RegisterEffect
(
ce
)
end
end
function
s
.
MergedDelayEventCheck1_ToSingleCard
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
g
=
e
:
GetLabelObject
()
local
c
=
e
:
GetOwner
()
g
:
Merge
(
eg
)
if
Duel
.
CheckEvent
(
EVENT_MOVE
)
then
local
_
,
meg
=
Duel
.
CheckEvent
(
EVENT_MOVE
,
true
)
if
meg
:
IsContains
(
c
)
and
(
c
:
IsFaceup
()
or
c
:
IsPublic
())
then
g
:
Clear
()
end
end
if
Duel
.
GetCurrentChain
()
==
0
and
#
g
>
0
and
g
:
IsExists
(
Card
.
IsReason
,
1
,
nil
,
REASON_ADJUST
)
then
local
_eg
=
g
:
Clone
()
Duel
.
RaiseEvent
(
_eg
,
e
:
GetLabel
(),
re
,
r
,
rp
,
ep
,
ev
)
g
:
Clear
()
end
end
function
s
.
MergedDelayEventCheck2_ToSingleCard
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
g
=
e
:
GetLabelObject
()
if
Duel
.
CheckEvent
(
EVENT_MOVE
)
then
local
_
,
meg
=
Duel
.
CheckEvent
(
EVENT_MOVE
,
true
)
local
c
=
e
:
GetOwner
()
if
meg
:
IsContains
(
c
)
and
(
c
:
IsFaceup
()
or
c
:
IsPublic
())
then
g
:
Clear
()
end
end
if
#
g
>
0
then
local
_eg
=
g
:
Clone
()
Duel
.
RaiseEvent
(
_eg
,
e
:
GetLabel
(),
re
,
r
,
rp
,
ep
,
ev
)
g
:
Clear
()
end
end
function
s
.
ThisCardMovedToPublicResetCheck_ToSingleCard
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
c
=
e
:
GetOwner
()
local
g
=
e
:
GetLabelObject
()
if
c
:
IsFaceup
()
or
c
:
IsPublic
()
then
g
:
Clear
()
end
end
function
s
.
valcheck
(
e
,
c
)
function
s
.
valcheck
(
e
,
c
)
local
mg
=
c
:
GetMaterial
()
local
mg
=
c
:
GetMaterial
()
local
mg1
=
mg
:
Filter
(
Card
.
IsLocation
,
nil
,
LOCATION_HAND
)
local
mg1
=
mg
:
Filter
(
Card
.
IsLocation
,
nil
,
LOCATION_HAND
)
...
...
script/c100236007.lua
View file @
fb9ebfe9
...
@@ -18,11 +18,12 @@ function s.initial_effect(c)
...
@@ -18,11 +18,12 @@ function s.initial_effect(c)
e1
:
SetOperation
(
s
.
desop
)
e1
:
SetOperation
(
s
.
desop
)
c
:
RegisterEffect
(
e1
)
c
:
RegisterEffect
(
e1
)
--special summon
--special summon
local
custom_code
=
s
.
RegisterMergedEvent_ToSingleCard
(
c
,
id
,
EVENT_TO_GRAVE
)
local
e2
=
Effect
.
CreateEffect
(
c
)
local
e2
=
Effect
.
CreateEffect
(
c
)
e2
:
SetDescription
(
aux
.
Stringid
(
id
,
1
))
e2
:
SetDescription
(
aux
.
Stringid
(
id
,
1
))
e2
:
SetCategory
(
CATEGORY_SPECIAL_SUMMON
)
e2
:
SetCategory
(
CATEGORY_SPECIAL_SUMMON
)
e2
:
SetType
(
EFFECT_TYPE_FIELD
+
EFFECT_TYPE_TRIGGER_O
)
e2
:
SetType
(
EFFECT_TYPE_FIELD
+
EFFECT_TYPE_TRIGGER_O
)
e2
:
SetCode
(
EVENT_TO_GRAVE
)
e2
:
SetCode
(
custom_code
)
e2
:
SetRange
(
LOCATION_GRAVE
)
e2
:
SetRange
(
LOCATION_GRAVE
)
e2
:
SetProperty
(
EFFECT_FLAG_DELAY
)
e2
:
SetProperty
(
EFFECT_FLAG_DELAY
)
e2
:
SetCountLimit
(
1
,
id
+
o
)
e2
:
SetCountLimit
(
1
,
id
+
o
)
...
@@ -31,6 +32,106 @@ function s.initial_effect(c)
...
@@ -31,6 +32,106 @@ function s.initial_effect(c)
e2
:
SetOperation
(
s
.
spop
)
e2
:
SetOperation
(
s
.
spop
)
c
:
RegisterEffect
(
e2
)
c
:
RegisterEffect
(
e2
)
end
end
function
s
.
RegisterMergedEvent_ToSingleCard
(
c
,
code
,
events
)
local
g
=
Group
.
CreateGroup
()
g
:
KeepAlive
()
local
mt
=
getmetatable
(
c
)
local
seed
=
0
if
type
(
events
)
==
"table"
then
for
_
,
event
in
ipairs
(
events
)
do
seed
=
seed
+
event
end
else
seed
=
events
end
while
(
mt
[
seed
]
==
true
)
do
seed
=
seed
+
1
end
mt
[
seed
]
=
true
local
event_code_single
=
(
code
~
(
seed
<<
16
))
|
EVENT_CUSTOM
if
type
(
events
)
==
"table"
then
for
_
,
event
in
ipairs
(
events
)
do
s
.
RegisterMergedEvent_ToSingleCard_AddOperation
(
c
,
g
,
event
,
event_code_single
)
end
else
s
.
RegisterMergedEvent_ToSingleCard_AddOperation
(
c
,
g
,
events
,
event_code_single
)
end
--listened to again
local
e3
=
Effect
.
CreateEffect
(
c
)
e3
:
SetType
(
EFFECT_TYPE_SINGLE
+
EFFECT_TYPE_CONTINUOUS
)
e3
:
SetProperty
(
EFFECT_FLAG_CANNOT_DISABLE
+
EFFECT_FLAG_SET_AVAILABLE
)
e3
:
SetCode
(
EVENT_MOVE
)
e3
:
SetLabelObject
(
g
)
e3
:
SetOperation
(
s
.
ThisCardMovedToPublicResetCheck_ToSingleCard
)
c
:
RegisterEffect
(
e3
)
return
event_code_single
end
function
s
.
RegisterMergedEvent_ToSingleCard_AddOperation
(
c
,
g
,
event
,
event_code_single
)
local
e1
=
Effect
.
CreateEffect
(
c
)
e1
:
SetType
(
EFFECT_TYPE_FIELD
+
EFFECT_TYPE_CONTINUOUS
)
e1
:
SetCode
(
event
)
e1
:
SetProperty
(
EFFECT_FLAG_CANNOT_DISABLE
+
EFFECT_FLAG_SET_AVAILABLE
)
e1
:
SetRange
(
0xff
)
e1
:
SetLabel
(
event_code_single
)
e1
:
SetLabelObject
(
g
)
e1
:
SetOperation
(
s
.
MergedDelayEventCheck1_ToSingleCard
)
c
:
RegisterEffect
(
e1
)
local
ec
=
{
EVENT_CHAIN_ACTIVATING
,
EVENT_BREAK_EFFECT
,
EVENT_CHAIN_SOLVING
,
EVENT_CHAIN_SOLVED
,
EVENT_CHAIN_END
,
EVENT_SUMMON
,
EVENT_SPSUMMON
}
for
_
,
code
in
ipairs
(
ec
)
do
local
ce
=
e1
:
Clone
()
ce
:
SetCode
(
code
)
ce
:
SetOperation
(
s
.
MergedDelayEventCheck2_ToSingleCard
)
c
:
RegisterEffect
(
ce
)
end
end
function
s
.
MergedDelayEventCheck1_ToSingleCard
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
g
=
e
:
GetLabelObject
()
local
c
=
e
:
GetOwner
()
g
:
Merge
(
eg
)
if
Duel
.
CheckEvent
(
EVENT_MOVE
)
then
local
_
,
meg
=
Duel
.
CheckEvent
(
EVENT_MOVE
,
true
)
if
meg
:
IsContains
(
c
)
and
(
c
:
IsFaceup
()
or
c
:
IsPublic
())
then
g
:
Clear
()
end
end
if
Duel
.
GetCurrentChain
()
==
0
and
#
g
>
0
and
g
:
IsExists
(
Card
.
IsReason
,
1
,
nil
,
REASON_ADJUST
)
then
local
_eg
=
g
:
Clone
()
Duel
.
RaiseEvent
(
_eg
,
e
:
GetLabel
(),
re
,
r
,
rp
,
ep
,
ev
)
g
:
Clear
()
end
end
function
s
.
MergedDelayEventCheck2_ToSingleCard
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
g
=
e
:
GetLabelObject
()
if
Duel
.
CheckEvent
(
EVENT_MOVE
)
then
local
_
,
meg
=
Duel
.
CheckEvent
(
EVENT_MOVE
,
true
)
local
c
=
e
:
GetOwner
()
if
meg
:
IsContains
(
c
)
and
(
c
:
IsFaceup
()
or
c
:
IsPublic
())
then
g
:
Clear
()
end
end
if
#
g
>
0
then
local
_eg
=
g
:
Clone
()
Duel
.
RaiseEvent
(
_eg
,
e
:
GetLabel
(),
re
,
r
,
rp
,
ep
,
ev
)
g
:
Clear
()
end
end
function
s
.
ThisCardMovedToPublicResetCheck_ToSingleCard
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
c
=
e
:
GetOwner
()
local
g
=
e
:
GetLabelObject
()
if
c
:
IsFaceup
()
or
c
:
IsPublic
()
then
g
:
Clear
()
end
end
function
s
.
descon
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
function
s
.
descon
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
return
re
:
GetHandler
():
IsSetCard
(
0x2c7
)
and
rp
==
tp
return
re
:
GetHandler
():
IsSetCard
(
0x2c7
)
and
rp
==
tp
end
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