local old1 = CopDamage._check_special_death_conditions

function CopDamage:_dismember_condition(attack_data)
	local dismember_victim = false
	local target_is_spook = false

	if alive(attack_data.col_ray.unit) and attack_data.col_ray.unit:base() then
		target_is_spook = attack_data.col_ray.unit:base()._tweak_table == "spooc"
	end

	local criminal_name = managers.criminals:local_character_name()
	local criminal_melee_weapon = managers.blackmarket:equipped_melee_weapon()
	local weapon_charged = false

	if attack_data.charge_lerp_value then
		weapon_charged = attack_data.charge_lerp_value > 0.5
	end

	if target_is_spook and weapon_charged and criminal_name == "dragon" and criminal_melee_weapon == "sandsteel" then
		dismember_victim = false
	end

	return dismember_victim
end

function CopDamage:_check_special_death_conditions(...)
	if tostring(self._unit:base()._tweak_table) == "taser" then
		return
	end
	return old1(self, ...)
end

local old2 = CopDamage._dismember_body_part

function CopDamage:_dismember_body_part(...)
	if tostring(self._unit:base()._tweak_table) == "taser" then
		return
	end
	return old2(self, ...)
end