<commit_before>/mob/living/simple_animal/construct
	name = "Construct"
	real_name = "Construct"
	desc = ""
	speak_emote = list("hisses")
	emote_hear = list("wails.","screeches.")
	response_help  = "thinks better of touching"
	response_disarm = "flails at"
	response_harm   = "punches"
	speak_chance = 1
	icon = 'icons/mob/mob.dmi'
	speed = 0
	a_intent = "harm"
	stop_automated_movement = 1
	status_flags = CANPUSH
	attack_sound = 'sound/weapons/punch1.ogg'
	environment_smash = 1
	see_in_dark = 7
	atmos_requirements = list("min_oxy" = 0, "max_oxy" = 0, "min_tox" = 0, "max_tox" = 0, "min_co2" = 0, "max_co2" = 0, "min_n2" = 0, "max_n2" = 0)
	minbodytemp = 0
	maxbodytemp = INFINITY
	healable = 0
	faction = list("cult")
	flying = 1
	unique_name = 1
	var/list/construct_spells = list()
	var/playstyle_string = "<B>You are a generic construct! Your job is to not exist.</B>"


/mob/living/simple_animal/construct/New()
	..()
	for(var/spell in construct_spells)
		AddSpell(new spell(null))

/mob/living/simple_animal/construct/death()
	..(1)
	new /obj/item/weapon/ectoplasm (src.loc)
	visible_message("<span class='danger'>[src] collapses in a shattered heap.</span>")
	ghostize()
	qdel(src)
	return

/mob/living/simple_animal/construct/examine(mob/user)
	var/msg = "<span cass='info'>*---------*\nThis is \icon[src] \a <EM>[src]</EM>!\n"
	if (src.health < src.maxHealth)
		msg += "<span class='warning'>"
		if (src.health >= src.maxHealth/2)
			msg += "It looks slightly dented.\n"
		else
			msg += "<B>It looks severely dented!</B>\n"
		msg += "</span>"
	msg += "*---------*</span>"

	user << msg

/mob/living/simple_animal/construct/attack_animal(mob/living/simple_animal/M)
	if(istype(M, /mob/living/simple_animal/construct/builder))
		adjustBruteLoss(-5)
		if(src != M)
			Beam(M,icon_state="sendbeam",icon='icons/effects/effects.dmi',time=4)
			M.visible_message("<span class='danger'>[M] repairs some of \the <EM>[src]'s</EM> dents.</span>", \
					   "<span class='cult'>You repair some of <EM>[src]'s</EM> dents, leaving <EM>[src]</EM> at [health]/[maxHealth] health.</span>")
		else
			M.visible_message("<span class='danger'>[M] repairs some of its own dents.</span>", \
					   "<span class='cult'>You repair some of your own dents, leaving you at [M.health]/[M.maxHealth] health.</span>")
	else if(src != M)
		..()

/mob/living/simple_animal/construct/bullet_act(obj/item/projectile/Proj)<commit_msg>YOU CAN'T REPAIR DENTS THAT DON'T EXIST<commit_after>/mob/living/simple_animal/construct
	name = "Construct"
	real_name = "Construct"
	desc = ""
	speak_emote = list("hisses")
	emote_hear = list("wails.","screeches.")
	response_help  = "thinks better of touching"
	response_disarm = "flails at"
	response_harm   = "punches"
	speak_chance = 1
	icon = 'icons/mob/mob.dmi'
	speed = 0
	a_intent = "harm"
	stop_automated_movement = 1
	status_flags = CANPUSH
	attack_sound = 'sound/weapons/punch1.ogg'
	environment_smash = 1
	see_in_dark = 7
	atmos_requirements = list("min_oxy" = 0, "max_oxy" = 0, "min_tox" = 0, "max_tox" = 0, "min_co2" = 0, "max_co2" = 0, "min_n2" = 0, "max_n2" = 0)
	minbodytemp = 0
	maxbodytemp = INFINITY
	healable = 0
	faction = list("cult")
	flying = 1
	unique_name = 1
	var/list/construct_spells = list()
	var/playstyle_string = "<B>You are a generic construct! Your job is to not exist.</B>"


/mob/living/simple_animal/construct/New()
	..()
	for(var/spell in construct_spells)
		AddSpell(new spell(null))

/mob/living/simple_animal/construct/death()
	..(1)
	new /obj/item/weapon/ectoplasm (src.loc)
	visible_message("<span class='danger'>[src] collapses in a shattered heap.</span>")
	ghostize()
	qdel(src)
	return

/mob/living/simple_animal/construct/examine(mob/user)
	var/msg = "<span cass='info'>*---------*\nThis is \icon[src] \a <EM>[src]</EM>!\n"
	if (src.health < src.maxHealth)
		msg += "<span class='warning'>"
		if (src.health >= src.maxHealth/2)
			msg += "It looks slightly dented.\n"
		else
			msg += "<B>It looks severely dented!</B>\n"
		msg += "</span>"
	msg += "*---------*</span>"

	user << msg

/mob/living/simple_animal/construct/attack_animal(mob/living/simple_animal/M)
	if(istype(M, /mob/living/simple_animal/construct/builder))
		adjustBruteLoss(-5)
		if(health < maxHealth)
			if(src != M)
				Beam(M,icon_state="sendbeam",icon='icons/effects/effects.dmi',time=4)
				M.visible_message("<span class='danger'>[M] repairs some of \the <EM>[src]'s</EM> dents.</span>", \
						   "<span class='cult'>You repair some of <EM>[src]'s</EM> dents, leaving <EM>[src]</EM> at [health]/[maxHealth] health.</span>")
			else
				M.visible_message("<span class='danger'>[M] repairs some of its own dents.</span>", \
						   "<span class='cult'>You repair some of your own dents, leaving you at [M.health]/[M.maxHealth] health.</span>")
		else
			if(src != M)
				M << "<span class='cult'>You cannot repair <EM>[src]'s</EM> dents, as it has none!</span>"
			else
				M << "<span class='cult'>You cannot repair your own dents, as you have none!</span>"
	else if(src != M)
		..()

/mob/living/simple_animal/construct/bullet_act(obj/item/projectile/Proj)
{'fraction_non_alphanumeric': 0.18115799803729146, 'fraction_numerical': 0.010206084396467125, 'mean_word_length': 4.116465863453815, 'pattern_counts': {'":': 0, '<': 72, '<?xml version=': 0, '>': 63, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '7584015', 'n_tokens_mistral': 2132, 'n_tokens_neox': 1933, 'n_words': 414}