Commit Graph

27 Commits

Author SHA1 Message Date
FalseIncarnate
ee4060549d Mutant Plant De-spam-ification
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.
2016-05-22 01:46:46 -04:00
Tigercat2000
78f53553f8 Reduce lines by removing blank lines added by PJ's script 2016-04-05 08:25:57 -07:00
Tigercat2000
9d430844c3 Replace most (if not all) output << operators with to_chat(user, message)
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.
2016-04-05 08:15:05 -07:00
FalseIncarnate
70804d49fc Fixes plants attempting to sting ghosts
Fixes #3427
2016-01-28 21:38:54 -05:00
FalseIncarnate
0060942832 Hydroponics Reagent Refactor
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
2016-01-25 01:43:54 -05:00
Fox-McCloud
c7073e52b8 glowcaps 2015-12-08 16:44:07 -05:00
FalseIncarnate
f2c530a580 Item Plants, Grown Weapons, Botany Fixes/Changes
Botany plants can grow preset items, mobs, or fruit
- Turns out that the code for mob harvestables could be used almost
unchanged to support item harvestables
- Changed some variable names to better reflect this

Re-introduces the Egg Plant!
- Grow eggs to throw at the security officer who confiscated your
ambrosia!
- Mutant species of Eggplants
- Exactly the same as eggs laid by chickens, except they shouldn't hatch

Adjusts code and logic order to avoid a conflict with TRAIT_SPREAD
fruits that can be converted into other items
- Grass, aloe, and comfrey were either unable to be converted or unable
to be planted outside a tray if they had TRAIT_SPREAD due to logic
ordering
- You must now be in DISARM intent to plant spreading fruits
- Being in HELP or GRAB will attempt to convert the fruit into a
poultice or other item as appropriate.
- If the plant does not have TRAIT_SPREAD, you may also use DISARM to
accomplish this

Adds Money Trees!
- Literally grows money-filled fruit called Cashpods
- Fruit contains gold and silver reagents, or can be turned into space
cash by using it in-hand like grass or aloe
- Value of the resulting space cash is related to potency. Higher
potency = higher dosh!
- Eating the fruit doesn't give you money, but may fill you with guilt
(not really).
- Mutant species of lemons.
- When life gives you lemons...

Adds the ability to convert sunflowers and novaflowers into their
"weapon" forms
- Done exactly the same as converting grass, aloe, comfrey, or cashpods
(use in-hand on help/grab intent)
- Sunflower conversion is silent, though the item description changes
- Novaflower conversion is not silent. You'll know when it happens.
- Hitting someone with a sunflower (weapon form) or novaflower (weapon
form) will assault both parties with a green and yellow message. FLOWER
POWER!
- Hitting someone with a novaflower (weapon form) will increase their
body temperature, and may cause burns as a result
- Picking up a novaflower (weapon form) without gloves will cause burns,
but doesn't drop the flower.

COMPLETELY DELETES the code\objects\items\weapons\hydroponics.dm file
- This file was 90% commented out already, and I moved the remaining
code into code\modules\hydroponics\grown_inedible.dm for organization
- This affects the .dme by removing a single line as the file is no
longer included.
2015-11-28 02:56:59 -05:00
FalseIncarnate
7702b5957d Weaponized Botany Changes
HEAVILY nerfs spreading plants!
- Spread chance cut down by 66%
- In general, plants will spread slower, meaning they won't outpace a
goat wielding a scythe and plant-killer grenades.
- Spread distance cut down by AT LEAST 66%
- TRAIT_SPREAD 1 plants (glowshrooms) will spread to a maximum distance
of (TRAIT_POTENCY * 0.1)
- TRAIT_SPREAD 2 plants (kudzu) will spread to a maximum distance of
(TRAIT_POTENCY * 0.6) if they are vines or biomass growth_type (most
common types)
- TRAIT_SPREAD 2 that have the "worms" or "mold" growth_type will spread
to a maximum distance of (TRAIT_POTENCY * 0.3)

Buffs spreading plants!
- Spreading plants with thorns or stinging will now properly attempt to
affect anyone who walks over them!
- Wearing shoes gives you a 50% chance to avoid being affected by thorns
and stings

Rewrites stinging plant defenses and logic
- Stinging plants now will target a specific limb/body part and check
for the appropriate clothing coverage
- Spreading plant stings will only target legs and feet
- Picking up stinging fruit will only target hands
- Being hit with a stinging fruit will target the hit limb
- THICKMATERIAL clothing from hardsuits and biosuits will protect from
stings that target areas they cover
- Clothes will protect their covered areas from stings
- Protecting the head requires covering the eyes and mouth with either
the helmet or glasses/masks
- If you aren't fully protected in the target area, you get stung.

Fruit with thorns and/or stinging now properly apply their effects when
thrown or used as melee weapons
- Still requires HARM intent to use fruit as a melee weapon instead of
feeding it to the target
- Stinging fruit will check the hit area for protection
- Stinging fruit will crumble into dust if it uses up all its reagents.
- Stringing fruit still has a chance to break on hit even while it has
reagents left.
2015-11-26 01:27:21 -05:00
Fox McCloud
c7ae3c0233 Merge pull request #2640 from FalseIncarnate/master
Random Chem Blacklists, Strange Plant Fixes
2015-11-24 21:38:22 -05:00
FalseIncarnate
7780b75429 Random Chem Blacklists, Strange Plant Fixes
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 #2416
Fixes #2439 (again)
2015-11-23 01:26:11 -05:00
Tastyfish
85d651b781 refactored datum/effect/system because it was a complete mess 2015-11-22 19:43:01 -05:00
Fox-McCloud
2c6c407ada Seed Mutation Chem Removal 2015-11-18 21:15:29 -05:00
DZD
316113b52e BS crystal and tomato fix
No Z2 exploits for you.
2015-10-31 10:20:17 -04:00
Fox-McCloud
c692c0d8ce spacing consistnecy, re-adds peanuts 2015-09-22 01:35:21 -04:00
Fox-McCloud
1bd5283da5 Botany Cargo Points 2015-09-22 01:19:02 -04:00
Markolie
766b0c979f Turn dionas into simple animals 2015-08-17 02:19:29 +02:00
FalseIncarnate
133b1233f9 Assorted Fixes and Returns Accidentally Removed Features
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
2015-08-11 03:05:43 -04:00
FalseIncarnate
fb203fe569 Botany Modular Icon Revert, also Peanuts
Removes modular sprites from nearly all pre-defined seed products.
- The following plants still utilize modular icons:
- Random Seeds (Strange Plants)
- Grass
- S'randar's Hand leaves
- Messa's Tear leaves
- Telriis Grass
- Thaa'dra Lichen
- Jurl'mah Reeds
- Amauri Plant
- Gelthi Plant
- Vale Bush
- Surik Vine
- Test and Test 2

Added a new plant, peanuts!
- Seeds available from MegaSeed vendor in hydroponics
- Will be included in future kitchen recipes in a separate PR
2015-08-05 05:05:26 -04:00
FalseIncarnate
27f4ccda36 Grinder Fix, Botany qdel Refactor, Removes PanDEMIC2200
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)
2015-07-01 22:09:37 -04:00
Fox-McCloud
a89ddd5a7d Adds in Ether 2015-06-28 20:39:26 -04:00
ZomgPonies
fa5e97deb5 Missing dmis, final fixes 2015-05-25 20:35:35 -04:00
ZomgPonies
1935a82afe 2/3 of port done 2015-05-25 19:48:13 -04:00
FalseIncarnate
4ad00d93a5 Botany Atmospheric Interactions
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.
2015-05-23 07:43:31 -04:00
Krausus
f5f15881c2 Fixes luminosity checks
They should now be more in-line with how they worked under the old
lighting system.
2015-05-15 01:07:08 -04:00
FalseIncarnate
719b98f43f Diona Nymph and Light Level Fixes
- 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)"
2015-05-13 16:14:46 -04:00
Tigercat2000
92c5d0139a Fix hydroponics to use the right light system
This commit updates hydroponics to the new light system, so it stops
compile-error'ing
2015-05-10 14:09:57 -07:00
FalseIncarnate
db9d9fc647 Botany / Xenobotany Update
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.
2015-05-09 06:00:24 -04:00