Commit 5aee64f4 authored by mercury233's avatar mercury233

fix mcount for synchro sum check

parent 60c3c4f0
...@@ -5476,7 +5476,7 @@ int32_t field::select_synchro_material(int16_t step, uint8_t playerid, card* pca ...@@ -5476,7 +5476,7 @@ int32_t field::select_synchro_material(int16_t step, uint8_t playerid, card* pca
card* pm = *cit; card* pm = *cit;
if(start != cit) if(start != cit)
std::iter_swap(start, cit); std::iter_swap(start, cit);
if(check_other_synchro_material(nsyn, lv, min - 1, max - 1, mcount + 1)) if(check_other_synchro_material(nsyn, lv, min - mcount, max - mcount, mcount + 1))
core.select_cards.push_back(pm); core.select_cards.push_back(pm);
if(start != cit) if(start != cit)
std::iter_swap(start, cit); std::iter_swap(start, cit);
...@@ -5544,6 +5544,7 @@ int32_t field::select_synchro_material(int16_t step, uint8_t playerid, card* pca ...@@ -5544,6 +5544,7 @@ int32_t field::select_synchro_material(int16_t step, uint8_t playerid, card* pca
} }
case 7: { case 7: {
int32_t lv = pcard->get_level(); int32_t lv = pcard->get_level();
int32_t mcount = (int32_t)core.must_select_cards.size();
if(core.global_flag & GLOBALFLAG_SCRAP_CHIMERA) { if(core.global_flag & GLOBALFLAG_SCRAP_CHIMERA) {
effect* peffect = nullptr; effect* peffect = nullptr;
for(auto& pm : core.select_cards) { for(auto& pm : core.select_cards) {
...@@ -5590,7 +5591,7 @@ int32_t field::select_synchro_material(int16_t step, uint8_t playerid, card* pca ...@@ -5590,7 +5591,7 @@ int32_t field::select_synchro_material(int16_t step, uint8_t playerid, card* pca
pduel->write_buffer8(HINT_SELECTMSG); pduel->write_buffer8(HINT_SELECTMSG);
pduel->write_buffer8(playerid); pduel->write_buffer8(playerid);
pduel->write_buffer32(512); pduel->write_buffer32(512);
add_process(PROCESSOR_SELECT_SUM, 0, 0, 0, lv, playerid, min, max); add_process(PROCESSOR_SELECT_SUM, 0, 0, 0, lv, playerid, min - (mcount - 1), max - (mcount - 1));
return FALSE; return FALSE;
} }
case 8: { case 8: {
...@@ -5618,6 +5619,7 @@ int32_t field::select_synchro_material(int16_t step, uint8_t playerid, card* pca ...@@ -5618,6 +5619,7 @@ int32_t field::select_synchro_material(int16_t step, uint8_t playerid, card* pca
} }
case 10: { case 10: {
int32_t lv = pcard->get_level(); int32_t lv = pcard->get_level();
int32_t mcount = (int32_t)core.must_select_cards.size();
if(returns.ivalue[0]) { if(returns.ivalue[0]) {
effect* peffect = nullptr; effect* peffect = nullptr;
for(auto& pm : core.select_cards) { for(auto& pm : core.select_cards) {
...@@ -5643,7 +5645,7 @@ int32_t field::select_synchro_material(int16_t step, uint8_t playerid, card* pca ...@@ -5643,7 +5645,7 @@ int32_t field::select_synchro_material(int16_t step, uint8_t playerid, card* pca
pduel->write_buffer8(HINT_SELECTMSG); pduel->write_buffer8(HINT_SELECTMSG);
pduel->write_buffer8(playerid); pduel->write_buffer8(playerid);
pduel->write_buffer32(512); pduel->write_buffer32(512);
add_process(PROCESSOR_SELECT_SUM, 0, 0, 0, lv, playerid, min, max); add_process(PROCESSOR_SELECT_SUM, 0, 0, 0, lv, playerid, min - (mcount - 1), max - (mcount - 1));
core.units.begin()->step = 7; core.units.begin()->step = 7;
return FALSE; return FALSE;
} }
......
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