Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Sign in / Register
Toggle navigation
no81cards
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
Nemo Ma
no81cards
Commits
e8a98a72
Commit
e8a98a72
authored
Dec 31, 2023
by
Nemo Ma
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
231231 wild
parent
be54eddc
Changes
3
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
261 additions
and
0 deletions
+261
-0
expansions/no42.cdb
expansions/no42.cdb
+0
-0
expansions/pics/60967917.jpg
expansions/pics/60967917.jpg
+0
-0
expansions/script/c60967917.lua
expansions/script/c60967917.lua
+261
-0
No files found.
expansions/no42.cdb
View file @
e8a98a72
No preview for this file type
expansions/pics/60967917.jpg
0 → 100644
View file @
e8a98a72
150 KB
expansions/script/c60967917.lua
0 → 100644
View file @
e8a98a72
--朋克世纪末主题演奏
local
s
,
id
,
o
=
GetID
()
function
s
.
initial_effect
(
c
)
--
if
c
:
GetOriginalCode
()
==
id
then
--c:SetUniqueOnField(1,0,id)
--activate from hand
local
e0
=
Effect
.
CreateEffect
(
c
)
e0
:
SetType
(
EFFECT_TYPE_SINGLE
)
e0
:
SetCode
(
EFFECT_TRAP_ACT_IN_HAND
)
c
:
RegisterEffect
(
e0
)
--adjust
local
e01
=
Effect
.
CreateEffect
(
c
)
e01
:
SetType
(
EFFECT_TYPE_FIELD
+
EFFECT_TYPE_CONTINUOUS
)
e01
:
SetProperty
(
EFFECT_FLAG_IGNORE_IMMUNE
)
e01
:
SetCode
(
EVENT_ADJUST
)
e01
:
SetRange
(
0xff
)
e01
:
SetOperation
(
s
.
adjustop
)
c
:
RegisterEffect
(
e01
)
--change effect type
local
e02
=
Effect
.
CreateEffect
(
c
)
e02
:
SetType
(
EFFECT_TYPE_FIELD
)
e02
:
SetProperty
(
EFFECT_FLAG_PLAYER_TARGET
)
e02
:
SetCode
(
id
)
e02
:
SetRange
(
LOCATION_SZONE
)
e02
:
SetTargetRange
(
1
,
0
)
c
:
RegisterEffect
(
e02
)
--Activate
local
e1
=
Effect
.
CreateEffect
(
c
)
e1
:
SetType
(
EFFECT_TYPE_ACTIVATE
)
e1
:
SetCode
(
EVENT_FREE_CHAIN
)
e1
:
SetHintTiming
(
TIMING_DRAW_PHASE
,
TIMING_DRAW_PHASE
+
TIMING_END_PHASE
)
c
:
RegisterEffect
(
e1
)
local
e0
=
e1
:
Clone
()
e0
:
SetDescription
(
aux
.
Stringid
(
id
,
0
))
e0
:
SetRange
(
LOCATION_DECK
)
e0
:
SetCost
(
s
.
cost2
)
c
:
RegisterEffect
(
e0
)
local
e4
=
Effect
.
CreateEffect
(
c
)
e4
:
SetType
(
EFFECT_TYPE_FIELD
)
e4
:
SetCode
(
EFFECT_ACTIVATE_COST
)
e4
:
SetRange
(
LOCATION_DECK
)
e4
:
SetProperty
(
EFFECT_FLAG_PLAYER_TARGET
)
e4
:
SetTargetRange
(
1
,
0
)
e4
:
SetTarget
(
s
.
actarget2
)
e4
:
SetOperation
(
s
.
costop2
)
c
:
RegisterEffect
(
e4
)
--activate from hand
local
e2
=
Effect
.
CreateEffect
(
c
)
e2
:
SetType
(
EFFECT_TYPE_FIELD
)
e2
:
SetCode
(
EFFECT_QP_ACT_IN_NTPHAND
)
e2
:
SetRange
(
LOCATION_SZONE
)
e2
:
SetTarget
(
aux
.
TargetBoolFunction
(
Card
.
IsSetCard
,
0x171
))
e2
:
SetTargetRange
(
LOCATION_HAND
,
0
)
c
:
RegisterEffect
(
e2
)
local
e3
=
e2
:
Clone
()
e3
:
SetCode
(
EFFECT_TRAP_ACT_IN_HAND
)
c
:
RegisterEffect
(
e3
)
if
not
s
.
global_activate_check
then
s
.
global_activate_check
=
true
s
.
activate_sequence
=
{}
local
_GetActivateLocation
=
Effect
.
GetActivateLocation
local
_GetActivateSequence
=
Effect
.
GetActivateSequence
function
Effect
.
GetActivateLocation
(
e
)
if
e
:
GetDescription
()
==
aux
.
Stringid
(
id
,
0
)
then
return
LOCATION_SZONE
end
return
_GetActivateLocation
(
e
)
end
function
Effect
.
GetActivateSequence
(
e
)
if
e
:
GetDescription
()
==
aux
.
Stringid
(
id
,
0
)
then
return
s
.
activate_sequence
[
e
]
end
return
_GetActivateSequence
(
e
)
end
local
ge1
=
Effect
.
CreateEffect
(
c
)
ge1
:
SetType
(
EFFECT_TYPE_FIELD
+
EFFECT_TYPE_CONTINUOUS
)
ge1
:
SetCode
(
EVENT_CHAIN_SOLVED
)
ge1
:
SetOperation
(
s
.
checkop
)
Duel
.
RegisterEffect
(
ge1
,
0
)
end
end
end
function
s
.
checkop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
rc
=
re
:
GetHandler
()
if
re
:
GetValue
()
~=
id
+
1
then
return
end
if
rc
:
IsLocation
(
LOCATION_MZONE
)
and
rc
:
GetFlagEffect
(
id
)
==
0
then
rc
:
RegisterFlagEffect
(
id
,
RESET_EVENT
+
RESETS_STANDARD
+
RESET_PHASE
+
PHASE_END
,
0
,
1
)
end
end
function
s
.
filter
(
c
)
return
c
:
IsSetCard
(
0x171
)
and
not
c
:
IsCode
(
id
)
end
function
s
.
actarget
(
e
,
te
,
tp
)
--prevent activating
local
tc
=
te
:
GetHandler
()
return
((
te
:
GetValue
()
==
id
or
te
:
GetValue
()
==
id
+
2
)
and
(
not
Duel
.
IsPlayerAffectedByEffect
(
te
:
GetHandlerPlayer
(),
id
)
or
tc
:
GetFlagEffect
(
id
)
~=
0
))
--prevent normal activating beside S&T on field
or
(
te
:
GetValue
()
==
id
+
1
and
Duel
.
IsPlayerAffectedByEffect
(
te
:
GetHandlerPlayer
(),
id
)
and
not
(
te
:
IsHasType
(
EFFECT_TYPE_ACTIVATE
)
and
tc
:
IsLocation
(
LOCATION_SZONE
)))
--prevent quick activating on field
or
(
te
:
GetValue
()
==
id
+
2
and
te
:
IsHasType
(
EFFECT_TYPE_QUICK_O
)
and
tc
:
IsLocation
(
LOCATION_SZONE
))
end
function
s
.
adjustop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
--
if
not
s
.
globle_check
then
s
.
globle_check
=
true
local
ge0
=
Effect
.
CreateEffect
(
e
:
GetHandler
())
ge0
:
SetType
(
EFFECT_TYPE_FIELD
)
ge0
:
SetCode
(
EFFECT_ACTIVATE_COST
)
ge0
:
SetProperty
(
EFFECT_FLAG_PLAYER_TARGET
+
EFFECT_FLAG_CANNOT_DISABLE
)
ge0
:
SetCost
(
aux
.
FALSE
)
ge0
:
SetTargetRange
(
1
,
1
)
ge0
:
SetTarget
(
s
.
actarget
)
Duel
.
RegisterEffect
(
ge0
,
0
)
--Activate to field
local
ge1
=
Effect
.
CreateEffect
(
e
:
GetHandler
())
ge1
:
SetType
(
EFFECT_TYPE_FIELD
)
ge1
:
SetCode
(
EFFECT_ACTIVATE_COST
)
ge1
:
SetProperty
(
EFFECT_FLAG_PLAYER_TARGET
+
EFFECT_FLAG_CANNOT_DISABLE
)
ge1
:
SetTargetRange
(
1
,
0
)
ge1
:
SetTarget
(
s
.
actarget2
)
ge1
:
SetOperation
(
s
.
costop
)
Duel
.
RegisterEffect
(
ge1
,
0
)
local
ge2
=
ge1
:
Clone
()
Duel
.
RegisterEffect
(
ge2
,
1
)
local
g
=
Duel
.
GetMatchingGroup
(
s
.
filter
,
0
,
0xff
,
0xff
,
nil
)
cregister
=
Card
.
RegisterEffect
esetcountLimit
=
Effect
.
SetCountLimit
table_effect
=
{}
table_countlimit_flag
=
0
table_countlimit_count
=
0
Effect
.
SetCountLimit
=
function
(
effect
,
count
,
flag
)
table_countlimit_flag
=
flag
table_countlimit_count
=
count
return
esetcountLimit
(
effect
,
count
,
flag
)
end
Card
.
RegisterEffect
=
function
(
card
,
effect
,
flag
)
if
effect
then
local
eff
=
effect
:
Clone
()
if
(
table_countlimit_flag
~=
0
and
table_countlimit_count
==
1
)
or
effect
:
IsHasType
(
EFFECT_TYPE_IGNITION
)
or
(
effect
:
IsHasType
(
EFFECT_TYPE_ACTIVATE
)
and
not
card
:
IsType
(
TYPE_TRAP
)
and
not
card
:
IsType
(
TYPE_QUICKPLAY
))
then
eff
:
SetValue
(
id
+
1
)
--effect edit
local
eff2
=
effect
:
Clone
()
--id remove
if
table_countlimit_flag
~=
0
and
table_countlimit_count
==
1
then
esetcountLimit
(
eff2
,
1
,
0
)
end
--spell speed 2
if
eff2
:
IsHasType
(
EFFECT_TYPE_IGNITION
)
then
eff2
:
SetType
(
EFFECT_TYPE_QUICK_O
)
eff2
:
SetCode
(
EVENT_FREE_CHAIN
)
eff2
:
SetHintTiming
(
TIMING_END_PHASE
,
TIMING_DRAW_PHASE
+
TIMING_END_PHASE
+
TIMINGS_CHECK_MONSTER
)
end
eff2
:
SetValue
(
id
)
--spell activate in hand
if
eff2
:
IsHasType
(
EFFECT_TYPE_ACTIVATE
)
and
not
card
:
IsType
(
TYPE_TRAP
)
and
not
card
:
IsType
(
TYPE_QUICKPLAY
)
then
eff2
:
SetType
(
EFFECT_TYPE_QUICK_O
)
eff2
:
SetCode
(
EVENT_FREE_CHAIN
)
eff2
:
SetRange
(
LOCATION_HAND
)
eff2
:
SetValue
(
id
+
2
)
eff2
:
SetHintTiming
(
TIMING_END_PHASE
,
TIMING_DRAW_PHASE
+
TIMING_END_PHASE
+
TIMINGS_CHECK_MONSTER
)
end
table.insert
(
table_effect
,
eff2
)
end
table.insert
(
table_effect
,
eff
)
end
table_countlimit_flag
=
0
table_countlimit_count
=
0
return
end
for
tc
in
aux
.
Next
(
g
)
do
table_effect
=
{}
tc
:
ReplaceEffect
(
id
,
0
)
Duel
.
CreateToken
(
0
,
tc
:
GetOriginalCode
())
for
key
,
eff
in
ipairs
(
table_effect
)
do
cregister
(
tc
,
eff
)
end
end
Card
.
RegisterEffect
=
cregister
Effect
.
SetCountLimit
=
esetcountLimit
end
e
:
Reset
()
end
function
s
.
actarget2
(
e
,
te
,
tp
)
local
tc
=
te
:
GetHandler
()
e
:
SetLabelObject
(
te
)
return
tc
:
IsSetCard
(
0x171
)
and
te
:
IsHasType
(
EFFECT_TYPE_QUICK_O
)
and
tc
:
IsLocation
(
LOCATION_HAND
)
and
tc
:
IsType
(
TYPE_SPELL
)
end
function
s
.
costop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
te
=
e
:
GetLabelObject
()
local
tc
=
te
:
GetHandler
()
local
tp
=
te
:
GetHandlerPlayer
()
te
:
SetType
(
EFFECT_TYPE_ACTIVATE
)
if
tc
:
IsType
(
TYPE_FIELD
)
then
local
fc
=
Duel
.
GetFieldCard
(
tp
,
LOCATION_FZONE
,
0
)
if
fc
then
Duel
.
SendtoGrave
(
fc
,
REASON_RULE
)
Duel
.
BreakEffect
()
end
Duel
.
MoveToField
(
tc
,
tp
,
tp
,
LOCATION_FZONE
,
POS_FACEUP
,
false
)
else
Duel
.
MoveToField
(
tc
,
tp
,
tp
,
LOCATION_SZONE
,
POS_FACEUP
,
false
)
end
local
ge3
=
Effect
.
CreateEffect
(
tc
)
ge3
:
SetType
(
EFFECT_TYPE_CONTINUOUS
+
EFFECT_TYPE_FIELD
)
ge3
:
SetProperty
(
EFFECT_FLAG_IGNORE_IMMUNE
)
ge3
:
SetCode
(
EVENT_CHAIN_SOLVED
)
ge3
:
SetLabelObject
(
te
)
ge3
:
SetReset
(
RESET_PHASE
+
PHASE_END
)
ge3
:
SetOperation
(
s
.
resetop
)
Duel
.
RegisterEffect
(
ge3
,
tp
)
local
ge4
=
ge3
:
Clone
()
ge4
:
SetCode
(
EVENT_CHAIN_NEGATED
)
Duel
.
RegisterEffect
(
ge4
,
tp
)
end
function
s
.
resetop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
if
re
==
e
:
GetLabelObject
()
and
re
:
IsHasType
(
EFFECT_TYPE_ACTIVATE
)
then
re
:
SetType
(
EFFECT_TYPE_QUICK_O
)
e
:
Reset
()
end
end
function
s
.
actarget2
(
e
,
te
,
tp
)
e
:
SetLabelObject
(
te
)
return
te
:
GetHandler
()
==
e
:
GetHandler
()
end
function
s
.
costop2
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
c
=
e
:
GetHandler
()
local
te
=
e
:
GetLabelObject
()
Duel
.
MoveToField
(
c
,
tp
,
tp
,
LOCATION_SZONE
,
POS_FACEUP
,
false
)
s
.
activate_sequence
[
te
]
=
c
:
GetSequence
()
c
:
CreateEffectRelation
(
te
)
local
ev0
=
Duel
.
GetCurrentChain
()
+
1
local
e1
=
Effect
.
CreateEffect
(
c
)
e1
:
SetType
(
EFFECT_TYPE_FIELD
+
EFFECT_TYPE_CONTINUOUS
)
e1
:
SetProperty
(
EFFECT_FLAG_IGNORE_IMMUNE
)
e1
:
SetCode
(
EVENT_CHAIN_SOLVING
)
e1
:
SetCountLimit
(
1
)
e1
:
SetCondition
(
function
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
return
ev
==
ev0
end
)
e1
:
SetOperation
(
s
.
rsop2
)
e1
:
SetReset
(
RESET_CHAIN
)
Duel
.
RegisterEffect
(
e1
,
tp
)
local
e2
=
e1
:
Clone
()
e2
:
SetCode
(
EVENT_CHAIN_NEGATED
)
Duel
.
RegisterEffect
(
e2
,
tp
)
end
function
s
.
rsop2
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
rc
=
re
:
GetHandler
()
if
e
:
GetCode
()
==
EVENT_CHAIN_SOLVING
and
rc
:
IsRelateToEffect
(
re
)
then
rc
:
SetStatus
(
STATUS_EFFECT_ENABLED
,
true
)
end
if
e
:
GetCode
()
==
EVENT_CHAIN_NEGATED
and
rc
:
IsRelateToEffect
(
re
)
and
not
(
rc
:
IsOnField
()
and
rc
:
IsFacedown
())
then
rc
:
SetStatus
(
STATUS_ACTIVATE_DISABLED
,
true
)
end
end
function
s
.
cost2
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
local
ft
=
Duel
.
GetLocationCount
(
tp
,
LOCATION_SZONE
)
if
chk
==
0
then
return
ft
>=
1
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