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.
Infection chance now calculated differently for airborne and contact ones.
Contact viruses spread on: infected people touching others, people touching naked infected people (clothed parts do not spread it).
Airborne viruses spread on: breathing (20% chance, then chance depending on worn clothing), coughing (now 2 tiles instead of 1)
Both types spread from mucous and blood puddles because lazy.
Fixes:
Blood and mucus now spread viruses correctly.
Lowered output of hyperzine generation syndrome, since it caused dedly ODs.
Hair styles that aren't designed to have color shifts will no longer be affected.
Balding virus symptom now only applies to humans.
Signed-off-by: Mloc <colmohici@gmail.com>
Browser UI properly updates on click and on process()
Dishincubator now properly removes radiation (again)
Signed-off-by: Mloc-Argent <colmohici@gmail.com>
-Balding
-Stimulant - generates hyperzine.
Two more:
-Longevity : heals small amount of damage and some broken bones when activated. When healed deals same amount of damage.
-DNA degradation : deals tiny amount of clone damage
Also made retrovirus deal clone damage as well.
Fixed cure machine producing virus blood wrong.
Changes to existing syndromes:
-Cough : now has chance to infect people around mob.
-Telepathy : now should properly give powers to the mob.
New syndromes:
-Topographical Cretinism : confusing directions, much like drunk effect.
-Blackout : short-time blindness
That'll let 'greater' and 'lesser' viruses pick low-stage symptoms from same pool without duplicating them.
Also sorted effect datums by stage in effect.dm.
-Fixed derp with analyser.
Refactoring virus2, Part II - Viruses.
-Removed obsolete curing/resistance methods.
-Split base.dm into disease2.dm, effect.dm, helpers.dm.
-Removed functions already defined in parent classes.
-Replaced checks in Topic() with parent class ones.
-Removed two unused files (there are duplicates in unused folder anyway)
-Removed commented out lines, mostly pre-antibody curing code.
-Shuffled code around for better readability (like antibody list)
-Moved various devices and items defines to separate file.
Moved the spacecraft folder into the unused section, moved syndiebeacon into machinery.
Research moved into Modules.
Virus2 moved into WIP - is anyone even working on this, it looks almost done?
Computer2,optics,pda2,experimental moved unto unused.
WIP Chemistry things moved into Chemical Module
Cameras.dm moved into weapons
GameKit.dm moved into unused
BrokenInHands.dm moved into unused
Removed Grillify.dm
Moved all of the files listed as unused in the mining module to unused
Removed several empty folders in modules
Moved cloning.dm into machinery
Moved NewBan.dm into admin
Changed humanoid aliens new_life.dm into life.dm
Moved beast mob into unused
Moved hivebot into unused
Moved carpedexplosion.dm into unused
Moved ai_lockdown.dm verb into unused and removed it from the AIs verb list as it didn't actually do anything.
Removed mastercontroler2.dm
Moved savefile.dm from human to new_player
Bugfix
People spawning on the starting screen on rev/cult should be fixed.
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@1964 316c924e-a436-60f5-8080-3fe189b3f50e