Commit 43ef40d6 authored by mercury233's avatar mercury233
parents 0b8f7ba1 4ad244b9
...@@ -2391,13 +2391,12 @@ int32 card::is_can_be_summoned(uint8 playerid, uint8 ignore_count, effect* peffe ...@@ -2391,13 +2391,12 @@ int32 card::is_can_be_summoned(uint8 playerid, uint8 ignore_count, effect* peffe
effect_set proc; effect_set proc;
int32 res = filter_summon_procedure(playerid, &proc, ignore_count, min_tribute); int32 res = filter_summon_procedure(playerid, &proc, ignore_count, min_tribute);
if(peffect) { if(peffect) {
if(res < 0 || !pduel->game_field->is_player_can_summon(peffect->get_value(), playerid, this)){ if(res < 0 || !pduel->game_field->is_player_can_summon(peffect->get_value(), playerid, this)) {
pduel->game_field->restore_lp_cost(); pduel->game_field->restore_lp_cost();
return FALSE; return FALSE;
} }
} } else {
else { if(!proc.size() && (!res || res == -2)) {
if(!proc.size() && res == 0) {
pduel->game_field->restore_lp_cost(); pduel->game_field->restore_lp_cost();
return FALSE; return FALSE;
} }
...@@ -2534,9 +2533,8 @@ int32 card::is_can_be_special_summoned(effect * reason_effect, uint32 sumtype, u ...@@ -2534,9 +2533,8 @@ int32 card::is_can_be_special_summoned(effect * reason_effect, uint32 sumtype, u
if(!nolimit && (data.type & TYPE_PENDULUM) && current.location == LOCATION_EXTRA && (current.position & POS_FACEUP)) if(!nolimit && (data.type & TYPE_PENDULUM) && current.location == LOCATION_EXTRA && (current.position & POS_FACEUP))
return FALSE; return FALSE;
} }
//face-up pendulum xyz/syn, STATUS_PROC_COMPLETE if((data.type & TYPE_PENDULUM) && current.location == LOCATION_EXTRA && (current.position & POS_FACEUP)
if((data.type & TYPE_PENDULUM) && current.location == LOCATION_EXTRA && (current.position & POS_FACEUP) && && (sumtype == SUMMON_TYPE_FUSION || sumtype == SUMMON_TYPE_SYNCHRO || sumtype == SUMMON_TYPE_XYZ))
(sumtype == SUMMON_TYPE_SYNCHRO || sumtype == SUMMON_TYPE_XYZ))
return FALSE; return FALSE;
if(((sumpos & POS_FACEDOWN) == 0) && pduel->game_field->check_unique_onfield(this, toplayer, LOCATION_MZONE)) if(((sumpos & POS_FACEDOWN) == 0) && pduel->game_field->check_unique_onfield(this, toplayer, LOCATION_MZONE))
return FALSE; return FALSE;
...@@ -2619,13 +2617,12 @@ int32 card::is_setable_mzone(uint8 playerid, uint8 ignore_count, effect* peffect ...@@ -2619,13 +2617,12 @@ int32 card::is_setable_mzone(uint8 playerid, uint8 ignore_count, effect* peffect
eset.clear(); eset.clear();
int32 res = filter_set_procedure(playerid, &eset, ignore_count, min_tribute); int32 res = filter_set_procedure(playerid, &eset, ignore_count, min_tribute);
if(peffect) { if(peffect) {
if(res < 0 || !pduel->game_field->is_player_can_mset(peffect->get_value(), playerid, this)){ if(res < 0 || !pduel->game_field->is_player_can_mset(peffect->get_value(), playerid, this)) {
pduel->game_field->restore_lp_cost(); pduel->game_field->restore_lp_cost();
return FALSE; return FALSE;
} }
} } else {
else { if(!eset.size() && (!res || res == -2)) {
if(!eset.size() && res == 0) {
pduel->game_field->restore_lp_cost(); pduel->game_field->restore_lp_cost();
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