use optional word pattern for optional 'tapped'
modify getAbilityList(String) to handle different ability separators and prefix, use it instead of custom regex