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
xiaoye
ygopro-core
Commits
c6df8d6f
Commit
c6df8d6f
authored
Sep 25, 2022
by
mercury233
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'master' of
https://github.com/Fluorohydride/ygopro-core
parents
dd8d3e3a
4369eee6
Changes
2
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
27 additions
and
8 deletions
+27
-8
operations.cpp
operations.cpp
+23
-3
playerop.cpp
playerop.cpp
+4
-5
No files found.
operations.cpp
View file @
c6df8d6f
...
@@ -2376,6 +2376,26 @@ int32 field::sset(uint16 step, uint8 setplayer, uint8 toplayer, card * target, e
...
@@ -2376,6 +2376,26 @@ int32 field::sset(uint16 step, uint8 setplayer, uint8 toplayer, card * target, e
return TRUE;
return TRUE;
if(target->is_affected_by_effect(EFFECT_CANNOT_SSET))
if(target->is_affected_by_effect(EFFECT_CANNOT_SSET))
return TRUE;
return TRUE;
uint32 flag = 0;
if(target->data.type & TYPE_FIELD) {
flag = ~(0x1 << 13);
} else {
get_useable_count(target, setplayer, LOCATION_SZONE, toplayer, LOCATION_REASON_TOFIELD, 0xff, &flag);
flag = ((flag & 0xff) << 8) | 0xffff00ff;
flag |= 0xe080e080;
}
pduel->write_buffer8(MSG_HINT);
pduel->write_buffer8(HINT_SELECTMSG);
pduel->write_buffer8(setplayer);
pduel->write_buffer32(target->data.code);
add_process(PROCESSOR_SELECT_PLACE, 0, 0, 0, setplayer, flag, 0);
return FALSE;
}
case 1: {
if(returns.bvalue[1] == 0) {
return TRUE;
}
target->to_field_param = returns.bvalue[2];
effect_set eset;
effect_set eset;
target->filter_effect(EFFECT_SSET_COST, &eset);
target->filter_effect(EFFECT_SSET_COST, &eset);
for(int32 i = 0; i < eset.size(); ++i) {
for(int32 i = 0; i < eset.size(); ++i) {
...
@@ -2386,12 +2406,12 @@ int32 field::sset(uint16 step, uint8 setplayer, uint8 toplayer, card * target, e
...
@@ -2386,12 +2406,12 @@ int32 field::sset(uint16 step, uint8 setplayer, uint8 toplayer, card * target, e
}
}
return FALSE;
return FALSE;
}
}
case
1
:
{
case
2
: {
target->enable_field_effect(false);
target->enable_field_effect(false);
move_to_field
(
target
,
setplayer
,
toplayer
,
LOCATION_SZONE
,
POS_FACEDOWN
,
FALSE
,
0
,
FALSE
,
(
target
->
data
.
type
&
TYPE_FIELD
)
?
0x1
<<
5
:
0xff
);
move_to_field(target, setplayer, toplayer, LOCATION_SZONE, POS_FACEDOWN, FALSE, 0, FALSE,
0x1 << target->to_field_param
);
return FALSE;
return FALSE;
}
}
case
2
:
{
case
3
: {
core.phase_action = TRUE;
core.phase_action = TRUE;
target->set_status(STATUS_SET_TURN, TRUE);
target->set_status(STATUS_SET_TURN, TRUE);
if(target->data.type & TYPE_MONSTER) {
if(target->data.type & TYPE_MONSTER) {
...
...
playerop.cpp
View file @
c6df8d6f
...
@@ -374,8 +374,6 @@ int32 field::select_chain(uint16 step, uint8 playerid, uint8 spe_count, uint8 fo
...
@@ -374,8 +374,6 @@ int32 field::select_chain(uint16 step, uint8 playerid, uint8 spe_count, uint8 fo
}
}
int32
field
::
select_place
(
uint16
step
,
uint8
playerid
,
uint32
flag
,
uint8
count
)
{
int32
field
::
select_place
(
uint16
step
,
uint8
playerid
,
uint32
flag
,
uint8
count
)
{
if
(
step
==
0
)
{
if
(
step
==
0
)
{
if
(
count
==
0
)
return
TRUE
;
if
((
playerid
==
1
)
&&
(
core
.
duel_options
&
DUEL_SIMPLE_AI
))
{
if
((
playerid
==
1
)
&&
(
core
.
duel_options
&
DUEL_SIMPLE_AI
))
{
flag
=
~
flag
;
flag
=
~
flag
;
int32
filter
;
int32
filter
;
...
@@ -433,14 +431,15 @@ int32 field::select_place(uint16 step, uint8 playerid, uint32 flag, uint8 count)
...
@@ -433,14 +431,15 @@ int32 field::select_place(uint16 step, uint8 playerid, uint32 flag, uint8 count)
}
else
{
}
else
{
uint8
pt
=
0
;
uint8
pt
=
0
;
uint32
selected
=
0
;
uint32
selected
=
0
;
for
(
int8
i
=
0
;
i
<
count
;
++
i
)
{
for
(
int8
i
=
0
;
i
<
1
||
i
<
count
;
++
i
)
{
uint8
p
=
returns
.
bvalue
[
pt
];
uint8
p
=
returns
.
bvalue
[
pt
];
uint8
l
=
returns
.
bvalue
[
pt
+
1
];
uint8
l
=
returns
.
bvalue
[
pt
+
1
];
uint8
s
=
returns
.
bvalue
[
pt
+
2
];
uint8
s
=
returns
.
bvalue
[
pt
+
2
];
uint32
sel
=
0x1u
<<
(
s
+
(
p
==
playerid
?
0
:
16
)
+
(
l
==
LOCATION_MZONE
?
0
:
8
));
uint32
sel
=
0x1u
<<
(
s
+
(
p
==
playerid
?
0
:
16
)
+
(
l
==
LOCATION_MZONE
?
0
:
8
));
if
((
p
!=
0
&&
p
!=
1
)
if
(
!
(
count
==
0
&&
i
==
0
&&
l
==
0
)
&&
((
p
!=
0
&&
p
!=
1
)
||
((
l
!=
LOCATION_MZONE
)
&&
(
l
!=
LOCATION_SZONE
))
||
((
l
!=
LOCATION_MZONE
)
&&
(
l
!=
LOCATION_SZONE
))
||
(
sel
&
flag
)
||
(
sel
&
selected
))
{
||
(
sel
&
flag
)
||
(
sel
&
selected
))
)
{
pduel
->
write_buffer8
(
MSG_RETRY
);
pduel
->
write_buffer8
(
MSG_RETRY
);
return
FALSE
;
return
FALSE
;
}
}
...
...
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