server log error: getSpellOrLKIStack got non-spell id in getSpellKickedCountStrict
ERROR 2024-06-20 19:59:12,308 getSpellOrLKIStack got non-spell id mage.game.stack.Stac
kAbility correlating to non-spell object stack ability (Equip {1} <i>({1}: Attach to t
arget creature you control. Equip only as a sorcery.)</i>). =>[GAME a895c7d8-9902-4570
-b9ce-badb19324edf] GameImpl.getSpellOrLKIStack
java.lang.Throwable
at mage.game.GameImpl.getSpellOrLKIStack(GameImpl.java:718)
at mage.abilities.keyword.KickerAbility.getSpellKickedCountStrict(KickerAbilit
y.java:283)
at mage.abilities.keyword.KickerAbility.getSpellKickedCount(KickerAbility.java
:276)
at mage.abilities.condition.common.KickedCondition.apply(KickedCondition.java:
28)
at mage.ConditionalMana.apply(ConditionalMana.java:83)
at mage.players.PlayerImpl.canPayMinimumManaCost(PlayerImpl.java:3708)
at mage.players.PlayerImpl.canPlay(PlayerImpl.java:3634)
at mage.players.PlayerImpl.findActivatedAbilityFromPlayable(PlayerImpl.java:39
22)
at mage.players.PlayerImpl.getPlayableFromObjectSingle(PlayerImpl.java:4078)
at mage.players.PlayerImpl.getPlayableFromObjectAll(PlayerImpl.java:3985)
at mage.players.PlayerImpl.getPlayable(PlayerImpl.java:4252)
at mage.players.PlayerImpl.getPlayableObjects(PlayerImpl.java:4314)
at mage.server.game.GameSessionPlayer.prepareGameView(GameSessionPlayer.java:2
16)
at mage.server.game.GameSessionPlayer.getGameView(GameSessionPlayer.java:200)
at mage.server.game.GameSessionWatcher.lambda$update$0(GameSessionWatcher.java:54)
at java.util.Optional.ifPresent(Optional.java:159)
at mage.server.game.GameSessionWatcher.update(GameSessionWatcher.java:54)
at mage.server.game.GameController.updateGame(GameController.java:805)
at mage.server.game.GameController.lambda$init$3aa0d15c$1(GameController.java:122)
at mage.game.events.EventDispatcher.fireEvent(EventDispatcher.java:28)
at mage.game.events.TableEventSource.fireTableEvent(TableEventSource.java:44)
at mage.game.GameImpl.fireUpdatePlayersEvent(GameImpl.java:3127)
at mage.game.GameImpl.playPriority(GameImpl.java:1693)
at mage.game.turn.Step.priority(Step.java:67)
Looks like I caused this problem, when I added support for [[Wastescape Battlemage]]'s kicker abilities. Not sure what the best way to solve it would be, the easiest solution would be to just return null instead of throwing an error. An alternative is creating a separate KickedCondition for just Wastescape Battlemage (presumably inside of the card's implementation)
Wastescape Battlemage - (Gatherer) (Scryfall) (EDHREC)
{1}{C} Creature — Eldrazi Wizard 2/2 Kicker {G} and/or {1}{U} When you cast this spell, if it was kicked with its {G} kicker, exile target artifact or enchantment an opponent controls. When you cast this spell, if it was kicked with its {1}{U} kicker, return target creature an opponent controls to its owner's hand.