Carpotoxin can now be made into a beneficial chemical: Rezadone, which can heal cloneloss without the use of a cryo tube, but requires careful dosage.
New sprites for soybeans; growing/harvested/seeds. Minor tweaks to many seed sprites.
Soybeans can now be mutated into Koibeans, which contain carpotoxin.
>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>
DNA modification uses normally distributed random numbers. Radiation strength dictates the standard deviation of the change in the hex character which is hit (higher output means greater chance for a large change) . Similarly, radiation duration dictates how likely we are to hit the hex-character we clicked on (longer duration means more likely to hit). Irradiation is strength*duration. All balancing is done via multiplier defines so you can rebalance it easily.
DNA blocks and structuring all use defines. Making modification/expansion easier. I'll likely expand this into a datum-based system to allow more interesting features, reduce code further and allow admins to interact with the way dna strings behave.
DNA strings can be spliced together using merge_text().
e.g. string 1: "Hello World"
string 2: "Seeya______"
result: "Seeya World"
This isn't used except for admin-spawnable SE injectors at the moment.
r_hair, g_hair, b_hair, r_facial, g_facial, b_facial, r_eyes, g_eyes, b_eyes were removed and made into 3 short hex-colors.
Skin tones now support colours other than shades of brown. I've had to restrict it heavily until other stuff is done. Skin tones include Albino Caucasian, Oriental, Mediterranean, etc.
Data disks and DNA injectors were reworked to use associative lists so transferring data is just a matter of doing list.Copy()
var/dna is now defined at /mob/living/carbon level. Only monkeys and humans may have dna currently. Support is there for all carbon-based lifeforms to have dna.
DNA modifier console has almost all controls on one screen.
UIs and UEs can be injected separately (appearance and name, respectively)
dna helper procs like ready_dna() and such were changed to make them more versatile. There is now a hardset_dna() proc as an alternative to ready_dna which can initialize dna with properties passed into it or update an existing dna string (useful for cloning and antag spawning)
Every block of SEs are in randomised positions.
Disabled automatic logging of world.log, as it produced undesirable behaviour.
Mr Muggles and God Emperor of Mankind disks removed.
Floor() removed. (it was completely uneccesary, that is what round() is).
Fixed spelling mistakes in modularchangling.dm (thanks tenebrosity)
Tanning removed from beaches (again)
Experimental: monkeys and humans do not have dna until first attempt to read dna (using check_dna_integrity(mob))
This is mainly due to the way everything is hardcoded into New().
Changelog.html updated
Signed-off-by: carnie <elly1989@rocketmail.com>
Fixes the bug with effects/glowshroom not glowing when placed.
They don't spread infinitely: The odds of a shroom spreading decreases with each generation. Because they're sane now and not virally-spreading fungal horrors, they've been changed to spread on normal station floors and not just the asteroid.
The spreading glowshrooms acquire the parent's stats, with some mutations.
The delay variable is now based off of production, and goes DOWN with better stats instead of GOING UP.
-Removes unnecessary (copy-pasted) code bits in walking mushroom/killer tomato code in grown.dm
A lot of different calls for update_inv_[slot] now won't call for update_icons.dm(). Such as dropping, throwing, picking up objects, moving objects around your gear, using your active hand, firing guns, stripping, etc.
All the different calls for UpdateDamageIcon() now they won't call for update_icons()
The different sprites of humans/monkeys will now have their own layer, humans starting with MUTANTRACE_LAYER in layer -1 to R_HAND_LAYER in layer -20, so the sprites don't get messy overlapping eachother if update_icons() is not called. To help this change, all layers numbers were changed, R_HAND_LAYER used to be 1, now it's 20. (This can be changed back if it ends up being confusing or ugly to read)
TL;RL I removed 90% of the calls for update_icons() modifying the different update procs of update_icons.dm of monkeys/humans. The goal is to reduce lag.
JUST IN CASE, lying down will call for update_icons(), so players have an easy way to update their icons if something goes horribly wrong. Which won't. I hope.
Fixes issue 842. Handcuffs sprites appearing on the player's UI if this one was handcuffed. Because I liked this we'll call it feature and add some awesome sprites made by Cheridan, you'll now have a new sprite on your UI telling you "you're handcuffed buddy!". (Also he named the sprites so don't blame me)
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@5809 316c924e-a436-60f5-8080-3fe189b3f50e
-Novaflowers can be ground for capsaicin, and they do some slight burn damage if you pick them up without gloves.
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@5778 316c924e-a436-60f5-8080-3fe189b3f50e