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
01fc03a6
Commit
01fc03a6
authored
Jul 22, 2018
by
mercury233
Committed by
nanahira
Jul 22, 2018
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
fix Duel.SSet (#173)
parent
684fb273
Changes
2
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
15 additions
and
7 deletions
+15
-7
field.h
field.h
+1
-0
operations.cpp
operations.cpp
+14
-7
No files found.
field.h
View file @
01fc03a6
...
@@ -227,6 +227,7 @@ struct processor {
...
@@ -227,6 +227,7 @@ struct processor {
card_set
discarded_set
;
card_set
discarded_set
;
card_set
destroy_canceled
;
card_set
destroy_canceled
;
card_set
delayed_enable_set
;
card_set
delayed_enable_set
;
card_set
set_group_pre_set
;
card_set
set_group_set
;
card_set
set_group_set
;
effect_set_v
disfield_effects
;
effect_set_v
disfield_effects
;
effect_set_v
extram_effects
;
effect_set_v
extram_effects
;
...
...
operations.cpp
View file @
01fc03a6
...
@@ -2370,6 +2370,7 @@ int32 field::sset_g(uint16 step, uint8 setplayer, uint8 toplayer, group* ptarget
...
@@ -2370,6 +2370,7 @@ int32 field::sset_g(uint16 step, uint8 setplayer, uint8 toplayer, group* ptarget
returns.ivalue[0] = 0;
returns.ivalue[0] = 0;
return TRUE;
return TRUE;
}
}
core.set_group_pre_set.clear();
core.set_group_set.clear();
core.set_group_set.clear();
core.set_group_used_zones = 0;
core.set_group_used_zones = 0;
core.phase_action = TRUE;
core.phase_action = TRUE;
...
@@ -2407,8 +2408,8 @@ int32 field::sset_g(uint16 step, uint8 setplayer, uint8 toplayer, group* ptarget
...
@@ -2407,8 +2408,8 @@ int32 field::sset_g(uint16 step, uint8 setplayer, uint8 toplayer, group* ptarget
card_set* set_cards = (card_set*)ptarget;
card_set* set_cards = (card_set*)ptarget;
card* target = *set_cards->begin();
card* target = *set_cards->begin();
uint32 seq = returns.bvalue[2];
uint32 seq = returns.bvalue[2];
core.set_group_seq[core.set_group_set.size()] = seq;
core.set_group_seq[core.set_group_
pre_
set.size()] = seq;
core.set_group_set.insert(target);
core.set_group_
pre_
set.insert(target);
core.set_group_used_zones |= (1 << seq);
core.set_group_used_zones |= (1 << seq);
set_cards->erase(target);
set_cards->erase(target);
if(!set_cards->empty())
if(!set_cards->empty())
...
@@ -2418,7 +2419,7 @@ int32 field::sset_g(uint16 step, uint8 setplayer, uint8 toplayer, group* ptarget
...
@@ -2418,7 +2419,7 @@ int32 field::sset_g(uint16 step, uint8 setplayer, uint8 toplayer, group* ptarget
return FALSE;
return FALSE;
}
}
case 3: {
case 3: {
card_set* set_cards = &core.set_group_set;
card_set* set_cards = &core.set_group_
pre_
set;
card* target = *set_cards->begin();
card* target = *set_cards->begin();
target->enable_field_effect(false);
target->enable_field_effect(false);
uint32 zone;
uint32 zone;
...
@@ -2437,7 +2438,7 @@ int32 field::sset_g(uint16 step, uint8 setplayer, uint8 toplayer, group* ptarget
...
@@ -2437,7 +2438,7 @@ int32 field::sset_g(uint16 step, uint8 setplayer, uint8 toplayer, group* ptarget
return FALSE;
return FALSE;
}
}
case 4: {
case 4: {
card_set* set_cards = &core.set_group_set;
card_set* set_cards = &core.set_group_
pre_
set;
card* target = *set_cards->begin();
card* target = *set_cards->begin();
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) {
...
@@ -2454,7 +2455,7 @@ int32 field::sset_g(uint16 step, uint8 setplayer, uint8 toplayer, group* ptarget
...
@@ -2454,7 +2455,7 @@ int32 field::sset_g(uint16 step, uint8 setplayer, uint8 toplayer, group* ptarget
pduel->write_buffer8(MSG_SET);
pduel->write_buffer8(MSG_SET);
pduel->write_buffer32(target->data.code);
pduel->write_buffer32(target->data.code);
pduel->write_buffer32(target->get_info_location());
pduel->write_buffer32(target->get_info_location());
core.
operated
_set.insert(target);
core.
set_group
_set.insert(target);
set_cards->erase(target);
set_cards->erase(target);
if(!set_cards->empty())
if(!set_cards->empty())
core.units.begin()->step = 2;
core.units.begin()->step = 2;
...
@@ -2464,8 +2465,8 @@ int32 field::sset_g(uint16 step, uint8 setplayer, uint8 toplayer, group* ptarget
...
@@ -2464,8 +2465,8 @@ int32 field::sset_g(uint16 step, uint8 setplayer, uint8 toplayer, group* ptarget
if(confirm) {
if(confirm) {
pduel->write_buffer8(MSG_CONFIRM_CARDS);
pduel->write_buffer8(MSG_CONFIRM_CARDS);
pduel->write_buffer8(toplayer);
pduel->write_buffer8(toplayer);
pduel->write_buffer8(core.
operated
_set.size());
pduel->write_buffer8(core.
set_group
_set.size());
for(auto cit = core.
operated_set.begin(); cit != core.operated
_set.end(); ++cit) {
for(auto cit = core.
set_group_set.begin(); cit != core.set_group
_set.end(); ++cit) {
pduel->write_buffer32((*cit)->data.code);
pduel->write_buffer32((*cit)->data.code);
pduel->write_buffer8((*cit)->current.controler);
pduel->write_buffer8((*cit)->current.controler);
pduel->write_buffer8((*cit)->current.location);
pduel->write_buffer8((*cit)->current.location);
...
@@ -2475,9 +2476,15 @@ int32 field::sset_g(uint16 step, uint8 setplayer, uint8 toplayer, group* ptarget
...
@@ -2475,9 +2476,15 @@ int32 field::sset_g(uint16 step, uint8 setplayer, uint8 toplayer, group* ptarget
return FALSE;
return FALSE;
}
}
case 6: {
case 6: {
core.operated_set.clear();
for(auto cit = core.set_group_set.begin(); cit != core.set_group_set.end(); ++cit) {
core.operated_set.insert(*cit);
}
uint8 ct = core.operated_set.size();
uint8 ct = core.operated_set.size();
if(core.set_group_used_zones & (1 << 5))
if(core.set_group_used_zones & (1 << 5))
ct--;
ct--;
if(ct <= 1)
return FALSE;
pduel->write_buffer8(MSG_SHUFFLE_SET_CARD);
pduel->write_buffer8(MSG_SHUFFLE_SET_CARD);
pduel->write_buffer8(LOCATION_SZONE);
pduel->write_buffer8(LOCATION_SZONE);
pduel->write_buffer8(ct);
pduel->write_buffer8(ct);
...
...
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