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
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-core
Commits
e928c4f9
Commit
e928c4f9
authored
Dec 19, 2015
by
VanillaSalt
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
fix
parent
6113e3d3
Changes
2
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
23 additions
and
22 deletions
+23
-22
field.cpp
field.cpp
+6
-7
operations.cpp
operations.cpp
+17
-15
No files found.
field.cpp
View file @
e928c4f9
...
...
@@ -1877,12 +1877,6 @@ int32 field::check_tuner_material(card* pcard, card* tuner, int32 findex1, int32
break
;
}
if
(
pscrap
)
{
for
(
int32
i
=
0
;
i
<
mcount
;
++
i
)
{
if
(
!
pscrap
->
get_value
(
nsyn
[
i
]))
{
pduel
->
restore_assumes
();
return
FALSE
;
}
}
card_vector
nsyn_filtered
;
for
(
auto
cit
=
nsyn
.
begin
();
cit
!=
nsyn
.
end
();
++
cit
)
{
if
(
!
pscrap
->
get_value
(
*
cit
))
...
...
@@ -1894,7 +1888,12 @@ int32 field::check_tuner_material(card* pcard, card* tuner, int32 findex1, int32
return
TRUE
;
}
}
else
{
if
(
check_with_sum_limit_m
(
nsyn_filtered
,
lv
,
0
,
min
,
max
,
mcount
))
{
bool
mfiltered
=
true
;
for
(
int32
i
=
0
;
i
<
mcount
;
++
i
)
{
if
(
pscrap
->
get_value
(
nsyn
[
i
]))
mfiltered
=
false
;
}
if
(
mfiltered
&&
check_with_sum_limit_m
(
nsyn_filtered
,
lv
,
0
,
min
,
max
,
mcount
))
{
pduel
->
restore_assumes
();
return
TRUE
;
}
...
...
operations.cpp
View file @
e928c4f9
...
...
@@ -4253,26 +4253,36 @@ int32 field::select_synchro_material(int16 step, uint8 playerid, card* pcard, in
break
;
}
if
(
peffect
)
{
card_vector
nsyn
(
core
.
must_select_cards
);
nsyn
.
insert
(
nsyn
.
end
(),
core
.
select_cards
.
begin
(),
core
.
select_cards
.
end
());
card_vector
nsyn_filtered
;
for(auto cit =
core.select_cards.begin(); cit != core.select_cards
.end(); ++cit) {
for
(
auto
cit
=
nsyn
.
begin
();
cit
!=
nsyn
.
end
();
++
cit
)
{
if
(
!
peffect
->
get_value
(
*
cit
))
nsyn_filtered
.
push_back
(
*
cit
);
}
if(nsyn_filtered.size() <
core.select_cards
.size()) {
if
(
nsyn_filtered
.
size
()
<
nsyn
.
size
())
{
card_vector
nsyn_removed
;
for(auto cit =
core.select_cards.begin(); cit != core.select_cards
.end(); ++cit) {
for
(
auto
cit
=
nsyn
.
begin
();
cit
!=
nsyn
.
end
();
++
cit
)
{
if
(
!
(
*
cit
)
->
is_affected_by_effect
(
EFFECT_SCRAP_CHIMERA
))
nsyn_removed
.
push_back
(
*
cit
);
}
if(check_with_sum_limit(nsyn_filtered, lv, 0, 1, min, max)) {
if(check_with_sum_limit(nsyn_removed, lv, 0, 1, min, max)) {
bool
mfiltered
=
true
;
bool
mremoved
=
true
;
for
(
int32
i
=
0
;
i
<
mcount
;
++
i
)
{
if
(
peffect
->
get_value
(
nsyn
[
i
]))
mfiltered
=
false
;
if
(
nsyn
[
i
]
->
is_affected_by_effect
(
EFFECT_SCRAP_CHIMERA
))
mremoved
=
false
;
}
if
(
mfiltered
&&
check_with_sum_limit_m
(
nsyn_filtered
,
lv
,
0
,
min
,
max
,
mcount
))
{
if
(
mremoved
&&
check_with_sum_limit_m
(
nsyn_removed
,
lv
,
0
,
min
,
max
,
mcount
))
{
add_process
(
PROCESSOR_SELECT_YESNO
,
0
,
0
,
0
,
playerid
,
peffect
->
description
);
core
.
units
.
begin
()
->
step
=
6
;
return
FALSE
;
}
else
core.select_cards.
swap(nsyn_filtered
);
core
.
select_cards
.
assign
(
nsyn_filtered
.
begin
()
+
mcount
,
nsyn_filtered
.
end
()
);
}
else
core.select_cards.
swap(nsyn_removed
);
core
.
select_cards
.
assign
(
nsyn_removed
.
begin
()
+
mcount
,
nsyn_removed
.
end
()
);
}
}
}
...
...
@@ -4309,16 +4319,8 @@ int32 field::select_synchro_material(int16 step, uint8 playerid, card* pcard, in
return
TRUE
;
}
case
7
:
{
card* tuner = core.limit_tuner;
int32 l = tuner->get_synchro_level(pcard);
int32 l1 = l & 0xffff;
//int32 l2 = l >> 16;
int32
lv
=
pcard
->
get_level
();
lv -= l1;
if
(
smat
)
{
l = smat->get_synchro_level(pcard);
l1 = l & 0xffff;
lv -= l1;
min
--
;
max
--
;
}
...
...
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