tryActivate
Reports whether the impale actually landed, so the caller only consumes the cooldown and the damage bonus on a real activation. Returning 1.0 from checkAndApply means the target was already pinned (or the skill was unavailable) and nothing happened.