Commit Graph

28 Commits

Author SHA1 Message Date
spookerton 556331a6a3 use /global/ sugar for bare globals, no leading / 2022-04-24 07:54:34 +01:00
Atermonera 671b5e7ea4 Closet appearance decls correctly use the repository (#8154)
* Closet appearance decls correctly use the repository

* GET_DECL
2021-06-27 20:45:23 -09:00
Atermonera beaf109060 Refactors posters to use decls (#8128)
* poster

* Moves decls_repo init forward

* Moves decl_repository init even further forwards
2021-06-18 19:14:49 -07:00
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
MistakeNot4892 cccb2a159f Ported updated decls repository from Neb. 2021-03-26 10:44:30 +11:00
ShadowLarkens 971a95bc0a TGUI 4.0 & Camera Console 2020-07-30 17:48:11 -07:00
ShadowLarkens c06a2d2cef TGUI v3.0
This ports TGUI, and makes the old nano crew monitor and the disposal
bins use it as first examples.
2020-07-09 22:06:23 -07:00
Aronai Sieyes 3ae9a118b1 Refactor consoles to operate on logically adjacent zlevels 2020-04-27 10:45:25 -04:00
Neerti f35d9da9a9 A few bugfixes and QoL tweaks. 2020-03-29 02:15:49 -04:00
Unknown 7f4b35580d Blind port of Bay Radiation Subsystem
Figured I would do my part to move everything over to subsystems. Not tested yet.
2019-09-30 23:59:31 -04:00
Unknown 042720823a Updates Part Eleven 2019-04-13 19:30:30 -04:00
Anewbe 75ab24145c Subspace Jammer now blocks signalers, suit sensors, lasts longer 2019-03-02 15:26:33 -06:00
Neerti 3c4bb873eb Fixes Lead Walls (#5562)
A material's ``radiation_resistance`` was never considered for calculating a wall's cached resistance to radiation. This fixes it. There is another issue involving r-walls not being better at stopping radiation than their normal-wall counterparts made of the same material but fixing that involves a lot of number adjusting to avoid the SM engine from getting twice as protective.
2018-09-12 18:47:27 -07:00
Anewbe ee48151135 Adds smart magazine, magazine functionality 2018-08-21 17:10:40 -05:00
Neerti 7da5da69eb Tweaks Lead & Radiation Resistance 2018-02-12 07:10:26 -05:00
Andromeda-K22 cee3066a41 RUST additions and updates, Modular guns, and Lead. (#4667)
* expanding rupture procs
adds hydromagnetic traps for power production.

* Minor tweaks.

* Adds modular guns using research components.

* Updates materials to have a radiation_resistance variable, used in calculating radiation. Adds Lead as a material.

* Un-zeros stock material radiation resistance.

* Adds, and enables four 'end-events' for the RUST in place of the old Rupture() proc.

* Map muckery?

* absolute pathing i guess?

* getting angry, travis.

* TRAVIS
STAHP

* I...
Comments? Lists? Who the hell knows.
2018-02-04 18:04:28 -06:00
Leshana 00d13c5832 Fix more Destroy / GC issues.
Fixes recursive Destroy call on containment field.
Fix unable to GC issue on air alarms.
Fix unable to GC issue on radiation sources.
2018-01-21 22:49:27 -05:00
Leshana c4c5dc098a Fix runtimes in radiation controller
* Fixes Baystation12/Baystation12/issues/17443 - Runtime in radiation.dm,30: illegal: sqrt(-2.857143)
  * Updating radiation power to below zero should simply delete the source.
* Fixes at least one cause of Runtime in radiation.dm,41: Cannot read null.z in an effort to fix Baystation12/Baystation12/issues/17411
2017-06-11 20:50:13 -04:00
Leshana d4ebcac3f6 Update radiation system for the new garbage collector. 2017-06-05 22:10:07 -04:00
PsiOmegaDelta ebe5cc916d Port of @PsiOmegaDelta's Baystation12/Baystation12#16820
Ports tg's garbage collector subsystem and Destroy() returning qdel hints.
2017-06-05 22:10:06 -04:00
Leshana 8315abb352 Fix issues with radiation controller on multi-z maps.
Radiation sources are by design z-level specific, the ray trace check needs to respect this.
2017-06-02 07:56:09 -04:00
Anewbe 0af77012c4 Merge pull request #3465 from Yoshax/radiation
Ports radiation rework and stuff from Bay
2017-05-31 18:37:58 -05:00
Leshana 2c8df87899 Tweak to Radiation Optimization
* Optimized garbage collection of radiation sources until we get qdel() hints.
* Made the RADIATION_LOWER_LIMIT configurable (option for people to save some cpu time)
* Added some comments and broke the proccessor into separate procs for profiling purposes
* Added a changelog.
2017-05-30 13:55:53 -04:00
Leshana 34c73dab69 Optimization/Rewrite of Radiation Controller
* The performance of the radiation controller as-is was not fast enough for inclusion in production servers, but it has some nice featuers, so rewrote it to be more performant.
* Instead of storing the radiation strength for every turf, we only store the sources of radiation, and calculate the strength only for mobs who might be in range.
   * Old method was ray-tracing to every turf in range whether anything was there to be irradiated or not.  Could be hundreds of turfs.  New method only lazily calcualtes strength at a turf if we actually need to know it.   Often times this is zero turfs if nobody is standing in engineering.
  * Removed the automatic processing of objects with "rad_power" set.  Objects are responsible for calling the repository to create/update their radiation sources.   Saves some extra overhead that in practice was redundant with other process controllers.
  * Also tweaked to be more respectful of qdel'd objects and added some comments.
2017-05-25 18:43:56 -04:00
Leshana e16a3f4b3d Updated crew monitor computer to support multi-z output and nanomaps. 2017-05-22 16:15:47 -04:00
Ben Reeve 6185bbd212 Unified radiation system 2017-05-22 16:24:34 +01:00
Datraen 3d442044d1 Adds Gene Targetting mode to Floral Somatoray
While I was rooting around in hydroponics code, I saw that a list was being regenerated with UI interaction, so I threw the list into the plant controller.

No proper sprites for the Floral Somatoray's new mode yet, but it uses the gun sprite from mutate mode, and the projectile sprite from yield mode.
2017-05-03 13:33:58 +01:00
PsiOmegaDelta e7686dd3e7 Camera fixes and performance tweaks.
Improves camera EMP handling. Now uses a var and processing to determine when the EMP should end, preventing inconsistent states when a camera is EMPd multiple times.

Reduces the process and bandwidth need for cameras.
* There is now a common camera repository, responsible for setting up cameras once for every invalidation.
* Camera consoles now only updates when the camera cache is invalidated, not every second.
* The console now only presents one network at a time, and only sends the data necessary to view that network (as opposed to sending the data for all cameras).
2016-03-21 17:30:52 -04:00