* 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>
* Sideports a couple of init unit tests from Neb.
* Trying to unfuck initialize logic.
* Removing del()s.
* Adjusting return values to Initialize().
* Moving some dangerous object logic from obj onto the two types that use it.
* Rolling back some init changes and commenting out initialized atom unit test.
* this comment formatting is a minor war crime
* Removed sleep() from signaler circuit Initialize().
* Additional Init fixes post-rebase.
* Uncomments subsystem test since that's passing.
While pAI could open their communicator, they were unable to interact
with any of the buttons in its UI. This adds the UI of their own
built-in communicator to the other two UIs they were already explicitly
allowed to access (those of their own radio and their own interface).
* Added a proc to the map datum which returns what zlevels a nanomap capable computer should display.
* Updated the atmos control, power monitoring, crew monitoring, and camera consoles to use it.
* Changed templates to not show the map button if no map levels are available.
* In addition to showing APCs on a sensor'd powernet, the same APCs can be shown on the nano-ui map!
* Hover tooltip shows basic information on the APCs.
* Makes it easier to spacially understand where APCs are when you send people out to work on them.
* In addition to showing a list of air alarms, the atmos computer now shows them as pins on the nanomap.
* Since the atmos computer shows all z-levels, the nanomap will be mutli-z. Limited to station levels of course.
Links many map-specific details such as the station name, z-level information, and allowed jobs from global vars to map datum vars, which should help us maintain multiple maps at once in the future, which will be needed for the future Southern Cross.
Note that a config change will be needed to change GENERATE_ASTEROID to GENERATE_MAP, otherwise no changes should be required to continue normal map usage.
To change to a different map, it's suggested to tick the file that ticks all the other needed files, which for the Northern Star is called northern_star.dm.
* Particularly noticable on the cartridge button of the PDA, any time we transmit a name containing \improper or \proper using nanoui it shows up as ÿ
* This is becuase BYOND internally handles these escapes by simply using character 0xFF etc.
* We'd better strip them out before sending them as JSON data so they aren't rendered as ÿ when treated as utf-8 encoding.
Limits biolgical gender by species and defaults to male/female.
Can also set gender identity which determines which is displayed upon examination and suchlike along with being shown in medical records