This results in wild mutation carrying over possible traits from parent to child, in a way that will also be displayed by the plant analyzer.
This means if you gene splice a parent plant and it wild mutates into a different species, the wild mutation will take the trait genes of the parent, with none of the reagents as reagents are specific to the species in most cases, but can be bred back in via cross-pollination.
Makes acid levels a component.
Merges the acid effect object into the component.
Reworks acids decay rates slightly.
Rebalances xenos acid spit so that they can still melt through walls.
Misc. associated changes:
Adds defines for a lot of the acid associated constants.
Documents clean types and adds CLEAN_TYPE_ACID
Adds and implements a return bitflag for COMSIG_COMPONENT_CLEAN_ACT
Adds a looping sound for acid.
Makes /atom/proc/acid_act return a boolean.
Fixes waterclosets creating a new reagent holder datum every time they are used.
Removes waterclosets regenerating reagents on-use and restricts their reaction volume to 5 units.
Adds and implements a couple reagent signals.
Renames a few vars so Rohesie can stop telling me to rename more vars.
Example video: https://youtu.be/EAVuPtJ_kFM
This adds a new mob, the lobstrosity. It's a upper-caves level icemoon mob, created as a genetic combination of a lobster, a crab, and a shrimp, let loose on the horrific Alaskan hellscape that is the icemoon. It's best feature, however, is that it makes use of a new feature of simplemobs, charging. Any hostile simplemob can be configured and customized in a uniform way in order to become a charger, giving it a basic leap attack, that will disable the user if they find themselves crashing into an unpassable turf, but otherwise lands a knockdown on the attacking target. Compensate of this, charging mobs will also gain a very noticable tell, where they shake a moment before they actually perform the charge to better signify that they're rearing up for a melee charge.
I'm not exactly sold on using Shake() for the visual tell, but I'm not quite sold on a visual to showcase that it's happening, so I'm looking for feedback on that specifically.
Additionally, there is a bit of weird movement that I've yet to really get ironed out first but for the most part it's completely functional.
After some feedback, there's now a reddish, lavaland-colored lobster, as well as an arctic themed, Alaskan lobster
So on a massive tangential leap of logic, one thing ActionNinja brought up in a recent discord rant was that there are so many mechanical parts of SS13 combat that completely lack a tell whatsoever, or the tell is so quick you can blink and you'll miss it in a heartbeat. So I turned to the greatest enemy attack feedback mechanic that any game has ever seen: the Legend of Zelda Bull.
...also I've been looking for a tasteful way to get this sprite in-game for awhile now but wanted to really iron out a unique mechanic to go alongside it that would make it feel a little less bullshit to fight against.
ArcaneMusic + Kryson on Sprites
The "plating repair tool" has been added to the game in the form of a
printable upgrade for janiborgs. It's a subtype of the cautery that can
repair burnt or damaged hull platings, allowing floor tiles to be
placed over them once again.
The upgrade that adds it to a janiborg's list of tools can be printed
once the Cyborg Upgrades: Utility tech node is researched.
Janiborgs get floor tiles (and a crowbar), but have no way of dealing
with burnt platings. Thus, what ends up happening is that, after fixing
some flooring after a minor explosion, you'll often be left with one or
two ugly, OCD-triggering untiled spots on the floor that you can't put
a floor tile over because you don't have a welder. What makes these
spots even more infuriating is that it would actually be BETTER if they
had been broken down to just being space-exposed rods, because then you
COULD place a floor tile on their tile.
This puts food you eat in to the stomach.
If you do not have a stomach you can not eat, if you try to swallow anything you will spew it out.
Changes to surgeries:
Stomach pump can now be done on the living, and pushes out the reagents in the stomach.
Blood filter is a new tool and cleans the reagents out of the body.
This also makes it so that reagents that do not metabolize can accumulate in the stomach reducing how much food you can eat.
* replace pump_gas_to to release_gas_to
release_gas_to Releases gas from src to output air. This means that it can not transfer air to gas mixture with higher pressure.
* Set max target_pressure to ONE_ATMOSPHERE*50
Since this not real pump and it pump gas based on air.pressure, why we cant set any limit?
* remove double update_icon_nopipes()
* Some more precise description
* Some more pressure
Replace pump_gas_to to release_gas_to
release_gas_to releases gas from src to output air. This means that it can not transfer air to gas mixture with higher pressure.
Increased max trigger pressure settings to 100 atmospheres, since volume_pump limited 9000 kPa (~90 atmospheres)
Bugs is bad.
Atmos is good.
Fixes some more issues with browser stat panel
- Alt clicking items in the listed turf tab doesn't open up a popup
- Toggle suit sensors button missing
halfed it for players, more than doubled it for admins. (mainly for map
templates, admins playing 2mb sound files using this will be punted
into the cafeteria)
Could use with being more refined, per-extention, maybe have sound have
a seperate check since thats a function of size*players, and the rest
of this is not.
I was stupid about a last minute change in #53320 trying to save one
check and didn't notice that there was no switch condition for
conscious. To my credit though, that PR DID fix critted emoting and
deathgasps...
This PR adds a bunch of flavor texts to the different devices and structures that are used during the event, all to make clearer to the players what to do without too much troubles.
Also i added the ability to use the normal Analyzer+signaler to close the portals and achieve the same result of dropping the crystals.
This PR have more stuff inside: I tweaked the health of the mobs to be balanced around the "toolbox damage" (around 15), so that in 2 or 3 hits they'll fall. I tweaked the damage so that those mobs are all around pretty dangerous, plus each one gets a personal effect: the minion gets a smoke effect on death, the thug gets a random teleport when hit and a dodge ability, the recruit can smash delete walls on touch, the killer is fast and shoot a freezing ray to slow down victims, the boss has an AoE tesla-like attack can dust mobs if they are in crit conditions (thus consuming them)
spawned anomalies don't explode anymore.
You can sacrifice someone to the crystal to increase the spawn delay by 5 seconds permanently
tick for the event is once every 2 seconds, have to use raw numbers to define the duration (15 minutes)
Fixes a bug caused by transferring an orbiter component to a parent where one already exists. Causing the old original orbiter to update the added ghosts positions when the parent moves, but not allowing them to ever break orbit and also setting the ref to null for the component on the whole due to old signals it would seem.
Also tweaks the blades use in hand ghost notification message to remove the redundant (Orbit) link.
Removes various R&D machine requirements including circuit imprinters, protolathes, destructive analyzer and the mechfabs. All machines that previously required an R&D console to function are standalone, including omni protolathes and omni imprinters.
Replaces "production"-class R&D consoles with civilian modular computers on all maps. There are no longer "production"-class consoles.
Removes the concept of "core" R&D consoles. R&D consoles only research and handle tech disks and stuff. All existing core consoles have been switched to their basic archetype.
Because it's a pain in the ass to manage, material reclaimation has been removed from the destructive analyzer. The destructive analyzer is now ONLY for destroying items and unlocking research nodes such as illegal and alien tech.
Expand number of pipe layers from 3 to 5
More layers for autism projects all around the station
Notice! not all devices are allowed to use the new layers, only those you see in the picture can be layered to layer 0 and 4.
More freedom to do weird setups (and supercomputers)
Caps admin view at 68x68, or 37, in order to prevent it creating more then 100 overlays, causing the parallax system to crash due to exceeding our overlay hardcap of 100
BINARY_INSERT used to only take typepaths like/this. Now, it expects them to be /like/this, to be more consistent with ther est of the code.
Adds documentation to COMPTYPE.
Adds a test for BINARY_INSERT.
This PR improves options for admin controlled shuttles - all shuttle controls can be admin-locked, and players must request authorization so the shuttle can move or for controls to unlock. Before this PR, authorization request always redirected admin staff to control the CentCom ferry, even if request came from a shuttle elsewhere, which was a little odd.
Authorization request will now properly prompt the staff to control that specific shuttle, and now they also have quick option to unlock/lock the shuttle. Could come handy in events to restrict player movement.
Last change, escape pods no longer start as admin controlled, as they cannot be launched without atleast code red anyway. They instead properly state they are just locked.
Allows blind people to examine things they're directly holding in their hands, so they don't need to swap hands back and forth between empty hands to check their ID or whatever
Slightly lowered the recent examine delay to make it easier to trigger examine_more
attack_hands that waited for input or slept (such as apiaries or airlocks) delayed the examination until after the attack_hand input or sleep was finished, so it is now called async to prevent the weird pause.
Blind people could previously examine things with disabled/detached limbs, that's fixed as well, and replaced a range check with adjacent, cause shoving your arm through windoors is bad.
Fixes all these issues
Some admins and I did some testing with it in the thunderdome (round ID 144991), and we confirmed some !!FUN!! things about penthrite:
Penthrite makes you completely immune to staminacrit while it's in your system. This is because it lowers your crit_threshold to -60, but your stamina damage is capped at -20. This means that your stamina can never dip below your crit_threshold, and thus, you can never be staminacritted (no, not even if someone alternates stun baton strikes on your head and chest). The only thing that keeps this from being completely busted is that shovestunning still works on you (but perhaps some bioware and/or implants could get around that...).
Penthrite works on mobs that don't have a metabolism, but won't metabolize itself away in them over time. This is because penthrite uses on_mob_add() instead of on_mob_metabolize(). Yes, this means that if you inject yourself with a luxury medipen as an android, a skeleton, or the like, you'll be able to be immune to staminacrit indefinitely (or until someone jabs you once with a normal medipen). In fact, if you're a high-functioning zombie, then you'll be able to abuse your nodeath trait with the nohardcrit and nosoftcrit traits that penthrite gives you, as penthrite's self-purge-if-you're-below-160-HP effect is in on_mob_life(), which doesn't get called by races with the nometabolism trait.
I forgot to test this one, but I think that by strapping someone who has penthrite in their system onto and off of a stasis bed repeatedly, you can cause their crit_threshold to rise with each buckling, eventually causing it to go above their maxHealth. This is because the crit_threshold raising effect is in on_mob_end_metabolize() (like it should be), but the crit_threshold lowering effect is in on_mob_add() (instead of on_mob_metabolize()).
Also, this changes the description of penthrite to be a bit more clear about which "emergency medications" it reacts violently with. Nobody reads chem descriptions anyway, but maybe they will in the future if doing so gets made easier.
Adds netherworld critters as a swab. They take primarily maintenance, lavaland, and bartending reagents, they're supplemented by all geyser chems and minorly chemistry, and they are suppressed by any kind of generic growing meat (liquid gibs, nutriment, protein and peptides)
The abberant cells randomly pick a netherworld mob every time they are created. the big jackpot here is migo for the reasonable health and high damage, and the whiff are blank bodies for having good health but awful damage.
Why It's Good For The Game
Players love migos and other netherworld critters are aight. They're fairly strong, and so have a medium amount of reagents. Tried to get funky with it since they're supposed to be odd creatures.
(New swab for netherworld critters! Make sure you put them into a different vat system than your other ones, as they do not react well with normal reagents!)
Co-authored-by: Jared-Fogle <35135081+Jared-Fogle@users.noreply.github.com>
Co-authored-by: LemonInTheDark <58055496+LemonInTheDark@users.noreply.github.com>
Turns old mining "signs" into turf decals instead
It looks nothing like a sign, so, this just made sense.
Moved the icon from the mining survival pod walls file, to the turf decal icons file.
Replaced every instance in the maps with the new type path.