Commit ec0026c4 authored by salix5's avatar salix5

field::special_summon(), field::solve_continuous()

parent 7b4174e5
...@@ -2556,8 +2556,8 @@ int32 field::special_summon(uint16 step, effect * reason_effect, uint8 reason_pl ...@@ -2556,8 +2556,8 @@ int32 field::special_summon(uint16 step, effect * reason_effect, uint8 reason_pl
if(summontype && (*cit)->material_cards.size()) { if(summontype && (*cit)->material_cards.size()) {
int32 matreason = (summontype == SUMMON_TYPE_FUSION) ? REASON_FUSION : (summontype == SUMMON_TYPE_RITUAL) ? REASON_RITUAL : (summontype == SUMMON_TYPE_XYZ) ? REASON_XYZ : 0; int32 matreason = (summontype == SUMMON_TYPE_FUSION) ? REASON_FUSION : (summontype == SUMMON_TYPE_RITUAL) ? REASON_RITUAL : (summontype == SUMMON_TYPE_XYZ) ? REASON_XYZ : 0;
for(auto mit = (*cit)->material_cards.begin(); mit != (*cit)->material_cards.end(); ++mit) for(auto mit = (*cit)->material_cards.begin(); mit != (*cit)->material_cards.end(); ++mit)
raise_single_event(*mit, &targets->container, EVENT_BE_MATERIAL, core.reason_effect, matreason, core.reason_player, (*cit)->summon_player, 0); raise_single_event(*mit, &targets->container, EVENT_BE_MATERIAL, (*cit)->current.reason_effect, matreason, (*cit)->current.reason_player, (*cit)->summon_player, 0);
raise_event(&((*cit)->material_cards), EVENT_BE_MATERIAL, core.reason_effect, matreason, core.reason_player, (*cit)->summon_player, 0); raise_event(&((*cit)->material_cards), EVENT_BE_MATERIAL, reason_effect, matreason, reason_player, (*cit)->summon_player, 0);
} }
} }
process_single_event(); process_single_event();
......
...@@ -4466,9 +4466,11 @@ int32 field::solve_continuous(uint16 step, effect * peffect, uint8 triggering_pl ...@@ -4466,9 +4466,11 @@ int32 field::solve_continuous(uint16 step, effect * peffect, uint8 triggering_pl
if(oit->second.op_cards) if(oit->second.op_cards)
pduel->delete_group(oit->second.op_cards); pduel->delete_group(oit->second.op_cards);
} }
auto ev=core.solving_event.front();
core.continuous_chain.pop_back(); core.continuous_chain.pop_back();
core.solving_event.pop_front(); core.solving_event.pop_front();
core.conti_solving = FALSE; core.conti_solving = FALSE;
if(ev.event_code != EVENT_ADJUST)
adjust_all(); adjust_all();
if(core.conti_player == PLAYER_NONE) if(core.conti_player == PLAYER_NONE)
core.conti_player = infos.turn_player; core.conti_player = infos.turn_player;
......
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