code: def requires_target(self):
  		
  		if self.has_combo and PlayReq.REQ_TARGET_FOR_COMBO in self.requirements:
  			if self.controller.combo:
  				return True
  		if PlayReq.REQ_TARGET_IF_AVAILABLE in self.requirements:
  			return bool(self.play_targets)
  		if PlayReq.REQ_TARGET_IF_AVAILABLE_AND_DRAGON_IN_HAND in self.requirements:
  			if self.controller.hand.filter(race=Race.DRAGON):
  				return bool(self.play_targets)
  		req = self.requirements.get(PlayReq.REQ_TARGET_IF_AVAILABLE_AND_MINIMUM_FRIENDLY_MINIONS)
  		if req is not None:
  			if len(self.controller.field) >= req:
  				return bool(self.play_targets)
  		req = self.requirements.get(PlayReq.REQ_TARGET_IF_AVAILABLE_AND_MINIMUM_FRIENDLY_SECRETS)
  		if req is not None:
  			if len(self.controller.secrets) >= req:
  				return bool(self.play_targets)
  		return PlayReq.REQ_TARGET_TO_PLAY in self.requirements
docs: True if the card currently requires a target