Commit 3238c9dd authored by mercury233's avatar mercury233
parents 2544bb92 f099ddb0
...@@ -4160,6 +4160,7 @@ int32 field::send_to(uint16 step, group * targets, effect * reason_effect, uint3 ...@@ -4160,6 +4160,7 @@ int32 field::send_to(uint16 step, group * targets, effect * reason_effect, uint3
else else
pcard->reset(RESET_REMOVE, RESET_EVENT); pcard->reset(RESET_REMOVE, RESET_EVENT);
} }
pcard->refresh_disable_status();
} }
for(auto& pcard : param->leave) for(auto& pcard : param->leave)
raise_single_event(pcard, 0, EVENT_LEAVE_FIELD, pcard->current.reason_effect, pcard->current.reason, pcard->current.reason_player, 0, 0); raise_single_event(pcard, 0, EVENT_LEAVE_FIELD, pcard->current.reason_effect, pcard->current.reason, pcard->current.reason_player, 0, 0);
......
...@@ -2549,7 +2549,12 @@ int32 field::process_battle_command(uint16 step) { ...@@ -2549,7 +2549,12 @@ int32 field::process_battle_command(uint16 step) {
core.units.begin()->step = 5; core.units.begin()->step = 5;
return FALSE; return FALSE;
} }
add_process(PROCESSOR_SELECT_YESNO, 0, 0, 0, infos.turn_player, 31); if(is_player_affected_by_effect(infos.turn_player, EFFECT_PATRICIAN_OF_DARKNESS)) {
add_process(PROCESSOR_SELECT_EFFECTYN, 0, 0, (group*)core.attacker, 1 - infos.turn_player, 31);
}
else {
add_process(PROCESSOR_SELECT_YESNO, 0, 0, 0, infos.turn_player, 31);
}
return FALSE; return FALSE;
} }
// no target and not direct attackable // no target and not direct attackable
...@@ -2588,11 +2593,12 @@ int32 field::process_battle_command(uint16 step) { ...@@ -2588,11 +2593,12 @@ int32 field::process_battle_command(uint16 step) {
returns.ivalue[0] = -2; returns.ivalue[0] = -2;
} else { } else {
if(core.select_cards.size()) { if(core.select_cards.size()) {
auto opposel = is_player_affected_by_effect(infos.turn_player, EFFECT_PATRICIAN_OF_DARKNESS);
pduel->write_buffer8(MSG_HINT); pduel->write_buffer8(MSG_HINT);
pduel->write_buffer8(HINT_SELECTMSG); pduel->write_buffer8(HINT_SELECTMSG);
pduel->write_buffer8(infos.turn_player); pduel->write_buffer8(opposel ? 1 - infos.turn_player : infos.turn_player);
pduel->write_buffer32(549); pduel->write_buffer32(549);
add_process(PROCESSOR_SELECT_CARD, 0, 0, 0, infos.turn_player + (core.attack_cancelable ? 0x20000 : 0), 0x10001); add_process(PROCESSOR_SELECT_CARD, 0, 0, 0, opposel ? 1 - infos.turn_player : infos.turn_player + (core.attack_cancelable ? 0x20000 : 0), 0x10001);
} else { } else {
core.units.begin()->arg3 = TRUE; core.units.begin()->arg3 = TRUE;
core.units.begin()->step = 6; core.units.begin()->step = 6;
......
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