Commit 039cd2f1 authored by VanillaSalt's avatar VanillaSalt

fix

parent 01699cf3
......@@ -2446,7 +2446,7 @@ int32 card::is_can_be_synchro_material(card* scard, card* tuner) {
return FALSE;
if(!(get_type() & TYPE_MONSTER))
return FALSE;
if(scard && current.controler != scard->current.controler && !is_affected_by_effect(EFFECT_SYNCHRO_MATERIAL))
if(scard && current.location == LOCATION_MZONE && current.controler != scard->current.controler && !is_affected_by_effect(EFFECT_SYNCHRO_MATERIAL))
return FALSE;
if(is_affected_by_effect(EFFECT_FORBIDDEN))
return FALSE;
......
......@@ -1733,18 +1733,26 @@ int32 field::check_synchro_material(card* pcard, int32 findex1, int32 findex2, i
if(eset.size())
return check_tuner_material(pcard, eset[0]->handler, findex1, findex2, min, max, smat, mg);
}
for(uint8 p = 0; p < 2; ++p) {
for(int32 i = 0; i < 5; ++i) {
tuner = player[p].list_mzone[i];
if(mg) {
for(auto cit = mg->container.begin(); cit != mg->container.end(); ++cit) {
tuner = *cit;
if(check_tuner_material(pcard, tuner, findex1, findex2, min, max, smat, mg))
return TRUE;
}
} else {
for(uint8 p = 0; p < 2; ++p) {
for(int32 i = 0; i < 5; ++i) {
tuner = player[p].list_mzone[i];
if(check_tuner_material(pcard, tuner, findex1, findex2, min, max, smat, mg))
return TRUE;
}
}
}
return FALSE;
}
int32 field::check_tuner_material(card* pcard, card* tuner, int32 findex1, int32 findex2, int32 min, int32 max, card* smat, group* mg) {
effect* peffect;
if(tuner && tuner->is_position(POS_FACEUP) && (tuner->get_type()&TYPE_TUNER) && tuner->is_can_be_synchro_material(pcard)) {
if(tuner && tuner->is_position(POS_FACEUP) && (tuner->get_type() & TYPE_TUNER) && tuner->is_can_be_synchro_material(pcard)) {
effect* pcheck = tuner->is_affected_by_effect(EFFECT_SYNCHRO_CHECK);
if(pcheck)
pcheck->get_value(tuner);
......
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