Commit e7b949ff authored by Fluorohydride's avatar Fluorohydride

fix an issue temporary which will cause unexpectable actions

parent 0471c223
...@@ -2794,28 +2794,19 @@ int32 field::send_to(uint16 step, group * targets, effect * reason_effect, uint3 ...@@ -2794,28 +2794,19 @@ int32 field::send_to(uint16 step, group * targets, effect * reason_effect, uint3
} else if(dest == LOCATION_REMOVED) { } else if(dest == LOCATION_REMOVED) {
core.hint_timing[pcard->current.controler] |= TIMING_REMOVE; core.hint_timing[pcard->current.controler] |= TIMING_REMOVE;
} }
pduel->write_buffer8(MSG_MOVE); if(pcard->current.location != dest) {
pduel->write_buffer32(pcard->data.code); pduel->write_buffer8(MSG_MOVE);
if(pcard->overlay_target) { pduel->write_buffer32(pcard->data.code);
pduel->write_buffer8(pcard->overlay_target->current.controler); pduel->write_buffer32(pcard->get_info_location());
pduel->write_buffer8(pcard->overlay_target->current.location | LOCATION_OVERLAY); if(pcard->overlay_target) {
pduel->write_buffer8(pcard->overlay_target->current.sequence); detach.insert(pcard->overlay_target);
pduel->write_buffer8(pcard->current.sequence); pcard->overlay_target->xyz_remove(pcard);
detach.insert(pcard->overlay_target); }
pcard->overlay_target->xyz_remove(pcard); move_card(playerid, pcard, dest, seq);
} else { pcard->current.position = (pcard->operation_param >> 24);
pduel->write_buffer8(pcard->current.controler); pduel->write_buffer32(pcard->get_info_location());
pduel->write_buffer8(pcard->current.location); pduel->write_buffer32(pcard->current.reason);
pduel->write_buffer8(pcard->current.sequence);
pduel->write_buffer8(pcard->current.position);
} }
move_card(playerid, pcard, dest, seq);
pcard->current.position = (pcard->operation_param >> 24);
pduel->write_buffer8(pcard->current.controler);
pduel->write_buffer8(pcard->current.location);
pduel->write_buffer8(pcard->current.sequence);
pduel->write_buffer8(pcard->current.position);
pduel->write_buffer32(pcard->current.reason);
if((core.deck_reversed && pcard->current.location == LOCATION_DECK) || (pcard->current.position == POS_FACEUP_DEFENCE)) if((core.deck_reversed && pcard->current.location == LOCATION_DECK) || (pcard->current.position == POS_FACEUP_DEFENCE))
show_decktop[pcard->current.controler] = true; show_decktop[pcard->current.controler] = true;
pcard->set_status(STATUS_LEAVE_CONFIRMED, FALSE); pcard->set_status(STATUS_LEAVE_CONFIRMED, FALSE);
...@@ -3179,25 +3170,13 @@ int32 field::move_to_field(uint16 step, card * target, uint32 enable, uint32 ret ...@@ -3179,25 +3170,13 @@ int32 field::move_to_field(uint16 step, card * target, uint32 enable, uint32 ret
} }
pduel->write_buffer8(MSG_MOVE); pduel->write_buffer8(MSG_MOVE);
pduel->write_buffer32(target->data.code); pduel->write_buffer32(target->data.code);
if(target->overlay_target) { pduel->write_buffer32(target->get_info_location());
pduel->write_buffer8(target->overlay_target->current.controler); if(target->overlay_target)
pduel->write_buffer8(target->overlay_target->current.location | LOCATION_OVERLAY);
pduel->write_buffer8(target->overlay_target->current.sequence);
pduel->write_buffer8(target->current.sequence);
target->overlay_target->xyz_remove(target); target->overlay_target->xyz_remove(target);
} else {
pduel->write_buffer8(target->current.controler);
pduel->write_buffer8(target->current.location);
pduel->write_buffer8(target->current.sequence);
pduel->write_buffer8(target->current.position);
}
move_card(playerid, target, location, target->temp.sequence); move_card(playerid, target, location, target->temp.sequence);
target->current.position = returns.ivalue[0]; target->current.position = returns.ivalue[0];
target->set_status(STATUS_LEAVE_CONFIRMED | STATUS_ACTIVATED, FALSE); target->set_status(STATUS_LEAVE_CONFIRMED | STATUS_ACTIVATED, FALSE);
pduel->write_buffer8(target->current.controler); pduel->write_buffer32(target->get_info_location());
pduel->write_buffer8(target->current.location);
pduel->write_buffer8(target->current.sequence);
pduel->write_buffer8(target->current.position);
pduel->write_buffer32(target->current.reason); pduel->write_buffer32(target->current.reason);
if((target->current.location != LOCATION_MZONE)) { if((target->current.location != LOCATION_MZONE)) {
if(target->equiping_cards.size()) { if(target->equiping_cards.size()) {
......
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