Removed special check for plants. Bees undo it all so it's not worth the trouble just yet.
Credit for Crazylemon for being best coder. He helped me find a lot of issues that I would have been too stupid to find myself. Runtimes are gone
Finally got the HUDs to work all thanks to Crazylemon. The only thing that doesn't work is the hudharvest2 is_type_in_list() check I made but I could get rid of it
Everything is done. Except it doesn't work. I must be missing something somewhere but otherwise I did everything that appeared needing to do. Based it off of mech diag HUD so that might be the issue.
Code as of now does not let you join the server. Need to revert bit by bit and find out what I did wrong
Mutated / Modified / Enhanced plants will no longer add new prefixes to
their names resulting in obscenely long names like "mutant mutant mutant
mutant mutant mutant enhanced mutant mutant modified wheat"
- Plants will now simply use a single "mutant", "modified", or
"enhanced" prefix to their name, determined by the last type of
modification used.
- This means you can mutate a modified plant and then pass it off as
merely "enhanced" if you do things in the right order
HAPPY SIDE EFFECT BONUS FUNTIME EXTRAVAGANZA!
- The chef's smartfridge will now compact ALL mutant, modified, or
enhanced versions of a given plant into a single listing.
- No longer will you have 50 listings of mutated wheat (with ever-longer
names) because the botanist decided to raise a couple bees.
Bees also now can not affect hydroponics trays that have their lids up.
- Raise your strange plants in peace, knowing the bees won't make them
stranger unless you want them to.
Premade beeboxes (and the random variant) now have the right kind of
worker bees, instead of the generic "bee" type.
- This was a mistake / oversight on my part from the bee refactor in the
Bee Briefcase PR.
- For reference, the premade (and random) beeboxes are admin spawn /
mapper only. That's why this never was noticed.
Currently, to_chat is literally just a proc that does user << message.
But it'll let us do output modification in the future, especially for
something like Goon's HTML chat.
Big thanks to PJB for his to_chat script, see
https://github.com/d3athrow/vgstation13/pull/6625 for more details.
Move the hydroponics reagent items (plant sprays, fertilizer bottles,
etc) into a new file: hydro_reagents.dm
- Re-used old file, see next line
Refactors the reagent handling of hydroponics trays
- Now located in tray_reagents.dm (formerly in tray.dm)
- No longer relies on global lists that weren't global and were on all
trays.
- Reagent effects are now grouped together rather than spread across
multiple lists of values with little to no meaning
- Far more readable if you are looking for everything a reagent does in
hydroponics trays
- Included an example entry for future coders who want to add new
reagent interactions to hydro trays
Fixes saltpetre affecting the entire seed datum when added to a single
tray
- Now diverges and makes a new line of "enhanced" products, which is
then modified
- More consistent with how mutagens handle affecting stats, but
"enhanced"
Moved the yield_mod capping to check_sanity_levels() instead of the
reagent interaction
- Cap unchanged, this just moves it to a more standard location in the
code
Small tweak to stat-affecting reagent interaction
- Now checks for a production value of over 2 before attempting to
adjust (previously looked for > 1)
- Couldn't be dropped below 2 anyways, so it was a waste of time to try
lowering it and then resetting it to 2 when it was there already
- Now caps the potency value between 0 and 100, as a negative potency
makes no sense.
- Currently no reagents lower potency, so this is more of a
future-proofing than a correction
Makes plants die when they get old again.
- Plants begin dying once they age past 5 times their TRAIT_MATURATION
value.
- This means a plant with TRAIT_MATURATION 5 will begin dying when it
reaches age 26 and higher
- Plant death will occur over time as it loses health each process.
- Can be slightly deferred with health restoring reagents, but is
unavoidable in the long run.
Weed growth in trays has been returned to pre-#980 chances.
- Chance for weedLevel to increase is 6% if no seed planted, 3%
otherwise
- With #980, this was unintentionally dropped to 5% / 1%
Pest growth in trays has received a buff
- Now a 5% chance per process to increase pestLevel by 0.5
- Previously was 3% chance to increase by 0.1
- Pre-#980, this was a 3% chance to increase by 1.0
Fixes#3062
Also adjusts how plants age (mature)
- Previously was RNG based.
- 30% chance per cycle to age up
- Now more consistent and predictable
- Every 3 cycles for the tray, the plant will age up.
- Average maturation time should be comparable, but will no longer
occasionally result in hyper-growth or snail-speed growth when RNG is
feeling fickle.
Removes a space
Revival and expansion of #1002 (thanks Iamgoofball!)
Creates a reagent blacklist for use with random chem stuff like pills!
- Currently blacklists admin-only, antag-only, and other bad-times chems
like mutationtoxin.
Creates a SECOND blacklist for further refinement, intended for use with
strange plants in botany.
- Currently just blocks alcohol / alcoholic bar drinks from the random
chems to avoid "watering down" the selections
Creates a new helper proc/get_random_chemical() to return a randomly
selected chemical/reagent that is not blacklisted.
- If passed with no arguments, will only look at the first blacklist.
- If passed with an argument, will also include the second "plant"
blacklist
- Will attempt to select a random chemical, then compare it to the
blacklisted chems to see if it is acceptable
- If the chem is on the blacklist, it will start over until it finds an
acceptable one
Rewrote the random chemical portion of Strange Plants to utilize the new
get_random_chemical proc rather than rely on a hardcoded "whitelist"
Updates Strange Plants to not only contain Nutriment
- They can now contain Nutriment, Plant-Matter, Protein... OR A COMBO OF
THEM!
Hydro trays and soil now recognize Nutriment, Plant-Matter, and Protein
as actual nutrients for plants, as well as (slightly) improving yield
modifiers.
Extension of #2596 (thanks Fox for the temp-fix)
Fixes#2416Fixes#2439 (again)
This commit overhauls the examine system to baystation's latest system,
including a more efficient verb approach, and a new status panel tab,
which shows more information for pre-defined objects.
This commit does the following:
- Ports progress bars from -tg- (tgstation/-tg-station#9921)
- Refactors wall attackby code to make it 100% less insane; Instead of
manually checking every little thing, it uses do_after,
consequentially, making the new progress bars affect dealing with walls
as well.
Wall code makes a tiger sad.
Fixes mutant plants not properly inheriting preset icons
Fixes preset icons incorrectly having a color overlay applied
- This was most noticeable on berries, as the color overlay would render
most of the icon black or red, instead of the intended multi-color icon
Returns emote capabilities to diona nymphs
- Accidentally removed by #1171
Returns Moonflowers, Novaflowers, Ghost Peppers, and Koi Beans
- Accidentally removed by #980
- Sunflowers can mutate into Moonflowers or Novaflowers
- Novaflowers contain pure welding fuel
- Moonflowers contain plantmatter and moonshine
- Chili peppers can mutate into Ghost Peppers or Ice Peppers
- Ghost Peppers contain plantmatter, capsaicin, and condensed capsaicin
- Soybeans can mutate into Koi Beans
- Koi Beans contain plantmatter and carpotoxin
Returns Hydroponics Harvests tracking for End-of-Round score
- Accidentally removed by #980
Updated the descriptions for plants to account for moonshine, welder
fuel, and carpotoxin
- This is to maintain consistency with other reagent-based descriptions
for the plants
Fixes the reagent grinder machines not properly grinding tomato into
ketchup and rice into rice
Updates botany code to use qdel over del to help alleviate potential lag
from del calls
Removes the PanDEMIC 2200 board from Tech Storage and the Circuit
Imprinter, as the computer it builds has been commented out for a long
time. Also deletes the commented out code (over 250 lines of commented
out code deleted)
Adds fishbowls, fish tanks, and wall aquariums.
- Buildable with glass
- Fish Tanks and Wall Aquariums also have built-in lights that can be
toggled
- Wall Aquariums block atmos just like a full window or wall.
Adds fish and fish/aquarium related items:
- Goldfish, Clownfish, Sharks, and Baby Space Carp
- Eggs can be obtained for each of these fish types and a dud egg type.
- Fish food, fish nets, egg scoops, tank brushes
- These are used to maintain your aquarium
Adds new vendor: CritterCare!
- Sells pet supplies and pet rocks!
- Moved pet collars from the clothing machine into the CritterCare
Adds new room/area: Pet Store!
- Located between the Port Emergency Storage and Auxilary Tool Storage
(across from the Vault)
- Contains a CritterCare machine, 2 fishbowls, a bucket, and a sink
Adjusts some Cargo order options!
- New category: Vending
- Contains all the vending machine refill crates
- Renamed the Bartending Supply Crate to Bar Supply Crate to avoid
confusion
- Removes the coffee refill canisters from the Bar Supply Crate, placed
them into the new Coffee Supply Crate
- Adds new Clothing Supply Crate, contains refill canisters for the
Hatlord 9000, Suitlord 9000, Shoelord 9000, and ClothesMate vendors
- Adds new Pet Supply Crate, contains refill canisters for the new
CritterCare vendor
Makes the ClothesMate and CritterCare vendors constructable
- Using a screwdriver on a vendor circuitboard will now have a chance to
set it to the ClothesMate or CritterCare setting, in addition to the
previously possible settings like Booze-o-mat and Shoelord 9000.
New reagent: Fishwater
- Obtained by using an empty reagent_container on any aquarium that has
some water in it.
- Ingesting fishwater has a 30% chance per cycle to make you vomit (what
did you expect from dirty water and fish poo?)
- Fishwater is good for botany, as it provides both water and nutrients
to hydro trays
ADDITIONAL FIXES!
- Fixes the abandoned bar's misaligned area (mostly a mapper thing, will
also ensure an APC in the area will properly power the entire area (and
not space)
- Fixes a couple instances of piping mistakes where there were manifolds
and straight pipes on the same tile, preventing vent-crawlers from being
able to navigate properly
- One was in security, another was the back room of hydroponics
- Fixed a missing pipe in the AI upload causing the vent to be
disconnected from the pipe network
Re-enables botany's interactions with atmospheric conditions and gases.
Seeds can now consume and exude gases as part of their growth process.
Most seeds do not have this functionality, however it can be found on
random seeds.
Random seeds will occasionally require a gas to grow, or will produce a
gas while planted. Possible gases are Oxygen (O2), Nitrogen (N2), Carbon
Dioxide (CO2), or Plasma gas.
If a plant that affects a gas is planted, it will attempt to interact
with the environment differently depending on conditions as detailed
below:
- Tray lid down: Will always utilize the air of it's tile for atmos
interaction.
- Tray lid up, nothing connected/inserted: Will utilize the air of it's
tile for atmos interaction.
- Tray lid up, tray connected to a connector port pipe: Will attempt to
utilize the air of the pipe network the connector is part of, allowing
you to utilize canisters or direct feeds into the station's piping. If
there are no gases at all (0 total moles) in the network, it will create
an empty gas_mixture at 20C (standard room temp) in the network before
attempting atmos interactions.
- Tray lid up, tank inserted into tray: Will attempt to utilize the
contents of the inserted tank for atmos interaction. If the tank is
completely empty (0 total moles), it will create a new empty gas_mixture
at 20C before attempting atmos interactions.
- Tray lid up, tank inserted AND connector port: Will attempt to utilize
the contents of the inserted tank for atmos interaction. If the tank is
completely empty (0 total moles), it will create a new empty gas_mixture
at 20C before attempting atmos interactions. (Pretty much just ignores
the connector port)
In case it wasn't apparent from the above mentions, you can now insert
any portable tank (emergency oxygen, plasma tank, pretty much any tank
that could be hooked up to internals) into a hydroponics tray. You can
remove them with the previously added eject internal tank verb. There is
currently no visual indication of whether or not there is a tank
inserted (the tray icons are already cluttered with the sheer number of
overlays, and I didn't want to sprite another monstrosity like my past
spriting attempts yielded)
When utilizing an inserted tank for the plant's atmos interactions, it
will attempt to use distribution pressure set on the tank for the
atmospheric pressure inside the closed lid. If the tank's internal
pressure drops lower than the distribution pressure, it will use the
tank's internal pressure instead.
The alter temperature trait is now functional, and will heat/cool the
air used for the plant's atmos interactions. This means it can heat/cool
the surrounding air, inserted tanks, or the contents of a connected pipe
network.
Plant analyzers have had their readouts updated to report what (if any)
gases the plant consumes or produces during it's life. Also edited the
alter temperature trait's message on the plant analyzer to not
incorrectly refer to the change in "degrees Kelvin".
There may be a bit of wonkiness with open-air atmos interaction and gas
redistribution, which would be an issue with LINDA's processing and not
the changes in this PR.
Also, a major reminder that atmos grief is a bannable offense, and
releasing plasma-producing vines into the halls will be considered equal
to causing an atmos flood from atmospherics and dealt with accordingly.
- Fixes Diona Nymphs getting a color overlay, which was causing them to
become darker and look terrible.
- They now look like they did pre-#980
- Adjusts the equation for hydroponics trays calculating light level
based on their turf (lid down)
- All trays in hydroponics should now have a light level of 3 or higher,
this is subject to further adjustments to fine-tune
- Fixed messages from the eject tank verb to not say things like "the
the tray (#45)"
- Ports https://github.com/Baystation12/Baystation12/pull/9184 from
Baystation
- Prevents deconstruction of soil and invisible soil
- Fixes#1011
- Adds a verb to eject tanks from hydroponics trays if one is inserted
- Don't think anyone has actually done this, but it has been possible
for a LONG time and will be more useful once I get the atmos portion of
botany working
- Fixes grown items not leaving behind their trash
- Notably banana peels and corn cobs. Clowns and hillbillies rejoice!
- Adds 15% chance for a watermelon to leave behind a pack of it's seeds
when eaten.
- Slicing watermelon will not produce seeds ever
- Replaces the Janitorial ERT members' plant-b-gone sprays with new
Telescopic Scythes!
- Can be collapsed to fit on a belt or fit in pockets/bags
- While collapsed, it loses a large amount of it's damage, is not
considered sharp or as having an edge, and cannot cut vines like a
normal scythe. Extended ones are functionally identical to normal
scythes
- Extending and collapsing a telescopic scythe has some awesome sounds
from Freesound.org