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
Chemistry:
I added a new variable to each reagent called "color". It's a hexadecimal string used to give a reagent a unique color for use in future shenanigans that are in development atm. Updooted the Chemistry-Readme.dm file to include some other variables I included into the recipie system as well as this new color variable. Implementing these colors is still an ongoing effort, and yes you will be able to "blend" these colors.
Viruses:
Nothing has been CHANGED (yet) but there is some framework for a new virus system to work alongside our current one, special thanks to Googolplexed of Baystation 12! If this weren't tied to some other things I changed, I wouldn't be committing this in the first place. While experimental, you shouldn't even notice this exists.
!!BUGFIXES!!:
Wow, there's so many I'm having a hard time keeping track of it all!
A bunch of runtime errors were hopefully fixed. There were some problems with slicing stuff spitting out runtime errors because an istype() was missing. The same goes for ritual tomes and some other things. Medical cyborgs were also fixed: their pills will now recharge properly and stop spitting out atrocious runtime errors.
It was intended for it to be possible to shoot people on top of Mulebots, but a runtime error always cut the proc off before it could execute. This has been fixed.
There are probably some other things I'm missing, but all in all, that's about it for the bugfixes.
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@1905 316c924e-a436-60f5-8080-3fe189b3f50e