Situation: Baba Yaga with a hosted Passport.
Expected Behaviour: The copied ability from Passport on Baba Yaga can be used to break ice on remotes.
Actual Behaviour: The ability only works on centrals.
Since we copy over the entire ability, we also copy the :req condition that is used to implement the central-only restriction on Passport. A potential solution might look like this (coming from discussions with Noah):
Add a constant-ability function in the card :cannot-use-ability
Add a constant ability check in play-ability like (not (any-constant-ability? ... :cannot-use-ability))
Remove :req from any card using it for this reason and convert it into a constant ability.
Check in the diff generation for how "usable" cards were communicated and adjust it as necessary
Note to myself for later: Since there's only a tiny number of relevant cards, it might be reasonable to have the req fns for these cards assert their card name for the restrictions.
Situation: Baba Yaga with a hosted Passport. Expected Behaviour: The copied ability from Passport on Baba Yaga can be used to break ice on remotes. Actual Behaviour: The ability only works on centrals.
Since we copy over the entire ability, we also copy the
:req
condition that is used to implement the central-only restriction on Passport. A potential solution might look like this (coming from discussions with Noah)::cannot-use-ability
play-ability
like(not (any-constant-ability? ... :cannot-use-ability))
:req
from any card using it for this reason and convert it into a constant ability.