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
ee204afa
Commit
ee204afa
authored
Mar 13, 2024
by
nanahira
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'develop' of github.com:moecube/ygopro-core into develop
parents
6e494c0e
c3662623
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
14 additions
and
11 deletions
+14
-11
operations.cpp
operations.cpp
+14
-11
No files found.
operations.cpp
View file @
ee204afa
...
...
@@ -260,11 +260,13 @@ void field::send_to(card_set* targets, effect* reason_effect, uint32 reason, uin
return
;
for
(
auto
&
pcard
:
*
targets
)
{
pcard
->
temp
.
reason
=
pcard
->
current
.
reason
;
pcard
->
temp
.
reason_effect
=
pcard
->
current
.
reason_effect
;
pcard
->
temp
.
reason_player
=
pcard
->
current
.
reason_player
;
pcard
->
current
.
reason
=
reason
;
pcard
->
current
.
reason_effect
=
reason_effect
;
pcard
->
current
.
reason_player
=
reason_player
;
if
(
reason_player
!=
PLAYER_SELFDES
)
{
pcard
->
temp
.
reason_effect
=
pcard
->
current
.
reason_effect
;
pcard
->
temp
.
reason_player
=
pcard
->
current
.
reason_player
;
pcard
->
current
.
reason_effect
=
reason_effect
;
pcard
->
current
.
reason_player
=
reason_player
;
}
uint32
p
=
playerid
;
// send to hand from deck and playerid not given => send to the hand of controler
if
(
p
==
PLAYER_NONE
&&
(
destination
&
LOCATION_HAND
)
&&
(
pcard
->
current
.
location
&
LOCATION_DECK
)
&&
pcard
->
current
.
controler
==
reason_player
)
...
...
@@ -1298,7 +1300,7 @@ int32 field::self_destroy(uint16 step, card* ucard, int32 p) {
pcard
->
temp
.
reason_player
=
pcard
->
current
.
reason_player
;
pcard
->
current
.
reason_effect
=
peffect
;
pcard
->
current
.
reason_player
=
peffect
->
get_handler_player
();
send_to
(
pcard
,
0
,
REASON_EFFECT
,
PLAYER_
NONE
,
PLAYER_NONE
,
LOCATION_GRAVE
,
0
,
POS_FACEUP
);
send_to
(
pcard
,
0
,
REASON_EFFECT
,
PLAYER_
SELFDES
,
PLAYER_NONE
,
LOCATION_GRAVE
,
0
,
POS_FACEUP
);
}
core
.
self_tograve_set
.
erase
(
it
);
core
.
units
.
begin
()
->
step
=
19
;
...
...
@@ -3187,6 +3189,7 @@ int32 field::special_summon_rule(uint16 step, uint8 sumplayer, card* target, uin
return
FALSE
;
}
case
29
:
{
effect
*
peffect
=
core
.
units
.
begin
()
->
peffect
;
group
*
pgroup
=
core
.
units
.
begin
()
->
ptarget
;
pduel
->
write_buffer8
(
MSG_SPSUMMONED
);
set_spsummon_counter
(
sumplayer
);
...
...
@@ -3195,14 +3198,14 @@ int32 field::special_summon_rule(uint16 step, uint8 sumplayer, card* target, uin
for
(
auto
&
pcard
:
pgroup
->
container
)
{
if
(
pcard
->
spsummon_code
)
spsummon_once_set
.
insert
(
pcard
->
spsummon_code
);
pcard
->
set_special_summon_status
(
p
card
->
current
.
reason_
effect
);
pcard
->
set_special_summon_status
(
peffect
);
}
for
(
auto
&
cit
:
spsummon_once_set
)
++
core
.
spsummon_once_map
[
sumplayer
][
cit
];
for
(
auto
&
pcard
:
pgroup
->
container
)
raise_single_event
(
pcard
,
0
,
EVENT_SPSUMMON_SUCCESS
,
p
card
->
current
.
reason_effect
,
0
,
pcard
->
current
.
reason_
player
,
pcard
->
summon_player
,
0
);
raise_single_event
(
pcard
,
0
,
EVENT_SPSUMMON_SUCCESS
,
p
effect
,
0
,
sum
player
,
pcard
->
summon_player
,
0
);
process_single_event
();
raise_event
(
&
pgroup
->
container
,
EVENT_SPSUMMON_SUCCESS
,
core
.
units
.
begin
()
->
peffect
,
0
,
sumplayer
,
sumplayer
,
0
);
raise_event
(
&
pgroup
->
container
,
EVENT_SPSUMMON_SUCCESS
,
peffect
,
0
,
sumplayer
,
sumplayer
,
0
);
process_instant_event
();
if
(
action_type
==
SUMMON_IN_IDLE
)
{
adjust_all
();
...
...
@@ -3398,9 +3401,9 @@ int32 field::special_summon(uint16 step, effect* reason_effect, uint8 reason_pla
pduel
->
write_buffer8
(
MSG_SPSUMMONED
);
for
(
auto
&
pcard
:
targets
->
container
)
{
check_card_counter
(
pcard
,
ACTIVITY_SPSUMMON
,
pcard
->
summon_player
);
pcard
->
set_special_summon_status
(
pcard
->
current
.
reason_effect
);
pcard
->
set_special_summon_status
(
reason_effect
);
if
(
!
(
pcard
->
current
.
position
&
POS_FACEDOWN
))
raise_single_event
(
pcard
,
0
,
EVENT_SPSUMMON_SUCCESS
,
pcard
->
current
.
reason_effect
,
0
,
pcard
->
current
.
reason_player
,
pcard
->
summon_player
,
0
);
raise_single_event
(
pcard
,
0
,
EVENT_SPSUMMON_SUCCESS
,
reason_effect
,
0
,
reason_player
,
pcard
->
summon_player
,
0
);
int32
summontype
=
pcard
->
summon_info
&
(
SUMMON_VALUE_MAIN_TYPE
|
SUMMON_VALUE_SUB_TYPE
);
int32
custom_type
=
pcard
->
summon_info
&
SUMMON_VALUE_CUSTOM_TYPE
;
if
(
summontype
&&
pcard
->
material_cards
.
size
()
&&
custom_type
!=
SUMMON_VALUE_FUTURE_FUSION
)
{
...
...
@@ -3414,7 +3417,7 @@ int32 field::special_summon(uint16 step, effect* reason_effect, uint8 reason_pla
else
if
(
summontype
==
SUMMON_TYPE_LINK
)
matreason
=
REASON_LINK
;
for
(
auto
&
mcard
:
pcard
->
material_cards
)
raise_single_event
(
mcard
,
&
targets
->
container
,
EVENT_BE_MATERIAL
,
pcard
->
current
.
reason_effect
,
matreason
,
pcard
->
current
.
reason_player
,
pcard
->
summon_player
,
0
);
raise_single_event
(
mcard
,
&
targets
->
container
,
EVENT_BE_MATERIAL
,
reason_effect
,
matreason
,
reason_player
,
pcard
->
summon_player
,
0
);
raise_event
(
&
(
pcard
->
material_cards
),
EVENT_BE_MATERIAL
,
reason_effect
,
matreason
,
reason_player
,
pcard
->
summon_player
,
0
);
}
}
...
...
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