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)
Fixes a runtime preventing Diona Nymphs from eating weeds and regaining
nutrition
Fixes fruit attacks checking for "hurt" when they should check for
"harm".
- You can now smack people with fruit on harm intent. If the plant has
TRAIT_STINGS, it will inject them with it's chemicals
- You can now crush a fruit in your hand on harm intent to destroy it
(will not leave trash like banana peels!). This will trigger the same
effects that throwing the fruit would have, except without needing to
throw it.
- Use this to activate that smoke-screen tobacco you spent all round
mutating, or to make a quick escape with your bluespace tomato!
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.
Since we still have psilocybin. removing it from the check entirely was
unnecessary. Fruit with Psilocybin, LSD, or Space Drugs will now all
properly display the "hallucinogenic" descriptor.
Fixes checks for old chems to use ones for new chems. Some of these
chemicals currently aren't in any fruits (like juices) but may appear
once we expand the chem list for random seeds.
Will update the descriptions to account for new chems at such time that
goof's PR is finished if he doesn't include it.
Fixes watermelon slices being empty.
Potatoes, carrots, and watermelons will now properly transfer their
reagents to the new slices when chopped/sliced, divided evenly across
the total number of slices.
Watermelons create 5 slices, carrots and potatoes only create 1 (since
they are a plate/pile of fries/sticks).
- 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
This commit removes code/defines/obj.dm and code/defines/obj/weapon.dm.
These files were only kept for legacy compatibility and do not fit into
the tree system at all. It doesn't even make sense since the base defines
are all that were in these, the actual code for the items was in the right
file.
Any new ports that use this file on a different codebase should be sorted
into the tree system anyways, new files if necessary. A giant defines
file is just wasting space and searching effort.
Largely a port of https://github.com/Baystation12/Baystation12/pull/8038
(Credit to Zuhayr for his hard work on botany)
Breakdown of the port:
- Plant traits have been expanded drastically
- You want a bio-luminescent tomato that explodes into a cloud of acid
when thrown or stepped on? Or maybe a corn vine that entangles people
and injects them with mannitol and it's harvests that can be used as a
battery? Totally possible.
- Adds new random seeds! Replaces the egg-plant seed in the exotic seeds
crate from cargo with 2 of these.
- Literally random, they have randomly generated stats, chemicals, and
traits. Great for researching, and/or wasting cargo's supply points.
- Plant analyzers can now print off the last scan they recorded, meaning
you can distribute copies of the report to validate your claims of
having the dankest weed on station.
- Potatoes, carrots, watermelons, soybeans, and pumpkins can all be
sliced/diced/carved with ANY sharp object, such as knives, hatchets,
glass shards, and e-swords.
- This should give the chef a bit more room to make it look like he
actually is doing the work by slicing up fries by hand. The processor
still also works.
- New reagent: Wood Pulp
- Currently has no use in recipes, but any plant with this reagent in it
can be chopped into planks with a hatchet. Did someone order some
Ambrosia Deus planks?
- Also, vines with woodpulp are dense. You have been warned.
Now onto the stuff I did in addition to the stuff from Bay.
- Fixed typos where plasma was mistakenly called "phoron" in the port.
(Sorry bay)
- Replaced bay's botany mutation chances with our tiered mutation
system.
- Re-re-added tobacco, space tobacco, tea aspera, tea astra, coffee
arabica, and coffee robusta.
- Re-enabled the rolling of joints
- Made it possible to hand-roll cigarettes from tobacco / space tobacco.
(A requested / promised addition)
- Just like with joints, it will inherit any chems in the tobacco, has
the same reagent capacity as a joint, but looks and smokes like a cig
(lasts as long as the cigarettes) with a different name/description to
differentiate it from pre-made cigs.
- Corn can now be juiced in the grinder, in addition to grinding it.
Grinding corn will result in it's contained reagents (like corn starch),
while juicing corn will result in corn oil.
- Re-added the additional plant analyzer information when scanning trays
(displays age, weed level, etc)
Also cleaned up the recipes_microwave.dm file, removing the commented
out recipes that were distributed to the other machines during the
Kitchen Overhaul. Shortens the file a bit and makes it more readable.
I probably forgot stuff, so I will add things as I remember them / they
get pointed out.
This commit first adds a new helper proc labeled isAntag(), as well as
adding a check for antags for every instance of msg_admin_attack().
Goals of this commit:
- Make admin ATTACK: logs indicate if attacker is an antagonist.
Note; High probability of merge conflicts, 47 files changed.
- Also adds ABSTRACT and NODROP flags in preparation for removal of
canremove and abstract vars.
- Sorts some of the setup.dm flags so they're in order.
- Replaces 'flags & 2' in policetape.dm with pass_flags & PASSTABLE,
should have the same effect.
Reverts the changes to Reagents and Recipes introduced with the initial
Botany Plant Additions commit.
All ground tea is created equal, as is coffee. Tea Astra and Coffee
Robusta no longer will give special versions of tea and coffee powders
and drinks.
> Reintroduced a number of previously removed plants:
+ Tobacco
+ Space Tobacco
+ Tea Aspera
+ Tea Astra
+ Coffee Arabica
+ Coffee Robusta
+ Moonflower
+ Novaflower
+ Koibean
> Fixed a typo preventing the mutation of Blood tomatoes into Killer
Tomatoes.
> Added an additional version of both tea and coffee powders and drinks.
> Added additional tea and coffee recipes to make and utilize the new
versions.
> Added coffee arabica, tobacco, and tea aspera seeds to seed vending
machines.
Reworked the mutation system for Botany to use a "tier system",
adjusting mutation chances and the potential type of mutation based on
the amount of the reagent(s) added.
Updated handling for Floral Somatoray to work properly with new Botany
Mutation Rework.
Adjusted Floral Somatoray's Yield setting to adjust the yield stat of
the plant instead of yield_mod stat of the tray.
Also added additional information to the Plant Analyzer when scanning
trays. Will now include information such as age, yield modifier, and
toxicity in the report. This will not be shown when scanning harvested
goods or seeds.
Fixed some typos and missing words in podmen.dm in preparation of
planned attempt to reintegrate pod-cloning functionality.
Fixed hydroponics trays setting "waterlevel = maxwater" and "nutrilevel
= 3" whenever RefreshParts() is called, and fixed sanity check for water
and nutrients above previous max levels.
Unreported change from my previous commit (this is for the sake of
documentation): End of round score will factor Hydroponics harvests into
the calculations.