Commit a9b5fb8d authored by DailyShana's avatar DailyShana

fix reset control in turn end when controller has changed

parent dae92637
...@@ -1036,8 +1036,7 @@ int32 field::process_phase_event(int16 step, int32 phase) { ...@@ -1036,8 +1036,7 @@ int32 field::process_phase_event(int16 step, int32 phase) {
cn_count++; cn_count++;
} }
//all effects taking control non-permanently are only until End Phase, not until Turn end //all effects taking control non-permanently are only until End Phase, not until Turn end
for(auto eit = effects.pheff.begin(); eit != effects.pheff.end();) { for(auto* peffect : effects.pheff) {
effect* peffect = *eit++;
if(peffect->code != EFFECT_SET_CONTROL) if(peffect->code != EFFECT_SET_CONTROL)
continue; continue;
if(!(peffect->reset_flag & phase)) if(!(peffect->reset_flag & phase))
...@@ -1051,13 +1050,8 @@ int32 field::process_phase_event(int16 step, int32 phase) { ...@@ -1051,13 +1050,8 @@ int32 field::process_phase_event(int16 step, int32 phase) {
if(peffect->reset_count != 1) if(peffect->reset_count != 1)
continue; continue;
card* phandler = peffect->get_handler(); card* phandler = peffect->get_handler();
if(pid != phandler->current.controler) { if(peffect->value != phandler->current.controler)
if(peffect->is_flag(EFFECT_FLAG_FIELD_ONLY))
remove_effect(peffect);
else
peffect->handler->remove_effect(peffect);
continue; continue;
}
newchain.triggering_effect = peffect; newchain.triggering_effect = peffect;
core.select_chains.push_back(newchain); core.select_chains.push_back(newchain);
cn_count++; cn_count++;
......
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