anchor.diff:  
   
   /datum/subsystem/ship/proc/process_ftl(var/datum/starship/S)
  +	if(isnull(S)) // fix for runtime: cannot read null.name
  +		return
   	if(!S.is_jumping)
   		return
   
  
positive.code: 		if(C.health <= 0)
  			if(C.active)
  				spawn(10)
  					broadcast_message("<span class=notice>Shot hit [faction2prefix(S)] hull ([S.name]). [faction2prefix(S)] ship's [C.name] destroyed at ([C.x_loc],[C.y_loc]). [faction2prefix(S)] ship hull integrity at [S.hull_integrity].</span>",notice_sound,S)
  			else
  				spawn(10)
  					broadcast_message("<span class=notice>Shot hit [faction2prefix(S)] hull ([S.name]). [faction2prefix(S)] ship's [C.name] was hit at ([C.x_loc],[C.y_loc]) but was already destroyed. [faction2prefix(S)] ship hull integrity at [S.hull_integrity].</span>",notice_sound,S)
  
  			C.active = 0
  		else
  			spawn(10)
  				broadcast_message("<span class=notice>Shot hit [faction2prefix(S)] hull ([S.name]). [faction2prefix(S)] ship's [C.name] damaged at ([C.x_loc],[C.y_loc]). [faction2prefix(S)] ship hull integrity at [S.hull_integrity].</span>",notice_sound,S)
  
  	if(S.hull_integrity <= 0) destroy_ship(S)
  
  
negative.code: 			ship_attack(S.attacking_target,S)
  
  /datum/subsystem/ship/proc/ship_attack(var/datum/starship/S,var/datum/starship/attacker)
  	if(isnull(S)) // fix for runtime
  		return
  	damage_ship(pick(S.components),pick(get_attacks(S)),attacker)
  
  /datum/subsystem/ship/proc/attack_player(var/datum/starship/S,var/datum/ship_attack/attack_data)
  