* 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
Adds UIs to Core Extractor, Slime Replicator
Adds Slimified Monkey Cubes as separate item type
Adds Docility Toxin
Replaces amutationtoxin references with docilitytoxin references
Adds resistances to simple_mob damage handling, to allow for simple mobs to have resistances to different kinds of damage
Moves a return to it's proper position to allow for hostile mobs to properly handle targets.
Removes duplicate code, and fixes the logic of the original code that was supposed to perform the same function, but did not, due to bad if-statement logic. Performed eye removal, and eye transplant to test. I would have liked to have fixed the flat `blinded = 0` at the top of the file, but it's so ingrained in how it works now, I could not.
Current Skrell lore dictates that while these are the Skrell's true names, they take up names that are human or make their own names pronounceable to humans. Having the ability to randomly generate the Skrell name is ideal if you want to have a humanized Skrell name, whereas randomly generating a human name can be done off of a human slot.
* update_inv_ears() overlays left and right ears upon a "blank" icon. Unfortunately doing ```image("icon" = null)``` encourages BYOND to create an image of the current mob! So everyone's "ears" icon is actually their whole body, layerd on top of uniforms, hair, etc.
* Lets not do that. A transparant image is already in effects.dmi for this purpose.
Calls the final HUD update later (higher, in mob/death) since stat was not yet DEAD (2) when it was called before.
Also makes all mobs update the HUDs all life() ticks, so people who have ghosted and left a body have correct HUD readings. If this affects performance, sorry? ... It really shouldn't. Only carbons should have real HUDs to update. The rest are tiny little procs.
I missed it! So I fixed it.
It could have been done with a bunch of "If you're SUPPOSED to be blind" or "If you're ASLEEP" but honestly this check should be in there anyway. P.sure people with tourettes don't randomly scream things while asleep.
Naked and trying to wear a rig, it will attempt to access w_uniform.inv_flags which will be null and runtime.
Moves shoe redrawing to uniform and suit update_inv code in update_icons, rather than in inventory.dm. update_icons already had code for this.
Does not use initial(pixel_x) and initial(pixel_y) for 'finishing' attack animations, so that mobs can have old_x and old_y updated to reflect a natural pixel offset (e.g. for mobs that are longer/taller than 32x32 and are nudged to fit into a tile).
For example, we have a 32x64 cyborg module which sets pixel_x, pixel_y, old_x, and old_y when selected, however attacking with it resets it to 0 as this doesn't respect old_x and old_y like all other mob anims do (see floating, etc).
Also why define this on atom and then literally never use it on anything other than a mob, in the... mob/animations.dm file?
_Sorry to keep making QOL PRs. I promise I'll send something cool eventually._
As in, scooped mob holders, like Teshari. If they throw an item, it falls out now rather than being trapped and eventually deleted in their holder object.
Makes the name of the starsystem and station generic such that it can be modified in global.dm and replace the strings where it is used. This won't have an effect on Polaris itself, but makes changing the name much more simple for forks. Using string concat constants on the advice of Psi.