* Adds linter defines to repo.
* Uncomments linter defines already in the code.
* Resolves unreachable code linter errors.
* Nukes decade+ old syndie specops code except for computer since that's mapped in?????
* Resolves procs has no parent linter error.
* Proc signature fixes
* Bad comments
* "In" danger
* Type safety
* Implied nested list abuse
* Top level ..() usage
* Sleepy coder typos
* Invalid kwargs calls
* Pointless returns
* Linter hacks (see full message)
Byond doesn't care and it has no effect but linter doesn't like var/proc
for holding references to procs, despite that it's valid byond code.
Also, the linter seems to have serious issues figuring out relative
proc names. This commit is a sort of take-it-or-leave-it thing. It's not
required, it just cuts down on warnings, but this code is valid DM code.
* WHATEVER THIS IS
* Trick dreamchecker linter into ignoring this file's sins in it's weird use of vars
* Fix list decoration syntax - Its a list, not list of lists
- To declare that a var is a list you can `var/list/blah = list()` syntax or the `var/blah[0]` syntax. Both do exactly the same thing. But if you do `var/list/blah[0]` that is just like doing `var/list/list/blah = list()`
* Hopefully stops the ai holder subtype folder from going quantum and sometimes changes capitalization over time, and incidentally causing 20+ linter errors.
* Fixes unwrapped negated object in list linter error.
* Resolves colon-like list accessing linter error.
* Turns linter on in linter config.
* Fixes closet indentation properly and cleans up suit storage unit switch.
Co-authored-by: Aronai Sieyes <arokha@arokha.com>
Co-authored-by: Leshana <Leshana@users.noreply.github.com>
* Baseline work for Department Goals. Implements round-end stats, based in 3 categories of roughly-more-interesting to less interesting.
* Active Goal Separation.
* Map.
* Actually does the second half of this in this PR instead of a different one.
* Begins the Project
* Move things to where they belong, if viable.
* Merge and move those files.
* Finish filenames, fix Taj ears.
* Tweak to Ater's Requests
* The Great Mergening with 03_body.
* Per Requests
* Continue per request. Plot nefarious plans to make Saviks usable as battlemounts.
* Smarter Proc Use
* Tweaken
* Make Butchering more modular. Don't tell the demon lords.
* No guts no glory. That was far more work than expected to get organs to just process and work for butchering holy shit.
* Chitin and hides oh my.
* squeak. ..Why did this not fire on local?
* Squelch.
* Seven cubed livers, for the doctors in their sterile halls.
* Changeling
* Prep for Datums
* Fix Broken Broken Guns
* Redundancy
* F l a g s
* Begins the Project
* Move things to where they belong, if viable.
* Merge and move those files.
* Finish filenames, fix Taj ears.
* Tweak to Ater's Requests
This adds throw_alert() and /obj/screen/alert, a system that allows you to do custom hud alerts for any variety of things from "You're too cold!" to mecha status indicators for the pilot.
There's quite a few things that actually got replaced; the
fire/oxy/tox/co2 alerts are all now just alerts, as is nutrition. There's also a number of new alerts, such as blindness, highness, legcuffed, buckled, handcuffed, and probably some more I missed; read code/_onclick/hud/alert.dm and see for yourself!
Additionally, a number of tweaks have been done to resisting code, to make it so that there's an indicator when you're buckled or handcuffed, and can just click the alert to start resisting. This includes a refactor that combines the logic for lockers, holders all into one proc, called container_resist().
Also, the health and internals indicator got moved down one tile each. Needed room for the alerts. If we add the oxygen tank action buttons from /tg/ and remove the internals indicator, the health indicator can go back where it was originally.
Alerts, pictured in the top right.

* Chaning undislocate to relocate.
Have to use web browser for this one at the moment.
* Changes undislocate -> relocate
* Last file to change to relocate
* Changes it to the best medical term for the action.
* Reduce -> Relocate
* Fixes#4632.
* 1:27 am coding best coding
* fixes a warning
* Removes the last of the gender macros. Gender is dead.
* gender II: the travis-ing
* linebreaks are dead too.
* oops i accidentally the gender, also ambiguous gender is now taken into account for get_visible_gender
* Polaris initial plane upstream merge
* POLARIS: Fix RIG visors with new plane system, and material scanner VIS_FULLBRIGHT
* POLARIS: Fix GetFlatIcon so that cameras and id pictures don't show the HUD overlays.
* POLARIS: Adds a 'alter values' proc for plane master ease of tweaking
Setting stuff like colorblindness variety and things.
* Remove NIF reference, fix lighting layer define
* Handle effects above lighting plane
* Moved all layer defines to planes+layers.dm
* Fixed overlays that are supposed to be above lighting to use the PLANE_LIGHTING_ABOVE
* Merge: 3000% human/update_icons() speed improvement
* Merge: Avoid ghosts pointing at things
-Okay so. The dismemberment related crashing has decreased in the mob icon cache related cases, but another circumstance has been revealed pointing towards the severed limbs themselves.
-(Someone got splattered yesterday downstream and nuked half server into chain crashing)
-Anyhow. I personally had completely forgotten to update my client last year from an awfully outdated pre-PIXEL_SCALING version, but I happened to do it way after people began crashing and cannot remember encountering a single crash from the before time.
-Which led to a theory that our poor little Byond simply has trouble adjusting to fresh features and occasionally gets overwhelmed by the task of tossing around a bunch of severed limbs inheriting their owner's visual properties while also having to randomly rotate each one.
-This thing just disables pixel scaling from severed limbs upon dismemberment.
-Because of the evil nature of the bug unpredictably manifesting in action and often leaves some witnesses un-crashed, I have no proof if this helps anything but I'll just toss it up and see if it sticks.
Now certain weapons can strike faster or slower than usual. No weapons currently do this as this PR just lays the groundwork for that.
The click delay can also be modified with traits. The slime agility modifier makes attacks happen 25% sooner.
Adds debug test verb to display a weapon's DPS. It's really basic but should be sufficient for future force adjustments I might do in the future.
Adds a fairly simple system that allows adjusting various numbers like max health, incoming damage, outgoing melee damage, etc. The nice part is that changing certain variables this way (like max health) is a lot safer than manually setting the max health var directly.
Changes a lot of short lines of code to point towards a variable's getter or setter helper instead of reading the var directly so the modifiers can work.
Endoarmor, delayed toxin sting, Enfeebling sting, and recursive adrenaline overdose now use the modifier system.
Enfeebling sting now only lasts two minutes, from five minutes, however it now also reduces the victim's melee damage by 25%/50%, and increases the damage they suffer by 10%/35%, for normal and recursive respectively.
Delayed Toxin Sting's effects are now felt all at once instead of over the course of a few minutes.