From 10307f23a78b33af50dc4a5f3d1baafb4ee4b0d9 Mon Sep 17 00:00:00 2001
From: Maciej 'agaran' Pijanka <agaran@pld-linux.org>
Date: Thu, 16 Mar 2017 00:00:22 +0100
Subject: [PATCH] Do not run converters twice.

---
 technic/radiation.lua |   15 +++++++++++----
 1 files changed, 11 insertions(+), 4 deletions(-)

diff --git a/technic/radiation.lua b/technic/radiation.lua
index bbe1eec..13936f9 100644
--- a/technic/radiation.lua
+++ b/technic/radiation.lua
@@ -242,6 +242,7 @@
 local rad_dmg_cutoff = 0.2
 local radiated_players = {}
 
+local armor_enabled = technic.config:get_bool("enable_radiation_protection")
 local entity_damage = technic.config:get_bool("enable_entity_radiation_damage")
 local longterm_damage = technic.config:get_bool("enable_longterm_radiation_damage")
 
@@ -303,15 +304,21 @@
 
 local function dmg_object(pos, object, strength)
 	local obj_pos = vector.add(object:getpos(), calculate_object_center(object))
-	local mul = calculate_damage_multiplier(object)
-	if mul == 0 then
-		return
+	local mul
+	if armor_enabled or entity_damage then
+		-- we need to check may the object be damaged even if armor is disabled
+		mul = calculate_damage_multiplier(object)
+		if mul == 0 then
+			return
+		end
 	end
 	local dmg = calculate_base_damage(pos, obj_pos, strength)
 	if not dmg then
 		return
 	end
-	dmg = dmg * mul
+	if armor_enabled then
+		dmg = dmg * mul
+	end
 	apply_fractional_damage(object, dmg)
 	if longterm_damage and object:is_player() then
 		local pn = object:get_player_name()

--
Gitblit v1.8.0