More tweaks to IPC fixes.
Merge resolution/compile fixes.
Further work on properly integrating, updating and fixing prosthetic options.
Repathed internal organs to organ/internal.
More work on full synthetics, changelings, overheating.
Working on getting organs to qdel properly and spawn properly when robotized.
Finalized some overheating values, added remaining prosthetic icons.
Finalizing the testing version of the full prosthetic bodies branch.
Added suit cyclers to the autolathe and map.
Fixing runtime errors.
Fixing errors.
Changelog.
Replacing limb and organ strings with constants.
Prevented brainless species from becoming full cyborgs.
Fixed issues with brain/MMIs renaming themselves inappropriately.
Various fixes and oversights.
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.
Also fixed some grammar in the station blueprint code.
Conflicts:
code/game/objects/items/blueprints.dm
code/game/objects/items/devices/uplinks.dm
code/modules/admin/verbs/debug.dm
code/modules/clothing/masks/gasmask.dm
code/modules/detectivework/scanner.dm
code/modules/flufftext/TextFilters.dm
code/modules/mob/living/carbon/human/say.dm
code/modules/mob/living/silicon/ai/say.dm
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.
= Giant Spiders =
- Nurses spin webs which impede progress, bundle items and mobs up in cocoons, lay eggs to create spiderlings
- Nurses are slow and weak, but their bite has a chance to paralyse the victim
- Spiderlings skitter about and eventually grow into giant spiders.
- Spiderlings will ventcrawl, so they can spread over the station pretty fast.
- Hunters are fast, have decent health and the most effective poison
- Guards are medium speed but the health and direct damage
- The poison of hunters and guards can cause hallucinations if they bite you
= Farm animals =
- Cows can be milked or butchered for a large supply of meat. Sadists can also tip them over (with intent_help).
- Goats can also be milked, but have a nasty temperament.
- Chicks grow up to be chickens, who lay eggs and continue the cycle. But where did it start? (they're very noisy).
- All three are orderable via QM.
My changes:
- Added a spider infestation event.
- Optimized code with spiders and simple_animals.
- Made a /hostile/retaliate type which will only fight back when hurt. Based on Cael's code.
- Added some farm animals on the map.
- Changed events, added a setup() proc which can let you setup variables or the event. Made the event only kill itself when it has called, announce(), start() and end().
- Brainrot will only need alkysine as a cure.
- Communication blackout will always be silent.
- Changed some admin buttons to use the new event system.
- Added a forceEvent proc which you can use when you enable debug verbs.
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@5525 316c924e-a436-60f5-8080-3fe189b3f50e
- Xenos suit and helm (completely obscuring, and almost indistinguishable from drones) (admin spawned only for now).
- Facehuggers now have different icon states for being thrown and after impregnation.
- New death, unconscious and sleeping icons for aliens.
- New icon (and projectile type) for neuroxotin.
- New infection overlay images for telling aliens about pregnant humans (3 icons, showing the progression of the infestation).
- New system for handling alien impregnation (alien embryos are an object inside the mob, instead of a disease).
- Players can be operated surgically to remove the alien embryos (targetting the chest: scalpel, surgical saw, hemostat, retractors. If the embryo is nearly fully developed, it might come out alive though.
- Corgis can now get impregnated.
- There is a short animated overlay of a chestburster when it comes time to burst chests.
- Alien larva now have three different icon sets, depending on their growth (25% they are bloody and pale, 25% - 75% they are pale, 75% onwards they are deep red).
Fixed up table smashing, and added rack smashing in the same way.
Added new north/south facing for the large alien queen.
Updated the changelog.
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@5493 316c924e-a436-60f5-8080-3fe189b3f50e
-Removed an unneeded fingerprint proc.
-Fixed some of the blood/vomit/gibs spills not correctly processing.
-Reduced the life of a virus with no mob host.
-You can now tell how a virus spreads by the Pandemic.
-Made making vaccines quicker and making blood virals quicker too.
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@5232 316c924e-a436-60f5-8080-3fe189b3f50e
Gave the high level symptoms their own preset diseases and added them to the virus crate, along with a bottle of mutagen.
Several disease fixes, such as disease stages going below 0. Diseases which spread by blood will longer spread when you touch someone (i.e: click on someone)
I also did some cleaning up with comments.
Made handheld radios broadcast if their messages aren't sent on the same level as they're on, meaning that turning off the relay to the station will not make it impossible to communicate with others with radios.
Made some events only effect people on the station Z level.
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@5192 316c924e-a436-60f5-8080-3fe189b3f50e
-Changed the focus from the high-res scanner to the regular scanner. It will simply scan the fingerprints and display them to the detective. For extra functionality, it'll store it's findings in a log and then you can print it out in a report by using attack_self().
-Detectives can now use the medical computer.
-Removed the pda forensic scanning functionality.
-Got rid of now useless high-res scanner computer. Got rid of the now useless fingerprint cards.
-Added a medical computer to the detective's office and replaced the useless medical cabinet with an empty one.
Other
-Got rid of diseases magically moving down a stage.
-Optimized playsound()
-Added an attack_self() to sprayers so that you can change the reagent use of them between 5 and 10.
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@5168 316c924e-a436-60f5-8080-3fe189b3f50e
-Added a new symptom. Voice Change will randomly change the voice of the affected mob. It isn't obtainable by Mutagen and I'll likely put it in the virus crate when I have more dangerous viruses.
-Added two new symptom procs. Start() will be called once and it'll be called when the advance disease processes. Allows you to setup stuff for your symptom. End() will be called before the disease is deleted.
-Diseases that spread by blood won't spread by contact anymore. You will need to directly inject someone to get them to catch the disease.
-Put a limit on shivering and fevers.
-Added a specialvoice variable. You can use SetSpecialVoice() to set a special voice that the player will say instead. To unset it, use UnsetSpecialVoice(). GetSpecialVoice() will return the player's special voice value.
-Added two DEFINEs for the limit which is how much a human can take before taking burn damage from heat or coldness.
-Some symptom value changes.
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@5136 316c924e-a436-60f5-8080-3fe189b3f50e
General work to advance diseases.
-Changed the possible cures to a list which is ordered from easiest to cure to -hardest to cure.
-Some tweak valuables to symptoms.
-Air alarms will update their window when you cut/pulse wires.
-Re-added analysers to mechanical (blue) toolboxes.
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@5125 316c924e-a436-60f5-8080-3fe189b3f50e