Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Sign in / Register
Toggle navigation
Y
ygopro-core
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
nanahira
ygopro-core
Commits
ae14518c
Commit
ae14518c
authored
Feb 14, 2025
by
nanahira
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
refactor & add EFFECT_ALLOW_FOR_RITUAL as well
parent
97ebcf8a
Changes
3
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
22 additions
and
28 deletions
+22
-28
card.cpp
card.cpp
+19
-28
card.h
card.h
+2
-0
effect.h
effect.h
+1
-0
No files found.
card.cpp
View file @
ae14518c
...
@@ -1017,38 +1017,29 @@ uint32_t card::get_link() {
...
@@ -1017,38 +1017,29 @@ uint32_t card::get_link() {
return
0
;
return
0
;
return
data
.
level
;
return
data
.
level
;
}
}
uint32_t
card
::
get_synchro_level
(
card
*
pcard
)
{
if
((
data
.
type
&
(
TYPE_XYZ
|
TYPE_LINK
))
||
(
status
&
STATUS_NO_LEVEL
))
{
uint32_t
get_mat_level_from_effect
(
card
*
pcard
,
uint32_t
effect_code
)
{
effect_set
eset
;
if
(
!
effect_code
)
filter_effect
(
EFFECT_ALLOW_FOR_SYNCHRO
,
&
eset
);
for
(
int32_t
i
=
0
;
i
<
eset
.
size
();
++
i
)
{
uint32_t
lev
=
eset
[
i
]
->
get_value
(
pcard
);
if
(
lev
)
{
return
lev
;
}
}
return
0
;
return
0
;
}
uint32_t
lev
;
effect_set
eset
;
effect_set
eset
;
filter_effect
(
EFFECT_SYNCHRO_LEVEL
,
&
eset
);
pduel
->
game_field
->
filter_effect
(
effect_code
,
&
eset
);
if
(
eset
.
size
())
for
(
int32_t
i
=
0
;
i
<
eset
.
size
();
++
i
)
{
lev
=
eset
[
0
]
->
get_value
(
pcard
);
uint32_t
lev
=
eset
[
i
]
->
get_value
(
pcard
);
else
if
(
lev
)
lev
=
get_level
();
return
lev
;
return
lev
;
}
return
0
;
}
}
uint32_t
card
::
get_
ritual_level
(
card
*
pcard
)
{
uint32_t
card
::
get_
mat_level
(
card
*
pcard
,
uint32_t
level_effect_code
,
uint32_t
allow_effect_code
)
{
if
((
data
.
type
&
(
TYPE_XYZ
|
TYPE_LINK
))
||
(
status
&
STATUS_NO_LEVEL
))
if
((
data
.
type
&
(
TYPE_XYZ
|
TYPE_LINK
))
||
(
status
&
STATUS_NO_LEVEL
))
return
0
;
return
get_mat_level_from_effect
(
pcard
,
allow_effect_code
);
uint32_t
lev
;
return
get_mat_level_from_effect
(
pcard
,
level_effect_code
)
||
get_level
();
effect_set
eset
;
}
filter_effect
(
EFFECT_RITUAL_LEVEL
,
&
eset
);
uint32_t
card
::
get_synchro_level
(
card
*
pcard
)
{
if
(
eset
.
size
())
return
get_mat_level
(
pcard
,
EFFECT_SYNCHRO_LEVEL
,
EFFECT_ALLOW_FOR_SYNCHRO
);
lev
=
eset
[
0
]
->
get_value
(
pcard
);
}
else
uint32_t
card
::
get_ritual_level
(
card
*
pcard
)
{
lev
=
get_level
();
return
get_mat_level
(
pcard
,
EFFECT_RITUAL_LEVEL
,
EFFECT_ALLOW_FOR_RITUAL
);
return
lev
;
}
}
uint32_t
card
::
check_xyz_level
(
card
*
pcard
,
uint32_t
lv
)
{
uint32_t
card
::
check_xyz_level
(
card
*
pcard
,
uint32_t
lv
)
{
if
(
status
&
STATUS_NO_LEVEL
)
if
(
status
&
STATUS_NO_LEVEL
)
...
...
card.h
View file @
ae14518c
...
@@ -243,6 +243,8 @@ public:
...
@@ -243,6 +243,8 @@ public:
uint32_t
get_level
();
uint32_t
get_level
();
uint32_t
get_rank
();
uint32_t
get_rank
();
uint32_t
get_link
();
uint32_t
get_link
();
uint32_t
get_mat_level_from_effect
(
card
*
pcard
,
uint32_t
effect_code
);
uint32_t
get_mat_level
(
card
*
pcard
,
uint32_t
level_effect_code
,
uint32_t
allow_effect_code
=
0
);
uint32_t
get_synchro_level
(
card
*
pcard
);
uint32_t
get_synchro_level
(
card
*
pcard
);
uint32_t
get_ritual_level
(
card
*
pcard
);
uint32_t
get_ritual_level
(
card
*
pcard
);
uint32_t
check_xyz_level
(
card
*
pcard
,
uint32_t
lv
);
uint32_t
check_xyz_level
(
card
*
pcard
,
uint32_t
lv
);
...
...
effect.h
View file @
ae14518c
...
@@ -531,6 +531,7 @@ const std::map<uint64_t, uint64_t> category_checklist{
...
@@ -531,6 +531,7 @@ const std::map<uint64_t, uint64_t> category_checklist{
#define EFFECT_REPLACE_DAMAGE 371
#define EFFECT_REPLACE_DAMAGE 371
#define EFFECT_XYZ_MIN_COUNT 372
#define EFFECT_XYZ_MIN_COUNT 372
#define EFFECT_ALLOW_FOR_SYNCHRO 373
#define EFFECT_ALLOW_FOR_SYNCHRO 373
#define EFFECT_ALLOW_FOR_RITUAL 374
//#define EVENT_STARTUP 1000
//#define EVENT_STARTUP 1000
#define EVENT_FLIP 1001
#define EVENT_FLIP 1001
...
...
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