* 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>
* 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
* IT WORKS UP UNTIL THIS POINT
* Consolidates SLOT_FLAG and SLOT_HUD into one
* Remove cover_both_ears
* SLOT_HUD to ITEM_SLOT
* Remove clothing_trait changes for the time being
* Remove accidental copy-paste
* Re-add no-slip var
* More failure to copy-paste correctly
* Leftover flag
* Combine left and right slot flags where possible
* UNGOOF MY DEFINES, PHAND IS NOT A THING
* Minor spacing changes
* Some more fixes from merge
* Seperates ITEM SLOT AMOUNT into two defines
* ON SECOND THOUGHT LETS NOT DO THAT.
* Addresses Contra's review
* Thank you GREP
* Rename ITEM_SLOT_FEET to ITEM_SLOT_SHOES
* Added a comment to the bitmasks in clothing defines
* Rename ITEM_SLOT_TIE to ITEM_SLOT_ACCESSORY
* These are for a seperate PR.
* Magboot fixes
* Requested changes
* Re-add accidental removal
* Wrong flags
* Update code/__DEFINES/clothing_defines.dm
Co-authored-by: Contrabang <91113370+Contrabang@users.noreply.github.com>
Signed-off-by: Chap <erwin@lombok.demon.nl>
* Requested changes
* Merge fixes
* Fix double headset
* Fixes multiple accessories
---------
Signed-off-by: Chap <erwin@lombok.demon.nl>
Co-authored-by: Adrer <adrermail@gmail.com>
Co-authored-by: Contrabang <91113370+Contrabang@users.noreply.github.com>
* Remove a lot of CSS and make boxed message stylish
* Paint themed boxed message and sort light chat styles
* Remove copyright from chat spans
* Uh oh
* Globals work
* Double access works
* All other things
* Revert "All other things"
This reverts commit 6574442eb6.
* More changes that compile and work
* IT WORKS AAAAAA
* Changes even more .len to length()
* Apply suggestions from code review
* Update code/datums/mind.dm
* Update code/__HELPERS/sorts/InsertSort.dm
Co-authored-by: Deniz <66401072+Oyu07@users.noreply.github.com>
* Update code/__HELPERS/sanitize_values.dm
Co-authored-by: Deniz <66401072+Oyu07@users.noreply.github.com>
---------
Co-authored-by: FunnyMan3595 (Charlie Nolan) <funnyman@google.com>
Co-authored-by: Deniz <66401072+Oyu07@users.noreply.github.com>
* Extract requests console message sending code.
* Add secondary goals
* Converted supply shuttle to a signal-based system.
* Lint.
* Review suggestions.
* Secondary goals can now check the supply shuttle for their requirements.
* Remove redundant completion variable, undef what we define.
* Made the request console refuse to issue a secondary goal until you finish the current one.
* Made the shuttle blacklist error more specific, added locked/manifest-attached crates to blacklist.
* Added round end secondary goal report.
* Lint
* Add tags to reagents for secondary goals to use.
* Extracted the reagent logic from the bar goal, used reagent tags.
* Added the Variety of Drinks Bar goal.
* Added variety drinks goal for the Bar.
* CC no longer complains about sending stuff in containers, but the shuttle will refuse lockboxes without goal items.
* Allow unlocked lockboxes on the shuttle.
* Added kitchen goals.
* Lint
* More lint
* Add goals for scichem and medchem, pending reagent labelling.
* Added Kudzu goal for botany.
* I forgot to rename them, oops.
* Lint
* Made mechs sellable, configurable goal rewards.
* Balancing changes.
* Added random Ripley goal.
* Add Clear Task Backlog station goal.
* Lint
* Oops.
* did i even do this right
* Lint
* Excluded drinks available from upgraded booze dispenser.
* Such bugs. Much fix. Wow.
* Goal notice formatting.
* Apply suggestions from code review
Co-authored-by: Henri215 <77684085+Henri215@users.noreply.github.com>
* Made storage nesting better, improved consistency between storage types.
* Out, er, space.
* Added a proc for sending a requests console message.
* Added error messages to Virology Goals.
Backported a few small things from Secondary Goals to make this easier.
* Extracted out the three-way reward code into a proc.
* Update code/__DEFINES/dcs/signals.dm
Co-authored-by: DGamerL <108773801+DGamerL@users.noreply.github.com>
* Removed redundant SIGNAL_HANDLER labels.
* Yes, that should be a proc.
* Enforce important parent calls.
* Thank you, DreamChecker
* Undid accidental merge of #24699
* Removed a testing proc that wasn't intended for this PR.
* Removed parts of #24750 that also crept in.
* Made the variety of [x] goals more explicit that they want 50u of each.
* Reduced Kudzu trait requirement to 1.
* Request consoles now output the list of valid departments if you're at an unsupported one.
* Added personal crates.
* Added a supply pack of personal crates.
* Added special cargo handling for personal crates.
* Added automatic personal crate when requesting a goal.
* Required personal crates for most secondary goals.
* Add goal labels to the hand labeler, require them for mech goals.
* Made secondary goals one-per-person, not one-per-department.
* Added support for multi-line system messages to the request consoles.
* Made the RC message for goals nicer.
* Send goal crates even if no normal crates are ready, name and access-lock them properly.
* Don't double-label.
* Let's not use registered_account, names are fine.
* Add a ton of blackbox data to cargo and secondary goals.
* Fix a few bugs.
* More bugfixing, couple more stats.
* Even more stats.
* Text fix.
* Made cargo fines more consistent with other cargo feedback.
* Fixed a bug that prevented non-top-level items from being checked for CARGO_REQUIRE_PRIORITY.
* Blocked large crates from being sent back unopened.
* Enum values should probably be different from each other.
* Correct a bitflag mishap.
* Removed redundant supply shuttle docking and buy/sell attempts.
* Tweak message about personal crates to inlclude that they need to lock it.
* Add /Crates to the Personal Lockers description.
* Less pretty alignment, less complaining linters.
* Corrected a bad name in stats tracking.
* Reduced SciChem variety goal to 5 types.
* Toned down Task Backlog a bit.
* Fixed a bug that made unsellable items nested in containers be stolen by CC (qdeleted).
* Don't require bluespace 8, that's silly.
* Made secondary goals modifiable in the Modify Station Goals UI.
* Whoops, that was supposed to be 600u.
* i ded pls nerf
---------
Co-authored-by: synthtee <127706731+SynthTwo@users.noreply.github.com>
Co-authored-by: Henri215 <77684085+Henri215@users.noreply.github.com>
Co-authored-by: DGamerL <108773801+DGamerL@users.noreply.github.com>
* fucking wizards
* this too
* this
* i think thats it
* okay lets do this
* remove commented code
* gdn review
* welp
* fix runtime
* yes
* lewc review
* initial commit (broken)
* load the html
* fix this
* Fix various issues with browser statpanel
* Fix Alt Clicking opening up a window and Add back some object verbs to the browser stat panel
* Optimize stat panel and fix guardian verbs
* Restyles Stat Panel, Adds Subpanel Sub-Categories
* Use better layout for verbs in stat panel
* Updates statpanel verb widths to be more dynamic at higher screen resolutions.
* Adjust stat panel grid item widths and breakpoints
* refactors statpanel to use tgui API
* CI moment
* more CI
* this stupid thing
* Apply suggestions from code review
Co-authored-by: GDN <96800819+GDNgit@users.noreply.github.com>
Co-authored-by: Burzah <116982774+Burzah@users.noreply.github.com>
* Update code/modules/client/client_procs.dm
* ci fix
* emergency mc debug view
* temp revert some code change suggestions due to massive runtiming
* proper atom click topic implementation
* optimise
* mob clicking in stat panels work
* yeet spell tab thingy
* yeet simple stat panel pref
* allow insertion of html into MC tab content
* tidy up status tab
* Apply suggestions from code review
* fix this
* fix CI
* oops
* fix index runtime
* fixes MC tab showing up for mentors, fixes runtime
* safeties!
* Return of theme support
* more fixes
* fix view range pref, tidy prefs tab
* Remove old stat panel from themes
* fixes
* make sure verbs don't go missing
* fix ooc/looc breaking
* Revert "make sure verbs don't go missing"
This reverts commit 7d07ad45ed.
* fix this properly
* fix stat panel hitting rate limiters
* fix borg status tab
* Object Window Niceties
* Adds file cycling for icon2base64
* optimizes icon2html() for icon files known to be in the rsc at compile time
* CI moment
* remove dupe emergency shuttle timers
* more robust verb updates
* statpanel tweaks
* zip archived changelog to avoid search results
* optimise
* fix mentor chat wonkyness when disabled
* debug log moment
* i am very smart
* reintroduce this because it was needed
* better time listings
* less jank
* stops telling admins they arent mentors
* returns MC tab pref for admins
* Update code/controllers/subsystem/SSstatpanel.dm
Co-authored-by: Luc <89928798+lewcc@users.noreply.github.com>
* lewcc
* OD typemaker prep
---------
Co-authored-by: GDN <96800819+GDNgit@users.noreply.github.com>
Co-authored-by: Burzah <116982774+Burzah@users.noreply.github.com>
Co-authored-by: Aylong <alexanderkitsa@gmail.com>
Co-authored-by: Luc <89928798+lewcc@users.noreply.github.com>
* refactor: datumize security levels
* refactor: implement `SSsecurity_level` for handling security level related stuff
* feat: returns back old `delta_alarm` sound
* refactor: adjust existing code to use `SSsecurity_level`
* fix: remove redundunt new init order
* fix: fix type in var
* refactor: apply reviewer changes
* fix: replace `can_fire=FALSE` with `ss_flags = SS_NO_FIRE`, as subsystem will never fire
* fix: use `flags` instead of `ss_flags` for subsystem
Co-authored-by: SteelSlayer <42044220+SteelSlayer@users.noreply.github.com>
* fix: replace old security level interactions
* feat: implement `Recover` proc for `SSsecurity_level`
* refactor: add clearer doc for `security_level_set_timer_id` propery of `SSsecurirt_level`
* refactor: swap `security_level` datum properties to make it clearer to read
* refactor: move initialization code from `New` to `Initialize` for `/obj/machinery/firealarm`
* fix: revert back `delta_alarm` annoing sound, use `delta_claxon` on change to delta security level
---------
Co-authored-by: SteelSlayer <42044220+SteelSlayer@users.noreply.github.com>
* undo all of it
* flags
* back
* head/mask
* left
* right
* Cuffs
* other name changes
* ID and PDA
* idk about calling them SLOT_HUD now
* glasses, gloves, and shoes, oh my!
* the rest
* comment
* holy shit, datumized revs!
* changes to shuttle blocking system
* boom, more shit
* bonk more commits
* convert most in boolean checks to hasantagdatum
* oops, its supposed to be like this
* updates this comment (im making too many commits)
* more changes
* aaaaa moooore changes
* nukes some stuff, makes stuff GC better
* rev victory conditions are checked always on death
* more rev stuff
* oops fucking forgot to push
* i swear to god
* lewcc review
* i forgot this one small bit
* lewc review
* reviews
* comment
* s34n review
* Allows admins to create cargo crates
* AA and Miravel review
* remove debug text
* AA review
* Oops
* sirryan review
* sirryan review 2
* atom to turf
* Refactor announcements.
* Actually make this a unit test
* Dumb
* Remove unnecessary 'as text'
* Reviews:
- Make CSS class a recognizable word
- Flip the defaults for logging
Also:
- Style fixes (default null in fields)
- Fix emergency/crew-transfer shuttle announcement titles
* a new coat of paint
* no shooting teammates on spawn for 100 damage
* datumization part 1, makes DS more OP, spacing fix
* hnng still broken but better
* breaks stuff less 99%
* mostly tgui
* oops, removes left over things from testing
* seperate tgui
* undo changes to ERT file and ERT manager
* build TGUI, front end is working
* minor fix, still broken
* this hurts me
* few small changes
* please dont fail
* mind code runs, but it doesnt work
* logging good, tgui built, will finish later
* mind code hurts, tgui should deconflict
* part one of giving up on TGUI
* 3 days of debugging, 2 lines of errors fixed
* no more unneccessary spawners
* Revert "no more unneccessary spawners"
* wow it works
* tgui, deconflict please
* a little clean up
* little more cleanup
* Sirryan addressed pt1
* Oops should commit this before the next commit
* DS isnt an option in one click antag, nuke it
* oops forgot this one small bit
* wow, simple code works
* oops, forgot to address, doesnt fix headset
* ds headset was broken long ago
* removes testing implants
* addresses requests
* get addressed code, you will be good
* few code improvements
* address moxian
* Makes deathsquad naming consistent
* this comment is true again
* a little precaution to stop AFKs
* no nuke code? no problem
* bing bam boom, more addressing
* no more runtimes I think
* clarified a few things
* gloves now show again following #18190
* Update code/game/objects/items/weapons/explosives.dm
Co-authored-by: Charlie <69320440+hal9000PR@users.noreply.github.com>
* okay I'm a bit stupid
* deathsquad jumpsuit desc update
* CI my beloved, have a fix
* deathsquad gets their proper icon
* Revert "deathsquad gets their proper icon"
This reverts commit a52519305b.
Co-authored-by: Charlie <69320440+hal9000PR@users.noreply.github.com>
* Add raw tg emote datums
* Some more initial implementation
* First (big) commit
* More reworks, most emotes seem to work but cooldowns are weird
* Add the remaining emote species
* Add simple mobs
* Update defines, add more comments
* Remove unnecessary intentional calls
* Fix some bugs, add more functionality
- Silicon mobs/bots can't use all the living emotes
- Sound volume can now be specified for emotes
- Added a define for emotes to not go thru runechat
- Reorganized some emotes
- Some human emotes that need breath will gasp
- IPCs can beep boop
- Restore power warn for robits
- Sneezing and coughing have sound effects
* Fixes emote species separation not working in *help
* Reorganize emotes based on what's available on paradise
* mouthful mode
* Update implants to use emote signals
* Update species whitelist to use a typecache
* Cleanups
* More small changes
- Remove old extraneous typecache
- Reconfigure drask emotes
- Make all mime emotes visible (since they're silent)
* Remove old emote functions
* Update emote sounds, volume
* Rework more emotes into EMOTE_VISIBLE
* *rumble*
* More slight testing and cleanup
- Drop audio emote cooldown from 10 to 5 seconds
- Change clapping behaivor slightly, putting it into run_emote
- Update some emote flags here and there
- Fix up johnny, though remind me why this one exists?
* Fix indentation, missing typecast
* fix some returns
* More review
* Rename emote files
* Add'l review
* Even more emote fixes!
- Move defines out into an emote define file
- Integrate audio and general emote cooldowns
- change some 1 and 2 into visible/audible
- Try to fix monkey screech
* Add ability for admins to mute users' emotes.
* Rename cooldowns, add general mob emote cooldown.
* Fix flip not always geting the right message
* Add some emote target handling, docs
* Fix admin rights, indentation
* Update emote.dm
set default mode to ANY
* General implant fixes
- The way implant triggers are handled is now improved, with separate checks for death and emotes instead of just checking deathgasp.
- Implants can choose to be triggered for the first death or for every death.
- Voice of God play dead now activates sad trombone
read: voice of god can now no longer lowtiergod nukies
* Bunch of other changes and bugfixes
- Adds number flag for behavior
- Reworks how muzzling/vocalizing emotes works
- Breaks out sound effects
- Drops cooldown to 1.5s
* Fix people being able to snore/nightmare while awake.
* Bump paralysis on living emotes
* First review pass
* Clean up implants (while we're here) and fix compile errors
* in living error
* More outstanding review fixes
* use more isx() checks
* Add pre-emote signal, try_run_emote()
* Prevent silicons from playing their deathgasp multiple times
* Add emote postfix behavior for adding parameters to non-message params.
Also adds a signal to intercept emote actions.
* Fix linter complaints
* Remove new player checks on GLOB.dead_mob_list
* Fix species emotes not being distinguished, remove weird legacy code
* monkey ball
* better docs == better code
* Fix audio cooldown, silicon emotes
* Fix ghost emotes (don't worry they're staying)
* Restore spin to 2 seconds
* oh johnny boy
* Make fainting last two seconds instead of .2 seconds
* Remove extra highfive message
* Tick friendly emotes
* Fix up friendly emotes, ghost emotes
* Add some emote message safeguards, prevent flip from showing twice
* Fix ghost vision message format
* Fix hands_use_check on non-carbon mobs
* Bring emotes in line with say re. oxyloss
* Add option for death implants to not trigger on gib
* Try adding some unit testing
* Include emote unit tests
* More attempts at unit testing
* More attempts at unit testing?
* forget it this is fine
* Housekeeping
* Little bit more
* Remove extra bolding from ghostsight emotes
* More sanity checks, fix snore
* Remove stack trace when unintentional emote fails
* Update code/modules/mob/living/silicon/silicon_emote.dm
oops
Co-authored-by: AffectedArc07 <25063394+AffectedArc07@users.noreply.github.com>
* More implant cleanups
* Oh I missed this
* Silence wagging, more review fixes
* Oops 2
* ensure everything can swear
* High-five fixes and status effect stuff
- Adds new on_timeout() function that gets triggered when a status effect expires
- Fixes up passing arguments to status effects
- Ensures high-five explosions don't kill the wizards
* More review stuff
- Add a stat to text to make things easier
- Make it harder to delete emotes
- BIG DANGER
- pose can no longer be set while unconscious
* Remove extra high five logic, godmode changes
* forgor
* Fix gasp not working
* Update docs for good measure
* Some review and custom emote fixes
* Fixes death alarms being broken
* Better handle stat_allowed, more review comments.
* ..() conventions
* This is why unit tests are nice
* Remove drone snowflake emote stuff
* Linting
* No more flipping on the ground
* Snap doesn't require hands free
* Does it make complete sense? no, but it's Fun
* Apply suggestions from code review
Co-authored-by: AffectedArc07 <25063394+AffectedArc07@users.noreply.github.com>
* Fix revenant messages, power warning
* epic webedit fail, laugh at this user
Co-authored-by: AffectedArc07 <25063394+AffectedArc07@users.noreply.github.com>