[MIRROR] Announced Extended now sends a report for station traits + minor punctuation cleanup (#3779)

* Announced Extended now sends a report for station traits + minor punctuation cleanup

* Update dynamic.dm

Co-authored-by: MrMelbert <51863163+MrMelbert@users.noreply.github.com>
Co-authored-by: Gandalf <jzo123@hotmail.com>
This commit is contained in:
SkyratBot
2021-03-03 02:44:32 +00:00
committed by GitHub
co-authored by MrMelbert Gandalf
parent 1b88fb589e
commit d42c2c0481
5 changed files with 42 additions and 31 deletions
@@ -3,7 +3,7 @@
trait_type = STATION_TRAIT_NEGATIVE
weight = 5
show_in_report = TRUE
report_message = "Dangerous fauna is present in the area of this station"
report_message = "Dangerous fauna is present in the area of this station."
trait_to_give = STATION_TRAIT_CARP_INFESTATION
/datum/station_trait/distant_supply_lines
@@ -117,7 +117,7 @@
trait_type = STATION_TRAIT_POSITIVE
weight = 5
show_in_report = TRUE
report_message = "Due to proximity to our supply station, the cargo shuttle will have a quicker flight time to your cargo department/"
report_message = "Due to proximity to our supply station, the cargo shuttle will have a quicker flight time to your cargo department."
blacklist = list(/datum/station_trait/slow_shuttle)
/datum/station_trait/quick_shuttle/on_round_start()
+2 -14
View File
@@ -286,20 +286,8 @@ GLOBAL_VAR_INIT(dynamic_forced_threat_level, -1)
. += "Your station is somehow in the middle of hostile territory, in clear view of any enemy of the corporation. Your likelihood to survive is low, and station destruction is expected and almost inevitable. Secure any sensitive material and neutralize any enemy you will come across. It is important that you at least try to maintain the station.<BR>"
. += "Good luck."
if(station_goals.len)
. += "<hr><b>Special Orders for [station_name()]:</b>"
for(var/datum/station_goal/G in station_goals)
G.on_report()
. += G.get_report()
if(SSstation.station_traits.len)
. += "<hr><b>Identified shift divergencies:</b><BR>"
for(var/i in SSstation.station_traits)
var/datum/station_trait/station_trait_iterator = i
if(!station_trait_iterator.show_in_report)
return
. += "[station_trait_iterator.get_report()]<BR>"
. += generate_station_goal_report()
. += generate_station_trait_report()
print_command_report(., "Central Command Status Summary", announce=FALSE)
priority_announce("A summary has been copied and printed to all communications consoles.", "Security level elevated.", ANNOUNCER_INTERCEPT)
+8 -2
View File
@@ -25,5 +25,11 @@
station_goals += G
G.on_report()
/datum/game_mode/extended/announced/send_intercept(report = 0)
priority_announce("Thanks to the tireless efforts of our security and intelligence divisions, there are currently no credible threats to [station_name()]. All station construction projects have been authorized. Have a secure shift!", "Security Report", SSstation.announcer.get_rand_report_sound())
/datum/game_mode/extended/announced/send_intercept()
var/greenshift_message = "Thanks to the tireless efforts of our security and intelligence divisions, there are currently no credible threats to [station_name()]. All station construction projects have been authorized. Have a secure shift!"
. += "<b><i>Central Command Status Summary</i></b><hr>"
. += greenshift_message
. += generate_station_trait_report()
print_command_report(., "Central Command Status Summary", announce = FALSE)
priority_announce(greenshift_message, "Security Report", SSstation.announcer.get_rand_report_sound())
+30 -13
View File
@@ -293,25 +293,42 @@
intercepttext += "<hr>"
intercepttext += report
if(station_goals.len)
intercepttext += "<hr><b>Special Orders for [station_name()]:</b>"
for(var/datum/station_goal/G in station_goals)
G.on_report()
intercepttext += G.get_report()
if(SSstation.station_traits.len)
intercepttext += "<hr><b>Identified shift divergencies:</b>"
for(var/i in SSstation.station_traits)
var/datum/station_trait/station_trait_iterator = i
if(!station_trait_iterator.show_in_report)
return
intercepttext += station_trait_iterator.get_report()
intercepttext += generate_station_goal_report()
intercepttext += generate_station_trait_report()
print_command_report(intercepttext, "Central Command Status Summary", announce=FALSE)
priority_announce("A summary has been copied and printed to all communications consoles.", "Enemy communication intercepted. Security level elevated.", ANNOUNCER_INTERCEPT)
if(GLOB.security_level < SEC_LEVEL_BLUE)
set_security_level(SEC_LEVEL_BLUE)
/*
* Generate a list of station goals available to purchase to report to the crew.
*
* Returns a formatted string all station goals that are available to the station.
*/
/datum/game_mode/proc/generate_station_goal_report()
if(!station_goals.len)
return
. = "<hr><b>Special Orders for [station_name()]:</b><BR>"
for(var/datum/station_goal/station_goal in station_goals)
station_goal.on_report()
. += station_goal.get_report()
return
/*
* Generate a list of active station traits to report to the crew.
*
* Returns a formatted string of all station traits (that are shown) affecting the station.
*/
/datum/game_mode/proc/generate_station_trait_report()
if(!SSstation.station_traits.len)
return
. = "<hr><b>Identified shift divergencies:</b><BR>"
for(var/datum/station_trait/station_trait as anything in SSstation.station_traits)
if(!station_trait.show_in_report)
continue
. += "[station_trait.get_report()]<BR>"
return
// This is a frequency selection system. You may imagine it like a raffle where each player can have some number of tickets. The more tickets you have the more likely you are to
// "win". The default is 100 tickets. If no players use any extra tickets (earned with the antagonist rep system) calling this function should be equivalent to calling the normal