Commit 479f4593 authored by wind2009's avatar wind2009

Merge remote-tracking branch '233/patch-synchro-1' into 888

parents 9453e29a 5aee64f4
Pipeline #42738 passed with stages
in 3 minutes and 20 seconds
...@@ -5532,7 +5532,7 @@ int32_t field::select_synchro_material(int16_t step, uint8_t playerid, card* pca ...@@ -5532,7 +5532,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);
...@@ -5600,6 +5600,7 @@ int32_t field::select_synchro_material(int16_t step, uint8_t playerid, card* pca ...@@ -5600,6 +5600,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) {
...@@ -5646,7 +5647,7 @@ int32_t field::select_synchro_material(int16_t step, uint8_t playerid, card* pca ...@@ -5646,7 +5647,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: {
...@@ -5674,6 +5675,7 @@ int32_t field::select_synchro_material(int16_t step, uint8_t playerid, card* pca ...@@ -5674,6 +5675,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) {
...@@ -5699,7 +5701,7 @@ int32_t field::select_synchro_material(int16_t step, uint8_t playerid, card* pca ...@@ -5699,7 +5701,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