diff --git a/_maps/map_files/BoxStation/BoxStation.dmm b/_maps/map_files/BoxStation/BoxStation.dmm index c8b9f186667a..19861d4af206 100644 --- a/_maps/map_files/BoxStation/BoxStation.dmm +++ b/_maps/map_files/BoxStation/BoxStation.dmm @@ -94874,7 +94874,7 @@ sxb ksa uoo ksa -aVH +vCp ksa gwf txb @@ -95131,7 +95131,7 @@ sxb uoo uoo uoo -aVH +vCp uoo gwf gwf @@ -95386,9 +95386,9 @@ uoo ksa uoo ksa -ksa -ksa -aVH +jra +vCp +vCp ksa ksa ksa @@ -95643,9 +95643,9 @@ fdt fdt fdt ksa +uoo ksa -ksa -aVH +vCp uoo uoo uoo @@ -95900,9 +95900,9 @@ ksa ksa ksa ksa +uoo ksa -ksa -aVH +vCp ksa ksa ksa @@ -96157,9 +96157,9 @@ ksa ksa ksa ksa -ksa -ksa -aVH +jra +vCp +vCp ksa ksa ksa @@ -96414,7 +96414,7 @@ ksa ksa ksa ksa -ksa +uoo ksa aVH ksa diff --git a/monkestation/code/modules/a_ship_in_need_of_breaking/machines/console.dm b/monkestation/code/modules/a_ship_in_need_of_breaking/machines/console.dm index 77768306fffe..d2d138f08334 100644 --- a/monkestation/code/modules/a_ship_in_need_of_breaking/machines/console.dm +++ b/monkestation/code/modules/a_ship_in_need_of_breaking/machines/console.dm @@ -27,6 +27,8 @@ var/ship_health = 0 ///our initial turf count var/turf_count = 0 + var/ship_part = 0 + var/total_turf = 0 /obj/machinery/computer/shipbreaker/Initialize(mapload) ..() @@ -56,7 +58,7 @@ /obj/machinery/computer/shipbreaker/proc/area_clear_check() for(var/turf/t in linked) - if(!isspaceturf(t)) + if(!isgroundlessturf(t)) spawn_area_clear = FALSE say("FLOORING OR WALL DETECTED") return @@ -108,14 +110,18 @@ /obj/machinery/computer/shipbreaker/proc/setup_health_tracker() for(var/turf/turf in linked) - if(!isspaceturf(turf)) + if(!isgroundlessturf(turf)) turf_count++ RegisterSignal(turf, COMSIG_TURF_CHANGE, PROC_REF(modify_health)) + total_turf = turf_count + ship_part = (100 / turf_count) ship_health = 100 /obj/machinery/computer/shipbreaker/proc/modify_health(turf/source) - ship_health -= (100 / turf_count) + ship_health -= ((total_turf - turf_count) * ship_part) ship_health = max(ship_health, 0) + if(ship_health < 1) + ship_health = 0 /obj/machinery/computer/shipbreaker/proc/damage_ship()