From 9ffeab1d7e2dd469965c08263c5bbb391c756ddf Mon Sep 17 00:00:00 2001 From: KittyNoodle Date: Mon, 13 Nov 2023 15:49:19 -0600 Subject: [PATCH] re-tagging and new storytellers --- code/__DEFINES/~monkestation/storytellers.dm | 2 + .../events/meteors/meteor_wave_events.dm | 2 - .../events/meteors/stray_meteor_event.dm | 2 - .../converted_events/event_overrides.dm | 58 +++++++++++-------- .../converted_events/solo/clockwork_cult.dm | 2 +- .../converted_events/solo/clown_operative.dm | 2 +- .../solo/ghosts/nuclear_operative_ghost.dm | 2 +- .../converted_events/solo/ghosts/wizard.dm | 2 +- .../solo/nuclear_operative.dm | 2 +- .../converted_events/solo/wizard.dm | 2 +- .../storytellers/storytellers/hermit.dm | 12 ++++ .../storytellers/storytellers/nobleman.dm | 11 ++++ .../storytellers/storytellers/sleeper.dm | 1 - tgstation.dme | 2 + 14 files changed, 66 insertions(+), 36 deletions(-) create mode 100644 monkestation/code/modules/storytellers/storytellers/hermit.dm create mode 100644 monkestation/code/modules/storytellers/storytellers/nobleman.dm diff --git a/code/__DEFINES/~monkestation/storytellers.dm b/code/__DEFINES/~monkestation/storytellers.dm index a706f3804d87..ce06c4ed58db 100644 --- a/code/__DEFINES/~monkestation/storytellers.dm +++ b/code/__DEFINES/~monkestation/storytellers.dm @@ -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" diff --git a/code/modules/events/meteors/meteor_wave_events.dm b/code/modules/events/meteors/meteor_wave_events.dm index 475e3265b8c8..e45c2b3fda97 100644 --- a/code/modules/events/meteors/meteor_wave_events.dm +++ b/code/modules/events/meteors/meteor_wave_events.dm @@ -10,8 +10,6 @@ category = EVENT_CATEGORY_SPACE description = "A regular meteor wave." map_flags = EVENT_SPACE_ONLY - track = EVENT_TRACK_MAJOR - tags = list(TAG_COMMUNAL, TAG_SPACE, TAG_DESTRUCTIVE) /datum/round_event/meteor_wave start_when = 6 diff --git a/code/modules/events/meteors/stray_meteor_event.dm b/code/modules/events/meteors/stray_meteor_event.dm index 849be38b6a09..53daff1ac8a1 100644 --- a/code/modules/events/meteors/stray_meteor_event.dm +++ b/code/modules/events/meteors/stray_meteor_event.dm @@ -11,8 +11,6 @@ max_wizard_trigger_potency = 7 admin_setup = list(/datum/event_admin_setup/listed_options/stray_meteor) map_flags = EVENT_SPACE_ONLY - track = EVENT_TRACK_MODERATE - tags = list(TAG_DESTRUCTIVE, TAG_SPACE) /datum/round_event/stray_meteor announce_when = 1 diff --git a/monkestation/code/modules/storytellers/converted_events/event_overrides.dm b/monkestation/code/modules/storytellers/converted_events/event_overrides.dm index 3ee5745d3e7d..d3121c1116ff 100644 --- a/monkestation/code/modules/storytellers/converted_events/event_overrides.dm +++ b/monkestation/code/modules/storytellers/converted_events/event_overrides.dm @@ -1,11 +1,11 @@ /datum/round_event_control/abductor track = EVENT_TRACK_MAJOR - tags = list(TAG_TARGETED, TAG_SPOOKY) + tags = list(TAG_TARGETED, TAG_SPOOKY, TAG_EXTERNAL) checks_antag_cap = TRUE /datum/round_event_control/alien_infestation track = EVENT_TRACK_MAJOR - tags = list(TAG_COMBAT) + tags = list(TAG_COMBAT, TAG_DESTRUCTIVE, TAG_EXTERNAL) checks_antag_cap = TRUE /datum/round_event_control/aurora_caelus @@ -14,7 +14,7 @@ /datum/round_event_control/blob track = EVENT_TRACK_MAJOR - tags = list(TAG_DESTRUCTIVE, TAG_COMBAT) + tags = list(TAG_DESTRUCTIVE, TAG_COMBAT, TAG_EXTERNAL) checks_antag_cap = TRUE /datum/round_event_control/brain_trauma @@ -35,11 +35,11 @@ /datum/round_event_control/carp_migration track = EVENT_TRACK_MODERATE - tags = list(TAG_COMMUNAL) + tags = list(TAG_DESTRUCTIVE, TAG_COMBAT, TAG_SPACE, TAG_EXTERNAL) -/datum/round_event_control/changeling +/datum/round_event_control/changeling //THIS IS THE METEOR EVENT, IT NEEDS TO BE A METEOR, DO NOT SPAWN THIS ON PLANETARY MAPS track = EVENT_TRACK_MAJOR - tags = list(TAG_COMBAT) + tags = list(TAG_COMBAT, TAG_SPACE, TAG_EXTERNAL) checks_antag_cap = TRUE /datum/round_event_control/communications_blackout @@ -47,8 +47,8 @@ tags = list(TAG_COMMUNAL, TAG_SPOOKY) /datum/round_event_control/disease_outbreak - track = EVENT_TRACK_MUNDANE - tags = list(TAG_TARGETED) + track = EVENT_TRACK_MODERATE + tags = list(TAG_TARGETED, TAG_EXTERNAL) /datum/round_event_control/electrical_storm track = EVENT_TRACK_MUNDANE @@ -64,7 +64,7 @@ /datum/round_event_control/fugitives track = EVENT_TRACK_MAJOR - tags = list(TAG_COMBAT) + tags = list(TAG_COMBAT, TAG_EXTERNAL) checks_antag_cap = TRUE /datum/round_event_control/gravity_generator_blackout @@ -85,7 +85,7 @@ /datum/round_event_control/immovable_rod track = EVENT_TRACK_MODERATE - tags = list(TAG_DESTRUCTIVE) + tags = list(TAG_DESTRUCTIVE, TAG_EXTERNAL) /datum/round_event_control/ion_storm track = EVENT_TRACK_MODERATE @@ -95,18 +95,22 @@ track = EVENT_TRACK_MODERATE tags = list(TAG_COMMUNAL) +/datum/round_event_control/meteor_wave + track = EVENT_TRACK_MAJOR + tags = list(TAG_COMMUNAL, TAG_SPACE, TAG_DESTRUCTIVE, TAG_EXTERNAL) + /datum/round_event_control/mice_migration track = EVENT_TRACK_MUNDANE tags = list(TAG_DESTRUCTIVE) /datum/round_event_control/morph track = EVENT_TRACK_ROLESET - tags = list(TAG_COMBAT, TAG_SPOOKY) + tags = list(TAG_COMBAT, TAG_SPOOKY, TAG_EXTERNAL) checks_antag_cap = TRUE /datum/round_event_control/nightmare track = EVENT_TRACK_ROLESET - tags = list(TAG_COMBAT, TAG_SPOOKY) + tags = list(TAG_COMBAT, TAG_SPOOKY, TAG_EXTERNAL) checks_antag_cap = TRUE /datum/round_event_control/obsessed @@ -115,12 +119,12 @@ /datum/round_event_control/operative track = EVENT_TRACK_MAJOR - tags = list(TAG_DESTRUCTIVE, TAG_COMBAT) + tags = list(TAG_DESTRUCTIVE, TAG_COMBAT, TAG_EXTERNAL) checks_antag_cap = TRUE /datum/round_event_control/portal_storm_syndicate track = EVENT_TRACK_MAJOR - tags = list(TAG_COMBAT) + tags = list(TAG_COMBAT, TAG_EXTERNAL) /datum/round_event_control/processor_overload track = EVENT_TRACK_MODERATE @@ -136,12 +140,12 @@ /datum/round_event_control/revenant track = EVENT_TRACK_ROLESET - tags = list(TAG_DESTRUCTIVE, TAG_SPOOKY) + tags = list(TAG_DESTRUCTIVE, TAG_SPOOKY, TAG_EXTERNAL) checks_antag_cap = TRUE /datum/round_event_control/sandstorm track = EVENT_TRACK_MODERATE - tags = list(TAG_DESTRUCTIVE) + tags = list(TAG_DESTRUCTIVE, TAG_EXTERNAL) /datum/round_event_control/scrubber_clog track = EVENT_TRACK_MUNDANE @@ -157,7 +161,7 @@ /datum/round_event_control/sentient_disease track = EVENT_TRACK_MAJOR - tags = list(TAG_COMBAT, TAG_DESTRUCTIVE) + tags = list(TAG_COMBAT, TAG_DESTRUCTIVE, TAG_EXTERNAL) checks_antag_cap = TRUE /datum/round_event_control/shuttle_catastrophe @@ -170,39 +174,43 @@ /datum/round_event_control/slaughter track = EVENT_TRACK_MAJOR - tags = list(TAG_COMBAT, TAG_SPOOKY) + tags = list(TAG_COMBAT, TAG_SPOOKY, TAG_EXTERNAL) checks_antag_cap = TRUE /datum/round_event_control/space_dust track = EVENT_TRACK_MUNDANE - tags = list(TAG_DESTRUCTIVE, TAG_SPACE) + tags = list(TAG_DESTRUCTIVE, TAG_SPACE, TAG_EXTERNAL) /datum/round_event_control/space_dragon track = EVENT_TRACK_ROLESET - tags = list(TAG_COMBAT) + tags = list(TAG_COMBAT, TAG_SPACE, TAG_EXTERNAL) checks_antag_cap = TRUE /datum/round_event_control/space_ninja track = EVENT_TRACK_ROLESET - tags = list(TAG_COMBAT) + tags = list(TAG_COMBAT, TAG_DESTRUCTIVE, TAG_EXTERNAL) checks_antag_cap = TRUE /datum/round_event_control/spacevine track = EVENT_TRACK_MAJOR - tags = list(TAG_COMMUNAL, TAG_COMBAT) + tags = list(TAG_COMBAT, TAG_DESTRUCTIVE) checks_antag_cap = TRUE /datum/round_event_control/spider_infestation track = EVENT_TRACK_ROLESET - tags = list(TAG_COMBAT) + tags = list(TAG_COMBAT, TAG_DESTRUCTIVE, TAG_EXTERNAL) /datum/round_event_control/stray_cargo track = EVENT_TRACK_MUNDANE tags = list(TAG_COMMUNAL) -/datum/round_event_control/tram_malfunction +/datum/round_event_control/stray_meteor track = EVENT_TRACK_MODERATE - tags = list(TAG_DESTRUCTIVE) + tags = list(TAG_DESTRUCTIVE, TAG_SPACE, TAG_EXTERNAL) + +/datum/round_event_control/tram_malfunction + track = EVENT_TRACK_MUNDANE + tags = list(TAG_COMMUNAL) /datum/round_event_control/wisdomcow track = EVENT_TRACK_MUNDANE diff --git a/monkestation/code/modules/storytellers/converted_events/solo/clockwork_cult.dm b/monkestation/code/modules/storytellers/converted_events/solo/clockwork_cult.dm index e19bd8f800f3..d981c6eab709 100644 --- a/monkestation/code/modules/storytellers/converted_events/solo/clockwork_cult.dm +++ b/monkestation/code/modules/storytellers/converted_events/solo/clockwork_cult.dm @@ -1,6 +1,6 @@ /datum/round_event_control/antagonist/solo/clockcult name = "Clock Cult" - tags = list(TAG_SPOOKY, TAG_DESTRUCTIVE, TAG_COMBAT, TAG_TEAM_ANTAG) + tags = list(TAG_SPOOKY, TAG_DESTRUCTIVE, TAG_COMBAT, TAG_TEAM_ANTAG, TAG_EXTERNAL) antag_flag = ROLE_CLOCK_CULTIST antag_datum = /datum/antagonist/clock_cultist typepath = /datum/round_event/antagonist/solo/clockcult diff --git a/monkestation/code/modules/storytellers/converted_events/solo/clown_operative.dm b/monkestation/code/modules/storytellers/converted_events/solo/clown_operative.dm index 8a2272bdf791..4800a6e28998 100644 --- a/monkestation/code/modules/storytellers/converted_events/solo/clown_operative.dm +++ b/monkestation/code/modules/storytellers/converted_events/solo/clown_operative.dm @@ -1,6 +1,6 @@ /datum/round_event_control/antagonist/solo/clown_operative name = "Roundstart Clown Operative" - tags = list(TAG_DESTRUCTIVE, TAG_COMBAT, TAG_TEAM_ANTAG) + tags = list(TAG_DESTRUCTIVE, TAG_COMBAT, TAG_TEAM_ANTAG, TAG_EXTERNAL) antag_flag = ROLE_CLOWN_OPERATIVE antag_datum = /datum/antagonist/nukeop/clownop typepath = /datum/round_event/antagonist/solo/clown_operative diff --git a/monkestation/code/modules/storytellers/converted_events/solo/ghosts/nuclear_operative_ghost.dm b/monkestation/code/modules/storytellers/converted_events/solo/ghosts/nuclear_operative_ghost.dm index 4043e891dec0..797166c51d42 100644 --- a/monkestation/code/modules/storytellers/converted_events/solo/ghosts/nuclear_operative_ghost.dm +++ b/monkestation/code/modules/storytellers/converted_events/solo/ghosts/nuclear_operative_ghost.dm @@ -1,6 +1,6 @@ /datum/round_event_control/antagonist/solo/from_ghosts/nuclear_operative name = "Nuclear Assault" - tags = list(TAG_DESTRUCTIVE, TAG_COMBAT, TAG_TEAM_ANTAG) + tags = list(TAG_DESTRUCTIVE, TAG_COMBAT, TAG_TEAM_ANTAG, TAG_EXTERNAL) antag_flag = ROLE_OPERATIVE_MIDROUND antag_datum = /datum/antagonist/nukeop typepath = /datum/round_event/antagonist/solo/ghost/nuclear_operative diff --git a/monkestation/code/modules/storytellers/converted_events/solo/ghosts/wizard.dm b/monkestation/code/modules/storytellers/converted_events/solo/ghosts/wizard.dm index a8720fcf90fa..ca8147459457 100644 --- a/monkestation/code/modules/storytellers/converted_events/solo/ghosts/wizard.dm +++ b/monkestation/code/modules/storytellers/converted_events/solo/ghosts/wizard.dm @@ -1,6 +1,6 @@ /datum/round_event_control/antagonist/solo/from_ghosts/wizard name = "Ghost Wizard" - tags = list(TAG_COMBAT, TAG_DESTRUCTIVE) + tags = list(TAG_COMBAT, TAG_DESTRUCTIVE, TAG_EXTERNAL) typepath = /datum/round_event/antagonist/solo/ghost/wizard antag_flag = ROLE_WIZARD antag_datum = /datum/antagonist/wizard diff --git a/monkestation/code/modules/storytellers/converted_events/solo/nuclear_operative.dm b/monkestation/code/modules/storytellers/converted_events/solo/nuclear_operative.dm index 240c97793364..ded0a0442aa0 100644 --- a/monkestation/code/modules/storytellers/converted_events/solo/nuclear_operative.dm +++ b/monkestation/code/modules/storytellers/converted_events/solo/nuclear_operative.dm @@ -1,6 +1,6 @@ /datum/round_event_control/antagonist/solo/nuclear_operative name = "Roundstart Nuclear Operative" - tags = list(TAG_DESTRUCTIVE, TAG_COMBAT, TAG_TEAM_ANTAG) + tags = list(TAG_DESTRUCTIVE, TAG_COMBAT, TAG_TEAM_ANTAG, TAG_EXTERNAL) antag_flag = ROLE_OPERATIVE antag_datum = /datum/antagonist/nukeop typepath = /datum/round_event/antagonist/solo/nuclear_operative diff --git a/monkestation/code/modules/storytellers/converted_events/solo/wizard.dm b/monkestation/code/modules/storytellers/converted_events/solo/wizard.dm index a0069ece6634..717ac57e73e1 100644 --- a/monkestation/code/modules/storytellers/converted_events/solo/wizard.dm +++ b/monkestation/code/modules/storytellers/converted_events/solo/wizard.dm @@ -1,6 +1,6 @@ /datum/round_event_control/antagonist/solo/wizard name = "Wizard" - tags = list(TAG_COMBAT, TAG_DESTRUCTIVE) + tags = list(TAG_COMBAT, TAG_DESTRUCTIVE, TAG_EXTERNAL) typepath = /datum/round_event/antagonist/solo/wizard antag_flag = ROLE_WIZARD antag_datum = /datum/antagonist/wizard diff --git a/monkestation/code/modules/storytellers/storytellers/hermit.dm b/monkestation/code/modules/storytellers/storytellers/hermit.dm new file mode 100644 index 000000000000..229726b51f2d --- /dev/null +++ b/monkestation/code/modules/storytellers/storytellers/hermit.dm @@ -0,0 +1,12 @@ +/datum/storyteller/hermit + name = "The Hermit" + desc = "The Hermit will create mostly internal conflict around the station, and rarely any external threats." + event_repetition_multiplier = 0.7 //Hermit has a smaller event pool, let it repeat a bit more + point_gains_multipliers = list( + EVENT_TRACK_MUNDANE = 1.2, + EVENT_TRACK_MODERATE = 1.1, + EVENT_TRACK_MAJOR = 0.9, + EVENT_TRACK_ROLESET = 0.9, + EVENT_TRACK_OBJECTIVES = 1 + ) + tag_multipliers = list(TAG_EXTERNAL = 0.3) diff --git a/monkestation/code/modules/storytellers/storytellers/nobleman.dm b/monkestation/code/modules/storytellers/storytellers/nobleman.dm new file mode 100644 index 000000000000..7948d886c4db --- /dev/null +++ b/monkestation/code/modules/storytellers/storytellers/nobleman.dm @@ -0,0 +1,11 @@ +/datum/storyteller/nobleman + name = "The Nobleman" + desc = "The Nobleman enjoys a good fight but abhors senseless destruction. Prefers heavy hits on single targets." + point_gains_multipliers = list( + EVENT_TRACK_MUNDANE = 1, + EVENT_TRACK_MODERATE = 1.2, + EVENT_TRACK_MAJOR = 1.15, + EVENT_TRACK_ROLESET = 1, + EVENT_TRACK_OBJECTIVES = 1 + ) + tag_multipliers = list(TAG_COMBAT = 1.4, TAG_DESTRUCTIVE = 0.4) diff --git a/monkestation/code/modules/storytellers/storytellers/sleeper.dm b/monkestation/code/modules/storytellers/storytellers/sleeper.dm index f21c55cdfd73..d2de014f453d 100644 --- a/monkestation/code/modules/storytellers/storytellers/sleeper.dm +++ b/monkestation/code/modules/storytellers/storytellers/sleeper.dm @@ -1,4 +1,3 @@ - /datum/storyteller/sleeper name = "The Sleeper" desc = "The Sleeper will create less impactful events, especially ones involving combat or destruction. The chill experience." diff --git a/tgstation.dme b/tgstation.dme index f2fa194ff681..d0adbad65964 100644 --- a/tgstation.dme +++ b/tgstation.dme @@ -6318,7 +6318,9 @@ #include "monkestation\code\modules\storytellers\converted_events\solo\ghosts\wizard.dm" #include "monkestation\code\modules\storytellers\storytellers\_storyteller.dm" #include "monkestation\code\modules\storytellers\storytellers\ghost.dm" +#include "monkestation\code\modules\storytellers\storytellers\hermit.dm" #include "monkestation\code\modules\storytellers\storytellers\jester.dm" +#include "monkestation\code\modules\storytellers\storytellers\nobleman.dm" #include "monkestation\code\modules\storytellers\storytellers\sleeper.dm" #include "monkestation\code\modules\storytellers\storytellers\vote.dm" #include "monkestation\code\modules\storytellers\storytellers\warrior.dm"