magefree / magefree/mage

Spark Double issues with copying DFCs

Open
#11,307 6 comments 0 reactions 0 assignees View on GitHub
bug
Dominant language
Java
Stars
2.4k
Forks
940
Avg merge
2d 12h
Merged PRs (30d)
160

Description

[[Spark Double]] has some issues when copying a DFC, specifically when entering as a copy of the backside of a DFC. Some of the attributes it copies are from the frontside instead of the active backside.

### Correctly copied attributes (attributes inherited from the active side)
- Name
- Colour
- Power and toughness

### Incorrectly copied attributes (attributes always inherited from the front side)
- Card type
- Subtype

Examples / evidence of the above

In the case below, Spark Double copies the backside of [[Aetherblade Agent]] (called Gitaxian Mindstinger). Note that everything is correct, *except for the subtypes*, which have been inherited from Aetherblade Agent (Human Rogue instead of Phyrexian Rogue).

![image](https://github.com/magefree/mage/assets/26198472/f7c7be79-8dd0-444a-8e90-eb3e68360787)

When Spark Double enters the battlefield as a copy of Nicol Bolas, the Arisen (the backside of [[Nicol Bolas, the Ravager]]), it instantly dies as a result of inheriting the planeswalker side's 0/0 P/T (fine, shouldn't matter for a planeswalker) and the front side's card type of "creature" (wrong).

For some reason, Spark Double also maintains some of the attributes of Nicol Bolas in the graveyard when it dies in this way. Specifically the colours and subtypes (potentially also the card type and P/T, but Spark Double is already a 0/0 creature so difficult to tell).

![image](https://github.com/magefree/mage/assets/26198472/38de6ee4-a549-4565-9cd8-d88719e2f6d7)

Contributor guide

No contributing guide indexed for this repository

Research direction

Start by reproducing Spark Double copying the backside of Aetherblade Agent and Nicol Bolas, the Ravager, then trace the copy handling for active backside attributes. Done means card type and subtype come from the active backside, while the documented correct attributes remain correct, including when the copied object reaches the graveyard.

Written by the indexing model from the issue text.

Assessment

Tech stack
java
Domain
game-dev
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Quiet
Clarity
Mostly clear
Newbie friendliness
45/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.