anchor.diff:  	if(locked)
   		return
   	locked = TRUE
  -	var/stolen_cash = my_card.registered_account.account_balance * percentage
  +	var/stolen_cash = my_card?.registered_account?.account_balance * percentage
   	dispense_prize(stolen_cash)
   
   
  
positive.code: 
  ///Fills a list of coins that should be dropped.
  /obj/machinery/roulette/proc/dispense_prize(payout)
  
  	if(payout >= ROULETTE_JACKPOT_AMOUNT)
  		jackpot_loop.start()
  
negative.code: 				name = msg
  				desc = "Owned by [new_card.registered_account.account_holder], draws directly from [user.p_their()] account."
  				my_card = new_card
  				RegisterSignal(my_card, COMSIG_PARENT_QDELETING, .proc/on_my_card_deleted)
  				to_chat(user, span_notice("You link the wheel to your account."))
  				power_change()
  				return
  	return ..()
  
  ///deletes the my_card ref to prevent harddels
  /obj/machinery/roulette/proc/on_my_card_deleted(datum/source)
  	SIGNAL_HANDLER
  	my_card = null
  
  ///Proc called when player is going to try and play
  /obj/machinery/roulette/proc/play(mob/user, obj/item/card/id/player_id, bet_type, bet_amount, potential_payout)
  	if(!my_card?.registered_account) // Something happened to my_card during the 0.4 seconds delay of the timed callback.
  		icon_state = "idle"
  		flick("flick_down", src)
  		playsound(src, 'sound/machines/piston_lower.ogg', 70)
  		return
  
  	var/payout = potential_payout
  
  