Commit 9e2ddd20 authored by nanahira's avatar nanahira

update

parent 334b53fe
......@@ -126,6 +126,7 @@ public:
uint8 announce_count;
uint8 attacked_count;
uint8 attack_all_target;
uint8 attack_controler;
uint16 cardid;
uint32 fieldid;
uint32 fieldid_r;
......
......@@ -3200,8 +3200,11 @@ int32 field::process_battle_command(uint16 step) {
// start of PHASE_DAMAGE;
pduel->write_buffer8(MSG_DAMAGE_STEP_START);
raise_single_event(core.attacker, 0, EVENT_BATTLE_START, 0, 0, 0, 0, 0);
if(core.attack_target)
core.attacker->attack_controler = core.attacker->current.controler;
if(core.attack_target) {
raise_single_event(core.attack_target, 0, EVENT_BATTLE_START, 0, 0, 0, 0, 1);
core.attack_target->attack_controler = core.attack_target->current.controler;
}
raise_event((card*)0, EVENT_BATTLE_START, 0, 0, 0, 0, 0);
process_single_event();
process_instant_event();
......@@ -3219,7 +3222,10 @@ int32 field::process_battle_command(uint16 step) {
}
case 21: {
if(core.attacker->current.location != LOCATION_MZONE || core.attacker->fieldid_r != core.pre_field[0]
|| (core.attack_target && (core.attack_target->current.location != LOCATION_MZONE || core.attack_target->fieldid_r != core.pre_field[1]))) {
|| core.attacker->current.controler != core.attacker->attack_controler
|| (core.attack_target && (core.attack_target->current.location != LOCATION_MZONE
|| core.attack_target->current.controler != core.attack_target->attack_controler
|| core.attack_target->fieldid_r != core.pre_field[1]))) {
core.units.begin()->step = 32;
return FALSE;
}
......@@ -3260,7 +3266,10 @@ int32 field::process_battle_command(uint16 step) {
case 23: {
if(core.attacker->current.location != LOCATION_MZONE || core.attacker->fieldid_r != core.pre_field[0]
|| ((core.attacker->current.position & POS_DEFENSE) && !(core.attacker->is_affected_by_effect(EFFECT_DEFENSE_ATTACK)))
|| (core.attack_target && (core.attack_target->current.location != LOCATION_MZONE || core.attack_target->fieldid_r != core.pre_field[1]))) {
|| core.attacker->current.controler != core.attacker->attack_controler
|| (core.attack_target && (core.attack_target->current.location != LOCATION_MZONE
|| core.attack_target->current.controler != core.attack_target->attack_controler
|| core.attack_target->fieldid_r != core.pre_field[1]))) {
core.units.begin()->step = 32;
return FALSE;
}
......@@ -3291,7 +3300,10 @@ int32 field::process_battle_command(uint16 step) {
}
case 25: {
if(core.attacker->current.location != LOCATION_MZONE || core.attacker->fieldid_r != core.pre_field[0]
|| (core.attack_target && (core.attack_target->current.location != LOCATION_MZONE || core.attack_target->fieldid_r != core.pre_field[1]))) {
|| core.attacker->current.controler != core.attacker->attack_controler
|| (core.attack_target && (core.attack_target->current.location != LOCATION_MZONE
|| core.attack_target->current.controler != core.attack_target->attack_controler
|| core.attack_target->fieldid_r != core.pre_field[1]))) {
reset_phase(PHASE_DAMAGE_CAL);
infos.phase = PHASE_DAMAGE;
core.units.begin()->step = 32;
......
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