def get_puncture_value(item, target_structure, target_structure_name='object', debug=True):
	_damage = (((item['speed']/float(item['max_speed']))*item['damage']['sharp'])*\
	           (target_structure['max_thickness']/float(target_structure['thickness'])))*\
	           (item['size']/float(numbers.get_surface_area(target_structure)))
	if debug:
		logging.debug('%s is pucturing %s.' % (item['name'], target_structure_name))
		logging.debug('%s\'s max speed is %s and is currently traveling at speed %s.' % (item['name'], item['max_speed'], item['speed']))
		logging.debug('The %s\'s material has a thickness of %s (with a max of %s).' % (target_structure_name, target_structure['thickness'], target_structure['max_thickness']))
		logging.debug('%s has a puncture rating of %s.' % (item['name'], item['damage']['sharp']))
		logging.debug('Size of %s: %s, size of %s: %s' % (item['name'], item['size'], target_structure_name, target_structure['size']))
		logging.debug('The %s does %s points of damage to the %s.' % (item['name'], _damage, target_structure_name))
	
	return _damage
dataset/ETHPy150Open flags/Reactor-3/damage.py/get_puncture_value/original