anchor.diff:  		add_overlay(GLOB.fire_overlay, TRUE)
   		return 1
   
  -//called when the obj is destroyed by fire
  +///called when the obj is destroyed by fire
   /obj/proc/burn()
   	if(resistance_flags & ON_FIRE)
   		SSfire_burning.processing -= src
   	deconstruct(FALSE)
   
  +///Called when the obj is no longer on fire.
   /obj/proc/extinguish()
   	if(resistance_flags & ON_FIRE)
   		resistance_flags &= ~ON_FIRE
   		cut_overlay(GLOB.fire_overlay, TRUE)
   		SSfire_burning.processing -= src
   
  +///Called when the obj is hit by a tesla bolt.
   /obj/proc/tesla_act(power, tesla_flags, shocked_targets)
   	obj_flags |= BEING_SHOCKED
   	var/power_bounced = power / 2
  
positive.code: 	if(!QDELETED(src)) //Bullet on_hit effect might have already destroyed this object
  		take_damage(P.damage, P.damage_type, P.flag, 0, turn(P.dir, 180), P.armour_penetration)
  
  /obj/proc/hulk_damage()
  	return 150 //the damage hulks do on punches to this object, is affected by melee armor
  
  
negative.code: 		return TRUE
  	return FALSE
  
  ///returns how much the object blocks an explosion. Used by subtypes.
  /obj/proc/GetExplosionBlock()
  	CRASH("Unimplemented GetExplosionBlock()")
  