Adds support for reagent/mental singletons to return different feedback
messages for different species.
Koko Reed Juice no longer delivers the 'high' feedback goodmessages to
non-Unathi.
---------
Signed-off-by: Batrachophreno <Batrochophreno@gmail.com>
### What does this achieve?
This overhauls hydroponics to integrate atmospherics mechanics more
heavily, with the hope of establishing the foundations of much more
significant mechanical depth to what has been a very shallow job for a
very long time.
Currently, this is limited to the preferences and tolerances system -
hydroponics is now comprised of five 'reservoirs' of segmented portions
of the pipe system connected to trays, with a gas heater and cooler to
change temperature across the entire system, and you can cut off each
reservoir with valves to separate it from the rest and maintain its
current temperature.
Five tiers, each with a trait, have been implemented for the different
heat ideals of different plants. Plants from Adhomai and Moghes are the
most environmentally extreme, and cannot be grown outside of drastically
low and high temperatures respectively, limiting them to hydroponics
proper, whereas colder and warmer terrestrial plants can be grown at
room temperature but will grow much slower than if they were within
their preferences. **This means there will be plants that outright
cannot be grown in the garden.**
With this, hydroponics becomes an atmos puzzle. If you need to grow
nothing but mushrooms you'll probably send every tray cold, but if you
need a diversity of different temperature ranges you'll have to
fine-tune your setup and routine to have everything within their
preferences. Once you're done growing mushrooms off one reservoir, you
may turn the heat in it up so you can grow citrus, etc etc.
This also solves several bugs and makes a lot of QoL changes, the full
changelog will list everything.
<img width="608" height="320" alt="image"
src="https://github.com/user-attachments/assets/12e53224-d9be-4e69-9c48-6185d3303a14"
/>
<img width="384" height="608" alt="image"
src="https://github.com/user-attachments/assets/1a0c2b0c-8ad6-4f5c-b992-2e78035ab52d"
/>
<img width="640" height="512" alt="image"
src="https://github.com/user-attachments/assets/1cf837d1-3db5-440a-a465-071841febaea"
/>
### What about the mapping?
Atmos has been integrated into every hydroponics tray in the mapping
changes, rather than only on D1 like at present, to support the new
mechanics. I've moved as much stuff up to D2 as I could fit, in the
interest of getting players to the more visible and socially viable spot
rather than hiding in their basement. D1 is now exclusively intended as
a storage area, laboratory, and now has an expanded Hazardous Specimens
unit.
### To-do before review
- [x] Ensure that chefs can still do alien-specific menus without a
hydroponicist, now that they can't necessarily grow their stuff in the
garden - loadout produce box, maybe?
- [x] Remap xenobotany
- [x] Review whether every alien crop can still grow on its respective
in-game exoplanet - Adhomai might be okay? (Adhomai is essentially fine,
Moghes will need work before we go back into the sector)
- [x] Make sure the yield_mod interactions aren't explosive.
### Known issues
1. Yes, the examine on hydroponics trays is huge. In the long-term, IMO
this should probably be a TGUI.
2. The TGUI on seed storage units is clunky, this is also on the to-do
list for the future.
3. The logic for calculating growth is bad, it's very RNG-skewed.
Another thing for later.
4. Atmos mechanics like these can be pretty opaque to players, so this
will certainly require a wiki update shortly after merge describing
exactly what steps you should take to operate the new atmos equipment.
Scope creeped PR. Fixes a breaking bug in the Atmos Alarm Control
application introduced after areas-cleanup PR, but also refactors it
into a grid-based interface that actually allows you to reliably search
alarms by name, department, and deck # (possible now with all the area
metadata we have to play with).
Also does behind-the-scenes cleanup of alarm panel code in general, a
few area def problems, and some manually defined air alarm names on the
map.
---------
Signed-off-by: Batrachophreno <Batrochophreno@gmail.com>
Adds a colourable exoskeleton offworlders can choose instead of the
current one. It does the exact same things as the standard exoskeleton,
the only difference is that you can change how it looks.
<img width="766" height="576" alt="image"
src="https://github.com/user-attachments/assets/5ee0af71-042c-4249-bd4c-8005cf1cb406"
/>
As the title says. The PR was done on the request of VeteranGary with
sprites provided by Noble Row.
The reasoning for it is to give some more visual variety, by allowing it
to appear over the standard security armor plate. It has been added as a
belt for that purpose, with the reasoning that there is the explorer's
belt that similarly is a chestrig.
### Asset Licenses
The following assets that **have not** been created by myself are
included in this PR:
| Path | Original Author | License |
| --- | --- | --- |
| icons/mob/belt.dmi | Noble Row (Aurora Station) | CC0 |
| icons/obj/clothing/belts.dmi | Noble Row (Aurora Station) | CC0 |
Adds S'rendmarr and Ma'ta'ke versebooks to the game. Thanks to Tajara
Lore (especially @WilliamMurdoch) for the lore bits
Versebooks were added to loadout and now replaces the previous bible for
Tajaran priests.
In the future it might be best to merge the capabilities of bible with
versebooks (so religious versebooks can make holy water)
### Example Verses
S'rendmarr: _There is always hope beneath the light of the suns. Do not
fret at the horrors of this world, o child! Your guardians watch from
above._
Ma'ta'ke: _At that moment the king boasted of his victory and Mata’ke
quickly drew his sword, stabbing the king in his black heart who fell to
the floor. “One’s temper dictates the battle,” said Mata’ke as he wept
for his fallen battle-brother._
<img width="338" height="269" alt="image"
src="https://github.com/user-attachments/assets/da5311b6-e69a-4201-b268-099384f20f59"
/>
---------
Co-authored-by: Ben10083 <Ben10083@users.noreply.github.com>
Little more tuneup of area metadata, and also replaces area.name in
several locations with dynamic area display names (for example:
announcement that something was beamed aboard a thruster will once more
indicate whether it was the port or starboard thruster).
Observed in the jockey round earlier (cAO-dL7N) that a phazonned mech
was trampling and destroying itself.
I couldn't reproduce on the dev map with a modified
`/mob/living/heavy_vehicle/premade/random`, but could in the jockey
antag area with daemon mech parts. In game they were still trampling
themselves once out of phazon mode, but I was unable to replicate that.
This fix should handle that case, still.
Also observed the phazonned mech being attackable, though I'm not sure
that's strictly a bug so I'm leaving it alone in favor of fixing the
biggest issue at the moment.
Weird ephemeral behavior. Previous debugging of this never got anywhere
because for some reason, the gravgen var/list localareas would not
populate. Changing method suddenly made zero-g work perfectly: momentum
is back, throwing objects to move in the opposite direction works, etc.
Definitely one for test merge since I'm not sure WHY its working
perfectly again in local tests with this change.
- Reworked prices, wages and balances of (almost) everything ingame.
- Added coinage and decimal support to cash, ruthlessly sanitized to
avoid floating-point errors. Reflected in cash-related things like ATMs.
- Tweaked how cash bundles are made and distributed to support
decimalization.
- Adjusted the starting money individuals and departments receive in
their accounts.
- Adjusted the funding Tajara, Unathi, Diona, Vaurca, and IPCs receive
in their accounts. Should earn more on average than they used to.
Credit values are now roughly 1/10th what they were before, across the
board.
Coins were added too! These have names:
- Unie: 0.01 credits
- Quin: 0.05 credits
- Dece: 0.10 credits
- Quarter: 0.25 credits
These can be seen cameo'd in the screenshots below.
Values, wages, etc, are based on the wiki page
https://wiki.aurorastation.org/index.php?title=Guide_to_Wages_and_Pay .
Values are not anchored to any singular real-world currency.
Example price differences:
| Example Item | Old Price | New Price |
| --- | --- | --- |
| Comet Cola | 15.00 | 1.50 |
| Cup Ramen | 20.00 | 2.00 |
| Jyalara | 38.00 | 3.00 |
| Trans-Stellar Cigarettes | 76.00 | 9.00 |
| Zo'ra Soda | 29.00 | 2.50 |
| Gumball | 5.00 | 0.25 |
| 50x plasteel sheets | 700.00 | 120.00 |
| 5x meat (cargo) | 160.00 | 55.00 |
| 50x phoron crystals (cargo) | 2200.00 | 400.00 |
Wages and account balances have also been tweaked:
| Type | Old Amount | New Amount |
| --- | --- | --- |
| Ship Account | 75,000.00 | 35,000.00 |
| Departmental Accounts | 10,000.00 | 15,000.00 |
| Personal Account (avg) | 200.00 - 20,000.00 | 20.00 - 2,000.00 |
Might break the economy; prices will likely need some adjusting
depending on gameplay constraints. Can be adjusted in TMs.
A little testing never hurt anyone.


---------
Signed-off-by: naut <55491249+nauticall@users.noreply.github.com>
Co-authored-by: SleepyGemmy <99297919+SleepyGemmy@users.noreply.github.com>
This PR fixes an issue where characters were experiencing brain damage
at rates that were sometimes inconsistent depending on player population
and server performance. To accomplish this, it makes it so that brain
damage taken is no longer a random amount per second that fluctuates
based on server performance, and is instead an amount of damage per
second that scales with the previous conditions, but is "tick
invariant", meaning it no longer changes if for instance you have 75
players online causing server lag.
The benefit of this is particularly noticeable in the extreme ends of
lowpop as well as high pop. It'll no longer cause brain-damage at
hyperspeed if theres' only 10 people online.
Stops the lowering animation from triggering if the mob is buckled to a
roller bed while grabbed, screenshot shows live functionality with the
bed extended but the patient laying over the legs of the bed.
<img width="119" height="118" alt="image"
src="https://github.com/user-attachments/assets/b34fe654-9692-4771-bcca-6633068a9d8b"
/>
Because I'm not game to try to rewrite the entire system, this PR
changes the Communications Blackout event to, instead of hitting every
tcomms box with EMP effects, toggle a flag on the Processor units to
scramble all comms. The effect will be that instead of not transmitting
at all, radio communications will just come through as pure static
gibberish. Once the event is over, it will toggle the flag off. In the
event of the telecomms boxes still failing to come back, anyone with the
vv permission can easily restore the processors by editing the
"ion_storm" variable from true to false.
Few misc other fixes, see changelogs
**Goals:**
1. Delete area definitions no longer used in any map or file.
2. Update area definitions such that everything used in mapping the
Horizon exists in 'maps\sccv_horizon\areas' with the parent
'area\horizon\'.
3. Reorganize/rename/restructure those Horizon area definitions to make
future mapping easier and code that hooks into area properties easier.
4. Present area names and blurbs in the status panel.
This PR only handles Horizon and Runtime areas, for digestibility/ease
of reviewing. Offsite areas for another PR.
Naming convention reference:
The /area/ 'name' variable no longer contains either 'Horizon' or the
Deck# of the area or its approx location on the ship. All Horizon areas
now have several new variables as metadata-- area names now need only be
strictly descriptive, and the appropriate constants used in the area
definition, and a new function generates the display name with
consistent formatting for us.
Detailed documentation to follow after any adjustments are made to
mappers' preferences.
This also adds area blurbs to most areas- if not bespoke, then general
department-wide blurbs to parents. I know feature creep always sucks,
but while some areas having pre-existing blurbs, the overwhelming
majority of areas don't, and while testing it was very distracting to
see them randomly appearing and disappearing. Most blurbs are pretty
basic but I feel are entirely presentable- more clever individual ones
can follow in a separate PR.
See changelog for the full list, several little QoL things coming off
https://github.com/Aurorastation/Aurora.3/pull/20890.
The most notable mechanical change is that, if outside of their light of
heat tolerances (or otherwise afoul whatsoever of the handle_environment
proc), plants will stop growing. This is to avoid the awkward
interaction of a plant being grown at completely improper temperatures
or light levels still managing to mature before it dies.
Makes hydroponicists spawn with full belts at roundstart. Engineers do
and machinists do, it just cuts down on a little roundstart begrudgery.
Includes light and heat preferences on seed packets!
<img width="633" height="118" alt="image"
src="https://github.com/user-attachments/assets/4ac4b728-072a-4510-bb52-c9e5ed76c6a5"
/>
Coming up next will be extended descriptions explaining the mechanics
somewhere visible to players, once
https://github.com/Aurorastation/Aurora.3/pull/20923 is in.
Adds soundplayer functionality to earphones, headphones and earbuds.
They can now play music, loaded via music cartridges with preset
playlists.
Heavily based off CMSS13's Walkmans and our Audioconsoles.
Current Features:
- All earphones have a cartridge slot. Cartridges can be inserted by
clicking an earphone, and removed via an eject_music_cartridge() verb.
- Inserting a cartridge will load a playlist containing /datum/tracks,
where track names and sound files are loaded.
- Shift+Clicking or will Start/Stop a playlist, creating or deleting an
active sound_player token.
- Alt+Clicking with Pause/Unpause the current track, preserving an
active sound_player token.
- Attack_self will eject the music cartridge. Ejecting a music cartridge
also terminates the sound_player token.
- Volume controllable via verb.
Missing features i am too weak to figure out:
- There is no auto—next song, and a user must manually use next_song()
or previous_song() verbs to iterate through a playlist.
- Part and parcel with no auto-next: Tracks automatically loop due to
using the PlayLoopingSound() proc. Ideally, tracks should not loop.
- There is no accomodation for user-uploaded sound files.
- There are no UI implementations of earphone controls, which could be
more user friendly.
Music Cartridge CoderIcons:
<img width="430" height="106" alt="aaa"
src="https://github.com/user-attachments/assets/5c15d5f4-b2e1-4ece-8076-2e93a5853168"
/>
### Asset Licenses
The following assets that **have not** been created by myself are
included in this PR:
| Path | Original Author | License |
| --- | --- | --- |
| sound/music/regional/venus/all_night.ogg | Rollergirl
(https://rollergirl.bandcamp.com/album/rollergirl) | CC BY-NC-SA 3.0 |
| sound/music/regional/venus/billy_ocean.ogg | Rollergirl
(https://rollergirl.bandcamp.com/album/rollergirl) | CC BY-NC-SA 3.0 |
| sound/music/regional/venus/artificially_sweetened.ogg | Stevia Sphere
(https://steviasphere.bandcamp.com/album/artificially-sweetened-single)
| CC BY 3.0 |
|sound/music/regional/venus/real_love.ogg | Stevia Sphere
(https://steviasphere.bandcamp.com/album/artificially-sweetened-single)
| CC BY 3.0 |
| sound/music/regional/venus/dance.ogg | ウナチャンUNACHAN
(https://unachan.bandcamp.com/track/dance) | CC BY 3.0 |
| sound/music/regional/venus/love_sensation.ogg | ウナチャンUNACHAN and
bedroomtheft (https://unachan.bandcamp.com/track/love-sensation) | CC BY
3.0 |
| sound/music/regional/venus/funky_girl.ogg | B~mO9000
(https://bmo9000.bandcamp.com/album/v-i-n-t-a-g-e) | CC BY-NC-SA 3.0 |
| sound/music/regional/venus/break_the_system.ogg |
(https://bmo9000.bandcamp.com/album/wanted-in-80s [Download Only]) | CC
CC BY-SA 3.0 |
| sound/music/regional/xanu/xanu_rock_3.ogg | Swara Sutra
(https://swarasutra.bandcamp.com/album/indulgence) | CC BY-SA 3.0 |
All sound files compressed to 20K sample rate. No
transformations/remixing
This PR remaps the operations commissary, moving it across to the
service hallway where it can receive much more foot traffic than in its
original position. Reflecting its new spot in service, and considering
particularly how much a hydroponicist can contribute to the commissary,
both service and operations staff now have access to it - although I
personally anticipate this will remain primarily used by operations.
Adjacent vendors in the service hall have been moved into the commissary
to encourage interaction, and hopefully to capture a little of that
bodega feel - although I'm open for other ideas on how to capture the
right atmosphere.
Because of the location, the library has necessarily also been remapped.
It's now smaller, but my hope is that it uses the space it has more
effectively. The old location of the commissary is now generic
maintenance until someone finds a better use for it.
A few points:
- "Is this bad for librarians?" Hopefully not! It isn't a very popular
job right now, and I don't expect this PR to change that, but I've gone
into the remap with the intention of making the library a more appealing
place to be in than before. The old library has a lot of dead space,
particularly with its gigantic office, whereas this new design is
intended to be a little more compact. Now featuring tinted windows if
you want to get some mood lighting going on.
- "Why the move?" The current location of the commissary is within view
of virtually no foot traffic period - operations generally is an
extremely isolated department, and something like the commissary lives
and dies in the playerbase according to how visible it is.
Appropriately, this moves it to a more visible spot.
<img width="416" height="544" alt="image"
src="https://github.com/user-attachments/assets/c470abfa-a01c-467c-8fff-58a308b0531c"
/>
<img width="480" height="256" alt="image"
src="https://github.com/user-attachments/assets/aa32a756-2573-4746-bebf-9002e4f66cd9"
/>
Extends and reworks how various extended information text (desc_info,
desc_build, desc_upgrades) are handled to make object interactions and
mechanics A.) much more clearly documented in-game and B.) much easier
to support from the back-end.
Almost certainly a candidate for test merge.
Assembly/Disassembly instructions are noticeably sporadic, largely due
to our current lack of a unified framework. That's a future thing I'd
like to attack so that it can be handled programmatically, but for now I
only targeted the biggest culprits as I came across them.
---------
Signed-off-by: Batrachophreno <Batrochophreno@gmail.com>
This PR adds a pair of new "BioAugs" as loadout options for Galatean
characters, called Mind Blanker. They come in two variants, and both are
available exclusively to Galateans. The basic version of the mind
blanker makes its user immune to mind-affecting psionic powers.
The advanced version of it inflicts lethal biofeedback on any psychic
that attempts to enter the user's mind, while also providing the user
with the same protection as the basic version. The advanced version is
more expensive, and is exclusively available to Galatean Consulars.
This PR was requested by Human Lore for their "Galatean Bioaugments"
list.
<img width="739" height="334" alt="image"
src="https://github.com/user-attachments/assets/8dd0e65c-2834-4949-8a03-8966f22eeca4"
/>
---------
Signed-off-by: Matt Atlas <mattiathebest2000@hotmail.it>
Co-authored-by: Matt Atlas <mattiathebest2000@hotmail.it>
Adds five new songs for Aurora lobby music - no more baseline SS13
stuff!
Also backports the original Title3 for that OG SS13 goodness.
Taken mostly from CCMixter.
Information in licensing_information.txt.
Also, updates the lobby music toggle to be a volume input. Set to 0 to
mute.
---------
Signed-off-by: Wowzewow (Wezzy) <42310821+alsoandanswer@users.noreply.github.com>
In an effort to make the way our sprites are organized make a little bit
more sense, this takes ALL the sprites in `icons/clothing` and moves
them over `icons/obj/item/clothing` or another appropriate file in the
case of non-clothing items.
A lot of these files had to be split since they lumped everything into
the same dmi which had to be changed since people, reasonably, expect to
find a hat in the folder named `hat` and not in the one where we're
supposed to keep uniforms in.
A lot of smaller files were also merged into already existing dmis where
it made sense.
Lastly, all the colourable items kept in `icons/obj/item/clothing` were
updated to the new palette. Those items were:
**Backpacks:**
- GD Sacred Icon
**Belts:**
- Fannypack
**Gloves:**
- Gloves
- Single Glove
**Hats:**
- GD Cowl
- GD Cube Hood
- Furred Crown
- Surgeon Cap
- Kippah
- Plain Hood
**Shoes:**
- Konyanger Gomusin
**Coats:**
- GD Eccentric Coat
**Uniforms:**
- Colourable Dress
- Shortsleeve Dress
- Evening Gown
- Open Shoulder Dress
- Assymetric Dress
- Tea Dress
- Long Sleeve Dress
- Colourable Scrubs
- Colourable Jumpsuit
Makes the Solarian submachine gun have no extended description, rather
than inheriting the extended description of the submachine gun, which it
is a subtype of.
The extended description of the submachine gun is about the CA-25E, and
does not apply to the Solarian submachine gun, because it is not the
CA-25E.
---------
Signed-off-by: Tag103 <194812614+Tag103@users.noreply.github.com>
Changes the last part of the name used in the code for the solarian army
beret from "beret/sapk" to "beret/sol/army".
Most clothing objects associated with the Solarian military have "sol"
in their name somewhere and I think it would be good for this one to as
well so it shows up alongside all the other ones when you look up "sol"
in, for example, the item spawner.
---------
Signed-off-by: Tag103 <194812614+Tag103@users.noreply.github.com>
* Please describe the intent of your changes in a clear fashion.
* Please make sure that, in the case of mapping changes, you include
images of these changes in the PR's description.
* Please make sure to mark your PR as wip or review required by making a
comment with !wip or !review required
* If you include sprites/sounds/... (assets) that you have not created
yourself specify the license and original author below.
* Ensure that you also credit them in the appropriate location /
changelog as specified in the contributor guidelines
### Asset Licenses
The following assets that **have not** been created by myself are
included in this PR:
| Path | Original Author | License |
| --- | --- | --- |
| icons/example.dmi | ExamplePerson (Example Station) | CC0 |
**JUST BECAUSE IT SAYS "DELETED" IN ICONDIFFBOT DOESN'T MEAN IT'S BEEN
REMOVED. IT CAN BE RENAMED OR MOVED SOMEWHERE ELSE. PLEASE STOP
SPREADING MISINFORMATION THAT I'M DELETING EVERYTHING. JESUS CHRIST.**
- **The only hats removed are from budg's hat bloat (except the newsboy
hat, which has been touched up)**
- Human origin lore hats have been moved to Human - Xenowear. **NOT
REMOVED. MOVED.**
(It was kind of strange anyway they got special treatment. They aren't
restricted in any way, though, so essentially no difference.)
- Vysokan hats all rolled together into one selection.
- Beanies rolled into one selection.
- Miscellaneous, colorable hats rolled into one selection.
- Miscallaneous hats rolled into one selection.
- Dominian consular clothing items moved to be jobspawn items, like
every other consular. (Alt uniform outfits should be out from the
loadout anyway.)
- Pilotka caps, and whatever else they're called are all now named as
sidecaps.
- Renamed the Visegradi Nyakas to ear-flap cap. (I understand the
sentiment of blending lore into stuff, but putting it in the name isn't
helpful. I tried looking up Nyakas and all I'm getting is an obscure
brand of wine.) (Description unchanged.)
- Renamed padded cap to tanker cap.
- Bucket hats rolled together into one selection. (Removed pre-colored
boonies because it's just a clone of recolorabled ones.)
- And anything else I can't remember.
**Please don't spread misinformation after me and send the goon squad
after me.**
**Please just fucking message me and ask. Oh my god.**
---------
Signed-off-by: Wowzewow (Wezzy) <42310821+alsoandanswer@users.noreply.github.com>
This PR adds in the missing construction recipe for the pilot hardsuit
assembly, which wasn't present in the mechatronic fabricator.
There was already a recipe in the circuit imprinter for the pilot suit
central control board here:
<img width="491" height="267" alt="image"
src="https://github.com/user-attachments/assets/aaeed072-75e5-4c94-a98e-9e1839939e06"
/>
However, no such assembly existed in the exosuit fabricator:
<img width="508" height="329" alt="image"
src="https://github.com/user-attachments/assets/21eca010-8a09-4848-843f-e9b1aab0546e"
/>
And while the code implied it was possible to make a pilot suit by using
the pilot circuit board on an EVA suit assembly, it would instead make
an EVA suit.
<img width="315" height="183" alt="image"
src="https://github.com/user-attachments/assets/167889a4-f04a-4415-a3eb-77988f546649"
/>
So this PR adds the ability to make the pilot hardsuit assemblies
directly, allowing for the pilot suit to be made using the circuit board
that already existed as a roundstart hardsuit option.
Creates a new cyborg-specific wet floor sign, cloned from the
pre-existing one. This time, it's not an article of clothing.
Adds a Wet Floor Sign module to the Custodial module for cyborgs.
---------
Signed-off-by: ASmallCuteCat <neofelisnebulosa128@gmail.com>
Co-authored-by: SleepyGemmy <99297919+SleepyGemmy@users.noreply.github.com>
This is sorta bulky on the changes since it includes a lot of shuffled
documentation, so I'll try to thoroughly summarise here.
- Introduces 'preferential' temperature and light values to plants. This
means that, while a plant is _within_ 5K and 2 lumens of their ideal
heat and ideal light, they will grow faster than otherwise. In the
current implementation, the base growth is a 15% chance of age being
increased, plus another 15% if you're within preferential temps, and
another 5% if within preferential lumens for a maximum of 35%. This is
intended to incentivise engaging with temperature mechanics to grow
plants with unusual requirements.
- This is different to the existing tolerance values, which instead
check whether the plant is _outside_ of them - if they are, it damages
them. Tolerances cause the plant to die if they're too far from their
ideals, preferences cause the plant to grow faster if they're very close
to their ideals. The range of preferences should always be inside
tolerances.
- To work better with this, the ideals of a few kinds of plant have been
tweaked. Mushrooms, Adhomian plants, and molluscs will all **not** be in
their preferences at room temperature - they will need to be cooled,
which can currently be done in D1 hydroponics. A few warmer plants, such
as sugarcane, will need to be warmed up to reach their preferences.
- None of these will go outside of their tolerances at room temperature
- they won't die, they'll just grow slower.
- Most plants will be within all their preferences without any action by
the gardener.
There's also a few assorted QoL changes to hydrotrays, see the
changelog.
---------
Signed-off-by: hazelrat <83198434+hazelrat@users.noreply.github.com>
Co-authored-by: SleepyGemmy <99297919+SleepyGemmy@users.noreply.github.com>
Removes SSDocs as its unused
Also MD because we should discuss if that should be revived instead.
Co-authored-by: Werner <Arrow768@users.noreply.github.com>
This site is something of an experiment. It features a special mineral
deposit with lots of phoron. When the deposit is drilled, it'll activate
four mob spawners some distance away that'll send fauna towards it.
There can be a total of 20 active fauna on the map at once (5 per
spawner.) There's no limit on how many mobs can spawn in total (for
now.)
The idea is to make an away site with a clear goal and challenge, which
requires multiple people across different departments to accomplish
safely. Security to defend against the waves of fauna, engineering to
construct and maintain barricades/other defenses (very important),
mining to handle the drill, and of course medical in case something goes
wrong. You can't do it solo, trust me I've tried.
Once the deposit has been fully depleted, (takes about 15 minutes or so)
the team will have to sally out of their barricades and fight their way
back to their shuttle. Cause again, the mobs won't stop coming. I think
it's more interesting that way. But it ends with LOTS of fauna corpses,
of which the performance impact on a populated server might be too
severe to justify? I've no clue.
I also added some atmospheric sound and music which plays once the
deposit is drilled. Hopefully sets the tone without being too
overbearing.
This required a lot of code. I do not know how to code. I've tried to be
thorough, but may still want to review it under some extra scrutiny.
See the changelog for some other small tweaks.
### Asset Licenses
The following assets that **have not** been created by myself are
included in this PR:
| sound/music/phoron_deposit.ogg | Reitanna Seishin & Zander Noriega
|CC0 & CC-BY 3.0 | https://creativecommons.org/publicdomain/zero/1.0/https://creativecommons.org/licenses/by/3.0/
Adds 3 Crescent Expanse regions due to how large a region it is:
- Crescent Expanse (West): Nralakk and Solarian heavy region.
- Crescent Expanse (East): Coalition and Solarian heavy region.
- Crescent Expanse (Uncharted): Deep Crescent expanse, independents and
certain surveyors only.
Also adds a Lemurian Sea (Uncharted) sector if we ever go there.
Adds a `ccia_link` variable for sectors. Only usage is to block outbound
faxes to Central Command. For uncharted sectors. EBS remains an option
due to necessary CCIA functions (eg. scuttling), per Bear's wishes.
Adds `low_supply` variants of most vending machines and dispensers. For
later use, none mapped in.
Removes the `TEMPLATE_FLAG_SPAWN_GUARANTEED` flag from the sensors
array, because it meant it wasn't affected by `sectors_blacklist`. The
sensors array isn't so important it needs to be in every sector anyway.
Removes Burzsia from the `ALL_DANGEROUS_SECTORS` list, as the crisis has
passed and humanitarian relief efforts completed.
Adds the `ALL_EVENT_ONLY_SECTORS` for limited usage during event
arcs/similar where canon odysseys or certain thirdparties may infringe
upon an arc's narrative. Allows selective enabling/disabling of canon
odysseys or third parties for said arcs. Not intended for liberal
application.
### Asset Licenses
The following assets that **have not** been created by myself are
included in this PR:
| Path | Original Author | License |
| --- | --- | --- |
sound/music/lobby/crescent_expanse/crescent_expanse_1.ogg | "Lüüü -
Weedance" by Lüüü, Obtained from
https://myprivateunderground.bandcamp.com/track/lu-u-u-weedance | CC
BY-NC-SA 3.0.
sound/music/lobby/crescent_expanse/crescent_expanse_2.ogg | "Little
Bradley - Sunset Drive" by Little Bradley, Obtained from
https://myprivateunderground.bandcamp.com/track/little-bradley-sunset-drive
| CC BY-NC 3.0
sound/music/lobby/dangerous_space/dangerous_space_1.ogg | "You Can't
Kill The Boogeyman" by Karl Casey. Obtained from
https://karlcasey.bandcamp.com/track/you-can-t-kill-the-boogeyman | CC
BY 3.0
sound/music/lobby/dangerous_space_2.ogg | "Prison Planet" by Karl Casey,
Obtained from https://karlcasey.bandcamp.com/track/prison-planet | CC BY
3.0
sound/music/lobby/lights_edge/lights_edge_1.ogg | "Is Anyone Left?" by
Karl Casey. Obtained from
https://karlcasey.bandcamp.com/track/is-anyone-left | CC BY 3.0
sound/music/lobby/lights_edge/lights_edge_2.ogg | "Running From The
Wendigo" by Karl Casey. Obtained from
https://karlcasey.bandcamp.com/track/running-from-the-wendigo | CC BY
3.0
See title. Currently, we have this awkward hodgepodge in which every
non-baseline IPC can wear both the machine and human voidsuit suits, but
only baselines can wear the helmet, leading to perennial confusion from
IPC players.
This removes the ability of Bishops, Zeng-Hus, and industrials to wear
human-fitted voidsuits, and allows them to wear the machine refitted
helmet. If you're an IPC and you aren't a shell, you can consistently
expect to refit your voidsuit to the machine variant regardless of your
subspecies. Any voidsuit that has had this functionality removed should
still have an IPC refitting option.
Refitting code does slightly scare me, so the code here could use some
decently careful interrogation. In testing, everything seems to work
fine.
Greenlit by synthlore.