Commit cca6e870 authored by salix5's avatar salix5

update std container erase

parent 670de59f
...@@ -204,7 +204,7 @@ void field::destroy(card_set* targets, effect* reason_effect, uint32 reason, uin ...@@ -204,7 +204,7 @@ void field::destroy(card_set* targets, effect* reason_effect, uint32 reason, uin
for(auto cit = targets->begin(); cit != targets->end();) { for(auto cit = targets->begin(); cit != targets->end();) {
card* pcard = *cit; card* pcard = *cit;
if(pcard->is_status(STATUS_DESTROY_CONFIRMED) && core.destroy_canceled.find(pcard) == core.destroy_canceled.end()) { if(pcard->is_status(STATUS_DESTROY_CONFIRMED) && core.destroy_canceled.find(pcard) == core.destroy_canceled.end()) {
targets->erase(cit++); cit = targets->erase(cit);
continue; continue;
} }
pcard->temp.reason = pcard->current.reason; pcard->temp.reason = pcard->current.reason;
...@@ -3597,7 +3597,7 @@ int32 field::destroy(uint16 step, group * targets, effect * reason_effect, uint3 ...@@ -3597,7 +3597,7 @@ int32 field::destroy(uint16 step, group * targets, effect * reason_effect, uint3
core.operated_set = targets->container; core.operated_set = targets->container;
for(auto cit = core.operated_set.begin(); cit != core.operated_set.end();) { for(auto cit = core.operated_set.begin(); cit != core.operated_set.end();) {
if((*cit)->current.reason & REASON_REPLACE) if((*cit)->current.reason & REASON_REPLACE)
core.operated_set.erase(cit++); cit = core.operated_set.erase(cit);
else else
cit++; cit++;
} }
......
...@@ -1318,7 +1318,7 @@ int32 field::process_point_event(int16 step, int32 skip_trigger, int32 skip_free ...@@ -1318,7 +1318,7 @@ int32 field::process_point_event(int16 step, int32 skip_trigger, int32 skip_free
core.select_chains.push_back(*clit); core.select_chains.push_back(*clit);
} else { } else {
peffect->active_type = 0; peffect->active_type = 0;
core.new_fchain_s.erase(clit++); clit = core.new_fchain_s.erase(clit);
continue; continue;
} }
++clit; ++clit;
...@@ -1377,7 +1377,7 @@ int32 field::process_point_event(int16 step, int32 skip_trigger, int32 skip_free ...@@ -1377,7 +1377,7 @@ int32 field::process_point_event(int16 step, int32 skip_trigger, int32 skip_free
core.select_chains.push_back(*clit); core.select_chains.push_back(*clit);
} else { } else {
peffect->active_type = 0; peffect->active_type = 0;
core.new_ochain_s.erase(clit++); clit = core.new_ochain_s.erase(clit);
continue; continue;
} }
++clit; ++clit;
...@@ -1589,7 +1589,7 @@ int32 field::process_quick_effect(int16 step, int32 skip_freechain, uint8 priori ...@@ -1589,7 +1589,7 @@ int32 field::process_quick_effect(int16 step, int32 skip_freechain, uint8 priori
if(ifit->second.triggering_player == check_player) if(ifit->second.triggering_player == check_player)
core.select_chains.push_back(ifit->second); core.select_chains.push_back(ifit->second);
} else { } else {
core.quick_f_chain.erase(ifit++); ifit = core.quick_f_chain.erase(ifit);
continue; continue;
} }
++ifit; ++ifit;
......
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