This is accomplished by a special uniform, "female", that removes the few pixels that don't exist on the female sprite but do on the male sprite (on which all clothing is modeled). The net effect is subtle, but effective. Women actually look like women now, as opposed to dudes with a near imperceptible blush.
Besides "female" there are no new sprites in this pull, all "female versions" are generated by taking the default outfit and removing those pixels. These pixels don't reveal skin, they're literally just covering void.
To keep certain unique outfits from looking weird with this, a blacklist var for the effect has been created in "fitted", which tracks if an outfit looks like a standard jumpsuit and defaults to 1.
This effect only changes uniforms. Some exosuits can still hide these details very well through there coverage.
http://i.imgur.com/Kzx6JyT.png
The blood trails now follow the path the body has taken and players can
very easily make out said path.
Heavily damaged corpses will have a much thicker blood trail than
corpses with some brute damage. At the moment, trails overwrite
eachother and a placeholder icon set is used for alien heavy blood
trails.
All item/obj now have the var reflect_chance which based on a prob check, determines if an object will reflect energy projectiles while in the wear_suit, l_hand or r_hand slots, a reflect_chance of 100 will always cause the player to reflect, 0 (Base of every object besides the ablative armor) will never reflect. Objects are reflected like ablative currently does.
modifies the bullet_act of humans to incorporate this new system
gives the ablative armor the same chance to reflect it had before
gives dualsabers if wielded and the user is not a hulk a 100% chance to reflect energy projectiles
adds specific wield() and unwield() to dualsabers in order to add check if hulk
When I merged master into pull 1245 to resolve conflicts, I didn't notice that
the merge did some unintended things, like duplicating conditionals.
These have been corrected, and I also made more things call ..(act) so that
there is less duplicate code in different emote procs.
When an emote fails the switch check for a mob, it calls ..(act).
New files in mob/living and mob/living/carbon with associated procs that
handle these invalid emotes from higher emote calls.
If invalid on mob/living, mob/living will show the invalid emote dialog.
Slimes, Cyborgs, and MMIs do not call ..() on fail.
Fixed several conflicts present in last pull request, should be fine
now.
All animals ordered through cargo will arrive in critter crates. These
crates are designed for the safe transport of animals. Critter crates
can only be unlocked from the outside and automatically lock when
closed. You can resist your way out of the crates. Critter crates are
counted as normal crates when sent back to CentComm.
Adds cat crate (cost: 40 points).
Corgi crate now has a 50-50% chance of either containing a male or
female corgi.
Moves critter crate sprites from storage.dmi to closet.dmi.
Removes redundant large animal crates.
mob_sleep and lay_down are now procs of mob/living, added as verbs to whichever mob should have the ability to sleep or lay down (alien, monkey, human as of now)
Fixed the possibility to forcefeed brains snacks.
Removed the countdown of various status effects in brain's life() proc that shouldn't happen to brains anyway.
------------------------------------------------------------
nanoui - For creating and updating browser UIs
manomanager - For managing nanouis
Includes the "D:\Development\SS13-TG\code\game\machinery\cryo.dm" rebuilt using Nano.
Templates are stored in /nano/templates
This code is in development, it's also not commented yet.
Adds a variable ('idle_env_destroyer') to all hostile mobs, denoting
whether the mob destroys it's environment while idling or not. Default
value is 0 (no). Syndicate, russian and pirate mobs are affected. Also
prevents aforementioned mobs from suiciding and/or wrecking away mission
environments before the player could see them.
Fixes hostile mobs interpreting 'null' as a valid target and always
being in HOSTILE_ATTACK stance.
Added helper: /proc/findchar(haystack, needles, start=1, end=0)
works like findtext except it finds the first occurrence of one of the characters from the needles string, within haystack.
Permissions can now be removed as well as added, by replacing the + with a -. e.g. +BAN adds bans permissions, -BAN removes them. This applies to admin_ranks.txt and the permissions panel.
Verb overrides are now possible for admins_ranks. Specific verbs can be forced-on, or forced-off via keywords like +/client/proc/mimespeak or -/client/verb/ooc. This applies both to admin_ranks.txt and the permissions panel. SQL system is not compatible.
admin_ranks are now datums. This means admin_ranks actually behave more like permission groups as intended.
When you temporarily modify an admin's permissions via the permissions panel, their rank_name is appended with "([ckey])". This prevents modifications to their rights affecting everyone.
admin rank names now support - _ and @ characters (since ckeyEx() does not strip these).
SQL permissions system was modified. SQL databases will have to be updated or they will no longer work.
WARNING: admin_ranks.txt and admins.txt format has changed slightly! You will need to redo those txt files!