def requires_target(self):
		"""
		True if the card currently requires a target
		"""
		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
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
True if the card currently requires a target