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.
Adds multiple types of sushi, made from various ingredients including
rice, egg, fish, and fish eggs.
- Most sushi recipes are made via table-crafting, though Tamago Sushi
requires a grill to prepare.
Adds multiple new types of fish for the fish tanks! Their eggs can be
purchased in the CritterCare vendor.
- Catfish
- Will periodically reduce the filth level of the tank, helping keep it
clean while you are busy.
- Feederfish
- Will sometimes sacrifice itself to add food to the tank for other
fish. Will not sacrifice if it is the last fish, or if the food level is
sufficiently high
- Shrimp
- Salmon
- Electric Eel
- Glofish
- Will produce light if the the tank light is off.
Adds fish items for each fish you can raise!
- Most fish are simply weak weapons you can slap people with.
- Sharks and baby carp do slightly higher damage, and make a biting
sound on hit
- Sharks can have their teeth removed by using a wirecutter on them.
- Toothless sharks no longer do more damage than normal fish, nor do
they make the bite sound
- Shark teeth will be used in some future recipes
- Salmon and catfish can be cut into filets with a knife
- Shrimp and feederfish can be eaten raw, though they aren't very
filling
- Glofish, you guessed it, glow! They give off light like a weaker,
green-colored flashlight.
- Clownfish are slippery like banana peels! HONK!
- Electric eels do not zap people, but will be used in a future crafting
recipe or two for an improvised stun weapon.
Tweaked the rate at which filth will accumulate in a tank, so hopefully
it won't be a full time job to maintain a single goldfish.
- Tanks with no fish will get dirty at a lower rate than before, and
will not continue to get dirty if the filth_level is 7.5 or higher
- Previously: 25% chance to increase by 0.1
- Now: 15% chance to increase by 0.05
- Tanks with at least one fish now will get dirty slightly less often
- Previously: 25% chance to increase by 0.1 with a 30% chance to
increase by 0.1 per fish if they ate that cycle
- Now: 10% chance to increase by 0.1 with a 25% chance to increase by
0.1 per fish if they ate that cycle
Using a fish net on a fish tank will now let you select a fish to
remove, instead of selecting one at random.
- Catching a fish with the fish net will now remove it from the tank and
drop the appropriate fish item at your feet.
Added support for special cooking via cooker machines (deepfryer, cereal
maker, old candy maker, old oven)
- Only the deepfryer currently utilizes it (as the other machines aren't
used currently)
- Inserting specific items will cook them into a new item instead of
simply frying them!
New deepfryer recipes:
- Tofu can be deepfried into Fried Tofu!
- Raw sticks (from slicing potatoes) can be deepfried into a bag of
chips!
- Bananas can be deepfried into Fried Bananas! (old recipe still
possible)
- Corn can be deepfried into a bag of Corn Chips!
- This is the same as a bag of chips, except Space Mexican
- Shrimp can be deepfried into Fried Shrimp!
Began phase 1 of re-organizing/dividing food icons and code into
multiple files
- The existing icon file was nearing capacity, and the code file was
incredibly long
- This re-organization will make it easier for coders to find, edit, and
group similar/related foods together, without worrying about overfilling
the food icon file
- This means we can add way more foods in the future without worrying
about the icon being full!
Sprites courtesy of FullOfSkittles, with a few of my own horrendous
recolors/edits.
- Not all of the new sprites are currently used, but are planned for use
in a near-future PR to further expand the food options available.
This commit first and foremost ports the -tg- atom pooling system, and
removes the old experimental system entirely.
Secondly, this PR modifies the qdel system to use a -tg- lookalike
"destroy hint" system, which means that individual objects can tell qdel
what to do with them beyond taking care of things they need to delete.
This ties into the atom pooling system via a new hint define,
QDEL_HINT_PUTINPOOL, which will place the atom in the pool instead of
deleting it as per standard.
Emitter beams are now fully pooled.
Qdel now has semi-compatibility with all datum types, however it is not
the same as -tg-'s "Queue everything!" system. It simply passes it through
the GC immediately and adds it to the "hard del" lists. This means that
reagents can be qdel'ed, but there is no purpose as of yet, as it is more
or less the same as just deleting them, with the added effect of adding
logs of them being deleted to the garbage collector.
Adds in the new Botany Belt, a belt designed for handling all sorts of
botany-related tools.
Adds the Botany Belt, Security Belt, Medical Belt, Janitor Belt, and
Bandolier to the Biogenerator's list of products.
Re-arranges the biogenerator's product listing to have a new "Belts"
section, dedicated to (you guessed it) belts.
- Moves the Utility (tool) into the Belts section, previously was in the
Leather section
- The new belt listings are also in this section.
All belts in the biogenerator have the same base cost of 300 points.
Increasing the efficiency of the machine will lower the costs
appropriately.
Adjusts some code related to the security belt so they won't magically
have a seclite in them when created via biogenerator.
- The belts in the sec lockers will still have their light
- The ERT belt no longer needs to clear contents during its New() proc
to remove the seclite.