anchor.diff:  			return FALSE
   	return TRUE
   
  -// List if ["Command"] = CALLBACK(), user will be appeneded to callback arguments on execution
  +/// List of ["Command"] = CALLBACK(), user will be appeneded to callback arguments on execution
   /datum/antagonist/proc/get_admin_commands()
   	. = list()
   
  
positive.code: 		owner.current.ghostize(0)
  		owner.current.key = C.key
  
  ///Called by the remove_antag_datum() and remove_all_antag_datums() mind procs for the antag datum to handle its own removal and deletion.
  /datum/antagonist/proc/on_removal()
  	SHOULD_CALL_PARENT(TRUE)
  	if(!owner)
  
negative.code: GLOBAL_LIST_EMPTY(antagonists)
  
  /datum/antagonist
  	///Public name for this antagonist. Appears for player prompts and round-end reports.
  	var/name = "Antagonist"
  	///Section of roundend report, datums with same category will be displayed together, also default header for the section
  	var/roundend_category = "other antagonists"
  	///Set to false to hide the antagonists from roundend report
  	var/show_in_roundend = TRUE
  	///If false, the roundtype will still convert with this antag active
  	var/prevent_roundtype_conversion = TRUE
  	///Mind that owns this datum
  	var/datum/mind/owner
  	///Silent will prevent the gain/lose texts to show
  	var/silent = FALSE
  	///Whether or not the person will be able to have more than one datum
  	var/can_coexist_with_others = TRUE
  	///List of datums this type can't coexist with
  	var/list/typecache_datum_blacklist = list()
  	///The define string we use to identify the role for bans/player polls to spawn a random new one in.
  	var/job_rank
  	///Should replace jobbanned player with ghosts if granted.
  	var/replace_banned = TRUE
  	///List of the objective datums that this role currently has, completing all objectives at round-end will cause this antagonist to greentext.
  	var/list/objectives = list()
  	///String dialogue that is added to the player's in-round notes and memories regarding specifics of that antagonist, eg. the nuke code for nuke ops, or your unlock code for traitors.
  	var/antag_memory = ""
  	///typepath of moodlet that the mob will gain when granted this antagonist type.
  	var/antag_moodlet
  	///If these antags are alone when a shuttle elimination happens.
  	var/can_elimination_hijack = ELIMINATION_NEUTRAL
  	///If above 0, this is the multiplier for the speed at which we hijack the shuttle. Do not directly read, use hijack_speed().
  	var/hijack_speed = 0
  	///What is the configuration of this antagonist's hud icon, such as it's screen position and style, so thatit doesn't break other in-game hud icons.
  	var/antag_hud_type
  	///Name of the antag hud we provide to this mob.
  	var/antag_hud_name
  	/// If set to true, the antag will not be added to the living antag list.
  	var/soft_antag = FALSE
  
  	//Antag panel properties
  	///This will hide adding this antag type in antag panel, use only for internal subtypes that shouldn't be added directly but still show if possessed by mind
  	var/show_in_antagpanel = TRUE
  	///Antagpanel will display these together, REQUIRED
  	var/antagpanel_category = "Uncategorized"
  	///Will append antagonist name in admin listings - use for categories that share more than one antag type
  	var/show_name_in_check_antagonists = FALSE
  	/// Should this antagonist be shown as antag to ghosts? Shouldn't be used for stealthy antagonists like traitors
  	var/show_to_ghosts = FALSE
  
  /datum/antagonist/New()
  	GLOB.antagonists += src
  