Nano manipulators were not lowering build time at all.
Stock and Pico manipulaors were lowering build time by 6%.
This fixes that. Now: Stock = standard build time, Nano = 6% faster, Pico = 12% faster.
Fixes#4447
- Added a parent call to each wardrobe subtypes New() proc.
Wardrobes weren't calling obj/structure/closet/New(), so weren't adding items in the same location to their contents when first created.
- Removed wardrobe/New() proc.
So all subtypes don't inherit an extra set of blue uniforms and brown shoes. Only one wardrobe on the map is of this type, and it's on the derelict, so didn't think it was worth making a map change.
Before: If a canister is hooked up to a connector port it's icons were being deleted and recreated every tick.
After: We store an update_flag that is a bitfield of the current icon and overlay states, and created a proc to check if it should change. If not, we don't mess with icons. Real simple.
This is a hacky fix and is temporary until I can sit down and figure out exactly why it's not encoding that block of DNA properly.
The result of it not encoding it into the dna is that if you clone the person they have a random value there that was assigned at round start.
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
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
Now only humans that are logged in, alive, and not already a revolutionary (no special_role) show up in the list.
Instead of EVERY mob type (simple_animals, borgs, etc.)
Tried a couple of other solutions, but this ended up being the most reliable.
Now checks all areas associated with the firedoor to see if they should still be down.
Also makes a final check before closing the door in case the fire alarm turns off in the middle of an autoclose cycle.