diff --git a/code/controllers/subsystem/dynamic/dynamic.dm b/code/controllers/subsystem/dynamic/dynamic.dm
index 9540fef7b47..494f37c5825 100644
--- a/code/controllers/subsystem/dynamic/dynamic.dm
+++ b/code/controllers/subsystem/dynamic/dynamic.dm
@@ -376,11 +376,11 @@ SUBSYSTEM_DEF(dynamic)
/// Generate the advisory level depending on the shown threat level.
/datum/controller/subsystem/dynamic/proc/generate_advisory_level()
var/advisory_string = ""
- if (prob(PULSAR_REPORT_CHANCE))
- if(HAS_TRAIT(SSstation, STATION_TRAIT_BANANIUM_SHIPMENTS))
- advisory_string += "Advisory Level: Clown Planet
"
- advisory_string += "Your sector's advisory level is Clown Planet! Our bike horns have picked up on a large bananium stash. Clowns show a large influx of clowns on your station. We highly advise you to slip any threats to keep Honkotrasen assets within the Banana Sector. The Department of Intelligence advises defending chemistry from any clowns that are trying to make baldium or space lube."
- return advisory_string
+ if(prob(PULSAR_REPORT_CHANCE))
+ for(var/datum/station_trait/our_trait as anything in shuffle(SSstation.station_traits))
+ advisory_string += our_trait.get_pulsar_message()
+ if(length(advisory_string))
+ return advisory_string
advisory_string += "Advisory Level: Pulsar Star
"
advisory_string += "Your sector's advisory level is Pulsar Star. A large, unknown electromagnetic field has stormed through nearby surveillance equipment, causing major data loss. Partial data was recovered and showed no credible threats to Nanotrasen assets within the Spinward Sector; however, the Department of Intelligence advises maintaining high alert against potential threats due to the lack of complete data."
diff --git a/code/datums/station_traits/_station_trait.dm b/code/datums/station_traits/_station_trait.dm
index 493f036e191..a0e17d1d2e8 100644
--- a/code/datums/station_traits/_station_trait.dm
+++ b/code/datums/station_traits/_station_trait.dm
@@ -133,3 +133,7 @@ GLOBAL_LIST_EMPTY(lobby_station_traits)
var/datum/hud/using_hud = hud_owner.hud_used
using_hud?.show_hud(using_hud?.hud_version)
lobby_buttons = list()
+
+/// Called when overriding a pulsar star command report message.
+/datum/station_trait/proc/get_pulsar_message()
+ return
diff --git a/code/datums/station_traits/negative_traits.dm b/code/datums/station_traits/negative_traits.dm
index f0dcd802001..89c34565e57 100644
--- a/code/datums/station_traits/negative_traits.dm
+++ b/code/datums/station_traits/negative_traits.dm
@@ -308,6 +308,11 @@
event_control_path = /datum/round_event_control/ion_storm
weight_multiplier = 2
+/datum/station_trait/random_event_weight_modifier/ion_storms/get_pulsar_message()
+ var/advisory_string = "Advisory Level: ERROR
"
+ advisory_string += scramble_message_replace_chars("Your sector's advisory level is ERROR. An electromagnetic field has stormed through nearby surveillance equipment, causing major data loss. Partial data was recovered and showed no credible threats to Nanotrasen assets within the Spinward Sector; however, the Department of Intelligence advises maintaining high alert against potential threats due to the lack of complete data.", 35)
+ return advisory_string
+
/datum/station_trait/random_event_weight_modifier/rad_storms
name = "Radiation Stormfront"
report_message = "A radioactive stormfront is passing through your station's system. Expect an increased likelihood of radiation storms passing over your station, as well the potential for multiple radiation storms to occur during your shift."
@@ -731,7 +736,11 @@
weight = 3
show_in_report = TRUE
report_message = "It looks like the storm is not gonna calm down anytime soon, stay safe out there."
-
storm_type = /datum/weather/snow_storm/forever_storm
+/datum/station_trait/storm/foreverstorm/get_pulsar_message()
+ var/advisory_string = "Advisory Level: Ice Giant
"
+ advisory_string += "The ongoing blizzard has interfered with our surveillance equipment, and we cannot provide an accurate threat summary at this time. We advise you to stay safe and avoid traversing the area around the station."
+ return advisory_string
+
#undef GLOW_NEBULA
diff --git a/code/datums/station_traits/neutral_traits.dm b/code/datums/station_traits/neutral_traits.dm
index 67b24dc744d..af55fc5f0f3 100644
--- a/code/datums/station_traits/neutral_traits.dm
+++ b/code/datums/station_traits/neutral_traits.dm
@@ -7,6 +7,11 @@
report_message = "Rumors has it that the clown planet has been sending support packages to clowns in this system."
trait_to_give = STATION_TRAIT_BANANIUM_SHIPMENTS
+/datum/station_trait/bananium_shipment/get_pulsar_message()
+ var/advisory_string = "Advisory Level: Clown Planet
"
+ advisory_string += "Your sector's advisory level is Clown Planet! Our bike horns have picked up on a large bananium stash. Clowns show a large influx of clowns on your station. We highly advise you to slip any threats to keep Honkotrasen assets within the Banana Sector. The Department of Intelligence advises defending chemistry from any clowns that are trying to make baldium or space lube."
+ return advisory_string
+
/datum/station_trait/unnatural_atmosphere
name = "Unnatural atmospherical properties"
trait_type = STATION_TRAIT_NEUTRAL
@@ -122,6 +127,11 @@
. = ..()
SSstation.announcer = /datum/centcom_announcer/intern
+/datum/station_trait/announcement_intern/get_pulsar_message()
+ var/advisory_string = "Advisory Level: (TITLE HERE)
"
+ advisory_string += "(Copy/Paste the summary provided by the Threat Intelligence Office in this field. You shouldn't have any trouble with this just make sure to replace this message before hitting the send button. Also, make sure there's coffee ready for the meeting at 06:00 when you're done.)"
+ return advisory_string
+
/datum/station_trait/announcement_medbot
name = "Announcement \"System\""
trait_type = STATION_TRAIT_NEUTRAL
diff --git a/code/datums/station_traits/positive_traits.dm b/code/datums/station_traits/positive_traits.dm
index 88a5aed2d83..7aa8034e9b9 100644
--- a/code/datums/station_traits/positive_traits.dm
+++ b/code/datums/station_traits/positive_traits.dm
@@ -305,6 +305,11 @@
weight_multiplier = 3
max_occurrences_modifier = 10 //lotta cows
+/datum/station_trait/random_event_weight_modifier/wise_cows/get_pulsar_message()
+ var/advisory_string = "Advisory Level: Cow Planet
" //We're gonna go fast and we're gonna go far.
+ advisory_string += "Your sector's advisory level is Cow Planet. We don't really know what this one means -- the model we use to create these threat reports hasn't produced this result before. Watch out for cows, I guess? Good luck!"
+ return advisory_string
+
/datum/station_trait/bright_day
name = "Bright Day"
report_message = "The stars shine bright and the clouds are scarcer than usual. It's a bright day here on the Ice Moon's surface."
@@ -365,9 +370,14 @@
/// Spawns assistants with some gear, either gimmicky or functional. Maybe, one day, it will inspire an assistant to do something productive or fun
/datum/station_trait/assistant_gimmicks
name = "Geared Assistants Pilot"
- report_message = "The Nanotrassen Assistant Affairs division is performing a pilot to see if different assistant equipments help improve productivity!"
+ report_message = "The Nanotrassen Assistant Affairs division is performing a pilot to see if different assistant equipment helps improve productivity!"
trait_type = STATION_TRAIT_POSITIVE
weight = 3
trait_to_give = STATION_TRAIT_ASSISTANT_GIMMICKS
show_in_report = TRUE
blacklist = list(/datum/station_trait/colored_assistants)
+
+/datum/station_trait/random_event_weight_modifier/assistant_gimmicks/get_pulsar_message()
+ var/advisory_string = "Advisory Level: Grey Sky
"
+ advisory_string += "Your sector's advisory level is Grey Sky. Our sensors detect abnormal activity among the assistants assigned to your station. We advise you to closely monitor the Tool Storage, Bridge, Tech Storage, and Brig for gathering crowds or petty thievery."
+ return advisory_string