Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Sign in / Register
Toggle navigation
Y
ygopro-2pick
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
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
MyCard
ygopro-2pick
Commits
555bfa8c
Commit
555bfa8c
authored
May 21, 2015
by
VanillaSalt
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
fix
parent
d4f84633
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
18 additions
and
6 deletions
+18
-6
ocgcore/operations.cpp
ocgcore/operations.cpp
+18
-6
No files found.
ocgcore/operations.cpp
View file @
555bfa8c
...
@@ -1317,6 +1317,9 @@ int32 field::summon(uint16 step, uint8 sumplayer, card * target, effect * proc,
...
@@ -1317,6 +1317,9 @@ int32 field::summon(uint16 step, uint8 sumplayer, card * target, effect * proc,
}
}
}
}
}
}
effect
*
pextra
=
0
;
if
(
!
ignore_count
&&
!
core
.
extra_summon
[
sumplayer
])
pextra
=
target
->
is_affected_by_effect
(
EFFECT_EXTRA_SUMMON_COUNT
);
if
(
returns
.
bvalue
[
0
])
{
if
(
returns
.
bvalue
[
0
])
{
card_set
tributes
;
card_set
tributes
;
for
(
int32
i
=
0
;
i
<
returns
.
bvalue
[
0
];
++
i
)
{
for
(
int32
i
=
0
;
i
<
returns
.
bvalue
[
0
];
++
i
)
{
...
@@ -1335,9 +1338,13 @@ int32 field::summon(uint16 step, uint8 sumplayer, card * target, effect * proc,
...
@@ -1335,9 +1338,13 @@ int32 field::summon(uint16 step, uint8 sumplayer, card * target, effect * proc,
target
->
current
.
reason_effect
=
0
;
target
->
current
.
reason_effect
=
0
;
target
->
current
.
reason_player
=
sumplayer
;
target
->
current
.
reason_player
=
sumplayer
;
core
.
units
.
begin
()
->
step
=
4
;
core
.
units
.
begin
()
->
step
=
4
;
core
.
temp_var
[
0
]
=
(
ptr
)
pextra
;
return
FALSE
;
return
FALSE
;
}
}
case
4
:
{
case
4
:
{
effect
*
pextra
=
0
;
if
(
!
ignore_count
&&
!
core
.
extra_summon
[
sumplayer
])
pextra
=
target
->
is_affected_by_effect
(
EFFECT_EXTRA_SUMMON_COUNT
);
target
->
summon_info
=
(
proc
->
get_value
(
target
)
&
0xfffffff
)
|
SUMMON_TYPE_NORMAL
|
(
LOCATION_HAND
<<
16
);
target
->
summon_info
=
(
proc
->
get_value
(
target
)
&
0xfffffff
)
|
SUMMON_TYPE_NORMAL
|
(
LOCATION_HAND
<<
16
);
target
->
current
.
reason_effect
=
proc
;
target
->
current
.
reason_effect
=
proc
;
target
->
current
.
reason_player
=
sumplayer
;
target
->
current
.
reason_player
=
sumplayer
;
...
@@ -1347,6 +1354,7 @@ int32 field::summon(uint16 step, uint8 sumplayer, card * target, effect * proc,
...
@@ -1347,6 +1354,7 @@ int32 field::summon(uint16 step, uint8 sumplayer, card * target, effect * proc,
add_process
(
PROCESSOR_EXECUTE_OPERATION
,
0
,
proc
,
0
,
sumplayer
,
0
);
add_process
(
PROCESSOR_EXECUTE_OPERATION
,
0
,
proc
,
0
,
sumplayer
,
0
);
}
}
proc
->
dec_count
(
sumplayer
);
proc
->
dec_count
(
sumplayer
);
core
.
temp_var
[
0
]
=
(
ptr
)
pextra
;
return
FALSE
;
return
FALSE
;
}
}
case
5
:
{
case
5
:
{
...
@@ -1354,12 +1362,10 @@ int32 field::summon(uint16 step, uint8 sumplayer, card * target, effect * proc,
...
@@ -1354,12 +1362,10 @@ int32 field::summon(uint16 step, uint8 sumplayer, card * target, effect * proc,
if
(
core
.
summon_depth
)
if
(
core
.
summon_depth
)
return
TRUE
;
return
TRUE
;
break_effect
();
break_effect
();
core.temp_var[0] = 0;
if
(
!
ignore_count
)
{
if
(
!
ignore_count
)
{
returns
.
ivalue
[
0
]
=
FALSE
;
returns
.
ivalue
[
0
]
=
FALSE
;
effect* pextra =
core.extra_summon[sumplayer] ? 0 : target->is_affected_by_effect(EFFECT_EXTRA_SUMMON_COUNT)
;
effect
*
pextra
=
(
effect
*
)
core
.
temp_var
[
0
]
;
if
(
pextra
)
{
if
(
pextra
)
{
core.temp_var[0] = (ptr)pextra;
if
((
pextra
->
flag
&
EFFECT_FLAG_FUNC_VALUE
)
&&
(
core
.
summon_count
[
sumplayer
]
<
get_summon_count_limit
(
sumplayer
)))
if
((
pextra
->
flag
&
EFFECT_FLAG_FUNC_VALUE
)
&&
(
core
.
summon_count
[
sumplayer
]
<
get_summon_count_limit
(
sumplayer
)))
add_process
(
PROCESSOR_SELECT_YESNO
,
0
,
0
,
0
,
sumplayer
,
91
);
add_process
(
PROCESSOR_SELECT_YESNO
,
0
,
0
,
0
,
sumplayer
,
91
);
else
if
(
!
(
pextra
->
flag
&
EFFECT_FLAG_FUNC_VALUE
)
&&
((
int32
)
target
->
material_cards
.
size
()
<
pextra
->
get_value
()))
else
if
(
!
(
pextra
->
flag
&
EFFECT_FLAG_FUNC_VALUE
)
&&
((
int32
)
target
->
material_cards
.
size
()
<
pextra
->
get_value
()))
...
@@ -1751,6 +1757,9 @@ int32 field::mset(uint16 step, uint8 setplayer, card * target, effect * proc, ui
...
@@ -1751,6 +1757,9 @@ int32 field::mset(uint16 step, uint8 setplayer, card * target, effect * proc, ui
return
FALSE
;
return
FALSE
;
}
}
case
3
:
{
case
3
:
{
effect
*
pextra
=
0
;
if
(
!
ignore_count
&&
!
core
.
extra_summon
[
setplayer
])
pextra
=
target
->
is_affected_by_effect
(
EFFECT_EXTRA_SET_COUNT
);
if
(
returns
.
bvalue
[
0
])
{
if
(
returns
.
bvalue
[
0
])
{
card_set
tributes
;
card_set
tributes
;
for
(
int32
i
=
0
;
i
<
returns
.
bvalue
[
0
];
++
i
)
{
for
(
int32
i
=
0
;
i
<
returns
.
bvalue
[
0
];
++
i
)
{
...
@@ -1770,9 +1779,13 @@ int32 field::mset(uint16 step, uint8 setplayer, card * target, effect * proc, ui
...
@@ -1770,9 +1779,13 @@ int32 field::mset(uint16 step, uint8 setplayer, card * target, effect * proc, ui
target
->
current
.
reason_effect
=
0
;
target
->
current
.
reason_effect
=
0
;
target
->
current
.
reason_player
=
setplayer
;
target
->
current
.
reason_player
=
setplayer
;
core
.
units
.
begin
()
->
step
=
4
;
core
.
units
.
begin
()
->
step
=
4
;
core
.
temp_var
[
0
]
=
(
ptr
)
pextra
;
return
FALSE
;
return
FALSE
;
}
}
case
4
:
{
case
4
:
{
effect
*
pextra
=
0
;
if
(
!
ignore_count
&&
!
core
.
extra_summon
[
setplayer
])
pextra
=
target
->
is_affected_by_effect
(
EFFECT_EXTRA_SET_COUNT
);
target
->
summon_info
=
(
proc
->
get_value
(
target
)
&
0xfffffff
)
|
SUMMON_TYPE_NORMAL
|
(
LOCATION_HAND
<<
16
);
target
->
summon_info
=
(
proc
->
get_value
(
target
)
&
0xfffffff
)
|
SUMMON_TYPE_NORMAL
|
(
LOCATION_HAND
<<
16
);
target
->
current
.
reason_effect
=
proc
;
target
->
current
.
reason_effect
=
proc
;
target
->
current
.
reason_player
=
setplayer
;
target
->
current
.
reason_player
=
setplayer
;
...
@@ -1780,16 +1793,15 @@ int32 field::mset(uint16 step, uint8 setplayer, card * target, effect * proc, ui
...
@@ -1780,16 +1793,15 @@ int32 field::mset(uint16 step, uint8 setplayer, card * target, effect * proc, ui
core
.
sub_solving_event
.
push_back
(
nil_event
);
core
.
sub_solving_event
.
push_back
(
nil_event
);
add_process
(
PROCESSOR_EXECUTE_OPERATION
,
0
,
proc
,
0
,
setplayer
,
0
);
add_process
(
PROCESSOR_EXECUTE_OPERATION
,
0
,
proc
,
0
,
setplayer
,
0
);
proc
->
dec_count
(
setplayer
);
proc
->
dec_count
(
setplayer
);
core
.
temp_var
[
0
]
=
(
ptr
)
pextra
;
return
FALSE
;
return
FALSE
;
}
}
case
5
:
{
case
5
:
{
core.temp_var[0] = 0;
break_effect
();
break_effect
();
if
(
!
ignore_count
)
{
if
(
!
ignore_count
)
{
returns
.
ivalue
[
0
]
=
FALSE
;
returns
.
ivalue
[
0
]
=
FALSE
;
effect* pextra =
core.extra_summon[setplayer] ? 0 : target->is_affected_by_effect(EFFECT_EXTRA_SET_COUNT)
;
effect
*
pextra
=
(
effect
*
)
core
.
temp_var
[
0
]
;
if
(
pextra
)
{
if
(
pextra
)
{
core.temp_var[0] = (ptr)pextra;
if
((
pextra
->
flag
&
EFFECT_FLAG_FUNC_VALUE
)
&&
(
core
.
summon_count
[
setplayer
]
<
get_summon_count_limit
(
setplayer
)))
if
((
pextra
->
flag
&
EFFECT_FLAG_FUNC_VALUE
)
&&
(
core
.
summon_count
[
setplayer
]
<
get_summon_count_limit
(
setplayer
)))
add_process
(
PROCESSOR_SELECT_YESNO
,
0
,
0
,
0
,
setplayer
,
91
);
add_process
(
PROCESSOR_SELECT_YESNO
,
0
,
0
,
0
,
setplayer
,
91
);
else
if
(
!
(
pextra
->
flag
&
EFFECT_FLAG_FUNC_VALUE
)
&&
((
int32
)
target
->
material_cards
.
size
()
<
pextra
->
get_value
()))
else
if
(
!
(
pextra
->
flag
&
EFFECT_FLAG_FUNC_VALUE
)
&&
((
int32
)
target
->
material_cards
.
size
()
<
pextra
->
get_value
()))
...
...
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