This is more vanilla territory, but you can take advantage of the work I’ve done towards being able to get different types of params using ParamExtractors. The most involved example would be KnowledgeLevelCondition as it grabs the target player and Pokémon.