>Resolves some dna runtimes. - check_dna_integrity() was not being used properly.
>Removed a for(obj/item in world) loop triggered by bloodying items. It now uses a caching system.
>New skin_tones - they are now sprite-based. This is to prepare for expansion of the mutantrace system. Thanks validsalid x
>Removed fat icons from the game - when you are obese you will now just look like a regular human. You will not be immune to being pushed. You will not be immune to choking. You will still overheat and run slower and appear fat upon "examine" verb use.

Modified   code/__HELPERS/mobs.dm
Modified   code/game/atoms.dm
Modified   code/game/dna.dm
Modified   code/game/machinery/computer/hologram.dm
Modified   code/game/objects/items.dm
Modified   code/modules/client/preferences.dm
Modified   code/modules/client/preferences_savefile.dm
Modified   code/modules/flufftext/Hallucination.dm
Modified   code/modules/mob/living/carbon/alien/larva/larva.dm
Modified   code/modules/mob/living/carbon/human/human.dm
Modified   code/modules/mob/living/carbon/human/human_defines.dm
Modified   code/modules/mob/living/carbon/human/life.dm
Modified   code/modules/mob/living/carbon/human/update_icons.dm
Modified   code/modules/mob/living/carbon/monkey/monkey.dm
Modified   code/modules/mob/living/silicon/robot/robot.dm
Modified   code/modules/mob/living/simple_animal/constructs.dm
Modified   code/modules/mob/living/simple_animal/friendly/corgi.dm
Modified   code/modules/mob/living/simple_animal/friendly/farm_animals.dm
Modified   code/modules/mob/new_player/preferences_setup.dm
Modified   icons/effects/genetics.dmi
Modified   icons/mob/human.dmi

Signed-off-by: carnie <elly1989@rocketmail.com>
update_icons.dm changes for humans. This ties in with the dna changes and the changes to skin_tone and hair colours
>update_mutantrace() is no more, it is now part of update_body()
>Moved a lot of stuff into update_base_icon_state(), this will allow making mutantraces modular.
Almost all icon operations are now removed from human overlays (obviously some are still required for recolouring hair and eyes). Any remaining dynamically generated overlay icons are applied individually. This will allow byond to cache them better. This will also eliminate the bug where humans are initially invisible/unclickable when you first encounter them (due to network latency where the icons are being downloaded).
>UpdateDamageIcons() renamed to update_damage_overlays(), so it has the same sort of name as the other procs
>update_icons=true or false arguments removed from human overaly-update procs, no longer required. (i.e. the update_body() update_inv_whatever etc procs do not call update_icons() - see documentation for details)
>mutantrace icon_states moved into human.dmi
>skeletons are now a mutantrace, not a mutation.
>update_icons system should now be even more efficient (thanks partly to aranclanos)
>documentation rewritten
>copypasted code moved into helper procs - super tidy code :3

Other:
>Removed compile error where the core code was reliant on compiling away mission code. >:[
>s_tone renamed to skin_tone

Modified   code/modules/mob/living/carbon/human/update_icons.dm
Modified   code/__DEFINES.dm
Modified   code/datums/datumvars.dm
Modified   code/datums/limbs.dm
Modified   code/game/dna.dm
Modified   code/game/gamemodes/changeling/changeling_powers.dm
Modified   code/game/gamemodes/cult/cult_items.dm
Modified   code/game/gamemodes/cult/runes.dm
Modified   code/game/machinery/doors/airlock.dm
Modified   code/game/machinery/portable_turret.dm
Modified   code/game/machinery/teleporter.dm
Modified   code/game/mecha/combat/combat.dm
Modified   code/game/objects/items.dm
Modified   code/game/objects/items/stacks/medical.dm
Modified   code/game/objects/items/stacks/sheets/glass.dm
Modified   code/game/objects/items/weapons/storage/bible.dm
Modified   code/modules/assembly/mousetrap.dm
Modified   code/modules/hydroponics/hydroitemcode.dm
Modified   code/modules/mob/living/carbon/carbon.dm
Modified   code/modules/mob/living/carbon/human/death.dm
Modified   code/modules/mob/living/carbon/human/human.dm
Modified   code/modules/mob/living/carbon/human/human_damage.dm
Modified   code/modules/mob/living/carbon/human/human_defines.dm
Modified   code/modules/mob/living/living.dm
Modified   code/modules/mob/living/simple_animal/friendly/slime.dm
Modified   code/modules/mob/mob_grab.dm
Modified   code/modules/power/lighting.dm
Modified   code/modules/reagents/Chemistry-Reagents.dm
Modified   code/unused/_debug.dm
Modified   icons/effects/genetics.dmi
Modified   icons/mob/human.dmi
Modified   maps/RandomZLevels/wildwest.dm
Modified   tgstation.dme

Signed-off-by: carnie <elly1989@rocketmail.com>
*Resolves an issue where the gender block was being misread, resulting in gender changes.
*Resolves a potential issue with hardsetting dna, where dna could potentially be created for carbon-based mobs that do not currently support it
*updateappearance(mob) now works for any carbon mob (i.e. monkeys)
*all dna setup procs like hardset_dna check_dna_integrity and ready_dna, return the dna in question (or null/0 on failure) (as per Giacom's request)

Modified   code/game/dna.dm
Modified   code/game/gamemodes/changeling/changeling_powers.dm

Signed-off-by: carnie <elly1989@rocketmail.com>
Removed Roboticist from engineering_positions
Used in assigning department-wide jobbans
*Fix for syringes
*Fix for one icon_state being the wrong shade (apparently)
Phase 2 of my master plan:
-Adds a Service headset channel, given to the botanists, barman, and chef. The HoP also gets the service channel on his headset.

Note: The Service Preset Server will have to be added to Telecomms on the map before the channel is usable. I'll put up the map when/if this gets merged.
Better Mop and Cart love

Slight tweak to the behavior of attacking the janicart with a mop.
Changed it so that it stores the mop when it is soaked (or the bucket is empty), as I'm sure most players would prefer their mop to always be fully soaked when they remove it from the cart.

Also changed the examine text from 'water' to 'liquid' as it was misleading. It can actually be filled with any reagent, even welder fuel...or acid... or blood... or dr.gibb...space lube... you get the picture.
changed wetness check from constant to variable reference
Merge branch 'master' of https://github.com/tgstation/-tg-station into Master
-Changes the channel hotkey from Q to V
-Updates the headset descriptions.
Wholesale A-star replacement

I wish I'd just been able to update the original version, but something
kept going wrong.

This version creates paths of identical lengths (not necessarily the
same paths!) while evaluating, on average, only 35% of the tiles that
the original algorithm would. Seems like a decent improvement.

Also fixes some grammar in the mulebot file.
A-star fixes

Will obey the maxnodes parameter if it's provided (although perhaps not
in the way that it was originally meant?) The only one that uses it is
disease, and it wasn't an issue there, but at least in future it won't
be a problem.

Also slightly increased the maximum loop count from 1500 to 1800, on the
off-chance that the previous value was pessimistically low. In the
initial station this doesn't go past 1000, but if bots understand doors
their paths might get squiggly.
-Updates DJ station infosheet.
-Adds service headsets to barman/botanist closets (chef doesn't get one for now since he doesn't have a closet, all his spare stuff is just placed in a crate)
Merge pull request #582 from Cheridan/radios

Phase 2 of my master plan:
Phase 3 & 1/2
Adds chef locker
Serves up the service server to serve your servers.
Merge pull request #600 from Cheridan/radios3

Radios Phase 3 & 1/2
Merge branch 'master' of https://github.com/tgstation/-tg-station into bucketlove
Merge pull request #586 from Malkevin/bucketlove

Better Mop and Cart love
Merge pull request #572 from Ikarrus/robjobban

Removed Roboticist from engineering_positions