Commit 5df92f1c authored by salix5's avatar salix5

move_card(), add_card()

parent 177e0403
......@@ -146,6 +146,10 @@ void field::add_card(uint8 playerid, card* pcard, uint8 location, uint8 sequence
return;
if (!is_location_useable(playerid, location, sequence))
return;
if((pcard->data.type & (TYPE_FUSION | TYPE_SYNCHRO | TYPE_XYZ)) && (location & (LOCATION_HAND | LOCATION_DECK))) {
location = LOCATION_EXTRA;
pcard->operation_param = (pcard->operation_param & 0x00ffffff) | (POS_FACEDOWN_DEFENCE << 24);
}
pcard->current.controler = playerid;
pcard->current.location = location;
switch (location) {
......@@ -254,6 +258,10 @@ void field::move_card(uint8 playerid, card* pcard, uint8 location, uint8 sequenc
return;
uint8 preplayer = pcard->current.controler;
uint8 presequence = pcard->current.sequence;
if((pcard->data.type & (TYPE_FUSION | TYPE_SYNCHRO | TYPE_XYZ)) && (location & (LOCATION_HAND | LOCATION_DECK))) {
location = LOCATION_EXTRA;
pcard->operation_param = (pcard->operation_param & 0x00ffffff) | (POS_FACEDOWN_DEFENCE << 24);
}
if (pcard->current.location) {
if (pcard->current.location == location) {
if (pcard->current.location == LOCATION_DECK) {
......@@ -354,10 +362,6 @@ void field::move_card(uint8 playerid, card* pcard, uint8 location, uint8 sequenc
return;
}
} else {
if((pcard->data.type & (TYPE_FUSION | TYPE_SYNCHRO | TYPE_XYZ)) && (location & (LOCATION_HAND | LOCATION_DECK))) {
location = LOCATION_EXTRA;
pcard->operation_param = (pcard->operation_param & 0x00ffffff) | (POS_FACEDOWN_DEFENCE << 24);
}
if((pcard->data.type & TYPE_PENDULUM) && (location == LOCATION_GRAVE)
&& pcard->is_capable_send_to_extra(playerid)
&& (((pcard->current.location == LOCATION_MZONE) && !pcard->is_status(STATUS_SUMMON_DISABLED))
......
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