You can certainly set conditions with in the skill properties of a skill's data. But I don't know what parameters it will allow beyond statuses/surfaces. It may be achievable through scripting, but that's outside my knowledge.