mirror of
https://github.com/Aurorastation/Aurora.3.git
synced 2026-08-21 20:11:04 +01:00
Horizon maint access rights and contents variety (#22262)
Two major changes to Horizon maints: 1. Updated maint door access to actually be consistent across the ship. That is to say, you should have access to the maints behind your own department, you should be able to make meaningful use out of them (no random useless dead ends), but you shouldn't automatically get free access to the entirety of the ship maints due to lack of hatch access control. This was a non-issue until the Horizon expansion that greatly increased maint interconnectivity. Now, everyone has consistent maint access, and free access remains for Code Blue (or manually Command disabling access controls). 2. Maint loot should be more interesting. Static contraband spawns were reduced but a large number of new spawners were added that should make loot, contraband, tools, trash, etc., spawn in more varied places. This should make maint travel involve more Happy Surprises rather than strictly being a rote process of 'lets see what spawned in XYZ room this time). Miscellaneous other bugfixes and spawn tweaks based on my observation; on repeatedly re-loading the Horizon, the numbers chosen seemed to repeatedly give me the most satisfying results. See file changes.
This commit is contained in:
@@ -52,15 +52,21 @@
|
||||
|
||||
/obj/item/reagent_containers/glass/beaker/vial/random/toxin
|
||||
random_reagent_list = list(
|
||||
list(/singleton/reagent/drugs/mindbreaker = 10, /singleton/reagent/drugs/mms = 20) = 3,
|
||||
list(/singleton/reagent/mercury = 15) = 3,
|
||||
list(/singleton/reagent/toxin/carpotoxin = 15) = 2,
|
||||
list(/singleton/reagent/drugs/impedrezene = 15) = 2,
|
||||
list(/singleton/reagent/toxin/dextrotoxin = 10) = 1,
|
||||
list(/singleton/reagent/toxin/spectrocybin = 15) = 1,
|
||||
list(/singleton/reagent/drugs/joy = 10, /singleton/reagent/water = 20) = 1,
|
||||
list(/singleton/reagent/toxin/berserk = 10) = 1,
|
||||
list(/singleton/reagent/ammonia = 15) = 3)
|
||||
list(
|
||||
/singleton/reagent/drugs/mindbreaker = 10,
|
||||
/singleton/reagent/drugs/mms = 20
|
||||
) = 3,
|
||||
list(/singleton/reagent/mercury = 15) = 3,
|
||||
list(/singleton/reagent/toxin/carpotoxin = 15) = 2,
|
||||
list(/singleton/reagent/drugs/impedrezene = 15) = 2,
|
||||
list(/singleton/reagent/toxin/dextrotoxin = 10) = 1,
|
||||
list(/singleton/reagent/toxin/spectrocybin = 15) = 1,
|
||||
list(
|
||||
/singleton/reagent/drugs/joy = 10,
|
||||
/singleton/reagent/water = 20
|
||||
) = 1,
|
||||
list(/singleton/reagent/toxin/berserk = 10) = 1,
|
||||
list(/singleton/reagent/ammonia = 15) = 3)
|
||||
|
||||
/obj/item/reagent_containers/glass/beaker/vial/random/Initialize()
|
||||
. = ..()
|
||||
|
||||
@@ -647,7 +647,14 @@
|
||||
desc = "It has a large ketchup smear on it."
|
||||
color = COLOR_YELLOW_GRAY
|
||||
illustration = "condiment"
|
||||
starts_with = list(/obj/item/reagent_containers/food/condiment = 6)
|
||||
starts_with = list(
|
||||
/obj/item/reagent_containers/food/condiment/ketchup = 1,
|
||||
/obj/item/reagent_containers/food/condiment/barbecue = 1,
|
||||
/obj/item/reagent_containers/food/condiment/soysauce = 1,
|
||||
/obj/item/reagent_containers/food/condiment/mayonnaise = 1,
|
||||
/obj/item/reagent_containers/food/condiment/hot_sauce = 1,
|
||||
/obj/item/reagent_containers/food/condiment/ntella = 1
|
||||
)
|
||||
|
||||
/obj/item/storage/box/cups
|
||||
name = "box of paper cups"
|
||||
|
||||
@@ -336,34 +336,34 @@
|
||||
/obj/item/reagent_containers/hypospray/autoinjector/krokjuice = 2,
|
||||
/obj/item/reagent_containers/hypospray/autoinjector/impedrezene = 0.4,
|
||||
/obj/item/reagent_containers/hypospray/autoinjector/night_juice = 1,
|
||||
/obj/item/reagent_containers/hypospray/autoinjector/snowflake = 1,
|
||||
/obj/item/reagent_containers/hypospray/autoinjector/snowflake = 2,
|
||||
/obj/item/storage/box/syndie_kit/syringe_gun = 0.5,
|
||||
/obj/item/reagent_containers/syringe/drugs = 1,
|
||||
/obj/item/reagent_containers/syringe/raskara_dust = 1,
|
||||
/obj/item/reagent_containers/syringe/raskara_dust = 0.5,
|
||||
/obj/item/reagent_containers/syringe/heroin = 1,
|
||||
/obj/item/reagent_containers/inhaler/raskara_dust = 2,
|
||||
/obj/item/reagent_containers/inhaler/raskara_dust = 1,
|
||||
/obj/item/reagent_containers/inhaler/space_drugs = 2,
|
||||
/obj/item/storage/box/tactical/smokes = 0.7,
|
||||
/obj/item/grenade/napalm = 0.4,
|
||||
/obj/item/storage/box/tactical/flashbangs = 0.05,
|
||||
/obj/random/grenade = 0.4,
|
||||
/obj/item/reagent_containers/glass/beaker/vial/random/toxin = 1,
|
||||
/obj/item/material/knife/butterfly = 2,
|
||||
/obj/item/material/butterflyblade = 3,
|
||||
/obj/item/material/butterflyhandle = 3,
|
||||
/obj/item/material/wirerod = 3,
|
||||
/obj/item/material/wirerod = 2,
|
||||
/obj/item/melee/baton/cattleprod = 1,
|
||||
/obj/item/melee/baton/stunrod = 0.05,
|
||||
/obj/item/material/knife/tacknife = 1,
|
||||
/obj/item/material/knife/bayonet = 2,
|
||||
/obj/item/material/kitchen/utensil/knife/boot = 2,
|
||||
/obj/item/storage/secure/briefcase/money = 1,
|
||||
/obj/item/gun/projectile/pistol = 0.2,
|
||||
/obj/item/gun/projectile/revolver/derringer = 0.4,
|
||||
/obj/item/gun/projectile/shotgun/improvised/sawn = 0.3,
|
||||
/obj/random/contraband/pillbottle = 1,
|
||||
/obj/item/material/knife/butterfly/switchblade = 1,
|
||||
/obj/item/clothing/mask/gas/voice = 1,
|
||||
/obj/item/clothing/gloves/brassknuckles = 2,
|
||||
/obj/item/reagent_containers/inhaler/xuxigas = 1,
|
||||
/obj/item/toy/balloon/syndicate = 4
|
||||
/obj/item/toy/balloon/syndicate = 3
|
||||
)
|
||||
|
||||
/obj/random/contraband/pill
|
||||
@@ -651,3 +651,14 @@
|
||||
/obj/item/stack/barricade/wood/random = 0.5,
|
||||
/obj/item/stack/barricade/plasteel/random = 0.25
|
||||
)
|
||||
|
||||
/obj/random/grenade
|
||||
name = "random grenade"
|
||||
desc = "This is a random grenade."
|
||||
icon_state = "syrup"
|
||||
problist = list(
|
||||
/obj/item/grenade/frag = 5,
|
||||
/obj/item/grenade/stinger = 4,
|
||||
/obj/item/grenade/napalm = 2,
|
||||
/obj/item/grenade/empgrenade = 2
|
||||
)
|
||||
|
||||
@@ -566,20 +566,22 @@
|
||||
name = "random maintenance junk or loot"
|
||||
desc = "Spawns any of: junk, loot, trash, trash pile, locker with junk or loot, (or other things)."
|
||||
icon_state = "maint_junk_loot"
|
||||
spawn_nothing_percentage = 25
|
||||
spawn_nothing_percentage = 45
|
||||
has_postspawn = TRUE
|
||||
problist = list(
|
||||
// spawn just one thing:
|
||||
/obj/random/junk = 3,
|
||||
/obj/random/junk = 2,
|
||||
/obj/random/dirt_75 = 1,
|
||||
/obj/random/loot = 1,
|
||||
/obj/structure/trash_pile = 1,
|
||||
/obj/random/tool = 0.2,
|
||||
/obj/random/tech_supply = 0.1,
|
||||
/obj/structure/girder = 0.1,
|
||||
/obj/random/canister/empty = 0.1,
|
||||
/obj/random/canister/filled = 0.05,
|
||||
/obj/structure/closet/crate/loot = 0.01,
|
||||
/obj/random/loot = 1.2,
|
||||
/obj/structure/trash_pile = 1.1,
|
||||
/obj/random/tool = 0.5,
|
||||
/obj/random/tech_supply = 0.2,
|
||||
/obj/structure/girder = 0.2,
|
||||
/obj/random/canister/empty = 0.2,
|
||||
/obj/structure/reagent_dispensers/fueltank = 0.1,
|
||||
/obj/random/canister/filled/restricted = 0.1,
|
||||
/obj/structure/closet/crate/loot = 0.05,
|
||||
/obj/random/contraband = 0.2,
|
||||
|
||||
// spawn a container and maybe fill it with more junk:
|
||||
/obj/structure/table/rack = 1,
|
||||
@@ -590,10 +592,11 @@
|
||||
)
|
||||
|
||||
var/list/more_junk_problist = list(
|
||||
/obj/random/junk = 2,
|
||||
/obj/random/loot = 1,
|
||||
/obj/random/junk = 1,
|
||||
/obj/random/loot = 1.2,
|
||||
/obj/random/tech_supply = 0.2,
|
||||
/obj/random/tool = 0.2,
|
||||
/obj/random/contraband = 0.2,
|
||||
)
|
||||
|
||||
/obj/random/maintenance_junk_or_loot/post_spawn(var/obj/spawned)
|
||||
@@ -607,6 +610,11 @@
|
||||
for(var/i in 1 to i_max)
|
||||
var/obj/more_junk = pickweight(more_junk_problist)
|
||||
new more_junk(spawned.loc)
|
||||
else if(prob(10) && !spawned.density)
|
||||
var/i_max = rand(1, 2)
|
||||
for(var/i in 1 to i_max)
|
||||
var/obj/more_junk = pickweight(more_junk_problist)
|
||||
new more_junk(spawned.loc)
|
||||
|
||||
/obj/random/yarn
|
||||
name = "random yarn"
|
||||
|
||||
@@ -266,47 +266,70 @@
|
||||
/obj/random/canister/filled = 0.4,
|
||||
)
|
||||
|
||||
/// Used on the Horizon, or anywhere else you don't want people to find extremely rare/valuable gases like Phoron or Helium-3.
|
||||
/obj/random/canister/restricted
|
||||
name = "random canister (restricted)"
|
||||
icon_state = "canister"
|
||||
spawn_nothing_percentage = 20
|
||||
problist = list(
|
||||
/obj/random/canister/empty = 0.6,
|
||||
/obj/random/canister/filled/restricted = 0.4,
|
||||
)
|
||||
|
||||
/obj/random/canister/empty
|
||||
name = "random empty canister"
|
||||
// In descending order of probability
|
||||
problist = list(
|
||||
// common:
|
||||
/obj/machinery/portable_atmospherics/canister/empty/air = 2,
|
||||
/obj/machinery/portable_atmospherics/canister/empty/carbon_dioxide = 2,
|
||||
/obj/machinery/portable_atmospherics/canister/empty/oxygen = 2,
|
||||
/obj/machinery/portable_atmospherics/canister/empty = 1,
|
||||
/obj/machinery/portable_atmospherics/canister/empty/air = 1,
|
||||
/obj/machinery/portable_atmospherics/canister/empty/air = 1,
|
||||
/obj/machinery/portable_atmospherics/canister/empty/carbon_dioxide = 1,
|
||||
/obj/machinery/portable_atmospherics/canister/empty/carbon_dioxide = 1,
|
||||
/obj/machinery/portable_atmospherics/canister/empty/hydrogen = 1,
|
||||
/obj/machinery/portable_atmospherics/canister/empty/nitrogen = 1,
|
||||
/obj/machinery/portable_atmospherics/canister/empty/oxygen = 1,
|
||||
/obj/machinery/portable_atmospherics/canister/empty/oxygen = 1,
|
||||
/obj/machinery/portable_atmospherics/canister/empty/nitrogen = 1.5,
|
||||
/obj/machinery/portable_atmospherics/canister/empty/hydrogen = 1.25,
|
||||
/obj/machinery/portable_atmospherics/canister/empty/sleeping_agent = 1,
|
||||
// rare:
|
||||
/obj/machinery/portable_atmospherics/canister/empty/heliumfuel = 0.1,
|
||||
/obj/machinery/portable_atmospherics/canister/empty/helium = 0.5,
|
||||
/obj/machinery/portable_atmospherics/canister/empty/chlorine = 0.1,
|
||||
/obj/machinery/portable_atmospherics/canister/empty/helium = 0.1,
|
||||
/obj/machinery/portable_atmospherics/canister/empty/nitrogen_dioxide = 0.1,
|
||||
/obj/machinery/portable_atmospherics/canister/empty/heliumfuel = 0.05,
|
||||
/obj/machinery/portable_atmospherics/canister/empty/phoron = 0.1,
|
||||
)
|
||||
|
||||
/obj/random/canister/filled
|
||||
name = "random filled canister"
|
||||
// In descending order of probability
|
||||
problist = list(
|
||||
// common:
|
||||
/obj/machinery/portable_atmospherics/canister/air = 1,
|
||||
/obj/machinery/portable_atmospherics/canister/air = 1,
|
||||
/obj/machinery/portable_atmospherics/canister/carbon_dioxide = 1,
|
||||
/obj/machinery/portable_atmospherics/canister/carbon_dioxide = 1,
|
||||
/obj/machinery/portable_atmospherics/canister/hydrogen = 1,
|
||||
/obj/machinery/portable_atmospherics/canister/nitrogen = 1,
|
||||
/obj/machinery/portable_atmospherics/canister/oxygen = 1,
|
||||
/obj/machinery/portable_atmospherics/canister/oxygen = 1,
|
||||
/obj/machinery/portable_atmospherics/canister/air = 2,
|
||||
/obj/machinery/portable_atmospherics/canister/carbon_dioxide = 2,
|
||||
/obj/machinery/portable_atmospherics/canister/oxygen = 2,
|
||||
/obj/machinery/portable_atmospherics/canister/nitrogen = 1.5,
|
||||
/obj/machinery/portable_atmospherics/canister/hydrogen = 1.25,
|
||||
/obj/machinery/portable_atmospherics/canister/sleeping_agent = 1,
|
||||
// rare:
|
||||
/obj/machinery/portable_atmospherics/canister/heliumfuel = 0.1,
|
||||
/obj/machinery/portable_atmospherics/canister/nitrogen/prechilled = 0.75,
|
||||
/obj/machinery/portable_atmospherics/canister/helium = 0.5,
|
||||
/obj/machinery/portable_atmospherics/canister/chlorine = 0.1,
|
||||
/obj/machinery/portable_atmospherics/canister/helium = 0.1,
|
||||
/obj/machinery/portable_atmospherics/canister/nitrogen_dioxide = 0.1,
|
||||
/obj/machinery/portable_atmospherics/canister/heliumfuel = 0.05,
|
||||
/obj/machinery/portable_atmospherics/canister/phoron_scarce = 0.1,
|
||||
/obj/machinery/portable_atmospherics/canister/phoron = 0.01,
|
||||
)
|
||||
|
||||
/// Used on the Horizon, or anywhere else you don't want people to find extremely rare/valuable gases like Phoron or Helium-3.
|
||||
/obj/random/canister/filled/restricted
|
||||
name = "random filled canister (restricted)"
|
||||
// In descending order of probability
|
||||
problist = list(
|
||||
/obj/machinery/portable_atmospherics/canister/air = 2,
|
||||
/obj/machinery/portable_atmospherics/canister/carbon_dioxide = 2,
|
||||
/obj/machinery/portable_atmospherics/canister/oxygen = 2,
|
||||
/obj/machinery/portable_atmospherics/canister/nitrogen = 1.5,
|
||||
/obj/machinery/portable_atmospherics/canister/hydrogen = 1.25,
|
||||
/obj/machinery/portable_atmospherics/canister/sleeping_agent = 1,
|
||||
/obj/machinery/portable_atmospherics/canister/nitrogen/prechilled = 0.75,
|
||||
/obj/machinery/portable_atmospherics/canister/helium = 0.5,
|
||||
/obj/machinery/portable_atmospherics/canister/chlorine = 0.1,
|
||||
/obj/machinery/portable_atmospherics/canister/nitrogen_dioxide = 0.1,
|
||||
/obj/machinery/portable_atmospherics/canister/heliumfuel = 0.05,
|
||||
/obj/machinery/portable_atmospherics/canister/phoron_scarce = 0.1,
|
||||
// extra rare:
|
||||
/obj/machinery/portable_atmospherics/canister/phoron = 0.01,
|
||||
)
|
||||
|
||||
Reference in New Issue
Block a user