diff --git a/code/modules/station_goals/bluespace_tap.dm b/code/modules/station_goals/bluespace_tap.dm
index 74190720c8e..2bd60158441 100644
--- a/code/modules/station_goals/bluespace_tap.dm
+++ b/code/modules/station_goals/bluespace_tap.dm
@@ -3,6 +3,7 @@
name = "Bluespace Harvester"
var/goal = 25000
+
/datum/station_goal/bluespace_tap/get_report()
return {"Bluespace Harvester Experiment
Another research station has developed a device called a Bluespace Harvester.
@@ -14,21 +15,29 @@
Nanotrasen Science Directorate"}
+
/datum/station_goal/bluespace_tap/on_report()
var/datum/supply_packs/misc/station_goal/bluespace_tap/P = SSshuttle.supply_packs["[/datum/supply_packs/misc/station_goal/bluespace_tap]"]
P.special_enabled = TRUE
supply_list.Add(P)
+
+/datum/station_goal/bluespace_tap/proc/get_highscore()
+ . = 0
+
+ for(var/obj/machinery/power/bluespace_tap/harvester in GLOB.machines)
+ . = max(., harvester.total_points)
+
+
/datum/station_goal/bluespace_tap/check_completion()
- if(..())
- return TRUE
- var/highscore = 0
- for(var/obj/machinery/power/bluespace_tap/T in GLOB.machines)
- highscore = max(highscore, T.total_points)
+ return ..() || get_highscore() >= goal
+
+
+/datum/station_goal/bluespace_tap/print_result()
+ ..()
+ var/highscore = get_highscore()
to_chat(world, "Bluespace Harvester Highscore: [highscore >= goal ? "": ""][highscore]")
- if(highscore >= goal)
- return TRUE
- return FALSE
+
//needed for the vending part of it
/datum/data/bluespace_tap_product