Commit 7e424b78 authored by fallenstardust's avatar fallenstardust Committed by GitHub

Merge pull request #35 from mercury233/patch-3

temp workaround
parents d8510201 4152bb05
...@@ -1903,7 +1903,7 @@ void card::reset(uint32 id, uint32 reset_type) { ...@@ -1903,7 +1903,7 @@ void card::reset(uint32 id, uint32 reset_type) {
} }
} }
if(id & RESET_TURN_SET) { if(id & RESET_TURN_SET) {
effect* peffect = std::get<effect*>(refresh_control_status()); effect* peffect = std::get<1>(refresh_control_status());
if(peffect && (!(peffect->type & EFFECT_TYPE_SINGLE) || peffect->condition)) { if(peffect && (!(peffect->type & EFFECT_TYPE_SINGLE) || peffect->condition)) {
effect* new_effect = pduel->new_effect(); effect* new_effect = pduel->new_effect();
new_effect->id = peffect->id; new_effect->id = peffect->id;
......
...@@ -523,7 +523,7 @@ void field::swap_card(card* pcard1, card* pcard2) { ...@@ -523,7 +523,7 @@ void field::swap_card(card* pcard1, card* pcard2) {
return swap_card(pcard1, pcard2, pcard1->current.sequence, pcard2->current.sequence); return swap_card(pcard1, pcard2, pcard1->current.sequence, pcard2->current.sequence);
} }
void field::set_control(card* pcard, uint8 playerid, uint16 reset_phase, uint8 reset_count) { void field::set_control(card* pcard, uint8 playerid, uint16 reset_phase, uint8 reset_count) {
if((core.remove_brainwashing && pcard->is_affected_by_effect(EFFECT_REMOVE_BRAINWASHING)) || std::get<uint8>(pcard->refresh_control_status()) == playerid) if((core.remove_brainwashing && pcard->is_affected_by_effect(EFFECT_REMOVE_BRAINWASHING)) || std::get<0>(pcard->refresh_control_status()) == playerid)
return; return;
effect* peffect = pduel->new_effect(); effect* peffect = pduel->new_effect();
if(core.reason_effect) if(core.reason_effect)
......
...@@ -4852,8 +4852,8 @@ int32 field::adjust_step(uint16 step) { ...@@ -4852,8 +4852,8 @@ int32 field::adjust_step(uint16 step) {
if(!pcard) continue; if(!pcard) continue;
uint8 cur = pcard->current.controler; uint8 cur = pcard->current.controler;
auto res = pcard->refresh_control_status(); auto res = pcard->refresh_control_status();
uint8 ref = std::get<uint8>(res); uint8 ref = std::get<0>(res);
effect* peffect = std::get<effect*>(res); effect* peffect = std::get<1>(res);
if(cur != ref && pcard->is_capable_change_control()) { if(cur != ref && pcard->is_capable_change_control()) {
core.control_adjust_set[p].insert(pcard); core.control_adjust_set[p].insert(pcard);
if(peffect && (!(peffect->type & EFFECT_TYPE_SINGLE) || peffect->condition)) if(peffect && (!(peffect->type & EFFECT_TYPE_SINGLE) || peffect->condition))
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment