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
2387783f
Commit
2387783f
authored
May 05, 2015
by
VanillaSalt
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
fix
parent
c7b7b3ae
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
29 additions
and
6 deletions
+29
-6
ocgcore/processor.cpp
ocgcore/processor.cpp
+29
-6
No files found.
ocgcore/processor.cpp
View file @
2387783f
...
@@ -2538,15 +2538,13 @@ int32 field::process_idle_command(uint16 step) {
...
@@ -2538,15 +2538,13 @@ int32 field::process_idle_command(uint16 step) {
switch(step) {
switch(step) {
case 0: {
case 0: {
card* pcard;
card* pcard;
effect_container::iterator eit;
pair<effect_container::iterator, effect_container::iterator> pr;
effect* peffect;
effect* peffect;
core.select_chains.clear();
core.select_chains.clear();
chain newchain;
chain newchain;
nil_event.event_code = EVENT_FREE_CHAIN;
nil_event.event_code = EVENT_FREE_CHAIN;
core.to_bp = TRUE;
core.to_bp = TRUE;
core.to_ep = TRUE;
core.to_ep = TRUE;
if((!(core.duel_options & DUEL_ATTACK_FIRST_TURN) && infos.turn_id == 1) ||
infos.phase == PHASE_MAIN2 || is_player_affected_by_effect(infos.turn_player, EFFECT_CANNOT_BP))
if((!(core.duel_options & DUEL_ATTACK_FIRST_TURN) && infos.turn_id == 1) || infos.phase == PHASE_MAIN2 || is_player_affected_by_effect(infos.turn_player, EFFECT_CANNOT_BP))
core.to_bp = FALSE;
core.to_bp = FALSE;
if(core.to_bp && infos.phase == PHASE_MAIN1 && is_player_affected_by_effect(infos.turn_player, EFFECT_CANNOT_EP))
if(core.to_bp && infos.phase == PHASE_MAIN1 && is_player_affected_by_effect(infos.turn_player, EFFECT_CANNOT_EP))
core.to_ep = FALSE;
core.to_ep = FALSE;
...
@@ -2576,7 +2574,7 @@ int32 field::process_idle_command(uint16 step) {
...
@@ -2576,7 +2574,7 @@ int32 field::process_idle_command(uint16 step) {
returns.ivalue[0] = 7;
returns.ivalue[0] = 7;
return FALSE;
return FALSE;
}
}
pr = effects.activate_effect.equal_range(EVENT_FREE_CHAIN);
auto
pr = effects.activate_effect.equal_range(EVENT_FREE_CHAIN);
for(; pr.first != pr.second; ++pr.first) {
for(; pr.first != pr.second; ++pr.first) {
peffect = pr.first->second;
peffect = pr.first->second;
peffect->s_range = peffect->handler->current.location;
peffect->s_range = peffect->handler->current.location;
...
@@ -2594,7 +2592,7 @@ int32 field::process_idle_command(uint16 step) {
...
@@ -2594,7 +2592,7 @@ int32 field::process_idle_command(uint16 step) {
if(peffect->is_activateable(infos.turn_player, nil_event))
if(peffect->is_activateable(infos.turn_player, nil_event))
core.select_chains.push_back(newchain);
core.select_chains.push_back(newchain);
}
}
for(eit = effects.ignition_effect.begin(); eit != effects.ignition_effect.end(); ++eit) {
for(
auto
eit = effects.ignition_effect.begin(); eit != effects.ignition_effect.end(); ++eit) {
peffect = eit->second;
peffect = eit->second;
peffect->s_range = peffect->handler->current.location;
peffect->s_range = peffect->handler->current.location;
peffect->o_range = peffect->handler->current.sequence;
peffect->o_range = peffect->handler->current.sequence;
...
@@ -2644,7 +2642,8 @@ int32 field::process_idle_command(uint16 step) {
...
@@ -2644,7 +2642,8 @@ int32 field::process_idle_command(uint16 step) {
core.repositionable_cards.clear();
core.repositionable_cards.clear();
for(int i = 0; i < 5; ++i) {
for(int i = 0; i < 5; ++i) {
pcard = player[infos.turn_player].list_mzone[i];
pcard = player[infos.turn_player].list_mzone[i];
if(pcard && ((pcard->is_position(POS_FACEUP) && pcard->is_capable_change_position(infos.turn_player)) || (pcard->is_position(POS_FACEDOWN) && pcard->is_can_be_flip_summoned(infos.turn_player))) )
if(pcard && ((pcard->is_position(POS_FACEUP+POS_FACEDOWN_ATTACK) && pcard->is_capable_change_position(infos.turn_player))
|| (pcard->is_position(POS_FACEDOWN) && pcard->is_can_be_flip_summoned(infos.turn_player))))
core.repositionable_cards.push_back(player[infos.turn_player].list_mzone[i]);
core.repositionable_cards.push_back(player[infos.turn_player].list_mzone[i]);
}
}
core.msetable_cards.clear();
core.msetable_cards.clear();
...
@@ -2759,6 +2758,16 @@ int32 field::process_idle_command(uint16 step) {
...
@@ -2759,6 +2758,16 @@ int32 field::process_idle_command(uint16 step) {
change_position(target, 0, infos.turn_player, POS_FACEUP_ATTACK, FALSE);
change_position(target, 0, infos.turn_player, POS_FACEUP_ATTACK, FALSE);
adjust_all();
adjust_all();
add_process(PROCESSOR_POINT_EVENT, 0, 0, 0, FALSE, 0);
add_process(PROCESSOR_POINT_EVENT, 0, 0, 0, FALSE, 0);
} else if(target->is_position(POS_FACEDOWN_ATTACK)) {
core.units.begin()->ptarget = (group*)target;
int32 positions = 0;
if(target->is_capable_change_position(infos.turn_player))
positions |= POS_FACEDOWN_DEFENCE;
if(target->is_can_be_flip_summoned(infos.turn_player))
positions |= POS_FACEUP_ATTACK;
add_process(PROCESSOR_SELECT_POSITION, 0, 0, 0, infos.turn_player + (positions << 16), target->data.code);
core.units.begin()->step = 12;
return FALSE;
} else add_process(PROCESSOR_FLIP_SUMMON, 0, 0, (group*)target, target->current.controler, 0);
} else add_process(PROCESSOR_FLIP_SUMMON, 0, 0, (group*)target, target->current.controler, 0);
target->set_status(STATUS_FORM_CHANGED, TRUE);
target->set_status(STATUS_FORM_CHANGED, TRUE);
core.units.begin()->step = -1;
core.units.begin()->step = -1;
...
@@ -2808,6 +2817,20 @@ int32 field::process_idle_command(uint16 step) {
...
@@ -2808,6 +2817,20 @@ int32 field::process_idle_command(uint16 step) {
core.units.begin()->step = 10;
core.units.begin()->step = 10;
return FALSE;
return FALSE;
}
}
case 13: {
card* target = (card*)core.units.begin()->ptarget;
if(returns.ivalue[0] == POS_FACEUP_ATTACK)
add_process(PROCESSOR_FLIP_SUMMON, 0, 0, (group*)target, target->current.controler, 0);
else {
core.phase_action = TRUE;
change_position(target, 0, infos.turn_player, POS_FACEDOWN_DEFENCE, FALSE);
adjust_all();
add_process(PROCESSOR_POINT_EVENT, 0, 0, 0, FALSE, 0);
}
target->set_status(STATUS_FORM_CHANGED, TRUE);
core.units.begin()->step = -1;
return FALSE;
}
}
}
return TRUE;
return TRUE;
}
}
...
...
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