Odyssey Canonicity Coinflip (#20644)

Adds a `possible_scenario_types` list to Odyssey Scenarios containing
allowed canonicity types for a scenario.
`odyssey/proc/setup_scenario_variables()` now sets `scenario_type` by
picking from the `possible_scenario_types`.

By default or if the `possible_scenario_types` list is unset, a scenario
defaults to Non-Canon.

This allows a scenario to have both Canon and Non-Canon as an option.

Additionally, the Ruined Propellant Depot scenario has been given the
option of both Non-Canon and Canon to pick from.
Supercedes https://github.com/Aurorastation/Aurora.3/pull/20264.
This commit is contained in:
smellie
2025-03-27 11:21:03 +00:00
committed by GitHub
parent 43a02960ac
commit 3699c4f3e5
4 changed files with 21 additions and 2 deletions
+4 -2
View File
@@ -5,8 +5,10 @@
var/desc = "A generic scenario that should not be in the rotation."
/// What sectors this scenario can spawn in. An empty list is all sectors.
var/list/sector_whitelist = list()
/// The type of scenario this is. NOT a boolean or a bitfield.
var/scenario_type = SCENARIO_TYPE_NONCANON
/// The type of scenario this is. NOT a boolean or a bitfield. This is automatically set on /datum/controller/subsystem/odyssey/proc/setup_scenario_variables().
var/scenario_type
/// A list containing the options for type of scenario. An empty list will default to SCENARIO_TYPE_NONCANON.
var/list/possible_scenario_types = list()
/// Whether or not landing on the Odyssey away site is restricted by default. Has to be either unrestricted by Storytellers manually, or happens forcefully at 40 minutes in.
var/site_landing_restricted = TRUE