-
Notifications
You must be signed in to change notification settings - Fork 748
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Combat causes too many life loss triggers #10805
Comments
[[Exquisite Blood]] |
Exquisite Blood - (Gatherer) (Scryfall) (EDHREC)
|
Indeed, the triggers should use a batched Event for those life loss. Not sure we have one at the ready. |
I found a few places that say that it works that way: |
Just ran a test with [[Rakdos Charm]] where the opponent controlled two creatures and it triggered multiple times. Pretty sure this should have the same behavior, but I couldn't find a specific ruling online. |
Rakdos Charm - (Gatherer) (Scryfall) (EDHREC)
|
It looks like rakdos charm should also trigger just once |
Ok there is no official ruling for that it seems. Relevant rulings on damage: Combat damage is done simulatenously.
Damage is done to player in the form of life loss, should keep the simultaenous part?
Quite irrelevant here, but life loss is taken into accont when damage is processed.
I did not find anything relevant to describe if that particular trigger event is batching or not, so it is not clear to me if there is batching or not. |
It looks like Arena handles it as one trigger. |
Also see #8725 |
Yes, in combat phase must be only one event with life lose (after all damage assigned and applied), see rule 510.1e about combat damage assignment:
But in other phases must be multiple lose life events (e.g. from Rakdos Charm and multi creatures). So Exquisite Blood's code is fine, it must catch life lose event, not batches |
I believe that this is also an issue with implementing [[Ob Nixilis, Captive Kingpin]] (#10020) as it also needs to trigger off the life loss event, however the LOST_LIFE event fires for every player that loses life, and Ob Nixilis should only trigger once regardless of how many players lose one life. Taking damage has DAMAGED_BATCH_FOR_PLAYERS to ensure triggers only happen once, so i would think the same batch event should be made for life loss, however after giving it my best effort I think I'll leave it as an opportunity for someone who understands batch events better than I do. Also, I believe that [[Enduring Angel]] (#8725) would also benefit from this event as it currently uses LOSE_LIFE, which either fires as often as LOST_LIFE or never fires at all based on my interpretation of the loseLife method in PlayerImpl.java. [[Bloodletter Of Aclazotz]] also uses this same LOSE_LIFE event, however it does need to fire the event for each player so it can do the replacement effect. |
Ob Nixilis, Captive Kingpin - (Gatherer) (Scryfall) (EDHREC)
Enduring Angel // Angelic Enforcer - (Gatherer) (Scryfall) (EDHREC)
Bloodletter of Aclazotz - (Gatherer) (Scryfall) (EDHREC)
|
See rework from #11974 , perhaps can be used to fix this |
@Susucre is it still actual after latest batched damage changes? |
Uhm I'll check that tomorrow or the day after. There should be a batch event now for life loss, but not sure it is used everywhere. |
Ok quick check shows it is not using the batch event: I'll try to find them all later this week. Could you give a look at #12173 ? I'd like to not add other batch refactor before some version of that gets merged. |
Ok, I found why gaining life is different from losing life with very similar wording:
So "Whenever you gain life" triggers should not be batched, but "Whenever you lose life" should, as there is no similar rule for losing life. I think this should be all of them: |
Exquisite Blood and similar cards should only trigger once if a player is damaged by multiple creatures in the same combat, right now it triggers once for each creature.
The text was updated successfully, but these errors were encountered: