* 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>
* Check if emote can be ran before checking cooldown
* Minor styling change
* Remove else statement
* Removed duplicate can_run_emote from try_run_emote
---------
Co-authored-by: Adrer <adrermail@gmail.com>
* Custom min/max ages for species
* fixing the pitch
* tweaking AGE_MAX
* Revert "tweaking AGE_MAX"
This reverts commit 0270ba6840.
* max_age decreased roughly by 10%
* Update code/__DEFINES/mob_defines.dm
Co-authored-by: Ryan <80364400+Sirryan2002@users.noreply.github.com>
* machine minimum age
* clamp
* Adjustments to ages
* age max
* Update code/modules/mob/living/carbon/human/species/_species.dm
Co-authored-by: Ryan <80364400+Sirryan2002@users.noreply.github.com>
* clamp and age pitch tweaks
* finally found plasmaman lifespan1
---------
Co-authored-by: Ryan <80364400+Sirryan2002@users.noreply.github.com>
* added check for STATUS_EFFECT_SILENCED when we want to emit emote sound. If /mob/living has this flag, emote wont emit sound. Less ways to spam sounds when you supposed to be silent
* Revert "added check for STATUS_EFFECT_SILENCED when we want to emit emote sound. If /mob/living has this flag, emote wont emit sound. Less ways to spam sounds when you supposed to be silent"
This reverts commit bc093ba01f.
* new status effect absolute silence, applying when using fiber garrote to silence all emote sounds
* comments update, status set function standartisation
* Update code/datums/emote.dm
Co-authored-by: Luc <89928798+lewcc@users.noreply.github.com>
---------
Co-authored-by: Luc <89928798+lewcc@users.noreply.github.com>
* Add cooldown for unintentional emotes
* Oops, let's try that again.
- Adds a separate cooldown system for unintentional emotes.
- Unintentional emotes will fire audio at most once every 2 seconds.
- Emotes like deathgasp can override this out of necessity.
- Scream's is longer because...come on.
* The part that makes the rest of it actualy work
* 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>