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,
}
}
}
effect* pextra = 0;
if(!ignore_count && !core.extra_summon[sumplayer])
pextra = target->is_affected_by_effect(EFFECT_EXTRA_SUMMON_COUNT);
if(returns.bvalue[0]) {
card_set tributes;
for(int32 i = 0; i < returns.bvalue[0]; ++i) {
...
...
@@ -1335,9 +1338,13 @@ int32 field::summon(uint16 step, uint8 sumplayer, card * target, effect * proc,
target->current.reason_effect = 0;
target->current.reason_player = sumplayer;
core.units.begin()->step = 4;
core.temp_var[0] = (ptr)pextra;
return FALSE;
}
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->current.reason_effect = proc;
target->current.reason_player = sumplayer;
...
...
@@ -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);
}
proc->dec_count(sumplayer);
core.temp_var[0] = (ptr)pextra;
return FALSE;
}
case 5: {
...
...
@@ -1354,12 +1362,10 @@ int32 field::summon(uint16 step, uint8 sumplayer, card * target, effect * proc,
if(core.summon_depth)
return TRUE;
break_effect();
core
.
temp_var
[
0
]
=
0
;
if(!ignore_count) {
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) {
core
.
temp_var
[
0
]
=
(
ptr
)
pextra
;
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);
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
return FALSE;
}
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]) {
card_set tributes;
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
target->current.reason_effect = 0;
target->current.reason_player = setplayer;
core.units.begin()->step = 4;
core.temp_var[0] = (ptr)pextra;
return FALSE;
}
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->current.reason_effect = proc;
target->current.reason_player = setplayer;
...
...
@@ -1780,16 +1793,15 @@ int32 field::mset(uint16 step, uint8 setplayer, card * target, effect * proc, ui
core.sub_solving_event.push_back(nil_event);
add_process(PROCESSOR_EXECUTE_OPERATION, 0, proc, 0, setplayer, 0);
proc->dec_count(setplayer);
core.temp_var[0] = (ptr)pextra;
return FALSE;
}
case 5: {
core
.
temp_var
[
0
]
=
0
;
break_effect();
if(!ignore_count) {
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) {
core
.
temp_var
[
0
]
=
(
ptr
)
pextra
;
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);
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