Simple animals now use the base health system that most other mobs use.
Fixes a bunch of Destroy()s so that they should qdel properly.
Mend Synthetic can heal synthetic simple animals.
Adds attack and spellcast animations to the golem.
Adds system to manually flick because byond is stupid sometimes.
Removes shield and reflect spells from the golem since SAs can't use shields at the moment.
Adds more helpful spells to the golem.
Golem and the Lost Drone now use the 'synthetic_evil' speech bubble.
Being lit on fire barely did anything, for multiple reasons, all which should be fixed in this PR.
First, the code to do damage based on bodytemperature was literally bugged and only applied the lowest level of damage, no matter what.
Second, wounds made autohealed them fairly fast, sometimes even outhealing the incoming damage.
Third, being on fire raised your temperature rather slowly.
Fourth, the lowest level of 'overheating' damage was rather low.
Changes:
The bodytemperature part of Life() is now unbroken and I accidentally fixed freezing not hurting, so yay.
Added a ten minute delay to wounds being able to autoheal them away. Applying bandage/salves will skip this.
Temperature climb is now based on fire stacks while on fire, so more stacks means more and longer pain.
Lowest level of overheating was tweaked.
Running into people while on fire will split your fire stacks with them and light them on fire.
Port's /tg/'s on fire sprite.
Different mobs can have different icons for being on fire.
Bonus: Rejuv now removes pain.
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.
Adds toolspeed var, which is a multiplier on how 'fast' the tool works. 0.5 means it goes twice as fast.
Adds usesound var, which determines what sound is used when a tool is being used.
Changes a lot of code to use those two vars instead.
Adds 'ayyy' tools, which are ported from /tg/'s abductor gamemode. They're currently admin only but I might make them obtainable by xenoarch later.
Adds powertools, also from /tg/. CE starts with them in a new toolbelt that spawns in their locker, ported from (you guessed it) /tg/.
Changes welder sprites to look nicer, ported yet again from /tg/. Modified the blue welder slightly so it can be the electric welder sprite.
Adds various sounds from /tg/, for tools and welders.
+Illegal equipment module now scrambled equipment module
+Scrambled equipment module now unlocks emagged borg items without
actually emagging the borg, allowing for AI sync, law updates, and being
emagged.
+Makes the miner borg diamond drill appear in all cases of being
upgraded or emagged instead of only if emagged while the mining module
is equipped.
Changelog includes all my previous PRs as well for ease of access to the
changes by the general public. I can trim it down to just this PR if
requested.
Uses a mob var to determine antag validity instead of typechecks, since I believe this will work out better in the long term. Inheritance can automatically make new mobs we make be invalid by default.
* 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.
* Adds a buncha robot sprites.
* Adds a changelog for the robot sprites.
* i missed a comma :(
* at least im not the only failure
* fixes inconsistent NOBLE arms
Research Cyborg
-Science gripper can now pick up health analyzers
-External organ gripper renamed to robotics organ gripper
-Robotics organ gripper can hold synthetic eyes
-Picking up brains has been moved to robotics organ gripper
Medical Cyborgs
-Chemistry gripper renamed to medical gripper
-Medical gripper can now hold pills and blood bags
-Crisis cyborgs now have crisis hyposprays which include dylovene
-Crisis cyborgs now have advanced burn and trauma kits instead of bruise
packs and ointment
-Surgeon cyborgs now have medical grippers
-Surgeon cyborgs now have surgeon hyposprays which replace tramadol with
oxycodone
-Oxycodone has been made scannable by health analyzers
-Surgeon cyborgs given a dropper to do the necrosis removal operation
Service Cyborgs
-Now have a multitool to cryogenically freeze plants
* Borgs can pick up slime cores
* Borgs can pick up proximity sensors
* Should fix the travis issue?
* Should fix the travis issue?
* Queue fixes being eaten by Git
+Readds jumper cable kits to revive FBPs (Robotics will spawn with these
without any map changes but they will be empty so that needs to be fixed
anyways)
+Readds jumper cable kits to cargo orders
-Lowers jumper cable kits in order to 2 from 4 to be in line with the
defibrillator changes
+Adds robot defibrillators to both medical modules
+Adds robot jumper cables to research module
+Adds some new icons for jumper cables to fit in better with the new
defibrillator sprites
Added SC map files for further work. Including hopefully all the related files.
New airlock sprite thanks to Virgo, with a alternate non-see through sprite.
Changes to the space and transit tiles (ported from bay).
Changes done to the NC map that should bring it more up to date with changes (shield defuse stuff and minor bug fixes)
Gives the research borg module the rapid part exchange device so it can
easily upgrade machines without having to take it apart and slowly put
the pieces back in (with some of these machines being bugged and unable
to be deconstructed like the circuit imprinter).
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
* Creating new objects is cheap, in fact comparable to the cost of getting it out of the pool, so it doesn't help there.
* Placing items in the pool is far more expensive than letting them garbage collect due to the resetting of vars and such.
I assume these were all lazy copy-pasting. We're changing computer icons to another set in a file we'll keep separate, and these completely pointless references are annoying. They should inherit this from the `/computer/` level, which they do. Has no effect on Polaris, but cleans up code that shouldn't exist.
Adds a fairly simple system that allows adjusting various numbers like max health, incoming damage, outgoing melee damage, etc. The nice part is that changing certain variables this way (like max health) is a lot safer than manually setting the max health var directly.
Changes a lot of short lines of code to point towards a variable's getter or setter helper instead of reading the var directly so the modifiers can work.
Endoarmor, delayed toxin sting, Enfeebling sting, and recursive adrenaline overdose now use the modifier system.
Enfeebling sting now only lasts two minutes, from five minutes, however it now also reduces the victim's melee damage by 25%/50%, and increases the damage they suffer by 10%/35%, for normal and recursive respectively.
Delayed Toxin Sting's effects are now felt all at once instead of over the course of a few minutes.