Skip to content

Commit

Permalink
Minor Major Space Dust update, Dust Stormfront station trait (tgstati…
Browse files Browse the repository at this point in the history
…on#74901)

## About The Pull Request

This makes three changes regarding the Major Space Dust event.

The first reverts it back to a meteor_wave subtype (rather than a
space_dust subtype), a choice I made in tgstation#69866 that feels really stupid
in retrospect.

The second set of changes pertain to the event's numbers. It increases
the weight (8 -> 14) and reduces the earliest_start time (25 MINUTES ->
15 MINUTES). The announce_chance has been reduced (100 -> 85), and there
are a few more announcement messages in the pool.

Lastly, this adds a quick random_event_weight_modifier station trait
that makes the Major Space Dust more common. Let's hope it doesn't
scratch the hull!

This also removes an outdated comment from the revolutionary fervor
station trait, because I was near it.
## Why It's Good For The Game

It's way more sane to handle this event as a meteor_wave. It walks and
talks like a meteor wave, why shouldn't it be one?

Major Space Dust works as a nice fluff event. It's low-impact and might
give engineering something to fix every now and then. It's not
particularly special either, so I don't think it would hurt to make the
event bit more frequent.

New station trait for people (presumably engineering players) to work
around.
## Changelog
:cl: Rhials
add: New event weight station trait -- Dust Stormfront.
balance: Space Weather Forecast -- Expect more frequent Major Space Dust
storms in the foreseeable future.
code: The Major Space Dust event is once again returned to being a
meteor_wave event instead of a Space Dust subtype.
/:cl:
  • Loading branch information
Rhials authored Apr 24, 2023
1 parent 0d46599 commit ab5e86d
Show file tree
Hide file tree
Showing 3 changed files with 48 additions and 33 deletions.
11 changes: 10 additions & 1 deletion code/datums/station_traits/negative_traits.dm
Original file line number Diff line number Diff line change
Expand Up @@ -282,6 +282,16 @@
weight_multiplier = 1.5
max_occurrences_modifier = 2

/datum/station_trait/random_event_weight_modifier/dust_storms
name = "Dust Stormfront"
report_message = "The space around your station is clouded by heavy pockets of space dust. Expect an increased likelyhood of space dust storms damaging the station hull."
trait_type = STATION_TRAIT_NEGATIVE
trait_flags = NONE
weight = 2
event_control_path = /datum/round_event_control/meteor_wave/dust_storm
weight_multiplier = 2
max_occurrences_modifier = 3

/datum/station_trait/cramped_escape_pods
name = "Cramped Escape Pods"
trait_type = STATION_TRAIT_NEGATIVE
Expand All @@ -291,7 +301,6 @@
trait_to_give = STATION_TRAIT_SMALLER_PODS
blacklist = list(/datum/station_trait/luxury_escape_pods)

///A special trait, used only for when a revolution was won in the previous round. See /obj/effect/mapping_helpers/revolution_trash for more information.
/datum/station_trait/revolutionary_trashing
name = "Post-Revolutionary Fervor"
show_in_report = TRUE
Expand Down
32 changes: 0 additions & 32 deletions code/modules/events/dust.dm
Original file line number Diff line number Diff line change
Expand Up @@ -17,35 +17,3 @@
/datum/round_event/space_dust/start()
spawn_meteors(1, GLOB.meteors_dust)

/datum/round_event_control/space_dust/major_dust
name = "Space Dust: Major"
typepath = /datum/round_event/space_dust/major_dust
weight = 8
description = "The station is pelted by sand."
min_players = 15
max_occurrences = 3
earliest_start = 25 MINUTES
category = EVENT_CATEGORY_SPACE
min_wizard_trigger_potency = 4
max_wizard_trigger_potency = 7

/datum/round_event/space_dust/major_dust
start_when = 6
end_when = 66
announce_when = 1

/datum/round_event/space_dust/major_dust/announce(fake)
var/reason = pick(
"The station is passing through a debris cloud, expect minor damage \
to external fittings and fixtures.",
"Nanotrasen Superweapons Division is testing a new prototype \
[pick("field","projection","nova","super-colliding","reactive")] \
[pick("cannon","artillery","tank","cruiser","\[REDACTED\]")], \
some mild debris is expected.",
"A neighbouring station is throwing rocks at you. (Perhaps they've \
grown tired of your messages.)")
priority_announce(pick(reason), "Collision Alert")

/datum/round_event/space_dust/major_dust/tick()
if(ISMULTIPLE(activeFor, 3))
spawn_meteors(5, GLOB.meteors_dust)
38 changes: 38 additions & 0 deletions code/modules/events/meteors/meteor_wave_events.dm
Original file line number Diff line number Diff line change
Expand Up @@ -92,3 +92,41 @@

/datum/round_event/meteor_wave/meaty/announce(fake)
priority_announce("Meaty ores have been detected on collision course with the station.", "Oh crap, get the mop.", ANNOUNCER_METEORS)

/datum/round_event_control/meteor_wave/dust_storm
name = "Major Space Dust"
typepath = /datum/round_event/meteor_wave/dust_storm
weight = 14
description = "The station is pelted by sand."
earliest_start = 15 MINUTES
min_wizard_trigger_potency = 4
max_wizard_trigger_potency = 7

/datum/round_event/meteor_wave/dust_storm
announce_chance = 85
wave_name = "space dust"

/datum/round_event/meteor_wave/dust_storm/announce(fake)
var/list/reasons = list()

reasons += "[station_name()] is passing through a debris cloud, expect minor damage \
to external fittings and fixtures."

reasons += "Nanotrasen Superweapons Division is testing a new prototype \
[pick("field","projection","nova","super-colliding","reactive")] \
[pick("cannon","artillery","tank","cruiser","\[REDACTED\]")], \
some mild debris is expected."

reasons += "A neighbouring station is throwing rocks at you. (Perhaps they've \
grown tired of your messages.)"

reasons += "[station_name()]'s orbit is passing through a cloud of remnants from an asteroid \
mining operation. Minor hull damage is to be expected."

reasons += "A large meteoroid on intercept course with [station_name()] has been demolished. \
Residual debris may impact the station exterior."

reasons += "[station_name()] has hit a particularly rough patch of space. \
Please mind any turbulence or damage from debris."

priority_announce(pick(reasons), "Collision Alert")

0 comments on commit ab5e86d

Please sign in to comment.