* 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>
* Being in space kills you again with solar flares / rad storms. Also now affects deep space
* oh god unit tests.
* fucking autocomplete
* I will murder autocomplete. It will not survive.
* Rename trait
* Update code/datums/weather/weather_types/radiation_storm.dm
Co-authored-by: Luc <89928798+lewcc@users.noreply.github.com>
---------
Co-authored-by: Luc <89928798+lewcc@users.noreply.github.com>
* nearspace now fails if the turf is not space
* uhh, forgot airless platings. Those are fine too.
* yeah, put the name down too
* first round of fixes
* cerestation too
* code changes
* oops double space error
* delta fixes?
* fixes
* fuck, uh, keep it but make it airless
* there we go. All fixed
* uhhh, now it works?
* this is my guess
* fixes the syndie multitool tech origin, I am god
* someone didn't know how origin_tech worked heh
* I dunno what this is but AA wanted it
* Revert "I dunno what this is but AA wanted it"
This reverts commit 073dc5b8b5.
* maybe this-a-work?
* Revert "maybe this-a-work?"
This reverts commit 6b9b4a43a1.
* Affected Arc, more like Affected Arc
* WILL, THIS, WORK?
* amogus
* I'm a genius
* Warriorstar request
* Implement map tests for catching common errors.
- Adds test runner:
- to make it easier to track things across test types
- for example to ensure a fully specified log can be emitted
- Adds map tile test type:
- when writing a test, coders implement CheckTile, which is
handed a single turf
- when the test runner runs these tests, it iterates over
all turfs in the specified z-level, and runs each test's
CheckTile on each turf in turn.
- Adds two sample map tile tests:
- check to see if a pipe exists on the same tile as a scrubber
or vent
- check to see if a tile contains two cables, each with a center
node
* Review #1:
- Replace nested loops over map tiles with `block`
- Remove check for valid turf in individual tests, I think it's safe to
assume `block` will always return legit turfs
- Added proper duration tracking for old tests
- Gave log file an appropriate extension
- Actually use `Fail` for tests
* whoops
* add more tests suggested by @Vi3trice
* Add some more tests courtesy @Bm0n and @Vi3trice
* windows are okay in space as long as it's nearspace
* Add failure threshold to prevent excessive logging.
Once this threshold is reached, a test will stop being processed for
every tile.
Note that this applies to `log_world` and `text2file` equally when
logging large amounts of failures.
* Document each test.
* Remove unnecessary reboot
* Let all map tests run to completion in CI matrix.
* I know what alphabetical means
* 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
* 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>
* Lets get this show on the road
* Now were talking
* These matter
* Oh the joys of CI testing
* And this
* Wrong version
* Tweaks
* More tweaks
* Lets document this
* This too
* Upgrades this
* Fixed some sanity issues
* This too
* Screw it, this too
* More sanity
* And these
* This too
* Documentation
* This too
* Fixes **awful** scoreboard logic
* Why do we care about only half-absorbing someone
* Revert "Why do we care about only half-absorbing someone"
This reverts commit 8de1cfdf05.
* Refactors these
* Hashing
* Moxian tweaks
* Initial Commit - Async SQL
* First batch of queries
* More progress
* Nukes DB Polls
* More work
* oops
* One push
* Notes work now
* Ok these work
* Watchlist done
* Async Bans!
* Async Permissions
* Async client procs
* I officially hate preference datums
* Also these
* Async Custom Items
* Async Karma
* Async Library
* Async TOS
* Cleans out the old SQL code
* CI Sanity
* Apparently MySQL doesnt support this
* What about this
* Maybe this
* Review pass 1
* This too
* Fixes job ban loading
* Fix undeleted queries
* Prevents sensitive queries being logged
* Documentation + tweaks
* Adds a verb to force reconnect the DB
* More review tweaks
* Farie tweaks
* Fixes this
* SQL Validation, the first of many
* Initial test of the world loading
* This was prefixed when it shouldnt have been :v
* This also isnt a valid table
* Escape time
* Chmod
* This **should** work
* Oops
* RUST gone bust
* Please work
* Why did I do this twice
* I think I got it
* Fixes AFK SS
* AAAAAAAAAAAAAAAAAAAAAA
* Fixes AI cam runtime
* Cleanup
* *screams*
* Fare fixes
* Removes un-needed stuff
* I hope this works
* chmoooood
* SQL Version Unit Test
* Failure test
* Kinda ironic how I forgot this
* Task failed successfully
* Moves a global var around
* Bump SQL version in travis
* New test: SQL example DBconfig update
* Lets test an invalid version
* TASK FAILED SUCCESSFULLY
* Programmatic maplist generation
* Removes a duplicate check
* Lets try this
* What about this
* hnnng
* Lets just update BYOND