Turns horns into head accessories, fixes some species checks, gets
Tajara and Vulpkanin into the mix, ensures the system cannot be
exploited, adds species-specific body markings for Tajara, Vulpkanin and
Unathi.
* They initially rot slower, and won't rot if on the same tile as a freezer
* Having dirty hands when doing internal organ surgery will now contaminate
the internal organs. Wash those hands!
ID numbers are larger than the bitwise operators allow, which gave everyone one of about sixteen ID #s.
Not sure what or if this actually fixes anything mechanically, but ID #s are pretty again.
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)
Changelog:
- Switched surgeries to use init_subtypes()
- Updated init_subtypes()
- Made the species race_key handling a bit less line-taking (uses
pre-increment now)
- Added new proc, init_datum_subtypes, which takes 4 arguments-
init_datum_subtypes(prototype, list/L, list/pexempt, assocvar)
prototype is a path which will be run through subtypesof
list/L is the list that new datums will be added to
pexempt is subtracted from the 'subtypesof(prototype)' (exempting them)
assocvar is the var to associate by in the list- uses vars[] lookup
Jobs, superheroes, and languages now use this proc.