Skip to content

Commit

Permalink
Merge pull request #549 from KittyNoodle/storytellersv2
Browse files Browse the repository at this point in the history
Storyteller rebalance and modularization. (And two more storytellers)
  • Loading branch information
dwasint authored Nov 24, 2023
2 parents 2f9e093 + fab2c62 commit 553078e
Show file tree
Hide file tree
Showing 73 changed files with 316 additions and 178 deletions.
2 changes: 2 additions & 0 deletions code/__DEFINES/~monkestation/storytellers.dm
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,8 @@
#define TAG_SPACE "space"
/// When the event requires the station to be on planetary.
#define TAG_PLANETARY "planetary"
/// When the event is an external threat(meteors, nukies).
#define TAG_EXTERNAL "external"

#define EVENT_TRACK_MUNDANE "Mundane"
#define EVENT_TRACK_MODERATE "Moderate"
Expand Down
2 changes: 1 addition & 1 deletion code/modules/events/anomaly/_anomaly.dm
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@
impact_area = get_area(spawn_location)
else
impact_area = placer.findValidArea()
setup = TRUE
setup = TRUE //MONKESTATION ADDITION

/datum/round_event/anomaly/announce(fake)
priority_announce("Energetic flux wave detected on [ANOMALY_ANNOUNCE_DANGEROUS_TEXT] [impact_area.name].", "Anomaly Alert")
Expand Down
2 changes: 1 addition & 1 deletion code/modules/events/anomaly/anomaly_vortex.dm
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@

min_players = 20
max_occurrences = 2
weight = 10
weight = 4 //monkestation edit: 10 ==> 4
description = "This anomaly sucks in and detonates items."
min_wizard_trigger_potency = 3
max_wizard_trigger_potency = 7
Expand Down
4 changes: 1 addition & 3 deletions code/modules/events/aurora_caelus.dm
Original file line number Diff line number Diff line change
Expand Up @@ -6,10 +6,8 @@
earliest_start = 5 MINUTES
category = EVENT_CATEGORY_FRIENDLY
description = "A colourful display can be seen through select windows. And the kitchen."
track = EVENT_TRACK_MUNDANE
tags = list(TAG_COMMUNAL, TAG_POSITIVE, TAG_SPACE)

/datum/round_event_control/aurora_caelus/can_spawn_event(players, allow_magic = FALSE, fake_check = FALSE)
/datum/round_event_control/aurora_caelus/can_spawn_event(players, allow_magic = FALSE, fake_check = FALSE) //MONKESTATION ADDITION: fake_check = FALSE
if(!SSmapping.empty_space)
return FALSE
return ..()
Expand Down
2 changes: 0 additions & 2 deletions code/modules/events/brain_trauma.dm
Original file line number Diff line number Diff line change
Expand Up @@ -6,8 +6,6 @@
description = "A crewmember gains a random trauma."
min_wizard_trigger_potency = 2
max_wizard_trigger_potency = 6
track = EVENT_TRACK_MUNDANE
tags = list(TAG_TARGETED)

/datum/round_event/brain_trauma
fakeable = FALSE
Expand Down
4 changes: 1 addition & 3 deletions code/modules/events/brand_intelligence.dm
Original file line number Diff line number Diff line change
Expand Up @@ -9,8 +9,6 @@
min_wizard_trigger_potency = 2
max_wizard_trigger_potency = 6
admin_setup = list(/datum/event_admin_setup/listed_options/brand_intelligence)
track = EVENT_TRACK_MODERATE
tags = list(TAG_DESTRUCTIVE, TAG_COMMUNAL)

/datum/round_event/brand_intelligence
announce_when = 21
Expand Down Expand Up @@ -48,7 +46,7 @@
kill()
return
origin_machine = pick_n_take(vending_machines)
setup = TRUE
setup = TRUE //MONKESTATION ADDITION

/datum/round_event/brand_intelligence/announce(fake)
priority_announce("Rampant brand intelligence has been detected aboard [station_name()]. Please inspect any [origin_machine] brand vendors for aggressive marketing tactics, and reboot them if necessary.", "Machine Learning Alert")
Expand Down
8 changes: 3 additions & 5 deletions code/modules/events/bureaucratic_error.dm
Original file line number Diff line number Diff line change
Expand Up @@ -5,8 +5,6 @@
weight = 5
category = EVENT_CATEGORY_BUREAUCRATIC
description = "Randomly opens and closes job slots, along with changing the overflow role."
track = EVENT_TRACK_MAJOR // if you've ever dealt with 10 mimes you understand why.
tags = list(TAG_COMMUNAL)

/datum/round_event/bureaucratic_error
announce_when = 1
Expand All @@ -24,11 +22,11 @@
var/datum/job/current = job
if(!current.allow_bureaucratic_error)
continue
var/ran = rand(-2,4)
current.total_positions = max(current.total_positions + ran, 1)
var/ran = rand(-2,4) //MONKESTATION CHANGE: REMOVE(current.total_positions = 0) ADD: var/ran = rand(-2,4)
current.total_positions = max(current.total_positions + ran, 1) //MONKESTATION ADDITION
else // Adds/removes a random amount of job slots from all jobs.
for(var/datum/job/current as anything in jobs)
if(!current.allow_bureaucratic_error)
continue
var/ran = rand(-2,4)
current.total_positions = max(current.total_positions + ran, 1)
current.total_positions = max(current.total_positions + ran, 1) //MONKESTATION CHANGE: ran, 0) ==> ran, 1)
2 changes: 0 additions & 2 deletions code/modules/events/camerafailure.dm
Original file line number Diff line number Diff line change
Expand Up @@ -6,8 +6,6 @@
alert_observers = FALSE
category = EVENT_CATEGORY_ENGINEERING
description = "Turns off a random amount of cameras."
track = EVENT_TRACK_MUNDANE
tags = list(TAG_COMMUNAL, TAG_SPOOKY)

/datum/round_event/camera_failure
fakeable = FALSE
Expand Down
4 changes: 1 addition & 3 deletions code/modules/events/carp_migration.dm
Original file line number Diff line number Diff line change
Expand Up @@ -10,8 +10,6 @@
min_wizard_trigger_potency = 0
max_wizard_trigger_potency = 3
admin_setup = list(/datum/event_admin_setup/carp_migration)
track = EVENT_TRACK_MODERATE
tags = list(TAG_COMMUNAL)

/datum/round_event_control/carp_migration/New()
. = ..()
Expand All @@ -37,7 +35,7 @@

/datum/round_event/carp_migration/setup()
start_when = rand(40, 60)
setup = TRUE
setup = TRUE //MONKESTATION ADDITION

/datum/round_event/carp_migration/announce(fake)
priority_announce("[fluff_signal] have been detected near [station_name()], please stand-by.", "Lifesign Alert")
Expand Down
2 changes: 0 additions & 2 deletions code/modules/events/communications_blackout.dm
Original file line number Diff line number Diff line change
Expand Up @@ -6,8 +6,6 @@
description = "Heavily emps all telecommunication machines, blocking all communication for a while."
min_wizard_trigger_potency = 0
max_wizard_trigger_potency = 3
track = EVENT_TRACK_MODERATE
tags = list(TAG_COMMUNAL, TAG_SPOOKY)

/datum/round_event/communications_blackout
announce_when = 1
Expand Down
2 changes: 0 additions & 2 deletions code/modules/events/creep_awakening.dm
Original file line number Diff line number Diff line change
Expand Up @@ -5,8 +5,6 @@
min_players = 20
category = EVENT_CATEGORY_HEALTH
description = "A random crewmember becomes obsessed with another."
track = EVENT_TRACK_MODERATE
tags = list(TAG_CREW_ANTAG, TAG_TARGETED)

/datum/round_event/obsessed
fakeable = FALSE
Expand Down
10 changes: 4 additions & 6 deletions code/modules/events/disease_outbreak.dm
Original file line number Diff line number Diff line change
Expand Up @@ -32,10 +32,8 @@
admin_setup = list(/datum/event_admin_setup/minimum_candidate_requirement/disease_outbreak, /datum/event_admin_setup/listed_options/disease_outbreak)
///Disease recipient candidates
var/list/disease_candidates = list()
track = EVENT_TRACK_MUNDANE
tags = list(TAG_TARGETED)

/datum/round_event_control/disease_outbreak/can_spawn_event(players_amt, allow_magic = FALSE, fake_check = FALSE)
/datum/round_event_control/disease_outbreak/can_spawn_event(players_amt, allow_magic = FALSE, fake_check = FALSE) //MONKESTATION ADDITION: fake_check = FALSE
. = ..()
if(!.)
return .
Expand Down Expand Up @@ -102,7 +100,7 @@

/datum/round_event/disease_outbreak/setup()
announce_when = ADV_ANNOUNCE_DELAY
setup = TRUE
setup = TRUE //MONKESTATION ADDITION

/datum/round_event/disease_outbreak/start()
var/datum/round_event_control/disease_outbreak/disease_event = control
Expand Down Expand Up @@ -144,7 +142,7 @@
name = "Disease Outbreak: Advanced"
typepath = /datum/round_event/disease_outbreak/advanced
category = EVENT_CATEGORY_HEALTH
weight = 15
weight = 7 //monkestation change 15 ==> 7
min_players = 35 // To avoid shafting lowpop
earliest_start = 15 MINUTES // give the chemist a chance
description = "An 'advanced' disease will infect some members of the crew."
Expand Down Expand Up @@ -258,7 +256,7 @@

/datum/round_event/disease_outbreak/advance/setup()
announce_when = ADV_ANNOUNCE_DELAY
setup = TRUE
setup = TRUE //MONKESTATION ADDITION

/**
* Generate advanced virus
Expand Down
4 changes: 1 addition & 3 deletions code/modules/events/dust.dm
Original file line number Diff line number Diff line change
Expand Up @@ -2,14 +2,12 @@
name = "Space Dust: Minor"
typepath = /datum/round_event/space_dust
weight = 200 // why the hell was this so much
max_occurrences = 10
max_occurrences = 10 //MONKESTATION CHANGE: 1000 ==> 10
earliest_start = 0 MINUTES
alert_observers = FALSE
category = EVENT_CATEGORY_SPACE
description = "A single space dust is hurled at the station."
map_flags = EVENT_SPACE_ONLY
track = EVENT_TRACK_MUNDANE
tags = list(TAG_DESTRUCTIVE, TAG_SPACE)

/datum/round_event/space_dust
start_when = 1
Expand Down
2 changes: 0 additions & 2 deletions code/modules/events/electrical_storm.dm
Original file line number Diff line number Diff line change
Expand Up @@ -8,8 +8,6 @@
description = "Destroys all lights in a large area."
min_wizard_trigger_potency = 0
max_wizard_trigger_potency = 4
track = EVENT_TRACK_MUNDANE
tags = list(TAG_SPOOKY)

/datum/round_event/electrical_storm
var/lightsoutAmount = 1
Expand Down
2 changes: 0 additions & 2 deletions code/modules/events/fake_virus.dm
Original file line number Diff line number Diff line change
Expand Up @@ -4,8 +4,6 @@
weight = 20
category = EVENT_CATEGORY_HEALTH
description = "Some crewmembers suffer from temporary hypochondria."
track = EVENT_TRACK_MUNDANE
tags = list(TAG_TARGETED)

/datum/round_event/fake_virus/start()
var/list/fake_virus_victims = list()
Expand Down
2 changes: 0 additions & 2 deletions code/modules/events/false_alarm.dm
Original file line number Diff line number Diff line change
Expand Up @@ -6,8 +6,6 @@
category = EVENT_CATEGORY_BUREAUCRATIC
description = "Fakes an event announcement."
admin_setup = list(/datum/event_admin_setup/listed_options/false_alarm)
track = EVENT_TRACK_MUNDANE
tags = list(TAG_COMMUNAL)

/datum/round_event_control/falsealarm/can_spawn_event(players_amt, allow_magic = FALSE, fake_check = FALSE)
. = ..()
Expand Down
3 changes: 0 additions & 3 deletions code/modules/events/ghost_role/abductor.dm
Original file line number Diff line number Diff line change
Expand Up @@ -7,9 +7,6 @@
dynamic_should_hijack = TRUE
category = EVENT_CATEGORY_INVASION
description = "One or more abductor teams spawns, and they plan to experiment on the crew."
track = EVENT_TRACK_MAJOR
tags = list(TAG_TARGETED, TAG_SPOOKY)
checks_antag_cap = TRUE

/datum/round_event/ghost_role/abductor
minimum_required = 2
Expand Down
9 changes: 3 additions & 6 deletions code/modules/events/ghost_role/alien_infestation.dm
Original file line number Diff line number Diff line change
Expand Up @@ -5,15 +5,12 @@

min_players = 35 //monkie edit: 10 to 35 (tg what the fuck)

earliest_start = 60 MINUTES //monkie edit: 20 to 90
earliest_start = 60 MINUTES //monkie edit: 20 to 60
dynamic_should_hijack = TRUE
category = EVENT_CATEGORY_ENTITIES
description = "A xenomorph larva spawns on a random vent."
track = EVENT_TRACK_MAJOR
tags = list(TAG_COMBAT)
checks_antag_cap = TRUE

/datum/round_event_control/alien_infestation/can_spawn_event(players_amt, allow_magic = FALSE, fake_check = FALSE)
/datum/round_event_control/alien_infestation/can_spawn_event(players_amt, allow_magic = FALSE, fake_check = FALSE) //MONKESTATION ADDITION: fake_check = FALSE
. = ..()
if(!.)
return .
Expand All @@ -37,7 +34,7 @@
announce_when = rand(announce_when, announce_when + 50)
if(prob(50))
spawncount++
setup = TRUE
setup = TRUE //MONKESTATION ADDITION
/datum/round_event/ghost_role/alien_infestation/announce(fake)
var/living_aliens = FALSE
for(var/mob/living/carbon/alien/A in GLOB.player_list)
Expand Down
7 changes: 2 additions & 5 deletions code/modules/events/ghost_role/blob.dm
Original file line number Diff line number Diff line change
Expand Up @@ -6,15 +6,12 @@

min_players = 35 //monkie edit: 20 to 35

earliest_start = 60 MINUTES //monkie edit: 20 to 90
earliest_start = 60 MINUTES //monkie edit: 20 to 60
dynamic_should_hijack = TRUE
category = EVENT_CATEGORY_ENTITIES
description = "Spawns a new blob overmind."
track = EVENT_TRACK_MAJOR
tags = list(TAG_DESTRUCTIVE, TAG_COMBAT)
checks_antag_cap = TRUE

/datum/round_event_control/blob/can_spawn_event(players, allow_magic = FALSE, fake_check = FALSE)
/datum/round_event_control/blob/can_spawn_event(players, allow_magic = FALSE, fake_check = FALSE) //MONKESTATION ADDITION: fake_check = FALSE
if(EMERGENCY_PAST_POINT_OF_NO_RETURN) // no blobs if the shuttle is past the point of no return
return FALSE

Expand Down
3 changes: 0 additions & 3 deletions code/modules/events/ghost_role/changeling_event.dm
Original file line number Diff line number Diff line change
Expand Up @@ -14,9 +14,6 @@
dynamic_should_hijack = TRUE
category = EVENT_CATEGORY_ENTITIES
description = "A meteor containing a changeling is summoned and thrown at the exterior of the station."
track = EVENT_TRACK_MAJOR
tags = list(TAG_COMBAT)
checks_antag_cap = TRUE

/datum/round_event/ghost_role/changeling
minimum_required = 1
Expand Down
3 changes: 0 additions & 3 deletions code/modules/events/ghost_role/fugitive_event.dm
Original file line number Diff line number Diff line change
Expand Up @@ -9,9 +9,6 @@
category = EVENT_CATEGORY_INVASION
description = "Fugitives will hide on the station, followed by hunters."
map_flags = EVENT_SPACE_ONLY
track = EVENT_TRACK_MAJOR
tags = list(TAG_COMBAT)
checks_antag_cap = TRUE

/datum/round_event/ghost_role/fugitives
minimum_required = 1
Expand Down
3 changes: 0 additions & 3 deletions code/modules/events/ghost_role/morph_event.dm
Original file line number Diff line number Diff line change
Expand Up @@ -7,9 +7,6 @@
description = "Spawns a hungry shapeshifting blobby creature."
min_wizard_trigger_potency = 4
max_wizard_trigger_potency = 7
track = EVENT_TRACK_ROLESET
tags = list(TAG_COMBAT, TAG_SPOOKY)
checks_antag_cap = TRUE

/datum/round_event/ghost_role/morph
minimum_required = 1
Expand Down
3 changes: 0 additions & 3 deletions code/modules/events/ghost_role/nightmare.dm
Original file line number Diff line number Diff line change
Expand Up @@ -8,9 +8,6 @@
description = "Spawns a nightmare, aiming to darken the station."
min_wizard_trigger_potency = 6
max_wizard_trigger_potency = 7
track = EVENT_TRACK_ROLESET
tags = list(TAG_COMBAT, TAG_SPOOKY)
checks_antag_cap = TRUE

/datum/round_event/ghost_role/nightmare
minimum_required = 1
Expand Down
3 changes: 0 additions & 3 deletions code/modules/events/ghost_role/operative.dm
Original file line number Diff line number Diff line change
Expand Up @@ -5,9 +5,6 @@
max_occurrences = 1
category = EVENT_CATEGORY_INVASION
description = "A single nuclear operative assaults the station."
track = EVENT_TRACK_MAJOR
tags = list(TAG_DESTRUCTIVE, TAG_COMBAT)
checks_antag_cap = TRUE

/datum/round_event/ghost_role/operative
minimum_required = 1
Expand Down
3 changes: 0 additions & 3 deletions code/modules/events/ghost_role/revenant_event.dm
Original file line number Diff line number Diff line change
Expand Up @@ -11,9 +11,6 @@
description = "Spawns an angry, soul sucking ghost."
min_wizard_trigger_potency = 4
max_wizard_trigger_potency = 7
track = EVENT_TRACK_ROLESET
tags = list(TAG_DESTRUCTIVE, TAG_SPOOKY)
checks_antag_cap = TRUE

/datum/round_event/ghost_role/revenant
var/ignore_mobcheck = FALSE
Expand Down
2 changes: 0 additions & 2 deletions code/modules/events/ghost_role/sentience.dm
Original file line number Diff line number Diff line change
Expand Up @@ -28,8 +28,6 @@ GLOBAL_LIST_INIT(high_priority_sentience, typecacheof(list(
description = "An animal or robot becomes sentient!"
min_wizard_trigger_potency = 0
max_wizard_trigger_potency = 7
track = EVENT_TRACK_MODERATE
tags = list(TAG_COMMUNAL, TAG_SPOOKY)


/datum/round_event/ghost_role/sentience
Expand Down
3 changes: 0 additions & 3 deletions code/modules/events/ghost_role/sentient_disease.dm
Original file line number Diff line number Diff line change
Expand Up @@ -9,9 +9,6 @@
description = "Spawns a sentient disease, who wants to infect as many people as possible."
min_wizard_trigger_potency = 4
max_wizard_trigger_potency = 7
track = EVENT_TRACK_MAJOR
tags = list(TAG_COMBAT, TAG_DESTRUCTIVE)
checks_antag_cap = TRUE

/datum/round_event/ghost_role/sentient_disease
role_name = "sentient disease"
Expand Down
3 changes: 0 additions & 3 deletions code/modules/events/ghost_role/slaughter_event.dm
Original file line number Diff line number Diff line change
Expand Up @@ -10,9 +10,6 @@
description = "Spawns a slaughter demon, to hunt by travelling through pools of blood."
min_wizard_trigger_potency = 6
max_wizard_trigger_potency = 7
track = EVENT_TRACK_MAJOR
tags = list(TAG_COMBAT, TAG_SPOOKY)
checks_antag_cap = TRUE

/datum/round_event/ghost_role/slaughter
minimum_required = 1
Expand Down
3 changes: 0 additions & 3 deletions code/modules/events/ghost_role/space_dragon.dm
Original file line number Diff line number Diff line change
Expand Up @@ -10,9 +10,6 @@
description = "Spawns a space dragon, which will try to take over the station."
min_wizard_trigger_potency = 6
max_wizard_trigger_potency = 7
track = EVENT_TRACK_ROLESET
tags = list(TAG_COMBAT)
checks_antag_cap = TRUE

/datum/round_event/ghost_role/space_dragon
minimum_required = 1
Expand Down
3 changes: 0 additions & 3 deletions code/modules/events/ghost_role/space_ninja.dm
Original file line number Diff line number Diff line change
Expand Up @@ -8,9 +8,6 @@
dynamic_should_hijack = TRUE
category = EVENT_CATEGORY_INVASION
description = "A space ninja infiltrates the station."
track = EVENT_TRACK_ROLESET
tags = list(TAG_COMBAT)
checks_antag_cap = TRUE

/datum/round_event/ghost_role/space_ninja
minimum_required = 1
Expand Down
4 changes: 1 addition & 3 deletions code/modules/events/gravity_generator_blackout.dm
Original file line number Diff line number Diff line change
Expand Up @@ -6,10 +6,8 @@
description = "Turns off the gravity generator."
min_wizard_trigger_potency = 0
max_wizard_trigger_potency = 4
track = EVENT_TRACK_MODERATE
tags = list(TAG_COMMUNAL, TAG_SPACE)

/datum/round_event_control/gravity_generator_blackout/can_spawn_event(players_amt, allow_magic = FALSE, fake_check = FALSE)
/datum/round_event_control/gravity_generator_blackout/can_spawn_event(players_amt, allow_magic = FALSE, fake_check = FALSE) //MONKESTATION ADDITION: fake_check = FALSE
. = ..()
if(!.)
return .
Expand Down
Loading

0 comments on commit 553078e

Please sign in to comment.