Re: Bug Reports (snapshot builds)
Ok, I'm investigating the issue with Gisela, Blade of Goldnight not working with lifelink, and it looks like the problem is that we have a separate path for handling combat and non-combat lifelink, and combat lifelink is not handled correctly for combat damage that is replaced elsewhere (basically, the "lifelink" combat damage is already set to 0 at that point because it's replaced, and the replacement damage does not count as lifelink because the game thinks that lifelink was already handled elsewhere - see addDamageAfterPrevention in both Player.java and Card.java). Is there a particular reason it was implemented that way, with two separate paths for lifelink?
Handling both combat and non-combat lifelink in addDamageAfterPrevention in both Player and Card (and removing a separate path for combat lifelink in Combat) solves this problem and the basic test cases seem to work fine (lifelink combat damage to card and to player, replaced combat damage to card and to player), but I have a strange suspicion that the original implementation probably accounted for some trigger timing or something like that, and that can get screwed up if that separation between combat and non-combat damage is removed.
Any advice on this one? Thanks in advance for help!
- Agetian
Handling both combat and non-combat lifelink in addDamageAfterPrevention in both Player and Card (and removing a separate path for combat lifelink in Combat) solves this problem and the basic test cases seem to work fine (lifelink combat damage to card and to player, replaced combat damage to card and to player), but I have a strange suspicion that the original implementation probably accounted for some trigger timing or something like that, and that can get screwed up if that separation between combat and non-combat damage is removed.
Any advice on this one? Thanks in advance for help!
- Agetian