Commit 9258e1a3 authored by mercury233's avatar mercury233
parents 231e5a77 89a46ce1
...@@ -4279,14 +4279,13 @@ int32 field::move_to_field(uint16 step, card* target, uint32 enable, uint32 ret, ...@@ -4279,14 +4279,13 @@ int32 field::move_to_field(uint16 step, card* target, uint32 enable, uint32 ret,
} }
if(!(target->current.location & LOCATION_ONFIELD)) if(!(target->current.location & LOCATION_ONFIELD))
target->clear_relate_effect(); target->clear_relate_effect();
} else { }
if(target->turnid != infos.turn_id) { if(ret != 1 || target->turnid != infos.turn_id) {
target->set_status(STATUS_SUMMON_TURN, FALSE); target->set_status(STATUS_SUMMON_TURN, FALSE);
target->set_status(STATUS_FLIP_SUMMON_TURN, FALSE); target->set_status(STATUS_FLIP_SUMMON_TURN, FALSE);
target->set_status(STATUS_SPSUMMON_TURN, FALSE); target->set_status(STATUS_SPSUMMON_TURN, FALSE);
target->set_status(STATUS_SET_TURN, FALSE); target->set_status(STATUS_SET_TURN, FALSE);
target->set_status(STATUS_FORM_CHANGED, FALSE); target->set_status(STATUS_FORM_CHANGED, FALSE);
}
} }
target->temp.sequence = seq; target->temp.sequence = seq;
if(location != LOCATION_MZONE) { if(location != LOCATION_MZONE) {
...@@ -4464,6 +4463,7 @@ int32 field::change_position(uint16 step, group * targets, effect * reason_effec ...@@ -4464,6 +4463,7 @@ int32 field::change_position(uint16 step, group * targets, effect * reason_effec
pcard->clear_card_target(); pcard->clear_card_target();
pcard->set_status(STATUS_SET_TURN, TRUE); pcard->set_status(STATUS_SET_TURN, TRUE);
pcard->enable_field_effect(false); pcard->enable_field_effect(false);
pcard->previous.location = 0;
pcard->summon_info &= 0xdf00ffff; pcard->summon_info &= 0xdf00ffff;
if((pcard->summon_info & SUMMON_TYPE_PENDULUM) == SUMMON_TYPE_PENDULUM) if((pcard->summon_info & SUMMON_TYPE_PENDULUM) == SUMMON_TYPE_PENDULUM)
pcard->summon_info &= 0xf000ffff; pcard->summon_info &= 0xf000ffff;
......
...@@ -2897,9 +2897,9 @@ int32 field::process_battle_command(uint16 step) { ...@@ -2897,9 +2897,9 @@ int32 field::process_battle_command(uint16 step) {
} else if(ctype == 1) { } else if(ctype == 1) {
core.units.begin()->step = 2; core.units.begin()->step = 2;
core.units.begin()->arg3 = FALSE; core.units.begin()->arg3 = FALSE;
card* attacker = core.attackable_cards[sel]; core.attacker = core.attackable_cards[sel];
core.attacker = attacker;
core.attacker->set_status(STATUS_ATTACK_CANCELED, FALSE); core.attacker->set_status(STATUS_ATTACK_CANCELED, FALSE);
core.attacker->attack_controler = core.attacker->current.controler;
core.pre_field[0] = core.attacker->fieldid_r; core.pre_field[0] = core.attacker->fieldid_r;
effect_set eset; effect_set eset;
filter_player_effect(infos.turn_player, EFFECT_ATTACK_COST, &eset, FALSE); filter_player_effect(infos.turn_player, EFFECT_ATTACK_COST, &eset, FALSE);
...@@ -2941,7 +2941,7 @@ int32 field::process_battle_command(uint16 step) { ...@@ -2941,7 +2941,7 @@ int32 field::process_battle_command(uint16 step) {
} }
case 3: { case 3: {
core.units.begin()->arg1 = FALSE; core.units.begin()->arg1 = FALSE;
if(core.attacker->current.location != LOCATION_MZONE || core.attacker->current.controler != infos.turn_player || core.attacker->fieldid_r != core.pre_field[0]) { if(core.attacker->is_status(STATUS_ATTACK_CANCELED)) {
core.units.begin()->arg3 = TRUE; core.units.begin()->arg3 = TRUE;
core.units.begin()->step = 6; core.units.begin()->step = 6;
return FALSE; return FALSE;
...@@ -3041,7 +3041,7 @@ int32 field::process_battle_command(uint16 step) { ...@@ -3041,7 +3041,7 @@ int32 field::process_battle_command(uint16 step) {
check_card_counter(core.attacker, 5, infos.turn_player); check_card_counter(core.attacker, 5, infos.turn_player);
core.attacker->attack_announce_count++; core.attacker->attack_announce_count++;
} }
if(core.units.begin()->arg3) { if(core.units.begin()->arg3) {//attack announce failed
core.attacker->announce_count++; core.attacker->announce_count++;
core.chain_attack = FALSE; core.chain_attack = FALSE;
core.units.begin()->step = -1; core.units.begin()->step = -1;
......
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