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
08a50bb2
Commit
08a50bb2
authored
Aug 28, 2025
by
POLYMER
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
fix
parent
02503888
Changes
3
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
288 additions
and
283 deletions
+288
-283
expansions/script/c10174065.lua
expansions/script/c10174065.lua
+1
-1
expansions/script/c10199990.lua
expansions/script/c10199990.lua
+283
-282
expansions/script/c95101141.lua
expansions/script/c95101141.lua
+4
-0
No files found.
expansions/script/c10174065.lua
View file @
08a50bb2
--祝祷女祭司
--祝祷女祭司
if
not
pcall
(
function
()
require
(
"expansions/script/c10199990"
)
end
)
then
require
(
"script/c10199990"
)
end
Duel
.
LoadScript
(
"c10199990.lua"
)
local
m
,
cm
=
rscf
.
DefineCard
(
10174065
)
local
m
,
cm
=
rscf
.
DefineCard
(
10174065
)
function
cm
.
initial_effect
(
c
)
function
cm
.
initial_effect
(
c
)
local
e1
=
rsef
.
STO
(
c
,
EVENT_SUMMON_SUCCESS
,{
m
,
0
},{
1
,
m
},
"se,th"
,
"de,dsp"
,
nil
,
nil
,
rsop
.
target
(
cm
.
thfilter
,
"th"
,
LOCATION_DECK
),
cm
.
thop
)
local
e1
=
rsef
.
STO
(
c
,
EVENT_SUMMON_SUCCESS
,{
m
,
0
},{
1
,
m
},
"se,th"
,
"de,dsp"
,
nil
,
nil
,
rsop
.
target
(
cm
.
thfilter
,
"th"
,
LOCATION_DECK
),
cm
.
thop
)
...
...
expansions/script/c10199990.lua
View file @
08a50bb2
...
@@ -7,7 +7,8 @@
...
@@ -7,7 +7,8 @@
local
Version_Number
=
"2022.11.02"
local
Version_Number
=
"2022.11.02"
if
not
pcall
(
function
()
dofile
(
"expansions/script/c10100000.lua"
)
end
)
then
dofile
(
"script/c10100000.lua"
)
end
Duel
.
LoadScript
(
"c10100000.lua"
)
Duel
.
LoadScript
(
"c11410000.lua"
)
if
rsv
then
return
end
if
rsv
then
return
end
local
s
=
{}
local
s
=
{}
rsv
=
{
}
--"Base Function"
rsv
=
{
}
--"Base Function"
...
@@ -43,7 +44,7 @@ rscode.Phase_Leave_Flag = FLAG_PHASE_OPERATE_SCL
...
@@ -43,7 +44,7 @@ rscode.Phase_Leave_Flag = FLAG_PHASE_OPERATE_SCL
rscode
.
Extra_Synchro_Material
=
EFFECT_EXTRA_SYNCHRO_MATERIAL_SCL
rscode
.
Extra_Synchro_Material
=
EFFECT_EXTRA_SYNCHRO_MATERIAL_SCL
rscode
.
Extra_Xyz_Material
=
EFFECT_EXTRA_XYZ_MATERIAL_SCL
rscode
.
Extra_Xyz_Material
=
EFFECT_EXTRA_XYZ_MATERIAL_SCL
rscode
.
Utility_Xyz_Material
=
EFFECT_UTILITY_XYZ_MATERIAL_SCL
rscode
.
Utility_Xyz_Material
=
EFFECT_UTILITY_XYZ_MATERIAL_SCL
rscode
.
Previous_Set_Code
=
FLAG_PREVIOUS_XYZ_MATERIAL_SCL
rscode
.
Previous_Set_Code
=
FLAG_PREVIOUS_XYZ_MATERIAL_SCL
rscode
.
Pre_Complete_Proc
=
EFFECT_COMPLETE_SUMMON_PROC_SCL
rscode
.
Pre_Complete_Proc
=
EFFECT_COMPLETE_SUMMON_PROC_SCL
rscode
.
Set
=
EVENT_SET_SCL
rscode
.
Set
=
EVENT_SET_SCL
...
@@ -64,103 +65,103 @@ rsloc.all = 0xff
...
@@ -64,103 +65,103 @@ rsloc.all = 0xff
s
.
sum_list
=
{
s
.
sum_list
=
{
[
"sp"
]
=
"SpecialSummon"
,
[
"adv"
]
=
"TributeSummon"
,
[
"rit"
]
=
"RitualSummon"
[
"sp"
]
=
"SpecialSummon"
,
[
"adv"
]
=
"TributeSummon"
,
[
"rit"
]
=
"RitualSummon"
,
[
"fus"
]
=
"FusionSummon"
,
[
"syn"
]
=
"SynchroSummon"
,
[
"xyz"
]
=
"XyzSummon"
,
[
"fus"
]
=
"FusionSummon"
,
[
"syn"
]
=
"SynchroSummon"
,
[
"xyz"
]
=
"XyzSummon"
,
[
"link"
]
=
"LinkSummon"
,
[
"pen"
]
=
"PendulumSummon"
,
[
"link"
]
=
"LinkSummon"
,
[
"pen"
]
=
"PendulumSummon"
}
}
s
.
flag_list
=
{
s
.
flag_list
=
{
[
"tg"
]
=
"Target"
,
[
"ptg"
]
=
"PlayerTarget"
,
[
"de"
]
=
"Delay"
,
[
"dsp"
]
=
"DamageStep"
[
"tg"
]
=
"Target"
,
[
"ptg"
]
=
"PlayerTarget"
,
[
"de"
]
=
"Delay"
,
[
"dsp"
]
=
"DamageStep"
,
[
"dcal"
]
=
"DamageCalculation"
,
[
"ii"
]
=
"IgnoreImmune"
,
[
"sa"
]
=
"SetAvailable"
,
[
"ir"
]
=
"IgnoreZone"
,
[
"dcal"
]
=
"DamageCalculation"
,
[
"ii"
]
=
"IgnoreImmune"
,
[
"sa"
]
=
"SetAvailable"
,
[
"ir"
]
=
"IgnoreZone"
,
[
"sr"
]
=
"BuffZone"
,
[
"bs"
]
=
"BothSide"
,
[
"uc"
]
=
"Uncopyable"
,
[
"sr"
]
=
"BuffZone"
,
[
"bs"
]
=
"BothSide"
,
[
"uc"
]
=
"Uncopyable"
,
[
"ch"
]
=
"ClientHint"
,
[
"lz"
]
=
"LimitActivateZone"
,
[
"atg"
]
=
"AbsoluteTarget"
,
[
"ch"
]
=
"ClientHint"
,
[
"lz"
]
=
"LimitActivateZone"
,
[
"atg"
]
=
"AbsoluteTarget"
,
[
"sp"
]
=
"SummonParama"
,
[
"ep"
]
=
"EventPlayer"
,
[
"oa"
]
=
"Oath"
,
[
"ntr"
]
=
"NoTurnReset"
,
[
"sp"
]
=
"SummonParama"
,
[
"ep"
]
=
"EventPlayer"
,
[
"oa"
]
=
"Oath"
,
[
"ntr"
]
=
"NoTurnReset"
,
[
"neg~"
]
=
"!NegateActivation"
,
[
"neg~"
]
=
"!NegateActivation"
,
[
"cn"
]
=
"!NegateEffect"
,
[
"dise~"
]
=
"!NegateEffect2"
,
[
"cn"
]
=
"!NegateEffect"
,
[
"dise~"
]
=
"!NegateEffect2"
,
[
"cd"
]
=
"!NegateEffect"
,
[
"dis~"
]
=
"!NegateEffect"
,
[
"cd"
]
=
"!NegateEffect"
,
[
"dis~"
]
=
"!NegateEffect"
}
}
s
.
ctgy_list
=
{
s
.
ctgy_list
=
{
[
"des"
]
=
"Destroy"
[
"des"
]
=
"Destroy"
,
[
"rdes"
]
=
"DestroyReplace"
,
[
"rdes"
]
=
"DestroyReplace"
,
[
"res"
]
=
"Tribute"
,
[
"res"
]
=
"Tribute"
,
[
"rm"
]
=
"Banish"
,
[
"rm"
]
=
"Banish"
,
[
"rmd"
]
=
"BanishFacedown"
,
[
"rmd"
]
=
"BanishFacedown"
,
[
"se"
]
=
"Search"
,
[
"se"
]
=
"Search"
,
[
"th"
]
=
"Add2Hand"
,
[
"th"
]
=
"Add2Hand"
,
[
"rth"
]
=
"Return2Hand"
,
[
"rth"
]
=
"Return2Hand"
,
[
"td"
]
=
"ShuffleIn2Deck"
,
[
"td"
]
=
"ShuffleIn2Deck"
,
[
"tdt"
]
=
"ShuffleIn2DeckTop"
,
[
"tdt"
]
=
"ShuffleIn2DeckTop"
,
[
"tdb"
]
=
"ShuffleIn2DeckBottom"
,
[
"tdb"
]
=
"ShuffleIn2DeckBottom"
,
[
"ptdt"
]
=
"PlaceOnDeckTop"
,
[
"ptdt"
]
=
"PlaceOnDeckTop"
,
[
"ptdb"
]
=
"PlaceOnDeckBottom"
,
[
"ptdb"
]
=
"PlaceOnDeckBottom"
,
[
"te"
]
=
"Return2Extra"
,
[
"te"
]
=
"Return2Extra"
,
[
"tde"
]
=
"ShuffleIn2Deck/ExtraAsCost"
,
[
"tde"
]
=
"ShuffleIn2Deck/ExtraAsCost"
,
[
"pte"
]
=
"Add2ExtraFaceup"
,
[
"pte"
]
=
"Add2ExtraFaceup"
,
[
"tg"
]
=
"Send2GY"
,
[
"tg"
]
=
"Send2GY"
,
[
"rtg"
]
=
"Return2GY"
,
[
"rtg"
]
=
"Return2GY"
,
[
"dtg"
]
=
"Discard2GY"
,
[
"dtg"
]
=
"Discard2GY"
,
[
"dish"
]
=
"Discard"
,
[
"dish"
]
=
"Discard"
,
[
"dh"
]
=
"Discard"
,
[
"dh"
]
=
"Discard"
,
[
"dishf"
]
=
"DiscardWithFilter"
,
[
"dishf"
]
=
"DiscardWithFilter"
,
[
"dhf"
]
=
"DiscardWithFilter"
,
[
"dhf"
]
=
"DiscardWithFilter"
,
[
"disd"
]
=
"SendDeckTop2GY"
,
[
"disd"
]
=
"SendDeckTop2GY"
,
[
"dd"
]
=
"SendDeckTop2GY"
,
[
"dd"
]
=
"SendDeckTop2GY"
,
[
"dr"
]
=
"Draw"
,
[
"dr"
]
=
"Draw"
,
[
"dam"
]
=
"Damage"
,
[
"dam"
]
=
"Damage"
,
[
"rec"
]
=
"GainLP"
,
[
"rec"
]
=
"GainLP"
,
[
"sum"
]
=
"NormalSummon"
,
[
"sum"
]
=
"NormalSummon"
,
[
"tk"
]
=
"Token"
,
[
"tk"
]
=
"Token"
,
[
"sp"
]
=
"SpecialSummon"
,
[
"sp"
]
=
"SpecialSummon"
,
[
"cp"
]
=
"ChangePosition"
,
[
"cp"
]
=
"ChangePosition"
,
[
"pos"
]
=
"ChangePosition"
,
[
"pos"
]
=
"ChangePosition"
,
[
"upa"
]
=
"Change2AttackPosition"
,
[
"upa"
]
=
"Change2AttackPosition"
,
[
"upd"
]
=
"Change2FaceupDefensePosition"
,
[
"upd"
]
=
"Change2FaceupDefensePosition"
,
[
"dpd"
]
=
"Change2FacedownDefensePosition"
,
[
"dpd"
]
=
"Change2FacedownDefensePosition"
,
[
"posd"
]
=
"Change2DefensePosition"
,
[
"posd"
]
=
"Change2DefensePosition"
,
[
"ctrl"
]
=
"ChangeControl"
,
[
"ctrl"
]
=
"ChangeControl"
,
[
"con"
]
=
"ChangeControl"
,
[
"con"
]
=
"ChangeControl"
,
[
"sctrl"
]
=
"SwitchControl"
,
[
"sctrl"
]
=
"SwitchControl"
,
[
"dis"
]
=
"NegateEffect"
,
[
"dis"
]
=
"NegateEffect"
,
[
"diss"
]
=
"NegateSummon"
,
[
"diss"
]
=
"NegateSummon"
,
[
"neg"
]
=
"NegateActivation"
,
[
"neg"
]
=
"NegateActivation"
,
[
"eq"
]
=
"Equip"
,
[
"eq"
]
=
"Equip"
,
[
"atk"
]
=
"ChangeATK"
,
[
"atk"
]
=
"ChangeATK"
,
[
"def"
]
=
"ChangeDEF"
,
[
"def"
]
=
"ChangeDEF"
,
[
"ct"
]
=
"PlaceCounter"
,
[
"ct"
]
=
"PlaceCounter"
,
[
"pct"
]
=
"PlaceCounter"
,
[
"pct"
]
=
"PlaceCounter"
,
[
"rmct"
]
=
"RemoveCounter"
,
[
"rmct"
]
=
"RemoveCounter"
,
[
"coin"
]
=
"TossCoin"
,
[
"coin"
]
=
"TossCoin"
,
[
"dice"
]
=
"TossDice"
,
[
"dice"
]
=
"TossDice"
,
[
"an"
]
=
"AnnounceCard"
,
[
"an"
]
=
"AnnounceCard"
,
[
"lv"
]
=
"ChangLevel"
,
[
"lv"
]
=
"ChangLevel"
,
[
"fus"
]
=
"FusionSummon"
,
[
"fus"
]
=
"FusionSummon"
,
[
"ga"
]
=
"GYAction"
,
[
"ga"
]
=
"GYAction"
,
[
"gsp"
]
=
"SpecialSummonFromGY"
,
[
"gsp"
]
=
"SpecialSummonFromGY"
,
[
"lg"
]
=
"LeaveGY"
,
[
"lg"
]
=
"LeaveGY"
,
[
"cf"
]
=
"Look"
,
[
"cf"
]
=
"Look"
,
[
"rv"
]
=
"Reveal"
,
[
"rv"
]
=
"Reveal"
,
[
"rvep"
]
=
"RevealUntilEP"
,
[
"rvep"
]
=
"RevealUntilEP"
,
[
"tf"
]
=
"PlaceOnField"
,
[
"tf"
]
=
"PlaceOnField"
,
[
"act"
]
=
"ActivateCard"
,
[
"act"
]
=
"ActivateCard"
,
[
"rf"
]
=
"Return2Field"
,
[
"rf"
]
=
"Return2Field"
,
[
"rtf"
]
=
"Return2Field"
,
[
"rtf"
]
=
"Return2Field"
,
[
"ae"
]
=
"ApplyEffect"
,
[
"ae"
]
=
"ApplyEffect"
,
[
"set"
]
=
"SetSpell/Trap"
,
[
"set"
]
=
"SetSpell/Trap"
,
[
"sset"
]
=
"SetSpell/Trap"
,
[
"sset"
]
=
"SetSpell/Trap"
,
[
"xmat"
]
=
"AttachXyzMaterial"
,
[
"xmat"
]
=
"AttachXyzMaterial"
,
[
"axmat"
]
=
"AttachXyzMaterial"
,
[
"axmat"
]
=
"AttachXyzMaterial"
,
[
"rxmat"
]
=
"DetachXyzMaterial"
,
[
"rxmat"
]
=
"DetachXyzMaterial"
,
[
"rmxmat"
]
=
"DetachXyzMaterial"
,
[
"rmxmat"
]
=
"DetachXyzMaterial"
,
[
"ms"
]
=
"MoveZone"
,
[
"ms"
]
=
"MoveZone"
,
[
"dum"
]
=
"Dummy"
,
[
"dum"
]
=
"Dummy"
,
[
"self"
]
=
"Self"
,
[
"self"
]
=
"Self"
,
[
"oppo"
]
=
"Opponent"
,
[
"oppo"
]
=
"Opponent"
}
}
...
@@ -296,7 +297,7 @@ rsef.CreatEvent_Set = Scl.RaiseGlobalSetEvent
...
@@ -296,7 +297,7 @@ rsef.CreatEvent_Set = Scl.RaiseGlobalSetEvent
rsef
.
SetChainLimit
=
Scl
.
SetChainLimit
rsef
.
SetChainLimit
=
Scl
.
SetChainLimit
s
.
clone_list
=
{
s
.
clone_list
=
{
[
"code"
]
=
"Code"
,
[
"desc"
]
=
"Description"
,
[
"flag"
]
=
"Property"
,
[
"cate"
]
=
"Category"
,
[
"code"
]
=
"Code"
,
[
"desc"
]
=
"Description"
,
[
"flag"
]
=
"Property"
,
[
"cate"
]
=
"Category"
,
[
"reset"
]
=
"Reset"
,
[
"type"
]
=
"Type"
,
[
"con"
]
=
"Condition"
,
[
"tg"
]
=
"Target"
,
[
"cost"
]
=
"Cost"
,
[
"reset"
]
=
"Reset"
,
[
"type"
]
=
"Type"
,
[
"con"
]
=
"Condition"
,
[
"tg"
]
=
"Target"
,
[
"cost"
]
=
"Cost"
,
[
"op"
]
=
"Operation"
,
[
"value"
]
=
"Value"
,
[
"loc"
]
=
"Zone"
,
[
"tgrng"
]
=
"TargetRange"
[
"op"
]
=
"Operation"
,
[
"value"
]
=
"Value"
,
[
"loc"
]
=
"Zone"
,
[
"tgrng"
]
=
"TargetRange"
}
}
...
@@ -316,21 +317,21 @@ rsef.QO_OPPONENT_TURN = Scl.CloneEffectAsQucikEffect
...
@@ -316,21 +317,21 @@ rsef.QO_OPPONENT_TURN = Scl.CloneEffectAsQucikEffect
rsef
.
RegisterSolve
=
Scl
.
RegisterSolvePart
rsef
.
RegisterSolve
=
Scl
.
RegisterSolvePart
Effect
.
RegisterSolve
=
Scl
.
RegisterSolvePart
Effect
.
RegisterSolve
=
Scl
.
RegisterSolvePart
function
s
.
get_default_range
(
reg_obj
)
function
s
.
get_default_range
(
reg_obj
)
local
reg_range
local
reg_range
local
reg_owner
,
reg_handler
=
Scl
.
GetRegisterInfo
(
reg_obj
)
local
reg_owner
,
reg_handler
=
Scl
.
GetRegisterInfo
(
reg_obj
)
if
aux
.
GetValueType
(
reg_handler
)
~=
"Card"
then
return
nil
end
if
aux
.
GetValueType
(
reg_handler
)
~=
"Card"
then
return
nil
end
--(TYPE_PENDULUM , LOCATION_PZONE must manual input)
--(TYPE_PENDULUM , LOCATION_PZONE must manual input)
local
type_list
=
{
TYPE_MONSTER
,
TYPE_FIELD
,
TYPE_SPELL
+
TYPE_TRAP
}
local
type_list
=
{
TYPE_MONSTER
,
TYPE_FIELD
,
TYPE_SPELL
+
TYPE_TRAP
}
local
reg_obj
=
{
LOCATION_MZONE
,
LOCATION_FZONE
,
LOCATION_SZONE
}
local
reg_obj
=
{
LOCATION_MZONE
,
LOCATION_FZONE
,
LOCATION_SZONE
}
for
idx
,
card_type
in
pairs
(
type_list
)
do
for
idx
,
card_type
in
pairs
(
type_list
)
do
if
reg_handler
:
IsType
(
card_type
)
then
if
reg_handler
:
IsType
(
card_type
)
then
reg_range
=
reg_obj
[
idx
]
reg_range
=
reg_obj
[
idx
]
break
break
end
end
end
end
--after begain duel
--after begain duel
--if Duel.GetTurnCount() > 0 then reg_range = reg_handler:GetLocation() end
--if Duel.GetTurnCount() > 0 then reg_range = reg_handler:GetLocation() end
return
reg_range
return
reg_range
end
end
function
s
.
switch_old_string
(
desc_obj
,
ctgy
,
flag
,
buff_code
)
function
s
.
switch_old_string
(
desc_obj
,
ctgy
,
flag
,
buff_code
)
local
desc_obj2
=
type
(
desc_obj
)
==
"string"
and
s
.
ctgy_list
[
desc_obj
]
or
desc_obj
local
desc_obj2
=
type
(
desc_obj
)
==
"string"
and
s
.
ctgy_list
[
desc_obj
]
or
desc_obj
...
@@ -524,7 +525,7 @@ function rsef.FV_ExtraMaterial_Self(reg_obj, mat, val_obj, tg, tgrng_obj, con, r
...
@@ -524,7 +525,7 @@ function rsef.FV_ExtraMaterial_Self(reg_obj, mat, val_obj, tg, tgrng_obj, con, r
elseif
mat
==
"link"
then
elseif
mat
==
"link"
then
att
=
"ExtraLinkMaterial"
att
=
"ExtraLinkMaterial"
end
end
local
val_obj2
=
val_obj
or
{
function
(
e
,
c
,
mg
)
return
c
==
e
:
GetHandler
(),
true
end
}
local
val_obj2
=
val_obj
or
{
function
(
e
,
c
,
mg
)
return
c
==
e
:
GetHandler
(),
true
end
}
local
_
,
_
,
flag2
=
s
.
switch_old_string
(
0
,
0
,
flag
)
local
_
,
_
,
flag2
=
s
.
switch_old_string
(
0
,
0
,
flag
)
local
lim_obj2
=
s
.
switch_old_count_limit
(
lim_obj
)
local
lim_obj2
=
s
.
switch_old_count_limit
(
lim_obj
)
return
Scl
.
CreateFieldBuffEffect
(
reg_obj
,
att
,
val_obj2
,
tg
,
tgrng_obj
,
LOCATION_EXTRA
,
con
,
rst_obj
,
desc_obj
,
lim_obj2
,
flag2
)
return
Scl
.
CreateFieldBuffEffect
(
reg_obj
,
att
,
val_obj2
,
tg
,
tgrng_obj
,
LOCATION_EXTRA
,
con
,
rst_obj
,
desc_obj
,
lim_obj2
,
flag2
)
...
@@ -565,7 +566,7 @@ end
...
@@ -565,7 +566,7 @@ end
function
rsef
.
STO_Flip
(
reg_obj
,
desc_obj
,
lim_obj
,
ctgy
,
flag
,
con
,
cost
,
tg
,
op
,
rst_obj
)
function
rsef
.
STO_Flip
(
reg_obj
,
desc_obj
,
lim_obj
,
ctgy
,
flag
,
con
,
cost
,
tg
,
op
,
rst_obj
)
local
desc_obj2
,
ctgy2
,
flag2
=
s
.
switch_old_string
(
desc_obj
,
ctgy
,
flag
)
local
desc_obj2
,
ctgy2
,
flag2
=
s
.
switch_old_string
(
desc_obj
,
ctgy
,
flag
)
local
lim_obj2
=
s
.
switch_old_count_limit
(
lim_obj
)
local
lim_obj2
=
s
.
switch_old_count_limit
(
lim_obj
)
return
Scl
.
CreateFlipOptionalEffect
(
reg_obj
,
desc_obj2
,
lim_obj2
,
ctgy2
,
flag2
,
con
,
cost
,
tg
,
op
,
rst_obj
)
return
Scl
.
CreateFlipOptionalEffect
(
reg_obj
,
desc_obj2
,
lim_obj2
,
ctgy2
,
flag2
,
con
,
cost
,
tg
,
op
,
rst_obj
)
end
end
function
rsef
.
STF_Flip
(
reg_obj
,
desc_obj
,
lim_obj
,
ctgy
,
flag
,
con
,
cost
,
tg
,
op
,
rst_obj
)
function
rsef
.
STF_Flip
(
reg_obj
,
desc_obj
,
lim_obj
,
ctgy
,
flag
,
con
,
cost
,
tg
,
op
,
rst_obj
)
local
desc_obj2
,
ctgy2
,
flag2
=
s
.
switch_old_string
(
desc_obj
,
ctgy
,
flag
)
local
desc_obj2
,
ctgy2
,
flag2
=
s
.
switch_old_string
(
desc_obj
,
ctgy
,
flag
)
...
@@ -633,7 +634,7 @@ function rsef.SC(reg_obj, code, desc_obj, lim_obj, flag, con, op, rst_obj)
...
@@ -633,7 +634,7 @@ function rsef.SC(reg_obj, code, desc_obj, lim_obj, flag, con, op, rst_obj)
return
Scl
.
CreateSingleTriggerContinousEffect
(
reg_obj
,
code
,
desc_obj
,
lim_obj2
,
flag2
,
con
,
op
,
rst_obj
)
return
Scl
.
CreateSingleTriggerContinousEffect
(
reg_obj
,
code
,
desc_obj
,
lim_obj2
,
flag2
,
con
,
op
,
rst_obj
)
end
end
function
rsef
.
SC_Easy
(
reg_obj
,
code
,
flag
,
con
,
op
,
reset_obj
)
function
rsef
.
SC_Easy
(
reg_obj
,
code
,
flag
,
con
,
op
,
reset_obj
)
return
rsef
.
SC
(
reg_obj
,
code
,
nil
,
nil
,
flag
,
con
,
op
,
reset_obj
)
return
rsef
.
SC
(
reg_obj
,
code
,
nil
,
nil
,
flag
,
con
,
op
,
reset_obj
)
end
end
function
rsef
.
SC_DestroyReplace
(
reg_obj
,
lim_obj
,
repfilter
,
tg
,
op
,
con
,
flag
,
rst_obj
)
function
rsef
.
SC_DestroyReplace
(
reg_obj
,
lim_obj
,
repfilter
,
tg
,
op
,
con
,
flag
,
rst_obj
)
local
_
,
_
,
flag2
=
s
.
switch_old_string
(
0
,
0
,
flag
)
local
_
,
_
,
flag2
=
s
.
switch_old_string
(
0
,
0
,
flag
)
...
@@ -725,26 +726,26 @@ rstg.token = scl.target_special_summon_token
...
@@ -725,26 +726,26 @@ rstg.token = scl.target_special_summon_token
rssf
.
CheckTokenSummonable
=
Scl
.
IsCanSpecialSummonToken
rssf
.
CheckTokenSummonable
=
Scl
.
IsCanSpecialSummonToken
rssf
.
SpecialSummonToken
=
Scl
.
SpecialSummonToken
rssf
.
SpecialSummonToken
=
Scl
.
SpecialSummonToken
function
rstg
.
neg
(
dn_str
,
ex_tg
)
function
rstg
.
neg
(
dn_str
,
ex_tg
)
return
function
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
,
chkc
)
return
function
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
,
chkc
)
dn_str
=
dn_str
or
"dum"
dn_str
=
dn_str
or
"dum"
local
dn_str2
=
s
.
ctgy_list
[
dn_str
]
local
dn_str2
=
s
.
ctgy_list
[
dn_str
]
local
c
=
e
:
GetHandler
()
local
c
=
e
:
GetHandler
()
local
rc
=
re
:
GetHandler
()
local
rc
=
re
:
GetHandler
()
ex_tg
=
ex_tg
or
aux
.
TRUE
ex_tg
=
ex_tg
or
aux
.
TRUE
if
chkc
then
return
ex_tg
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
,
chkc
)
end
if
chkc
then
return
ex_tg
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
,
chkc
)
end
if
chk
==
0
then
return
(
dn_str
~=
"rm"
or
aux
.
nbcon
(
tp
,
re
))
and
(
ex_tg
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
,
chkc
))
end
if
chk
==
0
then
return
(
dn_str
~=
"rm"
or
aux
.
nbcon
(
tp
,
re
))
and
(
ex_tg
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
,
chkc
))
end
local
op_cate
=
Scl
.
Category_List
[
dn_str2
][
2
]
local
op_cate
=
Scl
.
Category_List
[
dn_str2
][
2
]
local
ctgy_list
=
type
(
op_cate
)
==
"number"
and
{
op_cate
}
or
op_cate
local
ctgy_list
=
type
(
op_cate
)
==
"number"
and
{
op_cate
}
or
op_cate
if
#
ctgy_list
>
0
and
rc
:
IsRelateToEffect
(
re
)
then
if
#
ctgy_list
>
0
and
rc
:
IsRelateToEffect
(
re
)
then
local
res
=
Scl
.
OperateSelectedObjects
(
eg
,
dn_str2
,
REASON_EFFECT
,
0
,
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)()
local
res
=
Scl
.
OperateSelectedObjects
(
eg
,
dn_str2
,
REASON_EFFECT
,
0
,
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)()
if
res
then
if
res
then
for
ctgy
in
pairs
(
ctgy_list
)
do
for
ctgy
in
pairs
(
ctgy_list
)
do
Duel
.
SetOperationInfo
(
0
,
ctgy
,
eg
,
1
,
0
,
0
)
Duel
.
SetOperationInfo
(
0
,
ctgy
,
eg
,
1
,
0
,
0
)
end
end
end
end
end
end
ex_tg
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
1
)
ex_tg
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
1
)
end
end
end
end
function
rsop
.
neg
(
dn_str
,
ex_op
)
function
rsop
.
neg
(
dn_str
,
ex_op
)
return
function
(
...
)
return
function
(
...
)
...
@@ -760,11 +761,11 @@ function rsop.dis(dn_str, ex_op)
...
@@ -760,11 +761,11 @@ function rsop.dis(dn_str, ex_op)
end
end
function
s
.
get_effect_array
(
checkfun
,
endfun
,
list_typ
,
a1
,
a2
,
a3
,
...
)
function
s
.
get_effect_array
(
checkfun
,
endfun
,
list_typ
,
a1
,
a2
,
a3
,
...
)
local
arr
=
{
}
local
arr
=
{
}
if
type
(
a1
)
==
"table"
and
(
not
a2
or
(
type
(
a2
)
==
"table"
))
and
(
not
a3
or
type
(
a3
)
==
"table"
)
then
if
type
(
a1
)
==
"table"
and
(
not
a2
or
(
type
(
a2
)
==
"table"
))
and
(
not
a3
or
type
(
a3
)
==
"table"
)
then
arr
=
{
a1
,
a2
,
a3
,
...
}
arr
=
{
a1
,
a2
,
a3
,
...
}
else
else
arr
=
{
{
a1
,
a2
,
a3
,
...
}
}
arr
=
{
{
a1
,
a2
,
a3
,
...
}
}
end
end
local
cache_arr
=
Scl
.
CloneArray
(
arr
)
local
cache_arr
=
Scl
.
CloneArray
(
arr
)
--boom nil
--boom nil
for
idx
,
arr2
in
pairs
(
arr
)
do
for
idx
,
arr2
in
pairs
(
arr
)
do
...
@@ -1048,31 +1049,31 @@ function rscon.excard2(...)
...
@@ -1048,31 +1049,31 @@ function rscon.excard2(...)
end
end
end
end
function
rscon
.
sumtolz
(
link_filter
,
sum_filter
)
function
rscon
.
sumtolz
(
link_filter
,
sum_filter
)
return
function
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
return
function
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
c
=
e
:
GetHandler
()
local
c
=
e
:
GetHandler
()
local
zone
=
0
local
zone
=
0
local
link_group
=
Group
.
CreateGroup
()
local
link_group
=
Group
.
CreateGroup
()
if
rsof
.
Check_Boolean
(
link_filter
)
then
if
rsof
.
Check_Boolean
(
link_filter
)
then
link_group
=
rsgf
.
Mix2
(
c
)
link_group
=
rsgf
.
Mix2
(
c
)
else
else
link_group
=
Duel
.
GetMatchingGroup
(
link_filter
,
tp
,
LOCATION_MZONE
,
LOCATION_MZONE
,
nil
,
e
,
tp
,
eg
,
ep
,
ev
,
re
,
rp
)
link_group
=
Duel
.
GetMatchingGroup
(
link_filter
,
tp
,
LOCATION_MZONE
,
LOCATION_MZONE
,
nil
,
e
,
tp
,
eg
,
ep
,
ev
,
re
,
rp
)
end
end
for
tc
in
aux
.
Next
(
link_group
)
do
for
tc
in
aux
.
Next
(
link_group
)
do
zone
=
zone
|
tc
:
GetLinkedZone
(
tp
)
zone
=
zone
|
tc
:
GetLinkedZone
(
tp
)
end
end
return
eg
:
IsExists
(
rscon
.
sumtolz_filter
,
1
,
nil
,
zone
,
sum_filter
,
e
,
tp
,
eg
,
ep
,
ev
,
re
,
rp
)
return
eg
:
IsExists
(
rscon
.
sumtolz_filter
,
1
,
nil
,
zone
,
sum_filter
,
e
,
tp
,
eg
,
ep
,
ev
,
re
,
rp
)
end
end
end
end
function
rscon
.
sumtolz_filter
(
c
,
zone
,
sum_filter
,
e
,
tp
,
eg
,
ep
,
ev
,
re
,
rp
)
function
rscon
.
sumtolz_filter
(
c
,
zone
,
sum_filter
,
e
,
tp
,
eg
,
ep
,
ev
,
re
,
rp
)
if
sum_filter
and
not
sum_filter
(
c
,
e
,
tp
,
eg
,
ep
,
ev
,
re
,
rp
)
then
return
false
end
if
sum_filter
and
not
sum_filter
(
c
,
e
,
tp
,
eg
,
ep
,
ev
,
re
,
rp
)
then
return
false
end
local
seq
=
c
:
GetSequence
()
local
seq
=
c
:
GetSequence
()
if
c
:
IsLocation
(
LOCATION_MZONE
)
then
if
c
:
IsLocation
(
LOCATION_MZONE
)
then
if
c
:
IsControler
(
1
-
tp
)
then
seq
=
seq
+
16
end
if
c
:
IsControler
(
1
-
tp
)
then
seq
=
seq
+
16
end
else
else
seq
=
c
:
GetPreviousSequence
()
seq
=
c
:
GetPreviousSequence
()
if
c
:
GetPreviousControler
()
==
1
-
tp
then
seq
=
seq
+
16
end
if
c
:
GetPreviousControler
()
==
1
-
tp
then
seq
=
seq
+
16
end
end
end
return
bit
.
extract
(
zone
,
seq
)
~=
0
return
bit
.
extract
(
zone
,
seq
)
~=
0
end
end
function
rsop
.
SelectExPara
(
a1
,
...
)
function
rsop
.
SelectExPara
(
a1
,
...
)
return
Scl
.
SetExtraSelectAndOperateParama
(
s
.
ctgy_list
[
a1
],
...
)
return
Scl
.
SetExtraSelectAndOperateParama
(
s
.
ctgy_list
[
a1
],
...
)
...
@@ -1107,15 +1108,15 @@ end
...
@@ -1107,15 +1108,15 @@ end
rsop
.
GetOperatedCorrectlyCount
=
Scl
.
GetCorrectlyOperatedCount
rsop
.
GetOperatedCorrectlyCount
=
Scl
.
GetCorrectlyOperatedCount
rsop
.
CheckOperateCorrectly
=
Scl
.
IsCorrectlyOperated
rsop
.
CheckOperateCorrectly
=
Scl
.
IsCorrectlyOperated
function
rsop
.
ToDeckDraw
(
dp
,
dct
,
is_break
,
check_count
)
function
rsop
.
ToDeckDraw
(
dp
,
dct
,
is_break
,
check_count
)
local
res
,
ct
,
g
=
rsop
.
CheckOperateCorrectly
(
rsloc
.
de
,
check_count
)
local
res
,
ct
,
g
=
rsop
.
CheckOperateCorrectly
(
rsloc
.
de
,
check_count
)
if
not
res
then
return
0
end
if
not
res
then
return
0
end
if
g
:
IsExists
(
Card
.
IsLocation
,
1
,
nil
,
LOCATION_DECK
)
then
if
g
:
IsExists
(
Card
.
IsLocation
,
1
,
nil
,
LOCATION_DECK
)
then
Duel
.
ShuffleDeck
(
dp
)
Duel
.
ShuffleDeck
(
dp
)
end
end
if
is_break
then
if
is_break
then
Duel
.
BreakEffect
()
Duel
.
BreakEffect
()
end
end
return
Duel
.
Draw
(
dp
,
dct
,
REASON_EFFECT
)
return
Duel
.
Draw
(
dp
,
dct
,
REASON_EFFECT
)
end
end
rsop
.
SendtoHand
=
Scl
.
Send2Hand
rsop
.
SendtoHand
=
Scl
.
Send2Hand
function
rsop
.
MoveToField_Activate
(
tc
,
movep
,
targetp
,
zone
,
pos
,
enable
,
zone
)
function
rsop
.
MoveToField_Activate
(
tc
,
movep
,
targetp
,
zone
,
pos
,
enable
,
zone
)
...
@@ -1155,26 +1156,26 @@ function rscf.DefineCard(code, inside_series_str)
...
@@ -1155,26 +1156,26 @@ function rscf.DefineCard(code, inside_series_str)
return
m
,
cm
return
m
,
cm
end
end
function
rscf
.
DefineSet
(
setmeta
,
seriesstring
,
type_int
)
function
rscf
.
DefineSet
(
setmeta
,
seriesstring
,
type_int
)
local
prefixlist1
=
{
""
,
"Fus"
,
"Link"
,
"Pre"
,
"Ori"
}
local
prefixlist1
=
{
""
,
"Fus"
,
"Link"
,
"Pre"
,
"Ori"
}
local
prefixlist1_fun
=
{
""
,
"Fusion"
,
"Link"
,
"Previous"
,
"Original"
}
local
prefixlist1_fun
=
{
""
,
"Fusion"
,
"Link"
,
"Previous"
,
"Original"
}
local
prefixlist2
=
{
""
,
"M"
,
"S"
,
"T"
,
"ST"
}
local
prefixlist2
=
{
""
,
"M"
,
"S"
,
"T"
,
"ST"
}
local
prefixlist2_fun
=
{
nil
,
TYPE_MONSTER
,
TYPE_SPELL
,
TYPE_TRAP
,
TYPE_SPELL
+
TYPE_TRAP
}
local
prefixlist2_fun
=
{
nil
,
TYPE_MONSTER
,
TYPE_SPELL
,
TYPE_TRAP
,
TYPE_SPELL
+
TYPE_TRAP
}
local
suffixlist1
=
{
""
,
"_th"
,
"_tg"
,
"_td"
,
"_rm"
,
"_sp1"
,
"_sp2"
}
local
suffixlist1
=
{
""
,
"_th"
,
"_tg"
,
"_td"
,
"_rm"
,
"_sp1"
,
"_sp2"
}
local
suffixlist1_fun
=
{
nil
,
Card
.
IsAbleToHand
,
Card
.
IsAbleToGrave
,
Card
.
IsAbleToDeck
,
Card
.
IsAbleToRemove
,
rscf
.
spfilter
(),
rscf
.
spfilter2
()
}
local
suffixlist1_fun
=
{
nil
,
Card
.
IsAbleToHand
,
Card
.
IsAbleToGrave
,
Card
.
IsAbleToDeck
,
Card
.
IsAbleToRemove
,
rscf
.
spfilter
(),
rscf
.
spfilter2
()
}
type_int
=
type_int
or
""
type_int
=
type_int
or
""
for
idx1
,
prefix1
in
pairs
(
prefixlist1
)
do
for
idx1
,
prefix1
in
pairs
(
prefixlist1
)
do
for
idx2
,
prefix2
in
pairs
(
prefixlist2
)
do
for
idx2
,
prefix2
in
pairs
(
prefixlist2
)
do
for
idx3
,
suffix1
in
pairs
(
suffixlist1
)
do
for
idx3
,
suffix1
in
pairs
(
suffixlist1
)
do
setmeta
[
"Is"
..
prefix1
..
"Set"
..
prefix2
..
type_int
..
suffix1
]
=
rscf
.
DefineSet_Fun
(
prefixlist1_fun
[
idx1
],
prefixlist2_fun
[
idx2
],
suffixlist1_fun
[
idx3
],
seriesstring
)
setmeta
[
"Is"
..
prefix1
..
"Set"
..
prefix2
..
type_int
..
suffix1
]
=
rscf
.
DefineSet_Fun
(
prefixlist1_fun
[
idx1
],
prefixlist2_fun
[
idx2
],
suffixlist1_fun
[
idx3
],
seriesstring
)
end
end
end
end
end
end
end
end
function
rscf
.
DefineSet_Fun
(
prefix1
,
prefix2
,
suffix1
,
seriesstring
)
function
rscf
.
DefineSet_Fun
(
prefix1
,
prefix2
,
suffix1
,
seriesstring
)
return
function
(
c
,
...
)
return
function
(
c
,
...
)
return
rscf
[
"Check"
..
prefix1
..
"SetCard"
](
c
,
seriesstring
)
and
(
not
prefix2
or
c
:
IsType
(
prefix2
))
return
rscf
[
"Check"
..
prefix1
..
"SetCard"
](
c
,
seriesstring
)
and
(
not
prefix2
or
c
:
IsType
(
prefix2
))
and
(
not
suffix1
or
suffix1
(
c
,
...
))
and
(
not
suffix1
or
suffix1
(
c
,
...
))
end
end
end
end
function
s
.
get_quick_buff_new_arr
(
...
)
function
s
.
get_quick_buff_new_arr
(
...
)
local
arr
=
{
...
}
local
arr
=
{
...
}
...
@@ -1249,10 +1250,10 @@ rscf.IsDarkSynchro = Scl.IsDarkSynchro
...
@@ -1249,10 +1250,10 @@ rscf.IsDarkSynchro = Scl.IsDarkSynchro
rscf
.
IsDarkTuner
=
Scl
.
IsDarkTuner
rscf
.
IsDarkTuner
=
Scl
.
IsDarkTuner
rscf
.
DarkTuner
=
Scl
.
DarkTuner
rscf
.
DarkTuner
=
Scl
.
DarkTuner
function
rscf
.
fufilter
(
f
,
...
)
function
rscf
.
fufilter
(
f
,
...
)
local
ext_paramms
=
{
...
}
local
ext_paramms
=
{
...
}
return
function
(
target
)
return
function
(
target
)
return
f
(
target
,
table.unpack
(
ext_paramms
))
and
target
:
IsFaceup
()
return
f
(
target
,
table.unpack
(
ext_paramms
))
and
target
:
IsFaceup
()
end
end
end
end
function
rscf
.
spfilter
(
f1
,
...
)
function
rscf
.
spfilter
(
f1
,
...
)
local
list
=
{
...
}
local
list
=
{
...
}
...
@@ -1524,200 +1525,200 @@ function rsgf.SelectOperate(sel_hint, g, sp, filter, minct, maxct, except_obj, s
...
@@ -1524,200 +1525,200 @@ function rsgf.SelectOperate(sel_hint, g, sp, filter, minct, maxct, except_obj, s
end
end
function
rsef
.
INDESTRUCTABLE_List
(
inds_list
)
function
rsef
.
INDESTRUCTABLE_List
(
inds_list
)
local
inds_list2
=
string.gsub
(
inds_list
,
"battle"
,
"indb"
)
local
inds_list2
=
string.gsub
(
inds_list
,
"battle"
,
"indb"
)
inds_list2
=
string.gsub
(
inds_list2
,
"effect"
,
"inde"
)
inds_list2
=
string.gsub
(
inds_list2
,
"effect"
,
"inde"
)
inds_list2
=
string.gsub
(
inds_list2
,
"ct"
,
"indct"
)
inds_list2
=
string.gsub
(
inds_list2
,
"ct"
,
"indct"
)
inds_list2
=
string.gsub
(
inds_list2
,
"all"
,
"ind"
)
inds_list2
=
string.gsub
(
inds_list2
,
"all"
,
"ind"
)
return
inds_list2
return
inds_list2
end
end
--Single Val Effect: Cannot destroed
--Single Val Effect: Cannot destroed
function
rsef
.
SV_INDESTRUCTABLE
(
reg_list
,
inds_list
,
val_list
,
con
,
reset_list
,
flag
,
desc_list
,
lim_list
)
function
rsef
.
SV_INDESTRUCTABLE
(
reg_list
,
inds_list
,
val_list
,
con
,
reset_list
,
flag
,
desc_list
,
lim_list
)
local
inds_list2
=
rsef
.
INDESTRUCTABLE_List
(
inds_list
)
local
inds_list2
=
rsef
.
INDESTRUCTABLE_List
(
inds_list
)
return
rsef
.
SV_Card
(
reg_list
,
inds_list2
,
val_list
,
nil
,
flag
,
con
,
reset_list
,
desc_list
,
lim_list
)
return
rsef
.
SV_Card
(
reg_list
,
inds_list2
,
val_list
,
nil
,
flag
,
con
,
reset_list
,
desc_list
,
lim_list
)
end
end
--Field Val Effect: Cannot destroed
--Field Val Effect: Cannot destroed
function
rsef
.
FV_INDESTRUCTABLE
(
reg_list
,
inds_list
,
val_list
,
tg
,
tg_range_list
,
con
,
reset_list
,
flag
,
desc_list
)
function
rsef
.
FV_INDESTRUCTABLE
(
reg_list
,
inds_list
,
val_list
,
tg
,
tg_range_list
,
con
,
reset_list
,
flag
,
desc_list
)
local
inds_list2
=
rsef
.
INDESTRUCTABLE_List
(
inds_list
)
local
inds_list2
=
rsef
.
INDESTRUCTABLE_List
(
inds_list
)
return
rsef
.
FV_Card
(
reg_list
,
inds_list2
,
val_list
,
tg
,
tg_range_list
,
flag
,
nil
,
con
,
reset_list
,
desc_list
,
lim_list
)
return
rsef
.
FV_Card
(
reg_list
,
inds_list2
,
val_list
,
tg
,
tg_range_list
,
flag
,
nil
,
con
,
reset_list
,
desc_list
,
lim_list
)
end
end
--Single Val Effect: Immue effects
--Single Val Effect: Immue effects
function
rsef
.
SV_IMMUNE_EFFECT
(
reg_list
,
val
,
con
,
reset_list
,
flag
,
desc_list
)
function
rsef
.
SV_IMMUNE_EFFECT
(
reg_list
,
val
,
con
,
reset_list
,
flag
,
desc_list
)
return
rsef
.
SV_Card
(
reg_list
,
"im"
,
val
,
flag
,
nil
,
con
,
reset_list
,
desc_list
)
return
rsef
.
SV_Card
(
reg_list
,
"im"
,
val
,
flag
,
nil
,
con
,
reset_list
,
desc_list
)
end
end
--Field Val Effect: Immue effects
--Field Val Effect: Immue effects
function
rsef
.
FV_IMMUNE_EFFECT
(
reg_list
,
val
,
tg
,
tg_range_list
,
con
,
reset_list
,
flag
,
desc_list
)
function
rsef
.
FV_IMMUNE_EFFECT
(
reg_list
,
val
,
tg
,
tg_range_list
,
con
,
reset_list
,
flag
,
desc_list
)
return
rsef
.
FV_Card
(
reg_list
,
"im"
,
val
,
tg
,
tg_range_list
,
flag
,
nil
,
con
,
reset_list
,
desc_list
)
return
rsef
.
FV_Card
(
reg_list
,
"im"
,
val
,
tg
,
tg_range_list
,
flag
,
nil
,
con
,
reset_list
,
desc_list
)
end
end
--Single Val Effect: Directly set ATK & DEF
--Single Val Effect: Directly set ATK & DEF
function
rsef
.
SV_SET
(
reg_list
,
set_list
,
val_list
,
con
,
reset_list
,
flag
,
desc_list
)
function
rsef
.
SV_SET
(
reg_list
,
set_list
,
val_list
,
con
,
reset_list
,
flag
,
desc_list
)
return
rsef
.
SV_Card
(
reg_list
,
set_list
,
val_list
,
flag
,
nil
,
con
,
reset_list
,
desc_list
)
return
rsef
.
SV_Card
(
reg_list
,
set_list
,
val_list
,
flag
,
nil
,
con
,
reset_list
,
desc_list
)
end
end
--Single Val Effect: Directly set other card attribute, except ATK & DEF
--Single Val Effect: Directly set other card attribute, except ATK & DEF
function
rsef
.
SV_CHANGE
(
reg_list
,
change_list
,
val_list
,
con
,
reset_list
,
flag
,
desc_list
)
function
rsef
.
SV_CHANGE
(
reg_list
,
change_list
,
val_list
,
con
,
reset_list
,
flag
,
desc_list
)
return
rsef
.
SV_Card
(
reg_list
,
change_list
,
val_list
,
flag
,
nil
,
con
,
reset_list
,
desc_list
)
return
rsef
.
SV_Card
(
reg_list
,
change_list
,
val_list
,
flag
,
nil
,
con
,
reset_list
,
desc_list
)
end
end
--Field Val Effect: Directly set other card attribute, except ATK & DEF
--Field Val Effect: Directly set other card attribute, except ATK & DEF
function
rsef
.
FV_CHANGE
(
reg_list
,
change_list
,
val_list
,
tg
,
tg_range_list
,
con
,
reset_list
,
flag
,
desc_list
)
function
rsef
.
FV_CHANGE
(
reg_list
,
change_list
,
val_list
,
tg
,
tg_range_list
,
con
,
reset_list
,
flag
,
desc_list
)
return
rsef
.
FV_Card
(
reg_list
,
change_list
,
val_list
,
tg
,
tg_range_list
,
flag
,
nil
,
con
,
reset_list
,
desc_list
)
return
rsef
.
FV_Card
(
reg_list
,
change_list
,
val_list
,
tg
,
tg_range_list
,
flag
,
nil
,
con
,
reset_list
,
desc_list
)
end
end
--Single Val Effect: Update attribute
--Single Val Effect: Update attribute
function
rsef
.
SV_UPDATE
(
reg_list
,
up_list
,
val_list
,
con
,
reset_list
,
flag
,
desc_list
)
function
rsef
.
SV_UPDATE
(
reg_list
,
up_list
,
val_list
,
con
,
reset_list
,
flag
,
desc_list
)
local
str_list
=
Scl
.
UniformSclParamaFormat
(
up_list
)
local
str_list
=
Scl
.
UniformSclParamaFormat
(
up_list
)
local
str
=
""
local
str
=
""
for
idx
,
string
in
pairs
(
str_list
)
do
for
idx
,
string
in
pairs
(
str_list
)
do
if
idx
>
1
then
if
idx
>
1
then
str
=
str
..
","
str
=
str
..
","
end
end
str
=
str
..
string
..
"+"
str
=
str
..
string
..
"+"
end
end
return
rsef
.
SV_Card
(
reg_list
,
str
,
val_list
,
flag
,
nil
,
con
,
reset_list
,
desc_list
)
return
rsef
.
SV_Card
(
reg_list
,
str
,
val_list
,
flag
,
nil
,
con
,
reset_list
,
desc_list
)
end
end
--Field Val Effect: Updata some card attributes
--Field Val Effect: Updata some card attributes
function
rsef
.
FV_UPDATE
(
reg_list
,
up_list
,
val_list
,
tg
,
tg_range_list
,
con
,
reset_list
,
flag
,
desc_list
)
function
rsef
.
FV_UPDATE
(
reg_list
,
up_list
,
val_list
,
tg
,
tg_range_list
,
con
,
reset_list
,
flag
,
desc_list
)
local
str_list
=
Scl
.
UniformSclParamaFormat
(
up_list
)
local
str_list
=
Scl
.
UniformSclParamaFormat
(
up_list
)
local
str
=
""
local
str
=
""
for
idx
,
string
in
pairs
(
str_list
)
do
for
idx
,
string
in
pairs
(
str_list
)
do
if
idx
>
1
then
if
idx
>
1
then
str
=
str
..
","
str
=
str
..
","
end
end
str
=
str
..
string
..
"+"
str
=
str
..
string
..
"+"
end
end
return
rsef
.
FV_Card
(
reg_list
,
str
,
val_list
,
tg
,
tg_range_list
,
flag
,
nil
,
con
,
reset_list
,
desc_list
)
return
rsef
.
FV_Card
(
reg_list
,
str
,
val_list
,
tg
,
tg_range_list
,
flag
,
nil
,
con
,
reset_list
,
desc_list
)
end
end
--Single Val Effect: Add attribute
--Single Val Effect: Add attribute
function
rsef
.
SV_ADD
(
reg_list
,
add_list
,
val_list
,
con
,
reset_list
,
flag
,
desc_list
)
function
rsef
.
SV_ADD
(
reg_list
,
add_list
,
val_list
,
con
,
reset_list
,
flag
,
desc_list
)
return
rsef
.
SV_UPDATE
(
reg_list
,
add_list
,
val_list
,
flag
,
nil
,
con
,
reset_list
,
desc_list
)
return
rsef
.
SV_UPDATE
(
reg_list
,
add_list
,
val_list
,
flag
,
nil
,
con
,
reset_list
,
desc_list
)
end
end
--Field Val Effect: Directly set other card attribute, except ATK & DEF
--Field Val Effect: Directly set other card attribute, except ATK & DEF
function
rsef
.
FV_ADD
(
reg_list
,
add_list
,
val_list
,
tg
,
tg_range_list
,
con
,
reset_list
,
flag
,
desc_list
)
function
rsef
.
FV_ADD
(
reg_list
,
add_list
,
val_list
,
tg
,
tg_range_list
,
con
,
reset_list
,
flag
,
desc_list
)
return
rsef
.
FV_UPDATE
(
reg_list
,
add_list
,
val_list
,
tg
,
tg_range_list
,
flag
,
nil
,
con
,
reset_list
,
desc_list
)
return
rsef
.
FV_UPDATE
(
reg_list
,
add_list
,
val_list
,
tg
,
tg_range_list
,
flag
,
nil
,
con
,
reset_list
,
desc_list
)
end
end
--Single Val Effect: Material lim_
--Single Val Effect: Material lim_
function
rsef
.
SV_CANNOT_BE_MATERIAL
(
reg_list
,
mat_list
,
val_list
,
con
,
reset_list
,
flag
,
desc_list
)
function
rsef
.
SV_CANNOT_BE_MATERIAL
(
reg_list
,
mat_list
,
val_list
,
con
,
reset_list
,
flag
,
desc_list
)
local
flag2
=
rsef
.
GetRegisterProperty
(
nil
,
flag
)
local
flag2
=
rsef
.
GetRegisterProperty
(
nil
,
flag
)
flag2
=
flag2
|
(
EFFECT_FLAG_CANNOT_DISABLE
+
EFFECT_FLAG_UNCOPYABLE
)
flag2
=
flag2
|
(
EFFECT_FLAG_CANNOT_DISABLE
+
EFFECT_FLAG_UNCOPYABLE
)
local
str_list
=
Scl
.
UniformSclParamaFormat
(
mat_list
)
local
str_list
=
Scl
.
UniformSclParamaFormat
(
mat_list
)
local
str_list2
=
{
}
local
str_list2
=
{
}
local
string2
local
string2
for
_
,
string
in
pairs
(
str_list
)
do
for
_
,
string
in
pairs
(
str_list
)
do
string2
=
string.sub
(
string
,
1
,
1
)
string2
=
string.sub
(
string
,
1
,
1
)
table.insert
(
str_list2
,
string2
..
"mat~"
)
table.insert
(
str_list2
,
string2
..
"mat~"
)
end
end
return
rsef
.
SV_Card
(
reg_list
,
str_list2
,
val_list
,
flag2
,
nil
,
con
,
reset_list
,
desc_list
)
return
rsef
.
SV_Card
(
reg_list
,
str_list2
,
val_list
,
flag2
,
nil
,
con
,
reset_list
,
desc_list
)
end
end
--Single Val Effect: Cannot be battle or card effect target
--Single Val Effect: Cannot be battle or card effect target
function
rsef
.
SV_CANNOT_BE_TARGET
(
reg_list
,
tg_list
,
val_list
,
con
,
reset_list
,
flag
,
desc_list
)
function
rsef
.
SV_CANNOT_BE_TARGET
(
reg_list
,
tg_list
,
val_list
,
con
,
reset_list
,
flag
,
desc_list
)
local
tg_list2
=
string.gsub
(
tg_list
,
"battle"
,
"tgb~"
)
local
tg_list2
=
string.gsub
(
tg_list
,
"battle"
,
"tgb~"
)
tg_list2
=
string.gsub
(
tg_list2
,
"effect"
,
"tge~"
)
tg_list2
=
string.gsub
(
tg_list2
,
"effect"
,
"tge~"
)
return
rsef
.
SV_Card
(
reg_list
,
tg_list2
,
val_list
,
flag
,
nil
,
con
,
reset_list
,
desc_list
)
return
rsef
.
SV_Card
(
reg_list
,
tg_list2
,
val_list
,
flag
,
nil
,
con
,
reset_list
,
desc_list
)
end
end
--Field Val Effect: Cannot be battle or card effect target
--Field Val Effect: Cannot be battle or card effect target
function
rsef
.
FV_CANNOT_BE_TARGET
(
reg_list
,
tg_list
,
val_list
,
tg
,
tg_range_list
,
con
,
reset_list
,
flag
,
desc_list
)
function
rsef
.
FV_CANNOT_BE_TARGET
(
reg_list
,
tg_list
,
val_list
,
tg
,
tg_range_list
,
con
,
reset_list
,
flag
,
desc_list
)
local
tg_list2
=
string.gsub
(
tg_list
,
"battle"
,
"tgb~"
)
local
tg_list2
=
string.gsub
(
tg_list
,
"battle"
,
"tgb~"
)
tg_list2
=
string.gsub
(
tg_list2
,
"effect"
,
"tge~"
)
tg_list2
=
string.gsub
(
tg_list2
,
"effect"
,
"tge~"
)
return
rsef
.
FV_Card
(
reg_list
,
tg_list2
,
val_list
,
tg
,
tg_range_list
,
flag
,
nil
,
con
,
reset_list
,
desc_list
)
return
rsef
.
FV_Card
(
reg_list
,
tg_list2
,
val_list
,
tg
,
tg_range_list
,
flag
,
nil
,
con
,
reset_list
,
desc_list
)
end
end
--Cannot disable
--Cannot disable
function
rsef
.
CANNOT_DISABLE_List
(
dis_list
)
function
rsef
.
CANNOT_DISABLE_List
(
dis_list
)
local
compare_list
=
{
[
"dise"
]
=
"dise~"
,
[
"dis"
]
=
"dis~"
,
[
"act"
]
=
"neg~"
,
[
"sum"
]
=
"dsum~"
,
[
"sp"
]
=
"dsp~"
,
[
"fp"
]
=
"dfp"
,
[
"neg"
]
=
"neg~"
}
local
compare_list
=
{
[
"dise"
]
=
"dise~"
,
[
"dis"
]
=
"dis~"
,
[
"act"
]
=
"neg~"
,
[
"sum"
]
=
"dsum~"
,
[
"sp"
]
=
"dsp~"
,
[
"fp"
]
=
"dfp"
,
[
"neg"
]
=
"neg~"
}
local
dis_list2
=
Scl
.
SplitString
(
dis_list
,
","
)
local
dis_list2
=
Scl
.
SplitString
(
dis_list
,
","
)
local
dis_list3
=
""
local
dis_list3
=
""
for
_
,
str
in
pairs
(
dis_list2
)
do
for
_
,
str
in
pairs
(
dis_list2
)
do
dis_list3
=
dis_list3
..
compare_list
[
str
]
..
","
dis_list3
=
dis_list3
..
compare_list
[
str
]
..
","
end
end
dis_list3
=
string.sub
(
dis_list3
,
1
,
-
2
)
dis_list3
=
string.sub
(
dis_list3
,
1
,
-
2
)
return
dis_list3
return
dis_list3
end
end
--Single Val Effect: Cannot disable
--Single Val Effect: Cannot disable
function
rsef
.
SV_CANNOT_DISABLE
(
reg_list
,
dis_list
,
val_list
,
con
,
reset_list
,
flag
,
desc_list
,
range
)
function
rsef
.
SV_CANNOT_DISABLE
(
reg_list
,
dis_list
,
val_list
,
con
,
reset_list
,
flag
,
desc_list
,
range
)
local
dis_list2
=
rsef
.
CANNOT_DISABLE_List
(
dis_list
)
local
dis_list2
=
rsef
.
CANNOT_DISABLE_List
(
dis_list
)
return
rsef
.
SV_Card
(
reg_list
,
dis_list2
,
val_list
,
flag
,
range
,
con
,
reset_list
,
desc_list
)
return
rsef
.
SV_Card
(
reg_list
,
dis_list2
,
val_list
,
flag
,
range
,
con
,
reset_list
,
desc_list
)
end
end
function
rsef
.
SV_CANNOT_DISABLE_val
(
e
,
ct
)
function
rsef
.
SV_CANNOT_DISABLE_val
(
e
,
ct
)
local
te
=
Duel
.
GetChainInfo
(
ct
,
CHAININFO_TRIGGERING_EFFECT
)
local
te
=
Duel
.
GetChainInfo
(
ct
,
CHAININFO_TRIGGERING_EFFECT
)
return
te
:
GetHandler
()
==
e
:
GetHandler
()
return
te
:
GetHandler
()
==
e
:
GetHandler
()
end
end
--Field Val Effect: Cannot Disable
--Field Val Effect: Cannot Disable
function
rsef
.
FV_CANNOT_DISABLE
(
reg_list
,
dis_list
,
val_list
,
tg
,
tg_range_list
,
con
,
reset_list
,
flag
,
desc_list
)
function
rsef
.
FV_CANNOT_DISABLE
(
reg_list
,
dis_list
,
val_list
,
tg
,
tg_range_list
,
con
,
reset_list
,
flag
,
desc_list
)
local
dis_list2
=
rsef
.
CANNOT_DISABLE_List
(
dis_list
)
local
dis_list2
=
rsef
.
CANNOT_DISABLE_List
(
dis_list
)
return
rsef
.
FV_Card
(
reg_list
,
dis_list2
,
val_list
,
tg
,
tg_range_list
,
flag
,
nil
,
con
,
reset_list
,
desc_list
)
return
rsef
.
FV_Card
(
reg_list
,
dis_list2
,
val_list
,
tg
,
tg_range_list
,
flag
,
nil
,
con
,
reset_list
,
desc_list
)
end
end
--Limit List
--Limit List
function
rsef
.
LIMIT_List
(
lim_list
)
function
rsef
.
LIMIT_List
(
lim_list
)
local
str_list
=
Scl
.
UniformSclParamaFormat
(
lim_list
)
local
str_list
=
Scl
.
UniformSclParamaFormat
(
lim_list
)
local
str_list2
=
{
}
local
str_list2
=
{
}
for
_
,
string
in
pairs
(
str_list
)
do
for
_
,
string
in
pairs
(
str_list
)
do
if
string
~=
"dis"
and
string
~=
"distm"
and
string
~=
"dise"
if
string
~=
"dis"
and
string
~=
"distm"
and
string
~=
"dise"
and
string
~=
"sbp"
and
string
~=
"sm1"
and
string
~=
"sm2"
and
string
~=
"sbp"
and
string
~=
"sm1"
and
string
~=
"sm2"
and
string
~=
"sdp"
and
string
~=
"ssp"
then
and
string
~=
"sdp"
and
string
~=
"ssp"
then
string
=
string
..
"~"
string
=
string
..
"~"
end
end
string
=
string.gsub
(
string
,
"datk~"
,
"atkd~"
)
string
=
string.gsub
(
string
,
"datk~"
,
"atkd~"
)
table.insert
(
str_list2
,
string
)
table.insert
(
str_list2
,
string
)
end
end
return
str_list2
return
str_list2
end
end
--Single Val Effect: Other Limit
--Single Val Effect: Other Limit
function
rsef
.
SV_LIMIT
(
reg_list
,
lim_list
,
val_list
,
con
,
reset_list
,
flag
,
desc_list
)
function
rsef
.
SV_LIMIT
(
reg_list
,
lim_list
,
val_list
,
con
,
reset_list
,
flag
,
desc_list
)
local
str_list2
=
rsef
.
LIMIT_List
(
lim_list
)
local
str_list2
=
rsef
.
LIMIT_List
(
lim_list
)
return
rsef
.
SV_Card
(
reg_list
,
str_list2
,
val_list
,
flag
,
nil
,
con
,
reset_list
,
desc_list
)
return
rsef
.
SV_Card
(
reg_list
,
str_list2
,
val_list
,
flag
,
nil
,
con
,
reset_list
,
desc_list
)
end
end
--Field Val Effect: Other Limit
--Field Val Effect: Other Limit
function
rsef
.
FV_LIMIT
(
reg_list
,
lim_list
,
val_list
,
tg
,
tg_range_list
,
con
,
reset_list
,
flag
,
desc_list
)
function
rsef
.
FV_LIMIT
(
reg_list
,
lim_list
,
val_list
,
tg
,
tg_range_list
,
con
,
reset_list
,
flag
,
desc_list
)
local
str_list2
=
rsef
.
LIMIT_List
(
lim_list
)
local
str_list2
=
rsef
.
LIMIT_List
(
lim_list
)
return
rsef
.
FV_Card
(
reg_list
,
str_list2
,
val_list
,
tg
,
tg_range_list
,
flag
,
nil
,
con
,
reset_list
,
desc_list
)
return
rsef
.
FV_Card
(
reg_list
,
str_list2
,
val_list
,
tg
,
tg_range_list
,
flag
,
nil
,
con
,
reset_list
,
desc_list
)
end
end
--Field Val Effect: Other Limit (affect Player)
--Field Val Effect: Other Limit (affect Player)
function
rsef
.
FV_LIMIT_PLAYER
(
reg_list
,
lim_list
,
val_list
,
tg
,
tg_range_list
,
con
,
reset_list
,
flag
,
desc_list
)
function
rsef
.
FV_LIMIT_PLAYER
(
reg_list
,
lim_list
,
val_list
,
tg
,
tg_range_list
,
con
,
reset_list
,
flag
,
desc_list
)
local
str_list2
=
rsef
.
LIMIT_List
(
lim_list
)
local
str_list2
=
rsef
.
LIMIT_List
(
lim_list
)
return
rsef
.
FV_Player
(
reg_list
,
str_list2
,
val_list
,
tg
,
tg_range_list
,
flag
,
nil
,
con
,
reset_list
,
desc_list
)
return
rsef
.
FV_Player
(
reg_list
,
str_list2
,
val_list
,
tg
,
tg_range_list
,
flag
,
nil
,
con
,
reset_list
,
desc_list
)
end
end
--Leave field list
--Leave field list
function
rsef
.
REDIRECT_LIST
(
leave_list
)
function
rsef
.
REDIRECT_LIST
(
leave_list
)
local
str_list
=
Scl
.
UniformSclParamaFormat
(
leave_list
)
local
str_list
=
Scl
.
UniformSclParamaFormat
(
leave_list
)
local
str_list2
=
{
}
local
str_list2
=
{
}
for
_
,
string
in
pairs
(
str_list
)
do
for
_
,
string
in
pairs
(
str_list
)
do
if
string
==
"leave"
then
if
string
==
"leave"
then
table.insert
(
str_list2
,
"rlf"
)
table.insert
(
str_list2
,
"rlf"
)
else
else
table.insert
(
str_list2
,
"r"
..
string
)
table.insert
(
str_list2
,
"r"
..
string
)
end
end
end
end
return
str_list2
return
str_list2
end
end
--Single Val Effect: Leave field redirect
--Single Val Effect: Leave field redirect
function
rsef
.
SV_REDIRECT
(
reg_list
,
leave_list
,
val_list
,
con
,
reset_list
,
flag
,
desc_list
)
function
rsef
.
SV_REDIRECT
(
reg_list
,
leave_list
,
val_list
,
con
,
reset_list
,
flag
,
desc_list
)
local
str_list2
=
rsef
.
REDIRECT_LIST
(
leave_list
)
local
str_list2
=
rsef
.
REDIRECT_LIST
(
leave_list
)
return
rsef
.
SV_Card
(
reg_list
,
str_list2
,
val_list
,
flag
,
nil
,
con
,
reset_list
,
desc_list
)
return
rsef
.
SV_Card
(
reg_list
,
str_list2
,
val_list
,
flag
,
nil
,
con
,
reset_list
,
desc_list
)
end
end
--Field Val Effect: Leave field redirect
--Field Val Effect: Leave field redirect
function
rsef
.
FV_REDIRECT
(
reg_list
,
leave_list
,
val_list
,
tg
,
tg_range_list
,
con
,
reset_list
,
flag
,
desc_list
)
function
rsef
.
FV_REDIRECT
(
reg_list
,
leave_list
,
val_list
,
tg
,
tg_range_list
,
con
,
reset_list
,
flag
,
desc_list
)
local
str_list2
=
rsef
.
REDIRECT_LIST
(
leave_list
)
local
str_list2
=
rsef
.
REDIRECT_LIST
(
leave_list
)
local
flag2
=
rsef
.
GetRegisterProperty
(
nil
,
flag
)
|
(
EFFECT_FLAG_IGNORE_IMMUNE
+
EFFECT_FLAG_SET_AVAILABLE
)
local
flag2
=
rsef
.
GetRegisterProperty
(
nil
,
flag
)
|
(
EFFECT_FLAG_IGNORE_IMMUNE
+
EFFECT_FLAG_SET_AVAILABLE
)
if
tg_range_list
and
(
tg_range_list
[
1
]
==
0xff
and
tg_range_list
[
2
]
==
0xff
)
then
if
tg_range_list
and
(
tg_range_list
[
1
]
==
0xff
and
tg_range_list
[
2
]
==
0xff
)
then
flag2
=
flag2
|
EFFECT_FLAG_IGNORE_RANGE
flag2
=
flag2
|
EFFECT_FLAG_IGNORE_RANGE
end
end
return
rsef
.
FV_Card
(
reg_list
,
str_list2
,
val_list
,
tg
,
tg_range_list
,
flag2
,
nil
,
con
,
reset_list
,
desc_list
)
return
rsef
.
FV_Card
(
reg_list
,
str_list2
,
val_list
,
tg
,
tg_range_list
,
flag2
,
nil
,
con
,
reset_list
,
desc_list
)
end
end
--Single Val Effect: Activate Trap / Quick Spell immediately
--Single Val Effect: Activate Trap / Quick Spell immediately
function
rsef
.
SV_ACTIVATE_IMMEDIATELY
(
reg_list
,
act_list
,
con
,
reset_list
,
flag
,
desc_list
)
function
rsef
.
SV_ACTIVATE_IMMEDIATELY
(
reg_list
,
act_list
,
con
,
reset_list
,
flag
,
desc_list
)
local
act_list2
local
act_list2
local
reg_owner
,
reg_handler
=
Scl
.
GetRegisterInfo
(
reg_list
)
local
reg_owner
,
reg_handler
=
Scl
.
GetRegisterInfo
(
reg_list
)
if
reg_handler
:
IsComplexType
(
TYPE_QUICKPLAY
+
TYPE_SPELL
)
then
if
reg_handler
:
IsComplexType
(
TYPE_QUICKPLAY
+
TYPE_SPELL
)
then
act_list2
=
string.gsub
(
act_list
,
"hand"
,
"qah"
)
act_list2
=
string.gsub
(
act_list
,
"hand"
,
"qah"
)
act_list2
=
string.gsub
(
act_list2
,
"set"
,
"qas"
)
act_list2
=
string.gsub
(
act_list2
,
"set"
,
"qas"
)
elseif
reg_handler
:
IsComplexType
(
TYPE_TRAP
)
then
elseif
reg_handler
:
IsComplexType
(
TYPE_TRAP
)
then
act_list2
=
string.gsub
(
act_list
,
"hand"
,
"tah"
)
act_list2
=
string.gsub
(
act_list
,
"hand"
,
"tah"
)
act_list2
=
string.gsub
(
act_list2
,
"set"
,
"tas"
)
act_list2
=
string.gsub
(
act_list2
,
"set"
,
"tas"
)
end
end
return
rsef
.
SV_Card
(
reg_list
,
act_list2
,
1
,
flag
,
0xff
,
con
,
reset_list
,
desc_list
)
return
rsef
.
SV_Card
(
reg_list
,
act_list2
,
1
,
flag
,
0xff
,
con
,
reset_list
,
desc_list
)
end
end
--cost: tribute self
--cost: tribute self
function
rscost
.
releaseself
(
check_mzone
,
check_exzone
)
function
rscost
.
releaseself
(
check_mzone
,
check_exzone
)
return
function
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
return
function
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
local
c
=
e
:
GetHandler
()
local
c
=
e
:
GetHandler
()
if
chk
==
0
then
return
c
:
IsReleasable
()
and
(
not
check_mzone
or
Duel
.
GetMZoneCount
(
tp
,
c
,
tp
)
>
0
)
and
(
not
check_exzone
or
Duel
.
GetLocationCountFromEx
(
tp
,
tp
,
c
,
exmzone
)
>
0
)
end
if
chk
==
0
then
return
c
:
IsReleasable
()
and
(
not
check_mzone
or
Duel
.
GetMZoneCount
(
tp
,
c
,
tp
)
>
0
)
and
(
not
check_exzone
or
Duel
.
GetLocationCountFromEx
(
tp
,
tp
,
c
,
exmzone
)
>
0
)
end
Duel
.
Release
(
c
,
REASON_COST
)
Duel
.
Release
(
c
,
REASON_COST
)
end
end
end
end
rsof
.
Table_List
=
Scl
.
IsArrayContains_Single
rsof
.
Table_List
=
Scl
.
IsArrayContains_Single
\ No newline at end of file
expansions/script/c95101141.lua
View file @
08a50bb2
...
@@ -13,6 +13,7 @@ function c95101141.initial_effect(c)
...
@@ -13,6 +13,7 @@ function c95101141.initial_effect(c)
e1
:
SetType
(
EFFECT_TYPE_ACTIVATE
)
e1
:
SetType
(
EFFECT_TYPE_ACTIVATE
)
e1
:
SetCode
(
EVENT_SUMMON_SUCCESS
)
e1
:
SetCode
(
EVENT_SUMMON_SUCCESS
)
e1
:
SetCountLimit
(
1
,
95101141
+
EFFECT_COUNT_CODE_OATH
)
e1
:
SetCountLimit
(
1
,
95101141
+
EFFECT_COUNT_CODE_OATH
)
e1
:
SetCondition
(
c95101141
.
condition
)
e1
:
SetTarget
(
c95101141
.
target
)
e1
:
SetTarget
(
c95101141
.
target
)
e1
:
SetOperation
(
c95101141
.
activate
)
e1
:
SetOperation
(
c95101141
.
activate
)
c
:
RegisterEffect
(
e1
)
c
:
RegisterEffect
(
e1
)
...
@@ -23,6 +24,9 @@ end
...
@@ -23,6 +24,9 @@ end
function
c95101141
.
handcon
(
e
)
function
c95101141
.
handcon
(
e
)
return
Duel
.
IsExistingMatchingCard
(
Card
.
IsSummonLocation
,
e
:
GetHandlerPlayer
(),
0
,
LOCATION_MZONE
,
1
,
nil
,
LOCATION_EXTRA
)
return
Duel
.
IsExistingMatchingCard
(
Card
.
IsSummonLocation
,
e
:
GetHandlerPlayer
(),
0
,
LOCATION_MZONE
,
1
,
nil
,
LOCATION_EXTRA
)
end
end
function
c95101141
.
thcon
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
return
eg
:
IsExists
(
Card
.
IsSummonPlayer
,
1
,
nil
,
1
-
tp
)
end
function
c95101141
.
thfilter
(
c
,
chk
)
function
c95101141
.
thfilter
(
c
,
chk
)
return
c
:
IsSetCard
(
0xbbe
)
and
c
:
IsType
(
TYPE_MONSTER
)
and
c
:
IsAbleToHand
()
and
(
chk
==
0
or
aux
.
NecroValleyFilter
()(
c
))
return
c
:
IsSetCard
(
0xbbe
)
and
c
:
IsType
(
TYPE_MONSTER
)
and
c
:
IsAbleToHand
()
and
(
chk
==
0
or
aux
.
NecroValleyFilter
()(
c
))
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