Commit Graph

253 Commits

Author SHA1 Message Date
Ccomp5950
084c0754ad Code effeciency project: HUD items rewrite
Before: Every tick each HUD item would recalculate and redo images for every mob in view. For items like the secHUD where we're transversing implants and the various records this gets very expensive.

After: Mobs use their hud_list variable to store varius huditem images, when conditions change for those specific huditem images it updates the specific ones on demand. As a backup every 30 ticks or so the mob will update all of their hud_list.

Also: moved proc/RoundHealth() from 2 seperate locations into __HELPERS/mobs.dm
2014-03-09 10:25:36 -05:00
Ccomp5950
bb9a66cc3a Effeciency Project: APC / Machinery power usage.
We no longer run auto_use_power() on every machine every tick.
We now have a global list of areas, and areas that have an APC in them (all_areas and active_areas) no more looping through world bullshit.
A bunch of snowflakey as fuck machines won't use_power() in their process, you get two options, active and idle, use them!
This means a lot of machines won't double dip on power as well so power usage for the station has dropped about 20%

Because everything is snowflakey as fuck we're going to have some machines that don't force an update on their power usage.  Fuck them.
We should catch them with the root obj/machine/proc's forcing updates.
2014-03-08 03:42:44 -06:00
Chinsky
4dba89a288 Fix for #4542
Now synthetics do not contract viruses
2014-03-08 03:38:30 +04:00
Chinsky
c906fbf7dd Added system for viruses to affect only certain species.
Currently it ignores synthetic species competely.
2014-03-08 03:32:10 +04: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
Chinsky
40e862fe00 GC's virus dummies #whoa #derp 2013-11-05 01:13:49 +04:00
Chinsky
3a425c6095 Another uncommented log debug line. 2013-11-05 01:08:31 +04:00
Segrain
121b10b16c Conflict fix. 2013-10-21 04:37:28 +03:00
Chinsky
ac7aae7358 Fixed #3776
Missed update_body calls
2013-10-16 10:57:19 +04:00
Mloc-Argent
a1f55a50b1 Massive click code rework by SuperSayu, ported from TG.
Full details at https://github.com/tgstation/-tg-station/pull/1206
Fixes #3648

Hopefully done right this time.

Signed-off-by: Mloc-Argent <colmohici@gmail.com>
2013-10-08 20:27:39 +01:00
Chinsky
f53fa1dee2 Merge branch 'viro' of https://github.com/Mloc/Baystation12 into viro
Conflicts:
	code/modules/virus2/disease2.dm
	code/modules/virus2/effect.dm
2013-10-06 13:34:50 +04:00
Chinsky
e76721b6e8 Lowered immunity chance, it fires way too often with multiple viruses and such. 2013-10-06 13:25:23 +04:00
Chinsky
4d42a3a36d Changes to Shutdown Syndrome.
Now it only affects limbs.
Icon is changed to deformed to reflect it.
Dead limbs do not cause pain messages.
2013-10-06 09:04:41 +04:00
Chinsky
f42631bdbe Adds contact-spread viruses.
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.
2013-10-06 08:49:51 +04:00
Chinsky
0cd28f9ca5 Bumped infection chance so viruses infect. 2013-10-06 04:23:24 +04:00
Mloc-Argent
9ab11c0aeb virus fixes. WIP will update commit message later
Signed-off-by: Mloc-Argent <colmohici@gmail.com>
2013-10-05 18:52:08 +01:00
Zuhayr
7ab7a61812 Merge resolution, using dev-freeze map. 2013-09-09 21:59:47 -07:00
Mloc-Argent
a084f74c7d Expansion of every "icon = ''" path.
Supposed to help compilation times.  Who knows.

Signed-off-by: Mloc-Argent <colmohici@gmail.com>
2013-09-01 21:53:36 +01:00
Zuhayr
2cf9a18f9e Merge pull request #3572 from Baystation12/master
Merging master into dev.
2013-08-22 23:01:15 -07:00
Mloc
e20f2e1409 Small fixes to hair.
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>
2013-08-22 15:12:59 +01:00
Mloc-Argent
31d1307ed2 Merge branch 'master' into dev
Conflicts:
	code/modules/virus2/effect.dm
2013-08-20 21:57:01 +01:00
Mloc-Argent
c188e46efc Removes alien virus.
Signed-off-by: Mloc-Argent <colmohici@gmail.com>
2013-08-20 21:54:37 +01:00
Zuhayr
2f58a6fe62 Merge pull request #3527 from comma/dev
Removes Alien syndrome because it kinda does not make sense.
2013-08-15 20:23:29 -07:00
Chinsky
34cd3cdedf Removes Alien syndrome because it kinda does not make sense. 2013-08-16 07:14:57 +04:00
Erthilo
070cb50f8d PDAs can be used when buckled (and not in any other way restrained or stunned). Rejuvenate now completely heals a target or broken organs and viruses too. 2013-08-11 17:13:58 +01:00
Mloc-Argent
dd303f9f82 Fixes for virology machinery.
Browser UI properly updates on click and on process()
Dishincubator now properly removes radiation (again)

Signed-off-by: Mloc-Argent <colmohici@gmail.com>
2013-08-06 11:59:50 +01:00
Segrain
0a4e4310fd Fix for #3432. 2013-08-06 01:32:34 +03:00
Segrain
440b37dcf4 Fix for #3430. 2013-08-05 03:06:31 +03:00
comma
e0f7097c23 Makes engineered viruses airborne too, since otherwise they are nigh useless. 2013-07-09 14:16:58 +04:00
comma
1b9d6f67e2 Made mutation change virus ID. 2013-07-01 17:22:20 +04:00
Chinsky
8bd7d77916 Medical record viral DB now should list scanned virus2 stamms.
Fixed runtime in analyzer DB uploading.
Fixed derp in get_info() proc for viri
2013-06-28 23:57:16 +04:00
Chinsky
051edc2227 Started implementing of ViroDB.
-Analyzers now add info about viruses they scan to global list.
-Health analyzers will only find known viruses.
2013-06-28 15:43:58 +04:00
Chinsky
a4325d69eb Fixes for runtimes and viruses staying in blood after curing. 2013-06-21 21:37:20 +04:00
Chinsky
a3587dc81d Adds new virology machine - centrifuge.
Used for extracting virus samples or antibodies.
Accepts only vials.
2013-06-19 02:33:32 +04:00
Chinsky
960a22ee43 Changes way viruses are stored in mobs.
Now it's an associative list:
uniqueID - virus datum

Updated most instances to match it.
2013-06-19 02:28:53 +04:00
Chinsky
898da9b310 Moved function of infecting blood samples with viruses to incubator from the cure machine. 2013-06-16 11:31:42 +04:00
Chinsky
6f45ff68c7 Changes to effects:
fixed indentation in some cases.
added feedback message to disorientation effect.
changed mucus virus transfer to proper proc
2013-06-16 11:30:47 +04:00
Chinsky
5aa1170bd3 Changed isolator to be able to isolate any virus from sample. 2013-06-16 11:29:18 +04:00
Chinsky
934a25a172 Added antigen check to viri comparing proc. 2013-06-16 11:27:00 +04:00
Chinsky
5d7b62f32d gave virus slight chance to change antibodies they could be cured with. 2013-06-09 18:31:11 +04:00
Chinsky
d25c9723e1 Two new syndromes, ideas stolen from TG's advanced diseases:
-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.
2013-06-09 18:28:41 +04:00
Chinsky
915c37f1b6 Two new syndromes:
-Retrovirus : scrambles DNA.
-Shutdown : limbs become unusable. Reversed when cured
-Fragile Bones :
2013-06-09 17:28:56 +04:00
Chinsky
5056e3a4fa Added fever to the virus progress. 2013-06-09 17:06:37 +04:00
Chinsky
e74f52f86b OCD commit, makes capitalizations uniform 2013-06-09 16:39:03 +04:00
Chinsky
28c15adaa3 Fixed runtime in blood transfer.
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
2013-06-09 16:30:22 +04:00
Chinsky
be8ca60280 Changed how 'greater' effects are picked, now it's var-based, not type-based.
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.
2013-06-09 14:27:41 +04:00
Chinsky
7a8a822a92 Made it possible for mob to be infected with several viruses at once. 2013-06-09 13:31:16 +04:00
Chinsky
5703b8089d -Forgot to commit one file for previous iteration.
-Fixed derp with analyser.

Refactoring virus2, Part II - Viruses.
-Removed obsolete curing/resistance methods.
-Split base.dm into disease2.dm, effect.dm, helpers.dm.
2013-06-08 18:44:57 +04:00
Chinsky
1820a227a1 Virus2 Refactoring, Part I - Machinery.
-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.
2013-06-08 17:36:12 +04:00
Chinsky
405dff19b8 Moved virus2 out of WIP folder.
It's been finished years ago...
Also removed Disease2 folder which is just older versions of same files.
2013-06-08 13:00:37 +04:00