anchor.diff:  	if(!(cardUser.mobility_flags & MOBILITY_USE))
   		return
   	var/O = src
  -	var/choice = show_radial_menu(usr,src, handradial, custom_check = FALSE, radius = 36, require_near = TRUE)
  -	if(!choice) 
  +	var/choice = show_radial_menu(usr,src, handradial, custom_check = CALLBACK(src, .proc/check_menu, user), radius = 36, require_near = TRUE)
  +	if(!choice)
   		return FALSE
   	var/obj/item/toy/cards/singlecard/C = new/obj/item/toy/cards/singlecard(cardUser.loc)
  -	src.currenthand -= choice
  -	src.handradial -= choice
  -	C.parentdeck = src.parentdeck
  +	currenthand -= choice
  +	handradial -= choice
  +	C.parentdeck = parentdeck
   	C.cardname = choice
   	C.apply_card_vars(C,O)
   	C.pickup(cardUser)
  
positive.code: 	H.parentdeck = src
  	var/O = src
  	H.apply_card_vars(H,O)
  	src.cards -= choice
  	H.pickup(user)
  	user.put_in_hands(H)
  	user.visible_message("[user] draws a card from the deck.", "<span class='notice'>You draw a card from the deck.</span>")
  
negative.code: 		user.visible_message("[user] shuffles the deck.", "<span class='notice'>You shuffle the deck.</span>")
  		cooldown = world.time
  
  /obj/item/toy/cards/deck/attackby(obj/item/I, mob/living/user, params) 
  	if(istype(I, /obj/item/toy/cards/singlecard))
  		var/obj/item/toy/cards/singlecard/SC = I
  		if(SC.parentdeck == src)
  