Commit Graph

6 Commits

Author SHA1 Message Date
suethecake
2b2d64f05f Initial commit containing all the necessary code files that allow Tajaran, Unathi, and Skrell to change both their hair and body color to match. NO MORE GREEN/GREY! 2014-04-27 01:00:16 -06:00
Rob Nelson
fa20b9c2ee DNA2 Bug Fixes - Part 2 (CHERRY PICK)
We discovered that most of the problems were were having was because of BYOND passing lists (e.g. SE and UI) by-ref instead of the assumed by-val.

This commit adds dna.Clone() and (UI|SE).Copy() where needed.  These should be used where DNA or SE/UI lists are COPIED, otherwise changes made in the reference will affect the real strand.

This change also messes with the gene activation logic.

Conflicts:
	code/game/dna/dna2_domutcheck.dm
	code/game/dna/genes/powers.dm
2014-02-10 22:46:28 -06:00
Rob Nelson
1088888791 DNA2 EPISODE 2: Revenge of the Bugs
Made after DNA2 hit /vg/'s main server after no one tested anything.

* Gene activation/deactivation made modular, refactors domutcheck.
* Standardized genetics disks and injectors a bit in response to buffer corruption issues. (Untested)
* Lots of major bug fixes.
* Skin tones fixed.

Still needs further testing. All I did was mess around with monkeys.

Conflicts:
	code/game/dna/dna2.dm
	code/game/dna/dna2_domutcheck.dm
	code/game/dna/dna2_helpers.dm
	code/game/dna/genes/disabilities.dm
	code/game/dna/genes/powers.dm
	code/modules/mob/living/carbon/monkey/monkey.dm
2014-02-10 22:43:05 -06:00
Ccomp5950
8ea79311c7 Compile fix after bad merge.
VERY BAD MERGE, no treats.
2014-01-03 11:03:39 -06:00
Ccomp5950
36f81bd9b0 DNA2 clone fix. No longer albino with blue beards.
Looks like a copy paste problem where the eye blocks were being set to facial blocks
and the math needed for s_tone wasn't being done.

Todo:  Fix clones not having unique_enzymes, /list being displayed in cloning pod, etc.
2013-12-31 18:02:48 -06:00
Rob Nelson
53c2aff420 DNA2 - A recode of DNA
DNA now stores blocks internally as numbers and only makes the uni_identity and struc_enzymes strings when something has changed. This is vastly more efficient.

In addition, the API for using it has been simplified. Common tasks, such as setting a sub-block, or getting a value from the block, are handled entirely by the DNA datum with simple, easy-to-use procs.

Tested on local server, but may need balancing and additional look-over since the code is from our server (/vg/) and I likely broke or forgot something.
2013-12-01 00:04:27 -08:00