Commit 48300a55 authored by DailyShana's avatar DailyShana

add hint for selecting place

parent 12139246
......@@ -1040,6 +1040,11 @@ int32 field::swap_control(uint16 step, effect* reason_effect, uint8 reason_playe
uint32 flag;
get_useable_count(p1, LOCATION_MZONE, reason_player, LOCATION_REASON_CONTROL, 0xff, &flag);
flag = (flag & ~(1 << s1) & 0xff) | ~0x1f;
card* pcard2 = *targets2->it;
pduel->write_buffer8(MSG_HINT);
pduel->write_buffer8(HINT_SELECTMSG);
pduel->write_buffer8(p1);
pduel->write_buffer32(pcard2->data.code);
add_process(PROCESSOR_SELECT_PLACE, 0, 0, 0, p1, flag, 1);
return FALSE;
}
......@@ -1051,6 +1056,11 @@ int32 field::swap_control(uint16 step, effect* reason_effect, uint8 reason_playe
uint32 flag;
get_useable_count(p2, LOCATION_MZONE, reason_player, LOCATION_REASON_CONTROL, 0xff, &flag);
flag = (flag & ~(1 << s2) & 0xff) | ~0x1f;
card* pcard1 = *targets1->it;
pduel->write_buffer8(MSG_HINT);
pduel->write_buffer8(HINT_SELECTMSG);
pduel->write_buffer8(p2);
pduel->write_buffer32(pcard1->data.code);
add_process(PROCESSOR_SELECT_PLACE, 0, 0, 0, p2, flag, 1);
return FALSE;
}
......@@ -3616,6 +3626,10 @@ int32 field::send_to(uint16 step, group * targets, effect * reason_effect, uint3
uint32 flag;
get_useable_count(pcard->current.controler, LOCATION_SZONE, pcard->current.controler, LOCATION_REASON_TOFIELD, 0xff, &flag);
flag = ((flag << 8) & 0xff00) | 0xffffe0ff;
pduel->write_buffer8(MSG_HINT);
pduel->write_buffer8(HINT_SELECTMSG);
pduel->write_buffer8(pcard->current.controler);
pduel->write_buffer32(pcard->data.code);
add_process(PROCESSOR_SELECT_PLACE, 0, 0, 0, pcard->current.controler, flag, 1);
return FALSE;
}
......@@ -3957,6 +3971,10 @@ int32 field::move_to_field(uint16 step, card* target, uint32 enable, uint32 ret,
if(move_player != playerid)
flag = flag << 16;
flag = ~flag;
pduel->write_buffer8(MSG_HINT);
pduel->write_buffer8(HINT_SELECTMSG);
pduel->write_buffer8(move_player);
pduel->write_buffer32(target->data.code);
add_process(PROCESSOR_SELECT_PLACE, 0, 0, 0, move_player, flag, 1);
} else if(core.duel_rule >= 4 && location == LOCATION_MZONE && target->current.location == LOCATION_EXTRA) {
uint32 flag;
......@@ -3973,6 +3991,10 @@ int32 field::move_to_field(uint16 step, card* target, uint32 enable, uint32 ret,
else
flag = ((flag & 0xff) << 16) | 0xff00ffff;
flag |= 0xff80ff80;
pduel->write_buffer8(MSG_HINT);
pduel->write_buffer8(HINT_SELECTMSG);
pduel->write_buffer8(move_player);
pduel->write_buffer32(target->data.code);
add_process(PROCESSOR_SELECT_PLACE, 0, 0, 0, move_player, flag, 1);
} else {
uint32 flag;
......@@ -3997,6 +4019,10 @@ int32 field::move_to_field(uint16 step, card* target, uint32 enable, uint32 ret,
flag = ((flag & 0xff) << 16) | 0xff00ffff;
}
flag |= 0xe0e0e0e0;
pduel->write_buffer8(MSG_HINT);
pduel->write_buffer8(HINT_SELECTMSG);
pduel->write_buffer8(move_player);
pduel->write_buffer32(target->data.code);
add_process(PROCESSOR_SELECT_PLACE, 0, 0, 0, move_player, flag, 1);
}
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