* Refactor/deduplicate camera eye code
Camera Eyes previously had duplicated logic across several files. This
change uncooks the spaghetti. Additionally, half-baked support for TG's
multicam feature has been removed, as it was not functional or in use.
* lets ff now
* Camera Eye refactor fixes and finishing touches
This change completes a refactor of AI eyes, which were previously used
by xenobio consoles, syndicate and abductor camera consoles, shuttle
docking computers, holograms, and, of course, the AI. Duplicated logic
has been extracted to an abstract base mob, /mob/camera/eye, from which
new types for each of the above now derive.
Functionality is largely the same, with only a few minor cosmetic
differences (i.e. camera eyes are now appropriately named given their
type and user), as well as a quality-of-life enhancement for holograms,
slowing their movement speed to base run speed to prevent users from
accidentally zooming out of calls.
* Camera eye refactor: Fix AI acceleration toggle
The acceleration toggle was broken in the camera eye refactor, as
previously the boolean was stored on the AI rather than its eye. This
change fixes that.
* Camera eye refactor: Fix syndicate cam visibility
With the camera eye refactor, the syndicate advanced camera consoles
lost the ability to view maintenance tunnels and other areas without
active cameras, seeing static in their place instead (as all other
cameras do). This change reinstates the original behavior.
* Camera eye refactor: Convert spaces to tabs
* Camera eye refactor: Fix CRLF
* Apply suggestions from code review
General minor code quality improvements suggested by GDNgit
Co-authored-by: GDN <96800819+GDNgit@users.noreply.github.com>
* Apply suggestions from code review
Rename parameter names to avoid src accesses, remove an ambiguous and
unused mob_define and holopad range variable from a previous WIP, change
the for loop in /mob/camera/eye/relaymove to a for-to loop, and change
the chat message warning, sent when an AI Eye is created on an AI that
already has one, to a stack trace
* Adds toggle to AI commands for fast holograms
* Refactor ripped Hologram Eye relaymove
Previously, the relaymove proc for hologram eyes was redundant and
nearly impossible to read. It has been separated out into a few
different named procs, and has had its use of `spawn` removed.
* Remove unnecessary src access
* Fix bug involving shuttle placement outlines
The camera eye refactor that this commit is a part of introduced a bug
that prevented shuttle placement outlines from showing up on first use
of the shuttle console. This change fixes that bug.
* Unrevert some changes from #26306 lost in merge
* Remove erroneous free xray vision on advanced cams
* Autodoc camera acceleration vars
* Remove redundant null var initialization per code review
Co-authored-by: Drsmail <60036448+Drsmail@users.noreply.github.com>
Signed-off-by: asciodev <81930475+asciodev@users.noreply.github.com>
* Changed variables to camel_case, autodocs, cleanup
Changed a number of camera eye-related variables to camel_case style,
added appropriate autodoc comments, as per code review. Also removed an
unused cameranet function, modified the call signature of a cameranet
function to be more semantic, and changed a qdel-on-initialize in camera
eyes to return INITIALIZE_HINT_QDEL instead.
Co-authored-by: Luc <89928798+lewcc@users.noreply.github.com>
* Remove stray qdel(src) per code review
Co-authored-by: Luc <89928798+lewcc@users.noreply.github.com>
Signed-off-by: asciodev <81930475+asciodev@users.noreply.github.com>
---------
Signed-off-by: asciodev <81930475+asciodev@users.noreply.github.com>
Co-authored-by: GDN <96800819+GDNgit@users.noreply.github.com>
Co-authored-by: Drsmail <60036448+Drsmail@users.noreply.github.com>
Co-authored-by: Luc <89928798+lewcc@users.noreply.github.com>
* idk what i am doing
* reverts config.toml
* restores test_tiny
* migrates the handlabeler to new attack_chain
* return signals + datum autodoc
* return defines to handlabeler.dm
* trailing newline
* handlabeler goes backpack if no label now
* moved the labeling stuff out of interact_with_atom
* guard clause
---------
Co-authored-by: Toastical <toastical@toaster.com>
Co-authored-by: Toastical <toast@toaster.com>
* Now light is shown on photography
* Also fixed grass disposition on photos
* Fixes icon ordering
* Simplified atom sorting pipeline for captured atoms
* Applied review suggestions
* Refactor /mob/unEquip.
* fix things found in testing
* more fixes from testing
* fix removal of hooded suits
* fix flayers inability to deploy swarmprod
* fix changeling blade activation
* unnecessary parens
* pass default unequip args to proc overrides
* fix belts being able to forceMove into full hands
* MILLA phase 2
* Lint.
* Build Rust library
* Assorted bugfixes and tweaks
* Simplify fire mechanics and make hotspot sending to DM more reliable.
* Assorted tweaks, fixed an issue in the core engine and removed the softcap it made necesary.
* SM fixes, slower plasmafire, less overpowered pyro anomalies, and air alarm improvements.
* Review fixes.
* Build Rust library
* Unbalanced icon.
* Rebalance immovable rods.
* Unbalanced has alerts, can fight airflow (but get slowed)
* Build Rust library
* Stronger space cooling, slower temperature flow, faster burns, burnt floors, and a hotspot display fix.
* Build Rust library
* Tweaks to avoid merge conflict
* Oops.
* Build Rust library
* Rebalance wind.
* Rebalance temperature flow and space cooling.
* Fix gas flamethrower.
* Build Rust library
* Make air push slowdown directional, so you don't get slowed while moving with the air.
* Variable name cleanup.
* Reduce the speed of wind pushes.
* Prevent wind pushes from breaking your pull.
* Prevent swaps during wind push.
* Made supermatter crytals reliably run last in atmos machinery.
* Sped up plasmafire burning, but dropped the minimum burn amount.
* Rebalanced SM heat output.
* Rebalanced pyro anomaly.
* Build Rust library
* Lint
* Build Rust library
* Uncap fuel burnt readout.
* Added Custom air alarm mode, dropped Refill cap to ONE_ATMOSPHERE.
* Updated air alarm modes to use pressure settings instead of ONE_ATMOSPHERE
* Added a list of areas not in Filtering to atmos alert computer.
* Increase pressure gradient and vent output, especially at low distro pressure.
* Changed Immovable Rod from Moderate to Major.
* Lint
* Build Rust library
* More lint!
* Build Rust library
* Magboots, scaled slowdown, and nukie borg immunity
* Wind image
* Wind v2
* Wind v3
* pngcrush
* pngcrush again
* Moved hotspot removal into SSair, add wind effect.
* Lint
* Build Rust library
* Fix hotspots.
* Hotspot visual based on gas burnt
* Build Rust library
* Scaled wind to gas amount, stopped first wind push while moving.
* Made Rust panic logging safer.
* Made MILLA full tick and sleep timers more honest.
* Pressure overlay, ghost mode, atmos goggles.
* Build Rust library
* Lint
* Build Rust library
* More lint-y stuff.
* Build Rust library
* Repair pressure overlay if it loses its loc.
* Bind pressure overlays to their tile better.
* Build Rust library
* Make the pressure overlay work on z=1 and not proliferate effects.
* Don't block the supply shuttle.
* Don't fine for special effects.
* Maybe don't fine for ghosts, either.
* Build Rust library
* Make pressure overlay play nice with shuttles.
* Build Rust library
* Pressure scanning for borgs.
* Build Rust library
* Lint
* Build Rust library
* Made explosions not generate so much wind.
* Removed an old and non-functional proc.
* Clientless mobs can get pushed again.
* Build Rust library
* cargo fmt
* Build Rust library
* Don't divide by zero.
* Plasmafire generator for the Shadow
* Update shadow to use plasmafire generators
* Fix shadow's plasmafire generators going out on depart.
* Prevent heat2color from runtiming at absolute zero.
* Better nanofrost
* Build Rust library
* Singularity immunity
* Build Rust library
* Add back meson mode to atmospheric scanner goggles, so they don't stare deeply into the SM
* Build Rust library
* Dump panic outputs into data/ instead.
* Build Rust library
* Apply suggestions from code review
Co-authored-by: Burzah <116982774+Burzah@users.noreply.github.com>
Signed-off-by: Charlie Nolan <funnyman3595@gmail.com>
* Saner handling of MILLA crash.
* Build Rust library
---------
Signed-off-by: Charlie Nolan <funnyman3595@gmail.com>
Co-authored-by: paradisess13[bot] <165046124+paradisess13[bot]@users.noreply.github.com>
Co-authored-by: Burzah <116982774+Burzah@users.noreply.github.com>
* Nct ID
* Preferences, job creation, access and other stuff
* Sprites, defines, hidden job pref and other stuff!
* Missed a comma
* Sprites updated, clothing code, outfit and id
* Fix a small oops
* Data chip + Sechud icon
* Offstation, access, datachip code, ticket autoresponse and a lot of other stuff.
* Typo, spritesheet fixingg and icon color
* Telebaton removed, not allowed to scan ERT IDs, blacklisted some access
* Applies suggestion
Co-authored-by: Aylong <69762909+AyIong@users.noreply.github.com>
Signed-off-by: Pedro <79126660+LetXxx@users.noreply.github.com>
* Applying Suggestions!
* Forgot to increase the number of slots, oops
* Added a few items that I forgot, applying suggestions.
* Fix check fail?
* Mapping Tools/Icons.
* Office added to all maps, a few modifications to fit.
* Adds ACCESS_TRAINER to who needs it.
* Fixing check fails.
* NCT Beret obj are now where they're supposed to be
* Suggestion
Co-authored-by: Burzah <116982774+Burzah@users.noreply.github.com>
Signed-off-by: Pedro <79126660+LetXxx@users.noreply.github.com>
* Sprites fix + NCT flag
* Code Suggestion
* Sprite update
* Suggestions
* Diagoras Office, conflict fix.
* Day 1 fixes, suggestions.
* bundle rebuild
* Fixing a few issues.
* Mapping review + Suggestions
* Fixed check fail.
* Conflict fix + You shouldn't be able to insert the NCT chip into an id console
* Fix map conflicts
* Plasmaman icons and Kidan icon fix
* Conflict fix?
* A few changes following feedback.
* Small description changed, as per requested feedback.
* Suggestions/Fix
* Forgot some mapping issues
* Suggestions
* Fixed?
* Fix linters
* More fixes
* aaaaaaaaaaa
* Christa's reviews
* Naming stuff
---------
Signed-off-by: Pedro <79126660+LetXxx@users.noreply.github.com>
Co-authored-by: Aylong <69762909+AyIong@users.noreply.github.com>
Co-authored-by: Burzah <116982774+Burzah@users.noreply.github.com>
Co-authored-by: DGamerL <108773801+DGamerL@users.noreply.github.com>
* refactor: Movement cross/uncross implementation.
* wrong var name
* fix unit tests dropping PDAs into nowhere
* Add documentation.
* remove unused constants
* say which procs are off limits
* fix simpleanimal z change runtime
* helps not to leave merge conflicts
* kill me
* fix typecast
* fix projectile/table collision
* treadmills don't cause MC to crash anymore
* connect_loc is appropriate here
* fix windoors and teleporters
* fix bonfires and clarify docs
* fix proximity sensors
Tested with sensors in crates, sensors in modsuits
Tested new proximity component with firing projectiles at singularity
Tested new proximity component with portable flashes
Tested new proximity component with facehuggers
* lint
* fix: polarized access helper false positives
* Revert "fix: polarized access helper false positives"
This reverts commit 9814f98cf6.
* hopefully the right change for mindflayer steam
* Changes following cameras
* fix glass table collision
* appears to fix doorspam
* fix ore bags not picking up ore
* fix signatures of /Exited
* remove debug log
* remove duplicate signal registrar
* fix emptying bags into locations
* I don't trust these nested Move calls
* use connect_loc for upgraded resonator fields
* use moveToNullspace
* fix spiderweb crossing
* fix pass checking for windows from a tile off
* fix bluespace closet/transparency issues
* fix mechs not interacting with doors and probably other things
* fix debug
* fix telepete
* add some docs
* stop trying to shoehorn prox monitor into cards
* I should make sure things build
* kill override signal warning
* undef signal
* not many prox monitors survive going off like this
* small fixes to storage
* make moving wormholes respect signals
* use correct signals for pulse demon
* fix pulse heart too
* fix smoke signals
* may have fucked singulo projectile swerve
* fix singulo projectile arcing
* remove duplicate define
* just look at it
* hopefully last cleanups of incorrect signal usage
* fix squeaking
* may god have mercy on my soul
* Apply suggestions from code review
Co-authored-by: Luc <89928798+lewcc@users.noreply.github.com>
Signed-off-by: warriorstar-orion <orion@snowfrost.garden>
* lewc review
* Apply suggestions from code review
Co-authored-by: Burzah <116982774+Burzah@users.noreply.github.com>
Signed-off-by: warriorstar-orion <orion@snowfrost.garden>
* burza review
* fix bad args for grenade assemblies
* Update code/__DEFINES/is_helpers.dm
Co-authored-by: Luc <89928798+lewcc@users.noreply.github.com>
Signed-off-by: warriorstar-orion <orion@snowfrost.garden>
---------
Signed-off-by: warriorstar-orion <orion@snowfrost.garden>
Co-authored-by: DGamerL <daan.lyklema@gmail.com>
Co-authored-by: Luc <89928798+lewcc@users.noreply.github.com>
Co-authored-by: Burzah <116982774+Burzah@users.noreply.github.com>
* iteration 1
* oops
* Okay now it actually works
* remove rad cap
* Adds a singulo monitor
* comments and other fixes
* rebuild tgui
* updates last size now. breach alerts now go before warnings
* oops
* fix console lables for the field gens
* New generator lookup algorithm
* comment added
* sort out the return and checks on temp_gens
* Adds sprites to the singulo monitor
* fix sprite stuff and singulo alert
* rebuild tgui
* Adds a singulo monitor board to RnD. Uses the correct icon when no singulo is being monitored.
* give commas some space
* Adds a singulo console board to the singulo engine crate
* style fixes and fixes the check for singularity location and type
* Rebuild Tgui
* style fixes and a comment
* Removes redundant brackets
* Correct the check for there being containing generators
* Changes the generator_field variable to a more generic name
* adds a period to a comment
* Restore accidentally modified icons to their original state
* Rebuild TGUI
* Rebuild tgui
* rebuild tgui
* Rebuild TGUI
* rebuild tgui
* TGUI rebuild
* Style fixes
* TGUI rebuild
* rebuild tgui
* rebuild tgui
* Let's see if this works
* I didn't see that merge conflict. Rebuilding again
* rebuild tgui
* Rebuild TGUI
* Review changes
* Changes to the new variable name in the singulo monitor
* Adjusts bar values for each colour according to the reduced energy capacity of the new generators
* Rebuild TGUI
* Review changes
* missed a line
* improves a couple comments
* removes the pre loose warning from the singulo. It will now only alert the station once the singulo is loose. Fixes loose alerts being given repeatedly
* Update tgui.bundle.js
* TGUI rebuild
* Update tgui.bundle.js
* Update tgui.bundle.js
* Update tgui.bundle.js
* Update tgui.bundle.js
* Update tgui.bundle.js
* Update tgui.bundle.js
* Update tgui.bundle.js
* Fixes a bug causing the console to announce a singuloose when selecting a singularity at level 2 or above
* Removes alerts from the singulo console
* Rebuild and Merge Master
* Change the name of the singulo gen crate to include the console board
* fixes a runtime that terminated the destructor prematurely when deconstructing a console that hasn't selected a singularity
* Removes generators from the interface when they become inactive
---------
Co-authored-by: Burzah <116982774+Burzah@users.noreply.github.com>
* refactor: Attack chain, initial setup.
* migrate curtain to make dreamchecker happy
* update thurible
* don't call attacked_by separately for legacy attack chain
* remove duplicate proc
* condense similar code, put allowances for legacy code in new procs
* update docs, include diagram source
* add comment on how to update diagram
* fix admonition
* mindflayer updates
* remove commented out code
* clarify all steps
* after_attack should be overridable
* whoops
* retrofit recent changes
* duh, can't restrict this yet because of tool_acts
* i hate ore bags with the fire of a thousand suns
* return correct value for object attack logic
* Various cleanups.
We don't want to attempt to pull stuff out of `/obj/item/attackby`,
because those pieces are part of the related objects' migrations, not
`/obj/item` itself. Attempting to do this causes knockon effects where
things expected to call e.g. `/obj/item/storage/attackby` in the call
chain were not ferried over to the new item interaction code, because
the related objects hadn't actually been migrated over yet.
I've used refactoring /obj/vehicle as the example for migrating
`attackby` methods instead.
* simplify some argument names
* fuck it
* make it do the thing
* Rename CI module call
* Prove that CI works
* improve test output
* aaand fix it again
* fix curtain tool interactions
* fix compile error
* fix compile error
* Better docs, introduce migration plan tool.
* refactor: Rename all non-snake_case types (not procs or vars (yet)).
* completely dynamic update script
* might help to include the data
* update aa's scuffed python
* oh
* set script PR number
* run updatepaths again
* Add other table updates with JSON columns
* bump SQL version
* just fucking end my life
* move JSON data