Before: EVERYTIME someone moved their character this proc would be called and loop through every organ looking for implanted items to see if it needs to apply damage.
After: We create a flag that is set when an item embeddes, only when that flag is set do we do that loop through organs upon movement. Also every 10 ticks while that flag
is set we will check to see if we need to unset it.
Fixes#3676
Before: Toggling would get stuck where it wouldn't toggle the camera until you reset your view.
After: Camera light toggles, you have to toggle off before turning on a new camera light though.
pAI has to be a special little snowflake and have it's own messenger proc instead of letting a AI-PDA handle it.
So, updated it with the newest tnote variable functionality so it can participate.
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
Code was using a switch with variables in it. This doesn't work.
Replaced it with an if..else sequence.
Thanks to the guys from Paradise for finding this.
Note: this only fixes literal heart problems, it won't do anything for relationship issues.
Similar to the handcuff resisting layer bug.
When removing an item from your inventory that has associated inventory slots, items that were dropped from the extra inventory slots would be dropped with incorrect layer variables (set to 20 so they were rendered over the UI).
Now when the extra items are dropped, it calls the drop_from_inventory() proc, which correctly changes their layer back.
Fixes#4324
Resisting out of handcuffs was leaving the handcuffs layer set to 20 (over top of the UI).
Changed it to use the drop_from_inventory() proc so it handles the drop event correctly.
Stealth-Mode Admins won't have their keys show up in the title of private messages anymore (unless the person sending the message is mod+)
Admins PM's to players will show up as red again. You are welcome Virgie!
You have no HUD when zoomed. None, I'm unable to move every HUD element while zoomed in so you lose it. Consider it part of your concentration while zoomed in.
If you move while zoomed in you automatically zoom out, you lose concentration.
If the rifle isn't in your active hand you can't zoom in.