Commit 4f740bf2 authored by nanahira's avatar nanahira

Merge branch 'master' of github.com:Fluorohydride/ygopro-core

parents 3b89b5b5 dae92637
...@@ -1557,7 +1557,7 @@ void card::xyz_overlay(card_set* materials) { ...@@ -1557,7 +1557,7 @@ void card::xyz_overlay(card_set* materials) {
pduel->game_field->adjust_instant(); pduel->game_field->adjust_instant();
} }
void card::xyz_add(card* mat) { void card::xyz_add(card* mat) {
if(mat->current.controler != PLAYER_NONE || mat->overlay_target) if(mat->current.location != 0)
return; return;
xyz_materials.push_back(mat); xyz_materials.push_back(mat);
mat->overlay_target = this; mat->overlay_target = this;
......
...@@ -164,8 +164,6 @@ void field::reload_field_info() { ...@@ -164,8 +164,6 @@ void field::reload_field_info() {
pduel->write_buffer32(peffect->description); pduel->write_buffer32(peffect->description);
} }
} }
// The core of moving cards, and Debug.AddCard() will call this function directly.
// check Fusion/S/X monster redirection by the rule, set fieldid_r
void field::add_card(uint8 playerid, card* pcard, uint8 location, uint8 sequence, uint8 pzone) { void field::add_card(uint8 playerid, card* pcard, uint8 location, uint8 sequence, uint8 pzone) {
if (pcard->current.location != 0) if (pcard->current.location != 0)
return; return;
...@@ -297,13 +295,6 @@ void field::remove_card(card* pcard) { ...@@ -297,13 +295,6 @@ void field::remove_card(card* pcard) {
pcard->current.location = 0; pcard->current.location = 0;
pcard->current.sequence = 0; pcard->current.sequence = 0;
} }
// moving cards:
// 1. draw()
// 2. discard_deck()
// 3. swap_control()
// 4. control_adjust()
// 5. move_card()
// check Fusion/S/X monster redirection by the rule
void field::move_card(uint8 playerid, card* pcard, uint8 location, uint8 sequence, uint8 pzone) { void field::move_card(uint8 playerid, card* pcard, uint8 location, uint8 sequence, uint8 pzone) {
if (!is_location_useable(playerid, location, sequence)) if (!is_location_useable(playerid, location, sequence))
return; return;
...@@ -624,7 +615,6 @@ card* field::get_field_card(uint32 playerid, uint32 location, uint32 sequence) { ...@@ -624,7 +615,6 @@ card* field::get_field_card(uint32 playerid, uint32 location, uint32 sequence) {
} }
return 0; return 0;
} }
// return: the given slot in LOCATION_MZONE or all LOCATION_SZONE is available or not
int32 field::is_location_useable(uint32 playerid, uint32 location, uint32 sequence) { int32 field::is_location_useable(uint32 playerid, uint32 location, uint32 sequence) {
uint32 flag = player[playerid].disabled_location | player[playerid].used_location; uint32 flag = player[playerid].disabled_location | player[playerid].used_location;
if (location == LOCATION_MZONE) { if (location == LOCATION_MZONE) {
......
...@@ -4036,7 +4036,6 @@ int32 field::send_to(uint16 step, group * targets, effect * reason_effect, uint3 ...@@ -4036,7 +4036,6 @@ 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[control_player] |= TIMING_REMOVE; core.hint_timing[control_player] |= TIMING_REMOVE;
} }
//call move_card()
if(pcard->current.controler != playerid || pcard->current.location != dest) { if(pcard->current.controler != playerid || pcard->current.location != dest) {
pduel->write_buffer8(MSG_MOVE); pduel->write_buffer8(MSG_MOVE);
pduel->write_buffer32(pcard->data.code); pduel->write_buffer32(pcard->data.code);
...@@ -4564,7 +4563,6 @@ int32 field::move_to_field(uint16 step, card* target, uint32 enable, uint32 ret, ...@@ -4564,7 +4563,6 @@ int32 field::move_to_field(uint16 step, card* target, uint32 enable, uint32 ret,
pduel->write_buffer32(target->get_info_location()); pduel->write_buffer32(target->get_info_location());
if(target->overlay_target) if(target->overlay_target)
target->overlay_target->xyz_remove(target); target->overlay_target->xyz_remove(target);
// call move_card()
move_card(playerid, target, location, target->temp.sequence, pzone); move_card(playerid, target, location, target->temp.sequence, pzone);
target->current.position = returns.ivalue[0]; target->current.position = returns.ivalue[0];
target->set_status(STATUS_LEAVE_CONFIRMED, FALSE); target->set_status(STATUS_LEAVE_CONFIRMED, 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