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
3a72e9ce
Commit
3a72e9ce
authored
Apr 05, 2024
by
mercury233
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
fix get material
parent
c8a18d35
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
9 additions
and
7 deletions
+9
-7
field.cpp
field.cpp
+9
-7
No files found.
field.cpp
View file @
3a72e9ce
...
@@ -1931,13 +1931,13 @@ void field::get_fusion_material(uint8 playerid, card_set* material_all, card_set
...
@@ -1931,13 +1931,13 @@ void field::get_fusion_material(uint8 playerid, card_set* material_all, card_set
}
}
if
(
location
&
LOCATION_SZONE
)
{
if
(
location
&
LOCATION_SZONE
)
{
for
(
auto
&
pcard
:
player
[
playerid
].
list_szone
)
{
for
(
auto
&
pcard
:
player
[
playerid
].
list_szone
)
{
if
(
pcard
&&
pcard
->
data
.
type
&
TYPE_MONSTER
)
if
(
pcard
&&
pcard
->
data
.
type
&
TYPE_MONSTER
&&
!
pcard
->
is_treated_as_not_on_field
()
)
material_base
->
insert
(
pcard
);
material_base
->
insert
(
pcard
);
}
}
}
}
if
(
location
&
LOCATION_PZONE
)
{
if
(
location
&
LOCATION_PZONE
)
{
for
(
auto
&
pcard
:
player
[
playerid
].
list_szone
)
{
for
(
auto
&
pcard
:
player
[
playerid
].
list_szone
)
{
if
(
pcard
&&
pcard
->
current
.
pzone
&&
pcard
->
data
.
type
&
TYPE_MONSTER
)
if
(
pcard
&&
pcard
->
current
.
pzone
&&
pcard
->
data
.
type
&
TYPE_MONSTER
&&
!
pcard
->
is_treated_as_not_on_field
()
)
material_base
->
insert
(
pcard
);
material_base
->
insert
(
pcard
);
}
}
}
}
...
@@ -1979,12 +1979,14 @@ void field::get_xyz_material(card* scard, int32 findex, uint32 lv, int32 maxc, g
...
@@ -1979,12 +1979,14 @@ void field::get_xyz_material(card* scard, int32 findex, uint32 lv, int32 maxc, g
}
else
{
}
else
{
int32
playerid
=
scard
->
current
.
controler
;
int32
playerid
=
scard
->
current
.
controler
;
for
(
auto
&
pcard
:
player
[
playerid
].
list_mzone
)
{
for
(
auto
&
pcard
:
player
[
playerid
].
list_mzone
)
{
if
(
pcard
&&
pcard
->
is_position
(
POS_FACEUP
)
&&
pcard
->
is_can_be_xyz_material
(
scard
)
&&
(
xyz_level
=
pcard
->
check_xyz_level
(
scard
,
lv
))
if
(
pcard
&&
pcard
->
is_position
(
POS_FACEUP
)
&&
!
pcard
->
is_treated_as_not_on_field
()
&&
pcard
->
is_can_be_xyz_material
(
scard
)
&&
(
xyz_level
=
pcard
->
check_xyz_level
(
scard
,
lv
))
&&
(
findex
==
0
||
pduel
->
lua
->
check_matching
(
pcard
,
findex
,
0
)))
&&
(
findex
==
0
||
pduel
->
lua
->
check_matching
(
pcard
,
findex
,
0
)))
core
.
xmaterial_lst
.
emplace
((
xyz_level
>>
12
)
&
0xf
,
pcard
);
core
.
xmaterial_lst
.
emplace
((
xyz_level
>>
12
)
&
0xf
,
pcard
);
}
}
for
(
auto
&
pcard
:
player
[
1
-
playerid
].
list_mzone
)
{
for
(
auto
&
pcard
:
player
[
1
-
playerid
].
list_mzone
)
{
if
(
pcard
&&
pcard
->
is_position
(
POS_FACEUP
)
&&
pcard
->
is_can_be_xyz_material
(
scard
)
&&
(
xyz_level
=
pcard
->
check_xyz_level
(
scard
,
lv
))
if
(
pcard
&&
pcard
->
is_position
(
POS_FACEUP
)
&&
!
pcard
->
is_treated_as_not_on_field
()
&&
pcard
->
is_can_be_xyz_material
(
scard
)
&&
(
xyz_level
=
pcard
->
check_xyz_level
(
scard
,
lv
))
&&
pcard
->
is_affected_by_effect
(
EFFECT_XYZ_MATERIAL
)
&&
(
findex
==
0
||
pduel
->
lua
->
check_matching
(
pcard
,
findex
,
0
)))
&&
pcard
->
is_affected_by_effect
(
EFFECT_XYZ_MATERIAL
)
&&
(
findex
==
0
||
pduel
->
lua
->
check_matching
(
pcard
,
findex
,
0
)))
core
.
xmaterial_lst
.
emplace
((
xyz_level
>>
12
)
&
0xf
,
pcard
);
core
.
xmaterial_lst
.
emplace
((
xyz_level
>>
12
)
&
0xf
,
pcard
);
}
}
...
@@ -2533,7 +2535,7 @@ void field::get_synchro_material(uint8 playerid, card_set* material, effect* ptu
...
@@ -2533,7 +2535,7 @@ void field::get_synchro_material(uint8 playerid, card_set* material, effect* ptu
int32
location
=
ptuner
->
value
;
int32
location
=
ptuner
->
value
;
if
(
location
&
LOCATION_MZONE
)
{
if
(
location
&
LOCATION_MZONE
)
{
for
(
auto
&
pcard
:
player
[
playerid
].
list_mzone
)
{
for
(
auto
&
pcard
:
player
[
playerid
].
list_mzone
)
{
if
(
pcard
)
if
(
pcard
&&
!
pcard
->
is_treated_as_not_on_field
()
)
material
->
insert
(
pcard
);
material
->
insert
(
pcard
);
}
}
}
}
...
@@ -2545,11 +2547,11 @@ void field::get_synchro_material(uint8 playerid, card_set* material, effect* ptu
...
@@ -2545,11 +2547,11 @@ void field::get_synchro_material(uint8 playerid, card_set* material, effect* ptu
}
}
}
else
{
}
else
{
for
(
auto
&
pcard
:
player
[
playerid
].
list_mzone
)
{
for
(
auto
&
pcard
:
player
[
playerid
].
list_mzone
)
{
if
(
pcard
)
if
(
pcard
&&
!
pcard
->
is_treated_as_not_on_field
()
)
material
->
insert
(
pcard
);
material
->
insert
(
pcard
);
}
}
for
(
auto
&
pcard
:
player
[
1
-
playerid
].
list_mzone
)
{
for
(
auto
&
pcard
:
player
[
1
-
playerid
].
list_mzone
)
{
if
(
pcard
&&
pcard
->
is_affected_by_effect
(
EFFECT_EXTRA_SYNCHRO_MATERIAL
))
if
(
pcard
&&
pcard
->
is_affected_by_effect
(
EFFECT_EXTRA_SYNCHRO_MATERIAL
)
&&
!
pcard
->
is_treated_as_not_on_field
()
)
material
->
insert
(
pcard
);
material
->
insert
(
pcard
);
}
}
for
(
auto
&
pcard
:
player
[
playerid
].
list_hand
)
{
for
(
auto
&
pcard
:
player
[
playerid
].
list_hand
)
{
...
...
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