diff --git a/src/main/java/forge/sound/EventVisualizer.java b/src/main/java/forge/sound/EventVisualizer.java index 46311f5ad25..1d657d7e1d0 100644 --- a/src/main/java/forge/sound/EventVisualizer.java +++ b/src/main/java/forge/sound/EventVisualizer.java @@ -5,6 +5,7 @@ import java.util.List; import java.util.Map; import forge.Card; +import forge.card.spellability.AbilityManaPart; import forge.card.spellability.SpellAbility; import forge.game.event.BlockerAssignedEvent; import forge.game.event.CardDamagedEvent; @@ -167,7 +168,16 @@ public class EventVisualizer { final List manaProduced = land.getManaAbility(); for (SpellAbility sa : manaProduced) { - String manaColors = sa.getManaPart().getOrigProduced(); + + // Find mana ability if it is somewhere in tail + SpellAbility tail = sa; + AbilityManaPart m = null; + while (m == null && tail != null) { + m = tail.getManaPart(); + tail = tail.getSubAbility(); + } + + String manaColors = m.getOrigProduced(); if (manaColors.contains("B")) { return SoundEffectType.BlackLand;