* 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.
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.
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.
With the exception of species specific hair styles.
Also lets species be bald if they want to be.
Reorganizes the ears, making colorable ones come last
Also adds in both Zorren ears
* Previous attempt to make sprite_accessories datums configurable as to whether they should be blended by ICON_ADD vs. ICON_MULTIPLY failed because ICON_ADD's value is actually zero. do_coloration was also checked to see if the sprite should be colorized at all.
* Thus a datum configured to use ICON_ADD (zero) didn't get colored at all!
* Fix separates the concept of "do/don't colorize" from "blend mode to use when colorizing"
* This fixes vore mobs eating you four times due to the enhanced process scheduler we have now.
* Also fixes alien icon states.
* Also fixes a runtime if you take control.
* Adds Zorren. Tail fixes.
Exactly what it says on the tin.
Adds in both Zorren races.
Fixes species specific tails
Fixes hair colored species specific tails (partially)
Fixes hail colored tails (partially)
Fixes hail colored ears
Adds in more species related tails
(Ex: All the multiple xenomorph tails, monkey tail, stok tail, vox
armalis tail)
Note: For hair colored tails to fully work, they need to be greyscale.
This will require some editing later on, but for now, it works.
* ...Github didn't sync this for some reason.
* Fixes
* Fixes
* Fixes V2
Fix one bug
Cause 50 more
* Irrelevant
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._
* This compiles, has a debug in a few areas
But doesn't actually work in game
* This didn't go with the first sync. booo.
* Actually gets egg TF to work. Fixes spacesuit sprites
* Makes the borgs stomach show up
* More bugfixes!
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._
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.
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.
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.