Commit Graph

14 Commits

Author SHA1 Message Date
Neerti fdabe51ee8 Linter Introduction + Cleanup (#8085)
* 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>
2021-05-25 18:17:26 -09:00
Abbie Fland 47b45eb1f8 Fixed pAI communicator buttons.
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).
2018-02-22 03:17:03 +00:00
Neerti 12abb2d6f2 Ports a large chunk of the map datum system that europa/bay uses.
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.
2017-02-27 07:36:41 -05:00
Kelenius acc78a8000 Changes types of ghosts and eyes
``/mob/dead/observer`` -> ``/mob/observer/dead``
``/mob/eye`` -> ``/mob/observer/eye``

Reason being that they are similar in that they both don't interact with
the world in any way. Some procs were shared, some checks as well, and
it overall makes more sense this way. Plus, there were no ``/mob/dead``
mobs.
2016-02-20 15:36:05 +03:00
PsiOmegaDelta 443a376848 Ghosts can now view any object with a NanoUI interface.
However, ghosts can now also only view objects in range to ensure that the NanoUI window count is kept low.
Admins do not suffer this restriction and may also interact with these windows.
2015-12-07 02:35:33 -05:00
PsiOmega 93a8a3a13f Observers can now view radio settings, admins can alter them. 2015-09-04 10:07:41 +02:00
PsiOmegaDelta c2e2252342 Synth access and icon update changes.
Refactors how synthetics set their modules. On login, if appearance selection was initiated but not finalized, the selection options popup again. Fixes a long-standing issue of borgs being able to look like the standard module by loging out.
Ensures the syndicate agent IDs and syndicate borgs will always have the same initial access permissions.
Removes now unnecessary syndicate snowflake code from NanoUI.
Synths now utilize actual ids.
2015-08-20 12:40:08 +02:00
PsiOmegaDelta 6b01a67c50 Merge remote-tracking branch 'upstream/master' into dev-freeze
Conflicts:
	code/modules/admin/admin_verbs.dm
	code/modules/nano/interaction/default.dm
2015-08-05 09:16:50 +02:00
PsiOmega 952cdda4e6 Merge remote-tracking branch 'upstream/dev' into PortableNanoUI
Conflicts:
	baystation12.dme
2015-04-26 19:40:05 +02:00
PsiOmega e2ce3d1e01 Scrubber NanoUI interface.
Ports https://github.com/d3athrow/vgstation13/pull/4142 with added Bay-flavor.
To operate once must be adjacent to the scrubber.
Silicons can view the status panel from any distance they are able to access the scrubber from.
This preserves the current behavior.
2015-04-26 17:34:56 +02:00
PsiOmega 27abc7404d Gives AI a personal atmospherics control subsystem.
Includes further work on NanoUI interactions.
2015-04-19 00:24:19 +02:00
PsiOmega aa5d5d5256 Fixes NanoUI interaction.
A number of machinery objects were returning STATUS_INTERACTIVE instead of parent.
Fixes missing subtype definition for /var/global/datum/topic_state/default/default_state.
2015-04-13 23:19:22 +02:00
GinjaNinja32 d4eb42b38b Merge remote-tracking branch 'upstream/dev-freeze' into dev
Conflicts:
	code/modules/mob/living/carbon/human/update_icons.dm
	code/modules/projectiles/targeting.dm
2015-04-13 12:49:07 +01:00
PsiOmega e37c5c22d4 Refactors NanoUI interaction (again)
Takes NanoUI interaction code and splits it into more manageable modules.

The default handler that checks distances, camera coverage, etc., etc.
Admin NanoUI windows now only check for admin rights, ignoring sight, distance, and anything else.
ERT/mercenary appearance changer now remains open for as long as the mob remains on the admin Z-level.
PDAs and uplinks now require that you keep the item somewhere in your main inventory (or contents to be precise). Hands or ears are fine, inside bags are not.
Rig suits also check that they are in the operator's inventory or that the synthetic operator is somewhere within the suit's contents (recursively).
2015-04-10 11:19:38 +02:00