mirror of
https://github.com/Bubberstation/Bubberstation.git
synced 2026-07-20 12:35:33 +01:00
Merge branch 'master' of https://github.com/tgstation/tgstation into upstream-23-10-2025
This commit is contained in:
@@ -43,6 +43,9 @@
|
||||
/// Ruleset can be configured by admins (implements /proc/configure_ruleset)
|
||||
/// Only implemented for midrounds currently
|
||||
#define RULESET_ADMIN_CONFIGURABLE (1<<2)
|
||||
/// Applied to rulesets which intentionally share a pref_flag with another rulesets
|
||||
/// Denotes multiple rulesets which abide by the same preference, but are each a variation of some base ruleset
|
||||
#define RULESET_VARIATION (1<<3)
|
||||
|
||||
/// Href for cancelling midround rulesets before execution
|
||||
#define MIDROUND_CANCEL_HREF(...) "(<a href='byond://?src=[REF(src)];admin_cancel_midround=[REF(picked_ruleset)]'>CANCEL</a>)"
|
||||
|
||||
@@ -10,9 +10,12 @@
|
||||
/// Don't change this unless you know what you're doing.
|
||||
var/config_tag
|
||||
|
||||
/// What flag to check for jobbans? Optional, if unset, uses pref_flag
|
||||
/// What flag to check for jobbans?
|
||||
/// Optional, if unset, uses pref_flag for jobbans instead
|
||||
var/jobban_flag
|
||||
/// What flag to check for prefs? Required if the antag has an associated preference
|
||||
/// What flag to check for prefs?
|
||||
/// Required if the antag has an associated preference, and must be unique
|
||||
/// (unless RULESET_VARIATION is set in ruleset_flags)
|
||||
var/pref_flag
|
||||
/// Flags for this ruleset
|
||||
var/ruleset_flags = NONE
|
||||
|
||||
@@ -658,7 +658,7 @@
|
||||
candidate_role = "Changeling"
|
||||
pref_flag = ROLE_CHANGELING_MIDROUND
|
||||
jobban_flag = ROLE_CHANGELING
|
||||
ruleset_flags = RULESET_INVADER
|
||||
ruleset_flags = RULESET_INVADER|RULESET_VARIATION
|
||||
weight = 5
|
||||
min_pop = 15
|
||||
max_antag_cap = 1
|
||||
@@ -670,6 +670,21 @@
|
||||
/datum/dynamic_ruleset/midround/from_ghosts/space_changeling/assign_role(datum/mind/candidate)
|
||||
generate_changeling_meteor(candidate)
|
||||
|
||||
/datum/dynamic_ruleset/midround/from_ghosts/space_changeling/mass
|
||||
name = "Mass Space Changelings"
|
||||
config_tag = "Mass Changelings"
|
||||
midround_type = HEAVY_MIDROUND
|
||||
min_pop = 25
|
||||
min_antag_cap = 2
|
||||
max_antag_cap = 3
|
||||
repeatable_weight_decrease = 4
|
||||
weight = list(
|
||||
DYNAMIC_TIER_LOW = 0,
|
||||
DYNAMIC_TIER_LOWMEDIUM = 3,
|
||||
DYNAMIC_TIER_MEDIUMHIGH = 4,
|
||||
DYNAMIC_TIER_HIGH = 5,
|
||||
)
|
||||
|
||||
/datum/dynamic_ruleset/midround/from_ghosts/paradox_clone
|
||||
name = "Paradox Clone"
|
||||
config_tag = "Paradox Clone"
|
||||
@@ -1064,6 +1079,7 @@
|
||||
false_alarm_able = TRUE
|
||||
pref_flag = ROLE_SLEEPER_AGENT
|
||||
jobban_flag = ROLE_TRAITOR
|
||||
ruleset_flags = RULESET_VARIATION
|
||||
weight = 10
|
||||
min_pop = 3
|
||||
blacklisted_roles = list(
|
||||
@@ -1079,6 +1095,22 @@
|
||||
"[command_name()] High-Priority Update",
|
||||
)
|
||||
|
||||
/datum/dynamic_ruleset/midround/from_living/traitor/mass
|
||||
name = "Mass Traitors"
|
||||
config_tag = "Mass Traitors"
|
||||
midround_type = HEAVY_MIDROUND
|
||||
min_pop = 15
|
||||
min_antag_cap = 2
|
||||
max_antag_cap = 4
|
||||
repeatable_weight_decrease = 8
|
||||
blacklisted_roles = list()
|
||||
weight = list(
|
||||
DYNAMIC_TIER_LOW = 0,
|
||||
DYNAMIC_TIER_LOWMEDIUM = 3,
|
||||
DYNAMIC_TIER_MEDIUMHIGH = 8,
|
||||
DYNAMIC_TIER_HIGH = 10,
|
||||
)
|
||||
|
||||
/datum/dynamic_ruleset/midround/from_living/malf_ai
|
||||
name = "Malfunctioning AI"
|
||||
config_tag = "Midround Malfunctioning AI"
|
||||
|
||||
@@ -290,6 +290,7 @@ SUBSYSTEM_DEF(id_access)
|
||||
desc_by_access["[ACCESS_VIROLOGY]"] = "Virology"
|
||||
desc_by_access["[ACCESS_PSYCHOLOGY]"] = "Psychology"
|
||||
desc_by_access["[ACCESS_CMO]"] = "CMO Office"
|
||||
desc_by_access["[ACCESS_PARAMEDIC]"] = "Paramedic Office"
|
||||
desc_by_access["[ACCESS_QM]"] = "QM Office"
|
||||
desc_by_access["[ACCESS_SURGERY]"] = "Surgery"
|
||||
desc_by_access["[ACCESS_THEATRE]"] = "Theatre"
|
||||
|
||||
@@ -20,16 +20,9 @@ SUBSYSTEM_DEF(stock_market)
|
||||
/datum/controller/subsystem/stock_market/Initialize()
|
||||
for(var/datum/material/possible_market as anything in subtypesof(/datum/material)) // I need to make this work like this, but lets hardcode it for now
|
||||
if(possible_market.tradable)
|
||||
materials_prices += possible_market
|
||||
materials_prices[possible_market] = possible_market.value_per_unit * SHEET_MATERIAL_AMOUNT
|
||||
|
||||
materials_trends += possible_market
|
||||
materials_trends[possible_market] = rand(MARKET_TREND_DOWNWARD,MARKET_TREND_UPWARD) //aka -1 to 1
|
||||
|
||||
materials_trend_life += possible_market
|
||||
materials_trend_life[possible_market] = rand(1,3)
|
||||
|
||||
materials_quantity += possible_market
|
||||
materials_quantity[possible_market] = possible_market.tradable_base_quantity + (rand(-(possible_market.tradable_base_quantity) * 0.5, possible_market.tradable_base_quantity * 0.5))
|
||||
return SS_INIT_SUCCESS
|
||||
|
||||
|
||||
Reference in New Issue
Block a user