Brains now retain languages from the mob they were removed from, rather than forgetting them. Languages are also retained when a brain is transplanted into a new body.
AIs, as well as cyborgs/robots/drones, will load languages from your currently-active preferences when they spawn (just like humanoid mobs do). Brains removed from cyborgs/robots/drones will retain their original languages regardless of the current module.
Brains in MMIs can now speak EAL if they know it, and additionally fixes#2832 - sign language will no longer be usable when lacking both hands. Also fixes silicons being told the wrong language prefix by the known languages window, as it was still showing ':', leading to much confusion among new borg players.
Known issues:
AIs who can use sign language can use it even without a holopad - I'm not sure how to have it check for that. This could be seen as a non-issue, as signs could conceivably be displayed on the AI's screen.
AIs signing over holopad will also have the language verbs overridden by the synth speech verbs (states/queries/declares). I'm pretty sure this has something to do with the already-existing bug that all languages can be understood by everyone when an AI speaks them over holopad.
* A preface to my madness
Travis failed one of my PR's because I copied old code
that used /red /blue /green.
Because of this, I am going to find and replace every
instance of it that I find.
Also this is a test commit to make sure I'm comitting
to the correct branch.
* /blue /green /red replacements
Dear god.
A slow and painful death from acid is more fun than this.
I wouldn't wish this torture on my worst enemy.
And this is only the beginning
* Replace part 2.
Time to fix the human error.
* Fixes mismatches
* Sets macro count to 220
One above the current number of macros in the code.
* Fixes last of the mismatches.
* Removes spaces, replaces \black
Removes spaces
Replaces \black in a few areas where seen
Replaces \bold with <B> </B> where seen
* Updating macro count again
* More fixes!
* Issues fixed! For real this time!
I swear!
* Fixing all the merge conflict files.
Fixes a line printed about staying close to your patient printed in error, and makes syringes work on laying patients again.
The do_surgery overrides are from a bygone era.
Tested == yes
Fixes a line printed about staying close to your patient printed in error, and makes syringes work on laying patients again.
The do_surgery overrides are from a bygone era.
Tested == yes
Semi-rewrites how surgery failure works. Using an improper surface will call the surgery step's fail proc instead of just doing a melee attack.
Adds 'surgery odds' var to objs, which determines effectiveness. The numbers for operating tables/roller beds/tables remain unchanged from the previous version, however doing it this way makes it cleaner to add new surfaces in the future.
Adds a proc to get a surgery surface.
Also makes burn repair on FBPs more efficent, so that one scorched robot does not take literally all of robotic's wires.
Right now if you try to put an empty posibrain into a mob it won't let you. But with resleeving, this might be just the step before putting a mind in them, so that's sort of not how it should work. When it was just a ghost-trap object that ghosts could get into, maybe, but it's moved beyond that.
Fix necrotic limb surgery
Make fever not so powerful that it resists cryotubes
All necrotic limbs produce toxins unless OD on spaceacillin, regardless of infection
Fix dropper use during surgery
Fix 'gap' in printable adv scanner infection reports
Fix nanoui template for adv scanner
Add examine text to gangrene and highly infected external limbs
Add flags to the MMI holder organs to make them robotic, and thus not infectable if they are > squishy MMI (posibrain, digital)
Print 'em out, slap an MMI or Posibrain in. They come from a new machine, the Prosthetics Fabricator. You can order license discs from cargo to print the proprietary limbs. Making FBPs requires a bit of research as well, otherwise you only get arms/legs. Also requires a bit of plasteel to make the critical parts. Mostly just need every limb, plus eyes. Torso comes with the snowflakey FBP battery.
Also adds an FBP 'self-diagnostics' verb. More vague than an analyzer.
**This adds a machine that needs to be placed on the map. "/obj/machinery/pros_fabricator"**
Personally, I would replace the right-side exosuit fab with it. I can add this to my PR but I'm unsure how you guys feel about non-devs submitting map changes.
This updates synthetic limbs to make more sense. It tweaks what you can 'see' when examining people. If someone has a robotic leg but is wearing pants, how would you know that? If someone has a burn on their arm, but their jumpsuit sleeves down, how would you know that? If someone has a replacement Vey-Med arm, how would you know it's robotic? It also treats examining FBPs more 'realistically'. If they are covered except for their head, it doesn't matter if their whole body is Bishop robotic. If their head is Vey-Med and that's all you can see, they just look human to you.
So FBP manufacturers can have a 'lifelike' var set. Vey-Med has this. This makes the limbs not show obviously non-organic damage (dents) until they are more damaged and start showing wires/metal. Attempts to treat these limbs with medical stuff results in a different message. Manufacturers can also set individual blood colors. Vey-Med blood is now white, ala Bishop from Aliens.
isSynthetic proc = Is the mob actually synthetic, as in, mechanically for breathing/tox purposes?
looksSynthetic proc = Does the mob display outward signs of being synthetic? Based on head and torso and what's revealed.
Other fixes:
You can no longer attach limbs to non-existent parents. You can't give somone a foot on a leg that doesn't exist.
You can't attach fleshy limbs to robotic ones. BODIES DO NOT WORK THAT WAY.
'Synthetic' var on humans points to manufacturer if you need to grab it quickly. isSynthetic returns this as well.
Robolimb count (and thus overheating speed) updates whenever your limbs change.
Lifelike FBPs do not show a 'system offline glyph'.
isSynthetic and looksSynthetic moved to human_helpers becasue they were defined on human in mob_helpers
Nanopaste correctly repairs limbs using the new procs (both burn and brute, making it an expensive welder+wire)
* Consolidates copypasta for repairing robolimbs
Also prevents self-repairing a limb you are using to hold the tool
* Fixes robot organs becoming undamagable after reaching cap
* Fixes repairing with cable not using any cable, repairing with weldingtool not doing eyecheck
* Removes ORGAN_ROBOT and ORGAN_ASSISTED flags, fixes#13123
* Fixes damage to robotic limbs not triggering organ processing
At the same time, robotic limbs with damage don't need to process.
However, it's much safer to explicitly have robot limbs return 0 from
needs_process() instead of not rechecking bad external organs.
* Build on HarpyEagle changes to apply to Polaris
Had to apply the change from flag to an enumeration.
* Removes unneeded file
* Fix bruisepacks, remove heart
Well, the unused bay version of the heart anyway
* Tweaks examine, reverts isSynthetic
Reverted that because Bay doesn't use it the same way. Also changed Examine to not list every robo-limb on non-FBPs in red, but left them listed as normal per Spookerton