Makes the code a lot more consistent to all the other locations it's
implemented as well.
Works the exact same as it did before but with a few less lines of code.
Also sorts out an issue with two facial hair objects having the same name. Woops.
Previously, your markings would only randomize if you clicked the randomize button and were of a species that had body markings. Fixes that and tidies up the proc calls for marking randomization a bit.
Furthermore, a bug existed where if you changed a mob's species via CMA, the mob's cosmetic attributes (hair, hair colour, skin colour, skin tone, marking styles and colours, head accessory style and colour) will not have changed correctly. Delaying appearance update fixed that.
Finally, a mob's body will now correctly render as fat if they become fat and skinny if they become skinny and show deformities immediately.
Further explaining this fix: It required an override to be implemented in update_body that re-cached the mob's bodyparts in order to reflect changes to the limbs (i.e. fatness/slimness).
As for deformation, I just needed to modify the existing update_body() proc call.
Changing your body accessory or alt head will now update the list
entries since the amount of available markings will change depending on
which body accessory/alt head you have.
can_change_alt_head() will now check the head organ's species instead of
the body's species.
can_change_markings() has been updated as per the style of a recent PR
(forgot the number).
Resolves an oversight where the Unathi Tiger Head marking was intended
to be available regardless of what alt head you had but wasn't in
reality.
Resolves an oversight where while the body Tiger markings were darkened, the head/face Tiger markings were forgotten.
Patches the last couple gorey spots I missed.
The alt_head mask refitting system works like this: If the player has an alt_head that's not "None", the system will look for an icon state in the most relevant mask icon file that has the mask's icon state and alt_head suffix ("[wear_mask.icon_state]_[alternate_head.suffix]") and, if it exists ([(alternate_head && ("[wear_mask.icon_state]_[alternate_head.suffix]" in mask_icon.IconStates())) ? "_[alternate_head.suffix]" : ""]") the mask sprite that will appear on the character will have that icon state. If it doesn't exist, the mask sprite that will appear on the character will have the default icon state for the mask object.
Adds allowed species list to the Campbell circuitry tattoo. The tattoo sprite only fit the bodies of Species in the list anyway.
Adds Jacket-friendly Version of Existing Vox Hairstyle
Tajara ears are on their head now, fixes a crash bug with tail wagging
with body accessories that are split-rendered, adds secondary
hair/facial hair themes, fixes issues with human/skrell arm/lower body
sprites etc.
Forgot to do this when I darkened the bodies.
Tajaran head/facial hair darkened by 28. (r - 28, g - 28, b - 28)
Refer to PR for Vulpkanin darkening factors. (Varies per-hairstyle)
All marking sprites courtesy of @Fullofskittles, commit idea courtesy of
@Fox-McCloud
Swaps trashy Unathi Belly sprite with new ace sprite.
Adds points and banded head/body markings for Unathi, accommodating the
alt head they get.
Adds points, patches and another belly marking for Tajara including
companion head markings.
Adds two points and a second belly marking for Vulpkanin including
companion head markings.
Adds 3 tattoos.
Breaks tiger body markings apart. The head markings are now separate
from the body.
Darkens tiger markings.
You can now colour the webbing of webbed Unathi frills independently.
Morph and CMA support has been included.
Splits tigerhead sprites into 3 versions in order to better fit the
different ears of the three species that can use it.
Adds 5 more Tajaran hair styles, sprites from Polaris and fixes an issue
where Tajara and Vulpkanin couldn't be bald in character preferences.
The alt head prefs bug became prevalent if you spammed the 'reload slot'
button on certain characters. They'd get an alt head and if you switched
slots it wouldn't go away-- breaking head icon generation. Woops. Not a
problem anymore because the var isn't initialized to null and is
corrected in the prefs screen. Also refactors the morph ability to use
the change_whatever procs from appearance.dm. Removes redundant
update_body from force_update_limbs.
Expanding on the above: Adds Vulpkanin nose and chest crest markings.
Adds Vulpkanin braided hairstyle (Tajaran Braid ripoff) and hippie braid
for Humans/Unathi (also a Tajaran Braid ripoff).
Adds Tajara inner ear and muzzle colouration as head markings, adds muzzle colouration for Unathi (sharp and round) as head markings, adds belly colouration for Tajara and Unathi as body markings.
Fixes issue where the Unathi stripe marking name in sprite_accessories was incorrect.
Also fixes a bug where setting your IPC's head to 'normal' gave it a random screen style that was often not compatible with the monitor head.
Does a bit of tidying up in tail generation mainly, but also in icon skin-tone handling and just about everywhere else I ended up working.
Adds ears to Tajara heads. Removes ears from tajara hairstyles.
Removes the now pointless Tajaran Ears hairstyle and renames the Tajaran hair objects appropriately.
Adds a Vulpkanin Body Marking and some Tail Markings.
* Initial Checkin
- Creates two new admin-only jobs, "Nanotrasen Navy Officer", and
"Special Operations Officer". The former is for IC investigations by
admins of situations on the Cyberiad, and spawns in the admin room. The
latter is for leading/overwatching ERT teams, and spawns at the ERT
office.
- Neither of these jobs are accessible to normal players, either on
join, in preferences, or as a random job.
- When they are spawned, no announcement is made, and they do not show
up on the crew manifest.
- In other news, the "select equipment" debug verb has also been
adjusted so that NT Navy Officers get the same equipment either way.
* Fixes teleporter on admin station so that admins can use it to teleport directly to bridge
* Fixes CC jobs not always displaying CC HUD icon for sechuds
* Adds an implant that dusts someone on their death
* Tweaks
Changes:
- CC officers now spawn with an internals box in their backpacks, like
everyone else.
- CC officers now get dust and death alarm implanters in their backpacks
on spawn, rather than automatically having the implants in their bodies.
This enables admins to test things on admin station without worrying
about dusting or having their deaths broadcast.
- Dust implants no longer provide death alarm functionality.
- Dust implants no longer process().
- Dust implants are now based on explosive implants, and can be manually
activated via deathgasp.
- CC officers now spawn with CC headsets that are named 'centcom
headset'.
* Deletes CC encryption key
* Switches to using imp_in.dust()