Files
Bubberstation/code/modules/research/techweb/nodes/service_nodes.dm
Ghom 6b543476da Aquarium kits can now be printed + other tweaks. (#88068)
## About The Pull Request
Aquarium kits can now be printed from service, cargo, science
protolathes and the autolathe too, from half a sheet of metal. You still
need the other materials to set it up but it should be fairy simple if
you can access a proto/autolathe.

The 'Growth/Reproduction' setting for aquariums has been renamed to
"Safe Mode", which, on top of disabling features such as growth,
reproduction, evolution, power generation etc etc, will also disable the
water, temperature and food requirements for keeping the fish alive.
Useful if you want a purely ornamental aquarium or you have to skidaddle
somewhere else for a while.
The lawyer, as well as prefilled aquariums start with 'Safe Mode'
enabled.

The 'Aggressive' fish trait has been replaced with 'Territorial', which
is exactly the same but the fish won't lash out unless the aquarium is
populated by five fishes or more. No more angelfish viciously attacking
the guppy and goldfish in prefilled aquariums.

Tweaked a couple values around hunger and fish health loss when starving
or in a bad environment to cause slightly less damage.

Lastly, added screentips to the aquarium component, which is something
I've forgot to do in the PR that brought it.

## Why It's Good For The Game
Aquariums may be a complex feature, but as far as I can tell, I had been
neglecting the possibility of aquariums as simple room decoration for a
while (outside of the beauty-related mechanics), and the constant
maintenance (and perhaps a bit of knowhow) they require makes them awful
at that. Also, the "growth/reproduction" setting really didn't have a
reason to be before, since it didn't offer any tangible benifit to turn
it off, so I had to revamped it.
Also it's been proven by now that keeping aquariums as cargo-orderable
stuff is just bad.

As for the fish trait change, it just sucks to see the angelfish shank
the goldfish with no way to solve it other than removing the
hyper-aggressive killer fish from san diego fella.

## Changelog

🆑
balance: Aquarium kits can now be printed from cargo, service, science
protolathes as well as the autolathe. They no longer have to be ordered
from cargo.
balance: Revamped the "Growth/Reproduction" setting for aquarium to
"Safe Mode", which also disables the food, temperature and water
requiremenets of aquariums, making it useful for purely decorative
aquariums.
balance: Replaced the "Aggressive" fish trait with "Territorial". No
more angelfish shanking the goldfish and guppy in prefilled aquariums
with less than 5 fishes.
qol: Added screentips to aquariums.
/🆑
2024-11-29 18:11:59 +01:00

194 lines
5.3 KiB
Plaintext

/datum/techweb_node/office_equip
id = TECHWEB_NODE_OFFICE_EQUIP
starting_node = TRUE
display_name = "Office Equipment"
description = "Nanotrasen's finest in ergonomic office tech, ensuring station admin stays productive and compliant with corporate policies — because even in space, paperwork never stops."
design_ids = list(
"fax",
"sec_pen",
"handlabel",
"roll",
"universal_scanner",
"desttagger",
"packagewrap",
"sticky_tape",
"toner_large",
"toner",
"boxcutter",
"bounced_radio",
"radio_headset",
"earmuffs",
"recorder",
"tape",
"toy_balloon",
"pet_carrier",
"chisel",
"spraycan",
"camera_film",
"camera",
"razor",
"bucket",
"mop",
"pushbroom",
"normtrash",
"wirebrush",
"flashlight",
)
/datum/techweb_node/sanitation
id = TECHWEB_NODE_SANITATION
display_name = "Advanced Sanitation Technology"
description = "Nanotrasen's latest in janitorial tech, making sure the station stays spotless and bear-free."
prereq_ids = list(TECHWEB_NODE_OFFICE_EQUIP)
design_ids = list(
"advmop",
"light_replacer",
"spraybottle",
"paint_remover",
"beartrap",
"buffer",
"vacuum",
)
research_costs = list(TECHWEB_POINT_TYPE_GENERIC = TECHWEB_TIER_2_POINTS)
discount_experiments = list(/datum/experiment/scanning/random/janitor_trash = TECHWEB_TIER_2_POINTS)
announce_channels = list(RADIO_CHANNEL_SERVICE)
/datum/techweb_node/consoles
id = TECHWEB_NODE_CONSOLES
display_name = "Civilian Consoles"
description = "User-friendly consoles for non-technical crew members, enhancing communication and access to essential station information."
prereq_ids = list(TECHWEB_NODE_OFFICE_EQUIP)
design_ids = list(
"comconsole",
"automated_announcement",
"cargo",
"cargorequest",
"med_data",
"crewconsole",
"bankmachine",
"account_console",
"idcard",
"c-reader",
"libraryconsole",
"libraryscanner",
"bookbinder",
"barcode_scanner",
"vendor",
"custom_vendor_refill",
"bounty_pad_control",
"bounty_pad",
)
research_costs = list(TECHWEB_POINT_TYPE_GENERIC = TECHWEB_TIER_1_POINTS)
announce_channels = list(RADIO_CHANNEL_SERVICE)
/datum/techweb_node/gaming
id = TECHWEB_NODE_GAMING
display_name = "Gaming"
description = "For the slackers on the station."
prereq_ids = list(TECHWEB_NODE_CONSOLES)
design_ids = list(
"arcade_battle",
"arcade_orion",
"slotmachine",
)
research_costs = list(TECHWEB_POINT_TYPE_GENERIC = TECHWEB_TIER_2_POINTS)
discount_experiments = list(/datum/experiment/physical/arcade_winner = TECHWEB_TIER_2_POINTS)
// Kitchen root node
/datum/techweb_node/cafeteria_equip
id = TECHWEB_NODE_CAFETERIA_EQUIP
starting_node = TRUE
display_name = "Cafeteria Equipment"
description = "When standard-issue tubed food no longer satisfies the station crew's appetite..."
design_ids = list(
"griddle",
"microwave",
"bowl",
"plate",
"oven_tray",
"servingtray",
"tongs",
"spoon",
"fork",
"kitchen_knife",
"plastic_spoon",
"plastic_fork",
"plastic_knife",
"shaker",
"drinking_glass",
"shot_glass",
"coffee_cartridge",
"coffeemaker",
"coffeepot",
"syrup_bottle",
)
/datum/techweb_node/food_proc
id = TECHWEB_NODE_FOOD_PROC
display_name = "Food Processing"
description = "Top-tier kitchen appliances from Nanotrasen, designed to keep the crew well-fed and happy."
prereq_ids = list(TECHWEB_NODE_CAFETERIA_EQUIP)
design_ids = list(
"deepfryer",
"oven",
"stove",
"range",
"souppot",
"processor",
"gibber",
"monkey_recycler",
"reagentgrinder",
"microwave_engineering",
"smartfridge",
"dehydrator",
"sheetifier",
"fat_sucker",
"dish_drive",
"roastingstick",
)
research_costs = list(TECHWEB_POINT_TYPE_GENERIC = TECHWEB_TIER_2_POINTS)
announce_channels = list(RADIO_CHANNEL_SERVICE)
// Fishing root node
/datum/techweb_node/fishing_equip
id = TECHWEB_NODE_FISHING_EQUIP
starting_node = TRUE
display_name = "Fishing Equipment"
description = "Basic fishing gear tailored for space station environments, perfect for extraterrestrial aquatic pursuits."
design_ids = list(
"fishing_portal_generator",
"fishing_rod",
"fish_case",
"aquarium_kit",
)
/datum/techweb_node/fishing_equip_adv
id = TECHWEB_NODE_FISHING_EQUIP_ADV
display_name = "Advanced Fishing Tools"
description = "Continuing advancements in fishing technology, incorporating cutting-edge features in space fishing operations. Just don't try this on space carps..."
prereq_ids = list(TECHWEB_NODE_FISHING_EQUIP)
design_ids = list(
"fishing_rod_tech",
"fishing_gloves",
"mod_fishing",
"stabilized_hook",
"auto_reel",
"fish_analyzer",
"bluespace_fish_case",
"bluespace_fish_tank_kit",
)
research_costs = list(TECHWEB_POINT_TYPE_GENERIC = TECHWEB_TIER_2_POINTS)
required_experiments = list(/datum/experiment/scanning/fish)
/datum/techweb_node/marine_util
id = TECHWEB_NODE_MARINE_UTIL
display_name = "Marine Utility"
description = "Fish are nice to look at and all, but they can be put to use."
prereq_ids = list(TECHWEB_NODE_FISHING_EQUIP_ADV)
design_ids = list(
"bioelec_gen",
)
research_costs = list(TECHWEB_POINT_TYPE_GENERIC = TECHWEB_TIER_3_POINTS)
// only available if you've done the first fishing experiment (thus unlocking fishing tech), but not a strict requirement to get the tech
discount_experiments = list(/datum/experiment/scanning/fish/second = TECHWEB_TIER_3_POINTS)