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
八宫一月
pre-release-database-cdb
Commits
1e2f66a0
You need to sign in or sign up before continuing.
Commit
1e2f66a0
authored
Aug 06, 2024
by
wind2009
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Update library
parent
3f250783
Changes
6
Hide whitespace changes
Inline
Side-by-side
Showing
6 changed files
with
178 additions
and
65 deletions
+178
-65
script/c101206011.lua
script/c101206011.lua
+2
-2
script/c23756165.lua
script/c23756165.lua
+2
-2
script/c50140163.lua
script/c50140163.lua
+2
-2
script/c87257460.lua
script/c87257460.lua
+4
-2
script/procedure.lua
script/procedure.lua
+32
-33
script/utility.lua
script/utility.lua
+136
-24
No files found.
script/c101206011.lua
View file @
1e2f66a0
...
...
@@ -51,10 +51,10 @@ function s.spop(e,tp,eg,ep,ev,re,r,rp)
Duel
.
SpecialSummon
(
c
,
0
,
tp
,
tp
,
false
,
false
,
POS_FACEUP
)
end
function
s
.
eqcon1
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
return
not
aux
.
GoldenAllureQueenCondition
(
e
:
GetHandler
(),
tp
)
return
not
aux
.
IsCanBeQuickEffect
(
e
:
GetHandler
(),
tp
,
95937545
)
end
function
s
.
eqcon2
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
return
aux
.
GoldenAllureQueenCondition
(
e
:
GetHandler
(),
tp
)
return
aux
.
IsCanBeQuickEffect
(
e
:
GetHandler
(),
tp
,
95937545
)
end
function
s
.
eqfilter
(
c
,
tp
)
return
c
:
IsType
(
TYPE_MONSTER
)
and
not
c
:
IsForbidden
()
and
c
:
CheckUniqueOnField
(
tp
)
...
...
script/c23756165.lua
View file @
1e2f66a0
...
...
@@ -48,11 +48,11 @@ function c23756165.regop(e,tp,eg,ep,ev,re,r,rp)
end
function
c23756165
.
eqcon1
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
c
=
e
:
GetHandler
()
return
c
:
GetFlagEffect
(
id
+
1
)
>
0
and
not
aux
.
IsSelfEquip
(
c
,
FLAG_ID_ALLURE_QUEEN
)
and
not
aux
.
GoldenAllureQueenCondition
(
c
,
tp
)
return
c
:
GetFlagEffect
(
id
+
1
)
>
0
and
not
aux
.
IsSelfEquip
(
c
,
FLAG_ID_ALLURE_QUEEN
)
and
not
aux
.
IsCanBeQuickEffect
(
c
,
tp
,
95937545
)
end
function
c23756165
.
eqcon2
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
c
=
e
:
GetHandler
()
return
c
:
GetFlagEffect
(
id
+
1
)
>
0
and
not
aux
.
IsSelfEquip
(
c
,
FLAG_ID_ALLURE_QUEEN
)
and
aux
.
GoldenAllureQueenCondition
(
c
,
tp
)
return
c
:
GetFlagEffect
(
id
+
1
)
>
0
and
not
aux
.
IsSelfEquip
(
c
,
FLAG_ID_ALLURE_QUEEN
)
and
aux
.
IsCanBeQuickEffect
(
c
,
tp
,
95937545
)
end
function
c23756165
.
filter
(
c
)
return
c
:
IsLevelBelow
(
5
)
and
c
:
IsFaceup
()
and
c
:
IsAbleToChangeControler
()
...
...
script/c50140163.lua
View file @
1e2f66a0
...
...
@@ -36,11 +36,11 @@ function c50140163.regop(e,tp,eg,ep,ev,re,r,rp)
end
function
c50140163
.
eqcon1
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
c
=
e
:
GetHandler
()
return
c
:
GetFlagEffect
(
id
+
1
)
>
0
and
not
aux
.
IsSelfEquip
(
c
,
FLAG_ID_ALLURE_QUEEN
)
and
not
aux
.
GoldenAllureQueenCondition
(
c
,
tp
)
return
c
:
GetFlagEffect
(
id
+
1
)
>
0
and
not
aux
.
IsSelfEquip
(
c
,
FLAG_ID_ALLURE_QUEEN
)
and
not
aux
.
IsCanBeQuickEffect
(
c
,
tp
,
95937545
)
end
function
c50140163
.
eqcon2
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
c
=
e
:
GetHandler
()
return
c
:
GetFlagEffect
(
id
+
1
)
>
0
and
not
aux
.
IsSelfEquip
(
c
,
FLAG_ID_ALLURE_QUEEN
)
and
aux
.
GoldenAllureQueenCondition
(
c
,
tp
)
return
c
:
GetFlagEffect
(
id
+
1
)
>
0
and
not
aux
.
IsSelfEquip
(
c
,
FLAG_ID_ALLURE_QUEEN
)
and
aux
.
IsCanBeQuickEffect
(
c
,
tp
,
95937545
)
end
function
c50140163
.
filter
(
c
)
return
c
:
IsAbleToChangeControler
()
...
...
script/c87257460.lua
View file @
1e2f66a0
...
...
@@ -34,10 +34,12 @@ function c87257460.initial_effect(c)
end
c87257460
.
lvup
=
{
23756165
}
function
c87257460
.
eqcon1
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
return
not
aux
.
IsSelfEquip
(
e
:
GetHandler
(),
FLAG_ID_ALLURE_QUEEN
)
and
not
aux
.
GoldenAllureQueenCondition
(
e
:
GetHandler
(),
tp
)
local
c
=
e
:
GetHandler
()
return
not
aux
.
IsSelfEquip
(
c
,
FLAG_ID_ALLURE_QUEEN
)
and
not
aux
.
IsCanBeQuickEffect
(
c
,
tp
,
95937545
)
end
function
c87257460
.
eqcon2
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
return
not
aux
.
IsSelfEquip
(
e
:
GetHandler
(),
FLAG_ID_ALLURE_QUEEN
)
and
aux
.
GoldenAllureQueenCondition
(
e
:
GetHandler
(),
tp
)
local
c
=
e
:
GetHandler
()
return
not
aux
.
IsSelfEquip
(
c
,
FLAG_ID_ALLURE_QUEEN
)
and
aux
.
IsCanBeQuickEffect
(
c
,
tp
,
95937545
)
end
function
c87257460
.
filter
(
c
)
return
c
:
IsLevelBelow
(
3
)
and
c
:
IsFaceup
()
and
c
:
IsAbleToChangeControler
()
...
...
script/procedure.lua
View file @
1e2f66a0
...
...
@@ -847,12 +847,11 @@ function Auxiliary.XyzLevelFreeOperationAlter(f,gf,minct,maxct,alterf,alterdesc,
end
--Fusion Summon
--material: names in material list
---Fusion monster, mixed materials (fixed count)
---@param fcard Card
---@param sub boolean
---@param insf boolean
---@param sub boolean
Can be fusion summoned with substitute material
---@param insf boolean
Can be fusion summoned with no material (Instant Fusion)
---@param ... number|function|table
function
Auxiliary
.
AddFusionProcMix
(
fcard
,
sub
,
insf
,
...
)
if
fcard
:
IsStatus
(
STATUS_COPYING_EFFECT
)
then
return
end
...
...
@@ -903,17 +902,17 @@ function Auxiliary.FConditionMix(insf,sub,...)
--g:Material group(nil for Instant Fusion)
--gc:Material already used
--chkf: check field, default:PLAYER_NONE
--chkf&0x100: Not fusion summon
--chkf&0x200:
Concat fusion
--chkf&0x100: Not fusion summon
, can use substitute (Hex-Sealed Fusion)
--chkf&0x200:
Not fusion summon, can't use substitute ("Contact Fusion", Neos Fusion)
local
funs
=
{
...
}
return
function
(
e
,
g
,
gc
,
chkfnf
)
if
g
==
nil
then
return
insf
and
Auxiliary
.
MustMaterialCheck
(
nil
,
e
:
GetHandlerPlayer
(),
EFFECT_MUST_BE_FMATERIAL
)
end
local
c
=
e
:
GetHandler
()
local
tp
=
c
:
GetControler
()
local
notfusion
=
chkfnf
&
0x100
>
0
local
concat_
fusion
=
chkfnf
&
0x200
>
0
local
sub2
=
(
sub
or
notfusion
)
and
not
concat_
fusion
local
mg
=
g
:
Filter
(
Auxiliary
.
FConditionFilterMix
,
c
,
c
,
sub2
,
concat_
fusion
,
table.unpack
(
funs
))
local
hexsealed
=
chkfnf
&
0x100
>
0
local
not
fusion
=
chkfnf
&
0x200
>
0
local
sub2
=
(
sub
or
hexsealed
)
and
not
not
fusion
local
mg
=
g
:
Filter
(
Auxiliary
.
FConditionFilterMix
,
c
,
c
,
sub2
,
not
fusion
,
table.unpack
(
funs
))
if
gc
then
if
not
mg
:
IsContains
(
gc
)
then
return
false
end
Duel
.
SetSelectedCard
(
gc
)
...
...
@@ -925,11 +924,11 @@ function Auxiliary.FOperationMix(insf,sub,...)
local
funs
=
{
...
}
return
function
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
gc
,
chkfnf
)
local
c
=
e
:
GetHandler
()
local
notfusion
=
chkfnf
&
0x100
>
0
local
concat_
fusion
=
chkfnf
&
0x200
>
0
local
sub2
=
(
sub
or
notfusion
)
and
not
concat_
fusion
local
cancel
=
concat_
fusion
and
Duel
.
GetCurrentChain
()
==
0
local
mg
=
eg
:
Filter
(
Auxiliary
.
FConditionFilterMix
,
c
,
c
,
sub2
,
concat_
fusion
,
table.unpack
(
funs
))
local
hexsealed
=
chkfnf
&
0x100
>
0
local
not
fusion
=
chkfnf
&
0x200
>
0
local
sub2
=
(
sub
or
hexsealed
)
and
not
not
fusion
local
cancel
=
not
fusion
and
Duel
.
GetCurrentChain
()
==
0
local
mg
=
eg
:
Filter
(
Auxiliary
.
FConditionFilterMix
,
c
,
c
,
sub2
,
not
fusion
,
table.unpack
(
funs
))
if
gc
then
Duel
.
SetSelectedCard
(
gc
)
end
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_FMATERIAL
)
local
sg
=
mg
:
SelectSubGroup
(
tp
,
Auxiliary
.
FCheckMixGoal
,
cancel
,
#
funs
,
#
funs
,
tp
,
c
,
sub2
,
chkfnf
,
table.unpack
(
funs
))
...
...
@@ -940,9 +939,9 @@ function Auxiliary.FOperationMix(insf,sub,...)
end
end
end
function
Auxiliary
.
FConditionFilterMix
(
c
,
fc
,
sub
,
concat_
fusion
,
...
)
local
fusion_type
=
concat_
fusion
and
SUMMON_TYPE_SPECIAL
or
SUMMON_TYPE_FUSION
if
not
c
:
IsCanBeFusionMaterial
(
fc
,
fusion
_type
)
then
return
false
end
function
Auxiliary
.
FConditionFilterMix
(
c
,
fc
,
sub
,
not
fusion
,
...
)
local
check_type
=
not
fusion
and
SUMMON_TYPE_SPECIAL
or
SUMMON_TYPE_FUSION
if
not
c
:
IsCanBeFusionMaterial
(
fc
,
check
_type
)
then
return
false
end
for
i
,
f
in
ipairs
({
...
})
do
if
f
(
c
,
fc
,
sub
)
then
return
true
end
end
...
...
@@ -966,8 +965,8 @@ end
--if sg1 is subset of sg2 then not Auxiliary.FCheckAdditional(tp,sg1,fc) -> not Auxiliary.FCheckAdditional(tp,sg2,fc)
function
Auxiliary
.
FCheckMixGoal
(
sg
,
tp
,
fc
,
sub
,
chkfnf
,
...
)
local
chkf
=
chkfnf
&
0xff
local
concat_fusion
=
chkfnf
&
0x200
>
0
if
not
conca
t_fusion
and
sg
:
IsExists
(
Auxiliary
.
TuneMagicianCheckX
,
1
,
nil
,
sg
,
EFFECT_TUNE_MAGICIAN_F
)
then
return
false
end
local
not_fusion
=
chkfnf
&
(
0x100
|
0x200
)
>
0
if
not
no
t_fusion
and
sg
:
IsExists
(
Auxiliary
.
TuneMagicianCheckX
,
1
,
nil
,
sg
,
EFFECT_TUNE_MAGICIAN_F
)
then
return
false
end
if
not
Auxiliary
.
MustMaterialCheck
(
sg
,
tp
,
EFFECT_MUST_BE_FMATERIAL
)
then
return
false
end
local
g
=
Group
.
CreateGroup
()
return
sg
:
IsExists
(
Auxiliary
.
FCheckMix
,
1
,
nil
,
sg
,
g
,
fc
,
sub
,
...
)
and
(
chkf
==
PLAYER_NONE
or
Duel
.
GetLocationCountFromEx
(
tp
,
tp
,
sg
,
fc
)
>
0
)
...
...
@@ -977,8 +976,8 @@ end
---Fusion monster, mixed material * minc to maxc + material + ...
---@param fcard Card
---@param sub boolean
---@param insf boolean
---@param sub boolean
Can be fusion summoned with substitute material
---@param insf boolean
Can be fusion summoned with no material (Instant Fusion)
---@param fun1 number|function|table
---@param minc integer
---@param maxc integer
...
...
@@ -1034,10 +1033,10 @@ function Auxiliary.FConditionMixRep(insf,sub,fun1,minc,maxc,...)
if
g
==
nil
then
return
insf
and
Auxiliary
.
MustMaterialCheck
(
nil
,
e
:
GetHandlerPlayer
(),
EFFECT_MUST_BE_FMATERIAL
)
end
local
c
=
e
:
GetHandler
()
local
tp
=
c
:
GetControler
()
local
notfusion
=
chkfnf
&
0x100
>
0
local
concat_
fusion
=
chkfnf
&
0x200
>
0
local
sub2
=
(
sub
or
notfusion
)
and
not
concat_
fusion
local
mg
=
g
:
Filter
(
Auxiliary
.
FConditionFilterMix
,
c
,
c
,
sub2
,
concat_
fusion
,
fun1
,
table.unpack
(
funs
))
local
hexsealed
=
chkfnf
&
0x100
>
0
local
not
fusion
=
chkfnf
&
0x200
>
0
local
sub2
=
(
sub
or
hexsealed
)
and
not
not
fusion
local
mg
=
g
:
Filter
(
Auxiliary
.
FConditionFilterMix
,
c
,
c
,
sub2
,
not
fusion
,
fun1
,
table.unpack
(
funs
))
if
gc
then
if
not
mg
:
IsContains
(
gc
)
then
return
false
end
local
sg
=
Group
.
CreateGroup
()
...
...
@@ -1052,11 +1051,11 @@ function Auxiliary.FOperationMixRep(insf,sub,fun1,minc,maxc,...)
return
function
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
gc
,
chkfnf
)
local
c
=
e
:
GetHandler
()
local
tp
=
c
:
GetControler
()
local
notfusion
=
chkfnf
&
0x100
>
0
local
concat_
fusion
=
chkfnf
&
0x200
>
0
local
sub2
=
(
sub
or
notfusion
)
and
not
concat_
fusion
local
cancel
=
concat_
fusion
and
Duel
.
GetCurrentChain
()
==
0
local
mg
=
eg
:
Filter
(
Auxiliary
.
FConditionFilterMix
,
c
,
c
,
sub2
,
concat_
fusion
,
fun1
,
table.unpack
(
funs
))
local
hexsealed
=
chkfnf
&
0x100
>
0
local
not
fusion
=
chkfnf
&
0x200
>
0
local
sub2
=
(
sub
or
hexsealed
)
and
not
not
fusion
local
cancel
=
not
fusion
and
Duel
.
GetCurrentChain
()
==
0
local
mg
=
eg
:
Filter
(
Auxiliary
.
FConditionFilterMix
,
c
,
c
,
sub2
,
not
fusion
,
fun1
,
table.unpack
(
funs
))
local
sg
=
Group
.
CreateGroup
()
if
gc
then
sg
:
AddCard
(
gc
)
end
while
sg
:
GetCount
()
<
maxc
+#
funs
do
...
...
@@ -1100,8 +1099,8 @@ function Auxiliary.FCheckMixRepFilter(c,sg,g,fc,sub,chkf,fun1,minc,maxc,fun2,...
return
false
end
function
Auxiliary
.
FCheckMixRepGoalCheck
(
tp
,
sg
,
fc
,
chkfnf
)
local
concat_fusion
=
chkfnf
&
0x200
>
0
if
not
conca
t_fusion
and
sg
:
IsExists
(
Auxiliary
.
TuneMagicianCheckX
,
1
,
nil
,
sg
,
EFFECT_TUNE_MAGICIAN_F
)
then
return
false
end
local
not_fusion
=
chkfnf
&
(
0x100
|
0x200
)
>
0
if
not
no
t_fusion
and
sg
:
IsExists
(
Auxiliary
.
TuneMagicianCheckX
,
1
,
nil
,
sg
,
EFFECT_TUNE_MAGICIAN_F
)
then
return
false
end
if
not
Auxiliary
.
MustMaterialCheck
(
sg
,
tp
,
EFFECT_MUST_BE_FMATERIAL
)
then
return
false
end
if
Auxiliary
.
FGoalCheckAdditional
and
not
Auxiliary
.
FGoalCheckAdditional
(
tp
,
sg
,
fc
)
then
return
false
end
return
true
...
...
@@ -2310,4 +2309,4 @@ end
function
Auxiliary
.
FossilFusionLimit
(
e
,
se
,
sp
,
st
)
return
st
==
SUMMON_VALUE_FOSSIL_FUSION
or
se
:
GetHandler
():
IsCode
(
59419719
)
or
not
e
:
GetHandler
():
IsLocation
(
LOCATION_EXTRA
)
end
end
\ No newline at end of file
script/utility.lua
View file @
1e2f66a0
...
...
@@ -3,6 +3,7 @@ aux=Auxiliary
POS_FACEUP_DEFENCE
=
POS_FACEUP_DEFENSE
POS_FACEDOWN_DEFENCE
=
POS_FACEDOWN_DEFENSE
RACE_CYBERS
=
RACE_CYBERSE
NULL_VALUE
=-
10
function
GetID
()
local
offset
=
self_code
<
100000000
and
1
or
100
...
...
@@ -548,38 +549,130 @@ end
function
Auxiliary
.
IsInGroup
(
c
,
g
)
return
g
:
IsContains
(
c
)
end
--return the column of card c (from the viewpoint of p)
function
Auxiliary
.
GetColumn
(
c
,
p
)
local
seq
=
c
:
GetSequence
()
if
c
:
IsLocation
(
LOCATION_MZONE
)
then
if
seq
==
5
then
seq
=
1
elseif
seq
==
6
then
seq
=
3
--Get the row index (from the viewpoint of controller)
function
Auxiliary
.
GetLocalRow
(
location
,
sequence
)
if
location
==
LOCATION_SZONE
then
if
0
<=
sequence
and
sequence
<=
4
then
return
0
else
return
NULL_VALUE
end
elseif
c
:
IsLocation
(
LOCATION_SZONE
)
then
if
seq
>
4
then
return
nil
elseif
location
==
LOCATION_MZONE
then
if
0
<=
sequence
and
sequence
<=
4
then
return
1
elseif
5
<=
sequence
and
sequence
<=
6
then
return
2
else
return
NULL_VALUE
end
else
return
nil
return
NULL_VALUE
end
end
--Get the global row index (from the viewpoint of 0)
function
Auxiliary
.
GetGlobalRow
(
p
,
location
,
sequence
)
local
row
=
Auxiliary
.
GetLocalRow
(
location
,
sequence
)
if
row
<
0
then
return
NULL_VALUE
end
if
p
==
0
then
return
row
else
return
4
-
row
end
end
--Get the column index (from the viewpoint of controller)
function
Auxiliary
.
GetLocalColumn
(
location
,
sequence
)
if
location
==
LOCATION_SZONE
then
if
0
<=
sequence
and
sequence
<=
4
then
return
sequence
else
return
NULL_VALUE
end
elseif
location
==
LOCATION_MZONE
then
if
0
<=
sequence
and
sequence
<=
4
then
return
sequence
elseif
sequence
==
5
then
return
1
elseif
sequence
==
6
then
return
3
else
return
NULL_VALUE
end
else
return
NULL_VALUE
end
if
c
:
IsControler
(
p
or
0
)
then
return
seq
end
--Get the global column index (from the viewpoint of 0)
function
Auxiliary
.
GetGlobalColumn
(
p
,
location
,
sequence
)
local
column
=
Auxiliary
.
GetLocalColumn
(
location
,
sequence
)
if
column
<
0
then
return
NULL_VALUE
end
if
p
==
0
then
return
column
else
return
4
-
seq
return
4
-
column
end
end
---Get the global row and column index of c
---@param c Card
---@return integer
---@return integer
function
Auxiliary
.
GetFieldIndex
(
c
)
local
cp
=
c
:
GetControler
()
local
loc
=
c
:
GetLocation
()
local
seq
=
c
:
GetSequence
()
return
Auxiliary
.
GetGlobalRow
(
cp
,
loc
,
seq
),
Auxiliary
.
GetGlobalColumn
(
cp
,
loc
,
seq
)
end
---Check if c is adjacent to (i,j)
---@param c Card
---@param i integer
---@param j integer
---@return boolean
function
Auxiliary
.
AdjacentFilter
(
c
,
i
,
j
)
local
row
,
column
=
Auxiliary
.
GetFieldIndex
(
c
)
if
row
<
0
or
column
<
0
then
return
false
end
return
(
row
==
i
and
math.abs
(
column
-
j
)
==
1
)
or
(
math.abs
(
row
-
i
)
==
1
and
column
==
j
)
end
---Get the card group adjacent to (i,j)
---@param tp integer
---@param location1 integer
---@param location2 integer
---@param i integer
---@param j integer
---@return Group
function
Auxiliary
.
GetAdjacentGroup
(
tp
,
location1
,
location2
,
i
,
j
)
return
Duel
.
GetMatchingGroup
(
Auxiliary
.
AdjacentFilter
,
tp
,
location1
,
location2
,
nil
,
i
,
j
)
end
---Get the column index of card c (from the viewpoint of p)
---@param c Card
---@param p? integer default: 0
---@return integer
function
Auxiliary
.
GetColumn
(
c
,
p
)
p
=
p
or
0
local
cp
=
c
:
GetControler
()
local
loc
=
c
:
GetLocation
()
local
seq
=
c
:
GetSequence
()
local
column
=
Auxiliary
.
GetGlobalColumn
(
cp
,
loc
,
seq
)
if
column
<
0
then
return
NULL_VALUE
end
if
p
==
0
then
return
column
else
return
4
-
column
end
end
--return the column of monster zone seq (from the viewpoint of controller)
function
Auxiliary
.
MZoneSequence
(
seq
)
if
seq
==
5
then
return
1
end
if
seq
==
6
then
return
3
end
return
seq
return
Auxiliary
.
GetLocalColumn
(
LOCATION_MZONE
,
seq
)
end
--return the column of spell/trap zone seq (from the viewpoint of controller)
function
Auxiliary
.
SZoneSequence
(
seq
)
if
seq
>
4
then
return
nil
end
return
seq
return
Auxiliary
.
GetLocalColumn
(
LOCATION_SZONE
,
seq
)
end
--generate the value function of EFFECT_CHANGE_BATTLE_DAMAGE on monsters
function
Auxiliary
.
ChangeBattleDamage
(
player
,
value
)
...
...
@@ -1646,10 +1739,29 @@ end
function
Auxiliary
.
IsSelfEquip
(
c
,
id
)
return
c
:
GetEquipGroup
():
IsExists
(
Card
.
GetFlagEffect
,
1
,
nil
,
id
)
end
---
Check if the equip effect of c becomes a Quick Effect.
---
Orcustrated Babel
---@param c Card
---@param tp integer
---@return boolean
function
Auxiliary
.
GoldenAllureQueenCondition
(
c
,
tp
)
return
Duel
.
IsPlayerAffectedByEffect
(
tp
,
95937545
)
and
c
:
IsOriginalSetCard
(
0x3
)
function
Auxiliary
.
OrcustratedBabelFilter
(
c
)
return
c
:
IsOriginalSetCard
(
0x11b
)
and
(
c
:
IsLocation
(
LOCATION_MZONE
)
and
c
:
IsAllTypes
(
TYPE_LINK
+
TYPE_MONSTER
)
or
c
:
IsLocation
(
LOCATION_GRAVE
)
and
c
:
IsType
(
TYPE_MONSTER
))
end
---Golden Allure Queen
---@param c Card
---@return boolean
function
Auxiliary
.
GoldenAllureQueenFilter
(
c
)
return
c
:
IsOriginalSetCard
(
0x3
)
end
--The table of all "become quick effects"
Auxiliary
.
quick_effect_filter
=
{}
Auxiliary
.
quick_effect_filter
[
90351981
]
=
Auxiliary
.
OrcustratedBabelFilter
Auxiliary
.
quick_effect_filter
[
95937545
]
=
Auxiliary
.
GoldenAllureQueenFilter
---Check if the effect of c becomes a Quick Effect.
---@param c Card
---@param tp integer
---@param code integer
---@return boolean
function
Auxiliary
.
IsCanBeQuickEffect
(
c
,
tp
,
code
)
local
filter
=
Auxiliary
.
quick_effect_filter
[
code
]
return
Duel
.
IsPlayerAffectedByEffect
(
tp
,
code
)
~=
nil
and
filter
~=
nil
and
filter
(
c
)
end
\ No newline at end of file
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